@charset "UTF-8"; /* CSS Document */ //ブレイクポイントを指定------ここから $xl: 1399px; $lg: 1199px; $md: 991px; $sm: 767px; $xs: 575px; @mixin xl { @media screen and (max-width: ($xl)) { @content; } } @mixin lg { @media screen and (max-width: ($lg)) { @content; } } @mixin md { @media screen and (max-width: ($md)) { @content; } } @mixin sm { @media screen and (max-width: ($sm)) { @content; } } @mixin xs { @media screen and (max-width: ($xs)) { @content; } } //ブレイクポイントを指定------ここまで // 固定色 $main-blue: #003685; $main-yellow: #bf9a0e; $sub-blue: #d6dfeb; /*---------- header ----------*/ // first-v --------------------------------------- .first-v { align-items: center; color: #fff; display: flex; height: 80vh; overflow: hidden; position: relative; width: 100%; @include md { height: 41em; } @include sm { margin-top: 90px; } @include xs { height: 32em; margin-top: 74px; } .catchcopy { position: absolute; right: 6%; width: 35%; top: 33%; @include md { right: 3%; width: 50%; top: 34%; } @include sm { right: 3%; width: 65%; top: 35%; } @include xs { right: 8%; width: 80%; top: 35%; } h1 { font-size: 16px; font-size: 1.6rem; line-height: 2.5rem; } } .top-deco { position: absolute; right: 0; bottom: 0; width: 40%; @include md { width: 49%; } img { width: 100%; height: 100%; } } .copyright { position: absolute; writing-mode: vertical-rl; right: 0; font-size: 10px; font-size: 1rem; p { margin: 0; margin-right: 1rem; letter-spacing: 0.15rem; } } .gray-box { color: #b3b3b3; mix-blend-mode: multiply; width: 100%; height: 100%; z-index: -5; position: fixed; } video { height: 100%; left: 0; object-fit: cover; object-position: center; position: absolute; top: 0; width: 100%; z-index: -10; } } // news --------------------------------------- #news { margin-bottom: 10rem; margin-top: -8rem; position: relative; z-index: 0; @include sm { margin-bottom: 4rem; } @include xs { margin-top: -4rem; margin-bottom: 7rem; } .news-box { background-color: $sub-blue; padding: 4.5rem 7rem; @include lg { padding: 4.5rem 6rem; } @include md { padding: 3.5rem 6rem; } @include sm { padding: 3.5rem 4rem; } h2 { display: inline-block; width: 25%; vertical-align: top; padding-top: 0.5rem; text-align: left; margin-bottom: 0rem; @include lg { width: 20%; } @include md { margin-bottom: 1rem; width: 100%; display: block; } span { @include md { display: inline; margin-left: 1em; } } } .news-scroll{ height: 200px; overflow-y: scroll; } ul { width: 100%; display: inline-block; margin-bottom: 0; li { padding: 1rem 0; border-bottom: 1px solid #C8C8C8; &:last-of-type{ border-bottom: none; } dl { display: flex; gap: 4rem; padding: 0.5rem; margin: 0; align-items: top; @include xs { flex-direction: column; gap: 1rem; align-items: flex-start; } dt { color: $main-blue; font-weight: normal; line-height: 1.65em; } dd { margin: 0; line-height: 1.65em; overflow-wrap: anywhere; a{ color: $main-blue; transition: 0.3s; &:hover{opacity: 50%;} } .strong{ font-weight: 600; color: $main-blue; } } } } } } } // message --------------------------------------- #message { margin-bottom: 14rem; position: relative; @include lg { margin-bottom: 12rem; } @include md { margin-bottom: 10rem; } .message-box { width: 80%; padding-top: 3rem; padding-bottom: 6rem; @include sm { padding-bottom: 4rem; } dl { dt { font-size: 29px; font-size: 2.9rem; font-weight: 600; line-height: 5.5rem; letter-spacing: 0.15rem; padding-bottom: 3.5rem; position: relative; @include lg { font-size: 24px; font-size: 2.4rem; line-height: 5rem; padding-bottom: 2.5rem; } @include sm { font-size: 29px; font-size: 2.9rem; line-height: 5.5rem; } @include xs { font-size: 23px; font-size: 2.3rem; line-height: 4.5rem; } img { position: absolute; height: 114px; right: -25px; top: -60px; z-index: -10; @include sm { right: -22px; top: -15px; } @include xs { right: 0px; top: -75px; } } } dd { margin-bottom: 4rem; padding-right: 3rem; text-align: justify; @include sm { margin-bottom: 3rem; padding-right: 0; } } } .link-box { @include sm { text-align: center; } } } .message-img { height: 490px; width: 100%; overflow: hidden; margin-bottom: 9rem; @include lg { height: 400px; } @include md { height: 250px; } @include sm { margin-bottom: 4rem; } img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; } } .gallery,.gallery-s{ width: 100%; } .gallery-s{margin-top: 2rem;} .bg-blue { position: absolute; background: $sub-blue; width: 500px;; height: 565px; right: 0; bottom: 22rem; z-index: -5; @include lg { bottom: 12rem; } @include md { width: 321px; height: 470px; } @include sm { width: 515px; height: 580px; } @include xs { width: 335px; height: 410px; } } } // service --------------------------------------- #service { margin-bottom: 18rem; @include lg { margin-bottom: 16rem; } @include md { margin-bottom: 10rem; } h2 { margin-bottom: 7rem; } .service-box { display: flex; background: linear-gradient(90deg, #fff 0%, #fff 50%, #f0f0f0 50%, #f0f0f0 100%); margin-bottom: 10rem; @include md { margin-bottom: 8rem; } @include sm { display: block; background: none; } img { width: 60%; height: 100%; border-radius: 10px; margin-top: -3rem; @include sm { width: 100%; margin-left: -2rem; position: relative; z-index: 1; } } .service-text { position: relative; padding: 5rem; height: 345px; text-align: justify; @include lg { height: 335px; } @include md { height: 315px; } @include sm { background: #f0f0f0; margin-right: -2rem; margin-top: -2rem; padding-top: 7rem; height: 280px; } @include xs { margin-right: 0; height: 310px; padding: 5rem 3rem; } .service-deco { position: absolute; width: 50%; right: 5%; top: -36%; @include sm { width: 38%; right: 5%; top: -14%; } @include xs { z-index: -5; } } h3 { font-size: 32px; font-size: 3.2rem; font-weight: 600; letter-spacing: 0.15rem; margin-bottom: 3rem; @include lg { font-size: 28px; font-size: 2.8rem; } span { font-family: "Montserrat", sans-serif; font-size: 15px; font-size: 1.5rem; color: $main-blue; display: block; margin-bottom: 0.8rem; } } p { margin-bottom: 3rem; } .link-arrow-box { position: absolute; bottom: 0; right: 0; padding-bottom: 5rem; padding-right: 11rem; // display: flex; // justify-content: flex-end; // padding-right: 6rem; @include sm { padding-right: 13rem; } @include xs { padding-right: 10rem; } } } } .service-box:nth-of-type(2) { background: linear-gradient(90deg, #f0f0f0 0%, #f0f0f0 50%, #ffff 50%, #fff 100%); @include sm { background: none; } } .service-box:nth-of-type(3) { .service-text { @include xs { height: 252px; } .service-deco { @include sm { top: -9%; } } } } } // works --------------------------------------- #works { margin-bottom: 7.5rem; background-image: url("../img/works-bg.jpg"); background-size: cover; background-position: center; height: 395px; display: flex; align-items: center; @include md { height: 295px; } @include sm { height: 375px; } .works-right { display: flex; justify-content: flex-end; padding-right: 10rem; @include sm { justify-content: center; padding-right: revert; } .works-box { text-align: center; background-color: #fff; width: 30%; padding: 3rem; box-shadow: 5px 5px 0px 0px $main-yellow; @include lg { width: 35%; } @include md { width: 38%; } @include sm { width: 65%; } @include xs { width: 75%; } h2 { margin-bottom: 0rem; } p { padding: 1.5rem 0; } } } } // recruit --------------------------------------- #recruit { margin-bottom: 9rem; .recruit-img { height: 355px; width: 100%; overflow: hidden; @include md { height: 225px; } img { width: 100%; height: 100%; object-fit: cover; border-radius: 10px; } } .recruit-box { display: flex; justify-content: center; h2 { background-color: #fff; display: inline-block; width: 30%; margin-top: -5rem; padding: 2rem 1rem; position: relative; @include md { margin-bottom: 2rem; } @include sm { width: 55%; } @include xs { margin-bottom: 1rem; } img { position: absolute; width: 40%; right: -19%; top: -38%; } } } .recruit-catchcopy { font-size: 35px; font-size: 3.5rem; color: $main-blue; font-family: YuMincho,"Hiragino Mincho ProN",serif; line-height: 5rem; font-weight: 100; letter-spacing: 0.5rem; display: flex; justify-content: center; @include xs { font-size: 28px; font-size: 2.8rem; line-height: 4rem; } } .recruit-text { @include sm { text-align: center; } p { margin-bottom: 2rem; @include sm { margin-top: 2rem; } @include xs { text-align: justify; } } } }