﻿@charset "utf-8";

/* -----------------------------------------------
    index（トップ）
----------------------------------------------- */

:root {
    --mvBgColor: #f8f7f4;
    --mvPagerColor: #70675f;
    --mvPagerMutedColor: #b6b2ad;
    --mvPagerMutedColorSp: #a4a6a6;
    --topBaseColor: #f7f6f2;
    --topLineColor: rgba(48, 43, 41, 0.25);
}

/* secMainVisual */
.secMainVisual {
    position: relative;
    height: 100vh;
    min-height: 90rem;
    background-color: var(--mvBgColor);
    overflow: visible;
}
.secMainVisual .boxMainVisualWrap {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.secMainVisual .boxMainVisualSlider,
.secMainVisual .swiper-wrapper,
.secMainVisual .boxMainVisualSlide {
    height: 100%;
}
.secMainVisual .boxMainVisualSlider {
    overflow: hidden;
}
.secMainVisual .boxMainVisualSlide {
    position: relative;
}
.secMainVisual .imgMainVisual,
.secMainVisual .imgMainVisual picture,
.secMainVisual .imgMainVisual img {
    display: block;
    width: 100%;
    height: 100%;
}
.secMainVisual .imgMainVisual {
    position: absolute;
    inset: 0;
}
.secMainVisual .imgMainVisual img {
    object-fit: cover;
    object-position: center top;
}
.secMainVisual .boxMainVisualLogo {
    position: absolute;
    top: 4.8rem;
    left: 50%;
    z-index: 2;
    width: 13.4rem;
    transform: translateX(-50%);
}
.secMainVisual .boxMainVisualCopy {
    position: absolute;
    left: -4rem;
    bottom: 23rem;
    z-index: 2;
    color: var(--whiteColor);
    text-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.38);
}
.secMainVisual .boxMainVisualNav {
    position: absolute;
    left: 9rem;
    bottom: 6rem;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 34rem);
    gap: 4rem;
}
.secMainVisual .btnMainVisualNav {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 0 0 2.7rem;
    color: var(--whiteColor);
    text-decoration: none;
    border-bottom: 0.1rem solid rgba(255, 255, 255, 0.6);
    text-shadow: 0 0 1.2rem rgba(0, 0, 0, 0.38);
    transition: transform 0.3s ease;
}
.secMainVisual .btnMainVisualNav:hover {
    opacity: 1;
    transform: translateY(-1rem);
}
.secMainVisual .btnMainVisualNav .cmnIconArrow {
    position: absolute;
    bottom: 3rem;
    right: 0;
}
.secMainVisual .btnMainVisualNav:hover .cmnIconArrow {
    background: url(../img/common/iconArrowOrange02.png) #fff center / 0.7rem no-repeat;
}
.secMainVisual .txtMainVisualNavJa {
    display: block;
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing50);
    line-height: 1.7;
    font-weight: 700;
}
.secMainVisual .txtMainVisualNavEn {
    display: block;
    margin-top: 0.8rem;
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing50);
    line-height: 1.45;
}
.secMainVisual .boxMainVisualPager {
    position: absolute;
    right: 0;
    bottom: -7rem;
    left: auto;
    z-index: 4;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: auto;
    text-align: left;
}
.secMainVisual .boxMainVisualPager .swiper-pagination-bullet {
    position: relative;
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 0 0 20px;
    background-color: #59473a;
    opacity: 0.5;
}
.secMainVisual .boxMainVisualPager .swiper-pagination-bullet svg {
    position: absolute;
    top: -4px;
    left: -4px;
    margin: auto;
    pointer-events: none;
}
.secMainVisual .boxMainVisualPager .swiper-pagination-bullet svg circle {
    fill: transparent;
    stroke: #59473a;
    stroke-width: 1;
    stroke-dasharray: 0 78.5;
    will-change: stroke-dasharray;
}
.secMainVisual .boxMainVisualPager .swiper-pagination-bullet.swiper-pagination-bullet-active svg circle {
    opacity: 1;
    animation-name: bulletLoading;
    animation-duration: 6000ms;
    animation-timing-function: linear;
}
.secMainVisual .boxMainVisualPager .swiper-pagination-bullet-active {
    opacity: 1;
}
@keyframes bulletLoading {
    0% {
        stroke-dasharray: 0 78.5;
    }
    100% {
        stroke-dasharray: 78.5 78.5;
    }
}
.secMainVisual .boxMainVisualScroll {
    position: absolute;
    left: 0;
    bottom: -2.9rem;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 2.7rem;
    color: var(--whiteColor);
    /* animation: mvFloat 2.8s ease-in-out infinite; */
}
.secMainVisual .bnrMainVisualPassive {
    position: absolute;
    right: 0;
    bottom: 6rem;
    z-index: 4;
    width: 35rem;
}
.secMainVisual .bnrMainVisualPassive img {
    width: 100%;
    height: auto;
}
@media only screen and (max-width: 1600px) {
    .secMainVisual .boxMainVisualNav {
        grid-template-columns: repeat(3, 26rem);
    }
}
@media only screen and (max-width: 1215px) {
    .secMainVisual {
        height: 173vw;
        min-height: 0;
        max-height: 70rem;
    }
    .secMainVisual .boxMainVisualSlide::before {
        background:
            linear-gradient(90deg, rgba(0, 0, 0, 0.48) 0%, rgba(0, 0, 0, 0.2) 60%, rgba(0, 0, 0, 0) 100%),
            linear-gradient(180deg, rgba(0, 0, 0, 0) 28%, rgba(0, 0, 0, 0.34) 100%);
    }
    .secMainVisual .imgMainVisual img {
        object-position: center top;
    }
    .secMainVisual .boxMainVisualLogo {
        top: 0;
        left: 1.5rem;
        width: auto;
        height: 6.5rem;
        display: flex;
        align-items: center;
        transform: none;
    }
    .secMainVisual .boxMainVisualLogo img {
        width: auto;
        height: 4rem;
    }
    .secMainVisual .boxMainVisualCopy {
        left: -1rem;
        bottom: 12rem;
    }
    .secMainVisual .titMainVisual {
        max-width: 28.6rem;
    }
    .secMainVisual .boxMainVisualNav {
        display: none;
    }
    .secMainVisual .boxMainVisualPager {
        right: 0;
        bottom: 3rem;
    }
    .secMainVisual .boxMainVisualPager .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        margin: 0 0 0 8px;
        background-color: #fff;
    }
    .secMainVisual .boxMainVisualPager .swiper-pagination-bullet svg {
        top: -3px;
        left: -3px;
    }
    .secMainVisual .boxMainVisualPager .swiper-pagination-bullet svg circle {
        stroke: #fff;
    }
    .secMainVisual .boxMainVisualScroll {
        display: none;
    }
    .secMainVisual .bnrMainVisualPassive {
        right: auto;
        bottom: 3rem;
        width: 23.5rem;
    }
}

@keyframes mvFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(0.9rem);
    }
}
@media (prefers-reduced-motion: reduce) {
    .secMainVisual .boxMainVisualScroll {
        animation: none;
    }
}

/* secTopics */
.secTopics {
    position: relative;
    z-index: 1;
    padding: 6rem 0 13rem;
}
.secTopics .titSection {
    font-size: var(--pcFontSize25);
    letter-spacing: var(--pcLetterSpacing30);
    text-align: center;
    margin: 0 0 6rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2rem;
}
.secTopics .titSection::after {
    content: '';
    flex: 1;
    max-width: 10rem;
    height: 1px;
    background-color: #000;
}
.secTopics .boxSlider {
    position: relative;
    overflow: visible;
    max-width: 184rem;
    width: calc(100% - 8rem);
    margin: 0 auto;
}
.secTopics .swiper-button-prev,
.secTopics .swiper-button-next {
    width: 6.4rem;
    height: 6.4rem;
    border-radius: 50%;
    background-color: #fff;
    color: var(--colorBrown);
    box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.15);
    top: 50%;
    margin-top: -3.2rem;
}
.secTopics .swiper-button-prev::after,
.secTopics .swiper-button-next::after {
    display: none;
}
.secTopics .swiper-button-prev::before,
.secTopics .swiper-button-next::before {
    content: "";
    display: block;
    left: 0.3rem;
    width: 1.2rem;
    height: 1.2rem;
    border-top: 1px solid var(--colorBrown);
    border-right: 1px solid var(--colorBrown);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.secTopics .swiper-button-prev::before {
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}
.secTopics .swiper-button-prev {
    left: -4rem;
}
.secTopics .swiper-button-next {
    right: -4rem;
}
.secTopics .bnrTopic {
    max-width: 60rem;
}
.secTopics .bnrTopic img {
    width: 100%;
    height: auto;
}
@media only screen and (max-width: 1215px) {
    .secTopics {
        padding: 2.5rem 0 0;
    }
    .secTopics .titSection {
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing30);
        margin-bottom: 2rem;
        gap: 1.2rem;
        justify-content: center;
    }
    .secTopics .titSection::before,
    .secTopics .titSection::after {
        content: '';
        flex: 1;
        height: 1px;
        max-width: 3rem;
        background-color: #000;
    }
    .secTopics .boxTopicsInner {
        padding: 0 1.2rem;
    }
    .secTopics .boxSlider {
        width: 24.6rem;
    }
    .secTopics .swiper-button-prev,
    .secTopics .swiper-button-next {
        width: 4rem;
        height: 4rem;
        margin-top: -2rem;
    }
    .secTopics .swiper-button-prev::before,
    .secTopics .swiper-button-next::before {
        left: 0.3rem;
        width: 0.8rem;
        height: 0.8rem;
    }
    .secTopics .swiper-button-prev {
        left: -3rem;
    }
    .secTopics .swiper-button-next {
        right: -3rem;
    }
    .secTopics .bnrTopic {
        width: 24.6rem;
    }
}

/* secBgStrength */
.secBgStrength {
    background-color: #fff;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 192rem auto;
}
.secBgStrength.lazyloaded {
    background-image: url(../img/index/bgStrength.jpg);
}
@media only screen and (min-width: 1921px) {
    .secBgStrength {
        background-size: cover;
    }
}
@media only screen and (max-width: 1215px) {
    .secBgStrength {
        background-color: #edede5;
        background-position: center bottom;
        background-size: 100% auto;
        position: relative;
    }
    .secBgStrength.lazyloaded {
        background-image: url(../img/index/bgStrength_sp.jpg);
    }
    .secBgStrength::before {
        content: "";
        display: block;
        width: 100%;
        height: 30rem;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
    }
}

