@charset "utf-8";

/*-----------------------------------------------
    index
-----------------------------------------------*/

/*==============================
    mainVisual
==============================*/
.mainVisual{
    position:relative;
    height:100rem;
    background:var(--bgColorDark);
    color:var(--textColorWhite);
    overflow:hidden;
}
.mainVisual .mainVisualMovie{
    position:absolute;
    top:0;
    left:0;
    z-index:0;
    width:100%;
    height:100%;
    background:url(../img/index/imgMainVisualPoster.jpg) no-repeat center / cover;
}
.mainVisual .mainVisualMovieVideo{
    width:100%;
    height:100%;
    object-fit:cover;
}
.mainVisual .mainVisualMask{
    position:absolute;
    top:0;
    left:0;
    z-index:3;
    width:100%;
    height:100%;
    background:var(--maskColorDark30);
}
.mainVisual .mainVisualInner{
    position:relative;
    z-index:4;
    height:100%;
}
.mainVisual .mainVisualCopy{
    position:absolute;
    top:43%;
    left:0;
    transform:translateY(-50%);
}
.mainVisual .mainVisualTit{
    margin:0 0 3rem;
    font-size:var(--pcFontSize110);
    font-style:italic;
    font-weight:bold;
    line-height:calc(160 / 110);
}
.mainVisual .mainVisualTxt{
    font-size:var(--pcFontSize24);
    line-height:calc(28 / 24); 
    letter-spacing:var(--pcLetterSpacing200);
}
.mainVisual .mainVisualScroll{
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
}
.mainVisual .mainVisualScrollLine{
    position:relative;
    overflow:hidden;
    width:1px;
    height:20rem;
    background:var(--textColorWhite25);
}
.mainVisual .mainVisualScrollLineBar{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4rem;
    background:var(--textColorWhite);
    animation:mainVisualScrollLine 1.8s ease-in-out infinite alternate;
}
.mainVisual .mainVisualScrollTxt{
    display:inline-block;
    font-size:var(--pcFontSize14);
    line-height:calc(22 / 14);
    letter-spacing:var(--pcLetterSpacing40);
    writing-mode:vertical-rl;
}
@keyframes mainVisualScrollLine{
    0%{
        top:0;
    }
    100%{
        top:65%;
    }
}
@media (prefers-reduced-motion:reduce){
    .mainVisual .mainVisualMovieVideo{
        visibility:hidden;
    }
    .mainVisual .mainVisualScrollLineBar{
        animation:none;
        top:0;
    }
}
.mainVisual .mainVisualAchievement{
    position:absolute;
    right:0;
    bottom:15rem;
    width:49.2rem;
}
.mainVisual .mainVisualAchievementImg{
    width:100%;
    height:auto;
}

@media only screen and (max-width:1215px){
    .mainVisual{
        /* デザイン375×667 ≒ 画面いっぱい */
        height:100svh;
        padding:9rem 1.5rem 5rem;
    }
    .mainVisual .mainVisualInner{
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
    }
    .mainVisual .mainVisualCopy{
        position:relative;
        top:auto;
        left:auto;
        transform:none;
        margin:0 0 9rem;
    }
    .mainVisual .mainVisualTit{
        margin:0 0 1.2rem;
        font-size:var(--spFontSize44);
    }
    .mainVisual .mainVisualTxt{
        font-size:var(--spFontSize18);
        line-height:calc(32 / 18);
        letter-spacing:var(--spLetterSpacing100);
    }
    .mainVisual .mainVisualScroll{
        left:0;
        bottom:-5rem;
        gap:0.8rem;
    }
    .mainVisual .mainVisualScrollLine{
        height:12rem;
    }
    .mainVisual .mainVisualScrollTxt{
        font-size:var(--spFontSize11);
    }
    .mainVisual .mainVisualAchievement{
        position:relative;
        right:auto;
        bottom:auto;
        width:calc((270 / 375) * var(--widthBase));
        margin:0 0 0 auto;
    }
}

/*==============================
    secFeature
==============================*/
.secFeature{
    padding:8rem 0;
    background:var(--bgColorBeige);
}
.secFeature .featureList{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2rem;
}
.secFeature .featureItem{
    width:70rem;
}
.secFeature .featureImg{
    width:100%;
    height:auto;
}

@media only screen and (max-width:1215px){
    .secFeature{
        padding:5rem 0 0;
    }
    .secFeature .featureList{
        flex-direction:column-reverse;
        gap:1.5rem;
    }
    .secFeature .featureItem{
        width:100%;
    }
}

/*==============================
    secPickUp
==============================*/
.secPickUp{
    padding:0 0 4rem;
    background:var(--bgColorBeige);
    overflow:hidden;
}
.secPickUp .pickUpTit{
    position:relative;
    margin:0 0 3.6rem;
    padding:0 0 0 9rem;
    font-size:var(--pcFontSize18);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColor);
}
.secPickUp .pickUpTit::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:8rem;
    height:1px;
    background:var(--textColor);
    transform:translateY(-50%);
}
.secPickUp .pickUpSlider{
    position:relative;
}
.secPickUp .swiper-slide{
    overflow:hidden;
    width:78rem;
}
.secPickUp .pickUpImg{
    width:100%;
    height:auto;
    vertical-align:bottom;
}
.secPickUp .pickUpPagination{
    position:relative;
    bottom:auto;
    margin:4rem 0 0;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:1rem;
}
.secPickUp .swiper-pagination-bullet{
    width:1rem;
    height:1rem;
    margin:0 !important;
    background:var(--paginationColor);
    opacity:1;
    border-radius:50%;
}
.secPickUp .swiper-pagination-bullet-active{
    background:var(--paginationColorActive);
}

@media only screen and (max-width:1215px){
    .secPickUp{
        padding:3.2rem 0 3.2rem;
    }
    .secPickUp .pickUpInner{
        padding:0;
    }
    .secPickUp .pickUpTit{
        margin:0 0 2rem;
        padding:0 0 0 4rem;
        font-size:var(--spFontSize14);
        letter-spacing:0;
    }
    .secPickUp .pickUpTit::before{
        width:3rem;
    }
    .secPickUp .swiper-slide{
        width:calc((305 / 375) * var(--widthBase));
    }
    .secPickUp .pickUpPagination{
        margin:1.5rem 0 0;
        gap:0.5rem;
        bottom: 0 !important;
    }
    .secPickUp .swiper-pagination-bullet{
        width:0.5rem;
        height:0.5rem;
    }
}

/*==============================
    secEvent
==============================*/
.secEvent{
    overflow:hidden;
    padding:8rem 0;
    background:var(--bgColorBeige);
}
.secEvent .eventHead{
    margin:0 0 4rem;
}
.secEvent .eventSelect{
    display:none;
}
.secEvent .eventTab{
    display:flex;
    flex-wrap:nowrap;
    gap:0.8rem;
    margin:0 0 4rem;
    list-style:none;
    border-bottom:1px solid var(--borderColor);
}
.secEvent .eventTabItem{
    flex:1 1 0;
    min-width:0;
}
.secEvent .eventTabBtn{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    box-sizing:border-box;
    width:100%;
    height:6.5rem;
    padding:0 1.2rem;
    border:1px solid transparent;
    border-bottom:none;
    border-radius:4px 4px 0 0;
    background:var(--bgColor);
    font-size:var(--pcFontSize15);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColor);
    font-weight: bold;
    cursor:pointer;
}
.secEvent .eventTabBtn.isActive{
    bottom:-1px;
    z-index:1;
    border-color:var(--borderColor);
    border-bottom-color:transparent;
    background:var(--bgColorBeige);
}
.secEvent .eventTabBtn.isActive::after{
    content:"";
    position:absolute;
    right:0;
    bottom:-1px;
    left:0;
    z-index:1;
    height:2px;
    background:var(--bgColorBeige);
}
.secEvent .eventSlider{
    /* 左はコンテンツ揃え、右は画面端まで伸ばして見切れを出す */
    width:calc(100% + (100vw - 100%) / 2);
    margin:0 0 4rem;
    overflow:hidden;
}
.secEvent .swiper-slide{
    /* 1920時点の450幅比率を維持 */
    width:calc((450 / 1920) * var(--widthBase));
}
.secEvent .eventSlideHide{
    display:none !important;
}
.secEvent .eventEmpty{
    display:none;
    margin: 7rem 0 7rem;
    font-size: var(--pcFontSize18);
    line-height: calc(28 / 18);
    letter-spacing: var(--pcLetterSpacing40);
    color: var(--textColor);
}
.secEvent.isEventEmpty .eventSlider,
.secEvent.isEventEmpty .eventNav{
    display:none;
}
.secEvent.isEventEmpty .eventEmpty{
    display:block;
}
.secEvent .eventCard{
    display:block;
}
.secEvent .eventCardImg{
    overflow:hidden;
    margin:0 0 2rem;
    aspect-ratio:1 / 1;
}
.secEvent .eventCardPhoto{
    width:100%;
    height:100%;
    object-fit:cover;
    vertical-align:bottom;
    transition:transform 0.4s ease-out;
}
.secEvent .eventCard:hover .eventCardPhoto{
    transform:scale(1.05);
}
.secEvent .eventListItemEnd:hover .eventCardPhoto,
.secEvent .eventListItemEnd .eventCard:hover .eventCardPhoto{
    transform:none;
}
.secEvent .eventCardTit{
    display:-webkit-box;
    overflow:hidden;
    margin:0 0 1.6rem;
    font-size:var(--pcFontSize20);
    line-height:calc(36 / 20);
    letter-spacing:var(--pcLetterSpacing40);
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.secEvent .eventCardInfo{
    margin:0 0 2rem;
}
.secEvent .eventCardInfoRow{
    display:flex;
    align-items:center;
    margin:0 0 0.6rem;
    font-size:var(--pcFontSize13);
    line-height:calc(20 / 13);
    letter-spacing:var(--pcLetterSpacing20);
}
.secEvent .eventCardInfoTit{
    flex-shrink:0;
}
.secEvent .eventCardInfoTit::after{
    content:"";
    display:inline-block;
    width:1px;
    height:1em;
    margin:0 1rem;
    background:var(--textColor);
    vertical-align:-0.1em;
}
.secEvent .eventCardInfoTxt{
    min-width:0;
    margin:0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.secEvent .eventCardTag{
    display:inline-block;
    margin:0;
    padding:1rem 1.2rem;
    border-radius:0.4rem;
    background:var(--bgColorBeigeLight);
    font-size:var(--pcFontSize13);
    line-height:calc(18 / 13);
    letter-spacing:var(--pcLetterSpacing40);
}

/* eventCard：終了マスク（.eventListItemEnd 付与で疑似要素表示） */
.secEvent .eventListItemEnd .eventCardImg{
    position:relative;
}
.secEvent .eventListItemEnd .eventCardImg::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background-color:rgb(34, 34, 34);
    opacity:0.702;
    pointer-events:none;
}
.secEvent .eventListItemEnd .eventCardImg::after{
    content:"このイベントは終了いたしました。\Aご参加ありがとうございました。";
    position:absolute;
    top:50%;
    left:50%;
    z-index:2;
    box-sizing:border-box;
    min-width:25.6rem;
    padding-top:10rem;
    background:url("../img/event/txtThankYou.png") no-repeat top center / 25.6rem 8rem;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColorWhite);
    text-align:center;
    white-space:pre;
    pointer-events:none;
    transform:translate(-50%, -50%);
}

.secEvent .eventFoot{
    display:flex;
    align-items:center;
    gap:3rem;
}
.secEvent .eventNav{
    display:flex;
    gap:1.2rem;
}
.secEvent .eventNavPrev,
.secEvent .eventNavNext{
    display:flex;
    justify-content:center;
    align-items:center;
    width:6.5rem;
    height:6.5rem;
    border:none;
    border-radius:50%;
    background:var(--bgColor);
    cursor:pointer;
    transition:opacity 0.2s ease-out;
}
.secEvent .eventNavPrev.swiper-button-disabled,
.secEvent .eventNavNext.swiper-button-disabled{
    opacity:0.35;
    cursor:default;
    pointer-events:none;
}
.secEvent .eventNavArrow{
    width:17px;
    height:5px;
    vertical-align:top;
    filter:brightness(0);
}
@media only screen and (max-width:1215px){
    .secEvent{
        padding:1.4rem 0;
        width: 100%;
    }
    .secEvent .eventLead{
        margin:0 0 1.5rem;
    }
    .secEvent .eventHead {
        margin: 0;
    }
    .secEvent .eventSelect{
        position:relative;
        display:block;
        margin:0 0 2.4rem;
    }
    .secEvent .eventSelectBtn{
        appearance:none;
        -webkit-appearance:none;
        display:block;
        box-sizing:border-box;
        width:100%;
        height:calc((40 / 375) * var(--widthBase));
        padding:0 3rem 0 1.5rem;
        border:none;
        border-radius:4px;
        background:var(--bgColorBeigeLight);
        font-size:var(--spFontSize12);
        line-height:1;
        letter-spacing:var(--pcLetterSpacing40);
        color:var(--textColor);
        cursor:pointer;
    }
    .secEvent .eventSelect::after{
        content:"";
        position:absolute;
        top:50%;
        right:1.6rem;
        width:0;
        height:0;
        border-style:solid;
        border-width:0.6rem 0.5rem 0;
        border-color:var(--textColor) transparent transparent;
        pointer-events:none;
        transform:translateY(-25%);
    }
    .secEvent .eventTab{
        display:none;
    }
    .secEvent .eventSlider{
        /* SPはセクション右padding分まで伸ばす */
        width:calc(100% + 2rem);
        margin:0 0 2.4rem;
    }
    .secEvent .eventEmpty{
        margin:0 0 2.4rem;
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
    }
    .secEvent .swiper-slide{
        width:calc((305 / 375) * var(--widthBase));
    }
    .secEvent .eventCardTit{
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
        margin: 0 0 1rem;
    }
    .secEvent .eventCardInfoRow{
        font-size:var(--spFontSize11);
        line-height:calc(20 / 11);
        letter-spacing:0;
        margin: 0;
    }
    .secEvent .eventFoot{
        flex-wrap: wrap;
        gap: 4%;
        justify-content: space-between;
    }
    .secEvent .eventNavPrev,
    .secEvent .eventNavNext{
        width:calc((49 / 375) * var(--widthBase));
        height:calc((49 / 375) * var(--widthBase));
    }
    .secEvent .eventNav {
        gap: 0.5rem;
    }
    .secEvent .secListBtn{
        width: 65%;
        max-width: 22.5rem;
    }
    .secEvent .eventCardTag {
        padding: 0.6rem;
        border-radius: 0.3rem;
        background: var(--bgColorBeigeLight);
        font-size: var(--spFontSize11);
        line-height: calc(18 / 11);
        letter-spacing: 0;
    }
    .secEvent .eventCardImg {
        margin: 0 0 1.4rem;
    }
    .secEvent .eventCardPhoto{
        transition: none;
    }
    .secEvent .eventCard:hover .eventCardPhoto{
        transform:none;
    }
    .secEvent .eventCardInfoTit::after {
        height: 1rem;
        margin: 0 0.6rem;
    }
    .secEvent .eventCardInfo {
        margin: 0 0 1rem;
    }
    .secEvent .eventListItemEnd .eventCardImg::after{
        min-width:calc(((256 / 80) * 55 / 375) * var(--widthBase));
        padding-top:calc((55 / 375) * var(--widthBase) + 1rem);
        background-size:auto calc((55 / 375) * var(--widthBase));
        font-size:var(--spFontSize12);
        line-height:calc(24 / 12);
        letter-spacing:0;
    }
}

