@charset "utf-8";

#container {
    overflow: visible;
}

/*-----------------------------------------------
    secHero
-----------------------------------------------*/
.secHero {
    position: relative;
    overflow: hidden;
}

.secHero .heroInner01 {
    height: 118rem;
    /* height: 100vh; */
    position: relative;
}

.secHero .boxTxtHero {
    position: absolute;
    top: 27.4rem;
    left: 0;
    z-index: 2;
}

.secHero {
    background: url(../img/concept/bgLineup.jpg) center top / cover no-repeat;
    z-index: 1;
}

.secHero {
    width: 100%;
    height: 1080px;
}

.secHero .imgComfortable {
    position: absolute;
    bottom: -6rem;
    width: 100%;
    mix-blend-mode: color-burn;
    z-index: 2;
}

.secHero .titForm {
    font-size: var(--pcFontSize35);
    line-height: var(--pcLineHeight35_65);
    letter-spacing: var(--pcLetterSpacing35_300);
    display: inline;
    margin-top: 3.6rem;
    font-family: "YakuHanJP_Narrow", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: bold;
}
.secHero .titForm + .txtForm{
    margin-top: 2.4rem;
}
.secHero .txtForm {
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_35);
    letter-spacing: var(--pcLetterSpacing15_150);
    margin-top: 3.4rem;
    font-family: "YakuHanJP_Narrow", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-weight: bold;
}


@media only screen and (max-width:1215px) {
    .secHero {
        position: relative;
        padding: 6.5rem 0 0;
    }

    .secHero .wrapper {
        position: relative;
        z-index: 1;
        align-items: center;
        flex-direction: column;
        height: auto;
    }

    .secHero .boxAward {
        max-width: calc(100% - 2rem);
        margin-top: 1.8rem;
        width: 33.5rem;
    }

    .secHero {
        width: 100%;
        height: 130.135vw;
        overflow: visible;
        max-height: 48.8rem;
        background: url(../img/concept/bgLineup_sp.jpg) center bottom / cover no-repeat #dcd3c9;
        ;
    }

    .secHero .boxTxtHero {
        top: 7.5rem;
    }

    .secHero .titForm {
        font-size: var(--spFontSize20);
        line-height: var(--spLineHeight20_40);
        letter-spacing: var(--spLetterSpacing20_150);
        display: inline;
        margin-top: 3.6rem;
        background: #f7f6eb;
    }

    .secHero .boxHero {
        margin-bottom: 1.3rem;
    }

    .secHero .txtForm {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_24);
        letter-spacing: var(--spLetterSpacing13_35);
        letter-spacing: 0;
        margin-top: 2.4rem;
        font-weight: normal;
    }

    .secHero .titForm + .txtForm{
        margin-top: 22.5rem;
    }

    .secHero .imgComfortable {
        position: absolute;
        bottom: 3%;
        bottom: unset;
        top: 37rem;
        width: 82.667%;
        max-width: 31rem;
        /* left: 5.332%; */
        left: calc(50% - 20.5rem);
        mix-blend-mode: color-burn;
    }

    .secHero .titForm .titSpan {
        line-height: 1.4;
    }
}

@media only screen and (max-width:450px) {
    .secHero .imgComfortable {
        left: 5.332%;
    }

    .secHero .heroInner01 {
        height: auto;
    }
}

@media only screen and (max-width:370px) {
    .secHero .txtForm {
        margin-top: 22.6rem;
    }
}


/*-----------------------------------------------
    secLiving
-----------------------------------------------*/
.secLiving {
    position: relative;
}

.secLiving .titLiving {
    position: absolute;
    top: 0;
    z-index: 3;
}

.secLiving .heroSubTitle {
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing30_250);
    margin-top: 5.4rem;
    margin-left: 3rem;
}

.secLiving .heroTitle {
    font-size: var(--pcFontSize60);
    letter-spacing: var(--pcLetterSpacing60_250);
    margin-top: 2.4rem;
    margin-left: 3rem;
}

.secLiving .pointWrapper {
    margin-top: 4rem;
}

.heroWrapper {
    position: relative;
    height: calc(100vh * 4);
    height: calc(108rem * 4);
    /* コンテンツ数+1 */
    z-index: 5;
}

.heroContainer {
    position: sticky;
    top: 0;
    height: 100vh;
    height: 108rem;
    /* overflow: hidden; */
}