/* secStrength */
.secStrength {
    position: relative;
}
.secStrength .boxStrengthSpec {
    display: inline-flex;
    margin: 0 0 7.3rem;
    position: relative;
}
.secStrength .boxStrengthSpecItem {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 33rem;
    height: 33rem;
    padding-top: 8rem;
    border: 1px solid #bbbab9;
    border-radius: 50%;
    box-shadow: 0 0 10rem rgba(255, 255, 255, 1), 0 0 10rem rgba(255, 255, 255, 1), inset 0 0 10rem rgba(255, 255, 255, 1), inset 0 0 10rem rgba(255, 255, 255, 1);
    text-align: center;
    text-shadow: 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1);
    position: relative;
    z-index: 2;
}
.secStrength .boxStrengthSpecItem:nth-child(2) {
    z-index: 1;
    border-color: transparent;
}
.secStrength .boxStrengthSpecItem + .boxStrengthSpecItem:not(.isCover) {
    margin-left: -1.8rem;
}
.secStrength .boxStrengthSpecItem.isCover {
    z-index: 3;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    box-shadow: none;
    text-shadow: none;
}
.secStrength .txtStrengthSpecLabel {
    margin: 0 0 0.8rem;
    color: var(--orangeColor);
    font-size: var(--pcFontSize33);
    line-height: 1.25;
    letter-spacing: var(--pcLetterSpacing30);
    font-weight: 700;
}
.secStrength .txtStrengthSpecNum {
    margin: 0;
    color: var(--orangeColor);
    font-size: var(--pcFontSize77);
    line-height: 0.95;
    letter-spacing: var(--pcLetterSpacing30);
}
.secStrength .txtStrengthSpecNum .txtSmall {
    font-size: var(--pcFontSize33);
    letter-spacing: var(--pcLetterSpacing50);
    vertical-align: 0.4rem;
}
.secStrength .txtStrengthSpecNote {
    margin: 1.2rem 0 0;
    color: var(--colorBrown);
    font-size: var(--pcFontSize25);
    line-height: 1.45;
    letter-spacing: var(--pcLetterSpacing50);
}
.secStrength .txtStrengthArea {
    width: 36.4rem;
    margin: 0 0 3rem;
    padding: 1rem 1.6rem 0.9rem;
    border: 1px solid rgba(48, 43, 41, 0.3);
    color: var(--colorBrown);
    font-size: var(--pcFontSize20);
    line-height: 1.45;
    letter-spacing: var(--pcLetterSpacing100);
    text-align: center;
}
.secStrength .boxStrengthText {
    color: var(--colorBrown);
    margin: 0 0 3rem;
    font-size: var(--pcFontSize30);
    line-height: 2;
    letter-spacing: var(--pcLetterSpacing100);
}
.secStrength .boxStrengthPrice {
    display: inline-grid;
    grid-template-columns: 13rem auto;
    align-items: start;
    vertical-align: top;
    color: var(--colorBrown);
    padding: 0 0 11rem;
}
.secStrength .txtStrengthPlan {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 13rem;
    height: 13rem;
    margin: 0 2rem 0 0;
    border-radius: 50%;
    background-color: var(--orangeColor);
    color: var(--whiteColor);
}
.secStrength .txtStrengthPlanHead {
    display: flex;
    align-items: baseline;
    justify-content: center;
}
.secStrength .txtStrengthPlanNum {
    font-size: var(--pcFontSize55);
}
.secStrength .txtStrengthPlanTsubo {
    margin-left: 0.2rem;
    font-size: var(--pcFontSize27);
}
.secStrength .txtStrengthPlanType {
    display: block;
    font-size: var(--pcFontSize27);
}
.secStrength .boxStrengthPriceRight {
    text-shadow: 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1);
}
.secStrength .txtStrengthPrice {
    display: flex;
    align-items: flex-end;
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    color: var(--orangeColor);
}
.secStrength .txtStrengthPriceNum {
    font-size: var(--pcFontSize150);
}
.secStrength .txtStrengthPriceNum .smallNum {
    font-size: var(--pcFontSize100);
}
.secStrength .txtStrengthPriceUnit {
    margin: 0 0 2rem 1rem;
    color: var(--colorBrown);
    font-size: var(--pcFontSize30);
    font-weight: 700;
    letter-spacing: var(--pcLetterSpacing50);
    display: flex;
}
.secStrength .txtStrengthPriceUnit .txtTax {
    font-size: var(--pcFontSize14);
    display: block;
    padding: 1rem 0 0;
}
.secStrength .txtStrengthPriceSub {
    font-size: var(--pcFontSize16);
    font-weight: 700;
    letter-spacing: var(--pcLetterSpacing50);
    text-align: right;
}
.secStrength .txtStrengthPriceSub .txtTax {
    font-size: var(--pcFontSize11);
}
.secStrength .boxStrengthImages {
    position: absolute;
    right: -27rem;
    bottom: 4.5rem;
    z-index: 2;
    width: 87.2rem;
    height: 54.7rem;
}
.secStrength .imgStrength img {
    width: 100%;
    height: auto;
}
.secStrength .imgStrength {
    width: 30rem;
    position: absolute;
    top: 0;
}
.secStrength .imgStrength01 {
    left: 0;
}
.secStrength .imgStrength02 {
    top: 14.7rem;
    right: 30.9rem;
}
.secStrength .imgStrength03 {
    right: 0;
}
.secStrength .boxStrengthBtn {
    position: absolute;
    right: 0 ;
    bottom: -4.5rem;
    z-index: 3;
    width: 90rem;
}
.secStrength .btnStrengthMore {
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
    height: 9rem;
    padding: 2rem 4rem;
    border: 0.1rem solid var(--orangeColor);
    background-color: var(--orangeColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize18);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
    text-decoration: none;
    transition: color 0.4s ease, border-color 0.4s ease;
}
.secStrength .btnStrengthMore::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--whiteColor);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
    z-index: -1;
}
.secStrength .btnStrengthMore:hover {
    opacity: 1;
    color: var(--orangeColor);
}
.secStrength .btnStrengthMore:hover::before {
    transform: scaleX(1);
}
.secStrength .btnStrengthMore .cmnIconArrow {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
    margin-left: 1rem;
    width: 1.5rem;
    height: 1.5rem;
}
.secStrength .btnStrengthMore:hover .cmnIconArrow.isWhite {
    background: url(../img/common/iconArrow.png) var(--orangeColor) center / 0.7rem no-repeat;
}
@media only screen and (max-width: 1600px) {
    .secStrength .boxStrengthImages {
        right: -10rem;
    }
    .secStrength .boxStrengthBtn {
        right: -10rem;
    }
}
@media only screen and (max-width: 1215px) {
    .secStrength .boxStrengthInner {
        position: relative;
        padding-top: 20rem;
        padding-bottom: 20rem;
    }
    .secStrength .boxStrengthSpec {
        width: 41.6rem;
        position: absolute;
        top: 3rem;
        left: 50%;
        margin-left: -20.8rem;
    }
    .secStrength .boxStrengthSpecItem {
        width: 15rem;
        height: 15rem;
        padding-top: 3rem;
        box-shadow: none;
        text-shadow: none;
    }
    .secStrength .boxStrengthSpecItem + .boxStrengthSpecItem:not(.isCover) {
        margin-left: -1.6rem;
    }
    .secStrength .txtStrengthSpecLabel {
        margin-bottom: 0.2rem;
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secStrength .txtStrengthSpecNum {
        font-size: var(--spFontSize56);
        letter-spacing: 0;
    }
    .secStrength .txtStrengthSpecNum .txtSmall {
        font-size: var(--spFontSize15);
    }
    .secStrength .txtStrengthSpecNote {
        margin-top: 0.4rem;
        font-size: var(--spFontSize11);
        line-height: 1.36;
        letter-spacing: var(--spLetterSpacing30);
    }
    .secStrength .txtStrengthArea {
        width: 18.5rem;
        padding: 0.4rem;
        margin: 0 auto 2rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
        text-shadow: 0 0 2rem rgba(237, 237, 228, 1), 0 0 2rem rgba(237, 237, 228, 1), 0 0 2rem rgba(237, 237, 228, 1);
    }
    .secStrength .boxStrengthText {
        text-align: center;
        margin-bottom: 1.1rem;
        font-size: var(--spFontSize16);
        line-height: 2;
        letter-spacing: var(--spLetterSpacing50);
        text-shadow: 0 0 2rem rgba(237, 237, 228, 1), 0 0 2rem rgba(237, 237, 228, 1), 0 0 2rem rgba(237, 237, 228, 1);
    }
    .secStrength .boxStrengthPrice {
        display: flex;
        justify-content: center;
        gap: 0;
        width: 100%;
        padding-bottom: 13rem;
    }
    .secStrength .txtStrengthPlan {
        width: 5.5rem;
        height: 5.5rem;
        margin: 0 0.5rem 0 0;
    }
    .secStrength .txtStrengthPlanHead {
        display: inline-flex;
        align-items: baseline;
    }
    .secStrength .txtStrengthPlanNum {
        font-size: var(--spFontSize20);
    }
    .secStrength .txtStrengthPlanTsubo {
        margin-left: 0.1rem;
        font-size: var(--spFontSize15);
    }
    .secStrength .txtStrengthPlanType {
        display: inline-block;
        font-size: var(--spFontSize20);
    }
    .secStrength .txtStrengthPrice {
        display: inline-flex;
        align-items: flex-end;
    }
    .secStrength .txtStrengthPriceNum {
        font-size: var(--spFontSize65);
    }
    .secStrength .txtStrengthPriceNum .smallNum {
        font-size: var(--spFontSize45);
    }
    .secStrength .txtStrengthPriceUnit {
        margin: 0 0 1rem 0.5rem;
        font-size: var(--spFontSize15);
    }
    .secStrength .txtStrengthPriceUnit .txtTax {
        font-size: var(--spFontSize11);
        padding: 0.3rem 0 0;
    }
    .secStrength .txtStrengthPriceSub {
        margin: 0.5rem 0 0;
        font-size: var(--spFontSize16);
        text-align: center;
    }
    .secStrength .txtStrengthPriceSub .txtTax {
        font-size: var(--spFontSize11);
    }
    .secStrength .boxStrengthImages {
        right: 0;
        left: 0;
        bottom: 6rem;
        max-width: 100%;
        width: 35.4rem;
        height: 22.1rem;
        margin: 0 auto;
    }
    .secStrength .imgStrength {
        width: 12.2rem;
    }
    .secStrength .imgStrength img {
        filter: drop-shadow(0 0 0.5rem rgba(237, 237, 228, 1));
    }
    .secStrength .imgStrength02 {
        top: 5.9rem;
        right: 12.5rem;
    }
    .secStrength .boxStrengthBtn {
        right: auto;
        bottom: -2.5rem;
        left: 0;
        width: auto;
    }
    .secStrength .btnStrengthMore {
        justify-content: flex-start;
        height: 5rem;
        padding: 1.4rem 1.6rem;
        box-shadow: 0 0.5rem 0.9rem rgba(0, 0, 0, 0.22);
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secStrength .btnStrengthMore .cmnIconArrow {
        margin-left: 0.7rem;
    }
}
@media only screen and (max-width: 360px) {
    .secStrength .boxStrengthSpec {
        width: 35.6rem;
        margin-left: -17.8rem;
    }
    .secStrength .boxStrengthSpecItem {
        width: 13rem;
        height: 13rem;
    }
    .secStrength .boxStrengthSpecItem + .boxStrengthSpecItem:not(.isCover) {
        margin-left: -1.6rem;
    }
    .secStrength .txtStrengthSpecLabel {
        margin-bottom: 0.2rem;
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secStrength .txtStrengthSpecNum {
        font-size: var(--spFontSize46);
        letter-spacing: 0;
    }
    .secStrength .txtStrengthSpecNum .txtSmall {
        font-size: var(--spFontSize15);
    }
    .secStrength .txtStrengthSpecNote {
        margin-top: 0.4rem;
        font-size: var(--spFontSize11);
        line-height: 1.36;
        letter-spacing: var(--spLetterSpacing30);
    }
    .secStrength .txtStrengthArea {
        width: 18.5rem;
        padding: 0.4rem;
        margin: 0 auto 2rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
        text-shadow: 0 0 2rem rgba(237, 237, 228, 1), 0 0 2rem rgba(237, 237, 228, 1), 0 0 2rem rgba(237, 237, 228, 1);
    }
    .secStrength .boxStrengthText {
        text-align: center;
        margin-bottom: 1.1rem;
        font-size: var(--spFontSize16);
        line-height: 2;
        letter-spacing: var(--spLetterSpacing50);
        text-shadow: 0 0 2rem rgba(237, 237, 228, 1), 0 0 2rem rgba(237, 237, 228, 1), 0 0 2rem rgba(237, 237, 228, 1);
    }
    .secStrength .boxStrengthPrice {
        display: flex;
        justify-content: center;
        gap: 0;
        width: 100%;
    }
    .secStrength .txtStrengthPlan {
        width: 5.5rem;
        height: 5.5rem;
        margin: 0 0.5rem 0 0;
    }
    .secStrength .txtStrengthPlanHead {
        display: inline-flex;
        align-items: baseline;
    }
    .secStrength .txtStrengthPlanNum {
        font-size: var(--spFontSize20);
    }
    .secStrength .txtStrengthPlanTsubo {
        margin-left: 0.1rem;
        font-size: var(--spFontSize15);
    }
    .secStrength .txtStrengthPlanType {
        display: inline-block;
        font-size: var(--spFontSize20);
    }
    .secStrength .txtStrengthPrice {
        display: inline-flex;
        align-items: flex-end;
    }
    .secStrength .txtStrengthPriceNum {
        font-size: var(--spFontSize65);
    }
    .secStrength .txtStrengthPriceNum .smallNum {
        font-size: var(--spFontSize45);
    }
    .secStrength .txtStrengthPriceUnit {
        margin: 0 0 1rem 0.5rem;
        font-size: var(--spFontSize15);
    }
    .secStrength .txtStrengthPriceUnit .txtTax {
        font-size: var(--spFontSize11);
        padding: 0.3rem 0 0;
    }
    .secStrength .txtStrengthPriceSub {
        margin: 0.5rem 0 0;
        font-size: var(--spFontSize16);
        text-align: center;
    }
    .secStrength .txtStrengthPriceSub .txtTax {
        font-size: var(--spFontSize11);
    }
    .secStrength .boxStrengthImages {
        right: 0;
        left: 0;
        bottom: 6rem;
        max-width: 100%;
        width: 35.4rem;
        height: 22.1rem;
        margin: 0 auto;
    }
    .secStrength .imgStrength {
        width: 12.2rem;
    }
    .secStrength .imgStrength img {
        filter: drop-shadow(0 0 0.5rem rgba(237, 237, 228, 1));
    }
    .secStrength .imgStrength02 {
        top: 5.9rem;
        right: 12.5rem;
    }
    .secStrength .boxStrengthBtn {
        right: auto;
        bottom: -2.5rem;
        left: 0;
        width: auto;
    }
    .secStrength .btnStrengthMore {
        justify-content: flex-start;
        height: 5rem;
        padding: 1.4rem 1.6rem;
        box-shadow: 0 0.5rem 0.9rem rgba(0, 0, 0, 0.22);
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secStrength .btnStrengthMore .cmnIconArrow {
        margin-left: 0.7rem;
    }
}

/* common */
.secGallery .boxTopSectionHead,
.secModelHouse .boxTopSectionHead,
.secLineup .boxTopSectionHead,
.secVoice .boxTopSectionHead,
.secStaff .boxTopSectionHead,
.secBlog .boxTopSectionHead,
.secConcept .boxTopSectionHead,
.secNews .boxTopSectionHead {
    margin-bottom: 3rem;
}
.secGallery .titTopSection,
.secModelHouse .titTopSection,
.secLineup .titTopSection,
.secVoice .titTopSection,
.secStaff .titTopSection,
.secBlog .titTopSection,
.secConcept .titTopSection,
.secNews .titTopSection {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    margin: 0;
    color: var(--orangeColor);
    font-size: var(--pcFontSize50);
    line-height: 1;
    letter-spacing: var(--pcLetterSpacing30);
    font-weight: 300;
}
.secGallery .titTopSection::after,
.secModelHouse .titTopSection::after,
.secLineup .titTopSection::after,
.secVoice .titTopSection::after,
.secStaff .titTopSection::after,
.secBlog .titTopSection::after,
.secConcept .titTopSection::after,
.secNews .titTopSection::after {
    content: "";
    width: 10rem;
    height: 1px;
    background-color: var(--orangeColor);
}
.secGallery .txtTopSectionSub,
.secModelHouse .txtTopSectionSub,
.secLineup .txtTopSectionSub,
.secVoice .txtTopSectionSub,
.secStaff .txtTopSectionSub,
.secBlog .txtTopSectionSub,
.secConcept .txtTopSectionSub,
.secNews .txtTopSectionSub {
    margin: 0.9rem 0 0;
    color: var(--colorBrown);
    font-size: var(--pcFontSize20);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing100);
}
.secGallery .swiper-button-prev,
.secGallery .swiper-button-next,
.secVoice .swiper-button-prev,
.secVoice .swiper-button-next,
.secPlan .swiper-button-prev,
.secPlan .swiper-button-next,
.secStaff .swiper-button-prev,
.secStaff .swiper-button-next,
.secLineupLifestyle .swiper-button-prev,
.secLineupLifestyle .swiper-button-next {
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 50%;
    background-color: #fff;
    color: var(--colorBrown);
    box-shadow: 0 0.4rem 1.4rem rgba(0, 0, 0, 0.12);
}
.secGallery .swiper-button-prev::after,
.secGallery .swiper-button-next::after,
.secVoice .swiper-button-prev::after,
.secVoice .swiper-button-next::after,
.secPlan .swiper-button-prev::after,
.secPlan .swiper-button-next::after,
.secStaff .swiper-button-prev::after,
.secStaff .swiper-button-next::after,
.secLineupLifestyle .swiper-button-prev::after,
.secLineupLifestyle .swiper-button-next::after {
    display: none;
}
.secGallery .swiper-button-prev::before,
.secGallery .swiper-button-next::before,
.secVoice .swiper-button-prev::before,
.secVoice .swiper-button-next::before,
.secPlan .swiper-button-prev::before,
.secPlan .swiper-button-next::before,
.secStaff .swiper-button-prev::before,
.secStaff .swiper-button-next::before,
.secLineupLifestyle .swiper-button-prev::before,
.secLineupLifestyle .swiper-button-next::before {
    content: "";
    width: 1rem;
    height: 1rem;
    border-top: 0.1rem solid var(--colorBrown);
    border-right: 0.1rem solid var(--colorBrown);
    transform: rotate(45deg);
}
.secGallery .swiper-button-prev::before,
.secVoice .swiper-button-prev::before,
.secPlan .swiper-button-prev::before,
.secStaff .swiper-button-prev::before,
.secLineupLifestyle .swiper-button-prev::before {
    transform: rotate(225deg);
}
.secVoice .boxTopCard a,
.secBlog .boxBlogCard a {
    display: block;
    color: var(--colorBrown);
}
.secVoice .imgTopCard {
    position: relative;
    overflow: hidden;
}
.secVoice .imgTopCard img,
.secBlog .imgBlogCard img,
.secStaff .imgStaffCard img {
    width: 100%;
    height: auto;
}
.secVoice .boxTopCardBody {
    padding-top: 2rem;
    border-bottom: 0.1rem solid rgba(48, 43, 41, 0.3);
}
.secVoice .titTopCard,
.secBlog .titBlogCard {
    margin: 0 0 1.4rem;
    font-size: var(--pcFontSize15);
    line-height: 1.75;
    letter-spacing: var(--pcLetterSpacing80);
    font-weight: 700;
}
.secVoice .txtTopCardMeta,
.secBlog .txtTopCardMeta {
    margin: 0 0 0.7rem;
    color: rgba(48, 43, 41, 0.72);
    font-size: var(--pcFontSize11);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing80);
}

/* boxTopBtn */
.secEvent .boxTopBtn,
.secNews .boxTopBtn,
.secGallery .boxTopBtn,
.secModelHouse .boxTopBtn,
.secVoice .boxTopBtn,
.secStaff .boxTopBtn,
.secBlog .boxTopBtn {
    display: flex;
    justify-content: center;
    margin-top: 7rem;
}
.secLineup .boxTopBtn {
    display: flex;
    justify-content: center;
    margin-top: 12rem;
}
@media only screen and (max-width: 1215px) {
    .secEvent .boxTopBtn,
    .secNews .boxTopBtn,
    .secGallery .boxTopBtn,
    .secLineup .boxTopBtn,
    .secVoice .boxTopBtn,
    .secStaff .boxTopBtn,
    .secBlog .boxTopBtn {
        margin-top: 3rem;
    }
    .secLineup .boxTopBtn {
        margin-top: 8rem;
    }
}

/* secBgBeige */
.secBgBeige {
    background: url(../img/common/bgBeige.png) #e7e7db repeat;
    position: relative;
}
.secBgBeige::before {
    content: "";
    display: block;
    width: 100%;
    height: 220rem;
    background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
.secBgBeige::after {
    content: "";
    display: block;
    width: 100%;
    height: 110rem;
    background: linear-gradient(to top,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}
@media only screen and (max-width: 1215px) {
    .secBgBeige::before {
        height: 110rem;
    }
    .secBgBeige::after {
        height: 55rem;
    }
    .secBgBeige.isLineup::after {
        height: 110rem;
    }
}

/* secEvent */
.secEvent {
    padding: 13rem 0 14rem;
    position: relative;
    z-index: 1;
}
.secEvent .boxTopSectionHead {
    margin-bottom: 3rem;
}
.secEvent .titTopSection {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    margin: 0;
    color: var(--orangeColor);
    font-size: var(--pcFontSize50);
    line-height: 1;
    letter-spacing: var(--pcLetterSpacing30);
    font-weight: 300;
}
.secEvent .titTopSection::after {
    content: "";
    width: 10rem;
    height: 1px;
    background-color: var(--orangeColor);
}
.secEvent .txtTopSectionSub {
    margin: 0.9rem 0 0;
    color: var(--colorBrown);
    font-size: var(--pcFontSize20);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing100);
}
.secEvent .swiper-button-prev,
.secEvent .swiper-button-next {
    width: 5.6rem;
    height: 5.6rem;
    border-radius: 50%;
    background-color: #fff;
    color: var(--colorBrown);
    box-shadow: 0 0.4rem 1.4rem rgba(0, 0, 0, 0.12);
}
.secEvent .swiper-button-prev::after,
.secEvent .swiper-button-next::after {
    display: none;
}
.secEvent .swiper-button-prev::before,
.secEvent .swiper-button-next::before {
    content: "";
    width: 1rem;
    height: 1rem;
    border-top: 0.1rem solid var(--colorBrown);
    border-right: 0.1rem solid var(--colorBrown);
    transform: rotate(45deg);
}
.secEvent .swiper-button-prev::before {
    transform: rotate(225deg);
}
.secEvent .linkEventCard {
    display: block;
    color: var(--colorBrown);
    width: 43rem;
}
.secEvent .imgEventCard {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}
.secEvent .imgEventCard img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.secEvent .boxEventCardBody {
    padding-top: 2.7rem;
}
.secEvent .listEventCardTag {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    margin: 0 0 1.2rem;
    padding: 0;
    list-style: none;
}
.secEvent .txtEventCardTag {
    display: inline-block;
    padding: 0.4rem 0.9rem;
    background-color: var(--colorBrown);
    color: var(--whiteColor);
    font-size: var(--pcFontSize12);
    line-height: 1.4;
    letter-spacing: var(--pcLetterSpacing50);
}
.secEvent .txtEventCardTag.event_status_1 {
    background: #e9e8e1;
    color: var(--textColor);
}
.secEvent .txtEventCardTag.event_status_2 {
    background: var(--colorBrown);
}
.secEvent .txtEventCardTag.event_status_3 {
    background: #7f7f7f;
}
.secEvent .titEventCard {
    display: -webkit-box;
    margin: 0 0 1.2rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    font-size: var(--pcFontSize20);
    line-height: 1.7;
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
    text-overflow: ellipsis;
}
.secEvent .listEventCardMeta {
    margin: 0;
}
.secEvent .itemEventCardMeta {
    display: flex;
    margin: 0 0 0.5rem;
    font-size: var(--pcFontSize13);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing100);
}
.secEvent .itemEventCardMeta:last-child {
    margin-bottom: 0;
}
.secEvent .boxEventSlider {
    overflow: visible;
}
.secEvent .swiper-button-prev {
    left: -2.8rem;
}
.secEvent .swiper-button-next {
    right: -2.8rem;
}
@media only screen and (max-width: 1215px) {
    .secEvent {
        padding: 6rem 0 5rem;
    }
    .secEvent .boxTopSectionHead {
        margin-bottom: 2.5rem;
    }
    .secEvent .titTopSection {
        gap: 1rem;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secEvent .titTopSection::after {
        width: 4.8rem;
    }
    .secEvent .txtTopSectionSub {
        margin-top: 0.4rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secEvent .swiper-button-prev,
    .secEvent .swiper-button-next {
        width: 4rem;
        height: 4rem;
    }
    .secEvent .swiper-button-prev::before,
    .secEvent .swiper-button-next::before {
        width: 0.8rem;
        height: 0.8rem;
    }
    .secEvent .linkEventCard {
        width: 100%;
    }
    .secEvent .boxEventCardBody {
        padding-top: 2rem;
    }
    .secEvent .listEventCardTag {
        margin-bottom: 1.5rem;
    }
    .secEvent .txtEventCardTag {
        padding: 0.3rem 0.7rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secEvent .titEventCard {
        margin-bottom: 1rem;
        font-size: var(--spFontSize14);
        line-height: 2.4rem;
        letter-spacing: var(--spLetterSpacing50);
    }
    .secEvent .titEventCard br.spNone {
        display: none;
    }
    .secEvent .itemEventCardMeta {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
        margin: 0 0 0.8rem;
    }
    .secEvent .boxEventSlider {
        width: 21.5rem;
        margin: 0 auto;
    }
    .secEvent .imgEventCard {
        box-shadow: 0 0.4rem 1.4rem rgba(0, 0, 0, 0.12);
    }
    .secEvent .swiper-button-prev {
        left: -5rem;
        top: calc(21.5rem / 2);
    }
    .secEvent .swiper-button-next {
        right: -5rem;
        top: calc(21.5rem / 2);
    }
}

/* secNews */
.secNews {
    position: relative;
    z-index: 1;
    padding: 0 0 15rem;
}
.secNews .listNews {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 0.1rem solid var(--borderColor);
}
.secNews .itemNews {
    margin: 0;
    border-bottom: 0.1rem solid var(--borderColor);
}
.secNews .linkNews {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 3.2rem 0;
    color: var(--textColor);
    text-decoration: none;
}
.secNews .boxNewsText {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 2rem;
}
.secNews .txtNewsDate {
    margin: 0;
    display: flex;
    gap: 2rem;
}
.secNews .txtDate {
    font-size: var(--pcFontSize13);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing50);
    font-weight: 400;
}
.secNews .newIcon {
    background: var(--orangeColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize12);
    padding: 0.3rem 1rem;
}
.secNews .titNews {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: var(--pcFontSize18);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
}
.secNews .linkNews .cmnIconArrow {
    flex-shrink: 0;
}
.secNews .boxTopBtn {
    margin-top: 7rem;
}
@media only screen and (max-width: 1215px) {
    .secNews {
        padding-bottom: 5rem;
    }
    .secNews .boxTopSectionHead {
        margin-bottom: 2.5rem;
    }
    .secNews .titTopSection {
        gap: 1rem;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secNews .titTopSection::after {
        width: 4.8rem;
    }
    .secNews .txtTopSectionSub {
        margin-top: 0.4rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secNews .linkNews {
        align-items: center;
        gap: 1rem;
        padding: 1.6rem 0;
    }
    .secNews .boxNewsText {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.4rem;
    }
    .secNews .txtNewsDate {
        gap: 1rem;
    }
    .secNews .txtDate {
        color: var(--textColor);
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secNews .newIcon {
        font-size: var(--spFontSize10);
        padding: 0.3rem 0.8rem;
    }
    .secNews .titNews {
        font-size: var(--spFontSize13);
        line-height: 1.7;
        letter-spacing: var(--spLetterSpacing50);
    }
    .secNews .boxTopBtn {
        margin-top: 3rem;
    }
}

/* secGallery */
.secGallery {
    padding: 0 0 13rem;
    position: relative;
    z-index: 2;
}
.secGallery .boxGalleryFeature {
    margin: 0 0 10rem;
}
.secGallery .boxGalleryFeatureTop {
    margin-bottom: 3rem;
}
.secGallery .boxGalleryFeatureMedia {
    width: 145rem;
    position: relative;
}
.secGallery .linkGalleryFeature {
    display: block;
    color: var(--colorBrown);
}
.secGallery .imgGalleryFeature {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1450 / 780;
}
.secGallery .txtGalleryBadge {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    margin: 0;
    padding: 0.7rem 1.4rem 0.5rem;
    background-color: var(--orangeColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize16);
    line-height: 1.4;
    letter-spacing: var(--pcLetterSpacing100);
}
.secGallery .boxGalleryFeatureTit {
    position: absolute;
    bottom: -2.6rem;
    right: -19.5rem;
    z-index: 2;
    width: 40rem;
    text-align: right;
}
.secGallery .titGalleryFeature {
    margin: 0;
    color: #000;
    font-size: var(--pcFontSize24);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing8150);
    font-weight: 700;
}
.secGallery .titGalleryFeature.isLined {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.3rem;
}
.secGallery .boxGalleryFeatureCopy {
    position: absolute;
    top: 0;
    right: -21.5rem;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    gap: 2.1rem;
}
.secGallery .txtGalleryFeatureCatch {
    display: flex;
    flex-direction: row-reverse;
    gap: 1.2rem;
    margin: 0;
}
.secGallery .txtGalleryFeatureCatchLine {
    margin: 0;
    color: var(--textColor);
    font-size: var(--pcFontSize21);
    line-height: 1.8;
    letter-spacing: var(--pcLetterSpacing200);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-weight: 700;
}
.secGallery .txtGalleryFeatureCatchDot {
    position: relative;
    top: -0.5em;
    right: -0.5em;
}
.secGallery .txtGalleryFeatureEn {
    margin: 0;
    color: var(--colorBrown);
    font-size: var(--pcFontSize11);
    line-height: 1.65;
    letter-spacing: var(--pcLetterSpacing250);
    writing-mode: vertical-rl;
    text-orientation: mixed;
    font-weight: 700;
}
.secGallery .titGalleryFeatureLine {
    margin: 0;
    padding: 0.7rem 1.6rem;
    background-color: #f0f0e8;
}
.secGallery .boxGalleryIntro {
    padding-right: 45rem;
}
.secGallery .boxGalleryIntro .txt {
    margin: 0 0 3rem;
    color: var(--colorBrown);
    font-size: var(--pcFontSize16);
    line-height: 2.375;
    letter-spacing: var(--pcLetterSpacing150);
}
.secGallery .boxGalleryIntro .cmnBtnMore {
    min-width: 30rem;
    min-height: 6rem;
}
.secGallery .linkGalleryCard {
    display: block;
    color: var(--colorBrown);
    width: 43rem;
}
.secGallery .imgGalleryCard {
    position: relative;
    overflow: hidden;
    aspect-ratio: 430 / 574;
}
.secGallery .boxGalleryCardBody {
    padding-top: 3rem;
}
.secGallery .listGalleryCardTag {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1.2rem;
    padding: 0;
    list-style: none;
}
.secGallery .txtGalleryCardTag {
    display: inline-block;
    padding: 0.5rem 0.8rem 0.3rem;
    background-color: var(--whiteColor);
    font-size: var(--pcFontSize12);
    line-height: 1.4;
    letter-spacing: var(--pcLetterSpacing50);
    font-weight: 700;
}
.secGallery .titGalleryCard {
    display: -webkit-box;
    margin: 0 0 1rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    font-size: var(--pcFontSize20);
    line-height: 1.7;
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
    text-overflow: ellipsis;
}
.secGallery .txtGalleryCardMeta,
.secGallery .txtGalleryCardPlace {
    font-size: var(--pcFontSize13);
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing100);
}
.secGallery .txtGalleryCardMeta {
    margin-bottom: 0.5rem;
}
.secGallery .txtGalleryCardPlace {
    padding-bottom: 1rem;
}
.secGallery .boxGallerySlider {
    overflow: visible;
}
.secGallery .swiper-slide {
    width: 43rem;
    height: auto;
}
.secGallery .swiper-button-prev {
    left: -2.8rem;
}
.secGallery .swiper-button-next {
    right: -2.8rem;
}
@media only screen and (max-width: 1700px) {
    .secGallery .boxGalleryFeatureMedia {
        width: calc(100% - 23rem);
    }
    .secGallery .boxGalleryFeatureCopy {
        right: -17rem;
    }
}
@media only screen and (max-width: 1215px) {
    .secGallery {
        padding-bottom: 5rem;
    }
    .secGallery .boxTopSectionHead {
        margin-bottom: 2.5rem;
    }
    .secGallery .titTopSection {
        gap: 1rem;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secGallery .titTopSection::after {
        width: 4.8rem;
    }
    .secGallery .txtTopSectionSub {
        margin-top: 0.4rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secGallery .boxGalleryFeature {
        margin: 0 0 3rem;
    }
    .secGallery .boxGalleryFeatureCopy {
        right: -2.5rem;
    }
    .secGallery .txtGalleryFeatureEn {
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing150);
    }
    .secGallery .boxGalleryFeatureTop {
        margin-bottom: 0;
    }
    .secGallery .boxGalleryFeatureMedia {
        width: calc(100% - 4rem);
    }
    .secGallery .imgGalleryFeature {
        aspect-ratio: 670 / 670;
    }
    .secGallery .linkGalleryFeature {
        grid-row: 1;
        grid-column: 1;
    }
    .secGallery .boxGalleryFeatureTit {
        position: static;
        width: 100vw;
        padding: 2.5rem calc((20 / 375) * 100%) 0;
        text-align: left;
    }
    .secGallery .titGalleryFeature {
        margin: 0 0 1rem;
        font-size: var(--spFontSize18);
        line-height: 1.78;
        letter-spacing: var(--spLetterSpacing100);
    }
    .secGallery .titGalleryFeatureLine {
        margin: 0;
        padding: 0;
        background-color: transparent;
    }
    .secGallery .titGalleryFeature.isLined {
        display: block;
    }
    .secGallery .txtGalleryBadge {
        padding: 0.4rem 1rem;
        font-size: var(--spFontSize14);
    }
    .secGallery .boxGalleryIntro {
        padding: 0;
    }
    .secGallery .boxGalleryIntro .txt {
        margin-bottom: 1.6rem;
        font-size: var(--spFontSize14);
        line-height: 2.14;
        letter-spacing: var(--spLetterSpacing50);
    }
    .secGallery .boxGalleryIntro .cmnBtnMore {
        min-width: 14rem;
        min-height: 3.6rem;
    }
    .secGallery .swiper-button-prev,
    .secGallery .swiper-button-next {
        width: 4rem;
        height: 4rem;
    }
    .secGallery .swiper-button-prev::before,
    .secGallery .swiper-button-next::before {
        width: 0.8rem;
        height: 0.8rem;
    }
    .secGallery .linkGalleryCard {
        width: 100%;
    }
    .secGallery .boxGalleryCardBody {
        padding-top: 2rem;
    }
    .secGallery .listGalleryCardTag {
        gap: 1px;
        margin-bottom: 1.5rem;
    }
    .secGallery .txtGalleryCardTag {
        padding: 0.25rem 0.6rem;
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secGallery .titGalleryCard {
        margin-bottom: 1rem;
        font-size: var(--spFontSize14);
        line-height: 2.4rem;
        letter-spacing: var(--spLetterSpacing50);
    }
    .secGallery .txtGalleryCardMeta,
    .secGallery .txtGalleryCardPlace {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secGallery .txtGalleryCardMeta {
        margin: 0 0 0.8rem;
    }
    .secGallery .boxGallerySlider {
        width: 21.5rem;
        margin: 0 auto;
    }
    .secGallery .swiper-slide {
        width: 21.5rem;
    }
    .secGallery .imgGalleryCard {
        box-shadow: 0 0.4rem 1.4rem rgba(0, 0, 0, 0.12);
    }
    .secGallery .swiper-button-prev {
        left: -5rem;
        top: calc(28.7rem / 2);
    }
    .secGallery .swiper-button-next {
        right: -5rem;
        top: calc(28.7rem / 2);
    }
}

/* secModelHouse */
.secModelHouse {
    padding: 12rem 0 10rem;
    background: linear-gradient(180deg, #20222a  0%, #20222a  30%, #575960 100%);
    color: var(--whiteColor);
}
.secModelHouse .boxTopSectionHead {
    margin-bottom: 4.8rem;
}
.secModelHouse .txtTopSectionSub {
    color: var(--whiteColor);
}
.secModelHouse .boxModelHouseNav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    max-width: 96rem;
    margin: 0 auto 4.2rem;
}
.secModelHouse .btnModelHouseNav {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 7.4rem;
    padding: 1.2rem;
    background-color: rgba(255, 255, 255, 0.92);
    color: var(--colorBrown);
    font-size: var(--pcFontSize13);
    line-height: 1.55;
    letter-spacing: var(--pcLetterSpacing80);
    font-weight: 700;
    text-align: center;
}
.secModelHouse .btnModelHouseNav.isActive {
    background-color: var(--orangeColor);
    color: var(--whiteColor);
}
@media only screen and (max-width: 1215px) {
    .secModelHouse {
        padding: 4.8rem 0 5rem;
        background: #20222a;
    }
    .secModelHouse .boxTopSectionHead {
        margin-bottom: 2.5rem;
    }
    .secModelHouse .titTopSection {
        gap: 1rem;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30);
        display: block;
    }
    .secModelHouse .titTopSection::after {
        width: 3.5rem;
        display: inline-block;
        vertical-align: top;
        margin-top: 0.5em;
        margin-left: 1rem;
    }
    .secModelHouse .txtTopSectionSub {
        margin-top: 0.4rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secModelHouse .cmnBtnMore {
        min-width: 18rem;
        min-height: 4.4rem;
        padding: 1rem 2rem;
        font-size: var(--spFontSize10);
    }
    .secModelHouse .boxModelHouseNav {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8rem;
        margin-bottom: 2.4rem;
    }
    .secModelHouse .btnModelHouseNav {
        min-height: 5.2rem;
        padding: 0.8rem;
        font-size: var(--spFontSize10);
    }
}

/* boxMhNav */
.secModelHouse .boxMhNav {
    margin-bottom: 4rem;
    position: relative;
    color: var(--whiteColor);
}
.secModelHouse .boxMhNavInner {
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
    gap: 0;
    overflow: hidden;
}
.secModelHouse .boxMhNavViewport {
    position: relative;
    min-width: 0;
}
.secModelHouse .boxMhNav .boxMhNavSwiper {
    overflow: visible;
    width: 20rem;
    margin: 0;
}
.secModelHouse .boxMhNav .boxMhNavSwiper.isCenter {
    width: 100%;
    overflow: hidden;
}
.secModelHouse .boxMhNav .boxMhNavSwiper.isCenter .swiper-wrapper {
    display: flex;
    justify-content: center;
    transform: none !important;
    transition: none !important;
}
.secModelHouse .boxMhNav .boxMhNavSwiper .swiper-slide {
    width: 20rem;
    height: auto;
    flex-shrink: 0;
}
.secModelHouse .boxMhNav .boxMhNavSwiper .swiper-slide::after {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.15);
    position: absolute;
    top: 0;
    right: 0;
}
.secModelHouse .boxMhNav .btnMhNav {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 20rem;
    height: 100%;
    padding: 0.6rem 1rem 1.6rem;
    border: none;
    background-color: transparent;
    font-family: inherit;
    text-align: center;
    text-decoration: none;
    color: var(--whiteColor);
    cursor: pointer;
    transition: opacity 0.2s, color 0.2s;
    appearance: none;
}
.secModelHouse .boxMhNav .btnMhNav.isActive {
    background-color: transparent;
    color: var(--orangeColor);
}
.secModelHouse .boxMhNav .btnMhNav.isActive::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-top: 0.8rem;
    border-left: 0.7rem solid transparent;
    border-right: 0.7rem solid transparent;
    border-top: 0.9rem solid var(--orangeColor);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin-inline: auto;
}
.secModelHouse .boxMhNav .btnMhNav.isActive .txtMhNav {
    color: var(--orangeColor);
}
.secModelHouse .boxMhNav .imgMhNav {
    display: block;
    aspect-ratio: 204 / 100;
    width: 100%;
    margin-bottom: 0.9rem;
}
.secModelHouse .boxMhNav .imgMhNav img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
}
.secModelHouse .boxMhNav .txtMhNav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
    font-size: var(--pcFontSize12);
    line-height: calc(20 / 12);
    letter-spacing: var(--pcLetterSpacing50);
    font-weight: 700;
    color: var(--whiteColor);
    transition: color 0.2s;
}
.secModelHouse .boxMhNav .boxMhNavFade {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 5rem;
    z-index: 2;
    pointer-events: none;
}
.secModelHouse .boxMhNav .boxMhNavFade.isPrev {
    left: 0;
    background: linear-gradient(to right, rgba(32, 34, 42, 100) 0%, rgba(32, 34, 42, 0) 100%);
}
.secModelHouse .boxMhNav .boxMhNavFade.isNext {
    right: 0;
    background: linear-gradient(to left, rgba(32, 34, 42, 100) 0%, rgba(32, 34, 42, 0) 100%);
}
.secModelHouse .boxMhNav:has(.boxMhNavSwiper.isCenter) .boxMhNavFade {
    display: none;
}
.secModelHouse .boxMhNav .btnMhNavPrev,
.secModelHouse .boxMhNav .btnMhNavNext {
    position: absolute;
    top: 0;
    bottom: 0;
    left: auto;
    right: auto;
    margin: auto 0;
    width: 6.4rem;
    height: 6.4rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.15);
    color: transparent;
    z-index: 3;
}
.secModelHouse .boxMhNav .btnMhNavPrev {
    left: -3.2rem;
}
.secModelHouse .boxMhNav .btnMhNavNext {
    right: -3.2rem;
}
.secModelHouse .boxMhNav .btnMhNavPrev::after,
.secModelHouse .boxMhNav .btnMhNavNext::after {
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    border-top: 1px solid var(--colorBrown);
    border-right: 1px solid var(--colorBrown);
}
.secModelHouse .boxMhNav .btnMhNavPrev::after {
    transform: rotate(-135deg);
    margin-left: 0.3rem;
}
.secModelHouse .boxMhNav .btnMhNavNext::after {
    transform: rotate(45deg);
    margin-right: 0.3rem;
}
.secModelHouse .boxMhNav .btnMhNavPrev.swiper-button-disabled,
.secModelHouse .boxMhNav .btnMhNavNext.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}
@media only screen and (max-width: 1215px) {
    .secModelHouse .boxMhNav {
        margin-bottom: 3.5rem;
    }
    .secModelHouse .boxMhNavViewport {
        width: 24rem;
        margin-inline: auto;
    }
    .secModelHouse .boxMhNavViewport:has(.boxMhNavSwiper.isCenter) {
        width: auto;
    }
    .secModelHouse .boxMhNav .boxMhNavSwiper {
        width: 8rem;
    }
    .secModelHouse .boxMhNav .boxMhNavSwiper.isCenter {
        width: 100%;
    }
    .secModelHouse .boxMhNav .boxMhNavSwiper.isCenter .swiper-slide {
        width: 12rem;
    }
    .secModelHouse .boxMhNav .btnMhNav {
        width: 12rem;
        padding: 0.3rem 0.5rem 0.8rem;
    }
    .secModelHouse .boxMhNav .btnMhNav.isActive::after {
        margin-top: 0.4rem;
        border-left-width: 0.35rem;
        border-right-width: 0.35rem;
        border-top-width: 0.45rem;
    }
    .secModelHouse .boxMhNav .imgMhNav {
        margin-bottom: 0.45rem;
    }
    .secModelHouse .boxMhNav .txtMhNav {
        font-size: var(--spFontSize10);
        line-height: 1.5;
        letter-spacing: 0;
    }
    .secModelHouse .boxMhNav .boxMhNavFade {
        width: 2.5rem;
    }
}

/* boxMhList */
.secModelHouse .boxMhList {
    position: relative;
    color: var(--textColor);
}
.secModelHouse .boxMhListSwiper {
    overflow: hidden;
}
.secModelHouse .boxMhListSwiper .swiper-slide {
    height: auto;
}
.secModelHouse .btnMhListPrev,
.secModelHouse .btnMhListNext {
    position: absolute;
    top: 50%;
    left: auto;
    right: auto;
    margin-top: -4rem;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0.2rem 1.5rem rgba(0, 0, 0, 0.12);
    color: transparent;
    z-index: 5;
}
.secModelHouse .btnMhListPrev::after,
.secModelHouse .btnMhListNext::after {
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    border-top: 1px solid var(--colorBrown);
    border-right: 1px solid var(--colorBrown);
}
.secModelHouse .btnMhListPrev::after {
    transform: rotate(-135deg);
    margin-left: 0.3rem;
}
.secModelHouse .btnMhListNext::after {
    transform: rotate(45deg);
    margin-right: 0.3rem;
}
.secModelHouse .btnMhListPrev {
    left: calc(100% - 58% - 58rem);
}
.secModelHouse .btnMhListNext {
    left: calc(100% - 58% + 5rem);
}
.secModelHouse .btnMhListPrev.swiper-button-disabled,
.secModelHouse .btnMhListNext.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* boxMhMain */
.secModelHouse .boxMhMain {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    max-width: 192rem;
    margin-inline: auto;
}
.secModelHouse .boxMhSlider {
    flex: 0 0 58%;
    max-width: 58%;
    min-width: 0;
    position: relative;
    z-index: 1;
}
.secModelHouse .boxMhSwiper {
    position: relative;
    overflow: hidden;
}
.secModelHouse .boxMhSwiper .imgSlide {
    aspect-ratio: 1110 / 740;
}
.secModelHouse .boxMhPager {
    position: absolute;
    bottom: 2.5rem;
    right: 3.5rem;
    z-index: 2;
    display: flex;
    align-items: center;
    width: auto;
    justify-content: flex-end;
}
.secModelHouse .boxMhPager .swiper-pagination-bullet {
    position: relative;
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 0 0 20px;
    background-color: #000;
    opacity: 1;
    border-radius: 50%;
}
.secModelHouse .boxMhPager .swiper-pagination-bullet:first-child {
    margin-left: 0;
}
.secModelHouse .boxMhPager .swiper-pagination-bullet svg {
    position: absolute;
    top: -4px;
    left: -4px;
    margin: auto;
    pointer-events: none;
}
.secModelHouse .boxMhPager .swiper-pagination-bullet svg circle {
    fill: transparent;
    stroke: var(--colorBrown);
    stroke-width: 1;
    stroke-dasharray: 0 78.5;
    will-change: stroke-dasharray;
}
.secModelHouse .boxMhPager .swiper-pagination-bullet-active {
    background-color: var(--colorBrown);
}
.secModelHouse .boxMhPager .swiper-pagination-bullet-active svg circle {
    opacity: 1;
    animation-name: mhBulletLoading;
    animation-duration: 4500ms;
    animation-timing-function: linear;
}
@keyframes mhBulletLoading {
    0% {
        stroke-dasharray: 0 78.5;
    }
    100% {
        stroke-dasharray: 78.5 78.5;
    }
}
@media only screen and (max-width: 1215px) {
    .secModelHouse .boxMhMain {
        flex-direction: column;
        position: relative;
    }
    .secModelHouse .boxMhSlider {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
        z-index: 0;
        /* iOS: 画像側を下層の合成レイヤーに固定 */
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    .secModelHouse .boxMhSwiper {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    .secModelHouse .boxMhPager {
        display: none;
    }
    .secModelHouse .btnMhListPrev,
    .secModelHouse .btnMhListNext {
        top: calc(29.57vw - 2rem);
        margin-top: 0;
        width: 4rem;
        height: 4rem;
    }
    .secModelHouse .btnMhListPrev {
        left: -1rem;
    }
    .secModelHouse .btnMhListNext {
        left: auto;
        right: -1rem;
    }
    .secModelHouse .btnMhListPrev::after,
    .secModelHouse .btnMhListNext::after {
        width: 0.8rem;
        height: 0.8rem;
    }
}
.secModelHouse .boxMhList .boxMhText {
    flex: 0 0 calc(100% - 58% + 9rem);
    position: relative;
    z-index: 10;
    margin-right: -9rem;
    padding: 5.5rem 8rem 7rem 14rem;
    background-color: var(--whiteColor);
    display: flex;
    justify-content: flex-end;
    box-shadow: 0 0.4rem 2.4rem rgba(0, 0, 0, 0.1);
}
.secModelHouse .boxMhList .boxMhTextWrap {
    max-width: 46rem;
}
.secModelHouse .boxMhList .titMhItem {
    margin: 0 0 1rem;
    font-size: var(--pcFontSize34);
    line-height: 1.62;
    letter-spacing: var(--pcLetterSpacing50);
    font-weight: 700;
    color: var(--colorBrown);
}
.secModelHouse .boxMhList .txtMhLead {
    margin: 0 0 1.1rem;
    font-size: var(--pcFontSize20);
    line-height: 1.8;
    letter-spacing: var(--pcLetterSpacing50);
    font-weight: 700;
}
.secModelHouse .boxMhList .txtMhDesc {
    margin: 0 0 3.2rem;
    font-size: var(--pcFontSize15);
    line-height: 2;
    letter-spacing: var(--pcLetterSpacing50);
}
@media only screen and (max-width: 1215px) {
    .secModelHouse .boxMhList .boxMhText {
        flex: none;
        margin: -3.9rem auto 0;
        padding: 2.3rem 2rem 2rem;
        box-shadow: 0 0.2rem 1.2rem rgba(0, 0, 0, 0.1);
        /* iOS Safari: opacity/transform 切替時に画像下へ潜るのを防ぐ */
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        isolation: isolate;
    }
    .secModelHouse .boxMhList .titMhItem {
        margin-bottom: 0.8rem;
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing50);
        line-height: 1.67;
    }
    .secModelHouse .boxMhList .txtMhLead {
        margin-bottom: 1.3rem;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing50);
        line-height: 1.7;
    }
    .secModelHouse .boxMhList .txtMhDesc {
        margin-bottom: 0.8rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
        line-height: 1.83;
    }
}
.secModelHouse .boxMhList .boxMhMeta {
    margin-bottom: 3rem;
}
.secModelHouse .boxMhList .txtMhMeta {
    margin: 0;
    font-size: var(--pcFontSize13);
    line-height: 1.85;
    letter-spacing: var(--pcLetterSpacing50);
    opacity: 0.7;
}
@media only screen and (max-width: 1215px) {
    .secModelHouse .boxMhList .boxMhMeta {
        margin-bottom: 2rem;
    }
    .secModelHouse .boxMhList .txtMhMeta {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing50);
        line-height: 1.82;
    }
}
.secModelHouse .boxMhList .boxMhBtns {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}
.secModelHouse .boxMhList .btnMh {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 0.6rem;
    max-width: 30rem;
    min-height: 6rem;
    padding: 0.6rem 1.8rem;
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
    line-height: 1.3;
    color: var(--colorBrown);
    transition: opacity 0.2s ease;
}
.secModelHouse .boxMhList .btnMh .cmnIconArrow {
    position: relative;
    z-index: 1;
}
.secModelHouse .boxMhList .btnMh.isReserve {
    background-color: var(--orangeColor);
    border-color: var(--orangeColor);
    color: var(--whiteColor);
}
.secModelHouse .boxMhList .btnMh.isDetail {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    border: 0.1rem solid var(--colorDarkBrown);
    background-color: var(--colorDarkBrown);
    border-color: var(--colorDarkBrown);
    color: var(--whiteColor);
    transition: opacity 0.2s ease, color 0.4s ease;
}
.secModelHouse .boxMhList .btnMh.isDetail::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--whiteColor);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
    z-index: -1;
}
.secModelHouse .boxMhList .btnMh.isDetail:hover {
    color: var(--colorDarkBrown);
}
.secModelHouse .boxMhList .btnMh.isDetail:hover::before {
    transform: scaleX(1);
}
.secModelHouse .boxMhList .btnMh.isDetail:hover .cmnIconArrow.isBrown {
    background: url(../img/common/iconArrowBlack02.png) #fff center / 0.7rem no-repeat;
}
@media only screen and (max-width: 1215px) {
    .secModelHouse .boxMhList .boxMhBtns {
        gap: 1rem;
    }
    .secModelHouse .boxMhList .btnMh {
        min-height: 3.6rem;
        padding: 0.5rem 1rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing100);
        gap: 0.4rem;
    }
    .secModelHouse .boxMhList .btnMh .cmnIconArrow {
        width: 1.2rem;
        height: 1.2rem;
        background-size: 0.5rem;
    }
    .secModelHouse .boxTopBtn {
        margin-top: 2rem;
    }
}