/*==============================
    secWorks
==============================*/
.secWorks{
    position:relative;
    overflow:hidden;
    padding:9rem 0 0;
    background: var(--bgColorBeige);
}
.secWorks::after{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    z-index:0;
    width:100%;
    height:calc((1785 / 1920) * var(--widthBase));
    background:url("../img/index/bgWorksMist.png") no-repeat center bottom / 100% 100%;
    /* WebP対応ブラウザはWebPを表示（image-set非対応の場合は上のPNGを表示） */
    background-image:image-set(url("../img/index/bgWorksMist.webp") type("image/webp"), url("../img/index/bgWorksMist.png") type("image/png"));
    pointer-events:none;
}
.secWorks .worksStage{
    position:relative;
    z-index:2;
    max-width: 192rem;
    margin: 0 auto;
}
.secWorks .worksInner{
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:3;
    padding-top:0;
}
.secWorks .worksHead{
    max-width:52rem;
    margin-top: 10rem;
}
.secWorks .worksVisual{
    position:relative;
    z-index:2;
}
.secWorks .worksVisualImg{
    width:100%;
    height:auto;
    vertical-align:bottom;
}
.secWorks .worksMarquee{
    position: relative;
    z-index: 1;
    margin: -14rem 0 0;
    overflow: hidden;
    pointer-events: none;
    padding: 3rem 0;
}
.secWorks .worksMarqueeTrack{
    display:flex;
    width:max-content;
    animation:worksMarquee 80s linear infinite;
}
.secWorks .worksMarqueeTxt{
    flex-shrink:0;
    margin:0;
    padding:0 0.2em 0 0;
    font-size:var(--pcFontSize200);
    font-weight:700;
    font-style:italic;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColorWhite80);
    white-space:nowrap;
}
@keyframes worksMarquee{
    from{
        transform:translateX(-50%);
    }
    to{
        transform:translateX(0);
    }
}
@media (prefers-reduced-motion:reduce){
    .secWorks .worksMarqueeTrack{
        animation:none;
    }
}
.secWorks .worksCases{
    position:relative;
    z-index:2;
    padding: 4rem 0 18rem;
}
.secWorks .worksCasesSlider{
    width:calc(100% + (100vw - 100%) / 2);
    margin:0 0 4rem;
    overflow:hidden;
}
.secWorks .worksCases .swiper-slide{
    width:calc((1000 / 1920) * var(--widthBase));
}
.secWorks .worksCase{
    display:block;
}
.secWorks .worksCaseImg{
    overflow:hidden;
    margin:0 0 2.4rem;
    aspect-ratio:610 / 400;
}
.secWorks .worksCasePhoto{
    width:100%;
    height:100%;
    object-fit:cover;
    vertical-align:bottom;
    transition:transform 0.4s ease-out;
}
.secWorks .worksCase:hover .worksCasePhoto{
    transform:scale(1.05);
}
.secWorks .worksCaseBrand{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:1.2rem;
    margin:0 0 1.2rem;
}
.secWorks .worksCaseBrandTxt{
    font-size:var(--pcFontSize15);
    line-height:calc(28 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColorWarmGray);
}
.secWorks .worksCaseNew{
    display:inline-block;
    padding:0.4rem 1rem;
    background:var(--bgColorNew);
    font-size:var(--pcFontSize12);
    font-weight:700;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.secWorks .worksCaseTit{
    margin:0 0 2rem;
    font-size:var(--pcFontSize30);
    font-weight:bold;
    line-height:calc(36 / 30);
    letter-spacing:var(--pcLetterSpacing40);
}
.secWorks .worksCaseTags{
    overflow:hidden;
    width:100%;
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(28 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    white-space:nowrap;
    text-overflow:ellipsis;
}
.secWorks .worksCasesFoot{
    display:flex;
    align-items:center;
    gap:3rem;
}
.secWorks .worksCasesNav{
    display:flex;
    gap:1.2rem;
}
.secWorks .worksCasesNavPrev,
.secWorks .worksCasesNavNext{
    display:flex;
    justify-content:center;
    align-items:center;
    width:6.5rem;
    height:6.5rem;
    border:none;
    border-radius:50%;
    background:var(--bgColor);
    box-shadow:0 0.2rem 1.2rem var(--shadowColor08);
    cursor:pointer;
    transition:opacity 0.2s ease-out;
}
.secWorks .worksCasesNavPrev.swiper-button-disabled,
.secWorks .worksCasesNavNext.swiper-button-disabled{
    opacity:0.35;
    cursor:default;
    pointer-events:none;
}
.secWorks .worksCasesNavArrow{
    width:17px;
    height:5px;
    vertical-align:top;
    filter:brightness(0);
}
/*==============================
    secExterior
==============================*/
.secExterior{
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    box-sizing:border-box;
    height:calc((550 / 1920) * var(--widthBase));
    padding:4rem 2rem;
    background:url("../img/index/imgExterior.jpg") no-repeat center / cover;
    color:var(--textColorWhite);
    text-align:center;
}
.secExterior .exteriorInner{
    position:relative;
    z-index:1;
    max-width:90rem;
}
.secExterior .exteriorEn{
    margin: 0 0 2rem;
    font-size: var(--pcFontSize18);
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    letter-spacing: var(--pcLetterSpacing40);
    text-align: left;
}
.secExterior .exteriorTit{
    margin:0 0 3rem;
    font-size:var(--pcFontSize30);
    /* font-weight:bold; */
    line-height:calc(36 / 30);
    letter-spacing:var(--pcLetterSpacing40);
}
.secExterior .exteriorLead{
    margin:0 0 2.5rem;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secExterior .exteriorBtn{
    position:relative;
    display:inline-flex;
    align-items:center;
    box-sizing:border-box;
    width:28rem;
    height:6.5rem;
    padding:0 3rem 0 4rem;
    border:1px solid var(--textColorWhite);
    border-radius:100px;
    background:var(--textColorWhite);
    font-size:var(--pcFontSize15);
    line-height:calc(22 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--bgColorDark);
    transition:background 0.2s ease-out, color 0.2s ease-out, border-color 0.2s ease-out;
    font-weight:bold;
}
.secExterior .exteriorBtnArrow{
    position:absolute;
    top:0;
    right:3rem;
    bottom:0;
    width:17px;
    height:5px;
    margin:auto 0;
    filter:brightness(0);
    transition:filter 0.2s ease-out;
}
.secExterior .exteriorBtn:hover{
    background:var(--bgColorDark);
    border-color:var(--bgColorDark);
    color:var(--textColorWhite);
}
.secExterior .exteriorBtn:hover .exteriorBtnArrow{
    filter:none;
}

/*==============================
    secModelHouse
==============================*/
.secModelHouse{
    overflow:hidden;
    padding:14rem 0 2rem;
    background:var(--bgColorBeige);
}
.secModelHouse .modelHouseHead{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:4rem;
    margin:0 0 4rem;
}
.secModelHouse .modelHouseHeadCtrl{
    display:flex;
    flex-shrink:0;
    align-items:center;
    gap:3rem;
    padding-bottom: 1rem;
}
.secModelHouse .modelHouseNav{
    display:flex;
    gap:1.2rem;
}
.secModelHouse .modelHouseNavPrev,
.secModelHouse .modelHouseNavNext{
    display:flex;
    justify-content:center;
    align-items:center;
    width:6.5rem;
    height:6.5rem;
    border:none;
    border-radius:50%;
    background:var(--bgColor);
    cursor:pointer;
    transition:opacity 0.2s ease-out;
}
.secModelHouse .modelHouseNavPrev.swiper-button-disabled,
.secModelHouse .modelHouseNavNext.swiper-button-disabled{
    opacity:0.35;
    cursor:default;
    pointer-events:none;
}
.secModelHouse .modelHouseNavArrow{
    width:17px;
    height:5px;
    vertical-align:top;
    filter:brightness(0);
}
.secModelHouse .modelHouseStage{
    position:relative;
}
/* 左540より左は見せない（白カード左側への回り込み防止） */
.secModelHouse .modelHouseSlider{
    box-sizing:border-box;
    width:calc(100% - (540 / 1920) * var(--widthBase));
    margin-left:calc((540 / 1920) * var(--widthBase));
    overflow:hidden;
}
.secModelHouse .swiper-slide{
    width:calc((1200 / 1920) * var(--widthBase));
}
.secModelHouse .modelHouseMedia{
    position:relative;
    overflow:hidden;
    aspect-ratio:540 / 360;
}
.secModelHouse .modelHouseImg{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    vertical-align:bottom;
}
.secModelHouse .modelHouseSlideBody{
    display:none;
}
.secModelHouse .modelHouseMedia > .modelHouseNew{
    display:none;
}
/* 白カードは固定。中身だけフェードで差し替え */
.secModelHouse .modelHouseCard{
    position:absolute;
    top:50%;
    left:0;
    z-index:3;
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
    width:calc((650 / 1920) * var(--widthBase));
    height:auto;
    padding: 10rem 5.5% 14rem 5.5%;
    background:var(--bgColor);
    transform:translateY(-50%);
    pointer-events:none;
    min-height: 54rem;
}
.secModelHouse .modelHouseCardBody{
    display:flex;
    flex-direction:column;
    height:100%;
    opacity:1;
    pointer-events:auto;
    transition:opacity 0.35s ease;
}
.secModelHouse .modelHouseCardBody.isFade{
    opacity:0;
}
.secModelHouse .modelHouseNew{
    display:flex;
    justify-content:center;
    align-items:center;
    box-sizing:border-box;
    width:calc((44 / 1920) * var(--widthBase));
    height:calc((24 / 1920) * var(--widthBase));
    margin:0 0 1rem;
    padding:0;
    background:var(--bgColorNew);
    font-size:var(--pcFontSize11);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing20);
}
.secModelHouse .modelHouseNew.isHide{
    display:none;
}
.secModelHouse .modelHouseSub{
    overflow:hidden;
    margin:0 0 1.2rem;
    font-size:var(--pcFontSize18);
    line-height:calc(28 / 18);
    letter-spacing:var(--pcLetterSpacing40);
    white-space:nowrap;
    text-overflow:ellipsis;
}
.secModelHouse .modelHouseName{
    display:-webkit-box;
    overflow:hidden;
    margin:0 0 2rem;
    font-size:var(--pcFontSize30);
    font-weight:bold;
    line-height:calc(36 / 30);
    letter-spacing:var(--pcLetterSpacing40);
    text-overflow:ellipsis;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
}
.secModelHouse .modelHouseInfo{
    flex:1 1 auto;
    margin:0 0 3rem;
}
.secModelHouse .modelHouseInfoRow{
    display:flex;
    align-items:flex-start;
    font-size:var(--pcFontSize13);
    line-height:calc(28 / 13);
    letter-spacing:var(--pcLetterSpacing40);
}
.secModelHouse .modelHouseInfoRow.isHide{
    display:none;
}
.secModelHouse .modelHouseInfoTit{
    flex-shrink:0;
}
.secModelHouse .modelHouseInfoTit::after{
    content:"";
    display:inline-block;
    width:1px;
    height:1em;
    margin:0 1rem;
    background:var(--textColor);
    vertical-align:-0.1em;
}
.secModelHouse .modelHouseInfoTxt{
    margin:0;
}
.secModelHouse .modelHouseBtns{
    display:flex;
    flex-shrink:0;
    gap:1rem;
    margin-top:auto;
}
.secModelHouse .modelHouseBtnDetail,
.secModelHouse .modelHouseBtnReserve{
    position:relative;
    display:flex;
    align-items:center;
    flex:1 1 0;
    box-sizing:border-box;
    max-width: 20rem;
    height:6rem;
    padding:0 2rem 0 2rem;
    font-size:var(--pcFontSize15);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    border-radius: 0.4rem;
    font-weight: bold;
}
.secModelHouse .modelHouseBtnDetail{
    background:var(--bgColorBeige);
    color:var(--bgColorDark);
}
.secModelHouse .modelHouseBtnReserve{
    background:var(--btnReserveBg);
    color:var(--textColorWhite);
}
.secModelHouse .modelHouseBtnArrow{
    position:absolute;
    top:0;
    right:1.6rem;
    bottom:0;
    width:17px;
    height:5px;
    margin:auto 0;
}
.secModelHouse .modelHouseBtnDetail .modelHouseBtnArrow{
    filter:brightness(0);
}

@media only screen and (max-width:1215px){
    .secWorks{
        padding:8rem 0 8rem;
        width: 100%;
    }
    .secWorks .worksInner{
        position:relative;
        top:auto;
        left:auto;
        right:auto;
        box-sizing:border-box;
        padding:0 2rem;
        margin:0 ;
    }
    .secWorks .worksHead{
        max-width:none;
        margin-top: 0;
    }
    .secWorks .worksMarquee{
        margin: 0;
        padding: 1rem 0;
        top: -10rem;
    }
    .secWorks .worksVisual {
        position: relative;
        z-index: 2;
        top: -7rem;
    }
    .secWorks .worksMarqueeTxt{
        font-size:var(--spFontSize70);
        letter-spacing: 0;
    }
    .secWorks .worksCases{
        padding: 0;
        margin-top: -8rem;
    }
    .secWorks .worksCasesInner{
        padding:0 2rem;
    }
    .secWorks .worksCasesSlider{
        width:calc(100% + 2rem);
        margin:0 0 2.4rem;
    }
    .secWorks .worksCases .swiper-slide{
        width:calc((305 / 375) * var(--widthBase));
    }
    .secWorks .worksCaseImg{
        margin:0 0 1.2rem;
    }
    .secWorks .worksCasePhoto{
        transition:none;
    }
    .secWorks .worksCase:hover .worksCasePhoto{
        transform:none;
    }
    .secWorks .worksCaseBrand{
        margin:0 0 0.4rem;
        gap:0.8rem;
    }
    .secWorks .worksCaseBrandTxt{
        font-size:var(--spFontSize12);
    }
    .secWorks .worksCaseNew{
        font-size:var(--spFontSize10);
    }
    .secWorks .worksCaseTit{
        margin:0 0 0;
        font-size:var(--spFontSize16);
        line-height:calc(24 / 16);
    }
    .secWorks .worksCaseTags{
        display:block;
        margin:0;
        padding:0.6rem 0;
        font-size:var(--spFontSize11);
        line-height:calc(18 / 11);
        letter-spacing:0;
    }
    .secWorks .worksCasesFoot{
        flex-wrap:wrap;
        gap:4%;
        justify-content:space-between;
    }
    .secWorks .worksCasesNav{
        gap:0.5rem;
    }
    .secWorks .worksCasesNavPrev,
    .secWorks .worksCasesNavNext{
        width:calc((49 / 375) * var(--widthBase));
        height:calc((49 / 375) * var(--widthBase));
    }
    .secWorks .worksCasesListBtn{
        width:65%;
        max-width:22.5rem;
    }
    .secWorks::after {
        height: calc((748 / 375) * var(--widthBase));
        background: url(../img/index/bgWorksMist_sp.png) no-repeat center bottom / 100% 100%;
        /* WebP対応ブラウザはWebPを表示（image-set非対応の場合は上のPNGを表示） */
        background-image: image-set(url(../img/index/bgWorksMist_sp.webp) type("image/webp"), url(../img/index/bgWorksMist_sp.png) type("image/png"));
    }
    .secExterior{
        height:auto;
        min-height:calc((270 / 375) * var(--widthBase)); 
        padding:2.6rem 0 4.5rem;
        background: url(../img/index/imgExterior_sp.jpg) no-repeat center / cover;
        justify-content: flex-start;
    }
    .secExterior .exteriorInner {
        max-width: 40rem;
    }
    .secExterior .exteriorEn{
        margin:0 0 1.2rem;
        font-size:var(--spFontSize16);
    }
    .secExterior .exteriorTit{
        margin:0 0 1.2rem;
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
        letter-spacing:0;
    }
    .secExterior .exteriorLead{
        margin:0 0 1.4rem;
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
    }
    .secExterior .exteriorBtn{
        width:100%;
        max-width:22.5rem;
        height:calc((50 / 375) * var(--widthBase));
        font-size:var(--spFontSize12);
        padding:0 2rem 0 2rem;
    }
    .secExterior .exteriorBtnArrow {
        right: 2rem;
        width: 15px;
        height: 5px;
    }
    .secExterior .exteriorBtn:hover{
        background:var(--textColorWhite);
        border-color:var(--textColorWhite);
        color:var(--bgColorDark);
    }
    .secExterior .exteriorBtn:hover .exteriorBtnArrow{
        filter:brightness(0);
    }
    .secModelHouse{
        display:flex;
        flex-direction:column;
        padding:7.5rem 0 5rem;
        width: 100%;
    }
    .secModelHouse .modelHouseHeadWrap,
    .secModelHouse .modelHouseHead{
        display:contents;
    }
    .secModelHouse .modelHouseHeadTxt{
        order:1;
        margin:0 auto 2rem;
    }
    .secModelHouse .secTit{
        display: flex;
        align-items: flex-start;
        flex-direction: column;
    }
    .secModelHouse .modelHouseStage{
        order:2;
        margin:0 0 2rem;
    }
    .secModelHouse .modelHouseHeadCtrl{
        order:3;
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        justify-content:space-between;
        gap:4%;
        margin:0;
        padding:0 2rem 0;
    }
    .secModelHouse .modelHouseNav{
        gap:0.5rem;
    }
    .secModelHouse .modelHouseListBtn{
        width:65%;
        max-width:22.5rem;
    }
    .secModelHouse .modelHouseNavPrev,
    .secModelHouse .modelHouseNavNext{
        width:calc((49 / 375) * var(--widthBase));
        height:calc((49 / 375) * var(--widthBase));
    }
    .secModelHouse .modelHouseCard{
        display:none;
    }
    .secModelHouse .modelHouseSlider{
        width:calc(100% + 0rem);
        margin-left:0;
        padding:0 0 0 4%;
        overflow:hidden;
    }
    .secModelHouse .swiper-slide{
        width:calc((305 / 375) * var(--widthBase));
        height:auto;
    }
    .secModelHouse .modelHouseSlideCard{
        display:flex;
        flex-direction:column;
        box-sizing:border-box;
        height:100%;
        background:var(--bgColor);
        overflow:visible;
    }
    .secModelHouse .modelHouseMedia{
        position:relative;
        margin:0;
        overflow:visible;
        z-index:2;
        aspect-ratio:540 / 360;
    }
    .secModelHouse .modelHouseMedia > .modelHouseNew{
        position:absolute;
        left:1.5rem;
        bottom:-0.7rem;
        z-index:3;
        display:flex;
        width:calc((34 / 375) * var(--widthBase));
        height:calc((16 / 375) * var(--widthBase));
        margin:0;
        font-size:var(--spFontSize10);
    }
    .secModelHouse .modelHouseMedia > .modelHouseNew.isHide{
        display:none;
    }
    .secModelHouse .modelHouseSlideBody{
        position:relative;
        z-index:1;
        display:block;
        box-sizing:border-box;
        padding:1.6rem 1.6rem 2rem;
    }
    .secModelHouse .modelHouseSlideBody .modelHouseSub{
        margin:0;
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
        letter-spacing:0;
    }
    .secModelHouse .modelHouseSlideBody .modelHouseName{
        margin:0 0 0.6rem;
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
        letter-spacing:0;
    }
    .secModelHouse .modelHouseSlideBody .modelHouseInfo{
        margin:0 0 1.6rem;
    }
    .secModelHouse .modelHouseSlideBody .modelHouseInfoRow{
        font-size:var(--spFontSize11);
        line-height:calc(20 / 11);
        letter-spacing:0;
    }
    .secModelHouse .modelHouseSlideBody .modelHouseInfoTit::after{
        height:1rem;
        margin:0 0.6rem;
    }
    .secModelHouse .modelHouseSlideBody .modelHouseBtns{
        display:flex;
        flex-direction:row;
        gap:0.8rem;
        margin-top:0;
        letter-spacing: 0;
    }
    .secModelHouse .modelHouseSlideBody .modelHouseBtnDetail,
    .secModelHouse .modelHouseSlideBody .modelHouseBtnReserve{
        flex:1 1 0;
        max-width:none;
        height:calc((44 / 375) * var(--widthBase));
        padding:0 1.6rem 0 1.2rem;
        font-size:var(--spFontSize12);
        border-radius:0.3rem;
        letter-spacing: 0;
    }
    .secModelHouse .modelHouseSlideBody .modelHouseBtnArrow{
        right:1.2rem;
        width:15px;
        height:5px;
    }
}

/*==============================
    secArea
==============================*/
.secArea{
    padding:8rem 0 10rem;
    background: var(--bgColorBeige);
}
.secArea .areaInner{
    position:relative;
    aspect-ratio:1720 / 465;
    background:url("../img/index/imgArea.jpg") no-repeat center / 100% 100%;
}
.secArea .areaCallout{
    position: absolute;
    top: calc(252 / 465 * 100%);
    left: calc(80 / 1720 * 100%);
    z-index: 2;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: auto;
    height: auto;
    padding: 1.2rem 1rem;
    background: var(--bgColor);
    border-radius: 0.3rem;
}
.secArea .areaCalloutTxt{
    font-size:var(--pcFontSize13);
    line-height:1;
    letter-spacing:0;
    color:var(--textColorGold);
}
/* 地図上ピン件数（背景画像の数字に重ねてシステム値を表示） */
.secArea .areaPinList{
    position:absolute;
    inset:0;
    z-index:1;
    margin:0;
    padding:0;
    list-style:none;
    pointer-events:none;
}
.secArea .areaPin{
    position:absolute;
    display:flex;
    justify-content:center;
    align-items:center;
    box-sizing:border-box;
    width:calc(36 / 1720 * 100%);
    aspect-ratio:1;
    border-radius:50%;
    background:var(--bgColor);
    font-size:var(--pcFontSize14);
    font-weight:bold;
    line-height:1;
    letter-spacing:0;
    color:var(--textColor);
    transform:translate(-50%, -50%);
}
.secArea .areaPin01{
    top:24.87%;
    left:66.98%;
}
.secArea .areaPin02{
    top:33.76%;
    left:55%;
}
.secArea .areaPin03{
    top:57.34%;
    left:67.73%;
}
.secArea .areaPin04{
    top:76.91%;
    left:53.43%;
}
.secArea .areaPin05{
    top:89.39%;
    left:60.58%;
}
.secArea .areaBtnList{
    position:absolute;
    top:calc(50 / 465 * 100%);
    right:calc(80 / 1720 * 100%);
    z-index:2;
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
    width:calc(300 / 1720 * 100%);
    height:calc((65 * 5 + 10 * 4) / 465 * 100%);
    gap:calc(10 / (65 * 5 + 10 * 4) * 100%);
    list-style:none;
}
.secArea .areaBtnItem{
    flex:1 1 0;
    min-width:0;
    min-height:0;
}
.secArea .areaBtn{
    position:relative;
    display:flex;
    align-items:center;
    box-sizing:border-box;
    width:100%;
    height:100%;
    padding:0 calc(30 / 300 * 100%);
    border:none;
    border-radius:999px;
    font-size:var(--pcFontSize15);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColorWhite);
    transition:background 0.2s ease-out;
}
.secArea .areaBtn01{
    background:var(--bgColorAreaBtn01);
}
.secArea .areaBtn02{
    background:var(--bgColorAreaBtn02);
}
.secArea .areaBtn03{
    background:var(--bgColorAreaBtn03);
}
.secArea .areaBtn04{
    background:var(--bgColorAreaBtn04);
}
.secArea .areaBtn05{
    background:var(--bgColorAreaBtn05);
}
.secArea .areaBtn01:hover{
    background:var(--bgColorAreaBtn01Hover);
}
.secArea .areaBtn02:hover{
    background:var(--bgColorAreaBtn02Hover);
}
.secArea .areaBtn03:hover{
    background:var(--bgColorAreaBtn03Hover);
}
.secArea .areaBtn04:hover{
    background:var(--bgColorAreaBtn04Hover);
}
.secArea .areaBtn05:hover{
    background:var(--bgColorAreaBtn05Hover);
}
.secArea .areaBtnTxt{
    flex-shrink:0;
}
.secArea .areaBtnNew{
    flex-shrink:0;
    margin:0 0 0 1rem;
    padding:0.3rem 0.8rem;
    background:var(--bgColorNew);
    font-size:var(--pcFontSize11);
    font-weight:700;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing20);
    color:var(--textColor);
}
.secArea .areaBtnArrow{
    position:absolute;
    top:0;
    right:calc(30 / 300 * 100%);
    bottom:0;
    width:17px;
    height:5px;
    margin:auto 0;
}
@media only screen and (max-width:1700px){
    .secArea .areaBtnArrow {
        right: calc(10 / 300 * 100%);
    }
}
@media only screen and (max-width:1215px){
    .secArea{
        padding:0 0 5rem;
    }
    .secArea .areaPinList{
        display:none;
    }
    .secArea .areaInner{
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: none;
        aspect-ratio: 750 / 798;
        min-height: 0;
        padding: 5rem 4%;
        background: url(../img/index/imgArea_sp.jpg) no-repeat right bottom / cover;
        color: var(--textColorWhite);
        align-items: center;
        justify-content: center;
        height: 40rem;
        max-width: 40rem;
    }
    .secArea .areaHead{
        position:relative;
        z-index:2;
        margin:0 0 calc((20 / 375) * var(--widthBase));
    }
    .secArea .areaLabel{
        position:relative;
        margin:0 0 calc((10 / 375) * var(--widthBase));
        padding:0 0 0 calc((40 / 375) * var(--widthBase));
        font-size:var(--spFontSize14);
        line-height:calc(20 / 14);
        letter-spacing:0;
    }
    .secArea .areaLabel::before{
        content:"";
        position:absolute;
        top:50%;
        left:0;
        width:calc((30 / 375) * var(--widthBase));
        height:1px;
        background:var(--textColorWhite);
        transform:translateY(-50%);
    }
    .secArea .areaTit{
        margin:0 0 calc((12 / 375) * var(--widthBase));
        font-size:var(--spFontSize18);
        line-height:calc(22 / 18);
        letter-spacing:0;
    }
    .secArea .areaLead{
        margin:0;
        font-size:var(--spFontSize12);
        line-height:calc(20 / 12);
        letter-spacing:0;
    }
    .secArea .areaCallout{
        position:relative;
        top:auto;
        left:auto;
        z-index:2;
        display:inline-flex;
        width:auto;
        height:auto;
        max-width:100%;
        margin:0 0 calc((20 / 375) * var(--widthBase));
        padding:0.6rem 1rem;
        background:var(--bgColor);
        opacity:1;
        border-radius:0.4rem;
        align-self:flex-start;
    }
    .secArea .areaCalloutTxt{
        position:static;
        width:auto;
        height:auto;
        overflow:visible;
        clip:auto;
        white-space:normal;
        font-size:var(--spFontSize11);
        line-height:calc(18 / 11);
        letter-spacing:0;
        color:var(--textColorGold);
    }
    .secArea .areaBtnList{
        position:relative;
        top:auto;
        right:auto;
        bottom:auto;
        left:auto;
        z-index:2;
        width:100%;
        height:auto;
        margin-top:auto;
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:0.8rem;
        align-items: end;
    }
    .secArea .areaBtnItem{
        flex:none;
        min-height:0;
    }
    .secArea .areaBtn{
        width:100%;
        height:calc((45 / 375) * var(--widthBase));
        padding:0 1.6rem;
        font-size:var(--spFontSize12);
    }
    .secArea .areaBtnArrow{
        right:1.2rem;
        width:12px;
        height:5px;
    }

    .secArea .areaBtnNew{
        position:absolute;
        top:-0.4rem;
        left:1.2rem;
        margin:0;
        padding:0.2rem 0.6rem;
        font-size:var(--spFontSize10);
    }
}

