@charset "utf-8"; @import "foundation/_setting.scss"; //========================================================================== //reason.scss //========================================================================== .reason { &__mv { position: relative; width: 100%; height: 560px; @include smMax { height: sm_vw(780); } &::before { content: ""; position: absolute; top: 0; right: 50%; transform: translateX(50%); width: 1440px; height: 100%; background: transparent url("../images/reason/reason_mv.jpg") 50% 50% no-repeat; background-size: 100% auto; @include smMax { width: 100%; background: transparent url("../images/reason/reason_mv_sp.jpg") 50% 50% no-repeat; background-size: 100% auto; } } &__inner { position: relative; margin: 0 auto; width: 1080px; height: 100%; @include smMax { width: 100%; } } &__ttl { display: flex; justify-content: center; align-items: center; flex-direction: column; height: 100%; .jpn { display: block; font-size: 42px; font-weight: 500; color: #fff; letter-spacing: 0.1em; @include smMax { font-size: sm_vw(62); } } .en { display: block; font-size: 16px; font-weight: 400; font-family: $font-en02; color: #fff; letter-spacing: 0.1em; @include smMax { font-size: sm_vw(24); } } } } &__breadcrumb { margin: 0 auto; padding-top: 15px; background-color: #fff; @include smMax { padding-top: sm_vw(30); } } &__contentArea { padding-bottom: 220px; background-color: #fff; @include smMax { padding-bottom: sm_vw(180); } } &__box01 { margin: 85px 0 260px; @include smMax { margin: sm_vw(70) 0 sm_vw(140); } &__inner { position: relative; &::after { content: ""; position: absolute; bottom: -45px; right: 50%; transform: translateX(50%); width: 1px; height: 100px; background-color: $colorBlue; @include smMax { bottom: sm_vw(-80); height: sm_vw(120); } } } &__txtBox01 { position: absolute; left: 80px; bottom: 50%; transform: translateY(50%); @include smMax { left: 0; bottom: sm_vw(70); transform: translateY(0); padding: 0 sm_vw(80); } .ttl { margin-bottom: 25px; text-shadow: 0px 0px 7px rgba(245,244,242,1),0px 0px 7px rgba(245,244,242,1),0px 0px 7px rgba(245,244,242,1),0px 0px 7px rgba(245,244,242,1),0px 0px 7px rgba(245,244,242,1); @include smMax { margin-bottom: sm_vw(40); } } .txt { font-size: 16px; line-height: 2.25; @include smMax { font-size: sm_vw(26); line-height: 2; } } } } .reason__box02 + .reason__box02 { margin-top: 340px; @include smMax { margin-top: sm_vw(160); } } &__box02 { position: relative; @include smMin { &.is-left { .reason__box02__inner { justify-content: flex-start; &::before { right: 240px; } } .reason__box02__imageBox01 { left: 0; } .reason__box02__txtBox02 { margin-left: -80px; } } &.is-right { .reason__box02__inner { justify-content: flex-end; &::before { left: 240px; } } .reason__box02__imageBox01 { right: 0; } .reason__box02__txtBox02 { margin-right: -80px; } } &.is-center { margin-top: 840px !important; .reason__box02__inner { display: block; &::before { top: 0; right: 240px; height: calc(100% + 80px); } } .reason__box02__imageBox01 { position: absolute; top: -640px; right: 50%; transform: translateX(50%); width: 1440px; } .reason__box02__txtBox02 { position: relative; display: flex; width: 1240px; margin: 0 auto; left: -80px; padding: 70px 80px 140px; .ttl { flex: 1; } .txt { width: 760px; } .btn { position: absolute; bottom: 80px; } } } &__inner { display: flex; position: relative; &::before { content: ""; position: absolute; top: -60px; width: 100vw; height: calc(100% + 140px); background-color: #f2f2f2; } } &__imageBox01 { position: absolute; top: -140px; width: 1260px; z-index: 2; } &__txtBox02 { position: relative; padding: 70px 80px 80px; z-index: 3; background-color: #fff; width: 620px; &.is-wide { width: 680px; } .ttl { position: relative; margin-bottom: 25px; padding-left: 94px; .num { position: absolute; top: 5px; left: 0; font-size: 80px; font-family: $font-en02; line-height: 1; color: $colorBlue; } } .txt { font-size: 16px; line-height: 2.1; a { color: $colorBlue; border-bottom: 1px solid $colorBlue; transition: none; @include hover { border-bottom: 1px solid transparent; } } } .btn { margin-top: 30px; &.w240 { width: 240px; } &.w280 { width: 280px; } &.w320 { width: 320px; } } } } @include smMax { &.is-left_sp { .reason__box02__inner { &::before { left: 0; } } } &.is-right_sp { .reason__box02__inner { &::before { right: 0; } } } &__inner { position: relative; padding: 0; &::before { content: ""; position: absolute; top: sm_vw(60); width: sm_vw(670); height: 100%; background-color: #f2f2f2; } } &__imageBox01 { position: relative; z-index: 2; } &__txtBox02 { position: relative; margin: sm_vw(-60) auto 0; width: sm_vw(670); padding: sm_vw(70) sm_vw(40) sm_vw(80); background-color: #fff; z-index: 3; .ttl { margin-bottom: sm_vw(40); text-align: center; .num { margin-bottom: sm_vw(10); display: block; font-size: sm_vw(96); font-family: $font-en02; line-height: 1; color: $colorBlue; text-align: center; } .en { text-align: center; } } .txt { font-size: sm_vw(26); line-height: 2; a { color: $colorBlue; border-bottom: 1px solid $colorBlue; } } .btn { margin: sm_vw(40) auto 0; width: sm_vw(470); &.w520_sp { width: sm_vw(520); } } } } } &__box03 { padding: 60px 0 130px; @include smMax { padding: sm_vw(80) 0 sm_vw(200); } &__inner { margin: 0 auto; width: 1080px; @include smMax { width: 100%; padding: 0 sm_vw(40); } } &__ttl01 { margin-bottom: 25px; @include smMax { margin-bottom: sm_vw(50); } } &__bnr01 { margin-top: 30px; a { position: relative; display: block; @include hover { opacity: 0.7; } .txtBox { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; padding-left: 80px; @include smMax { display: block; padding: sm_vw(50) sm_vw(40) 0; } .ttl { margin-bottom: 15px; @include smMax { margin-bottom: sm_vw(20); text-align: center; } } .txt { font-size: 15px; line-height: 1.9; color: #fff; @include smMax { font-size: sm_vw(30); line-height: 1.85; } } } } } } }