.heroContainer .imgComfortable {
    margin-top: -9rem;
    z-index: 5;
    position: absolute;
}

.heroContainer .titImg {
    z-index: 5;
    position: relative;
    top: -3rem;
}

.heroBg,
.heroBgNext {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: no-repeat center top / cover;
    transition: opacity 1s ease;
    /* ← フェード用 */
    z-index: 1;
}

.heroBg {
    opacity: 1;
}

.heroBgNext {
    opacity: 0;
}

.heroBgNext.is-visible {
    opacity: 1;
    /* フェードイン用クラス */
}

.heroBgLayer {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: no-repeat center top / cover;
    opacity: 0;
    transition: opacity 1s ease;
    z-index: 1;
}

.heroBgLayer.is-visible {
    opacity: 1;
}

/* 各コンテンツ */
.heroInner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1s ease, transform 1s ease;
    padding-top: 7rem;
}

.heroInner.active {
    opacity: 1;
    transform: translateY(0);
    z-index: 2;
}

.heroInner .titImg {
    position: relative;
    top: 0;
    z-index: 6;
}

/* 背景 */
.heroContainer::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    background: no-repeat center bottom;
    background-size: cover;
    transition: background-image 0.8s ease;
    z-index: 1;
}


/* インジケータ */
.caseList {
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    z-index: 10;
}

.caseIndicator {
    list-style: none;
    margin: 0;
    padding: 0;
}

.caseIndicator li {
    width: 14px;
    height: 14px;
    border: 1px solid #000;
    border-radius: 50%;
    background: #fff;
    margin: 40px auto;
}

.caseIndicator li.active {
    background: #000;
}

/* トリガー要素 */
.scrollTriggers {
    position: relative;
}

.scrollTrigger {
    height: 100vh;
    height: 108rem;
    /* 各画面ぶんのスクロール領域 */
}

.scrollTriggerEnd {
    height: 100vh;
    height: 108rem;
    /* 1画面ぶん固定 */
}

@media only screen and (max-width:1215px) {
    .secLiving {
        padding-top: 36.5rem;
        justify-content: space-between;
        gap: 0;
        background: #dcd3c9;
    }

    .secLiving .imgUtoria {
        position: absolute;
        width: 100%;
        max-width: 33.5rem;
        top: 5.5rem;
        left: 0;
    }

    .secLiving .heroSubTitle {
        font-size: var(--spFontSize17);
        line-height: var(--spLineHeight17_35);
        letter-spacing: var(--spLetterSpacing17_200);
        margin-top: 3.4rem;
        margin-left: 0;
    }

    .secLiving .heroTitle {
        font-size: var(--spFontSize34);
        letter-spacing: var(--spLetterSpacing34_200);
        letter-spacing: var(--spLetterSpacing34_100);
        margin-top: 0.6rem;
        margin-left: 0;
    }

    .heroWrapper {
        height: calc(96rem * 4);
    }

    .heroContainer {
        height: 96rem;
        top: -9rem;
    }

    .secLiving .pointWrapper {
        margin-top: 2.5em;
        margin-left: 0;
    }

    .secLiving .pointItem {
        width: 89.5523%;
        max-width: 30rem;
        margin: 0 auto 0 0;
    }

    .caseList {
        left: 15px;
        top: 40%;
    }

    .caseIndicator li {
        width: 15px;
        height: 15px;
        border-radius: 50%;
        margin: 57px auto;
    }
}

/*-----------------------------------------------
    secAnker
-----------------------------------------------*/
.secAnker {
    /* background: var(--whiteColor); */
    text-align: center;
    overflow: hidden;
    margin-top: -6.5rem;
    position: relative;
    z-index: 6;
}

.secAnker .txtAnker {
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing20_100);
}

.secAnker .titAnker {
    font-size: var(--pcFontSize50);
    letter-spacing: var(--pcLetterSpacing50_100);
    font-weight: 300;
}

.secAnker .titAnker .spanNum {
    font-size: var(--pcFontSize72);
    font-weight: 300;
}

.secAnker .listAnkerLink {
    display: flex;
    align-items: center;
    margin-top: 7rem;
}

.secAnker .listAnkerLink .itemAnkerLink {
    width: calc((100% - 12rem) / 3);
    margin-right: 6rem;
    display: block;
}