/*==============================
    secEstate
==============================*/
.secEstate{
    padding:0 0 18rem;
    background:var(--bgColorBeige);
}
.secEstate .estateInner{
    display:flex;
    align-items:center;
    gap:5rem;
}
.secEstate .estateMedia{
    flex-shrink:0;
    width:30rem;
}
.secEstate .estateImg{
    width:100%;
    height:auto;
    vertical-align:bottom;
}
.secEstate .estateBody{
    flex:1 1 auto;
    min-width:0;
}
.secEstate .estateTit{
    margin:0 0 1.8rem;
    font-size:var(--pcFontSize28);
    font-weight:500;
    line-height:calc(42 / 28);
    letter-spacing:var(--pcLetterSpacing40);
}
.secEstate .estateLead{
    margin:0 0 3.2rem;
    font-size:var(--pcFontSize15);
    line-height:calc(24 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secEstate .estateLinkList{
    display:flex;
    gap:3rem;
    margin:0;
    padding:0;
    list-style:none;
}
.secEstate .estateLinkItem{
    flex:1 1 0;
    min-width:0;
    max-width:32rem;
}
.secEstate .estateLink{
    position:relative;
    display:flex;
    align-items:center;
    box-sizing:border-box;
    width:100%;
    height:8.5rem;
    padding:0 3.6rem 0 0;
    background:var(--bgColor);
}
.secEstate .estateLinkThumb{
    flex-shrink:0;
    width:8.5rem;
    height:8.5rem;
    margin:0 1.6rem 0 0;
    object-fit:cover;
    vertical-align:bottom;
}
.secEstate .estateLinkTxt{
    flex:1 1 auto;
    min-width:0;
    font-size:var(--pcFontSize15);
    line-height:calc(22 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    font-weight: bold;
}
.secEstate .estateLinkArrow{
    position:absolute;
    top:0;
    right:1.6rem;
    bottom:0;
    width:17px;
    height:5px;
    margin:auto 0;
    filter:brightness(0);
}
@media only screen and (max-width:1600px){
    .secEstate .estateLinkList {
        gap: 2rem;
    }
}
@media only screen and (max-width:1400px){
    .secEstate .estateLinkTxt{
        font-size:var(--pcFontSize13);
    }
}
@media only screen and (max-width:1215px){
    .secEstate{
        padding:0 0 6rem;
    }
    .secEstate .estateInner{
        display:grid;
        grid-template-columns:calc((105 / 375) * var(--widthBase)) minmax(0, 1fr);
        column-gap:calc((16 / 375) * var(--widthBase));
        row-gap:calc((24 / 375) * var(--widthBase));
        align-items:center;
    }
    .secEstate .estateMedia{
        grid-column:1;
        grid-row:1;
        overflow:hidden;
        width:calc((105 / 375) * var(--widthBase));
        max-width:none;
        margin:0;
        aspect-ratio:1 / 1;
        border-radius:50%;
    }
    .secEstate .estateImg{
        width:100%;
        height:100%;
        object-fit:cover;
    }
    .secEstate .estateBody{
        display:contents;
    }
    .secEstate .estateIntro{
        grid-column:2;
        grid-row:1;
        min-width:0;
    }
    .secEstate .estateTit{
        margin:0 0 0.8rem;
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
        letter-spacing:0;
    }
    .secEstate .estateLead{
        margin:0;
        font-size:var(--spFontSize12);
        line-height:calc(20 / 12);
        letter-spacing:0;
    }
    .secEstate .estateLinkList{
        grid-column:1 / -1;
        grid-row:2;
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:calc((10 / 375) * var(--widthBase));
    }
    .secEstate .estateLinkItem{
        max-width:none;
    }
    .secEstate .estateLink{
        height:auto;
        min-height:calc((56 / 375) * var(--widthBase));
        padding:0 calc((28 / 375) * var(--widthBase)) 0 0;
        border-radius:0.8rem;
    }
    .secEstate .estateLinkThumb{
        width:calc((56 / 375) * var(--widthBase));
        height:calc((56 / 375) * var(--widthBase));
        margin:0 0.8rem 0 0;
    }
    .secEstate .estateLinkTxt{
        font-size:var(--spFontSize11);
        line-height:calc(16 / 11);
        letter-spacing:0;
    }
    .secEstate .estateLinkArrow{
        right:0.8rem;
        width:12px;
        height:5px;
    }
}

/*==============================
    secSpecialHome
==============================*/
.secSpecialHome{
    display:flex;
    align-items:center;
    box-sizing:border-box;
    height:calc((750 / 1920) * var(--widthBase));
    background:url("../img/index/imgSpecialHome.jpg") no-repeat center / cover;
}
.secSpecialHome .specialHomeInner{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    width:100%;
}
.secSpecialHome .specialHomeTxt{
    margin:0;
    font-size:var(--pcFontSize54);
    font-weight:700;
    font-style:italic;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColorWhite);
    text-align:right;
}

@media only screen and (max-width:1215px){
    .secSpecialHome{
        align-items: flex-end;
        height: 40rem;
        aspect-ratio: 750 / 750;
        min-height: 0;
        padding: 4.2rem 4%;
        background: url(../img/index/imgSpecialHome_sp.jpg) no-repeat center / cover;
        max-width: 40rem;
        margin: 0 auto;
    }
    .secSpecialHome .specialHomeInner{
        justify-content: flex-start;
        height:auto;
        align-items: flex-end;
    }
    .secSpecialHome .specialHomeTxt{
        font-size:var(--spFontSize28);
        letter-spacing:0;
        text-align:center;
    }
}
@media only screen and (max-width:400px){
    .secSpecialHome{
        max-width: unset;
        margin: unset;
        height: auto;
    }
}


/*==============================
    secConcept
==============================*/
.secConcept{
    padding:10rem 0 7rem;
    background:url("../img/index/bgConcept.jpg") no-repeat center / cover;
    background-color:var(--bgColorDark);
}
.secConcept .conceptInner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:6rem;
}
.secConcept .conceptContent{
    flex:1 1 auto;
    max-width:52rem;
    color:var(--textColorWhite);
}
.secConcept .conceptLabel{
    position:relative;
    margin:0 0 2.4rem;
    padding:0 0 0 9rem;
    font-size:var(--pcFontSize18);
    font-weight:500;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.secConcept .conceptLabel::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:8rem;
    height:1px;
    background:var(--textColorWhite);
    transform:translateY(-50%);
}
.secConcept .conceptTit{
    margin:0 0 3.2rem;
    font-size:var(--pcFontSize30);
    font-weight:500;
    line-height:calc(56 / 30);
    letter-spacing:var(--pcLetterSpacing40);
}
.secConcept .conceptLead{
    margin:0 0 4rem;
}
.secConcept .conceptLeadTxt{
    margin:0 0 2rem;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secConcept .conceptLeadTxt:last-child{
    margin-bottom:0;
}
.secConcept .conceptBtn{
    position:relative;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    box-sizing:border-box;
    min-width:28rem;
    height:6.5rem;
    padding:0 5rem 0 3rem;
    border:1px solid var(--bgColor);
    border-radius:100px;
    background:var(--bgColor);
    font-size:var(--pcFontSize14);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--bgColorDark);
    transition:background 0.2s ease-out, color 0.2s ease-out;
}
.secConcept .conceptBtnArrow{
    position:absolute;
    top:0;
    right:2rem;
    bottom:0;
    width:17px;
    height:5px;
    margin:auto 0;
    filter:brightness(0);
    transition:filter 0.2s ease-out;
}
.secConcept .conceptBtn:hover{
    background:transparent;
    color:var(--textColorWhite);
}
.secConcept .conceptBtn:hover .conceptBtnArrow{
    filter:none;
}
.secConcept .conceptSlider{
    flex:0 0 auto;
    width:calc((1000 / 1920) * var(--widthBase));
    max-width:100rem;
}
.secConcept .conceptSlider .swiper{
    overflow:hidden;
}
.secConcept .conceptSlideImg{
    width:100%;
    height:auto;
    vertical-align:bottom;
}
.secConcept .conceptPagination{
    position:absolute;
    bottom: 4rem !important;
    left: 4rem !important;
    z-index:2;
    display:flex;
    align-items:center;
    gap:1rem;
    width:auto;
}
.secConcept .swiper-pagination-bullet{
    width:1rem;
    height:1rem;
    margin:0 !important;
    background:var(--textColorWhite);
    opacity:0.4;
    border-radius:50%;
}
.secConcept .swiper-pagination-bullet-active{
    opacity:1;
}
.secConcept .conceptWhy{
    margin:15rem 0 0;
    padding:0 2rem;
    color:var(--textColorWhite);
    text-align:center;
}
.secConcept .conceptWhyEn{
    margin: 0 0 2rem;
    font-size: var(--pcFontSize18);
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    letter-spacing: var(--pcLetterSpacing40);
    position: relative;
    left: -17rem;
}
.secConcept .conceptWhyTit{
    margin:0 0 2.6rem;
    font-size:var(--pcFontSize28);
    font-weight:500;
    line-height:calc(42 / 28);
    letter-spacing:var(--pcLetterSpacing40);
}
.secConcept .conceptWhyLead{
    margin:0;
    font-size:var(--pcFontSize14);
    line-height:calc(28 / 14);
    letter-spacing:var(--pcLetterSpacing40);
}

@media only screen and (max-width:1215px){
    .secConcept{
        padding:4.8rem 0 2.8rem;
        background:url("../img/index/bgConcept_sp.jpg") no-repeat center / cover;
    }
    .secConcept .conceptInner{
        flex-direction:column;
        align-items:stretch;
        gap:2.5rem;
    }
    .secConcept .conceptContent{
        max-width:none;
    }
    .secConcept .conceptLabel{
        margin:0 0 1.6rem;
        padding:0 0 0 4.1rem;
        font-size:var(--spFontSize14);
        letter-spacing:0;
    }
    .secConcept .conceptLabel::before{
        width:3rem;
    }
    .secConcept .conceptTit{
        margin:0 0 1.2rem;
        font-size:var(--spFontSize18);
        line-height:calc(32 / 18);
    }
    .secConcept .conceptLead{
        margin:0 0 1.6rem;
    }
    .secConcept .conceptLeadTxt{
        margin:0 0 1.6rem;
        font-size:var(--spFontSize12);
        line-height:calc(24 / 12);
        letter-spacing: 0;
    }
    .secConcept .conceptBtn{
        width:100%;
        min-width:0;
        height:calc((50 / 375) * var(--widthBase));
        font-size:var(--spFontSize12);
        max-width: 22.5rem;
        padding:0 3rem 0 2rem;
        justify-content: flex-start;
    }
    .secConcept .conceptBtn:hover{
        background:var(--bgColor);
        color:var(--bgColorDark);
    }
    .secConcept .conceptBtn:hover .conceptBtnArrow{
        filter:brightness(0);
    }
    .secConcept .conceptBtnArrow {
        width: 12px;
    }
    .secConcept .conceptSlider{
        width:100%;
        max-width:none;
    }
    .secConcept .conceptSlider .swiper{
        padding-top:calc((24 / 375) * var(--widthBase));
        box-sizing:border-box;
    }
    .secConcept .conceptPagination{
        top:0 !important;
        right:0 !important;
        bottom:auto !important;
        left:auto !important;
        width:auto !important;
        gap:0.5rem;
    }
    .secConcept .swiper-pagination-bullet{
        width:0.5rem;
        height:0.5rem;
        background:var(--textColorWhite);
        opacity: 1;
    }
    .secConcept .swiper-pagination-bullet-active{
        background:var(--paginationColorActive);
        opacity:1;
    }
    .secConcept .conceptWhy{
        margin:5rem auto 0;
        padding:0;
    }
    .secConcept .conceptWhyEn{
        position:static;
        left:auto;
        margin:0 0 1rem;
        font-size:var(--spFontSize16);
        letter-spacing:0;
        text-align:left;
    }
    .secConcept .conceptWhyTit{
        margin:0 0 calc((16 / 375) * var(--widthBase));
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
        letter-spacing:0;
    }
    .secConcept .conceptWhyLead{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
        letter-spacing:0;
    }
}

/*==============================
    secReason
==============================*/
.secReason{
    width:100%;
    margin-top: 1px;
    margin-bottom: 1px;
}
.secReason .reasonList{
    display:flex;
    width:100%;
    gap: 1px;
}
.secReason .reasonItem{
    position:relative;
    display:block;
    flex:1 1 20%;
    min-width:0;
    /* 384×640 比率を維持し、縮小しても見切れない */
    aspect-ratio:384 / 640;
    background-repeat:no-repeat;
    background-position:center;
    background-size:100% 100%;
    color:var(--textColorWhite);
}
/* .secReason .reasonItem::before{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    z-index:1;
    height:40%;
    background:linear-gradient(to top, var(--maskColorDark50), transparent);
    pointer-events:none;
} */
.secReason .reasonItem01{
    background-image:url("../img/index/imgReason01.jpg");
}
.secReason .reasonItem02{
    background-image:url("../img/index/imgReason02.jpg");
}
.secReason .reasonItem03{
    background-image:url("../img/index/imgReason03.jpg");
}
.secReason .reasonItem04{
    background-image:url("../img/index/imgReason04.jpg");
}
.secReason .reasonItem05{
    background-image:url("../img/index/imgReason05.jpg");
}
.secReason .reasonItemTit{
    position:absolute;
    bottom:4.8rem;
    left:4rem;
    z-index:2;
    font-size:var(--pcFontSize20);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.secReason .reasonItemArrow{
    position:absolute;
    right:4rem;
    bottom:5.4rem;
    z-index:2;
    width:17px;
    height:5px;
}
@media only screen and (max-width:1600px){
    .secReason .reasonItemTit {
        font-size: var(--pcFontSize18);
    }
}
@media only screen and (max-width:1215px){
    .secReason .reasonList{
        flex-direction:column;
        background:var(--bgColor);
    }
    .secReason .reasonItem{
        flex:none;
        width:100%;
        height:calc((95 / 375) * var(--widthBase));
        aspect-ratio:auto;
        background-size:cover;
    }
    /* .secReason .reasonItem::before{
        top:0;
        height:100%;
        background:var(--maskColorDark30);
    } */
    .secReason .reasonItemTit{
        top:0;
        bottom:0;
        left:calc((20 / 375) * var(--widthBase));
        display:flex;
        align-items:center;
        font-size:var(--spFontSize16);
        letter-spacing:0;
    }
    .secReason .reasonItemArrow{
        top:0;
        right:calc((20 / 375) * var(--widthBase));
        bottom:0;
        width:17px;
        height:5px;
        margin:auto 0;
    }
    .secReason .reasonItem01{
        background-image:url("../img/index/imgReason01_sp.jpg");
    }
    .secReason .reasonItem02{
        background-image:url("../img/index/imgReason02_sp.jpg");
    }
    .secReason .reasonItem03{
        background-image:url("../img/index/imgReason03_sp.jpg");
    }
    .secReason .reasonItem04{
        background-image:url("../img/index/imgReason04_sp.jpg");
    }
    .secReason .reasonItem05{
        background-image:url("../img/index/imgReason05_sp.jpg");
    }
}

/*==============================
    secLineup
==============================*/
.secLineup{
    padding:16.7rem 0;
    background:var(--bgColorBeige);
}
.secLineup .lineupHead{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:4rem;
    margin:0 0 5.6rem;
}
.secLineup .lineupListBtn{
    flex-shrink:0;
    margin-bottom: 1rem;
}
.secLineup .lineupSeriesHead{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:3rem;
    margin:0 0 3.2rem;
}
.secLineup .lineupSeriesLabel{
    position:relative;
    margin:0 0 1.2rem;
    padding:0 0 0 1.6rem;
    font-size:var(--pcFontSize15);
    line-height:calc(20 / 13);
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColorTeal);
    font-weight: bold;
}
.secLineup .lineupSeriesLabel::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:0.8rem;
    height:0.8rem;
    border-radius:50%;
    background:var(--textColorTeal);
    transform:translateY(-50%);
}
.secLineup .lineupSeriesTit{
    display:flex;
    flex-direction:column;
    gap:1.6rem;
    margin:0;
}
.secLineup .lineupSeriesTitEn{
    font-size:var(--pcFontSize44);
    font-weight:bold;
    font-style: italic;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.secLineup .lineupSeriesTitJa{
    font-size:var(--pcFontSize18);
    line-height:calc(28 / 18);
    letter-spacing:var(--pcLetterSpacing40);
}
.secLineup .lineupNav{
    display:flex;
    flex-shrink:0;
    gap:1.2rem;
}
.secLineup .lineupNavPrev,
.secLineup .lineupNavNext{
    display:flex;
    justify-content:center;
    align-items:center;
    width:6.5rem;
    height:6.5rem;
    border:none;
    border-radius:50%;
    background:var(--bgColor);
    cursor:pointer;
    transition:opacity 0.2s ease-out;
}
.secLineup .lineupNavPrev.swiper-button-disabled,
.secLineup .lineupNavNext.swiper-button-disabled{
    opacity:0.35;
    cursor:default;
    pointer-events:none;
}
.secLineup .lineupNavArrow{
    width:17px;
    height:5px;
    vertical-align:top;
    filter:brightness(0);
}
.secLineup .lineupSlider{
    width:calc(100% + (100vw - 100%) / 2);
    overflow:hidden;
}
.secLineup .lineupSlider .swiper-slide{
    width:calc((640 / 1920) * var(--widthBase));
}
.secLineup .lineupCard{
    display:block;
}
.secLineup .lineupCardImg{
    overflow:hidden;
    margin:0 0 2rem;
}
.secLineup .lineupCardPhoto{
    width:100%;
    height:auto;
    vertical-align:bottom;
}
.secLineup .lineupCardTit{
    overflow:hidden;
    margin:0 0 0.6rem;
    font-size:var(--pcFontSize44);
    font-weight:bold;
    line-height:calc(56 / 44);
    letter-spacing:var(--pcLetterSpacing40);
    white-space:nowrap;
    text-overflow:ellipsis;
}
.secLineup .lineupCardSub{
    overflow:hidden;
    margin:0 0 0.6rem;
    font-size:var(--pcFontSize20);
    line-height:calc(36 / 20);
    letter-spacing:var(--pcLetterSpacing40);
    white-space:nowrap;
    text-overflow:ellipsis;
}
.secLineup .lineupCardTags{
    overflow:hidden;
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(28 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    white-space:nowrap;
    text-overflow:ellipsis;
}

/* Select Series（secLineup内） */
.secLineup .lineupSelect{
    margin-top:7.5rem;
    padding-top:7.5rem;
    border-top:1px solid var(--borderColorBeige);
}
.secLineup .selectHead{
    margin:0 0 4rem;
}
.secLineup .selectLabel{
    position:relative;
    margin:0 0 1.2rem;
    padding:0 0 0 1.8rem;
    font-size:var(--pcFontSize15);
    line-height:calc(28 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColorGold);
    font-weight: bold;
}
.secLineup .selectLabel::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:0.8rem;
    height:0.8rem;
    border-radius:50%;
    background:var(--btnCatalogBg);
    transform:translateY(-50%);
}
.secLineup .selectTit{
    display:flex;
    flex-direction:column;
    gap:1.6rem;
    margin:0;
}
.secLineup .selectTitEn{
    font-size:var(--pcFontSize44);
    font-weight:bold;
    font-style: italic;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.secLineup .selectTitJa{
    font-size:var(--pcFontSize18);
    line-height:calc(28 / 18);
    letter-spacing:var(--pcLetterSpacing40);
}
.secLineup .selectList{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:2rem;
    list-style:none;
}
.secLineup .selectItem{
    min-width:0;
}
.secLineup .selectCard{
    display:block;
}
.secLineup .selectCard picture{
    display:block;
}
.secLineup .selectCardImg{
    width:100%;
    height:auto;
    margin:0 0 3.4rem;
    vertical-align:bottom;
}
.secLineup .selectCardBody{
    display:block;
}
.secLineup .selectCardTit{
    margin:0 0 1.8rem;
    font-size:var(--pcFontSize24);
    line-height:calc(32 / 24);
    letter-spacing:var(--pcLetterSpacing40);
    text-align:center;
}
.secLineup .selectCardTags{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:0 0.6em;
    margin:0;
    padding:0;
    list-style:none;
    font-size:var(--pcFontSize15);
    line-height:calc(28 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secLineup .selectCardTags li{
    white-space:nowrap;
}
.secLineup .selectCardArrow{
    display:none;
}

/* Services（secLineup内） */
.secLineup{
    padding-bottom:0;
    overflow-x:clip;
}
.secLineup .lineupService{
    position:relative;
    z-index:0;
    margin-top:7.5rem;
    padding-top:7.5rem;
    padding-bottom:16.7rem;
}
.secLineup .lineupService::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:50%;
    z-index:-1;
    width:100vw;
    margin-left:-50vw;
    background:var(--bgColorBeigeLight);
    pointer-events:none;
}

@media only screen and (max-width:1215px){
    .secLineup{
        padding:7.2rem 0 0;
        width: 100%;
    }
    .secLineup .lineupInner{
        display:flex;
        flex-direction:column;
        padding:0 4%;
    }
    .secLineup .lineupHead{
        display:contents;
    }
    .secLineup .lineupHeadTxt{
        order:1;
        margin:0 0 calc((32 / 375) * var(--widthBase));
    }
    .secLineup .lineupListBtn{
        order:4;
        width:100%;
        max-width:calc((225 / 375) * var(--widthBase));
        margin:calc((38 / 375) * var(--widthBase)) auto 0;
    }
    .secLineup .lineupSeries{
        order:2;
    }
    .secLineup .lineupSeriesHead{
        flex-direction:row;
        align-items:flex-end;
        gap:1.6rem;
        margin:0 0 calc((20 / 375) * var(--widthBase));
    }
    .secLineup .lineupSeriesTxt{
        flex:1 1 auto;
        min-width:0;
    }
    .secLineup .lineupSeriesLabel{
        margin:0 0 0.3rem;
        font-size:var(--spFontSize12);
        letter-spacing:0;
    }
    .secLineup .lineupSeriesTit{
        gap:0.8rem;
    }
    .secLineup .lineupSeriesTitEn{
        font-size:var(--spFontSize28);
        letter-spacing:0;
    }
    .secLineup .lineupSeriesTitJa{
        font-size:var(--spFontSize12);
        line-height:calc(18 / 12);
        letter-spacing:0;
    }
    .secLineup .lineupNav{
        gap:0.8rem;
    }
    .secLineup .lineupNavPrev,
    .secLineup .lineupNavNext{
        width:calc((49 / 375) * var(--widthBase));
        height:calc((49 / 375) * var(--widthBase));
    }
    .secLineup .lineupSeriesLabel::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: var(--textColorTeal);
        transform: translateY(-50%);
    }
    .secLineup .selectLabel::before {
        width: 5px;
        height: 5px;
    }
    .secLineup .lineupNavArrow{
        width:17px;
        height:5px;
    }
    .secLineup .lineupSlider{
        width:calc(100% + 4%);
        margin-right:-4%;
    }
    .secLineup .lineupSlider .swiper-slide{
        width:calc((305 / 375) * var(--widthBase));
    }
    .secLineup .lineupCardImg{
        margin:0 0 1.2rem;
    }
    .secLineup .lineupCardTit{
        margin:0 0 0.4rem;
        font-size:var(--spFontSize28);
        line-height:calc(32 / 28);
        letter-spacing:0;
    }
    .secLineup .lineupCardSub{
        margin:0 0 0.4rem;
        font-size:var(--spFontSize14);
        line-height:calc(20 / 14);
        letter-spacing:0;
    }
    .secLineup .lineupCardTags{
        font-size:var(--spFontSize11);
        line-height:calc(18 / 11);
        letter-spacing:0;
        white-space:normal;
    }
    .secLineup .lineupSelect{
        order:3;
        margin-top:calc((40 / 375) * var(--widthBase));
        padding-top:calc((40 / 375) * var(--widthBase));
    }
    .secLineup .lineupService{
        order:5;
        margin-top:calc((40 / 375) * var(--widthBase));
        padding-top:calc((40 / 375) * var(--widthBase));
        padding-bottom:8rem;
    }
    .secLineup .selectHead{
        margin:0 0 calc((24 / 375) * var(--widthBase));
    }
    .secLineup .selectLabel{
        margin:0 0 0.3rem;
        font-size:var(--spFontSize12);
        letter-spacing:0;
    }
    .secLineup .selectTit{
        gap:0.8rem;
    }
    .secLineup .selectTitEn{
        font-size:var(--spFontSize28);
        letter-spacing:0;
    }
    .secLineup .selectTitJa{
        font-size:var(--spFontSize12);
        line-height:calc(18 / 12);
        letter-spacing:0;
    }
    .secLineup .selectList{
        grid-template-columns:1fr;
        gap:calc((15 / 375) * var(--widthBase));
    }
    .secLineup .selectCard{
        display:flex;
        align-items:center;
        gap:calc((15 / 375) * var(--widthBase));
    }
    .secLineup .selectCard picture{
        flex-shrink:0;
        width:calc((155 / 375) * var(--widthBase));
        height:calc((155 / 375) * var(--widthBase));
    }
    .secLineup .selectCardImg{
        width:100%;
        height:100%;
        margin:0;
        object-fit:cover;
    }
    .secLineup .selectCardBody{
        flex:1 1 auto;
        min-width:0;
    }
    .secLineup .selectCardTit{
        margin:0 0 0.6rem;
        font-size:var(--spFontSize16);
        line-height:calc(22 / 16);
        letter-spacing:0;
        text-align:left;
    }
    .secLineup .selectCardTags{
        justify-content:flex-start;
        font-size:var(--spFontSize11);
        line-height:calc(20 / 11);
        letter-spacing:0;
    }
    .secLineup .selectCardArrow{
        display:block;
        flex-shrink:0;
        width:12px;
        height:5px;
        filter:brightness(0);
    }
}

/*==============================
    secTechnology
==============================*/
.secTechnology{
    padding:12rem 0;
    background:url("../img/index/imgTechnology.jpg") no-repeat center / cover;
}
.secTechnology .technologyGrid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:3.5rem;
}
.secTechnology .technologyIntro{
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-sizing:border-box;
    aspect-ratio:550 / 640;
    padding:4rem 0;
    color:var(--textColorWhite);
}
.secTechnology .technologyLabel{
    position:relative;
    margin:0 0 2.4rem;
    padding:0 0 0 9rem;
    font-size:var(--pcFontSize18);
    font-weight:500;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.secTechnology .technologyLabel::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:8rem;
    height:1px;
    background:var(--textColorWhite);
    transform:translateY(-50%);
}
.secTechnology .technologyTit{
    display:flex;
    flex-direction:column;
    gap:1.2rem;
    margin:0 0 4.2rem;
}
.secTechnology .technologyTitSub{
    font-size:var(--pcFontSize30);
    font-weight:500;
    line-height:calc(56 / 30);
    letter-spacing:var(--pcLetterSpacing40);
}
.secTechnology .technologyTitMain{
    font-size:var(--pcFontSize44);
    font-weight:500;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing100);
}
.secTechnology .technologyLead{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secTechnology .technologyItem{
    position:relative;
    display:block;
    overflow:hidden;
    aspect-ratio:550 / 640;
}
/* .secTechnology .technologyItem::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:var(--maskColorDark30);
    pointer-events:none;
} */
.secTechnology .technologyItem picture{
    display:block;
    width:100%;
    height:100%;
}
.secTechnology .technologyItemImg{
    width:100%;
    height:100%;
    object-fit:cover;
    vertical-align:bottom;
}
.secTechnology .technologyItemTxt{
    position:absolute;
    top:50%;
    left:50%;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2.2rem;
    width:100%;
    padding:0 2rem;
    box-sizing:border-box;
    text-align:center;
    color:var(--textColorWhite);
    transform:translate(-50%, -50%);
}
.secTechnology .technologyItemTit{
    font-size:var(--pcFontSize34);
    font-weight:500;
    line-height:calc(48 / 34);
    letter-spacing:var(--pcLetterSpacing40);
}
.secTechnology .technologyItemEn{
    font-size:var(--pcFontSize18);
    font-style:italic;
    font-weight:400;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing100);
}
.secTechnology .technologyItemArrow{
    position:absolute;
    right:4rem;
    bottom:4rem;
    z-index:2;
    width:17px;
    height:5px;
}
.secTechnology .technologyFoot{
    display:flex;
    justify-content:center;
    margin:5rem 0 0;
}
.secTechnology .technologyBtn{
    position:relative;
    display:inline-flex;
    align-items:center;
    box-sizing:border-box;
    min-width:28rem;
    height:6.5rem;
    padding:0 4rem 0 4rem;
    border:1px solid var(--bgColor);
    border-radius:100px;
    background:var(--bgColor);
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--bgColorDark);
    font-weight:bold;
    transition:background 0.2s ease-out, color 0.2s ease-out, border-color 0.2s ease-out;
}
.secTechnology .technologyBtnArrow{
    position:absolute;
    top:0;
    right:3rem;
    bottom:0;
    width:17px;
    height:5px;
    margin:auto 0;
    filter:brightness(0);
    transition:filter 0.2s ease-out;
}
.secTechnology .technologyBtn:hover{
    background:transparent;
    border-color:var(--bgColor);
    color:var(--textColorWhite);
}
.secTechnology .technologyBtn:hover .technologyBtnArrow{
    filter:none;
}
@media only screen and (max-width:1600px){
    .secTechnology .technologyLead{
        font-size: var(--pcFontSize14);
    }
}
@media only screen and (max-width:1215px){
    .secTechnology{
        padding:5rem 0;
        background:url("../img/index/imgTechnology_sp.jpg") no-repeat center / cover;
    }
    .secTechnology .technologyGrid{
        grid-template-columns:1fr;
        gap:calc((16 / 375) * var(--widthBase));
    }
    .secTechnology .technologyIntro{
        aspect-ratio:auto;
        min-height:auto;
        padding:0 0 calc((32 / 375) * var(--widthBase));
    }
    .secTechnology .technologyLabel{
        margin:0 0 0.8rem;
        padding:0 0 0 calc((40 / 375) * var(--widthBase));
        font-size:var(--spFontSize14);
        letter-spacing:0;
    }
    .secTechnology .technologyLabel::before{
        width:calc((30 / 375) * var(--widthBase));
    }
    .secTechnology .technologyTit{
        margin:0 0 calc((20 / 375) * var(--widthBase));
        gap:calc((8 / 375) * var(--widthBase));
    }
    .secTechnology .technologyTitSub{
        font-size:var(--spFontSize18);
        line-height:calc(28 / 18);
    }
    .secTechnology .technologyTitMain{
        font-size:var(--spFontSize24);
    }
    .secTechnology .technologyLead{
        font-size:var(--spFontSize12);
        line-height:calc(24 / 12);
    }
    .secTechnology .technologyItem{
        aspect-ratio:690 / 270;
    }
    /* .secTechnology .technologyItem::before{
        background:var(--maskColorDark30);
    } */
    .secTechnology .technologyItemTxt{
        top:0;
        left:calc((30 / 375) * var(--widthBase));
        right:auto;
        bottom:0;
        width:auto;
        max-width:calc(100% - (60 / 375) * var(--widthBase));
        padding:0;
        align-items:flex-start;
        justify-content:center;
        gap:calc((8 / 375) * var(--widthBase));
        text-align:left;
        transform:none;
    }
    .secTechnology .technologyItemTit{
        font-size:var(--spFontSize18);
        line-height:calc(22 / 18);
    }
    .secTechnology .technologyItemEn{
        font-size:var(--spFontSize14);
    }
    .secTechnology .technologyItemArrow{
        top:0;
        right:calc((30 / 375) * var(--widthBase));
        bottom:0;
        width:17px;
        height:5px;
        margin:auto 0;
    }
    .secTechnology .technologyFoot{
        margin:calc((30 / 375) * var(--widthBase)) 0 0;
    }
    .secTechnology .technologyBtn{
        width:100%;
        max-width:calc((225 / 375) * var(--widthBase));
        min-width:0;
        height:calc((50 / 375) * var(--widthBase));
        padding:0 2rem;
        font-size:var(--spFontSize12);
        letter-spacing:0;
    }
    .secTechnology .technologyBtnArrow{
        right:2rem;
    }
    .secTechnology .technologyBtn:hover{
        background:var(--bgColor);
        color:var(--bgColorDark);
    }
    .secTechnology .technologyBtn:hover .technologyBtnArrow{
        filter:brightness(0);
    }
}