/* secCatalog */
.secCatalog {
    padding: 13rem 0;
}
.secCatalog .bnrCatalog {
    display: block;
    width: 120rem;
    max-width: 100%;
    margin: 0 auto;
}
@media only screen and (max-width: 1215px) {
    .secCatalog {
        padding: 4rem 0 4.8rem;
    }
}

/* secLineup */
.secLineup {
    padding: 0 0 13rem;
    position: relative;
    z-index: 2;
}
@media only screen and (max-width: 1215px) {
    .secLineup {
        padding-bottom: 5rem;
    }
    .secLineup .boxTopSectionHead {
        margin-bottom: 2.5rem;
    }
    .secLineup .titTopSection {
        gap: 1rem;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secLineup .titTopSection::after {
        width: 4.8rem;
    }
    .secLineup .txtTopSectionSub {
        margin-top: 0.4rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
    }
}
.secLineupPerformance .listPerformanceLineup {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    width: calc(100vw - 16rem);
    max-width: calc(192rem - 16rem);
    margin: 0 auto;
}
.secLineupPerformance .itemPerformanceLineup {
    width: calc((100% - 2rem) / 2);
}
.secLineupPerformance .boxPerformanceLineup {
    height: 100%;
}
.secLineupPerformance .linkPerformanceLineup {
    position: relative;
    display: block;
    overflow: hidden;
    color: var(--whiteColor);
}
.secLineupPerformance .linkPerformanceLineup:hover {
    opacity: 1;
}
.secLineupPerformance .linkPerformanceLineup::after {
    content: "";
    position: absolute;
    inset: 0;
    background: #222428;
    opacity: 0.7;
    pointer-events: none;
    mix-blend-mode: multiply;
}
.secLineupPerformance .imgPerformanceLineup {
    aspect-ratio: 870 / 840;
    overflow: hidden;
}
.secLineupPerformance .imgPerformanceLineup img {
    transition: transform 0.5s ease-out;
}
.secLineupPerformance .linkPerformanceLineup:hover .imgPerformanceLineup img {
    transform: scale(1.05);
}
.secLineupPerformance .boxPerformanceBody {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10rem 4rem 20rem;
    text-align: center;
}
.secLineupPerformance .txtPerformanceLabel {
    margin-bottom: 0.4rem;
    font-size: var(--pcFontSize30);
    line-height: calc(50 / 30);
    letter-spacing: var(--pcLetterSpacing30);
    font-weight: 700;
}
.secLineupPerformance .boxPerformanceAward {
    display: flex;
    justify-content: center;
    gap: 9rem;
    margin-bottom: 3rem;
}
.secLineupPerformance .txtPerformanceAward {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    min-width: 17.5rem;
    min-height: 9.2rem;
    margin: 0;
    font-size: var(--pcFontSize32);
    line-height: calc(40 / 32);
    letter-spacing: var(--pcLetterSpacing50);
    font-weight: 700;
    background: linear-gradient(180deg, #c9bb98 0%, #f0ddb0 52%, #f6ecd4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.secLineupPerformance .txtPerformanceAward.isPrice {
    min-width: 20rem;
    gap: 0.1rem;
    font-size: var(--pcFontSize22);
    line-height: 1.2;
    letter-spacing: var(--pcLetterSpacing30);
}
.secLineupPerformance .txtAwardNum,
.secLineupPerformance .txtAwardSub,
.secLineupPerformance .txtAwardYen,
.secLineupPerformance .txtAwardTax {
    background: linear-gradient(180deg, #c9bb98 0%, #f0ddb0 52%, #f6ecd4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.secLineupPerformance .txtAwardSub {
    font-size: var(--pcFontSize18);
}
.secLineupPerformance .txtAwardNum {
    font-size: var(--pcFontSize26);
    letter-spacing: 0;
}
.secLineupPerformance .txtAwardNum.isLarge {
    font-size: var(--pcFontSize40);
}
.secLineupPerformance .txtAwardYen {
    font-size: var(--pcFontSize22);
}
.secLineupPerformance .txtAwardTax {
    margin-top: 0.2rem;
    font-size: var(--pcFontSize18);
    font-weight: 500;
    letter-spacing: var(--pcLetterSpacing50);
}
.secLineupPerformance .txtPerformanceAward::before,
.secLineupPerformance .txtPerformanceAward::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 4.1rem;
    height: 11rem;
    background: url("../img/lineup/imgLineupAward.png") center / contain no-repeat;
    transform: translateY(-50%);
}
.secLineupPerformance .txtPerformanceAward::before {
    left: -2.6rem;
}
.secLineupPerformance .txtPerformanceAward::after {
    right: -2.6rem;
    transform: translateY(-50%) scaleX(-1);
}
.secLineupPerformance .titPerformanceLogo {
    margin: 1rem 0;
}
.secLineupPerformance .titPerformanceName {
    font-size: var(--pcFontSize22);
    line-height: calc(44 / 22);
    letter-spacing: var(--pcLetterSpacing30);
    margin-bottom: 1.8rem;
}
.secLineupPerformance .boxPerformancePrice {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.3rem;
    margin: 1.5rem 0 6.3rem;
}
.secLineupPerformance .txtPerformanceBadge {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.2rem 0;
    width: 5.7rem;
    height: 5.7rem;
    border-radius: 50%;
    background: var(--orangeColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize12);
    line-height: calc(16 / 12);
    letter-spacing: 0;
    font-weight: 700;
}
.secLineupPerformance .txtPerformanceRow {
    line-height: 1;
}
.secLineupPerformance .txtPerformanceNum {
    font-size: var(--pcFontSize20);
    letter-spacing: 0;
}
.secLineupPerformance .txtPerformancePrice {
    display: flex;
    align-items: flex-end;
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing100);
}
.secLineupPerformance .txtPerformancePriceNum {
    font-size: var(--pcFontSize70);
    line-height: 0.6;
    letter-spacing: 0;
    margin-right: 0.4rem;
}
.secLineupPerformance .txtPerformancePriceNum .txtSmall {
    font-size: var(--pcFontSize50);
}
.secLineupPerformance .txtPerformanceNote {
    margin: 0 0 6.8rem;
    font-size: var(--pcFontSize18);
    line-height: calc(32 / 18);
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
}
.secLineupPerformance .cmnBtnMore.isLineup {
    min-width: 0;
    max-width: 40rem;
    min-height: 7rem;
    border-color: rgba(255, 255, 255, 0.9);
    color: var(--whiteColor);
    font-size: var(--pcFontSize18);
    position: absolute;
    bottom: 8rem;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.secLineupPerformance .cmnBtnMore.isLineup .cmnIconArrow {
    width: 1.4rem;
    height: 1.4rem;
}
@media only screen and (max-width: 1800px) {
    .secLineupPerformance .listPerformanceLineup {
        max-width: calc(100% - 10rem);
        width: 140rem;
    }
    .secLineupPerformance .boxPerformanceBody {
        padding: 5rem 4rem 20rem;
    }
    .secLineupPerformance .txtPerformanceLabel {
        font-size: var(--pcFontSize20);
    }
    .secLineupPerformance .titPerformanceLogo img {
        width: auto;
        height: 7rem;
    }
    .secLineupPerformance .txtPerformanceNote {
        font-size: var(--pcFontSize16);
    }
    .secLineupPerformance .cmnBtnMore.isLineup {
        max-width: 40rem;
        min-height: 7rem;
        bottom: 5rem;
    }
}
@media only screen and (max-width: 1215px) {
    .secLineupPerformance .listPerformanceLineup {
        gap: 3rem;
        width: 100%;
        max-width: none;
        padding: 0;
    }
    .secLineupPerformance .itemPerformanceLineup {
        width: 100%;
    }
    .secLineupPerformance .imgPerformanceLineup {
        aspect-ratio: 335 / 435;
        min-height: 43.5rem;
    }
    .secLineupPerformance .boxPerformanceBody {
        padding: 7.5rem 2rem 10rem;
    }
    .secLineupPerformance .txtPerformanceLabel {
        margin-bottom: 0.3rem;
        font-size: var(--spFontSize15);
        line-height: calc(25 / 15);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secLineupPerformance .boxPerformanceAward {
        gap: 5rem;
        margin-top: 1rem;
        margin-bottom: 2.8rem;
    }
    .secLineupPerformance .txtPerformanceAward {
        min-width: 8.8rem;
        min-height: 5.2rem;
        font-size: var(--spFontSize18);
        line-height: calc(22 / 18);
    }
    .secLineupPerformance .txtPerformanceAward.isPrice {
        min-width: 11rem;
        font-size: var(--spFontSize14);
        line-height: 1.1;
    }
    .secLineupPerformance .txtAwardSub {
        font-size: var(--spFontSize12);
    }
    .secLineupPerformance .txtAwardNum {
        font-size: var(--spFontSize16);
    }
    .secLineupPerformance .txtAwardNum.isLarge {
        font-size: var(--spFontSize26);
    }
    .secLineupPerformance .txtAwardYen {
        font-size: var(--spFontSize14);
    }
    .secLineupPerformance .txtAwardTax {
        margin-top: 0.1rem;
        font-size: var(--spFontSize12);
    }
    .secLineupPerformance .txtPerformanceAward::before,
    .secLineupPerformance .txtPerformanceAward::after {
        width: 2.4rem;
        height: 6.4rem;
    }
    .secLineupPerformance .txtPerformanceAward::before {
        left: -1.8rem;
    }
    .secLineupPerformance .txtPerformanceAward::after {
        right: -1.8rem;
    }
    .secLineupPerformance .titPerformanceLogo {
        margin: 0.4rem 0 0;
    }
    .secLineupPerformance .titPerformanceLogo img {
        width: auto;
        height: 5.5rem;
    }
    .secLineupPerformance .titPerformanceName {
        margin-bottom: 0.8rem;
        font-size: var(--spFontSize18);
    }
    .secLineupPerformance .boxPerformancePrice {
        gap: 0.8rem;
        margin: 0
    }
    .secLineupPerformance .txtPerformanceBadge {
        width: 5rem;
        height: 5rem;
        font-size: var(--spFontSize10);
        line-height: 1.2;
    }
    .secLineupPerformance .txtPerformanceNum {
        font-size: var(--pcFontSize16);
    }
    .secLineupPerformance .txtPerformancePrice {
        font-size: var(--spFontSize12);
        padding-top: 0.8rem;
    }
    .secLineupPerformance .txtPerformancePriceNum {
        padding-bottom: 0.4rem;
        font-size: var(--spFontSize40);
        line-height: 0.5;
    }
    .secLineupPerformance .txtPerformancePriceNum .txtSmall {
        font-size: var(--pcFontSize30);
    }
    .secLineupPerformance .txtPerformanceNote {
        max-width: 24rem;
        margin-bottom: 1.8rem;
        font-size: var(--spFontSize10);
        line-height: calc(18 / 10);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secLineupPerformance .cmnBtnMore.isLineup {
        min-width: 0;
        width: 100%;
        max-width: 26.5rem;
        min-height: 4.6rem;
        padding: 0.9rem;
        font-size: var(--spFontSize13);
        bottom: 3rem;
    }
    .secLineupPerformance .txtPerformanceDescription {
        margin: 1.4rem 0 0;
        font-size: var(--spFontSize13);
        line-height: calc(26 / 13);
        letter-spacing: var(--spLetterSpacing50);
        text-align: center;
    }
}
@media only screen and (max-width: 360px) {
    .secLineupPerformance .txtPerformancePriceNum {
        font-size: var(--spFontSize46);
    }
}

/*-----------------------------------------------
    secLineupLifestyle
-----------------------------------------------*/
.secLineupLifestyle {
    margin-top: 9rem;
}
.secLineupLifestyle .boxLifestyleSlider {
    overflow: visible;
    padding-bottom: 6rem;
}
.secLineupLifestyle .listLifestyleLineup {
    margin: 0;
    padding: 0;
    list-style: none;
}
.secLineupLifestyle .itemLifestyleLineup {
    height: auto;
}
@media only screen and (min-width: 1216px) {
    .secLineupLifestyle .boxLifestyleSlider {
        margin-top: 0;
    }
}
.secLineupLifestyle .boxLifestyleLineup {
    height: 100%;
}
.secLineupLifestyle .linkLifestyleLineup {
    position: relative;
    display: block;
    min-height: 100%;
    overflow: hidden;
    color: var(--whiteColor);
}
.secLineupLifestyle .linkLifestyleLineup:hover {
    opacity: 1;
}
.secLineupLifestyle .linkLifestyleLineup::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(54, 64, 67, .25) 0%, rgba(54, 64, 67, 1) 100%);
    mix-blend-mode: multiply;
    pointer-events: none;
}
.secLineupLifestyle .imgLifestyleMain {
    aspect-ratio: 430 / 600;
    overflow: hidden;
}
.secLineupLifestyle .imgLifestyleMain img {
    transition: transform 0.5s ease-out;
}
.secLineupLifestyle .linkLifestyleLineup:hover .imgLifestyleMain img {
    transform: scale(1.05);
}
.secLineupLifestyle .boxLifestyleBody {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8.5rem 2rem 0;
    text-align: center;
    box-shadow: 0 0.2rem 1.5rem rgba(0, 0, 0, 0.18);
}
.secLineupLifestyle .txtLifestyleLabel {
    margin-bottom: 1.2rem;
    font-size: var(--pcFontSize20);
    line-height: 1.4;
    letter-spacing: var(--pcLetterSpacing35);
    font-weight: 200;
}
.secLineupLifestyle .titLifestyleLineup {
    font-size: var(--pcFontSize45);
    line-height: 6.3rem;
    letter-spacing: var(--pcLetterSpacing60);
    font-weight: 700;
}
.secLineupLifestyle .titLifestyleLineup .txtSmall {
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing10);
}
.secLineupLifestyle .txtLifestyleLead {
    margin: 0;
    min-height: 5.2rem;
    font-size: var(--pcFontSize13);
    line-height: calc(26 / 13);
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
}
.secLineupLifestyle .btnLifestyleIcon {
    width: 7rem;
    height: 7rem;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    background: url("../img/common/iconArrow04.png") rgba(29, 32, 34, 0.5) center / 1.3rem no-repeat;
    margin: 2rem auto 0;
}
.secLineupLifestyle .imgLifestyleSub {
    position: absolute;
    right: 50%;
    bottom: -6rem;
    width: 40rem;
    height: 20rem;
    transform: translateX(50%);
}
@media only screen and (max-width: 1215px) {
    .secLineupLifestyle {
        margin-top: 4rem;
    }
    .secLineupLifestyle .boxLifestyleSlider {
        position: relative;
        width: 21.5rem;
        margin: 0 auto;
        padding-bottom: 0;
    }
    .secLineupLifestyle .listLifestyleLineup {
        gap: 0;
    }
    .secLineupLifestyle .itemLifestyleLineup {
        width: 21.5rem;
    }
    .secLineupLifestyle .swiper-button-prev,
    .secLineupLifestyle .swiper-button-next {
        width: 4rem;
        height: 4rem;
        top: calc(21.5rem * 600 / 430 / 2);
        margin-top: 0;
        transform: translateY(-50%);
    }
    .secLineupLifestyle .swiper-button-prev::before,
    .secLineupLifestyle .swiper-button-next::before {
        width: 0.8rem;
        height: 0.8rem;
    }
    .secLineupLifestyle .swiper-button-prev {
        left: -5rem;
    }
    .secLineupLifestyle .swiper-button-next {
        right: -5rem;
    }
    .secLineupLifestyle .boxLifestyleBody {
        padding: 3.6rem 0.8rem 0;
    }
    .secLineupLifestyle .txtLifestyleLabel {
        margin-bottom: 1rem;
        font-size: var(--spFontSize15);
    }
    .secLineupLifestyle .titLifestyleLineup {
        margin-bottom: 0.5rem;
        font-size: var(--spFontSize35);
        line-height: 3rem;
    }
    .secLineupLifestyle .titLifestyleLineup .txtSmall {
        font-size: var(--spFontSize26);
        display: inline-block;
        vertical-align: top;
        margin-top: 1rem;
    }
    .secLineupLifestyle .titLifestyleLineup .txtLife {
        font-size: var(--spFontSize26);
    }
    .secLineupLifestyle .btnLifestyleIcon {
        width: 4.5rem;
        height: 4.5rem;
        margin: 1rem auto 0;
        background-size: 0.8rem;
    }
    .secLineupLifestyle .imgLifestyleSub {
        bottom: -3.4rem;
        width: 15rem;
        height: 7.5rem;
    }
}

/* secVoice */
.secVoice {
    padding: 9rem 0 15rem;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 192rem auto;
}
.secVoice.lazyloaded {
    background-image: url(../img/index/bgVoice.jpg);
}
@media only screen and (max-width: 1215px) {
    .secVoice {
        padding: 2.8rem 0 5rem;
        background-size: 100%;
    }
    .secVoice.lazyloaded {
        background-image: url(../img/voice/bgVoice_sp.jpg);
    }
}

/* secVoiceTop */
.secVoiceTop {
    padding: 0 0 4.5rem;
    text-align: center;
}
.secVoiceTop .engTit {
    font-size: var(--pcFontSize60);
    letter-spacing: var(--pcLetterSpacing30);
    margin-bottom: 1.2rem;
    font-weight: 200;
    color: var(--orangeColor);
    text-shadow: 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1);
}
.secVoiceTop .voiceTopNote {
    display: inline-block;
    margin: 0 0 2.5rem;
    padding: 0.8rem 3.5rem 0.6rem;
    border: 1px solid rgba(48, 43, 41, 0.35);
    color: #332e2c;
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing120);
    line-height: 1.6;
    font-weight: bold;
    text-shadow: 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1);
}
.secVoiceTop .voiceTopLead {
    font-size: var(--pcFontSize22);
    letter-spacing: var(--pcLetterSpacing100);
    line-height: 1.82;
    color: #433d36;
    font-weight: bold;
    text-shadow: 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1);
}
.secVoiceTop .voiceTopHeading {
    margin: 0;
    font-size: var(--pcFontSize47);
    font-weight: 700;
    letter-spacing: var(--pcLetterSpacing100);
    line-height: 1.3;
    color: var(--orangeColor);
    text-shadow: 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1);
}
.secVoiceTop .voiceTopHeading .txtBig {
    font-size: var(--pcFontSize70);
}
.secVoiceTop .voiceTopSubHeading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
    color: var(--orangeColor);
    font-size: var(--pcFontSize25);
    letter-spacing: var(--pcLetterSpacing50);
    line-height: 1.5;
    font-weight: 700;
    text-shadow: 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1), 0 0 2rem rgba(255, 255, 255, 1);
}
.secVoiceTop .voiceTopSubHeading::before,
.secVoiceTop .voiceTopSubHeading::after {
    content: "";
    flex-shrink: 0;
    width: 17rem;
    height: 1px;
    background-color: var(--orangeColor);
}
@media only screen and (max-width: 1215px) {
    .secVoiceTop {
        padding: 0 0 2rem;
    }
    .secVoiceTop .engTit {
        font-size: var(--spFontSize30);
        font-weight: normal;
        margin-bottom: 0.6rem;
    }
    .secVoiceTop .voiceTopStars {
        justify-content: flex-start;
        gap: 0.4rem;
        margin: 1.2rem 0 1.5rem;
    }
    .secVoiceTop .voiceTopStars img {
        width: var(--spFontSize16);
        height: var(--spFontSize16);
    }
    .secVoiceTop .voiceTopNote {
        margin: 0 0 1rem;
        padding: 0.5rem 1.5rem;
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing80);
        line-height: 1.55;
    }
    .secVoiceTop .voiceTopLead {
        margin: 0 0 0.2rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing100);
        line-height: 1.69;
    }
    .secVoiceTop .voiceTopHeading {
        font-size: var(--spFontSize23);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secVoiceTop .voiceTopHeading .txtBig {
        font-size: var(--pcFontSize35);
    }
    .secVoiceTop .voiceTopSubHeading {
        gap: 0.8rem;
        font-size: var(--spFontSize18);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secVoiceTop .voiceTopSubHeading::before,
    .secVoiceTop .voiceTopSubHeading::after {
        width: 5rem;
    }
}

/* secVoiceList */
.secVoiceList .boxVoiceListSlider {
    overflow: visible;
}
.secVoiceList .voiceList {
    margin: 0;
    padding: 0;
    list-style: none;
}
.secVoiceList .voiceCard {
    height: auto;
    border-radius: 1rem;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0.2rem 1.5rem rgba(0, 0, 0, 0.08);
}
@media only screen and (min-width: 1216px) {
    .secVoiceList .voiceCard {
        width: auto;
    }
}
.secVoiceList .voiceCardLink {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: var(--colorBrown);
    position: relative;
    padding: 3rem 3rem 30.6rem;
    color: #000;
}
.secVoiceList .voiceCardStars {
    display: flex;
    gap: 0.3rem;
}
.secVoiceList .voiceCardStars img {
    width: 1.7rem;
    height: auto;
}
.secVoiceList .voiceCardTitle {
    margin: 0;
    padding: 1.2rem 0 0;
    font-size: var(--pcFontSize18);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: var(--pcLetterSpacing100);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secVoiceList .voiceCardMeta {
    margin: 0;
    padding: 0.8rem 0 0;
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing100);
    line-height: 1.5;
}
.secVoiceList .voiceCardBtm {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0 3rem;
}
.secVoiceList .voiceCardImg {
    position: relative;
    height: 28rem;
    overflow: hidden;
    margin: 0 -3rem;
}
.secVoiceList .voiceCardImg img {
    width: 100%;
    height: auto;
    display: block;
}
.secVoiceList .voiceCardImg::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    pointer-events: none;
}
.secVoiceList .voiceCardBtnWrap {
    display: flex;
    justify-content: flex-end;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}