.secAnker .listAnkerLink .itemAnkerLink:last-child {
    margin-right: 0;
}

@media only screen and (max-width:1215px) {
    .secAnker .txtAnker {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_26);
        letter-spacing: var(--spLetterSpacing13_100);
        text-shadow: 0 0 8px rgba(255, 255, 255, 0.9);
        display: inline-block;
        text-shadow: 0 0 30px rgba(255, 255, 255, 1), 0 0 8px rgba(255, 255, 255, 1), 0 0 16px rgba(255, 255, 255, 1), 0 0 30px rgba(255, 255, 255, 1);
    }

    .secAnker .titAnker {
        font-size: var(--spFontSize27);
        line-height: var(--spLineHeight27_30);
        letter-spacing: var(--spLetterSpacing27_100);
        margin-top: 1.2rem;
        text-shadow: 0 0 30px rgba(255, 255, 255, 1), 0 0 8px rgba(255, 255, 255, 1), 0 0 16px rgba(255, 255, 255, 1), 0 0 30px rgba(255, 255, 255, 1);
    }

    .secAnker .titAnker .spanNum {
        font-size: var(--spFontSize39);
    }

    .secAnker .listAnkerLink {
        display: block;
        margin-top: 3rem;
    }

    .secAnker .listAnkerLink .itemAnkerLink {
        width: 100%;
        margin-right: 0;
    }

    .secAnker .listAnkerLink .itemAnkerLink:nth-child(n+2) {
        margin-top: 2rem;
    }

    .secAnker {
        margin-bottom: 4rem;
        margin-top: -4.2rem;
        position: relative;
        z-index: 5;
    }
}

/*-----------------------------------------------
    secConents
-----------------------------------------------*/
.secConents {
    margin-top: 10rem;
    overflow: hidden;
}

.secConents .boxAnker {
    text-align: left;
}

.secConents .contentsAnker {
    background: #dad1c7;
}

.secConents.lazyloaded .contentsAnker.anker01 .boxTitle {
    background: url(../img/concept/bgAnker01.jpg) center top / cover no-repeat;
}

.secConents.lazyloaded .contentsAnker.anker02 .boxTitle {
    background: url(../img/concept/bgAnker02.jpg) center top / cover no-repeat;
}

.secConents.lazyloaded .contentsAnker.anker03 .boxTitle {
    background: url(../img/concept/bgAnker03.jpg) center top / cover no-repeat;
}

.secConents .contentsAnker.anker01 .boxTitle {
    /* padding: 32.7rem 0 31.5rem; */
}

.secConents .contentsAnker .boxTitle {
    color: var(--whiteColor);
    height: 98rem;
    display: flex;
    align-items: center;
}

.secConents .titNum {
    font-size: var(--pcFontSize25);
    letter-spacing: var(--pcLetterSpacing25_100);
}

.secConents .titContents {
    font-size: var(--pcFontSize50);
    line-height: var(--pcLineHeight50_100);
    letter-spacing: var(--pcLetterSpacing50_100);
    margin-top: 1.7rem;
}

.secConents .txtContents {
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_40);
    letter-spacing: var(--pcLetterSpacing18_200);
    margin-top: 1.6rem;
}

.secConents .boxWrapper {
    background: #f2ede9;
    padding: 9rem 0 10rem;
    position: relative;
    top: -10rem;
}
.secConents .anker01 .boxWrapper {
    overflow: hidden;
}

.secConents .anker02 .boxWrapper {
    background: url(../img/concept/bgAnker02_01.jpg) center top / cover no-repeat;
}

.secConents .imgEnergy {
    margin-top: 4.4rem;
    position: relative;
    left: 0.8rem;
}

.secConents .boxAnker .boxInner {
    text-align: center;
    padding-bottom: 13rem;
}

.secConents .titWrapper {
    font-size: var(--pcFontSize32);
    line-height: var(--pcLineHeight32_56);
    letter-spacing: var(--pcLetterSpacing32_100);
}

.secConents .imgEnergy+.titWrapper {
    margin-top: 8.5rem;
}

.secConents .titWrapperSmall {
    font-size: var(--pcFontSize23);
    line-height: var(--pcLineHeight23_56);
    letter-spacing: var(--pcLetterSpacing23_100);
}