/*==============================
    secVoice
==============================*/
.secVoice{
    padding:14rem 0;
    background:var(--bgColorBeige);
}
.secVoice .voiceHead{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:4rem;
    margin:0 0 2.8rem;
}
.secVoice .voiceHeadCtrl{
    display:flex;
    flex-shrink:0;
    align-items:center;
    gap:3rem;
    margin-bottom: 1rem;
}
.secVoice .voiceNav{
    display:flex;
    gap:1.2rem;
}
.secVoice .voiceNavPrev,
.secVoice .voiceNavNext{
    display:flex;
    justify-content:center;
    align-items:center;
    width:6.5rem;
    height:6.5rem;
    border:none;
    border-radius:50%;
    background:var(--bgColor);
    cursor:pointer;
    transition:opacity 0.2s ease-out;
}
.secVoice .voiceNavPrev.swiper-button-disabled,
.secVoice .voiceNavNext.swiper-button-disabled{
    opacity:0.35;
    cursor:default;
    pointer-events:none;
}
.secVoice .voiceNavArrow{
    width:17px;
    height:5px;
    vertical-align:top;
    filter:brightness(0);
}
.secVoice .voiceSlider{
    width:calc(100% + (100vw - 100%) / 2);
    overflow:hidden;
}
.secVoice .voiceSlider .swiper-slide{
    width:calc((600 / 1920) * var(--widthBase));
}
.secVoice .voiceCard{
    display:block;
}
.secVoice .voiceCardImg{
    position:relative;
    overflow:visible;
    margin:0 0 2.4rem;
}
.secVoice .voiceCardPhoto{
    width:100%;
    height:auto;
    vertical-align:bottom;
}
.secVoice .voiceCardMeta{
    display:flex;
    align-items:center;
    gap:1rem;
    margin:0 0 1.2rem;
}
.secVoice .voiceCardArea{
    font-size:var(--pcFontSize15);
    line-height:calc(24 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColorWarmGray);
}
.secVoice .voiceCardNew{
    position:absolute;
    left:0;
    bottom:0;
    z-index:1;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    box-sizing:border-box;
    width:44px;
    height:24px;
    background:var(--bgColorNew);
    font-size:var(--pcFontSize12);
    font-weight:700;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.secVoice .voiceCardTit{
    overflow:hidden;
    margin:0 0 1.2rem;
    font-size:var(--pcFontSize24);
    font-weight:500;
    line-height:calc(36 / 24);
    letter-spacing:var(--pcLetterSpacing40);
    white-space:nowrap;
    text-overflow:ellipsis;
}
.secVoice .voiceCardInfo{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(28 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secVoice .voiceCardInfo .infotxt + .infotxt::before{
    content: "|";
    font-size: var(--pcFontSize15);
    line-height: calc(28 / 15);
    padding: 0 0.3rem;
}

@media only screen and (max-width:1215px){
    .secVoice{
        padding:7.5rem 0 7rem;
        width: 100%;
    }
    .secVoice .voiceInner{
        display:flex;
        flex-direction:column;
    }
    .secVoice .voiceHead{
        display:contents;
    }
    .secVoice .voiceHeadTxt{
        order:1;
        margin:0 0 2rem;
    }
    .secVoice .voiceLead{
        margin:0;
    }
    .secVoice .voiceSlider{
        order:2;
        width:calc(100% + 2rem);
        margin:0 0 2.4rem;
        overflow:hidden;
    }
    .secVoice .voiceHeadCtrl{
        order:3;
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        justify-content:space-between;
        gap:4%;
        margin:0;
    }
    .secVoice .voiceNav{
        gap:0.5rem;
    }
    .secVoice .voiceNavPrev,
    .secVoice .voiceNavNext{
        width:calc((49 / 375) * var(--widthBase));
        height:calc((49 / 375) * var(--widthBase));
    }
    .secVoice .voiceListBtn{
        width:65%;
        max-width:22.5rem;
    }
    .secVoice .voiceSlider .swiper-slide{
        width:calc((305 / 375) * var(--widthBase));
    }
    .secVoice .voiceCardImg{
        margin:0 0 1.4rem;
    }
    .secVoice .voiceCardNew{
        left:0;
        bottom:-0.7rem;
        width:calc((34 / 375) * var(--widthBase));
        height:calc((16 / 375) * var(--widthBase));
        font-size:var(--spFontSize10);
    }
    .secVoice .voiceCardMeta{
        margin:0 0 0.8rem;
    }
    .secVoice .voiceCardArea{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
        letter-spacing:0;
    }
    .secVoice .voiceCardTit{
        margin:0 0 0.8rem;
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
        letter-spacing:0;
        white-space:normal;
        text-overflow:clip;
    }
    .secVoice .voiceCardInfo{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
        letter-spacing:0;
    }
    .secVoice .voiceCardInfo .infotxt + .infotxt::before{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
        padding: 0 0.2rem;
    }
}

/*==============================
    secCheck
==============================*/
.secCheck{
    position:relative;
    padding:0 0 10rem;
    background:var(--bgColorBeige);
}
.secCheck::before{
    content:"";
    position:absolute;
    top:-40px;
    left:50%;
    z-index:2;
    width:1px;
    height:80px;
    background:var(--textColorTeal);
    transform:translateX(-50%);
}
.secCheck .checkInner{
    position:relative;
    box-sizing:border-box;
    padding:8rem 0 8rem;
    border:1px solid var(--borderColor);
}
.secCheck .checkContent{
    position:relative;
}
.secCheck .checkBgTxt{
    position:absolute;
    top:43%;
    left:50%;
    z-index:0;
    margin:0;
    font-family:'Cormorant', serif;
    font-size:var(--pcFontSize150);
    font-weight:bold;
    font-style:italic;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    text-align:center;
    color:var(--textColorCheckBg);
    white-space:nowrap;
    pointer-events:none;
    transform:translate(-50%, -50%);
}
.secCheck .checkHead{
    position:relative;
    z-index:1;
    margin:0 0 4.2rem;
    padding:0;
    text-align:center;
}
.secCheck .checkTit{
    margin:0 0 3rem;
    font-size:var(--pcFontSize30);
    font-weight:500;
    line-height:calc(36 / 30);
    letter-spacing:var(--pcLetterSpacing40);
}
.secCheck .checkLead{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secCheck .checkList{
    position:relative;
    z-index:1;
    display:flex;
    justify-content:center;
    gap:3rem;
    margin:0;
    padding:0;
    list-style:none;
}
.secCheck .checkItem{
    flex:0 0 auto;
    width:calc((400 / 1920) * var(--widthBase));
}
.secCheck .checkCard{
    position:relative;
    display:flex;
    align-items:center;
    box-sizing:border-box;
    width:100%;
    height:10.5rem;
    padding:0 3rem 0 0;
    background:var(--bgColor);
}
.secCheck .checkCardThumb{
    flex-shrink:0;
    width:10.5rem;
    height:10.5rem;
    margin:0 2rem 0 0;
    object-fit:cover;
    vertical-align:bottom;
}
.secCheck .checkCardBody{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    gap:0.6rem;
    min-width:0;
}
.secCheck .checkCardTit{
    font-size:var(--pcFontSize15);
    font-weight:700;
    line-height:calc(22 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secCheck .checkCardSub{
    overflow:hidden;
    font-size:var(--pcFontSize12);
    line-height:calc(18 / 12);
    letter-spacing:var(--pcLetterSpacing40);
    white-space:nowrap;
    text-overflow:ellipsis;
}
.secCheck .checkCardArrow{
    position:absolute;
    top:0;
    right:3rem;
    bottom:0;
    width:17px;
    height:5px;
    margin:auto 0;
    filter:brightness(0);
}
@media only screen and (max-width:1600px){
    .secCheck .checkCardTit{
        font-size:var(--pcFontSize13);
        letter-spacing:0;
    }
    .secCheck .checkItem {
        flex: 0 0 auto;
        width: calc((480 / 1920) * var(--widthBase));
    }
}
@media only screen and (max-width:1215px){
    .secCheck{
        padding:0 0 3rem;
    }
    .secCheck .checkInner{
        padding:4.2rem 1.5rem 3rem;
        border-radius: 0.3rem;
    }
    .secCheck::before {
        top: -20px;
        height: 40px;
    }
    .secCheck .checkBgTxt{
        top:unset;
        bottom:-36px;
        font-size:var(--spFontSize40);
        letter-spacing:0;
        color:var(--textColorCheckBg10);
        transform:translate(-50%, 0);
    }
    .secCheck .checkHead{
        margin:0 0 3.2rem;
    }
    .secCheck .checkTit{
        margin:0 0 1rem;
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
        letter-spacing: 0;
    }
    .secCheck .checkLead{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
        letter-spacing: 0;
    }
    .secCheck .checkList{
        flex-direction:column;
        gap:1rem;
    }
    .secCheck .checkItem{
        width:100%;
    }
    .secCheck .checkCard{
        height:auto;
        min-height:calc((65 / 375) * var(--widthBase));
        padding:0 3.2rem 0 0;
    }
    .secCheck .checkCardThumb{
        width:6.5rem;
        height:6.5rem;
        margin:0 1.6rem 0 0;
    }
    .secCheck .checkCardTit{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
    }
    .secCheck .checkCardSub{
        font-size:var(--spFontSize10);
    }
    .secCheck .checkCardArrow{
        right:1.6rem;
    }
    .secCheck .checkCardBody {
        gap: 0;
    }
}

/*==============================
    secColumn
==============================*/
.secColumn{
    padding:4rem 0;
    background:var(--bgColorBeige);
}
.secColumn .columnHead{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:4rem;
}
.secColumn .columnListBtn{
    flex-shrink:0;
    margin-bottom: 1rem;
}
.secColumn .columnBody{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:calc((100 / 1920) * var(--widthBase));
    padding:5rem 0 0;
    min-width:0;
}
.secColumn .columnCat{
    flex: 0 0 auto;
    width: calc((200 / 1920) * var(--widthBase));
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
    top: -2rem;
}
.secColumn .columnCatItem{
    border-bottom:1px solid var(--borderColor);
}
.secColumn .columnCatBtn{
    position:relative;
    display:block;
    box-sizing:border-box;
    width:100%;
    padding:1.5rem 0 1.5rem 2.4rem;
    border:none;
    background:transparent;
    font-size:var(--pcFontSize13);
    line-height:calc(22 / 13);
    letter-spacing:var(--pcLetterSpacing40);
    text-align:left;
    color:var(--textColor);
    cursor:pointer;
}
.secColumn .columnCatBtn::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:1.2rem;
    height:1.2rem;
    border-radius:50%;
    background:var(--bgColor);
    transform:translateY(-50%);
}
.secColumn .columnCatBtn.isActive::before{
    border-color:var(--paginationColorActive);
    background:var(--paginationColorActive);
}
.secColumn .columnPanels{
    flex:1 1 auto;
    width:auto;
    min-width:0;
    max-width:calc((1420 / 1920) * var(--widthBase));
}
.secColumn .columnPanel{
    display:none;
}
.secColumn .columnPanel.isActive{
    display:block;
}
.secColumn .columnCardList{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:calc((40 / 1920) * var(--widthBase));
    margin:0;
    padding:0;
    list-style:none;
}
.secColumn .columnCardItem{
    min-width:0;
}
.secColumn .columnCard{
    display:block;
}
.secColumn .columnCardImg{
    overflow:hidden;
    aspect-ratio:650 / 480;
    margin:0 0 3rem;
}
.secColumn .columnCardPhoto{
    width:100%;
    height:100%;
    object-fit:cover;
    vertical-align:bottom;
}
.secColumn .columnCardTit{
    display:-webkit-box;
    overflow:hidden;
    margin:0 0 1.8rem;
    font-size:var(--pcFontSize18);
    font-weight:bold;
    line-height:calc(30 / 18);
    letter-spacing:var(--pcLetterSpacing40);
    text-overflow:ellipsis;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    max-height:calc(var(--pcFontSize18) * (30 / 18) * 2);
}
.secColumn .columnCardMeta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:0.8rem 0;
    margin:0;
    font-size:var(--pcFontSize13);
    letter-spacing:var(--pcLetterSpacing40);
}
.secColumn .columnCardTags{
    padding:0 1.2rem 0 0;
    border-right:1px solid var(--textColor);
}
.secColumn .columnCardDate{
    padding:0 0 0 1.2rem;
}
@media only screen and (max-width:1750px){
    .secColumn .columnCatBtn {
        font-size: var(--pcFontSize12);
        letter-spacing: 0;
    }
}
@media only screen and (max-width:1600px){
    .secColumn .columnCatBtn {
        font-size: var(--pcFontSize11);
    }
}
@media only screen and (max-width:1215px){
    .secColumn{
        padding:4rem 0 4rem;
        width: 100%;
    }
    .secColumn .columnInner{
        display:flex;
        flex-direction:column;
    }
    .secColumn .columnHead{
        display:contents;
    }
    .secColumn .columnHeadTxt{
        order:1;
        margin:0 0 2rem;
    }
    .secColumn .columnTit{
        gap:0.8rem;
        margin:0 0 1.2rem;
    }
    .secColumn .columnLead{
        margin:0;
    }
    .secColumn .columnListBtn{
        order:3;
        align-self:center;
        width:100%;
        max-width:calc((225 / 375) * var(--widthBase));
        margin:3.2rem 0 0;
    }
    .secColumn .columnBody{
        order:2;
        flex-direction:column;
        gap:1.8rem;
        padding:0;
    }
    .secColumn .columnCat{
        display:flex;
        flex-wrap:nowrap;
        gap:0.5rem;
        width: calc(100% + 8%);
        margin-right: -4%;
        margin-left: -4%;
        top:0;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        padding: 0 4%;
    }
    .secColumn .columnCat::-webkit-scrollbar{
        display:none;
    }
    .secColumn .columnCatItem{
        flex:0 0 auto;
        border-bottom:none;
    }
    .secColumn .columnCatBtn{
        display:inline-flex;
        align-items:center;
        gap:0.2rem;
        width:auto;
        height:calc((36 / 375) * var(--widthBase));
        padding:0 1rem;
        border:1px solid var(--borderColorBeige);
        border-radius:10rem;
        background:var(--bgColorBeige);
        font-size:var(--spFontSize12);
        line-height:1;
        letter-spacing:0;
        white-space:nowrap;
        font-weight:bold;
    }
    .secColumn .columnCatBtn::before{
        position:static;
        flex:0 0 auto;
        width:5px;
        height:5px;
        border-color:var(--borderColorBeige);
        background:var(--bgColor);
        transform:none;
    }
    .secColumn .columnCatBtn.isActive{
        background:var(--bgColor);
    }
    .secColumn .columnCatBtn.isActive::before{
        border-color:var(--textColorTeal);
        background:var(--textColorTeal);
    }
    .secColumn .columnPanels{
        width:100%;
        max-width:none;
    }
    .secColumn .columnCardList{
        display:flex;
        flex-wrap:wrap;
        grid-template-columns:none;
        gap:2.4rem 1.2rem;
    }
    .secColumn .columnCardItem{
        width:calc((100% - 1.2rem) / 2);
    }
    .secColumn .columnCardImg{
        margin:0 0 1rem;
    }
    .secColumn .columnCardTit{
        margin:0 0 0.8rem;
        font-size:var(--spFontSize13);
        line-height:calc(20 / 13);
        letter-spacing:0;
        -webkit-line-clamp:3;
        line-clamp:3;
        max-height:calc(var(--spFontSize13) * (20 / 13) * 3);
    }
    .secColumn .columnCardMeta{
        flex-direction:column;
        align-items:flex-start;
        gap:0.4rem;
        font-size:var(--spFontSize10);
        letter-spacing:0;
        line-height:calc(16 / 10);
        color:var(--textColorWarmGray);
    }
    .secColumn .columnCardTags{
        padding:0;
        border-right:none;
    }
    .secColumn .columnCardDate{
        padding:0;
    }
}

/*==============================
    secGuide
==============================*/
.secGuide{
    width:100%;
    background: var(--bgColorBeige);
}
.secGuide .guideList{
    display:flex;
    width:100%;
    margin:0;
    padding:0;
    list-style:none;
    padding-top: 15rem;
}
.secGuide .guideItem{
    flex:1 1 25%;
    min-width:0;
}
.secGuide .guideCard{
    position:relative;
    display:block;
    height:100%;
    background:var(--bgColor);
}
.secGuide .guideCardMedia{
    position:relative;
    overflow:visible;
    aspect-ratio:480 / 300;
}
.secGuide .guideCardImg{
    width:100%;
    height:100%;
    object-fit:cover;
    vertical-align:bottom;
}
.secGuide .guideCardBanner{
    position:absolute;
    bottom:0;
    left:50%;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    width:calc((320 / 1920) * var(--widthBase));
    height:calc((30 / 1920) * var(--widthBase));
    margin:0;
    padding:0;
    background:var(--btnReserveBg);
    clip-path: polygon(0 0, 100% 0, calc(100% - 0.4rem) 100%, 0.4rem 100%);
    font-size:var(--pcFontSize12);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    text-align:center;
    white-space:nowrap;
    color:var(--textColorWhite);
    transform:translate(-50%, 50%);
}
.secGuide .guideCardBannerLabel,
.secGuide .guideCardBannerTxt{
    display:inline;
}
.secGuide .guideCardBannerSep{
    display:inline;
}
.secGuide .guideCardBody{
    position:relative;
    z-index:1;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-height:22rem;
    padding:4rem 3rem 12.6rem;
    border-right:1px solid var(--borderColor);
    text-align:center;
}
.secGuide .guideItem:last-child .guideCardBody{
    border-right:none;
}
.secGuide .guideCardTit{
    margin:0 0 1.6rem;
    font-size:var(--pcFontSize24);
    font-weight:bold;
    line-height:calc(36 / 24);
    letter-spacing:var(--pcLetterSpacing40);
}
.secGuide .guideCardLead{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(30 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secGuide .guideCardArrow{
    position:absolute;
    right:0;
    bottom:9rem;
    left:0;
    width:17px;
    height:5px;
    margin:0 auto;
    filter:brightness(0);
}

@media only screen and (max-width:1215px){
    .secGuide .guideList{
        flex-wrap:wrap;
        padding-top: 3rem;
    }
    .secGuide .guideItem{
        flex:1 1 50%;
    }
    .secGuide .guideCardBody{
        min-height:17rem;
        padding:2.5rem 1rem 2rem;
    }
    .secGuide .guideItem:nth-child(2n) .guideCardBody{
        border-right:none;
    }
    .secGuide .guideItem:nth-child(-n+2) .guideCardBody{
        border-bottom:1px solid var(--borderColor);
    }
    .secGuide .guideCardBanner{
        flex-direction:column;
        align-items:center;
        gap:0;
        width:calc((148 / 375) * var(--widthBase));
        height:auto;
        background:transparent;
        clip-path:none;
        white-space:normal;
        letter-spacing:0;
    }
    .secGuide .guideCardBannerSep{
        display:none;
    }
    .secGuide .guideCardBannerLabel{
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: calc((80 / 375) * var(--widthBase));
        height: calc((18 / 375) * var(--widthBase));
        background: var(--textColorTeal);
        font-size: var(--spFontSize10);
        line-height: 1;
        font-weight: 500;
        position: relative;
        z-index: 2;
    }
    .secGuide .guideCardBannerTxt{
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        width: 100%;
        height: calc((25 / 375) * var(--widthBase));
        padding: 0 0.6rem;
        background: var(--textColorTeal);
        clip-path: polygon(0 0, 100% 0, calc(100% - 0.6rem) 100%, 0.6rem 100%);
        font-size: var(--spFontSize10);
        line-height: 1;
        font-weight: 700;
        position: relative;
        top: -5px;
    }
    .secGuide .guideCardTit{
        margin:0 0 1.2rem;
        font-size:var(--spFontSize16);
        line-height:calc(18 / 16);
    }
    .secGuide .guideCardLead{
        font-size:var(--spFontSize12);
        line-height:calc(20 / 12);
    }
    .secGuide .guideCardArrow{
        bottom: 4rem;
    }
}

/*==============================
    secAbout
==============================*/
.secAbout{
    background:var(--bgColorBeige);
}
.secAbout .aboutMain{
    padding:14rem 0 25rem;
    background:url("../img/index/bgAbout.jpg") no-repeat center / cover;
    color:var(--textColorWhite);
}
.secAbout .aboutRow{
    display:flex;
    justify-content:space-between;
    gap:4rem;
}
.secAbout .aboutTxt{
    flex:0 1 52rem;
    min-width:0;
}
.secAbout .aboutLabel{
    position:relative;
    margin:0 0 1.5rem;
    padding:0 0 0 9rem;
    font-size:var(--pcFontSize18);
    font-weight:bold;
    line-height:calc(30 / 18);
    letter-spacing:var(--pcLetterSpacing400);
}
.secAbout .aboutLabel::before{
    content:"";
    position:absolute;
    top:50%;
    left:0;
    width:8rem;
    height:1px;
    background:var(--textColorWhite);
    transform:translateY(-50%);
}
.secAbout .aboutTit{
    margin:0 0 3rem;
    font-size:var(--pcFontSize30);
    line-height:calc(56 / 30);
    letter-spacing:var(--pcLetterSpacing40);
}
.secAbout .aboutLead{
    margin:0 0 4rem;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secAbout .aboutBtn{
    position:relative;
    display:inline-flex;
    align-items:center;
    box-sizing:border-box;
    min-width:28rem;
    height:6.5rem;
    padding:0 4rem 0 4rem;
    border:1px solid var(--bgColor);
    border-radius:100px;
    background:var(--bgColor);
    font-size:var(--pcFontSize15);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--bgColorDark);
    font-weight:bold;
    transition:background 0.2s ease-out, color 0.2s ease-out, border-color 0.2s ease-out;
}
.secAbout .aboutBtnArrow{
    position:absolute;
    top:0;
    right:3rem;
    bottom:0;
    width:17px;
    height:5px;
    margin:auto 0;
    filter:brightness(0);
    transition:filter 0.2s ease-out;
}
.secAbout .aboutBtn:hover{
    background:transparent;
    border-color:var(--bgColor);
    color:var(--textColorWhite);
}
.secAbout .aboutBtn:hover .aboutBtnArrow{
    filter:none;
}
.secAbout .aboutCircleList{
    display:flex;
    flex-shrink:0;
    align-items:flex-start;
    align-self:flex-start;
    margin:0;
    padding:0;
    list-style:none;
    margin-top: 1rem;
}
.secAbout .aboutCircleItem{
    position:relative;
    align-self:flex-start;
    width:calc((390 / 1920) * var(--widthBase));
}
.secAbout .aboutCircleItem + .aboutCircleItem{
    margin-left:calc((-14 / 1920) * var(--widthBase));
}
.secAbout .aboutCircle{
    position:relative;
    overflow:hidden;
    aspect-ratio:1 / 1;
    border-radius:50%;
}
/* .secAbout .aboutCircle::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(to top, var(--maskColorDark50), transparent 55%);
    pointer-events:none;
} */
.secAbout .aboutCircle picture{
    display:block;
    width:100%;
    height:100%;
}
.secAbout .aboutCircleImg{
    width:100%;
    height:100%;
    object-fit:cover;
    vertical-align:bottom;
}
.secAbout .aboutCircleTit{
    position:absolute;
    top:42%;
    left:50%;
    z-index:2;
    box-sizing:border-box;
    width:80%;
    margin:0;
    font-size:calc((22 / 1920) * var(--widthBase));
    line-height:calc(40 / 22);
    letter-spacing:var(--pcLetterSpacing40);
    text-align:center;
    color:var(--textColorWhite);
    transform:translate(-50%, -50%);
}
.secAbout .aboutCircleLead{
    position:absolute;
    top:58%;
    left:50%;
    z-index:2;
    box-sizing:border-box;
    width:80%;
    margin:0;
    font-size:calc((15 / 1920) * var(--widthBase));
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    text-align:center;
    color:var(--textColorWhite);
    transform:translate(-50%, 0);
}
.secAbout .aboutRecruit{
    position:relative;
    z-index:2;
    margin-top:-13rem;
    padding:0 0 10rem;
}
.secAbout .aboutRecruitCard{
    display:flex;
    align-items:stretch;
    overflow:hidden;
    background:var(--btnCatalogBg);
    color:var(--textColorWhite);
}
.secAbout .aboutRecruitMedia{
    flex-shrink:0;
    width:calc((500 / 1920) * var(--widthBase));
}
.secAbout .aboutRecruitImg{
    width:100%;
    height:100%;
    object-fit:cover;
    vertical-align:bottom;
}
.secAbout .aboutRecruitBody{
    position:relative;
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    justify-content:center;
    box-sizing:border-box;
    min-width:0;
    min-height:calc((260 / 1920) * var(--widthBase));
    padding:3.2rem 14rem 3.2rem 5rem;
}
.secAbout .aboutRecruitLabel{
    margin:0 0 1.2rem;
    font-size:var(--pcFontSize24);
    font-weight:500;
    font-style:italic;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.secAbout .aboutRecruitTit{
    margin:0 0 1.6rem;
    font-size:var(--pcFontSize24);
    font-weight:500;
    line-height:calc(36 / 24);
    letter-spacing:var(--pcLetterSpacing40);
}
.secAbout .aboutRecruitSub{
    position:relative;
    display:inline-flex;
    align-items:center;
    align-self:flex-start;
    margin:0;
    padding:0;
    font-size:var(--pcFontSize15);
    line-height:calc(20 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secAbout .aboutRecruitSub::after{
    content:"";
    flex-shrink:0;
    width:5rem;
    height:1px;
    margin:0 0 0 0.8rem;
    background:var(--textColorWhite);
}
.secAbout .aboutRecruitLink{
    position:absolute;
    right:4rem;
    display:inline-flex;
    align-items:center;
    gap:1.2rem;
    font-size:var(--pcFontSize14);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    text-decoration:underline;
    text-underline-offset:0.4rem;
}
.secAbout .aboutRecruitLinkArrow{
    width:17px;
    height:5px;
}
@media only screen and (max-width:1300px){
    .secAbout .aboutTit {
        font-size: var(--pcFontSize24);
        line-height: calc(40 / 24);
        letter-spacing: var(--pcLetterSpacing40);
    }
    .secAbout .aboutLead {
        font-size: var(--pcFontSize12);
        line-height: calc(24 / 12);
        letter-spacing: var(--pcLetterSpacing40);
    }
}
@media only screen and (max-width:1215px){
    .secAbout .aboutMain{
        overflow:visible;
        padding:8rem 0 9rem;
    }
    .secAbout .aboutInner{
        overflow:visible;
    }
    .secAbout .aboutRow{
        flex-direction:column;
        align-items:stretch;
        gap:3.2rem;
        overflow:visible;
    }
    .secAbout .aboutTxt{
        order:2;
        flex:none;
        width:100%;
    }
    .secAbout .aboutLabel{
        margin:0 0 0.2rem;
        padding:0 0 0 4rem;
        font-size:var(--spFontSize14);
        letter-spacing:0;
    }
    .secAbout .aboutLabel::before{
        width:3rem;
    }
    .secAbout .aboutTit{
        margin:0 0 1rem;
        font-size:var(--spFontSize18);
        line-height:calc(32 / 18);
        letter-spacing:0;
    }
    .secAbout .aboutLead{
        margin:0 0 2rem;
        font-size:var(--spFontSize12);
        line-height:calc(24 / 12);
        letter-spacing:0;
    }
    .secAbout .aboutBtn{
        width:calc((225 / 375) * var(--widthBase));
        max-width:100%;
        min-width:0;
        height:calc((50 / 375) * var(--widthBase));
        padding:0 2.4rem 0 2.4rem;
        font-size:var(--spFontSize12);
        letter-spacing:0;
    }
    .secAbout .aboutBtnArrow{
        right:2rem;
    }
    .secAbout .aboutBtn:hover{
        background:var(--bgColor);
        color:var(--bgColorDark);
    }
    .secAbout .aboutBtn:hover .aboutBtnArrow{
        filter:brightness(0);
    }
    .secAbout .aboutCircleList{
        order:1;
        justify-content:center;
        flex-wrap:nowrap;
        gap:0;
        width:100%;
        margin:0;
        overflow:visible;
    }
    .secAbout .aboutCircleItem{
        display:flex;
        flex:0 0 auto;
        flex-direction:column;
        align-items:center;
        width:calc((135 / 375) * var(--widthBase));
        min-width:0;
        max-width:none;
    }
    .secAbout .aboutCircleItem + .aboutCircleItem{
        margin-left:calc((-6 / 375) * var(--widthBase));
    }
    .secAbout .aboutCircle{
        box-sizing:border-box;
        width:100%;
        border:1px solid var(--textColorWhite40);
    }
    .secAbout .aboutCircleTit{
        top:50%;
        width:88%;
        font-size:var(--spFontSize14);
        line-height:calc(20 / 14);
        letter-spacing:0;
        transform:translate(-50%, -50%);
    }
    .secAbout .aboutCircleLead{
        position:static;
        width:100%;
        margin:0.8rem 0 0;
        font-size:var(--spFontSize10);
        line-height:calc(16 / 10);
        letter-spacing:0;
        transform:none;
    }
    .secAbout .aboutRecruit{
        margin-top:-4rem;
        padding:0 0 7rem;
    }
    .secAbout .aboutRecruitCard{
        flex-direction:column;
        background:transparent;
        color:var(--textColor);
        overflow:visible;
    }
    .secAbout .aboutRecruitMedia{
        position:relative;
        width:100%;
        aspect-ratio:690 / 360;
        overflow:hidden;
    }
    .secAbout .aboutRecruitMedia::after{
        content:"";
        position:absolute;
        right:0;
        bottom:0;
        left:0;
        z-index:1;
        height:50%;
        background:linear-gradient(to top, var(--maskColorDark50), transparent);
        pointer-events:none;
    }
    .secAbout .aboutRecruitBody{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.4rem 1.2rem;
        min-height: 0;
        padding: 0;
        background: transparent;
    }
    .secAbout .aboutRecruitLabel{
        position:relative;
        z-index:2;
        width:100%;
        margin:-28% 0 0.6rem;
        padding:0 1.6rem;
        font-size:var(--spFontSize20);
        letter-spacing:0;
        color:var(--textColorWhite);
    }
    .secAbout .aboutRecruitTit{
        position:relative;
        z-index:2;
        width:100%;
        margin:-16% 0 0rem;
        padding:0 1.6rem;
        font-size:var(--spFontSize16);
        line-height:calc(26 / 16);
        letter-spacing:0;
        color:var(--textColorWhite);
    }
    .secAbout .aboutRecruitSub{
        flex:1 1 auto;
        min-width:0;
        margin:0;
        padding:0;
        font-size:var(--spFontSize12);
        line-height:calc(20 / 12);
        letter-spacing:0;
        color:var(--textColor);
    }
    .secAbout .aboutRecruitSub::after{
        display:none;
    }
    .secAbout .aboutRecruitLink{
        position:static;
        flex:0 0 auto;
        gap:0.8rem;
        font-size:var(--spFontSize13);
        letter-spacing:0;
        color:var(--textColor);
        font-weight:700;
        text-underline-offset: 0.1rem;
    }
    .secAbout .aboutRecruitLinkArrow{
        filter:brightness(0);
    }
}

/*==============================
    secNews
==============================*/
.secNews{
    padding:4rem 0 6rem;
    background:var(--bgColorBeige);
}
.secNews .newsRow{
    display:flex;
    align-items:flex-start;
    gap:10rem;
}
.secNews .newsTit{
    flex-direction:column;
    flex-shrink:0;
    align-items:flex-start;
    gap:1.8rem;
    margin:0;
}
.secNews .newsMain{
    flex:1 1 auto;
    min-width:0;
    width: 100%;
}
.secNews .newsList{
    margin:0 0 3rem;
    padding:0;
    list-style:none;
}
.secNews .newsListItem{
    border-bottom:1px solid var(--borderColor);
}
.secNews .newsItem{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    column-gap:2rem;
    padding:2.4rem 0;
}
.secNews .newsItemMeta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    grid-column:1 / -1;
    gap:0.8rem 1.2rem;
    margin:0 0 0.6rem;
    font-size:var(--pcFontSize13);
    line-height:calc(20 / 13);
    letter-spacing:var(--pcLetterSpacing40);
}
.secNews .newsItemCat{
    position:relative;
    padding:0 1.2rem 0 0;
}
.secNews .newsItemCat::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    width:1px;
    height:1em;
    margin:auto 0;
    background:var(--borderColor);
}
.secNews .newsItemBody{
    grid-column:1;
    margin:0;
}
.secNews .newsItemTit{
    display:block;
    font-size:var(--pcFontSize16);
    font-weight:700;
    line-height:calc(28 / 16);
    letter-spacing:var(--pcLetterSpacing40);
}
.secNews .newsItemNew{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    grid-column:2;
    grid-row:2;
    align-self:start;
    box-sizing:border-box;
    min-width:4.4rem;
    height:2.4rem;
    margin:0;
    padding:0 0.8rem;
    border-radius:0.3rem;
    background:var(--bgColorNew);
    font-size:var(--pcFontSize11);
    font-weight:700;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing20);
    color:var(--textColor);
}
@media only screen and (max-width:1215px){
    .secNews{
        padding:0 0 5rem;
    }
    .secNews .newsRow{
        flex-direction:column;
        gap:0;
    }
    .secNews .newsTit{
        flex-direction:row;
        align-items:baseline;
        gap:0.8rem;
    }
    .secNews .newsList{
        margin:0 0 3.2rem;
    }
    .secNews .newsListItem:first-child{
        border-top:none;
    }
    .secNews .newsItem{
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        column-gap:1rem;
        row-gap:0.4rem;
        padding:2rem 0;
    }
    .secNews .newsItemMeta{
        flex-wrap:wrap;
        gap:0.5rem 1rem;
        margin:0;
        font-size:var(--spFontSize11);
        letter-spacing:0;
        color:var(--textColor);
    }
    .secNews .newsItemBody{
        flex:1 1 100%;
        width:100%;
    }
    .secNews .newsItemTit{
        font-size:var(--spFontSize12);
        line-height:calc(20 / 12);
        letter-spacing:0;
    }
    .secNews .newsItemNew{
        min-width:3rem;
        height:1.6rem;
        padding:0 0.5rem;
        font-size:var(--spFontSize8);
        letter-spacing:0;
    }
    .secNews .newsListBtn{
        width:100%;
        max-width:calc((225 / 375) * var(--widthBase));
        margin:0 auto;
    }
}

/*==============================
    secSns
==============================*/
.secSns{
    padding:0 0 10rem;
    background:var(--bgColorBeige);
}
.secSns .snsList{
    display:flex;
    gap:4rem;
    margin:0;
    padding:0;
    list-style:none;
}
.secSns .snsItem{
    flex:1 1 0;
    min-width:0;
}
.secSns .snsCard{
    position:relative;
    display:flex;
    align-items:center;
    box-sizing:border-box;
    width:100%;
    min-height:9.5rem;
    padding:0 4rem 0 4rem;
    background:var(--bgColor);
}
.secSns .snsCardIco{
    flex-shrink:0;
    width:30px;
    height:auto;
    margin:0 1.6rem 0 0;
    vertical-align:bottom;
}
.secSns .snsCardName{
    flex:1 1 auto;
    min-width:0;
    font-size:var(--pcFontSize17);
    font-weight:500;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.secSns .snsCardArrow{
    position:absolute;
    top:0;
    right:3rem;
    bottom:0;
    width:17px;
    height:5px;
    margin:auto 0;
    filter:brightness(0);
}

@media only screen and (max-width:1215px){
    .secSns{
        padding:0 0 4rem;
    }
    .secSns .snsList{
        flex-wrap:wrap;
        gap:1rem;
    }
    .secSns .snsItem{
        flex:0 0 calc((100% - 1.2rem) / 2);
        width:calc((100% - 1.2rem) / 2);
    }
    .secSns .snsCard{
        min-height:calc((55 / 375) * var(--widthBase));
        padding:0 2.4rem 0 1.6rem;
        border-radius:0.4rem;
        box-shadow:0 2px 8px var(--shadowColor08);
    }
    .secSns .snsCardIco{
        width:24px;
        margin:0 1rem 0 0;
    }
    .secSns .snsCardName{
        font-size:var(--spFontSize14);
        letter-spacing:0;
    }
    .secSns .snsCardArrow{
        right:1.2rem;
    }
}

/*==============================
    secContact
==============================*/
.secContact{
    padding:0 0 15rem;
    background: var(--bgColorBeige);
}
.secContact .contactInner{
    padding-top:calc((30 / 1920) * var(--widthBase));
}
.secContact .contactPanel{
    position:relative;
    box-sizing:border-box;
    padding:4.4rem 8rem 7rem;
    border:1px solid var(--borderColorBeige);
}
.secContact .contactHead{
    margin:0 0 2.8rem;
    text-align:center;
}
.secContact .contactTit{
    position: absolute;
    top: -6px;
    left: 50%;
    z-index: 1;
    margin: 0;
    font-size: var(--pcFontSize60);
    font-weight: 500;
    font-style: italic;
    line-height: 1;
    letter-spacing: var(--pcLetterSpacing40);
    white-space: nowrap;
    color: var(--textColor);
    transform: translate(-50%, -50%);
    background: var(--bgColorBeige);
    padding: 0 4rem;
}
.secContact .contactLead{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(32 / 15);
    letter-spacing:var(--pcLetterSpacing40);
}
.secContact .contactBtnList{
    display:flex;
    gap:2.8rem;
    margin:0 0 5.6rem;
    padding:0;
    list-style:none;
}
.secContact .contactBtnItem{
    flex:1 1 0;
    min-width:0;
}
.secContact .contactBtn{
    position:relative;
    display:flex;
    align-items:center;
    box-sizing:border-box;
    width:100%;
    height:105px;
    padding:0 4rem 0 0;
    color:var(--textColorWhite);
}
.secContact .contactBtnCatalog{
    background:var(--btnCatalogBg);
}
.secContact .contactBtnReserve{
    background:var(--btnReserveBg);
}
.secContact .contactBtnInquiry{
    background:var(--bgColorDark);
}
.secContact .contactBtnThumb{
    flex-shrink:0;
    width:105px;
    height:105px;
    margin:0;
    object-fit:cover;
    vertical-align:bottom;
}
.secContact .contactBtnTxt{
    flex:1 1 auto;
    min-width:0;
    padding:0 0 0 2.4rem;
    font-size:var(--pcFontSize18);
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
}
.secContact .contactBtnArrow{
    position:absolute;
    top:0;
    right:3rem;
    bottom:0;
    width:17px;
    height:5px;
    margin:auto 0;
    filter:brightness(0) invert(1);
}
.secContact .contactTel{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:3rem;
}
.secContact .contactTelLabel{
    margin:0;
    font-size:var(--pcFontSize15);
    line-height:calc(30 / 15);
    letter-spacing:var(--pcLetterSpacing40);
    text-align:right;
}
.secContact .contactTelBody{
    position:relative;
    padding:0 0 0 3rem;
    border-left:1px solid var(--borderColor);
}
.secContact .contactTelNum{
    display:inline-flex;
    align-items:center;
    gap:1.2rem;
    margin:0 0 1.2rem;
    font-size:var(--pcFontSize30);
    font-weight:500;
    line-height:1;
    letter-spacing:var(--pcLetterSpacing40);
    color:var(--textColor);
}
.secContact .contactTelIco{
    flex-shrink:0;
    width:28px;
    height:18px;
    vertical-align:bottom;
}
.secContact .contactTelNumTxt{
    line-height:1;
}
.secContact .contactTelNote{
    margin:0;
    font-size:var(--pcFontSize13);
    line-height:calc(20 / 13);
    letter-spacing:var(--pcLetterSpacing40);
}

@media only screen and (max-width:1215px){
    .secContact{
        padding:0 0 8rem;
    }
    .secContact .contactInner{
        padding-top:calc((24 / 375) * var(--widthBase));
    }
    .secContact .contactPanel{
        padding:2.6rem 1.6rem 2.2rem;
        border-radius:0.8rem;
    }
    .secContact .contactHead{
        margin:0 0 2.4rem;
    }
    .secContact .contactTit{
        top:-5px;
        padding:0 1.6rem;
        font-size:var(--spFontSize34);
        letter-spacing:0;
    }
    .secContact .contactLead{
        font-size:var(--spFontSize12);
        line-height:calc(22 / 12);
        letter-spacing:0;
    }
    .secContact .contactBtnList{
        flex-direction:column;
        gap:1rem;
        margin:0 0 1.7rem;
    }
    .secContact .contactBtn{
        overflow:hidden;
        height:calc((65 / 375) * var(--widthBase));
        min-height:0;
        padding:0 2.4rem 0 0;
        border-radius:0.3rem;
    }
    .secContact .contactBtnThumb{
        width:calc((65 / 375) * var(--widthBase));
        height:100%;
    }
    .secContact .contactBtnTxt{
        padding:0 0 0 1.6rem;
        font-size:var(--spFontSize14);
        letter-spacing:0;
    }
    .secContact .contactBtnArrow{
        right:1.6rem;
    }
    .secContact .contactTel{
        flex-direction:column;
        align-items:center;
        gap:0.4rem;
    }
    .secContact .contactTelLabel{
        text-align:center;
        font-size:var(--spFontSize13);
        letter-spacing:0;
    }
    .secContact .contactTelBody{
        display:flex;
        flex-direction:column;
        align-items:center;
        padding:0;
        border-left:none;
        text-align:center;
    }
    .secContact .contactTelNum{
        justify-content:center;
        margin:0 0 0.6rem;
        font-size:var(--spFontSize26);
        letter-spacing:0;
    }
    .secContact .contactTelIco{
        width:22px;
        height:auto;
    }
    .secContact .contactTelNote{
        font-size:var(--spFontSize11);
        line-height:calc(20 / 11);
        letter-spacing:0;
    }
}

/*==============================
    ホバー演出の調整（PCのみ）
==============================*/
/* エリア：左パネル全体をリンク範囲にする */
@media only screen and (min-width:1216px){
    .secArea .areaCallout{
        top:0;
        left:0;
        width:calc(650 / 1720 * 100%);
        height:100%;
        padding:0;
        background:none;
        border-radius:0;
    }
    .secArea .areaCalloutTxt{
        position:absolute;
        top:calc(252 / 465 * 100%);
        left:calc(80 / 650 * 100%);
        padding:1.2rem 1rem;
        background:var(--bgColor);
        border-radius:0.3rem;
        transition:opacity 0.4s ease;
    }
    .secArea .areaCallout:hover .areaCalloutTxt{
        opacity:0.7;
    }

    /* イベント：拡大せず薄くする */
    .secEvent .eventCardPhoto{
        transition:opacity 0.4s ease;
    }
    .secEvent .eventCard:hover .eventCardPhoto{
        transform:none;
        opacity:0.7;
    }
    .secEvent .eventListItemEnd:hover .eventCardPhoto,
    .secEvent .eventListItemEnd .eventCard:hover .eventCardPhoto{
        opacity:1;
    }

    /* 一覧ボタン：色の切り替えをゆっくりにする */
    .secEvent .eventListBtn,
    .secWorks .worksCasesListBtn,
    .secModelHouse .modelHouseListBtn,
    .secLineup .lineupListBtn,
    .secVoice .voiceListBtn,
    .secColumn .columnListBtn,
    .secNews .newsListBtn{
        transition:background 0.4s ease, color 0.4s ease;
    }
    .secExterior .exteriorBtn{
        transition:background 0.4s ease, color 0.4s ease, border-color 0.4s ease;
    }
    .secExterior .exteriorBtnArrow,
    .secEvent .eventListBtnArrow,
    .secWorks .worksCasesListBtnArrow,
    .secModelHouse .modelHouseListBtnArrow,
    .secLineup .lineupListBtnArrow,
    .secVoice .voiceListBtnArrow,
    .secColumn .columnListBtnArrow,
    .secNews .newsListBtnArrow{
        transition:filter 0.4s ease;
    }

    /* お知らせ：マウスオーバーでタイトルに下線を出す */
    .secNews .newsItemTit{
        text-decoration:underline;
        text-decoration-color:transparent;
        text-underline-offset:0.4rem;
        transition:text-decoration-color 0.4s ease;
    }
    .secNews .newsItem:hover .newsItemTit{
        text-decoration-color:currentColor;
    }

    /* 写真：マウスオーバーで拡大する */
    .secReason .reasonItem{
        background-size:100% 100%;
        transition:background-size 0.4s ease-out;
    }
    .secReason .reasonItem:hover{
        background-size:105% 105%;
    }
    .secTechnology .technologyItemImg,
    .secVoice .voiceCardPhoto,
    .secGuide .guideCardImg{
        transition:transform 0.4s ease-out;
    }
    .secVoice .voiceCardImg,
    .secGuide .guideCardMedia{
        overflow:hidden;
    }
    /* overflow:hiddenだと画像下にはみ出す「WEB予約限定」バナーの下半分が切れるため、
       バナーがあるカードは、画像の範囲＋バナーがはみ出す部分だけを残して切り抜く */
    .secGuide .guideCardMedia:has(.guideCardBanner){
        overflow:visible;
        z-index:2;
        clip-path:polygon(
            0 0,
            100% 0,
            100% 100%,
            calc(50% + (160 / 1920) * var(--widthBase)) 100%,
            calc(50% + (160 / 1920) * var(--widthBase)) calc(100% + (30 / 1920) * var(--widthBase)),
            calc(50% - (160 / 1920) * var(--widthBase)) calc(100% + (30 / 1920) * var(--widthBase)),
            calc(50% - (160 / 1920) * var(--widthBase)) 100%,
            0 100%
        );
    }
    .secTechnology .technologyItem:hover .technologyItemImg,
    .secVoice .voiceCard:hover .voiceCardPhoto,
    .secGuide .guideCard:hover .guideCardImg{
        transform:scale(1.05);
    }
}