.secVoiceList .voiceCardBtn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.6rem;
    padding: 0.8rem 1.6rem;
    background: var(--orangeColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize14);
    font-weight: 700;
    letter-spacing: var(--pcLetterSpacing100);
    border-radius: 1rem 0 0 0;
    line-height: 1;
    min-width: 18rem;
    min-height: 4rem;
}
.secVoiceList .voiceCardMember {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 2rem;
    background: rgba(235, 97, 0, 0.92);
    color: var(--whiteColor);
    text-align: center;
}
.secVoiceList .voiceCardMember::before {
    content: "";
    display: block;
    width: 100%;
    height: 5.9rem;
    margin-bottom: 1.5rem;
    background: url(../img/common/iconMember.png) center top no-repeat;
}
.secVoiceList .voiceMemberEn {
    margin: 0 0 0.3rem;
    font-size: var(--pcFontSize35);
    font-weight: 200;
    letter-spacing: var(--pcLetterSpacing30);
    line-height: 1.4;
}
.secVoiceList .voiceMemberJa {
    margin: 0 0 1.2rem;
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing120);
    line-height: 1.5;
    font-weight: bold;
}
.secVoiceList .voiceMemberTxt {
    margin: 0 0 2.2rem;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing50);
    line-height: 2.14;
}
.secVoiceList .voiceMemberBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-width: 18rem;
    min-height: 5rem;
    padding: 1.2rem 3.3rem;
    border: 0.1rem solid rgba(255, 255, 255, 0.8);
    font-size: var(--pcFontSize15);
    font-weight: 700;
    letter-spacing: var(--pcLetterSpacing100);
    line-height: 1;
}
.secVoiceList .secArrowWide {
    position: relative;
    margin: 2rem 2rem 0;
    height: 1px;
    padding: 0;
}
.secVoiceList .secArrowWide::before {
    content: "";
    position: absolute;
    left: 0;
    right: 1.5rem;
    top: 0;
    height: 1px;
    background-color: rgba(0, 0, 0, 0.5);
}
.secVoiceList .secArrowWide::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 0.8rem;
    height: 0.9rem;
    background: url(../img/common/iconArrow02.png) center / 0.8rem no-repeat;
    transform: translateY(-50%);
}
@media only screen and (max-width: 1215px) {
    .secVoiceList .boxVoiceListSlider {
        position: relative;
        width: 21.5rem;
        margin: 0 auto;
    }
    .secVoiceList .voiceCard {
        width: 21.5rem;
    }
    .secVoiceList .secArrowWide {
        margin: 1.5rem 1.2rem 0;
    }
    .secVoiceList .voiceCardLink {
        padding: 1.7rem 1rem 10.4rem;
    }
    .secVoiceList .voiceCardStars {
        gap: 0.2rem;
    }
    .secVoiceList .voiceCardStars img {
        width: 1.4rem;
        height: auto;
    }
    .secVoiceList .voiceCardTitle {
        padding: 1.2rem 0 0;
        font-size: var(--spFontSize14);
        line-height: 1.71;
        letter-spacing: var(--spLetterSpacing50);
        white-space: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
    .secVoiceList .voiceCardMeta {
        padding: 0.4rem 0 2.5rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secVoiceList .voiceCardBtm {
        padding: 0 1rem;
    }
    .secVoiceList .voiceCardImg {
        height: 11.4rem;
        margin: 0 -1rem;
    }
    .secVoiceList .swiper-button-prev,
    .secVoiceList .swiper-button-next {
        width: 4rem;
        height: 4rem;
        top: 50%;
        margin-top: 0;
        transform: translateY(-50%);
    }
    .secVoiceList .swiper-button-prev::before,
    .secVoiceList .swiper-button-next::before {
        width: 0.8rem;
        height: 0.8rem;
    }
    .secVoiceList .swiper-button-prev {
        left: -5rem;
    }
    .secVoiceList .swiper-button-next {
        right: -5rem;
    }
    .secVoiceList .voiceCardBtn {
        padding: 0.5rem 1rem;
        font-size: var(--spFontSize11);
        letter-spacing: var(--pcLetterSpacing50);
        gap: 0.4rem;
        min-width: 9rem;
        min-height: 3rem;
    }
    .secVoiceList .voiceCardMember {
        padding: 1.5rem 1rem;
    }
    .secVoiceList .voiceCardMember::before {
        margin-bottom: 0.8rem;
        background-size: 2.6rem;
        height: 2.8rem;
    }
    .secVoiceList .voiceMemberEn {
        font-size: var(--spFontSize22);
        margin-bottom: 0.4rem;
        line-height: 1.18;
    }
    .secVoiceList .voiceMemberJa {
        font-size: var(--spFontSize15);
        margin-bottom: 1.2rem;
    }
    .secVoiceList .voiceMemberBtn {
        width: 100%;
        min-width: 0;
        min-height: 3.6rem;
        padding: 0.8rem 0;
        font-size: var(--spFontSize10);
    }
}

/* secPlan */
.secPlan {
    padding: 0 0 10rem;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 192rem auto;
}
.secPlan.lazyloaded {
    background-image: url(../img/index/bgPlan.jpg);
}
.secPlan .boxPlanHead {
    padding: 10rem 0 11rem;
}
.secPlan .boxPlanBtns {
    display: flex;
    gap: 4rem;
    justify-content: center;
    margin-top: 7rem;
}
.secPlan .boxPlanBtns .cmnBtnMore {
    min-width: 0;
    width: 100%;
    border: 1px solid rgba(48, 43, 41, 0.3);
}
@media only screen and (max-width: 1215px) {
    .secPlan {
        padding-bottom: 5rem;
        background-size: 100%;
    }
    .secPlan.lazyloaded {
        background-image: url(../img/index/bgPlan_sp.jpg);
    }
    .secPlan .boxPlanHead {
        padding: 5rem 0 4.5rem;
    }
    .secPlan .boxPlanBtns {
        flex-direction: column;
        gap: 1rem;
        margin-top: 2rem;
        max-width: 26.5rem;
    }
}

/* secPlanList */
.secPlanList .boxPlanListSlider {
    overflow: visible;
    position: relative;
}
.secPlanList .planList {
    margin: 0;
    padding: 0;
    list-style: none;
}
.secPlanList .swiper-button-prev,
.secPlanList .swiper-button-next {
    top: 50%;
    margin-top: -4rem;
    width: 8rem;
    height: 8rem;
    box-shadow: 0 0.2rem 1.5rem rgba(0, 0, 0, 0.12);
}
.secPlanList .swiper-button-prev::before,
.secPlanList .swiper-button-next::before {
    display: none;
}
.secPlanList .swiper-button-prev::after,
.secPlanList .swiper-button-next::after {
    display: block;
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    border-top: 1px solid var(--colorBrown);
    border-right: 1px solid var(--colorBrown);
}
.secPlanList .swiper-button-prev::after {
    transform: rotate(-135deg);
    margin-left: 0.3rem;
}
.secPlanList .swiper-button-next::after {
    transform: rotate(45deg);
    margin-right: 0.3rem;
}
.secPlanList .swiper-button-prev {
    left: -4rem;
}
.secPlanList .swiper-button-next {
    right: -4rem;
}
.secPlanList .planCard {
    margin: 0;
    height: 100%;
}
.secPlanList .planCardLink {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    text-decoration: none;
    color: inherit;
    background: var(--whiteColor);
    box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.2s ease;
    box-shadow: 0px 0px 9.5px 0.5px rgba(0, 0, 0, 0.15);
    position: relative;
}
.secPlanList .planCardLink:hover {
    box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.14);
}
.secPlanList .planCardHead {
    display: flex;
    align-items: stretch;
    min-height: 0;
    overflow: hidden;
}
.secPlanList .planCardTsubo {
    flex: 0 0 20rem;
    margin: 0;
    padding: 0 1.2rem;
    display: block;
    background: var(--ColorTagBg);
    letter-spacing: var(--pcLetterSpacing80);
    line-height: 10rem;
    color: var(--textColor);
    text-align: center;
    font-size: var(--pcFontSize40);
    width: 20rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    height: 10rem;
    box-sizing: border-box;
}
.secPlanList .planCardTsuboTxt{
    font-size: var(--pcFontSize30);
}
.secPlanList .planCardTit {
    height: 10rem;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    background: var(--colorBrown);
    font-size: var(--pcFontSize20);
    line-height: calc(28 / 20);
    color: var(--whiteColor);
    overflow: hidden;
    flex: 1;
}
.secPlanList .planCardTitTxt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
    overflow-wrap: anywhere;
}
.secPlanList .planCardBody {
    flex: 1 1 auto;
    min-width: 0;
    background: var(--whiteColor);
    position: relative;
    padding: 5rem;
}
.secPlanList .planCardBtn {
    flex-shrink: 0;
    width: 30rem;
    height: auto;
    padding: 1rem 0;
    align-self: flex-end;
    margin: 0;
    padding: 1.4rem 1.6rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: var(--colorBrown);
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing100);
    line-height: 1.4;
    color: var(--whiteColor);
    justify-content: center;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
}
.secPlanList .planCardBtnTxt {
    display: inline-block;
}
.secPlanList .planCardBtnArrow{
    display: inline-block;
    position: relative;
    top: -0.2rem;
    left: 0.6rem;
}
.secPlanList .planImg{
    aspect-ratio: 1200 / 580;
}

