@charset "utf-8"; @import "foundation/_setting.scss"; //========================================================================== //features.scss //========================================================================== .features { &__mv { position: relative; width: 100%; @include smMin { width: 100%; height: 560px; @media screen and (max-width: 1440px) { height: 38.88888888888889vw; } } @include smMax { height: sm_vw(780); } &::before { content: ""; position: absolute; top: 0; right: 50%; transform: translateX(50%); width: 100%; max-width: 1440px; height: 100%; background: transparent url("../images/features/features_mv.jpg") 50% 50% no-repeat; background-size: 100% auto; @include smMax { width: 100%; background: transparent url("../images/features/features_mv_sp.jpg") 50% 50% no-repeat; background-size: 100% auto; } } &__inner { position: relative; margin: 0 auto; width: 100%; max-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: 120px; background-color: #fff; @include smMax { padding-bottom: sm_vw(180); } } &__box01 { margin: 85px 0 120px; @include smMax { margin: sm_vw(70) 0 sm_vw(130); } &__inner { position: relative; @include smMin { height: 492px; } @include smMax { padding: 0 sm_vw(40); } } &__imageBox01 { @include smMin { position: absolute; top: 0; right: 50%; transform: translateX(50%); width: 1080px; } } &__txtBox01 { @include smMin { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; } @include smMax { position: absolute; left: 0; bottom: 50%; transform: translateY(50%); width: 100%; } .ttl { margin-bottom: 20px; @include smMax { margin-bottom: sm_vw(40); } } .txt { font-size: 16px; font-weight: 500; line-height: 2.25; text-align: center; color: #fff; @include smMax { font-size: sm_vw(26); line-height: 2; } } .list { margin-top: 45px; display: flex; justify-content: center; @include smMin { width: 100%; max-width: 876px; } li { max-width: 292px; width: calc(100% / 3); height: 130px; padding: 0 11px; @include smMax { max-width: 100%; width: sm_vw(190); height: sm_vw(130); margin: 0 sm_vw(5); padding: 0; } a { position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; height: 100%; padding-bottom: 10px; border-radius: 6px; background-color: #fff; @include smMax { padding-bottom: sm_vw(20); } &::before { content: ""; position: absolute; bottom: 15px; right: 50%; transform: translateX(50%) rotate(-90deg); width: 8px; height: 12px; background-position: 50% 50%; background-repeat: no-repeat; background-size: 100% 100%; @include transition; @include smMax { bottom: sm_vw(16); width: sm_vw(12); height: sm_vw(18); } } @include hover { opacity: 0.85; &::before { bottom: 10px; } } .logo { display: block; } .txt { display: block; font-size: 16px; font-weight: 500; @include smMax { font-size: sm_vw(22); } } &.is-audio { &::before { background-image: url("../images/ico_arrow01.svg"); } .logo { padding-top: 16px; width: 163px; @include smMax { padding-top: sm_vw(8); width: sm_vw(154); } } .txt { color: $colorBlue; } } &.is-visual { &::before { background-image: url("../images/ico_arrow01_r.svg"); } .logo { width: 104px; @include smMax { width: sm_vw(87); } } .txt { color: $colorRed; } } &.is-business { &::before { background-image: url("../images/ico_arrow01_gr.svg"); } .logo { padding-top: 16px; width: 163px; @include smMax { padding-top: sm_vw(8); width: sm_vw(154); } } .txt { color: $colorGray; } } } } } } } .features__box02 + .features__box02 { margin-top: 120px; @include smMax { margin-top: sm_vw(100); } } &__box02 { &__ttlBox { position: relative; height: 560px; @media screen and (max-width: 1440px) { height: 38.88888888888889vw; } @include smMax { height: auto; } .image { position: absolute; bottom: 0; right: 50%; transform: translateX(50%); width: 100%; max-width: 1440px; @include smMax { position: relative; right: 0; width: 100%; transform: translateX(0); } } .inner { position: relative; display: flex; height: 100%; align-items: center; @include smMax { padding: 0; } &::before { content: ""; position: absolute; opacity: 0.6; @include smMin { top: 0; right: 100%; transform: translateX(32.17%) skewX(14deg); transform-origin: right bottom; width: 100%; height: 100%; background-color: #fff; } @include smMax { bottom: 0; left: 0; width: 0; height: 0; border-style: solid; border-width: sm_vw(280) 0 0 sm_vw(460); border-color: transparent transparent transparent #fff; } } .ttl { position: relative; @include smMax { position: absolute; left: sm_vw(30); bottom: sm_vw(30); } .logo { display: block; } .txt { margin-top: 10px; display: block; font-size: 18px; font-weight: 500; @include smMax { margin-top: sm_vw(10); font-size: sm_vw(22); } } &.is-audio { color: $colorBlue; .logo { width: 203px; @media screen and (max-width: 950px) { width: 21.36842105263158vw; } @include smMax { width: sm_vw(222); } } } &.is-visual { color: $colorRed; .logo { width: 126px; @media screen and (max-width: 950px) { width: 13.263157894736842vw; } @include smMax { width: sm_vw(137); } } } &.is-business { color: $colorGray; .logo { width: 203px; @media screen and (max-width: 950px) { width: 21.36842105263158vw; } @include smMax { width: sm_vw(222); } } } } } } &__contBox { padding-top: 30px; @include smMax { padding-top: sm_vw(30); } .txt01 { font-size: 16px; line-height: 2.1; @include smMax { font-size: sm_vw(26); line-height: 2; } } .ttl01 { margin-top: 30px; @include smMax { margin-top: sm_vw(30); } } .list01 { margin-top: 30px; display: flex; flex-wrap: wrap; @include smMax { margin-top: sm_vw(40); display: block; } li { .image { border: 1px solid #ddd; } .txtBox { flex: 1; .ttl { font-size: 20px; font-weight: 500; line-height: 1; color: $colorBlue; @include smMax { font-size: sm_vw(30); } } .txt { margin-top: 7px; font-size: 16px; line-height: 1.87; @include smMax { margin-top: sm_vw(12); font-size: sm_vw(26); } } } } &.is-column01 { display: block; li { display: block; + li { margin-top: 20px; @include smMax { margin-top: sm_vw(30); } } } } &.is-column02 { li { display: flex; @include smMin { width: 520px; margin-right: 40px; &:nth-child(2n){ margin-right: 0; } &:nth-child(n+3){ margin-top: 40px; } } @include smMax { align-items: flex-start; width: 100%; &:nth-child(n+2){ margin-top: sm_vw(40); } } .txtBox { padding-left: 20px; @include smMax { padding-left: sm_vw(20); } } .image { width: 210px; @include smMax { width: sm_vw(280); } } } } &.is-column03 { li { @include smMin { width: 340px; margin-right: 30px; &:nth-child(3n){ margin-right: 0; } &:nth-child(n+4){ margin-top: 30px; } .txtBox { .ttl { margin-top: 16px; } } } @include smMax { width: 100%; &:nth-child(n+2){ margin-top: sm_vw(30); } .txtBox { .ttl { margin-top: sm_vw(24); } } } } } } .list02 { display: flex; align-items: center; background-color: #f2f2f2; padding: 20px 0; margin-top: 30px; @include smMax { padding: sm_vw(30) sm_vw(40) sm_vw(40); margin-top: sm_vw(40); display: block; } dt { width: 160px; height: 80px; display: flex; justify-content: center; align-items: center; border-right: 1px solid #ccc; font-size: 18px; font-weight: 500; @include smMax { margin-bottom: sm_vw(16); padding-bottom: sm_vw(18); display: block; border-right: none; border-bottom: 1px solid #ccc; width: 100%; height: auto; } } dd { ul { margin-left: 40px; @include smMax { margin-left: 0; } li { margin-right: 20px; display: inline-block; font-size: 16px; @include smMax { margin-right: sm_vw(40); font-size: sm_vw(26); } &:last-child { margin-right: 0; } } } } } .listBtn01 { margin: 50px auto 0; display: flex; justify-content: center; gap: 50px; @include smMax { gap: sm_vw(30); flex-direction: column; margin: sm_vw(40) auto 0; } .btn { width: 400px; @include smMax { margin: 0 auto; width: sm_vw(590); .c-btn-01 { font-size: sm_vw(24); } } } } } } &__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; right: 80px; width: 440px; height: 100%; display: flex; flex-direction: column; justify-content: center; @include smMax { right: 0; display: block; width: 100%; padding: sm_vw(50) sm_vw(40) 0; } .ttl { margin-bottom: 15px; 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(20); text-align: center; } } .txt { font-size: 15px; line-height: 1.9; @include smMax { font-size: sm_vw(30); line-height: 1.85; } } } } } } }