.secConents .imgInsulation {
    margin-top: 6.2rem;
    position: relative;
    right: 1.8rem;
}

.secConents .linkPoint {
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing20_100);
    color: var(--whiteColor);
    padding-left: 6rem;
    width: 45rem;
    height: 8rem;
    position: relative;
    margin: 4rem auto 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    transition: background-color 1s;
}

.secConents .linkPoint:before {
    content: '';
    position: absolute;
    background: #242423;
    mix-blend-mode: overlay;
    width: 45rem;
    height: 8rem;
    top: calc(50% - 4rem);
    left: 0;
    opacity: 1;
}

.secConents .linkPoint::after {
    content: '';
    position: absolute;
    background: url(../img/index/iconArrow.png) center right / cover no-repeat;
    width: 3rem;
    height: 1.4rem;
    top: calc(50% - 0.7rem);
    right: 4.8rem;
    transform: translateX(0);
    transition: transform 0.5s ease;
}

.secConents .secTab {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
}

.secConents .secTab .tab {
    width: 50%;
    position: relative;
    cursor: pointer;
    padding: 5rem 0 4.8rem;
}

.secConents .secTab .tab:before {
    content: '';
    position: absolute;
    height: 12rem;
    width: 0.1rem;
    right: 0;
    top: calc(50% - 6rem);
    background: #a0967c35;
}

.secConents.lazyloaded .tab.active::after {
    content: '';
    position: absolute;
    background: url(../img/concept/iconTabArrow.png) center top / cover no-repeat;
    width: 2.2rem;
    height: 5.6rem;
    bottom: -1rem;
    left: calc(50% - 1.1rem);
    z-index: 5;
}

.secConents .secTab .tab:last-child:before {
    display: none;
}

.secConents .tabTxt {
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_30);
    letter-spacing: var(--pcLetterSpacing16_100);
    font-weight: bold;
}

.secConents .contentsAnker.anker03 {
    font-family: "YakuHanJP_Narrow", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.secConents .contentsAnker.anker03 .tabTxt {
    margin-top: 2rem;
}

.secConents .anker03 .boxWrapper {
    padding: 0 0 4.8rem;
}

.secConents.lazyloaded .anker03 .bgTab {
    background: url(../img/concept/bgTab01.jpg) center top / cover no-repeat;
    height: 72rem;
    position: relative;
}
.secConents.lazyloaded .anker03 .inner02 .bgTab{
    background: url(../img/concept/bgTab02.jpg) center top / cover no-repeat;
}

.secConents .anker03 .imgPrice {
    position: absolute;
    bottom: 4.5rem;
    right: 4.5rem;
}

.secConents .anker03 .boxUnder {
    display: flex;
    gap: 6rem;
    text-align: left;
    padding: 5rem 5rem 0rem;
}

.secConents .anker03 .boxInner{
    padding-bottom: 8rem;
}
.secConents .anker03 .boxInner:last-child{
    padding-bottom: 5rem;
}

.secConents .boxUnder .tit {
    font-size: var(--pcFontSize20);
    line-height: var(--pcLineHeight20_36);
    letter-spacing: var(--pcLetterSpacing20_50);
    letter-spacing: 0;
    font-weight: bold;
    margin-top: 3.4rem;
}

.secConents .boxUnder .txt {
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_30);
    margin-top: 2rem;
}

.secConents .boxUnder .txtNum {
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_34);
    letter-spacing: var(--pcLetterSpacing14_50);
    margin-top: 1.7rem;
}

.secConents .boxUnder .boxImg {
    mix-blend-mode: darken;
}

.secConents .secTabInner {
    display: none;
}

.secConents .secTabInner.active {
    display: block;
}

.secConents .secTab .tab {
    cursor: pointer;
}

.secConents .secTab .tab.active {
    opacity: 1;
}