/* 会員限定カード */
.secPlanList .planCard--member {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    background: var(--whiteColor);
    box-shadow: 0px 0px 9.5px 0.5px rgba(0, 0, 0, 0.15);
    position: relative;
}
.secPlanList .planCardMemberOverlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5.8rem 2rem 5.8rem;
    background: rgba(48, 43, 41, 0.78);
    box-sizing: border-box;
    z-index: 3;
}
.secPlanList .planCardMemberInner {
    width: 100%;
    max-width: 100%;
    text-align: center;
    color: var(--whiteColor);
    display: inline-block;
}
.secPlanList .planCardMemberEng {
    margin: 0 0 0.5rem;
    font-size: var(--pcFontSize45);
    letter-spacing: 0;
    line-height: 1.2;
    word-break: break-word;
    overflow-wrap: anywhere;
}
.secPlanList .planCardMemberJp {
    margin: 0 0 1.5rem;
    font-size: var(--pcFontSize20);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing80);
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.secPlanList .planCardMemberTxt {
    margin: 0 0 2.9rem;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing80);
    line-height: calc(26 / 14);
    word-break: break-word;
    overflow-wrap: anywhere;
}
.secPlanList .btnPlanMember {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 100%;
    padding: 2.5rem 2.4rem;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
    border: 0.1rem solid var(--orangeColor);
    background: var(--orangeColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize16);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing50);
    line-height: 1.4;
    text-decoration: none;
    transition: opacity 0.2s ease, color 0.4s ease;
    flex-wrap: wrap;
    max-width: 30rem;
}
.secPlanList .btnPlanMember::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--whiteColor);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s ease;
    z-index: -1;
}
.secPlanList .btnPlanMember:hover {
    opacity: 1;
    color: var(--orangeColor);
}
.secPlanList .btnPlanMember:hover::before {
    transform: scaleX(1);
}
.secPlanList .btnPlanMemberTxt {
    position: relative;
    z-index: 1;
    display: inline-block;
    word-break: break-word;
    overflow-wrap: anywhere;
}
.secPlanList .btnPlanMemberIcon{
    position: relative;
    z-index: 1;
    top: -0.3rem;
    left: 0rem;
}
.secPlanList .btnPlanMember:hover .cmnIconArrow.isWhite {
    background: url(../img/common/iconArrow.png) var(--orangeColor) center / 0.7rem no-repeat;
}
.secPlanList .planCard--member .planCardBtn {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
    text-decoration: none;
}
.secPlanList .planCard--member .planCardBtn:hover {
    opacity: 0.85;
}
@media only screen and (max-width: 1215px) {
    .secPlanList .swiper-button-prev,
    .secPlanList .swiper-button-next {
        margin-top: 0;
        width: 4rem;
        height: 4rem;
        transform: translateY(-50%);
    }
    .secPlanList .swiper-button-prev::after,
    .secPlanList .swiper-button-next::after {
        width: 0.8rem;
        height: 0.8rem;
    }
    .secPlanList .swiper-button-prev {
        left: -1rem;
    }
    .secPlanList .swiper-button-next {
        right: -1rem;
    }
    .secPlanList .planCardHead {
        display: block;
    }
    .secPlanList .planCardTsubo {
        width: auto;
        height: 3.5rem;
        line-height: 1.5;
        padding: 0.8rem 0.8rem;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing80);
    }
    .secPlanList .planCardTsuboTxt {
        font-size: var(--pcFontSize14);
    }
    .secPlanList .planCardTit {
        height: 6rem;
        max-height: none;
        padding: 0 2rem;
        font-size: var(--spFontSize14);
        letter-spacing: 0;
        line-height: calc(24 / 14);
        width: 100%;
        text-align: center;
    }
    .secPlanList .planCardBody {
        padding: 2rem 2rem 7rem;
    }
    .secPlanList .planCardBtn {
        margin: 0 auto;
        padding: 1rem 1.2rem;
        font-size: var(--spFontSize12);
        width: 100%;
        max-width: 26.5rem;
        margin-bottom: 3rem;
        left: 0;
        right: 0;
    }
    .secPlanList .planCardBtnArrow {
        width: 1.5rem;
        height: auto;
        top: 0;
        left: 0;
    }
    .secPlanList .planCardBtnArrow::after {
        width: 0.35rem;
        height: 0.35rem;
        border-top-width: 0.1rem;
        border-right-width: 0.1rem;
    }
    .secPlanList .planCardMemberOverlay {
        padding: 2rem 1.5rem 2rem;
    }
    .secPlanList .planCardMemberEng {
        margin-bottom: 0.3rem;
        font-size: var(--spFontSize30);
        letter-spacing: 0;
    }
    .secPlanList .planCardMemberJp {
        margin-bottom: 0.8rem;
        font-size: var(--spFontSize15);
    }
    .secPlanList .planCardMemberTxt {
        margin-bottom: 1.6rem;
        font-size: var(--spFontSize12);
        line-height: calc(20 / 12);
        letter-spacing: 0;
    }
    .secPlanList .btnPlanMember {
        gap: 0.8rem;
        padding: 1.5rem 1.6rem;
        font-size: var(--spFontSize12);
        width: 100%;
        max-width: 26.5rem;
    }
    .secPlanList .btnPlanMemberIcon {
        width: 1.5rem;
        height: auto;
        top: 0;
    }
    .secPlanList .planCard--member .planCardBtn {
        min-width: 14rem;
        padding: 0.7rem 1.2rem;
        font-size: var(--spFontSize12);
        display: block;
        margin: 0 auto;
        padding: 1rem 1.2rem;
        font-size: var(--spFontSize12);
        width: 100%;
        max-width: 26.5rem;
        /* padding-bottom: 1rem; */
        margin-bottom: 3rem;
        left: 0;
        text-align: center;
    }
}

/* secMember */
.secMember {
    padding: 14rem 0 11rem;
    background-color: #54686b;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--whiteColor);
}
.secMember.lazyloaded {
    background-image: url(../img/index/bgMember.jpg);
}
.secMember .boxMemberInner {
    position: relative;
}
.secMember .boxMemberMain {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 4rem;
    margin-bottom: 5rem;
}
.secMember .boxMemberText {
    flex: 1;
}
.secMember .boxMemberInfo {
    position: relative;
    width: 58rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 3rem;
    text-align: center;
}
.secMember .boxMemberInfo::before,
.secMember .boxMemberInfo::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: rgba(255, 255, 255, 0.5);
}
.secMember .boxMemberInfo::before {
    left: 0;
}
.secMember .boxMemberInfo::after {
    right: 0;
}
.secMember .txtMemberInfoLead {
    margin: 0;
    font-size: var(--pcFontSize18);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing80);
    font-weight: 700;
}
.secMember .txtMemberInfo {
    margin: 0.8rem 0 0;
    font-size: var(--pcFontSize30);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing80);
    font-weight: 700;
}
.secMember .imgMember {
    width: 7.9rem;
    margin: 0 0 1.5rem;
}
.secMember .imgMember img {
    width: 100%;
    height: auto;
}
.secMember .txtMemberSmall {
    margin: 0 0 1.2rem;
    font-size: var(--pcFontSize36);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing100);
}
.secMember .titMember {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.secMember .titMemberEn {
    display: block;
    font-size: var(--pcFontSize53);
    line-height: 1.2;
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 400;
}
.secMember .titMemberJa {
    display: block;
    font-size: var(--pcFontSize76);
    line-height: 1.25;
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 300;
}
.secMember .cmnBtnMore {
    max-width: 53rem;
    min-width: 0;
    min-height: 8rem;
    font-size: var(--pcFontSize15);
    display: flex;
    margin: 0 auto;
}
@media only screen and (max-width: 1215px) {
    .secMember {
        padding: 2.5rem 2.5rem 3rem;
    }
    .secMember.lazyloaded {
        background-image: url(../img/index/bgMember_sp.jpg);
    }
    .secMember .boxMemberMain {
        flex-direction: column;
        align-items: center;
        gap: 1.5rem;
        margin-bottom: 1.8rem;
    }
    .secMember .boxMemberText {
        width: 100%;
        text-align: center;
    }
    .secMember .txtMemberSmall {
        margin-bottom: 0.8rem;
        font-size: var(--spFontSize14);
    }
    .secMember .titMember {
        gap: 0.2rem;
    }
    .secMember .titMemberEn {
        font-size: var(--spFontSize23);
        letter-spacing: var(--spLetterSpacing100);
    }
    .secMember .titMemberJa {
        font-size: var(--spFontSize32);
        letter-spacing: var(--spLetterSpacing100);
    }
    .secMember .boxMemberInfo {
        flex: 0 0 auto;
        width: 100%;
        max-width: 29.5rem;
        padding: 0 2rem;
    }
    .secMember .imgMember {
        width: 3.4rem;
        margin-bottom: 1.2rem;
    }
    .secMember .txtMemberInfoLead {
        font-size: var(--spFontSize11);
        line-height: calc(18 / 11);
        letter-spacing: var(--spLetterSpacing80);
    }
    .secMember .txtMemberInfo {
        margin-top: 0.6rem;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secMember .cmnBtnMore {
        font-size: var(--spFontSize12);
        min-height: 3.6rem;
    }
}

/* secStaff */
.secStaff {
    padding: 15rem 0 10rem;
}
.secStaff .boxStaffSlider {
    overflow: visible;
    position: relative;
}
.secStaff .blogList {
    margin: 2rem 0 0;
    padding: 0;
    list-style: none;
}
.secStaff .swiper-button-prev,
.secStaff .swiper-button-next {
    top: 50%;
    margin-top: -4rem;
    width: 8rem;
    height: 8rem;
    box-shadow: 0 0.2rem 1.5rem rgba(0, 0, 0, 0.12);
}
.secStaff .swiper-button-prev::before,
.secStaff .swiper-button-next::before {
    display: none;
}
.secStaff .swiper-button-prev::after,
.secStaff .swiper-button-next::after {
    display: block;
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    border-top: 1px solid var(--colorBrown);
    border-right: 1px solid var(--colorBrown);
}
.secStaff .swiper-button-prev::after {
    transform: rotate(-135deg);
    margin-left: 0.3rem;
}
.secStaff .swiper-button-next::after {
    transform: rotate(45deg);
    margin-right: 0.3rem;
}
.secStaff .swiper-button-prev {
    left: -2.8rem;
}
.secStaff .swiper-button-next {
    right: -2.8rem;
}
.secStaff .blogList .boxBlogLink {
    width: 32rem;
    height: 100%;
    min-height: 100%;
    text-decoration: none;
    position: relative;
    display: block;
    background: var(--whiteColor);
    box-shadow: 0px 0px 0.5rem 0.06rem rgba(0, 0, 0, 0.1);
    padding: 2rem 2rem 2.8rem;
}
.secStaff .blogList .boxBlog {
    flex-shrink: 0;
    width: 100%;
    box-shadow: none;
    position: relative;
    margin-bottom: 1rem;
}
.secStaff .blogList .boxBlog .imgBlog {
    position: relative;
    aspect-ratio: 280 / 280;
    overflow: hidden;
}
.secStaff .blogList .blogBody {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.secStaff .blogList .txtDate,
.secStaff .blogList .titItem {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secStaff .blogList .txtDate {
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing50);
    margin: 0;
    font-weight: bold;
    color: var(--textColor);
    white-space: nowrap;
}
.secStaff .blogList .titItem {
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing100);
    margin: 0 0 0.8rem;
    line-height: calc(24 / 13);
    color: var(--textColor);
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.secStaff .blogList .boxBlogLink .cmnIconArrow {
    position: absolute;
    right: 2rem;
    bottom: 3rem;
}
@media only screen and (max-width: 1215px) {
    .secStaff {
        padding: 5.4rem 0 4.8rem;
    }
    .secStaff .boxTopSectionHead {
        margin-bottom: 2.5rem;
    }
    .secStaff .titTopSection {
        gap: 1rem;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secStaff .titTopSection::after {
        width: 4.8rem;
    }
    .secStaff .txtTopSectionSub {
        margin-top: 0.4rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secStaff .blogList {
        margin-top: 0;
    }
    .secStaff .swiper-button-prev,
    .secStaff .swiper-button-next {
        margin-top: 0;
        width: 4rem;
        height: 4rem;
        transform: translateY(-50%);
    }
    .secStaff .swiper-button-prev::after,
    .secStaff .swiper-button-next::after {
        width: 0.8rem;
        height: 0.8rem;
    }
    .secStaff .swiper-button-prev {
        left: -5rem;
    }
    .secStaff .swiper-button-next {
        right: -5rem;
    }
    .secStaff .boxStaffSlider {
        width: 21.5rem;
    }
    .secStaff .blogList .boxBlogLink {
        width: 21.5rem;
        padding: 2rem;
    }
    .secStaff .blogList .boxBlogLink .cmnIconArrow {
        bottom: 2rem;
    }
}
.staffModalArea {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4rem 20rem;
    box-sizing: border-box;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
    /* max-width: 157rem; */
}
.staffModalArea.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}
.staffModalPanel {
    display: none;
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 70rem;
    max-height: calc(100vh - 8rem);
}
.staffModalPanel.is-active {
    display: block;
}
.staffModalOverlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.702);
    cursor: pointer;
}
.staffModalDialog {
    width: 100%;
    max-height: calc(100vh - 8rem);
    transform: translateY(2rem);
    transition: transform 0.3s ease;
}
.staffModalArea.is-open .staffModalPanel.is-active .staffModalDialog {
    transform: translateY(0);
}
.staffModalInner {
    /* display: grid; */
    /* align-items: stretch; */
    /* background: var(--whiteColor); */
    /* box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.25); */
    max-height: calc(100vh - 8rem);
    /* min-height: 52rem; */
    overflow: hidden;
    /* grid-template-columns: repeat(2, minmax(0, 1fr)); */
}
.staffModalImg img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center top;
}
.staffModalContent {
    flex: 1;
    min-width: 0;
    position: relative;
    padding: 8.8rem 8rem 4rem;
    overflow-y: auto;
    max-height: calc(100vh - 10rem);
    height: 60rem;
    box-sizing: border-box;
    position: absolute;
    background: var(--whiteColor);
    right: calc(0% - 86rem);
    top: calc(50% - 30rem);
    width: 90rem;
    max-width: 90rem;
}
.btnStaffModalClose {
    position: absolute;
    top: 5.4rem;
    right: calc(0% - 86rem);
    width: 6.5rem;
    height: 6.5rem;
    padding: 0;
    border: none;
    background: #3d3530;
    cursor: pointer;
    transition: opacity 0.2s ease;
    z-index: 1;
}
.btnStaffModalClose:hover {
    opacity: 0.8;
}
.btnStaffModalCloseIcon {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}
.btnStaffModalCloseIcon::before,
.btnStaffModalCloseIcon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 3.5rem;
    height: 0.1rem;
    background: var(--whiteColor);
}
.btnStaffModalCloseIcon::before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.btnStaffModalCloseIcon::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.staffModalHead {
    padding-bottom: 2.5rem;
    margin-bottom: 3.7rem;
    border-bottom: 0.1rem solid var(--borderColor);
}
.staffModalName {
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing100);
    /* font-weight: bold; */
    line-height: 1.4;
    margin: 0 0 0.5rem;
    color: var(--textColor);
}
.staffModalPosition {
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing100);
    margin: 0;
    color: var(--colorGray);
    line-height: 2;
}
.staffModalDl {
    margin: 0;
}
.staffModalRow {
    display: flex;
    align-items: flex-start;
    gap: 4rem;
    margin: 0 0 1.8rem;
    padding-left: 2rem;
}
.staffModalRow:last-child {
    margin-bottom: 0;
}
.staffModalRow dt {
    flex: 0 0 8rem;
    margin: 0;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing50);
    font-weight: bold;
    color: var(--textColor);
    line-height: calc(26 / 14);
    position: relative;
    /* padding-left: 2rem; */
}
.staffModalRow dt::after{
    position: absolute;
    content: "";
    left: calc(0% - 2rem);
    width: 1rem;
    height:1px;
    background: var(--colorBgGray01);
    top: calc(50% - 0rem);
}
.staffModalRow dd {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing50);
    line-height: calc(26 / 14);
    color: var(--textColor);
}
.staffModalRow--message dd {
    line-height: calc(28 / 14);
}