.secConents .secDesign  {
    padding: 9rem 5rem 3rem;
}
.secConents .secDesign .titDesign {
    font-size: var(--pcFontSize32);
    letter-spacing: var(--pcLetterSpacing32_100);
}
.secConents .secDesign .listDesign {
    margin-top: 9rem;
}
.secConents .secDesign .itemDesign {
    display: flex;
    gap: 5.08%;
    align-items: center;
}
.secConents .secDesign .itemDesign:nth-child(n + 2) {
    margin-top: 4rem;
}
.secConents .secDesign .boxImg {
    width: 46.61%;
    max-width: 55rem;
    flex-shrink: 0;
}
.secConents .secDesign .boxTxt {
    text-align: left;
}
.secConents .secDesign .titSub {
    font-size: var(--pcFontSize22);
    line-height: var(--pcLineHeight22_56);
    letter-spacing: var(--pcLetterSpacing22_100);
}
.secConents .secDesign .tit {
    font-size: var(--pcFontSize33);
    line-height: var(--pcLineHeight33_70);
    letter-spacing: var(--pcLetterSpacing33_100);
}
.secConents .secDesign .txt {
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_36);
    letter-spacing: var(--pcLetterSpacing16_100);
    margin-top: 2rem;
    padding-top: 4rem;
    border-top: 0.1rem solid var(--designLineColor);
}