.staffModalPanel .boxBlog {
    flex-shrink: 0;
    width: 100%;
    box-shadow: none;
    position: relative;
    margin-bottom: 1rem;
}
.staffModalImg {
    position: relative;
    aspect-ratio: 700 / 700;
    height: 100%;
}
@media only screen and (max-width: 1790px) and (min-width: 1216px) {
    .staffModalArea {
        padding: 4rem;
        justify-content: center;
    }

    .staffModalPanel {
        max-width: calc(100vw - 8rem);
    }

    .staffModalDialog {
        max-height: calc(100vh - 8rem);
    }

    .staffModalInner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        background: var(--whiteColor);
    }

    .staffModalPanel .boxBlog {
        margin-bottom: 0;
    }

    .staffModalContent {
        position: relative;
        right: auto;
        top: auto;
        width: auto;
        max-width: none;
        height: auto;
        max-height: calc(100vh - 8rem);
        padding: 6rem 4rem 3.5rem;
    }
}

@media only screen and (max-width: 1215px) {
    .staffModalArea {
        padding: 2rem 2rem;
        align-items: center;
        /* top: 5rem; */
        padding-top: 6rem;
        padding-bottom: 4rem;
    }

    .staffModalPanel {
        max-height: calc(100vh - 4rem);
        margin: 0 auto;
    }

    .staffModalDialog {
        margin: 0 auto;
    }

    .staffModalInner {
        min-height: 0;
        overflow: visible;
        padding-top: 17.5rem;
        position: relative;
    }
    .staffModalPanel .boxBlog {
        flex-shrink: 0;
        width: 100%;
        box-shadow: none;
        position: absolute;
        margin-bottom: 0;
        top: 0;
        z-index: 10;
    }
    .staffModalImg {
        flex: 0 0 auto;
        max-width: 100%;
        width: 20rem;
        margin: 0 auto;
        aspect-ratio: 200 / 200;
    }

    .staffModalContent {
        padding: 4.2rem 2rem 3.5rem;
        flex: 1;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        width: 100%;
        height: auto;
        max-height: calc(100dvh - (17.5rem + 6rem + 4rem));
        left: 0;
        position: relative;
        /* z-index: -1; */
    }

    .btnStaffModalClose {
        top: 0;
        right: 0;
        width: 4rem;
        height: 4rem;
        background: rgb(48, 43, 41);
        opacity: 0.8;
        border: 0.1rem solid var(--whiteColor);
        border-radius: 2rem;
        /* z-index: 1001; */
        position: absolute;
        z-index: 15;
    }

    .staffModalHead {
        padding-bottom: 1.5rem;
        margin-bottom: 1.5rem;
        padding-right: 0;
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .staffModalHead .staffModalName,
    .staffModalHead .staffModalPosition {
        display: inline-block;
        text-align: left;
    }

    .staffModalName {
        font-size: var(--spFontSize20);
        letter-spacing: var(--spLetterSpacing50);
    }

    .staffModalPosition {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
    }

    .staffModalRow {
        flex-direction: row;
        gap: 3.3rem;
        margin-bottom: 1.2rem;
    }

    .staffModalRow dt {
        flex: 0 0 6.8rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
    }

    .staffModalRow dd {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
        line-height: calc(22 / 12);
    }
    .btnStaffModalCloseIcon::before, .btnStaffModalCloseIcon::after {
        width: 2.1rem;
    }
}

/* secBlog */
.secBlog {
    padding: 0 0 13rem;
}
@media only screen and (max-width: 1215px) {
    .secBlog {
        padding-bottom: 5rem;
    }
    .secBlog .boxTopSectionHead {
        margin-bottom: 2.5rem;
    }
    .secBlog .titTopSection {
        gap: 1rem;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secBlog .titTopSection::after {
        width: 4.8rem;
    }
    .secBlog .txtTopSectionSub {
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
    }
}
.secBlog .blogList {
    margin: 3rem 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5rem 4rem;
}
.secBlog .blogList .boxBlogLink {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
    min-height: 100%;
    text-decoration: none;
    position: relative;
    background: var(--whiteColor);
}
.secBlog .blogList .itemBlog {
    border: none;
    margin: 0;
}
.secBlog .blogList .itemBlog:first-child {
    border-top: none;
}
.secBlog .blogList .boxBlog {
    flex-shrink: 0;
    width: 100%;
    box-shadow: none;
    position: relative;
    margin-bottom: 2rem;
}
.secBlog .blogList .boxBlog .imgBlog {
    position: relative;
    aspect-ratio: 320 / 240;
    box-shadow: 0px 0px 0.5rem 0.06rem rgba(0, 0, 0, 0.3);
    overflow: hidden;
}
.secBlog .blogList .blogBody {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.secBlog .blogList .txtDate,
.secBlog .blogList .titItem {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}
.secBlog .blogList .txtDate {
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing50);
    margin: 0;
    font-weight: normal;
    color: var(--textColor);
    white-space: nowrap;
}
.secBlog .blogList .titItem {
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing100);
    margin: 0 0 0.8rem;
    line-height: calc(34 / 15);
    font-weight: bold;
    color: var(--textColor);
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.secBlog .blogList .boxBlogLink .arrowIcon {
    position: absolute;
    right: 0;
    bottom: 0;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: #f58220;
    border: none;
}
.secBlog .blogList .boxBlogLink .arrowIcon::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.7rem;
    height: 0.1rem;
    margin-left: -0.45rem;
    transform: translateY(-50%);
    background: var(--whiteColor);
}
.secBlog .blogList .boxBlogLink .arrowIcon::after {
    content: "";
    position: absolute;
    left: calc(50% + -0.2rem);
    top: 50%;
    width: 0.4rem;
    height: 0.4rem;
    border-top: 0.1rem solid var(--whiteColor);
    border-right: 0.1rem solid var(--whiteColor);
    transform: translateY(-50%) rotate(45deg);
    box-sizing: border-box;
}
.secBlog .blogList .newIcon {
    position: absolute;
    top: 0;
    left: 0;
    background: var(--orangeColor);
    color: var(--whiteColor);
    font-size: var(--pcFontSize12);
    z-index: 2;
    padding: 0.5rem 1rem;
}
@media only screen and (max-width: 1215px) {
    .secBlog .blogList {
        margin-top: 2rem;
        grid-template-columns: 1fr;
        gap: 0;
        border-bottom: 0.1rem solid var(--borderColor);
    }
    .secBlog .blogList .boxBlogLink {
        padding: 2rem 3rem 2rem 0;
        flex-direction: row;
        gap: 1.5rem;
        border-top: 0.1rem solid var(--borderColor);
        align-items: center;
    }
    .secBlog .blogList .boxBlogLink .arrowIcon {
        width: 1.5rem;
        height: 1.5rem;
        top: calc(50% - 0.8rem);
    }
    .secBlog .blogList .newIcon {
        font-size: var(--spFontSize10);
        z-index: 2;
        padding: 0.4rem 0.8rem;
    }
    .secBlog .blogList .txtDate {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secBlog .blogList .titItem {
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
        margin-bottom: 0.1rem;
        line-height: calc(26 / 13);
    }
    .secBlog .blogList .boxBlog {
        width: 11.2rem;
        margin-bottom: 0;
    }
    .secBlog .blogList .boxBlogLink .arrowIcon::before {
        width: 0.6rem;
        height: 0.1rem;
        margin-left: -0.4rem;
    }
    .secBlog .blogList .boxBlogLink .arrowIcon::after {
        left: calc(50% + -0.12rem);
    }
}

/* secConcept */
.secConcept .boxConceptList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
}
.secConcept .boxConceptCard .linkConceptCard {
    position: relative;
    display: block;
    aspect-ratio: 640 / 960;
    overflow: hidden;
    color: var(--whiteColor);
}
.secConcept .boxConceptCard picture {
    display: block;
    height: 100%;
}
.secConcept .boxConceptCard img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.secConcept .boxConceptCard .linkConceptCard:hover img {
    transform: scale(1.08);
}
.secConcept .boxConceptText {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 40rem;
    height: 40rem;
    padding: 4rem 3rem 3.6rem;
    border-radius: 50%;
    background-color: rgba(34, 32, 31, 0.9);
    text-align: center;
    transform: translate(-50%, -50%);
}
.secConcept .titConceptCard {
    margin: 0 0 1.2rem;
    font-size: var(--pcFontSize35);
    line-height: calc(55 / 35);
    letter-spacing: var(--pcLetterSpacing200);
    font-weight: 700;
}
.secConcept .txtConceptEng {
    margin: 0 0 2rem;
    font-size: var(--pcFontSize22);
    line-height: 1;
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 300;
}
.secConcept .txtConceptCard {
    margin: 0;
    font-size: var(--pcFontSize18);
    line-height: calc(36 / 18);
    letter-spacing: var(--pcLetterSpacing100);
    font-weight: 700;
}
.secConcept .iconConceptArrow {
    display: block;
    width: 3rem;
    height: 1.4rem;
    margin-top: 3rem;
    background: url(../img/common/iconArrow05.png) center no-repeat;
}
@media only screen and (max-width: 1215px) {
    .secConcept .boxTopSectionHead {
        margin-bottom: 2.5rem;
    }
    .secConcept .titTopSection {
        gap: 1rem;
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secConcept .titTopSection::after {
        width: 4.8rem;
    }
    .secConcept .txtTopSectionSub {
        margin-top: 0.4rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secConcept .boxConceptList {
        grid-template-columns: repeat(1, 1fr);
    }
    .secConcept .boxConceptCard .linkConceptCard {
        aspect-ratio: 1 / 1;
    }
    .secConcept .boxConceptText {
        width: 24rem;
        height: 24rem;
        padding: 2.4rem 1.8rem 2rem;
    }
    .secConcept .titConceptCard {
        margin-bottom: 0.4rem;
        font-size: var(--spFontSize26);
        letter-spacing: var(--spLetterSpacing100);
        line-height: calc(33 / 22);
    }
    .secConcept .txtConceptEng {
        margin-bottom: 1.6rem;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing100);
    }
    .secConcept .txtConceptCard {
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing100);
        line-height: calc(20 / 13);
    }
    .secConcept .iconConceptArrow {
        width: 1.8rem;
        height: 0.8rem;
        margin-top: 1.2rem;
        background-size: 100%;
    }
}

/* secSns */
.secSns {
    padding: 10rem 0 12rem;
}
.secSns .boxSnsInner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
    max-width: 132rem;
}
.secSns .bnrSns {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 26rem;
    padding: 4rem;
    color: var(--whiteColor);
    text-align: center;
}
.secSns .bnrSns::after {
    content: "";
    position: absolute;
    top: 1.8rem;
    right: 1.8rem;
    width: 1.4rem;
    height: 1.2rem;
    background: url(../img/common/iconBlank.png) center / contain no-repeat;
}
.secSns .bnrSnsYoutube {
    background-color: #cd0001;
}
.secSns .bnrSnsInstagram {
    background: linear-gradient(110deg, #ff8b20 0%, #f11c88 55%, #8a37c8 100%);
}
.secSns .txtSnsLogo {
    display: block;
    height: 3.8rem;
    margin-bottom: 2.6rem;
}
.secSns .txtSnsName {
    display: block;
    margin-bottom: 1rem;
    font-size: var(--pcFontSize35);
    line-height: 1;
    letter-spacing: var(--pcLetterSpacing60);
    font-weight: 700;
}
.secSns .txtSnsLead {
    display: block;
    margin-bottom: 1.5rem;
    font-size: var(--pcFontSize14);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing150);
    font-weight: 700;
}
.secSns .btnSns {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24rem;
    min-height: 5rem;
    padding: 1rem 2.6rem;
    border: 1px solid #fff;
    border-radius: 100rem;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing150);
    font-weight: 700;
}
@media only screen and (max-width: 1215px) {
    .secSns {
        padding: 3rem 0 5rem;
    }
    .secSns .boxSnsInner {
        display: block;
    }
    .secSns .bnrSns {
        min-height: 13.2rem;
        padding: 2.4rem;
    }
    .secSns .bnrSns::after {
        top: 1rem;
        right: 1rem;
        width: 0.7rem;
        height: 0.6rem;
    }
    .secSns .bnrSns + .bnrSns {
        margin-top: 2rem;
    }
    .secSns .bnrSns img {
        width: auto;
        height: 2.8rem;
    }
    .secSns .txtSnsLogo {
        height: 2.8rem;
        margin-bottom: 0.9rem;
    }
    .secSns .txtSnsName {
        font-size: var(--spFontSize20);
        letter-spacing: var(--spLetterSpacing60);
    }
    .secSns .txtSnsLead {
        margin-bottom: 1.2rem;
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing50);
    }
}