@media only screen and (max-width:1215px) {
    .secConents {
        margin-top: 4rem;
    }

    .secConents.lazyloaded .contentsAnker.anker01 .boxTitle {
        background: url(../img/concept/bgAnker01_sp.jpg) center top / cover no-repeat;
    }

    .secConents.lazyloaded .contentsAnker.anker02 .boxTitle {
        background: url(../img/concept/bgAnker02_sp.jpg) center top / cover no-repeat;
    }

    .secConents.lazyloaded .contentsAnker.anker03 .boxTitle {
        background: url(../img/concept/bgAnker03_sp.jpg) center top / cover no-repeat;
    }

    .secConents .contentsAnker:nth-child(n+2) {
        margin-top: -5.2rem;
    }

    .secConents .contentsAnker .boxTitle {
        height: 50rem;
        align-items: start;
        padding-top: 8.8rem;
    }

    .secConents .titNum {
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_40);
        letter-spacing: var(--spLetterSpacing16_100);
    }

    .secConents .titContents {
        font-size: var(--spFontSize30);
        line-height: var(--spLineHeight30_60);
        letter-spacing: var(--spLetterSpacing30_50);
        letter-spacing: 0;
        margin-top: 0rem;
    }

    .secConents .txtContents {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_28);
        letter-spacing: var(--spLetterSpacing13_100);
        margin-top: 0.5rem;
        text-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
    }

    .secConents .boxWrapper {
        padding: 3.4rem 0 5rem;
        top: -11.2rem;
        box-shadow: 0px 0px 11.28px 0.72px rgba(49, 43, 36, 0.12);
    }
    
    .secConents .anker02 .boxWrapper {
        padding: 3.4rem 0 12rem;
    }

    .secConents .titWrapper {
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_30);
        letter-spacing: var(--spLetterSpacing16_50);
    }

    .secConents .imgEnergy {
        margin-top: 0;
        left: 0;
        width: 94.03%;
        margin: 2rem auto 0;
    }

    .secConents .anker02 .imgEnergy {
        width: 96.12%;
        margin: 2rem auto 0;
    }

    .secConents .titWrapperSmall {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_20);
        letter-spacing: var(--spLetterSpacing13_50);
        margin-top: 0.6rem;
    }

    .secConents .imgInsulation {
        margin-top: 2.5rem;
        position: relative;
        right: unset;
        overflow-x: visible;
    }

    .secConents .anker02 .imgInsulation {
        position: relative;
        right: unset;
        overflow-y: hidden;
        left: 0;
        width: 91.045%;
        margin: 2.5rem auto 0;
    }

    .secConents .linkPoint {
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_150);
        line-height: var(--spLineHeight14_22);
        padding: 0;
        width: 89.336%;
        height: 5rem;
        position: absolute;
        bottom: 5rem;
        border-radius: 3rem;
        margin: 0 auto;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        text-align: center;
        padding-left: 3rem;
        left: 5.332%;
    }

    .secConents .linkPoint::before {
        border-radius: 3rem;
        width: 100%;
        height: 5rem;
        top: 0;
        left: 0;
    }

    .secConents .linkPoint::after {
        content: '';
        position: absolute;
        background: url(../img/index/iconArrow.png) center right / cover no-repeat;
        width: 3rem;
        height: 1.4rem;
        right: 3rem;
    }

    .secConents .boxAnker .boxInner {
        padding-bottom: 0;
    }
    .secConents .imgInsulation img {
        width: 93rem;
    }

    .secConents .anker02 .imgInsulation img {
        width: 100%;
    }

    .secConents .imgEnergy+.titWrapper {
        margin-top: 2.5rem;
    }

    .secConents .anker02 .boxWrapper {
        background: url(../img/concept/bgAnker02_01_sp.jpg) center top / cover no-repeat;
    }

    /* scrollItem */
    .scrollItem {
        position: relative;
        width: 100%;
        height: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .scrollItem::-webkit-scrollbar {
        display: none;
    }

    .scrollItem::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        position: absolute;
        top: -7.5rem;
        left: 7%;
        background: url(../img/common/iconScroll.png) center center / 10.8rem auto no-repeat;
        transition: all 0.2s ease-out 0.2s;
        animation: scrollItemAnimation 1s linear infinite;
        z-index: 10;
        pointer-events: none;
    }

    .scrollItem.scrolled::before {
        opacity: 0;
    }

    @keyframes scrollItemAnimation {
        0% {
            transform: translateX(0);
        }

        25% {
            transform: translateX(10px)
        }

        50% {
            transform: translateX(0);
        }

        75% {
            transform: translateX(-10px);
        }

        100% {
            transform: translateX(0);
        }
    }


    .secConents .tabTxt {
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_20);
        letter-spacing: 0;
    }

    .secConents.lazyloaded .anker03 .bgTab {
        background: url(../img/concept/bgTab01_sp.jpg) center top / cover no-repeat;
        height: 29.5rem;
        width: 88.06%;
        margin: 0 auto;
    }

    .secConents.lazyloaded .anker03 .inner02 .bgTab{
        background: url(../img/concept/bgTab02_sp.jpg) center top / cover no-repeat;
    }

    .secConents .anker03 .imgPrice {
        position: static;
        bottom: unset;
        right: unset;
        width: 88.06%;
        margin: 3rem auto 3rem;
        order: 1;
    }

    .secConents .anker03 .boxUnder {
        display: flex;
        flex-direction: column;
        gap: 0;
        text-align: left;
        padding: 0;
    }

    .secConents .boxUnder .boxTxt {
        padding: 0 2rem 3rem;
        order: 3;
    }

    .secConents .boxUnder .boxImg {
        order: 2;
        width: 89.556%;
        margin: 0 auto;
    }

    .secConents .boxUnder .tit {
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_30);
        letter-spacing: var(--spLetterSpacing16_50);
        margin-top: 2rem;
    }

    .secConents .boxUnder .txt {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_30);
        margin-top: 1rem;
    }

    .secConents .boxUnder .txtNum {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_34);
        margin-top: 1rem;
    }

    .secConents .anker03 .boxWrapper {
        padding: 0 0 0rem;
    }
    /* .secConents .boxInner:last-child .boxWrapper {
        padding: 0px 0 3.8rem;
    } */

    .secConents .secTab .tab {
        padding: 0 0 3rem;
    }
    .secConents .secTab .txtRight {
        margin-top: -1rem;
    }
    .secConents .secTab .tabTit {
        width: 7.9rem;
        margin: 0 auto;
    }
    .secConents .secTab .tab:nth-child(2) .tabTit {
        width: 9.6rem;
    }
    .secConents.lazyloaded .tab.active::after {
        background: url(../img/concept/iconTabArrow_sp.png) center top / cover no-repeat;
        width: 2rem;
        height: 3rem;
        bottom: -0.5rem;
        left: calc(50% - 1.5rem);
    }
    .secConents .contentsAnker.anker03 .tabTxt {
        margin-top: 1.3rem;
    }
    .secConents .secTab .tab:before {
        height: 8rem;
        top: calc(50% - 4rem);
    }

    .secConents .secDesign  {
        padding: 4rem 2rem 3rem;
    }
    .secConents .secDesign .titDesign {
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing16_50);
    }
    .secConents .secDesign .listDesign {
        margin-top: 3rem;
    }
    .secConents .secDesign .itemDesign {
        display: block;
    }
    .secConents .secDesign .itemDesign:nth-child(n + 2) {
        margin-top: 4rem;
    }
    .secConents .secDesign .boxImg {
        width: 100%;
        max-width: unset;
    }
    .secConents .secDesign .boxTxt {
        margin-top: 1.3rem;
    }
    .secConents .secDesign .titSub {
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_100);
    }
    .secConents .secDesign .tit {
        font-size: var(--spFontSize22);
        line-height: var(--spLineHeight22_38);
        letter-spacing: var(--spLetterSpacing22_50);
    }
    .secConents .secDesign .txt {
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_24);
        letter-spacing: var(--spLetterSpacing12_100);
        margin-top: 2rem;
        padding-top: 2rem;
    }
    .secConents .anker03 .boxInner:last-child {
        padding-bottom: 0;
        margin-top: 4rem;
    }
}

/*-----------------------------------------------
    secBnr
-----------------------------------------------*/
.secBnr {
    margin: 0.1rem auto;
    display: flex;
    gap: 0.1rem;
    overflow: hidden;
}

.secBnr .bnrLink {
    width: 50%;
    overflow: hidden;
}

.secBnr .bnrLink:nth-child(2n) {
    width: calc(50% - 0.1rem);
}

@media only screen and (max-width:1215px) {
    .secBnr .bnrLink:nth-child(2n) {
        width: 50%;
    }

    .secBnr {
        margin: -6rem auto;
        background: #fff;
        position: relative;
        z-index: 1;
    }
}


/*-----------------------------------------------
    secConsultation
-----------------------------------------------*/
.secConsultation {
    height: 96rem;
    background: #d4c9bf;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.secConsultation .innerLineup {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    overflow: clip;
    clip-path: inset(0);
    height: 66rem;
    background: #c3c3c3;
}

.secConsultation .innerLineup::before {
    content: '';
    position: absolute;
    background: rgba(85, 72, 60, 0.85);
    width: 100%;
    height: 100%;
    z-index: 2;
    mix-blend-mode: multiply;
}

.boxAbout {
    position: sticky;
    top: 0;
    left: 0;
    height: 127.6rem;
    width: 217.6rem;
}

.bgAbout {
    width: 100%;
    position: relative;
    top: calc(50% - 61.8rem);
    left: calc(50% - 118.8rem);
    z-index: 1;
    -webkit-transform: translate(-10%, -25%) rotate(-12deg);
    transform: translate(-10%, -25%) rotate(-12deg);
}

.bgAbout .boxBg {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: #fff;
}

.bgAbout .list {
    position: relative;
    transition: all 0.3s ease-out;
    transform: translate3d(0px, 0, 0px);
    gap: 0.2rem;
    display: flex;
}

.bgAbout .list:nth-child(1) {
    transform: translate3d(125px, 0, 0);
    justify-content: flex-start;
}

.bgAbout .list:nth-child(2) {
    transform: translate3d(55px, 0, 0);
    justify-content: flex-start;
}

.bgAbout .list:nth-child(3) {
    transform: translate3d(0, 0, 0);
    justify-content: flex-start;
}

.bgAbout .list:nth-child(4) {
    transform: translate3d(300px, 0, 0);
    justify-content: flex-start;
}

.bgAbout .list:nth-child(5) {
    transform: translate3d(1325px, 0, 0);
    justify-content: flex-start;
}

.bgAbout .item {
    width: 36.3rem;
    height: 24.2rem;
}

.secConsultation .txtAbout {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: "YakuHanJP_Narrow", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    z-index: 3;
}

.secConsultation .boxAboutTxt .tit {
    font-size: var(--pcFontSize30);
    letter-spacing: var(--pcLetterSpacing30_250);
    color: var(--whiteColor);
    font-weight: bold;
}

.secConsultation .boxAboutTxt .tit+.tit {
    margin-top: 5.2rem;
}

.secConsultation .boxAboutTxt .txtSmall {
    font-size: var(--pcFontSize24);
}

.secConsultation .boxAboutTxt .txtInner {
    margin-top: 6rem;
}

.secConsultation .boxAboutTxt .titBig {
    margin-top: 5rem;
    font-size: var(--pcFontSize48);
    letter-spacing: var(--pcLetterSpacing48_250);
    color: var(--whiteColor);
    font-weight: bold;
}

.secConsultation .txtMore {
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_250);
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 4rem auto 0;
    width: 25rem;
    height: 6rem;
    color: #55483c;
    background: rgba(255, 255, 255, 0.6);
    justify-content: center;
    position: relative;
    padding-right: 4rem;
}