/* secBusiness */
.secBusiness {
    background-color: var(--whiteColor);
}
.secBusiness .boxBusinessInner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
}
.secBusiness .bnrBusiness {
    position: relative;
    display: block;
    aspect-ratio: 940 / 500;
    color: var(--whiteColor);
    box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.15);
}
.secBusiness .bnrBusiness picture {
    display: block;
    height: 100%;
    overflow: hidden;
}
.secBusiness .bnrBusiness img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.secBusiness .bnrBusiness:hover img {
    transform: scale(1.08);
}
.secBusiness .boxBusinessContent {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem;
    text-align: center;
}
.secBusiness .titBusiness {
    margin: 0 0 2.2rem;
    font-size: var(--pcFontSize60);
    line-height: 1;
    letter-spacing: var(--pcLetterSpacing30);
    font-weight: 300;
}
.secBusiness .txtBusinessLead {
    margin: 0 0 2.4rem;
    font-size: var(--pcFontSize22);
    line-height: 1.5;
    letter-spacing: var(--pcLetterSpacing50);
    font-weight: 700;
}
.secBusiness .cmnBtnMore {
    min-width: 30rem;
    min-height: 7rem;
    padding: 1rem 2.4rem;
    border: none;
    transition: none;
}
.secBusiness .cmnBtnMore::before {
    display: none;
}
.secBusiness .bnrBusiness:hover .cmnBtnMore,
.secBusiness .cmnBtnMore:hover {
    border-color: var(--colorDarkBrown);
    color: var(--whiteColor);
}
.secBusiness .bnrBusiness:hover .cmnBtnMore .cmnIconArrow.isNoBg,
.secBusiness .cmnBtnMore:hover .cmnIconArrow.isNoBg {
    background: url(../img/common/iconArrow.png) transparent center / 0.7rem no-repeat;
}
@media only screen and (max-width: 1215px) {
    .secBusiness .boxBusinessInner {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    .secBusiness .bnrBusiness {
        aspect-ratio: 180 / 280;
        box-shadow: none;
    }
    .secBusiness .titBusiness {
        margin: 0 0 1rem;
        font-size: var(--spFontSize24);
        letter-spacing: var(--spLetterSpacing30);
    }
    .secBusiness .txtBusinessLead {
        margin: 0 0 1.2rem;
        font-size: var(--spFontSize12);
        line-height: calc(22 / 12);
        letter-spacing: var(--spLetterSpacing50);
    }
    .secBusiness .cmnBtnMore {
        min-width: 12rem;
        min-height: 3.6rem;
        padding: 0.6rem 1rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
    }
}

/* secAbout */
.secAbout {
    position: relative;
    padding: 17rem 0 11rem;
    background-color: var(--whiteColor);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 192rem auto;
    overflow: hidden;
}
.secAbout.lazyloaded {
    background-image: url(../img/index/bgAbout.jpg);
}
.secAbout .boxAboutInner {
    position: relative;
    z-index: 2;
    min-height: 68rem;
}
.secAbout .boxAboutImages img {
    height: auto;
    position: absolute;
    box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.15);
}
.secAbout .imgAbout01 {
    top: 3rem;
    right: 15rem;
    width: 21rem;
}
.secAbout .imgAbout02 {
    top: 0rem;
    left: 14.5rem;
    width: 24.5rem;
}
.secAbout .imgAbout03 {
    top: 40rem;
    left: -25.5rem;
    width: 22.8rem;
}
.secAbout .imgAbout04 {
    top: 42rem;
    left: 9.5rem;
    width: 17.5rem;
}
.secAbout .imgAbout05 {
    top: 47rem;
    right: -27rem;
    width: 24rem;
}
.secAbout .imgAbout06 {
    top: 15rem;
    right: -10rem;
    width: 17.5rem;
}
.secAbout .imgAbout07 {
    top: 6rem;
    left: -11.5rem;
    width: 17.5rem;
}
.secAbout .imgAbout08 {
    top: 3rem;
    right: -30rem;
    width: 14rem;
}
.secAbout .imgAbout09 {
    top: 0;
    left: -38rem;
}
.secAbout .boxAboutMessage {
    position: relative;
    z-index: 2;
    width: 52rem;
    margin: 0 auto;
    text-align: center;
}
.secAbout .imgAboutLogo {
    margin: 0 auto 8rem;
}
.secAbout .imgAboutText {
    width: 47rem;
    margin: 0 auto 4.6rem;
}
.secAbout .cmnBtnMore {
    min-width: 58rem;
    min-height: 9rem;
    padding: 1rem 2.4rem;
    border: 0.1rem solid var(--colorDarkBrown);
}
.secAbout .cmnBtnMore .cmnIconArrow {
    position: relative;
    z-index: 1;
}
@media only screen and (max-width: 1215px) {
    .secAbout {
        min-height: 0;
        padding: 7rem 0 8rem;
    }
    .secAbout::after {
        content: "";
        display: block;
        width: 100%;
        height: 60rem;
        background: linear-gradient(to bottom,  rgba(244,243,241,0) 0%,rgba(244,243,241,1) 100%);
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .secAbout.lazyloaded {
        background-image: none;
    }
    .secAbout .boxAboutInner {
        min-height: 0;
    }
    .secAbout .boxAboutMessage {
        width: 100%;
    }
    .secAbout .imgAbout01 {
        width: 5.3rem;
        top: 15rem;
        right: 0;
    }
    .secAbout .imgAbout02 {
        width: 3.5rem;
        top: -2rem;
        left: auto;
        right: 2.5rem;
    }
    .secAbout .imgAbout03 {
        width: 3.5rem;
        top: 18rem;
        left: 2.5rem;
    }
    .secAbout .imgAbout04 {
        width: 5.3rem;
        top: -2rem;
        left: 1.5rem;
    }
    .secAbout .imgAbout05 {
        width: 5.3rem;
        top: 5rem;
        right: 3.5rem;
    }
    .secAbout .imgAbout06 {
        width: 5.3rem;
        top: 5rem;
        right: auto;
        left: 4rem;
    }
    .secAbout .imgAboutLogo {
        width: 16.8rem;
        margin: 0 auto 5rem;
    }
    .secAbout .imgAboutText {
        width: 21.4rem;
        margin-bottom: 5rem;
    }
    .secAbout .imgAboutPerson {
        width: 29.5rem;
        margin: 0 auto 3rem;
    }
    .secAbout .imgAboutPerson img {
        box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.15);
    }
    .secAbout .cmnBtnMore {
        width: 26.5rem;
        min-width: 0;
        min-height: 4.6rem;
        padding: 1rem 2rem;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing50);
    }
}