.secConsultation .txtMore::before {
    content: '';
    position: absolute;
    background: url(../img/index/iconArrowBrown.png) center right / cover no-repeat;
    width: 3rem;
    height: 1.4rem;
    bottom: calc(50% - 0.7rem);
    right: 5.8rem;
}

@media only screen and (max-width:1215px) {
    .secConsultation {
        height: auto;
        padding: 11rem 0 5rem;
    }

    .secConsultation .innerLineup {
        height: 33.5rem;
    }

    .boxAbout {
        position: sticky;
        top: 0;
        left: 0;
        height: 108.2rem;
        width: 154.7rem;
    }

    .secConsultation .boxAboutTxt .tit {
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing16_250);
        line-height: var(--spLineHeight16_30);
    }

    .secConsultation .boxAboutTxt .txtSmall {
        font-size: var(--spFontSize13);
    }

    .secConsultation .boxAboutTxt .txtInner {
        width: 15.4rem;
        margin: 2.5rem auto 0;
    }

    .secConsultation .boxAboutTxt .titBig {
        margin-top: 2.6rem;
        font-size: var(--spFontSize26);
    }

    .secConsultation .boxAboutTxt .tit+.tit {
        margin-top: 1rem;
    }

    .secConsultation .txtMore {
        font-size: var(--spFontSize11);
        gap: 0;
        margin: 2rem auto 0;
        width: 20.5rem;
        height: 4rem;
        padding-right: 2rem;
    }

    .bgAbout .item {
        width: 15.5rem;
        height: 10.3rem;
    }

    .bgAbout {
        width: 100%;
        position: relative;
        top: calc(50% - 47rem);
        left: calc(50% - 58.7rem);
        z-index: 1;
        -webkit-transform: translate(-10%, -25%) rotate(-12deg);
        transform: translate(-10%, -25%) rotate(-12deg);
    }

    .secConsultation .txtMore::before {
        right: 3rem;
    }

    .secConsultation .innerLineup::before {
        mix-blend-mode: multiply;
    }

    .bgAbout .list:nth-child(1) {
        transform: translate3d(50px, 0, 0);
    }

    .bgAbout .list:nth-child(2) {
        transform: translate3d(25px, 0, 0);
    }

    .bgAbout .list:nth-child(4) {
        transform: translate3d(130px, 0, 0);
    }

    .heroBgLayer {
        position: absolute;
        top: 0;
        right: 50%;
        transform: translateX(50%);
        max-width: 400px;
        margin: 0 auto;
        background: no-repeat center bottom / cover;
    }
}

/*-----------------------------------------------
    secLife
-----------------------------------------------*/
.secLife {
    position: relative;
    overflow: hidden;
}

.secLife .txtLife {
    position: absolute;
    top: 22.5rem;
    left: 9.375%;
}

.secLife .lifeInner {
    position: absolute;
    top: 0;
    left: 0;
}

/* secTicker */
.secLife .secTicker {
    overflow: hidden;
}

.secLife .secTicker .boxTicker {
    display: flex;
}

.secLife .secTicker .itemTicker:nth-child(odd) {
    animation: loop 400s -200s linear infinite;
    backface-visibility: hidden;
    will-change: transform;
    transform: translate3d(0, 0, 0);
}

.secLife .secTicker .itemTicker:nth-child(even) {
    animation: loop2 400s linear infinite;
}


@keyframes loop {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes loop2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}

@media only screen and (max-width:1215px) {
    .secLife {
        position: relative;
        margin-top: 0;
    }

    .secLife .secTicker .itemTicker {
        animation: none !important;
    }

    .secLife .txtLife {
        position: absolute;
        top: -4.5rem;
        left: -5.2rem;
        width: 25.9rem;
    }

    .secLife .boxTicker {
        display: flex;
        width: 100%;
        /* 3枚分の幅 */
        animation: slideLoop 30s linear infinite;
    }

    .secLife .itemTicker {
        flex: 0 0 100%;
        /* 1枚 = 画面幅 */
    }

    .secLife .itemTicker img {
        width: 100%;
        height: auto;
        aspect-ratio: 375 / 650;
        object-fit: cover;
    }

    @keyframes slideLoop {
        from {
            transform: translateX(0);
        }

        to {
            transform: translateX(-200%);
        }

        /* 3枚ぶん動かす */
    }
}