@charset "UTF-8";

/*2*/
@media screen and (max-width:599px) { /*SP*/
}
@media screen and (min-width:600px) , print { /*PC&TB*/
}

/*3*/
@media screen and (max-width:599px) { /*SP*/
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
}
@media screen and (min-width:1260px) , print { /*PC*/
}

/************************************************************/
/*   基本   */
/************************************************************/
/* ----------------------------------------------- カラー */
:root {
    --rose01:  #B47171;
    --rose02:  #AA8484;
    --rose03:  #EAD6D6;
    --rose04:  #745B5B;
    --rose05:  #B55656;
    --rose06:  #917474;
    --rose07:  #8B4E4E;
    --gray01:  #535353;
    --gray02:  #F5F6F8;
    --yellow01: #FFEA90;
    --yellow02: #F2E9C5;
    --bronze01: #7B6747;
    --gold01: #AD9146;
    --gold02: #CCB986;
    --gold03: #DED6C8;
    --pink01: #FCECEC;
    --blue01: #315B91;
    --green01: #459342;
    --line: #43AF53;
}

/* ----------------------------------------------- フォント */
.fc-rose01{
    color: var(--rose01);
}
.fc-rose02{
    color: var(--rose02);
}
.fc-yellow01{
    color: var(--yellow01);
}
.fc-gold01{
    color: var(--gold01);
}
.fc-line{
    color: var(--line);
}

/* ----------------------------------------------- リンク */
.ho:hover{
    opacity: 0.8;
}

/* ----------------------------------------------- 余白 */
@media screen and (max-width:599px) { /*SP*/
    .sectionPadding{
        padding: 40px 0;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    .sectionPadding{
        /* padding: 80px 0; */
        padding: 6.35vw 0;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .sectionPadding{
        padding: 80px 0;
    }
}

/************************************************************/
/*   ヘッダー   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #header{
        background-color: var(--rose01);
    }
    .header-box{
        width: 100%;
        padding: 10px 0;
        text-align: center;
        font-size: var(--f22);
        color: #fff;
        letter-spacing: 0.06em;
        line-height: 1.5;
    }
}
@media screen and (min-width:600px) , print { /*PC&TB*/
    #header{
        height: 75px;
        justify-content: center;
        background-color: var(--rose01);
    }
    .header-box{
        width: 100%;
        text-align: center;
        font-size: var(--f32);
        color: #fff;
        letter-spacing: 0.06em;
    }
}

/************************************************************/
/*   フッター   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    .footer-set{
        width: 100%;
        padding: 40px 0;
        display: grid;
        justify-items: center;
    }
    .footer-logo{
        width: 70%;
        max-width: 250px;
        padding: 0 0 40px;
    }
    .footer-box{
        width: 100%;
        display: flex;
        justify-content: center;
        padding: 0 50px 0 0;
        position: relative;
    }
    .footer-sns{
        position: absolute;
        top: 0;
        right: 0;
        width: 40px;
    }
    .footer-info-set{
        width: 100%;
        padding: 0 0 20px;
        display: grid;
        gap: 10px 40px;
        justify-content: center;
    }
    .footer-info-box{
        display: grid;
        grid-template-columns: 90px 1fr;
        gap: 10px;
        align-items: start;
    }
    .footer-info-set dt{
        border: 1px solid #000;
        padding: 0 5px 3px;
        text-align: center;
    }
    .footer-tel-set{
        width: 100%;
        display: grid;
        justify-items: center;
        gap: 10px;
        font-size: var(--f22);
        padding: 0 10px 0 0;
    }
    .footer-copyright{
        width: 100%;
        padding: 10px 0;
        background-color: var(--gray01);
        text-align: center;
        font-size: var(--f15);
        color: #fff;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    .footer-set{
        width: 100%;
        /* padding: 40px 0; */
        padding: 3.17vw 0;
        display: grid;
        justify-items: center;
    }
    .footer-logo{
        /* width: 250px; */
        width: 19.84vw;
        /* padding: 0 0 40px; */
        padding: 0 0 3.17vw;
    }
    .footer-box{
        width: 100%;
        display: flex;
        justify-content: center;
        /* padding: 0 50px; */
        padding: 0 3.97vw;
        position: relative;
    }
    .footer-sns{
        position: absolute;
        top: 0;
        right: 0;
        /* width: 40px; */
        width: 3.17vw;
    }
    .footer-info-set{
        width: 100%;
        /* padding: 0 0 30px; */
        padding: 0 0 2.38vw;
        display: flex;
        flex-wrap: wrap;
        /* gap: 10px 40px; */
        gap: 0.79vw 3.17vw;
        justify-content: center;
    }
    .footer-info-box{
        display: flex;
        flex-wrap: nowrap;
        /* gap: 20px; */
        gap: 1.59vw;
    }
    .footer-info-set dt{
        border: 1px solid #000;
        /* padding: 0 10px 3px; */
        padding: 0 0.79vw 0.24vw;
    }
    .footer-tel-set{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        /* gap: 10px 40px; */
        gap: 0.79vw 3.17vw;
        font-size: var(--f26);
    }
    .footer-copyright{
        width: 100%;
        /* padding: 10px 0; */
        padding: 0.79vw 0;
        background-color: var(--gray01);
        text-align: center;
        font-size: var(--f18);
        color: #fff;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .footer-set{
        width: 100%;
        padding: 40px 0;
        display: grid;
        justify-items: center;
    }
    .footer-logo{
        width: 250px;
        padding: 0 0 40px;
    }
    .footer-box{
        width: 100%;
        display: flex;
        justify-content: center;
        padding: 0 50px;
        position: relative;
    }
    .footer-sns{
        position: absolute;
        top: 0;
        right: 0;
        width: 40px;
    }
    .footer-info-set{
        width: 100%;
        padding: 0 0 30px;
        display: flex;
        flex-wrap: wrap;
        gap: 10px 40px;
        justify-content: center;
    }
    .footer-info-box{
        display: flex;
        flex-wrap: nowrap;
        gap: 20px;
    }
    .footer-info-set dt{
        border: 1px solid #000;
        padding: 0 10px 3px;
    }
    .footer-tel-set{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 40px;
        font-size: var(--f26);
    }
    .footer-copyright{
        width: 100%;
        padding: 10px 0;
        background-color: var(--gray01);
        text-align: center;
        font-size: var(--f18);
        color: #fff;
    }
}

/************************************************************/
/*   共通パーツ   */
/************************************************************/
/* ----------------------------------------------- 三角 */
.triangle {
    width: 100%;
    aspect-ratio: 1/cos(45deg);
    background: linear-gradient(180deg,#DFE1E5,#DED8C5);
}
.triangle.bottom{
    clip-path: polygon(50% 100%,100% 0,0 0);
}
.triangle.right{
    clip-path: polygon(0 0,100% 50%,0 100%);
}

/* ----------------------------------------------- セクション見出し */
@media screen and (max-width:599px) { /*SP*/
    .section-title-en{
        font-size: var(--f40);
        color: var(--rose01);
    }
    .section-title-ja{
        font-size: var(--f20);
    }
}
@media screen and (min-width:600px) , print { /*PC&TB*/
    .section-title-en{
        font-size: var(--f50);
        color: var(--rose01);
    }
    .section-title-ja{
        font-size: var(--f28);
    }
}

/* ----------------------------------------------- スワイプ */
@media screen and (max-width:599px) { /*SP*/
    .swipe-text{
        width: 100%;
    }
    .swipe-set{
        width: 100%;
        overflow-x: auto; /* 横スクロールを許可 */
        -webkit-overflow-scrolling: touch; /* iOSの慣性スクロール */
    }
}
@media screen and (min-width:600px) , print { /*PC&TB*/
    .swipe-text{
        display: none;
    }
    .swipe-set{
        width: 100%;
    }
}

/* ----------------------------------------------- 円表示 */
.price-yen{
    font-size: 0.6em;
    vertical-align: baseline;
    letter-spacing: 0.1em;
}

/* ----------------------------------------------- リンク */
@media screen and (max-width:599px) { /*SP*/
    .link-box{
        width: 100%;
        display: block;
        padding: 20px;
        position: relative;
        z-index: 1;
    }
    .link-box::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: calc(100% - 20px);
        height: calc(100% - 20px);
        border: 1px solid #fff;
    }
    .link-inner{
        display: grid;
        grid-template-columns: 10px auto 10px;
        gap: 10px;
        justify-items: center;
        align-items: center;
        font-size: var(--f26);
        color: #fff;
        line-height: 1.5;
        text-align: center;
    }
    .link-inner::before{
        content: '';
    }
    .link-tri-box{
        width: 10px;
        height: 15px;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    .link-box{
        width: 100%;
        display: block;
        /* padding: 20px 40px; */
        padding: 1.59vw 3.17vw;
        position: relative;
        z-index: 1;
    }
    .link-box::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        /* width: calc(100% - 20px); */
        width: calc(100% - 1.59vw);
        /* height: calc(100% - 20px); */
        height: calc(100% - 1.59vw);
        border: 1px solid #fff;
    }
    .link-inner{
        display: grid;
        /* grid-template-columns: 16px auto 16px; */
        grid-template-columns: 1.27vw auto 1.27vw;
        /* gap: 20px; */
        gap: 1.59vw;
        justify-items: center;
        align-items: center;
        font-size: var(--f30);
        color: #fff;
        line-height: 1.5;
        text-align: center;
    }
    .link-inner::before{
        content: '';
    }
    .link-tri-box{
        /* width: 16px; */
        width: 1.27vw;
        /* height: 25px; */
        height: 1.98vw;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .link-box{
        width: 100%;
        display: block;
        padding: 20px 40px;
        position: relative;
        z-index: 1;
    }
    .link-box::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: calc(100% - 20px);
        height: calc(100% - 20px);
        border: 1px solid #fff;
    }
    .link-inner{
        display: grid;
        grid-template-columns: 16px auto 16px;
        gap: 20px;
        justify-items: center;
        align-items: center;
        font-size: var(--f30);
        color: #fff;
        line-height: 1.5;
        text-align: center;
    }
    .link-inner::before{
        content: '';
    }
    .link-tri-box{
        width: 16px;
        height: 25px;
    }
}
/* リンクカラー */
.link-c-rose01{
    background-color: var(--rose01);
}
.link-c-rose01 .link-tri-box{
    background: linear-gradient(180deg,#6E3939,#6E3939);
}
.link-c-gold01{
    background-color: var(--gold01);
}
.link-c-gold01 .link-tri-box{
    background: linear-gradient(180deg,#886D43,#886D43);
}

/************************************************************/
/*   #cmn-line   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    .cmnLine-text01{
        color: var(--rose02);
        font-size: var(--f24);
        margin: 0 0 30px;
        text-align: center;
    }
    .cmnLine-text01 span{
        padding: 0 0 0 10px;
        display: inline-block;
        position: relative;
        z-index: 1;
    }
    .cmnLine-text01 span::after{
        content: '';
        position: absolute;
        z-index: -1;
        bottom: 5px;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 7px;
        background-color: var(--rose03);
    }
    .cmnLine-tri-set{
        width: 100%;
        display: grid;
        justify-items: center;
        margin: 0 0 10px;
    }
    .cmnLine-text02{
        /* width: 70%; */
        text-align: center;
        line-height: 1.4;
        padding: 10px 40px;
        border-radius: 80px;
        background: #EAE8E8;
        background: linear-gradient(0deg, #EAE8E8, #FDFDFD);
        color: var(--rose01);
        font-size: var(--f18);
        display: grid;
        grid-template-columns: 40px 1fr;
        gap: 10px;
    }
    .cmnLine-text02::before{
        content: '';
        background-image: url(../img/icon-line01.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .cmnLine-tri-box{
        width: 30px;
        background: linear-gradient(180deg,#DBDBDB,#DBDBDB);
    }
    .cmnLine-wrap{
    }
    .cmnLine-icon-pc{
        display: none;
    }
    .cmnLine-reserve-set{
        width: 100%;
        display: grid;
        gap: 20px;
    }
    .cmnLine-img{
        grid-row: 1;
        margin: 0 0 -20px;
        display: grid;
        grid-template-columns: 50% 40%;
        gap: 10px;
        justify-content: center;
    }
    .cmnLine-icon-sp{
        width: 100%;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    .cmnLine-text01{
        color: var(--rose02);
        font-size: var(--f34);
        /* margin: 0 0 30px; */
        margin: 0 0 2.38vw;
        position: relative;
        z-index: 1;
    }
    .cmnLine-text01 span{
        display: inline-block;
        position: relative;
        z-index: 1;
    }
    .cmnLine-text01 span:first-child{
        /* padding: 0 0 0 10px; */
        padding: 0 0 0 0.79vw;
    }
    .cmnLine-text01 span::after{
        content: '';
        position: absolute;
        z-index: -1;
        /* bottom: 12px; */
        bottom: 0.95vw;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        /* height: 7px; */
        height: 0.56vw;
        background-color: var(--rose03);
    }
    .cmnLine-tri-set{
        width: 100%;
        display: grid;
        justify-items: center;
        /* margin: 0 0 30px; */
        margin: 0 0 2.38vw;
    }
    .cmnLine-text02{
        /* padding: 5px 50px; */
        padding: 0.40vw 3.97vw;
        /* border-radius: 40px; */
        border-radius: 3.17vw;
        background: #EAE8E8;
        background: linear-gradient(0deg, #EAE8E8, #FDFDFD);
        color: var(--rose01);
        font-size: var(--f26);
        display: grid;
        /* grid-template-columns: 40px 1fr; */
        grid-template-columns: 3.17vw 1fr;
        /* gap: 10px; */
        gap: 0.79vw;
    }
    .cmnLine-text02::before{
        content: '';
        background-image: url(../img/icon-line01.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .cmnLine-tri-box{
        /* width: 30px; */
        width: 2.38vw;
        background: linear-gradient(180deg,#DBDBDB,#DBDBDB);
    }
    .cmnLine-wrap{
        position: relative;
    }
    .cmnLine-icon-pc{
        position: absolute;
        /* top: 40px; */
        top: 3.17vw;
        right: 0;
        /* width: 130px; */
        width: 10.32vw;
    }
    .cmnLine-reserve-set{
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        /* gap: 170px; */
        gap: 13.49vw;
        /* padding: 10px 0 0; */
        padding: 0.79vw 0 0;
        position: relative;
        z-index: 1;
    }
    .cmnLine-img{
        position: absolute;
        z-index: 2;
        /* bottom: -80px; */
        bottom: -6.35vw;
        left: 0;
        right: 0;
        margin: auto;
        /* width: 240px; */
        width: 19.05vw;
    }
    .cmnLine-icon-sp{
        display: none;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .cmnLine-text01{
        color: var(--rose02);
        font-size: var(--f34);
        margin: 0 0 30px;
        position: relative;
        z-index: 1;
    }
    .cmnLine-text01 span{
        display: inline-block;
        position: relative;
        z-index: 1;
    }
    .cmnLine-text01 span:first-child{
        padding: 0 0 0 10px;
    }
    .cmnLine-text01 span::after{
        content: '';
        position: absolute;
        z-index: -1;
        bottom: 12px;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 7px;
        background-color: var(--rose03);
    }
    .cmnLine-tri-set{
        width: 100%;
        display: grid;
        justify-items: center;
        margin: 0 0 30px;
    }
    .cmnLine-text02{
        padding: 5px 50px;
        border-radius: 40px;
        background: #EAE8E8;
        background: linear-gradient(0deg, #EAE8E8, #FDFDFD);
        color: var(--rose01);
        font-size: var(--f26);
        display: grid;
        grid-template-columns: 40px 1fr;
        gap: 10px;
    }
    .cmnLine-text02::before{
        content: '';
        background-image: url(../img/icon-line01.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .cmnLine-tri-box{
        width: 30px;
        background: linear-gradient(180deg,#DBDBDB,#DBDBDB);
    }
    .cmnLine-wrap{
        position: relative;
    }
    .cmnLine-icon-pc{
        position: absolute;
        top: 40px;
        right: 0;
        width: 130px;
    }
    .cmnLine-reserve-set{
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 170px;
        padding: 10px 0 0;
        position: relative;
        z-index: 1;
    }
    .cmnLine-img{
        position: absolute;
        z-index: 2;
        bottom: -80px;
        left: 0;
        right: 0;
        margin: auto;
        width: 240px;
    }
    .cmnLine-icon-sp{
        display: none;
    }
}

/************************************************************/
/*   #hero   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #hero{
        background: #fff;
        position: relative;
    }
    #hero::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/hero-sp01.jpg);
        background-repeat: no-repeat;
        background-position: top right;
        background-size: contain;
    }
    .hero-wrap{
        width: 100%;
        padding: 40px 15px 0px;
    }
    .hero-set{
        width: 100%;
    }
    .hero-logo{
        width: 42vw;
        max-width: 250px;
        margin: 0 0 60px;
    }
    .hero-text01{
        text-align: center;
        font-size: var(--f20);
    }
    .hero-title-set{
        display: grid;
        justify-items: center;
        gap: 20px;
        margin: 20px 0;
        padding: 30px 0;
        border-top: 2px solid #000;
        border-bottom: 2px solid #000;
    }
    .hero-title01{
        line-height: 1;
        font-size: var(--f30);
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: baseline;
        gap: 10px;
    }
    .hero-title01 img{
        width: 58vw;
        max-width: 350px;
    }
    .hero-title02{
        line-height: 1;
        font-size: var(--f40);
        color: var(--bronze01);
    }
    .hero-point{
        display: grid;
        grid-template-columns: repeat(3,1fr);
        gap: 10px;
    }
    .hero-sp-img{
        width: 100%;
    }
}
@media screen and (min-width:600px) { /*PCTB*/
    #hero{
        /* padding: 0 30px; */
        padding: 0 2.14vw;
        background-image: url(../img/hero01.jpg);
        background-repeat: no-repeat;
        background-position: top right;
        background-size: cover;
    }
    .hero-wrap{
        /* width: 1200px; */
        width: 85.71vw;
        /* padding: 60px 0 140px; */
        padding: 4.29vw 0 10.00vw;
    }
    .hero-set{
        /* width: 560px; */
        width: 40.00vw;
    }
    .hero-logo{
        /* width: 250px; */
        width: 17.86vw;
        /* margin: 0 0 90px; */
        margin: 0 0 6.43vw;
    }
    .hero-text01{
        text-align: center;
        /* font-size: 28px; */
        font-size: 2.00vw;
    }
    .hero-title-set{
        display: grid;
        justify-items: center;
        /* gap: 20px; */
        gap: 1.43vw;
        /* margin: 20px 0; */
        margin: 1.43vw 0;
        /* padding: 30px 0; */
        padding: 2.14vw 0;
        /* border-top: 3px solid #000; */
        border-top: 0.21vw solid #000;
        /* border-bottom: 3px solid #000; */
        border-bottom: 0.21vw solid #000;
    }
    .hero-title01{
        line-height: 1;
        /* font-size: 40px; */
        font-size: 2.86vw;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: baseline;
        /* gap: 10px; */
        gap: 0.71vw;
    }
    .hero-title01 img{
        /* width: 350px; */
        width: 25.00vw;
    }
    .hero-title02{
        line-height: 1;
        /* font-size: 60px; */
        font-size: 4.29vw;
        color: var(--bronze01);
    }
    .hero-point{
        display: grid;
        grid-template-columns: repeat(3,1fr);
        /* gap: 10px; */
        gap: 0.71vw;
    }
    .hero-sp-img{
        display: none;
    }
}

/************************************************************/
/*   #worries   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #worries{
        background-color: var(--gray02);
        padding: 40px 0 30vh;
        position: relative;
    }
    #worries::after{
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 30vh;
        background-image: url(../img/bg01.jpg);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 200%;
    }
    .worries-wrap{
        width: 100%;
        padding: 40px 0 0;
    }
    .worries-title{
        width: 100%;
        padding: 0 0 50px;
        text-align: center;
        font-size: var(--f28);
        line-height: 1.5;
        position: relative;
    }
    .worries-title::before{
        content: '';
        position: absolute;
        bottom: 40px;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: var(--gray01);
    }
    .worries-title::after{
        content: '';
        position: absolute;
        bottom: 12px;
        left: 50%;
        width: 30px;
        height: 30px;
        background-color: #F5F6F8;
        border-left: 2px solid var(--gray01);
        transform: skew(-30deg);
    }
    .worries-list{
        width: 100%;
        padding: 20px 0;
        display: grid;
        gap: 20px;
    }
    .worries-list li{
        display: grid;
        grid-template-columns: 30px 1fr;
        gap: 10px;
        font-size: var(--f18);
        line-height: 1.5;
    }
    .worries-list li::before{
        content: '';
        width: 30px;
        height: 30px;
        background-image: url(../img/icon-check01.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #worries{
        position: relative;
        z-index: 1;
        background-color: var(--gray02);
    }
    #worries::before{
        content: '';
        position: absolute;
        z-index: -1;
        /* top: 100px; */
        top: 7.94vw;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg01.jpg);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: cover;
    }
    .worries-wrap{
        /* width: 700px; */
        width: 55.56vw;
        margin: 0 0 0 auto;
        /* padding: 60px 0 0; */
        padding: 4.76vw 0 0;
    }
    .worries-title{
        width: 100%;
        /* padding: 0 0 50px; */
        padding: 0 0 3.97vw;
        text-align: center;
        font-size: var(--f38);
        position: relative;
    }
    .worries-title::before{
        content: '';
        position: absolute;
        /* bottom: 40px; */
        bottom: 3.17vw;
        left: 0;
        width: 100%;
        /* height: 2px; */
        height: 0.16vw;
        background-color: var(--gray01);
    }
    .worries-title::after{
        content: '';
        position: absolute;
        /* bottom: 12px; */
        bottom: 0.95vw;
        left: 55%;
        /* width: 30px; */
        width: 2.38vw;
        /* height: 30px; */
        height: 2.38vw;
        background-color: var(--gray02);
        /* border-left: 2px solid var(--gray01); */
        border-left: 0.16vw solid var(--gray01);
        transform: skew(-30deg);
    }
    .worries-list{
        width: 100%;
        /* padding: 30px 0 0 20px; */
        padding: 2.38vw 0 0 1.59vw;
        display: grid;
        /* gap: 30px; */
        gap: 2.38vw;
    }
    .worries-list li{
        display: grid;
        /* grid-template-columns: 43px 1fr; */
        grid-template-columns: 3.41vw 1fr;
        /* gap: 20px; */
        gap: 1.59vw;
        font-size: var(--f28);
        line-height: 1.5;
    }
    .worries-list li::before{
        content: '';
        /* width: 43px; */
        width: 3.41vw;
        /* height: 43px; */
        height: 3.41vw;
        background-image: url(../img/icon-check01.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #worries{
        position: relative;
        z-index: 1;
        background-color: var(--gray02);
    }
    #worries::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 100px;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg01.jpg);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: cover;
    }
    .worries-wrap{
        width: 700px;
        margin: 0 0 0 auto;
        padding: 60px 0 0;
    }
    .worries-title{
        width: 100%;
        padding: 0 0 50px;
        text-align: center;
        font-size: var(--f38);
        position: relative;
    }
    .worries-title::before{
        content: '';
        position: absolute;
        bottom: 40px;
        left: 0;
        width: 100%;
        height: 2px;
        background-color: var(--gray01);
    }
    .worries-title::after{
        content: '';
        position: absolute;
        bottom: 12px;
        left: 55%;
        width: 30px;
        height: 30px;
        background-color: var(--gray02);
        border-left: 2px solid var(--gray01);
        transform: skew(-30deg);
    }
    .worries-list{
        width: 100%;
        padding: 30px 0 0 20px;
        display: grid;
        gap: 30px;
    }
    .worries-list li{
        display: grid;
        grid-template-columns: 43px 1fr;
        gap: 20px;
        font-size: var(--f28);
        line-height: 1.5;
    }
    .worries-list li::before{
        content: '';
        width: 43px;
        height: 43px;
        background-image: url(../img/icon-check01.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain;
    }
}

/************************************************************/
/*   #campaign01   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #campaign01{
        margin: -80px auto 0;
        width: calc(100% - 30px);
    }
    .cp01-set{
        width: 100%;
        box-shadow: 4px 3px 10px 0px rgba(0,0,0,0.2);
        background-color: #fff;
    }
    .cp01-set dt{
        width: 100%;
        height: 40px;
        background-color: var(--rose05);
        text-align: center;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .cp01-head01{
        font-size: var(--f20);
        color: #fff;
    }
    .cp01-set dd{
        padding: 10px 15px;
    }
    .cp01-box{
        width: 100%;
        display: grid;
        gap: 10px;
    }
    .cp01-text01{
        font-size: var(--f26);
        color: var(--rose05);
        text-align: center;
    }
    .cp01-text02{
        font-size: var(--f18);
        text-align: center;
    }
    .cp01-price-set{
        display: flex;
        justify-content: center;
        gap: 15px;
        align-items: center;
    }
    .cp01-price-text01{
        width: 100%;
        margin: 0 0 5px;
        border: 1px solid var(--gray01);
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--f14);
    }
    .cp01-price-text02{
        text-align: center;
        font-size: var(--f30);
        line-height: 1;
        position: relative;
    }
    .cp01-price-text02::after{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 100%;
        height: 2px;
        background-color: var(--rose05);
        transform: rotate(-15deg);
    }
    .cp01-price-text03{
        margin: 0 0 10px;
        text-align: center;
        font-size: 14vw;
        color: var(--rose05);
        line-height: 1;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #campaign01{
        /* margin: -140px auto 0; */
        margin: -11.11vw auto 0;
        /* width: 1060px; */
        width: 84.13vw;
    }
    .cp01-set{
        width: 100%;
        /* box-shadow: 4px 3px 10px 0px rgba(0,0,0,0.2); */
        box-shadow: 0.32vw 0.24vw 0.79vw 0.00vw rgba(0,0,0,0.2);
        background-color: #fff;
    }
    .cp01-set dt{
        width: 100%;
        /* height: 60px; */
        height: 4.76vw;
        background-color: var(--rose05);
        text-align: center;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .cp01-head01{
        font-size: var(--f40);
        color: #fff;
    }
    .cp01-set dd{
        /* padding: 20px 40px; */
        padding: 1.59vw 3.17vw;
    }
    .cp01-box{
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        /* gap: 30px; */
        gap: 2.38vw;
    }
    .cp01-text01{
        font-size: var(--f36);
        color: var(--rose05);
        text-align: center;
    }
    .cp01-text02{
        font-size: var(--f22);
        text-align: center;
    }
    .cp01-price-set{
        display: grid;
        /* grid-template-columns: 140px 1fr; */
        grid-template-columns: 11.11vw 1fr;
        /* gap: 10px; */
        gap: 0.79vw;
        align-items: center;
    }
    .cp01-price-text01{
        width: 100%;
        /* margin: 0 0 10px; */
        margin: 0 0 0.79vw;
        border: 1px solid var(--gray01);
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--f16);
    }
    .cp01-price-text02{
        text-align: center;
        font-size: var(--f40);
        line-height: 1;
        position: relative;
    }
    .cp01-price-text02::after{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 100%;
        /* height: 2px; */
        height: 0.16vw;
        background-color: var(--rose05);
        transform: rotate(-15deg);
    }
    .cp01-price-text03{
        /* margin: 0 0 10px; */
        margin: 0 0 0.79vw;
        text-align: center;
        /* font-size: 90px; */
        font-size: 7.14vw;
        color: var(--rose05);
        line-height: 1;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #campaign01{
        margin: -140px auto 0;
        width: 1060px;
    }
    .cp01-set{
        width: 100%;
        box-shadow: 4px 3px 10px 0px rgba(0,0,0,0.2);
        background-color: #fff;
    }
    .cp01-set dt{
        width: 100%;
        height: 60px;
        background-color: var(--rose05);
        text-align: center;
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .cp01-head01{
        font-size: var(--f40);
        color: #fff;
    }
    .cp01-set dd{
        padding: 20px 40px;
    }
    .cp01-box{
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 30px;
    }
    .cp01-text01{
        font-size: var(--f36);
        color: var(--rose05);
        text-align: center;
    }
    .cp01-text02{
        font-size: var(--f22);
        text-align: center;
    }
    .cp01-price-set{
        display: grid;
        grid-template-columns: 140px 1fr;
        gap: 10px;
        align-items: center;
    }
    .cp01-price-text01{
        width: 100%;
        margin: 0 0 10px;
        border: 1px solid var(--gray01);
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--f16);
    }
    .cp01-price-text02{
        text-align: center;
        font-size: var(--f40);
        line-height: 1;
        position: relative;
    }
    .cp01-price-text02::after{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 100%;
        height: 2px;
        background-color: var(--rose05);
        transform: rotate(-15deg);
    }
    .cp01-price-text03{
        margin: 0 0 10px;
        text-align: center;
        font-size: 90px;
        color: var(--rose05);
        line-height: 1;
    }
}

/************************************************************/
/*   #about   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #about{
        background-image: url(../img/bg02.jpg);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: cover;
        position: relative;
        z-index: 1;
    }
    .about-tri-box{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1;
        width: 70%;
    }
    .about-set{
        width: 100%;
    }
    .about-title{
        text-align: center;
        font-size: var(--f25);
        line-height: 1.5;
        margin: 0 0 50px;
    }
    .about-text01{
        text-align: center;
        font-size: var(--f32);
        color: var(--bronze01);
        margin: 0 0 30px;
        line-height: 1.5;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #about{
        background-image: url(../img/bg02.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
        position: relative;
        z-index: 1;
    }
    .about-tri-box{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1;
        /* width: 450px; */
        width: 35.71vw;
        /* height: 280px; */
        height: 22.22vw;
    }
    .about-set{
        width: 100%;
    }
    .about-title{
        text-align: center;
        font-size: var(--f35);
        line-height: 1.5;
        /* margin: 0 0 100px; */
        margin: 0 0 7.94vw;
    }
    .about-text01{
        text-align: center;
        font-size: var(--f42);
        color: var(--bronze01);
        /* margin: 0 0 50px; */
        margin: 0 0 3.97vw;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #about{
        background-image: url(../img/bg02.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
        position: relative;
        z-index: 1;
    }
    .about-tri-box{
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1;
        width: 450px;
        height: 280px;
    }
    .about-set{
        width: 100%;
    }
    .about-title{
        text-align: center;
        font-size: var(--f35);
        line-height: 1.5;
        margin: 0 0 100px;
    }
    .about-text01{
        text-align: center;
        font-size: var(--f42);
        color: var(--bronze01);
        margin: 0 0 50px;
    }
}

/************************************************************/
/*   #solution   */
/************************************************************/
/* ----------------------------------------------- c1 */
@media screen and (max-width:599px) { /*SP*/
    #solution{
        background-image: url(../img/bg03.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .solution-wrap{
        width: 100%;
        padding: 0 5px;
        margin: -40px 0 0;
    }
    .solution-c1-set{
        width: 100%;
        display: grid;
        justify-items: center;
        gap: 10px;
    }
    .solution-c1-box{
        width: 100%;
        display: grid;
        justify-items: center;
    }
    .solution-c1-img{
        width: 50%;
        max-width: 240px;
    }
    .solution-c1-img.img02,
    .solution-c1-img.img04{
        display: none;
    }
    .solution-c1-img.img03{
        order: 2;
    }
    .solution-tri-box{
        width: 30px;
        background: linear-gradient(180deg,#FCF4F4,#C78A8A);
    }
    .solution-c1-text01{
        text-align: center;
        font-size: var(--f18);
    }
    .solution-c1-text02{
        text-align: center;
        font-size: var(--f20);
    }
    .solution-br{
        display: inline;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #solution{
        background-image: url(../img/bg03.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .solution-wrap{
        width: 100%;
        /* padding: 0 30px 80px; */
        padding: 0 2.38vw 6.35vw;
    }
    .solution-c1-set{
        width: 100%;
        display: grid;
        justify-items: center;
    }
    .solution-c1-box{
        width: 100%;
        display: grid;
        /* grid-template-columns: 260px auto 260px; */
        grid-template-columns: 20.63vw auto 20.63vw;
        justify-content: center;
        align-items: center;
    }
    .solution-c1-img{
        width: 100%;
    }
    .solution-tri-box{
        /* width: 50px; */
        width: 3.97vw;
        /* height: 30px; */
        height: 2.38vw;
        background: linear-gradient(180deg,#FCF4F4,#C78A8A);
    }
    .solution-c1-text01{
        text-align: center;
        font-size: var(--f26);
    }
    .solution-c1-text02{
        text-align: center;
        font-size: var(--f28);
    }
    .solution-br{
        display: inline;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #solution{
        background-image: url(../img/bg03.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .solution-wrap{
        width: 100%;
        padding: 0 30px 80px;
    }
    .solution-c1-set{
        width: 100%;
        display: grid;
        justify-items: center;
    }
    .solution-c1-box{
        width: 100%;
        display: grid;
        grid-template-columns: 260px auto 260px;
        justify-content: center;
        align-items: center;
    }
    .solution-c1-img{
        width: 100%;
    }
    .solution-tri-box{
        width: 50px;
        height: 30px;
        background: linear-gradient(180deg,#FCF4F4,#C78A8A);
    }
    .solution-c1-text01{
        text-align: center;
        font-size: var(--f26);
    }
    .solution-c1-text02{
        text-align: center;
        font-size: var(--f28);
    }
    .solution-br{
        display: none;
    }
}

/* ----------------------------------------------- c2 */
@media screen and (max-width:599px) { /*SP*/
    .solution-c2-set{
        width: 100%;
        padding: 25px;
        background-color: var(--rose02);
        position: relative;
        z-index: 1;
    }
    .solution-c2-set::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: calc(100% - 20px);
        height: calc(100% - 20px);
        border: 1px solid #fff;
    }
    .solution-c2-title{
        width: 100%;
        text-align: center;
        padding: 10px 5px;
        margin: 0 0 20px;
        background-color: #fff;
        border-radius: 40px;
        font-size: var(--f27);
        line-height: 1.5;
    }
    .solution-c2-text01{
        display: grid;
        gap: 10px;
        justify-items: center;
        color: #fff;
        margin: 0 0 20px;
    }
    .solution-c2-text01 dt{
        font-size: var(--f20);
    }
    .solution-c2-text01 dd{
        font-size: var(--f18);
    }
    .solution-c2-box{
        display: grid;
        gap: 20px;
        color: #fff;
    }
    .solution-c2-text02{
        text-align: center;
        font-size: var(--f16);
        padding: 0 0 10px;
        border-bottom: 3px solid #fff;
    }
    .solution-c2-text02 span{
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    .solution-c2-set{
        width: 100%;
        /* padding: 70px; */
        padding: 5.56vw;
        background-color: var(--rose02);
        position: relative;
        z-index: 1;
    }
    .solution-c2-set::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        /* width: calc(100% - 40px); */
        width: calc(100% - 3.17vw);
        /* height: calc(100% - 40px); */
        height: calc(100% - 3.17vw);
        border: 1px solid #fff;
    }
    .solution-c2-title{
        width: 100%;
        text-align: center;
        /* padding: 5px 10px; */
        padding: 0.40vw 0.79vw;
        /* margin: 0 0 40px; */
        margin: 0 0 3.17vw;
        background-color: #fff;
        /* border-radius: 40px; */
        border-radius: 3.17vw;
        font-size: var(--f40);
    }
    .solution-c2-text01{
        display: grid;
        /* gap: 20px; */
        gap: 1.59vw;
        justify-items: center;
        color: #fff;
        /* margin: 0 0 80px; */
        margin: 0 0 6.35vw;
    }
    .solution-c2-text01 dt{
        font-size: var(--f30);
    }
    .solution-c2-text01 dd{
        font-size: var(--f28);
    }
    .solution-c2-box{
        display: grid;
        /* grid-template-columns: 1fr 470px; */
        grid-template-columns: 1fr 37.30vw;
        /* gap: 40px; */
        gap: 3.17vw;
        color: #fff;
    }
    .solution-c2-text02{
        grid-column: 1 / span 2;
        text-align: center;
        font-size: var(--f24);
    }
    .solution-c2-text02 span{
        /* padding: 0 20px 10px; */
        padding: 0 1.59vw 0.79vw;
        /* border-bottom: 3px solid #fff; */
        border-bottom: 0.24vw solid #fff;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .solution-c2-set{
        width: 100%;
        padding: 70px;
        background-color: var(--rose02);
        position: relative;
        z-index: 1;
    }
    .solution-c2-set::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: calc(100% - 40px);
        height: calc(100% - 40px);
        border: 1px solid #fff;
    }
    .solution-c2-title{
        width: 100%;
        text-align: center;
        padding: 5px 10px;
        margin: 0 0 40px;
        background-color: #fff;
        border-radius: 40px;
        font-size: var(--f40);
    }
    .solution-c2-text01{
        display: grid;
        gap: 20px;
        justify-items: center;
        color: #fff;
        margin: 0 0 80px;
    }
    .solution-c2-text01 dt{
        font-size: var(--f30);
    }
    .solution-c2-text01 dd{
        font-size: var(--f28);
    }
    .solution-c2-box{
        display: grid;
        grid-template-columns: 1fr 470px;
        gap: 40px;
        color: #fff;
    }
    .solution-c2-text02{
        grid-column: 1 / span 2;
        text-align: center;
        font-size: var(--f24);
    }
    .solution-c2-text02 span{
        padding: 0 20px 10px;
        border-bottom: 3px solid #fff;
    }
}

/************************************************************/
/*   #features   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #features{
        background-image: url(../img/bg04.jpg);
        background-repeat: repeat;
        background-position: top center;
        background-size: 82px;
    }
    /* .features-banner{
        width: 100%;
    } */
    .features-banner-wrap{
        width: 100%;
        background-image: url(../img/bg15.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
        display: grid;
        justify-items: center;
        padding: 0 15px;
    }
    .features-banner-box{
        width: 100%;
    }
    .features-tri-box{
        width: 30px;
        background: linear-gradient(180deg,#DECD97,#DECD97);
    }
    .features-wrap{
        display: grid;
        gap: 40px;
        background-color: #fff;
        padding: 30px 20px;
        margin: 20px 0 40px;
    }
    .features-set{
        display: grid;
        gap: 20px;
    }
    .features-point-set{
        display: grid;
        grid-template-columns: 80px 1fr;
        border-top: 1px solid var(--gold02);
        border-bottom: 1px solid var(--gold02);
    }
    .features-point-set dt{
        display: flex;
        justify-content: center;
        align-items: center;
        background: #F9ECCC;
        background: linear-gradient(0deg, #F3DDB4, #F9ECCC);
        text-align: center;
        color: var(--bronze01);
        font-size: var(--f15);
        padding: 0 10px;
    }
    .features-point-set dt span{
        font-size: var(--f25);
        line-height: 1;
    }
    .features-point-set dd{
        padding: 10px;
        color: var(--gold01);
        font-size: var(--f20);
        line-height: 1.5;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #features{
        background-image: url(../img/bg04.jpg);
        background-repeat: repeat;
        background-position: top center;
        /* background-size: 82px; */
        background-size: 6.51vw;
    }
    /* .features-banner{
        width: 100%;
    } */
    .features-banner-wrap{
        width: 100%;
        background-image: url(../img/bg15.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
        display: grid;
        justify-items: center;
        /* padding: 0 30px; */
        padding: 0 2.38vw;
    }
    .features-banner-box{
        /* width: 1200px; */
        width: 95.24vw;
    }
    .features-tri-box{
        /* width: 50px; */
        width: 3.97vw;
        /* height: 30px; */
        height: 2.38vw;
        background: linear-gradient(180deg,#DECD97,#DECD97);
    }
    .features-wrap{
        display: grid;
        /* gap: 60px; */
        gap: 4.76vw;
        background-color: #fff;
        /* padding: 70px; */
        padding: 5.56vw;
        /* margin: 80px 0; */
        margin: 6.35vw 0;
    }
    .features-set{
        display: grid;
        /* gap: 40px; */
        gap: 3.17vw;
    }
    .features-point-set{
        display: grid;
        /* grid-template-columns: 130px 1fr; */
        grid-template-columns: 10.32vw 1fr;
        border-top: 1px solid var(--gold02);
        border-bottom: 1px solid var(--gold02);
    }
    .features-point-set dt{
        display: flex;
        justify-content: center;
        align-items: center;
        background: #F9ECCC;
        background: linear-gradient(0deg, #F3DDB4, #F9ECCC);
        text-align: center;
        color: var(--bronze01);
        font-size: var(--f25);
    }
    .features-point-set dt span{
        font-size: var(--f38);
        line-height: 1;
    }
    .features-point-set dd{
        /* padding: 10px 40px; */
        padding: 0.79vw 3.17vw;
        color: var(--gold01);
        font-size: var(--f28);
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #features{
        background-image: url(../img/bg04.jpg);
        background-repeat: repeat;
        background-position: top center;
        background-size: 82px;
    }
    /* .features-banner{
        width: 100%;
    } */
    .features-banner-wrap{
        width: 100%;
        background-image: url(../img/bg15.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
        display: grid;
        justify-items: center;
        padding: 0 30px;
    }
    .features-banner-box{
        width: 1200px;
    }
    .features-tri-box{
        width: 50px;
        height: 30px;
        background: linear-gradient(180deg,#DECD97,#DECD97);
    }
    .features-wrap{
        display: grid;
        gap: 60px;
        background-color: #fff;
        padding: 70px;
        margin: 80px 0;
    }
    .features-set{
        display: grid;
        gap: 40px;
    }
    .features-point-set{
        display: grid;
        grid-template-columns: 130px 1fr;
        border-top: 1px solid var(--gold02);
        border-bottom: 1px solid var(--gold02);
    }
    .features-point-set dt{
        display: flex;
        justify-content: center;
        align-items: center;
        background: #F9ECCC;
        background: linear-gradient(0deg, #F3DDB4, #F9ECCC);
        text-align: center;
        color: var(--bronze01);
        font-size: var(--f25);
    }
    .features-point-set dt span{
        font-size: var(--f38);
        line-height: 1;
    }
    .features-point-set dd{
        padding: 10px 40px;
        color: var(--gold01);
        font-size: var(--f28);
    }
}
/* ----------------------------------------------- point1 */
@media screen and (max-width:599px) { /*SP*/
    .features-point1-box{
        display: grid;
        justify-items: center;
        gap: 20px;
    }
    .features-point1-img{
        width: 50%;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    .features-point1-box{
        display: grid;
        /* grid-template-columns: 1fr 200px; */
        grid-template-columns: 1fr 15.87vw;
        /* gap: 40px; */
        gap: 3.17vw;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .features-point1-box{
        display: grid;
        grid-template-columns: 1fr 200px;
        gap: 40px;
    }
}
/* ----------------------------------------------- point2 */
@media screen and (max-width:599px) { /*SP*/
    .features-point2-box{
        display: grid;
        gap: 20px;
    }
    .features-point2-inner{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .features-point2-key{
        font-size: var(--f20);
        text-align: center;
        color: var(--gold01);
        margin: 0 0 10px;
    }
    .features-point2-text{
        flex: 1;
    }
    .features-point2-img{
        margin: 20px 0 0;
        width: 60%;
        border: 1px solid var(--gray01);
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    .features-point2-box{
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        /* gap: 30px; */
        gap: 2.38vw;
    }
    .features-point2-inner{
        flex: 1;
        max-width: 310px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .features-point2-key{
        font-size: var(--f25);
        text-align: center;
        color: var(--gold01);
        /* margin: 0 0 10px; */
        margin: 0 0 0.79vw;
    }
    .features-point2-text{
        flex: 1;
    }
    .features-point2-img{
        /* margin: 40px 0 0; */
        margin: 3.17vw 0 0;
        width: 100%;
        border: 1px solid var(--gray01);
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .features-point2-box{
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 30px;
    }
    .features-point2-inner{
        max-width: 310px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .features-point2-key{
        font-size: var(--f25);
        text-align: center;
        color: var(--gold01);
        margin: 0 0 10px;
    }
    .features-point2-text{
        flex: 1;
    }
    .features-point2-img{
        margin: 40px 0 0;
        width: 100%;
        border: 1px solid var(--gray01);
    }
}
/* ----------------------------------------------- point3 */
@media screen and (max-width:599px) { /*SP*/
    .features-point3-box{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        justify-content: space-between;
        gap: 20px;
    }
    .features-point3-inner{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    .features-point3-img{
        width: 100%;
    }
    .features-point3-key{
        font-size: var(--f20);
        text-align: center;
        color: var(--gold01);
    }
    .features-point3-text{
        flex: 1;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    .features-point3-box{
        display: grid;
        /* grid-template-columns: repeat(4,240px); */
        grid-template-columns: repeat(4,19.05vw);
        justify-content: space-between;
        /* gap: 10px; */
        gap: 0.79vw;
    }
    .features-point3-inner{
        display: flex;
        flex-direction: column;
        align-items: center;
        /* gap: 10px; */
        gap: 0.79vw;
    }
    .features-point3-img{
        width: 100%;
    }
    .features-point3-key{
        font-size: var(--f28);
        text-align: center;
        color: var(--gold01);
    }
    .features-point3-text{
        flex: 1;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .features-point3-box{
        display: grid;
        grid-template-columns: repeat(4,240px);
        justify-content: space-between;
        gap: 10px;
    }
    .features-point3-inner{
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    .features-point3-img{
        width: 100%;
    }
    .features-point3-key{
        font-size: var(--f28);
        text-align: center;
        color: var(--gold01);
    }
    .features-point3-text{
        flex: 1;
    }
}
/* ----------------------------------------------- point4 */
@media screen and (max-width:599px) { /*SP*/
    .features-point4-box{
        display: grid;
        justify-items: center;
        gap: 20px;
    }
    .features-point4-img{
        width: 100%;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    .features-point4-box{
        display: grid;
        /* grid-template-columns: 1fr 350px; */
        grid-template-columns: 1fr 27.78vw;
        /* gap: 40px; */
        gap: 3.17vw;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .features-point4-box{
        display: grid;
        grid-template-columns: 1fr 350px;
        gap: 40px;
    }
}

/************************************************************/
/*   #cases   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #cases{
        background-image: url(../img/bg05.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .cases-title-en{
        color: var(--bronze01);
        font-size: var(--f40);
    }
    .cases-title-ja{
        font-size: var(--f18);
    }
    .cases-wrap{
        margin: 20px 0 0;
        width: 100%;
        background-color: #fff;
        padding: 30px 20px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 30px;
    }
    .cases-set{
        width: 100%;
    }
    .cases-box{
        width: 100%;
        padding: 10px;
        background-color: var(--rose04);
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: center;
        color: #fff;
    }
    .cases-before{
        font-size: var(--f16);
        border-radius: 20px;
        border: 1px solid #fff;
        padding: 0 20px;
    }
    .cases-text{
        font-size: var(--f18);
        order: 3;
        width: 100%;
        text-align: center;
    }
    .cases-after{
        font-size: var(--f16);
        border-radius: 20px;
        border: 1px solid #fff;
        padding: 0 20px;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #cases{
        background-image: url(../img/bg05.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .cases-title-en{
        color: var(--bronze01);
        font-size: var(--f40);
    }
    .cases-title-ja{
        font-size: var(--f20);
    }
    .cases-wrap{
        /* margin: 40px 0 0; */
        margin: 3.17vw 0 0;
        width: 100%;
        background-color: #fff;
        /* padding: 70px; */
        padding: 5.56vw;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        /* gap: 70px 40px; */
        gap: 5.56vw 3.17vw;
    }
    .cases-set{
        /* width: 470px; */
        width: 37.30vw;
    }
    .cases-box{
        width: 100%;
        /* padding: 10px; */
        padding: 0.79vw;
        background-color: var(--rose04);
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-around;
        align-items: center;
        color: #fff;
    }
    .cases-before{
        font-size: var(--f18);
        /* border-radius: 30px; */
        border-radius: 2.38vw;
        border: 1px solid #fff;
        /* padding: 0 20px; */
        padding: 0 1.59vw;
    }
    .cases-text{
        font-size: var(--f20);
    }
    .cases-after{
        font-size: var(--f18);
        /* border-radius: 30px; */
        border-radius: 2.38vw;
        border: 1px solid #fff;
        /* padding: 0 20px; */
        padding: 0 1.59vw;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #cases{
        background-image: url(../img/bg05.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .cases-title-en{
        color: var(--bronze01);
        font-size: var(--f40);
    }
    .cases-title-ja{
        font-size: var(--f20);
    }
    .cases-wrap{
        margin: 40px 0 0;
        width: 100%;
        background-color: #fff;
        padding: 70px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 70px 40px;
    }
    .cases-set{
        width: 470px;
    }
    .cases-box{
        width: 100%;
        padding: 10px;
        background-color: var(--rose04);
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-around;
        align-items: center;
        color: #fff;
    }
    .cases-before{
        font-size: var(--f18);
        border-radius: 30px;
        border: 1px solid #fff;
        padding: 0 20px;
    }
    .cases-text{
        font-size: var(--f20);
    }
    .cases-after{
        font-size: var(--f18);
        border-radius: 30px;
        border: 1px solid #fff;
        padding: 0 20px;
    }
}

/************************************************************/
/*   #reasons   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #reasons{
        background-color: var(--pink01);
        position: relative;
        z-index: 1;
    }
    #reasons::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg06.jpg);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 200%;
    }
    #reasons::after{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg07.jpg);
        background-repeat: no-repeat;
        background-position: bottom right;
        background-size: 200%;
    }
    .reasons-title-set{
        width: 100%;
        padding: 0 15px;
        display: grid;
        justify-items: center;
        gap: 10px;
        color: #000;
    }
    .reasons-title-logo{
        width: 70%;
    }
    .reasons-title-text{
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        gap: 5px;
        font-size: var(--f40);
    }
    .reasons-title-text span{
        font-size: var(--f30);
    }
    .reasons-wrap{
        width: calc(100% - 30px);
        background-color: #fff;
        padding: 40px 15px;
        margin: 20px 0 0;
        display: grid;
        gap: 40px;
    }
    .reasons-set{
        width: 100%;
        display: grid;
        justify-items: center;
        gap: 20px;
    }
    .reasons-box{
        width: 100%;
        display: grid;
        justify-items: center;
        gap: 10px;
    }
    .reasons-point-icon{
        width: 80px;
    }
    .reasons-point-key{
        display: grid;
        justify-items: center;
        font-size: var(--f24);
        text-align: center;
    }
    .reasons-point-key span{
        font-size: var(--f33);
    }
    .reasons-point-img{
        width: 90%;
        border-radius: 30px;
        overflow: hidden;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #reasons{
        background-color: var(--pink01);
        position: relative;
        z-index: 1;
        overflow: hidden;
    }
    #reasons::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg06.jpg);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 100%;
    }
    #reasons::after{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg07.jpg);
        background-repeat: no-repeat;
        background-position: bottom right;
        background-size: 100%;
    }
    .reasons-title-set{
        width: 100%;
        /* padding: 0 30px; */
        padding: 0 2.38vw;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: flex-end;
        /* gap: 10px; */
        gap: 0.79vw;
        color: #000;
    }
    .reasons-title-logo{
        /* width: 400px; */
        width: 31.75vw;
    }
    .reasons-title-text{
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        /* gap: 5px; */
        gap: 0.40vw;
        font-size: var(--f50);
        line-height: 1;
    }
    .reasons-title-text span{
        font-size: var(--f40);
    }
    .reasons-wrap{
        /* width: 1400px; */
        width: 111.11vw;
        /* padding: 60px 0; */
        padding: 4.76vw 0;
        /* margin: 60px 0 0; */
        margin: 4.76vw 0 0;
        display: grid;
        /* gap: 80px; */
        gap: 6.35vw;
        position: relative;
        z-index: 1;
    }
    .reasons-wrap::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        /* width: 1060px; */
        width: 84.13vw;
        height: 100%;
        background-color: #fff;
    }
    .reasons-set{
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
        /* gap: 40px; */
        gap: 3.17vw;
    }
    .reasons-set:nth-of-type(even){
        flex-direction: row-reverse;
    }
    .reasons-box{
        /* width: 530px; */
        width: 42.06vw;
        display: grid;
        justify-items: center;
        /* gap: 10px; */
        gap: 0.79vw;
    }
    .reasons-point-icon{
        /* width: 120px; */
        width: 9.52vw;
    }
    .reasons-point-key{
        display: grid;
        justify-items: center;
        font-size: var(--f35);
        line-height: 1.5;
        text-align: center;
    }
    .reasons-point-key span{
        font-size: var(--f45);
    }
    .reasons-point-img{
        /* width: 580px; */
        width: 46.03vw;
        position: relative;
        z-index: 1;
    }
    .reasons-point-img::after{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        /* width: calc((100vw - 1060px) / 2); */
        width: calc((100vw - 84.13vw) / 2);
        height: 100%;
        background-color: var(--rose03);
    }
    .reasons-set:nth-of-type(odd) .reasons-point-img::after{
        /* left: 580px; */
        left: 46.03vw;
    }
    .reasons-set:nth-of-type(even) .reasons-point-img::after{
        /* right: 580px; */
        right: 46.03vw;
    }
    .reasons-point-img > div{
        overflow: hidden;
    }
    .reasons-set:nth-of-type(odd) .reasons-point-img > div{
        /* border-radius: 30px 0 0 30px; */
        border-radius: 2.38vw 0 0 2.38vw;
    }
    .reasons-set:nth-of-type(even) .reasons-point-img > div{
        /* border-radius: 0 30px 30px 0; */
        border-radius: 0 2.38vw 2.38vw 0;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #reasons{
        background-color: var(--pink01);
        position: relative;
        z-index: 1;
        overflow: hidden;
    }
    #reasons::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg06.jpg);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 100%;
    }
    #reasons::after{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg07.jpg);
        background-repeat: no-repeat;
        background-position: bottom right;
        background-size: 100%;
    }
    .reasons-title-set{
        width: 100%;
        padding: 0 30px;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: flex-end;
        gap: 10px;
        color: #000;
    }
    .reasons-title-logo{
        width: 400px;
    }
    .reasons-title-text{
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        gap: 5px;
        font-size: var(--f50);
        line-height: 1;
    }
    .reasons-title-text span{
        font-size: var(--f40);
    }
    .reasons-wrap{
        width: 1400px;
        padding: 60px 0;
        margin: 60px 0 0;
        display: grid;
        gap: 80px;
        position: relative;
        z-index: 1;
    }
    .reasons-wrap::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 1060px;
        height: 100%;
        background-color: #fff;
    }
    .reasons-set{
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
        gap: 60px;
    }
    .reasons-set:nth-of-type(even){
        flex-direction: row-reverse;
    }
    .reasons-box{
        width: 530px;
        display: grid;
        justify-items: center;
        gap: 10px;
    }
    .reasons-point-icon{
        width: 120px;
    }
    .reasons-point-key{
        display: grid;
        justify-items: center;
        font-size: var(--f35);
        line-height: 1.5;
        text-align: center;
    }
    .reasons-point-key span{
        font-size: var(--f45);
    }
    .reasons-point-img{
        width: 580px;
        position: relative;
        z-index: 1;
    }
    .reasons-point-img::after{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        width: calc((100vw - 1060px) / 2);
        height: 100%;
        background-color: var(--rose03);
    }
    .reasons-set:nth-of-type(odd) .reasons-point-img::after{
        left: 580px;
    }
    .reasons-set:nth-of-type(even) .reasons-point-img::after{
        right: 580px;
    }
    .reasons-point-img > div{
        overflow: hidden;
    }
    .reasons-set:nth-of-type(odd) .reasons-point-img > div{
        border-radius: 30px 0 0 30px;
    }
    .reasons-set:nth-of-type(even) .reasons-point-img > div{
        border-radius: 0 30px 30px 0;
    }
}

/************************************************************/
/*   #compare   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    .compare-title{
        font-size: var(--f37);
        color: var(--rose01);
    }
    .compare-text01{
        font-size: var(--f18);
        margin: 0 0 30px;
    }
    .compare-table{
        width: 162.79vw;
        table-layout: fixed;
        border: 1px solid var(--gold01);
    }
    .compare-table thead tr > *{
        background-color: var(--gold01);
        color: #fff;
        font-size: var(--f18);
        line-height: 1.5;
        position: relative;
    }
    .compare-table thead tr > *::before{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 1px;
        height: 80%;
        background-color: #fff;
    }
    .compare-table thead tr th:first-of-type{
        width: 23.26vw;
    }
    .compare-table thead tr th:first-of-type::before{
        display: none;
    }
    .compare-table tbody tr{
        border-bottom: 1px solid var(--gold01);
    }
    .compare-table tbody tr > *{
        border-left: 1px solid var(--gold01);
        text-align: center;
        font-size: var(--f15);
        line-height: 1.5;
        padding: 15px 5px;
    }
    .compare-table thead th.compare-highlight{
        background-color: var(--rose01);
    }
    .compare-table tbody td.compare-highlight{
        color: var(--rose01);
    }
    .compare-icon{
        width: 40px;
        margin: 0 auto 10px;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    .compare-title{
        font-size: var(--f47);
        color: var(--rose01);
    }
    .compare-text01{
        font-size: var(--f28);
        /* margin: 0 0 60px; */
        margin: 0 0 4.76vw;
    }
    .compare-table{
        width: 100%;
        table-layout: fixed;
        border: 1px solid var(--gold01);
    }
    .compare-table thead tr > *{
        background-color: var(--gold01);
        color: #fff;
        font-size: var(--f20);
        line-height: 1.5;
        position: relative;
    }
    .compare-table thead tr > *::before{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 1px;
        height: 80%;
        background-color: #fff;
    }
    .compare-table thead tr th:first-of-type{
        /* width: 160px; */
        width: 12.70vw;
    }
    .compare-table thead tr th:first-of-type::before{
        display: none;
    }
    .compare-table tbody tr{
        border-bottom: 1px solid var(--gold01);
    }
    .compare-table tbody tr > *{
        border-left: 1px solid var(--gold01);
        text-align: center;
        font-size: var(--f18);
        line-height: 1.5;
        /* padding: 15px 5px; */
        padding: 1.19vw 0.40vw;
    }
    .compare-table thead tr,
    .compare-table tbody tr:first-of-type{
        /* height: 100px; */
        height: 7.94vw;
    }
    .compare-table thead th.compare-highlight{
        background-color: var(--rose01);
    }
    .compare-table tbody td.compare-highlight{
        color: var(--rose01);
    }
    .compare-icon{
        /* width: 40px; */
        width: 3.17vw;
        /* margin: 0 auto 10px; */
        margin: 0 auto 0.79vw;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    .compare-title{
        font-size: var(--f47);
        color: var(--rose01);
    }
    .compare-text01{
        font-size: var(--f28);
        margin: 0 0 60px;
    }
    .compare-table{
        width: 100%;
        table-layout: fixed;
        border: 1px solid var(--gold01);
    }
    .compare-table thead tr > *{
        background-color: var(--gold01);
        color: #fff;
        font-size: var(--f20);
        line-height: 1.5;
        position: relative;
    }
    .compare-table thead tr > *::before{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        width: 1px;
        height: 80%;
        background-color: #fff;
    }
    .compare-table thead tr th:first-of-type{
        width: 160px;
    }
    .compare-table thead tr th:first-of-type::before{
        display: none;
    }
    .compare-table tbody tr{
        border-bottom: 1px solid var(--gold01);
    }
    .compare-table tbody tr > *{
        border-left: 1px solid var(--gold01);
        text-align: center;
        font-size: var(--f18);
        line-height: 1.5;
        padding: 15px 5px;
    }
    .compare-table thead tr,
    .compare-table tbody tr:first-of-type{
        height: 100px;
    }
    .compare-table thead th.compare-highlight{
        background-color: var(--rose01);
    }
    .compare-table tbody td.compare-highlight{
        color: var(--rose01);
    }
    .compare-icon{
        width: 40px;
        margin: 0 auto 10px;
    }
}

/************************************************************/
/*   #flow   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #flow{
        background-image: url(../img/bg08.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .flow-title-set{
        font-size: var(--f25);
        display: grid;
        justify-items: center;
    }
    .flow-title-set span{
        font-size: var(--f50);
        color: var(--rose01);
        display: block;
    }
    .flow-wrap{
        width: 100%;
        padding: 30px 20px;
        margin: 20px 0 0;
        background-color: #fff;
        display: grid;
        gap: 30px;
    }
    .flow-set{
        display: grid;
        gap: 20px;
        padding: 0 0 30px;
        border-bottom: 1px solid var(--gray01);
    }
    .flow-set:last-of-type{
        padding: 0;
        border-bottom: none;
    }
    .flow-step-icon{
        width: 90px;
        margin: 0 auto;
    }
    .flow-step-key{
        font-size: var(--f26);
        color: var(--rose01);
        text-align: center;
    }
    .flow-step-text{
        font-size: var(--f18);
    }
    .flow-img{
        width: 90%;
        margin: 0 auto;
        border-radius: 30px;
        overflow: hidden;
    }
    .flow-tip{
        display: grid;
        gap: 10px;
    }
    .flow-tip dt{
        padding: 5px;
        background-color: var(--rose01);
        text-align: center;
        color: #fff;
        font-size: var(--f18);
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #flow{
        background-image: url(../img/bg08.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .flow-title-set{
        font-size: var(--f35);
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        /* gap: 10px; */
        gap: 0.79vw;
    }
    .flow-title-set span{
        font-size: var(--f60);
        color: var(--rose01);
    }
    .flow-wrap{
        /* width: 1060px; */
        width: 84.13vw;
        /* padding: 60px; */
        padding: 4.76vw;
        /* margin: 60px 0 0; */
        margin: 4.76vw 0 0;
        background-color: #fff;
        display: grid;
        /* gap: 40px; */
        gap: 3.17vw;
    }
    .flow-set{
        display: grid;
        /* grid-template-columns: 1fr 470px; */
        grid-template-columns: 1fr 37.30vw;
        /* gap: 40px 60px; */
        gap: 3.17vw 4.76vw;
        align-items: flex-start;
        /* padding: 0 0 40px; */
        padding: 0 0 3.17vw;
        border-bottom: 1px solid var(--gray01);
    }
    .flow-set:last-of-type{
        padding: 0;
        border-bottom: none;
    }
    .flow-step-icon{
        /* width: 90px; */
        width: 7.14vw;
        margin: 0 auto;
    }
    .flow-step-key{
        font-size: var(--f36);
        color: var(--rose01);
    }
    .flow-step-text{
        font-size: var(--f20);
    }
    .flow-img{
        /* border-radius: 30px; */
        border-radius: 2.38vw;
        overflow: hidden;
    }
    .flow-tip{
        grid-column: 1 / span 2;
        display: grid;
        /* gap: 20px; */
        gap: 1.59vw;
    }
    .flow-tip dt{
        /* padding: 5px; */
        padding: 0.40vw;
        background-color: var(--rose01);
        text-align: center;
        color: #fff;
        font-size: var(--f20);
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #flow{
        background-image: url(../img/bg08.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .flow-title-set{
        font-size: var(--f35);
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        gap: 10px;
    }
    .flow-title-set span{
        font-size: var(--f60);
        color: var(--rose01);
    }
    .flow-wrap{
        width: 1060px;
        padding: 60px;
        margin: 60px 0 0;
        background-color: #fff;
        display: grid;
        gap: 40px;
    }
    .flow-set{
        display: grid;
        grid-template-columns: 1fr 470px;
        gap: 40px 60px;
        align-items: flex-start;
        padding: 0 0 40px;
        border-bottom: 1px solid var(--gray01);
    }
    .flow-set:last-of-type{
        padding: 0;
        border-bottom: none;
    }
    .flow-step-icon{
        width: 90px;
        margin: 0 auto;
    }
    .flow-step-key{
        font-size: var(--f36);
        color: var(--rose01);
    }
    .flow-step-text{
        font-size: var(--f20);
    }
    .flow-img{
        border-radius: 30px;
        overflow: hidden;
    }
    .flow-tip{
        grid-column: 1 / span 2;
        display: grid;
        gap: 20px;
    }
    .flow-tip dt{
        padding: 5px;
        background-color: var(--rose01);
        text-align: center;
        color: #fff;
        font-size: var(--f20);
    }
}

/************************************************************/
/*   #voice   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #voice{
        background-image: url(../img/bg09.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
        overflow: hidden;
    }
    .voice-wrap{
        width: 100%;
        display: grid;
        gap: 60px;
        margin: 40px 0 0;
    }
    .voice-set{
        display: flex;
        justify-content: flex-start;
        padding: 30px 20px 0;
    }
    /* .voice-set:nth-of-type(odd){
        padding: 30px 0 0 40px;
    }
    .voice-set:nth-of-type(even){
        padding: 30px 40px 0 0;
    } */
    .voice-img-pc{
        display: none;
    }
    .voice-box{
        width: 100%;
        padding: 20px;
        background-color: #fff;
        box-shadow: 6px 6px 30px 0px rgba(0,0,0,0.2);
        position: relative;
        z-index: 1;
    }
    .voice-icon-num{
        display: none;
    }
    .voice-head-set{
        width: 100%;
        position: relative;
    }
    .voice-img-sp{
        position: absolute;
        bottom: 0;
        width: 110px;
        box-shadow: 3px 3px 20px 0px rgba(0,0,0,0.2);
    }
    .voice-set:nth-of-type(odd) .voice-img-sp{
        left: -40px;
        border-radius: 40px 0 0 0;
    }
    .voice-set:nth-of-type(even) .voice-img-sp{
        right: -40px;
        border-radius: 0 40px 0 0;
    }
    .voice-head-box{
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: flex-start;
        gap: 0 10px;
        background: #EAC9C9;
        background: linear-gradient(90deg, #EAC9C9, #B47171);
    }
    .voice-set:nth-of-type(odd) .voice-head-box{
        padding: 0 10px 10px 80px;
    }
    .voice-set:nth-of-type(even) .voice-head-box{
        padding: 0 80px 10px 10px;
    }
    .voice-num{
        font-size: var(--f20);
        color: var(--rose01);
    }
    .voice-data{
        font-size: var(--f16);
        color: #fff;
    }
    .voice-star{
        width: 100%;
        display: flex;
        justify-content: flex-end;
    }
    .voice-star img{
        width: 50%;
        max-width: 130px;
    }
    .voice-inner{
        margin: 20px 0 0;
    }
    .voice-post-title{
        font-size: var(--f20);
        color: var(--rose01);
        line-height: 1.5;
        margin: 0 0 10px;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #voice{
        background-image: url(../img/bg09.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .voice-wrap{
        width: 100%;
        display: grid;
        /* gap: 80px; */
        gap: 6.35vw;
        /* margin: 60px 0 0; */
        margin: 4.76vw 0 0;
    }
    .voice-set{
        display: flex;
        position: relative;
    }
    .voice-set:nth-of-type(odd){
        justify-content: flex-end;
        /* padding: 60px 70px 0 0; */
        padding: 4.76vw 5.56vw 0 0;
    }
    .voice-set:nth-of-type(even){
        justify-content: flex-start;
        /* padding: 60px 0 0 0; */
        padding: 4.76vw 0 0 0;
    }
    .voice-img-pc{
        position: absolute;
        z-index: 2;
        top: 0;
        /* width: 300px; */
        width: 23.81vw;
        /* box-shadow: 3px 3px 20px 0px rgba(0,0,0,0.2); */
        box-shadow: 0.24vw 0.24vw 1.59vw 0.00vw rgba(0,0,0,0.2);
    }
    .voice-set:nth-of-type(odd) .voice-img-pc{
        /* border-radius: 60px 0 0 0; */
        border-radius: 4.76vw 0 0 0;
        left: 0;
    }
    .voice-set:nth-of-type(even) .voice-img-pc{
        /* border-radius: 0 60px 0 0; */
        border-radius: 0 4.76vw 0 0;
        right: 0;
    }
    .voice-img-sp{
        display: none;
    }
    .voice-box{
        /* width: 1000px; */
        width: 79.37vw;
        display: grid;
        background-color: #fff;
        /* box-shadow: 6px 6px 30px 0px rgba(0,0,0,0.2); */
        box-shadow: 0.48vw 0.48vw 2.38vw 0.00vw rgba(0,0,0,0.2);
        position: relative;
        z-index: 1;
    }
    .voice-set:nth-of-type(odd) .voice-box{
        justify-items: start;
        /* padding: 40px 40px 40px 170px; */
        padding: 3.17vw 3.17vw 3.17vw 13.49vw;
    }
    .voice-set:nth-of-type(even) .voice-box{
        justify-items: end;
        /* padding: 40px 100px 40px 70px; */
        padding: 3.17vw 7.94vw 3.17vw 5.56vw;
    }
    .voice-icon-num{
        position: absolute;
        z-index: -1;
        top: 0;
        /* width: 130px; */
        width: 10.32vw;
    }
    .voice-set:nth-of-type(odd) .voice-icon-num{
        right: 0;
    }
    .voice-set:nth-of-type(even) .voice-icon-num{
        left: 0;
    }
    .voice-head-box{
        display: inline-flex;
        flex-wrap: nowrap;
        align-items: baseline;
        /* gap: 20px; */
        gap: 1.59vw;
        background: #EAC9C9;
        background: linear-gradient(90deg, #EAC9C9, #B47171);
    }
    .voice-set:nth-of-type(odd) .voice-head-box{
        justify-content: flex-start;
        /* padding: 5px 30px 5px 40px; */
        padding: 0.40vw 2.38vw 0.40vw 3.17vw;
    }
    .voice-set:nth-of-type(even) .voice-head-box{
        justify-content: flex-end;
        /* padding: 5px 30px; */
        padding: 0.40vw 2.38vw;
    }
    .voice-num{
        font-size: var(--f30);
        color: var(--rose01);
    }
    .voice-data{
        font-size: var(--f20);
        color: #fff;
    }
    .voice-star{
        /* width: 130px; */
        width: 10.32vw;
        display: flex;
        align-items: center;
    }
    .voice-set:nth-of-type(odd) .voice-inner{
        /* padding: 30px 0 0 40px; */
        padding: 2.38vw 0 0 3.17vw;
    }
    .voice-set:nth-of-type(even) .voice-inner{
        /* padding: 30px 40px 0 0; */
        padding: 2.38vw 3.17vw 0 0;
    }
    .voice-post-title{
        font-size: var(--f30);
        color: var(--rose01);
        /* margin: 0 0 10px; */
        margin: 0 0 0.79vw;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #voice{
        background-image: url(../img/bg09.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .voice-wrap{
        width: 100%;
        display: grid;
        gap: 80px;
        margin: 60px 0 0;
    }
    .voice-set{
        display: flex;
        position: relative;
    }
    .voice-set:nth-of-type(odd){
        justify-content: flex-end;
        padding: 60px 70px 0 0;
    }
    .voice-set:nth-of-type(even){
        justify-content: flex-start;
        padding: 60px 0 0 0;
    }
    .voice-img-pc{
        position: absolute;
        z-index: 2;
        top: 0;
        width: 300px;
        box-shadow: 3px 3px 20px 0px rgba(0,0,0,0.2);
    }
    .voice-set:nth-of-type(odd) .voice-img-pc{
        border-radius: 60px 0 0 0;
        left: 0;
    }
    .voice-set:nth-of-type(even) .voice-img-pc{
        border-radius: 0 60px 0 0;
        right: 0;
    }
    .voice-img-sp{
        display: none;
    }
    .voice-box{
        width: 1000px;
        display: grid;
        background-color: #fff;
        box-shadow: 6px 6px 30px 0px rgba(0,0,0,0.2);
        position: relative;
        z-index: 1;
    }
    .voice-set:nth-of-type(odd) .voice-box{
        justify-items: start;
        padding: 40px 40px 40px 170px;
    }
    .voice-set:nth-of-type(even) .voice-box{
        justify-items: end;
        padding: 40px 100px 40px 70px;
    }
    .voice-icon-num{
        position: absolute;
        z-index: -1;
        top: 0;
        width: 130px;
    }
    .voice-set:nth-of-type(odd) .voice-icon-num{
        right: 0;
    }
    .voice-set:nth-of-type(even) .voice-icon-num{
        left: 0;
    }
    .voice-head-box{
        display: inline-flex;
        flex-wrap: nowrap;
        align-items: baseline;
        gap: 20px;
        background: #EAC9C9;
        background: linear-gradient(90deg, #EAC9C9, #B47171);
    }
    .voice-set:nth-of-type(odd) .voice-head-box{
        justify-content: flex-start;
        padding: 5px 30px 5px 40px;
    }
    .voice-set:nth-of-type(even) .voice-head-box{
        justify-content: flex-end;
        padding: 5px 30px;
    }
    .voice-num{
        font-size: var(--f30);
        color: var(--rose01);
    }
    .voice-data{
        font-size: var(--f20);
        color: #fff;
    }
    .voice-star{
        width: 130px;
        display: flex;
        align-items: center;
    }
    .voice-set:nth-of-type(odd) .voice-inner{
        padding: 30px 0 0 40px;
    }
    .voice-set:nth-of-type(even) .voice-inner{
        padding: 30px 40px 0 0;
    }
    .voice-post-title{
        font-size: var(--f30);
        color: var(--rose01);
        margin: 0 0 10px;
    }
}

/************************************************************/
/*   #faq   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #faq{
        background-color: var(--yellow02);
        position: relative;
        z-index: 1;
    }
    #faq::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg10.png);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 150%;
    }
    #faq::after{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg11.png);
        background-repeat: no-repeat;
        background-position: bottom right;
        background-size: 150%;
    }
    .faq-title{
        font-size: var(--f40);
        color: var(--bronze01);
    }
    .faq-wrap{
        width: 100%;
        margin: 60px 0;
    }
    .faq-set{
        width: 100%;
        display: grid;
        gap: 90px;
    }
    .faq-box{
        display: grid;
        gap: 30px;
    }
    .faq-set dt{
        width: 100%;
        min-height: 90px;
        display: flex;
        align-items: center;
        padding: 20px 20px 20px 70px;
        background-color: var(--gray02);
        border-radius: 30px;
        box-shadow: 6px 6px 30px 0px rgba(0,0,0,0.2);
        position: relative;
    }
    .faq-set dt::before{
        content: '';
        position: absolute;
        top: -40px;
        left: -5px;
        width: 80px;
        height: 80px;
        background-image: url(../img/faq-q.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .faq-set dd{
        width: 100%;
        padding: 20px 20px 40px 20px;
        background-color: #fff;
        border-radius: 30px;
        box-shadow: 6px 6px 30px 0px rgba(0,0,0,0.2);
        position: relative;
    }
    .faq-set dd::before{
        content: '';
        position: absolute;
        bottom: -70px;
        right: -5px;
        width: 100px;
        height: 100px;
        background-image: url(../img/faq-a.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .faq-set dd::after {
        content: '';
        position: absolute;
        bottom: -30px;
        right: 110px;
        border-width: 30px 20px 0 20px;
        border-style: solid;
        border-color: #fff transparent transparent transparent;
        transform: skewX(50deg);
    }
    .faq-q{
        font-size: var(--f18);
        line-height: 1.5;
    }
    .faq-a{
        font-size: var(--f18);
        color: var(--rose01);
        line-height: 1.5;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #faq{
        background-color: var(--yellow02);
        position: relative;
        z-index: 1;
    }
    #faq::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg10.png);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 100%;
    }
    #faq::after{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg11.png);
        background-repeat: no-repeat;
        background-position: bottom right;
        background-size: 100%;
    }
    .faq-title{
        font-size: var(--f50);
        color: var(--bronze01);
    }
    .faq-wrap{
        width: 100%;
        /* margin: 80px 0 0; */
        margin: 6.35vw 0 0;
    }
    .faq-set{
        width: 100%;
        display: grid;
        /* gap: 90px; */
        gap: 7.14vw;
    }
    .faq-box{
        display: grid;
        /* gap: 60px; */
        gap: 4.76vw;
    }
    .faq-set dt{
        /* width: 1060px; */
        width: 84.13vw;
        /* min-height: 90px; */
        min-height: 7.14vw;
        /* margin: 0 0 0 70px; */
        margin: 0 0 0 5.56vw;
        display: flex;
        align-items: center;
        /* padding: 20px 10px 20px 140px; */
        padding: 1.59vw 0.79vw 1.59vw 11.11vw;
        background-color: var(--gray02);
        /* border-radius: 30px; */
        border-radius: 2.38vw;
        /* box-shadow: 6px 6px 30px 0px rgba(0,0,0,0.2); */
        box-shadow: 0.48vw 0.48vw 2.38vw 0.00vw rgba(0,0,0,0.2);
        position: relative;
    }
    .faq-set dt::before{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        /* left: -70px; */
        left: -5.56vw;
        margin: auto;
        /* width: 130px; */
        width: 10.32vw;
        /* height: 130px; */
        height: 10.32vw;
        background-image: url(../img/faq-q.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .faq-set dd{
        /* width: 1130px; */
        width: 89.68vw;
        /* padding: 20px 120px 20px 70px; */
        padding: 1.59vw 9.52vw 1.59vw 5.56vw;
        background-color: #fff;
        /* border-radius: 30px; */
        border-radius: 2.38vw;
        /* box-shadow: 6px 6px 30px 0px rgba(0,0,0,0.2); */
        box-shadow: 0.48vw 0.48vw 2.38vw 0.00vw rgba(0,0,0,0.2);
        position: relative;
    }
    .faq-set dd::before{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        /* right: -70px; */
        right: -5.56vw;
        margin: auto;
        /* width: 180px; */
        width: 14.29vw;
        /* height: 180px; */
        height: 14.29vw;
        background-image: url(../img/faq-a.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .faq-set dd::after {
        content: '';
        position: absolute;
        /* bottom: -30px; */
        bottom: -2.38vw;
        /* right: 200px; */
        right: 15.87vw;
        /* border-width: 30px 20px 0 20px; */
        border-width: 2.38vw 1.59vw 0 1.59vw;
        border-style: solid;
        border-color: #fff transparent transparent transparent;
        transform: skewX(50deg);
    }
    .faq-q{
        font-size: var(--f22);
        line-height: 1.5;
    }
    .faq-a{
        font-size: var(--f22);
        color: var(--rose01);
        line-height: 1.5;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #faq{
        background-color: var(--yellow02);
        position: relative;
        z-index: 1;
    }
    #faq::before{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg10.png);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 100%;
    }
    #faq::after{
        content: '';
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url(../img/bg11.png);
        background-repeat: no-repeat;
        background-position: bottom right;
        background-size: 100%;
    }
    .faq-title{
        font-size: var(--f50);
        color: var(--bronze01);
    }
    .faq-wrap{
        width: 100%;
        margin: 80px 0 0;
    }
    .faq-set{
        width: 100%;
        display: grid;
        gap: 90px;
    }
    .faq-box{
        display: grid;
        gap: 60px;
    }
    .faq-set dt{
        width: 1060px;
        min-height: 90px;
        margin: 0 0 0 70px;
        display: flex;
        align-items: center;
        padding: 20px 10px 20px 140px;
        background-color: var(--gray02);
        border-radius: 30px;
        box-shadow: 6px 6px 30px 0px rgba(0,0,0,0.2);
        position: relative;
    }
    .faq-set dt::before{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: -70px;
        margin: auto;
        width: 130px;
        height: 130px;
        background-image: url(../img/faq-q.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .faq-set dd{
        width: 1130px;
        padding: 20px 120px 20px 70px;
        background-color: #fff;
        border-radius: 30px;
        box-shadow: 6px 6px 30px 0px rgba(0,0,0,0.2);
        position: relative;
    }
    .faq-set dd::before{
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: -70px;
        margin: auto;
        width: 180px;
        height: 180px;
        background-image: url(../img/faq-a.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }
    .faq-set dd::after {
        content: '';
        position: absolute;
        bottom: -30px;
        right: 200px;
        border-width: 30px 20px 0 20px;
        border-style: solid;
        border-color: #fff transparent transparent transparent;
        transform: skewX(50deg);
    }
    .faq-q{
        font-size: var(--f22);
        line-height: 1.5;
    }
    .faq-a{
        font-size: var(--f22);
        color: var(--rose01);
        line-height: 1.5;
    }
}

/************************************************************/
/*   #salon   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #salon{
        background-image: url(../img/bg12.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .salon-wrap{
        margin: 20px 0 0;
        display: grid;
        gap: 40px;
    }
    .salon-set{
        width: 100%;
        padding: 30px 20px;
        background-color: #fff;
        border-radius: 30px;
    }
    .salon-name-set{
        display: grid;
        justify-items: center;
        gap: 10px;
        font-size: var(--f25);
        color: #000;
        line-height: 1;
    }
    .salon-logo01{
        width: 70%;
        max-width: 280px;
    }
    .salon-logo02{
        width: 70%;
        max-width: 260px;
    }
    .salon-img-set{
        margin: 20px 0 0;
        display: grid;
        gap: 20px;
    }
    .salon-img-box{
        border-radius: 30px;
        overflow: hidden;
    }
    .salon-info-set{
        margin: 20px 0 0;
        border: 3px solid var(--gold01);
        display: grid;
        grid-template-columns: 70px 1fr;
    }
    .salon-info-set dt{
        display: grid;
        justify-items: center;
        align-items: center;
        padding: 10px 5px;
        background-color: var(--gold03);
        border-bottom: 2px solid var(--gold01);
    }
    .salon-info-set dt:last-of-type{
        border-bottom: none;
    }
    .salon-info-set dd{
        padding: 10px 20px;
        border-bottom: 2px solid var(--gold01);
    }
    .salon-info-set dd:last-of-type{
        border-bottom: none;
    }
    .salon-info-box{
        display: grid;
        gap: 10px;
    }
    .salon-info-map{
        color: var(--blue01);
        text-decoration: underline;
        display: grid;
        grid-template-columns: 20px 1fr;
        align-items: center;
        gap: 5px;
    }
    .salon-info-map::before{
        content: '';
        width: 20px;
        height: 100%;
        background-image: url(../img/icon-map.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #salon{
        background-image: url(../img/bg12.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .salon-wrap{
        /* margin: 80px 0 0; */
        margin: 6.35vw 0 0;
        display: grid;
        /* gap: 80px; */
        gap: 6.35vw;
    }
    .salon-set{
        /* width: 1060px; */
        width: 84.13vw;
        /* padding: 60px; */
        padding: 4.76vw;
        background-color: #fff;
        /* border-radius: 30px; */
        border-radius: 2.38vw;
    }
    .salon-name-set{
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        /* gap: 40px; */
        gap: 3.17vw;
        font-size: var(--f40);
        color: #000;
        line-height: 1;
    }
    .salon-logo01{
        /* width: 280px; */
        width: 22.22vw;
    }
    .salon-logo02{
        /* width: 260px; */
        width: 20.63vw;
    }
    .salon-img-set{
        /* margin: 60px 0 0; */
        margin: 4.76vw 0 0;
        display: grid;
        /* grid-template-columns: repeat(2,450px); */
        grid-template-columns: repeat(2,35.71vw);
        /* gap: 40px; */
        gap: 3.17vw;
    }
    .salon-img-box{
        /* border-radius: 30px; */
        border-radius: 2.38vw;
        overflow: hidden;
    }
    .salon-info-set{
        /* margin: 60px 0 0; */
        margin: 4.76vw 0 0;
        /* border: 3px solid var(--gold01); */
        border: 0.24vw solid var(--gold01);
        display: grid;
        /* grid-template-columns: 140px 1fr; */
        grid-template-columns: 11.11vw 1fr;
    }
    .salon-info-set dt{
        display: grid;
        justify-items: center;
        align-items: center;
        /* padding: 20px 5px; */
        padding: 1.59vw 0.40vw;
        background-color: var(--gold03);
        /* border-bottom: 2px solid var(--gold01); */
        border-bottom: 0.16vw solid var(--gold01);
    }
    .salon-info-set dt:last-of-type{
        border-bottom: none;
    }
    .salon-info-set dd{
        /* padding: 20px; */
        padding: 1.59vw;
        /* border-bottom: 2px solid var(--gold01); */
        border-bottom: 0.16vw solid var(--gold01);
    }
    .salon-info-set dd:last-of-type{
        border-bottom: none;
    }
    .salon-info-box{
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        /* gap: 0 20px; */
        gap: 0 1.59vw;
    }
    .salon-info-map{
        color: var(--blue01);
        text-decoration: underline;
        display: grid;
        /* grid-template-columns: 20px 1fr; */
        grid-template-columns: 1.59vw 1fr;
        align-items: center;
        /* gap: 10px; */
        gap: 0.79vw;
    }
    .salon-info-map::before{
        content: '';
        /* width: 20px; */
        width: 1.59vw;
        /* height: 30px; */
        height: 2.38vw;
        background-image: url(../img/icon-map.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #salon{
        background-image: url(../img/bg12.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .salon-wrap{
        margin: 80px 0 0;
        display: grid;
        gap: 80px;
    }
    .salon-set{
        width: 1060px;
        padding: 60px;
        background-color: #fff;
        border-radius: 30px;
    }
    .salon-name-set{
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        gap: 40px;
        font-size: var(--f40);
        color: #000;
        line-height: 1;
    }
    .salon-logo01{
        width: 280px;
    }
    .salon-logo02{
        width: 260px;
    }
    .salon-img-set{
        margin: 60px 0 0;
        display: grid;
        grid-template-columns: repeat(2,450px);
        gap: 40px;
    }
    .salon-img-box{
        border-radius: 30px;
        overflow: hidden;
    }
    .salon-info-set{
        margin: 60px 0 0;
        border: 3px solid var(--gold01);
        display: grid;
        grid-template-columns: 140px 1fr;
    }
    .salon-info-set dt{
        display: grid;
        justify-items: center;
        align-items: center;
        padding: 20px 5px;
        background-color: var(--gold03);
        border-bottom: 2px solid var(--gold01);
    }
    .salon-info-set dt:last-of-type{
        border-bottom: none;
    }
    .salon-info-set dd{
        padding: 20px;
        border-bottom: 2px solid var(--gold01);
    }
    .salon-info-set dd:last-of-type{
        border-bottom: none;
    }
    .salon-info-box{
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        gap: 0 20px;
    }
    .salon-info-map{
        color: var(--blue01);
        text-decoration: underline;
        display: grid;
        grid-template-columns: 20px 1fr;
        align-items: center;
        gap: 10px;
    }
    .salon-info-map::before{
        content: '';
        width: 20px;
        height: 30px;
        background-image: url(../img/icon-map.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain;
    }
}

/************************************************************/
/*   #reserve   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #reserve{
        background-image: url(../img/bg13.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .reserve-set{
        width: 100%;
        padding: 30px 0 0;
        display: grid;
        gap: 50px;
    }
    .reserve-set dt{
        font-size: var(--f20);
        color: #fff;
        text-align: center;
        padding: 5px;
        margin: 0 0 50px;
    }
    .reserve-set .reserve-oirase dt{
        background-color: var(--gold01);
    }
    .reserve-set .reserve-nejo dt{
        background-color: var(--rose01);
    }
    .reserve-set dd{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 20px;
    }
    .reserve-box{
        padding: 40px 10px 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--f18);
        line-height: 1.5;
        text-align: center;
        background-color: #fff;
        border-radius: 20px;
        box-shadow: 0px 7px 6px 0px rgba(0,0,0,0.2);
        position: relative;
    }
    .reserve-icon{
        position: absolute;
        top: -35px;
        left: 0;
        right: 0;
        margin: auto;
        width: 70px;
        height: 70px;
        border-radius: 100%;
        padding: 15px;
        background-color: #fff;
    }
    .reserve-tri-box{
        position: absolute;
        bottom: 10px;
        right: 10px;
        width: 10px;
        height: 14px;
        background: linear-gradient(180deg,#F2DEDE,#F2DEDE);
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #reserve{
        background-image: url(../img/bg13.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .reserve-set{
        width: 100%;
        /* padding: 50px 0 0; */
        padding: 3.97vw 0 0;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        /* gap: 70px; */
        gap: 5.56vw;
    }
    .reserve-set dt{
        font-size: var(--f28);
        color: #fff;
        text-align: center;
        /* padding: 5px; */
        padding: 0.40vw;
        /* margin: 0 0 80px; */
        margin: 0 0 6.35vw;
    }
    .reserve-set .reserve-oirase dt{
        background-color: var(--gold01);
    }
    .reserve-set .reserve-nejo dt{
        background-color: var(--rose01);
    }
    .reserve-set dd{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        /* gap: 40px; */
        gap: 3.17vw;
    }
    .reserve-box{
        /* padding: 40px 10px 30px; */
        padding: 3.17vw 0.79vw 2.38vw;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--f24);
        line-height: 1.5;
        text-align: center;
        background-color: #fff;
        /* border-radius: 20px; */
        border-radius: 1.59vw;
        /* box-shadow: 0px 7px 6px 0px rgba(0,0,0,0.2); */
        box-shadow: 0.00vw 0.56vw 0.48vw 0.00vw rgba(0,0,0,0.2);
        position: relative;
    }
    .reserve-icon{
        position: absolute;
        /* top: -50px; */
        top: -3.97vw;
        left: 0;
        right: 0;
        margin: auto;
        /* width: 90px; */
        width: 7.14vw;
        /* height: 90px; */
        height: 7.14vw;
        border-radius: 100%;
        /* padding: 20px; */
        padding: 1.59vw;
        background-color: #fff;
    }
    .reserve-tri-box{
        position: absolute;
        /* bottom: 10px; */
        bottom: 0.79vw;
        /* right: 10px; */
        right: 0.79vw;
        /* width: 10px; */
        width: 0.79vw;
        /* height: 17px; */
        height: 1.35vw;
        background: linear-gradient(180deg,#F2DEDE,#F2DEDE);
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #reserve{
        background-image: url(../img/bg13.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .reserve-set{
        width: 100%;
        padding: 50px 0 0;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 70px;
    }
    .reserve-set dt{
        font-size: var(--f28);
        color: #fff;
        text-align: center;
        padding: 5px;
        margin: 0 0 80px;
    }
    .reserve-set .reserve-oirase dt{
        background-color: var(--gold01);
    }
    .reserve-set .reserve-nejo dt{
        background-color: var(--rose01);
    }
    .reserve-set dd{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 40px;
    }
    .reserve-box{
        padding: 40px 10px 30px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: var(--f24);
        line-height: 1.5;
        text-align: center;
        background-color: #fff;
        border-radius: 20px;
        box-shadow: 0px 7px 6px 0px rgba(0,0,0,0.2);
        position: relative;
    }
    .reserve-icon{
        position: absolute;
        top: -50px;
        left: 0;
        right: 0;
        margin: auto;
        width: 90px;
        height: 90px;
        border-radius: 100%;
        padding: 20px;
        background-color: #fff;
    }
    .reserve-tri-box{
        position: absolute;
        bottom: 10px;
        right: 10px;
        width: 10px;
        height: 17px;
        background: linear-gradient(180deg,#F2DEDE,#F2DEDE);
    }
}

/************************************************************/
/*   #counseling   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #counseling{
        background-image: url(../img/bg14.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .counseling-title{
        font-size: var(--f30);
        margin: 0 0 10px;
        text-align: center;
        line-height: 1.5;
    }
    .counseling-set{
        margin: 20px 0 0;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
    }
    .counseling-img-pc{
        display: none;
    }
    .counseling-box{
        display: grid;
        grid-template-columns: 40% 1fr;
        gap: 20px 10px;
    }
    .counseling-list{
        grid-column: 1 / span 2;
        display: grid;
        gap: 10px;
    }
    .counseling-list li{
        display: grid;
        grid-template-columns: 25px 1fr;
        gap: 10px;
        font-size: var(--f20);
        line-height: 1.5;
    }
    .counseling-list li::before{
        content: '';
        width: 25px;
        height: 25px;
        background-image: url(../img/icon-check01.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain;
    }
    .counseling-img-sp{
        width: 100%;
        padding: 0 0 0 10px;
    }
    .counseling-text01{
        font-size: var(--f18);
        color: var(--rose01);
    }
    .counseling-bubble-set{
        width: 100%;
        display: grid;
        justify-items: center;
        margin: 0 0 20px;
    }
    .counseling-bubble-box{
        width: 100%;
        padding: 15px 15px;
        border-radius: 15px;
        background-color: var(--green01);
        font-size: var(--f18);
        color: #fff;
        line-height: 1.5;
        text-align: center;
    }
    .counseling-tri-box01{
        width: 30px;
        height: 20px;
        background: linear-gradient(180deg,var(--green01),var(--green01));
    }
    .counseling-link-set{
        width: 90%;
        display: grid;
        gap: 20px;
        justify-items: center;
    }
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #counseling{
        background-image: url(../img/bg14.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .counseling-title{
        font-size: var(--f46);
        /* margin: 0 0 10px; */
        margin: 0 0 0.79vw;
    }
    .counseling-set{
        /* margin: 40px 0 0; */
        margin: 3.17vw 0 0;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
    }
    .counseling-img-pc{
        /* width: 365px; */
        width: 28.97vw;
    }
    .counseling-box{
        display: grid;
        /* gap: 10px; */
        gap: 0.79vw;
    }
    .counseling-list{
        display: grid;
        /* gap: 30px; */
        gap: 2.38vw;
    }
    .counseling-list li{
        display: grid;
        /* grid-template-columns: 36px 1fr; */
        grid-template-columns: 2.86vw 1fr;
        /* gap: 20px; */
        gap: 1.59vw;
        font-size: var(--f23);
        line-height: 1.5;
    }
    .counseling-list li::before{
        content: '';
        /* width: 36px; */
        width: 2.86vw;
        /* height: 36px; */
        height: 2.86vw;
        background-image: url(../img/icon-check01.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain;
    }
    .counseling-img-sp{
        display: none;
    }
    .counseling-text01{
        font-size: var(--f22);
        color: var(--rose01);
    }
    .counseling-bubble-set{
        display: grid;
        justify-items: center;
        /* margin: 0 0 30px; */
        margin: 0 0 2.38vw;
    }
    .counseling-bubble-box{
        /* padding: 10px 30px; */
        padding: 0.79vw 2.38vw;
        /* border-radius: 30px; */
        border-radius: 2.38vw;
        background-color: var(--green01);
        font-size: var(--f23);
        color: #fff;
    }
    .counseling-tri-box01{
        /* width: 30px; */
        width: 2.38vw;
        /* height: 20px; */
        height: 1.59vw;
        background: linear-gradient(180deg,var(--green01),var(--green01));
    }
    .counseling-link-set{
        /* width: 1060px; */
        width: 84.13vw;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        /* gap: 40px; */
        gap: 3.17vw;
        justify-items: center;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #counseling{
        background-image: url(../img/bg14.jpg);
        background-repeat: no-repeat;
        background-position: top center;
        background-size: cover;
    }
    .counseling-title{
        font-size: var(--f46);
        margin: 0 0 10px;
    }
    .counseling-set{
        margin: 40px 0 0;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
    }
    .counseling-img-pc{
        width: 365px;
    }
    .counseling-box{
        display: grid;
        gap: 10px;
    }
    .counseling-list{
        display: grid;
        gap: 30px;
    }
    .counseling-list li{
        display: grid;
        grid-template-columns: 36px 1fr;
        gap: 20px;
        font-size: var(--f23);
        line-height: 1.5;
    }
    .counseling-list li::before{
        content: '';
        width: 36px;
        height: 36px;
        background-image: url(../img/icon-check01.png);
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain;
    }
    .counseling-text01{
        font-size: var(--f22);
        color: var(--rose01);
    }
    .counseling-img-sp{
        display: none;
    }
    .counseling-bubble-set{
        display: grid;
        justify-items: center;
        margin: 0 0 30px;
    }
    .counseling-bubble-box{
        padding: 10px 30px;
        border-radius: 30px;
        background-color: var(--green01);
        font-size: var(--f23);
        color: #fff;
    }
    .counseling-tri-box01{
        width: 30px;
        height: 20px;
        background: linear-gradient(180deg,var(--green01),var(--green01));
    }
    .counseling-link-set{
        width: 1060px;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 40px;
        justify-items: center;
    }
}

/************************************************************/
/*   #course-offer   */
/************************************************************/
@media screen and (max-width:599px) { /*SP*/
    #course-offer{
        background-color: var(--rose06);
    }
    .course-title{
        color: #fff;
        font-size: var(--f40);
        text-align: center;
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        gap: 10px;
        line-height: 1.5;
    }
    .course-title::before{
        content: '';
        width: 2px;
        height: 60%;
        background-color: #fff;
        transform: rotate(-45deg) translate(-20px, 40px);
    }
    .course-title::after{
        content: '';
        width: 2px;
        height: 60%;
        background-color: #fff;
        transform: rotate(45deg) translate(20px, 40px);
    }
    .course-wrap{
        width: 100%;
        background-color: #fff;
        padding: 30px 20px;
        margin: 20px 0 0;
    }
    .course-set{
        display: grid;
        gap: 40px;
    }
    .course-name{
        font-size: var(--f30);
        color: var(--bronze01);
        text-align: center;
        line-height: 1.5;
        border-bottom: 1px solid var(--bronze01);
        padding: 0 0 10px;
        margin: 0 0 20px;
    }
    .course-box{
        display: grid;
        gap: 20px;
    }
    .course-img-box{
        grid-row: 2;
    }
    .course-feature-set{
        display: grid;
        gap: 10px;
    }
    .course-feature-set > div{
        display: flex;
        flex-wrap: wrap;
        gap: 0 10px;
        align-items: center;
    }
    .course-feature-set dt{
        width: 130px;
        border-radius: 30px;
        text-align: center;
        color: #fff;
        font-size: var(--f16);
    }
    .course-feature-set .course-feature01 dt{
        background-color: var(--bronze01);
    }
    .course-feature-set .course-feature01 dd{
        color: var(--bronze01);
        font-size: var(--f20);
        line-height: 1.5;
    }
    .course-feature-set .course-feature02 dt{
        background-color: var(--rose01);
    }
    .course-feature-set .course-feature02 dd{
        color: var(--rose01);
        font-size: var(--f35);
        line-height: 1;
    }
    .course-off-box{
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        justify-content: center;
        margin: 10px 0 0;
        border: 3px solid var(--rose01);
        border-radius: 10px;
        color: var(--rose01);
        padding: 5px 0 10px;
    }
    .course-off-text{
        font-size: var(--f20);
        line-height: 1;
    }
    .course-off-text span{
        font-size: 1.5em;
    }

    /* course-01 */
    .course-01-firstoffer{
        width: 100%;
        background-color: var(--rose01);
        margin: 20px 0 0;
        padding: 20px;
        border-left: 10px solid var(--rose07);
        color: #fff;
        display: grid;
        gap: 10px;
        text-align: center;
    }
    .course-01-text-box{
        display: flex;
        align-items: baseline;
        justify-content: center;
    }
    .course-01-text01{
        font-size: var(--f23);
    }
    .course-01-text02{
        font-size: var(--f20);
    }
    .course-01-text03{
        font-size: var(--f40);
        line-height: 1;
    }
    .course-01-white-box{
        background-color: #fff;
        display: grid;
        align-content: center;
        padding: 5px;
    }
    .course-01-price-list{
        margin: 20px 0 0;
        width: 100%;
        display: grid;
        gap: 20px;
    }
    .course-01-price-list > div{
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 10px;
        align-items: center;
    }
    .course-01-price-list > div::before{
        content: "・・・・・・・・・・・・・・・・・・・・";
        grid-column: 2;
        overflow: hidden;
        white-space: nowrap;
    }
    .course-01-price-list dt{
        grid-column: 1;
        grid-row: 1;
        padding: 0 0 0 1rem;
        position: relative;
    }
    .course-01-price-list dt::before{
        content: '・';
        position: absolute;
        top: 0;
        left: 0;
    }
    .course-01-price-list dd{
        grid-column: 3;
        grid-row: 1;
    }
    .course-01-price-text01{
        font-size: var(--f27);
        color: var(--rose01);
        line-height: 1;
    }

    /* course-04 */
}
@media screen and (min-width:600px) and ( max-width:1259px) { /*TB*/
    #course-offer{
        background-color: var(--rose06);
    }
    .course-title{
        color: #fff;
        font-size: var(--f50);
        text-align: center;
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        /* gap: 10px; */
        gap: 0.79vw;
    }
    .course-title::before{
        content: '';
        /* width: 2px; */
        width: 0.16vw;
        height: 70%;
        background-color: #fff;
        /* transform: rotate(-45deg) translate(-30px, 0px); */
        transform: rotate(-45deg) translate(-2.38vw, 0.00vw);
    }
    .course-title::after{
        content: '';
        /* width: 2px; */
        width: 0.16vw;
        height: 70%;
        background-color: #fff;
        /* transform: rotate(45deg) translate(30px, 0px); */
        transform: rotate(45deg) translate(2.38vw, 0.00vw);
    }
    .course-wrap{
        width: 100%;
        background-color: #fff;
        /* padding: 70px; */
        padding: 2.56vw;
        /* margin: 40px 0 0; */
        margin: 3.17vw 0 0;
    }
    .course-set{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        /* gap: 30px; */
        gap: 2.38vw;
    }
    .course-name{
        font-size: var(--f30);
        color: var(--bronze01);
        text-align: center;
    }
    .course-box{
        /* margin: 10px 0 0; */
        margin: 0.79vw 0 0;
        /* padding: 20px 0 0; */
        padding: 1.59vw 0 0;
        border-top: 1px solid var(--bronze01);
        display: grid;
        /* grid-template-columns: 240px 1fr; */
        grid-template-columns: 19.05vw 1fr;
        /* gap: 20px; */
        gap: 1.59vw;
    }
    .course-feature-set{
        display: grid;
        /* gap: 10px; */
        gap: 0.79vw;
    }
    .course-feature-set > div{
        display: flex;
        flex-wrap: wrap;
        /* gap: 0 10px; */
        gap: 0 0.79vw;
        align-items: center;
    }
    .course-feature-set dt{
        /* width: 130px; */
        width: 11.32vw;
        /* border-radius: 30px; */
        border-radius: 2.38vw;
        text-align: center;
        color: #fff;
        font-size: var(--f16);
    }
    .course-feature-set .course-feature01 dt{
        background-color: var(--bronze01);
    }
    .course-feature-set .course-feature01 dd{
        color: var(--bronze01);
        font-size: var(--f20);
        line-height: 1.5;
    }
    .course-feature-set .course-feature02 dt{
        background-color: var(--rose01);
    }
    .course-feature-set .course-feature02 dd{
        color: var(--rose01);
        font-size: var(--f35);
        line-height: 1;
    }
    .course-off-box{
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        justify-content: center;
        /* margin: 10px 0 0; */
        margin: 0.79vw 0 0;
        /* border: 3px solid var(--rose01); */
        border: 0.24vw solid var(--rose01);
        /* border-radius: 10px; */
        border-radius: 0.79vw;
        color: var(--rose01);
        /* padding: 5px 0 10px; */
        padding: 0.40vw 0 0.79vw;
    }
    .course-off-text{
        font-size: var(--f20);
        line-height: 1;
    }
    .course-off-text span{
        font-size: 1.5em;
    }
    /* course-01 */
    .course-set li:nth-child(1){
        grid-row: 1 / span 2;
    }
    .course-01-firstoffer{
        width: 100%;
        background-color: var(--rose01);
        /* margin: 20px 0 0; */
        margin: 1.59vw 0 0;
        /* padding: 20px 10px; */
        padding: 1.59vw 0.79vw;
        /* border-left: 10px solid var(--rose07); */
        border-left: 0.79vw solid var(--rose07);
        color: #fff;
        display: grid;
        /* grid-template-columns: 1fr 210px; */
        grid-template-columns: 1fr 16.67vw;
        /* gap: 10px; */
        gap: 0.79vw;
        text-align: center;
    }
    .course-01-text-box{
        display: flex;
        align-items: baseline;
        justify-content: center;
    }
    .course-01-text01{
        font-size: var(--f23);
    }
    .course-01-text02{
        font-size: var(--f20);
    }
    .course-01-text03{
        font-size: var(--f40);
        line-height: 1;
    }
    .course-01-white-box{
        background-color: #fff;
        display: grid;
        align-content: center;
    }
    .course-01-price-list{
        /* margin: 20px 0 0; */
        margin: 1.59vw 0 0;
        width: 100%;
        display: grid;
        /* gap: 20px; */
        gap: 1.59vw;
    }
    .course-01-price-list > div{
        display: grid;
        grid-template-columns: auto 1fr auto;
        /* gap: 10px; */
        gap: 0.79vw;
        align-items: center;
    }
    .course-01-price-list > div::before{
        content: "・・・・・・・・・・・・・・・・・・・・";
        grid-column: 2;
        overflow: hidden;
        white-space: nowrap;
    }
    .course-01-price-list dt{
        grid-column: 1;
        grid-row: 1;
        padding: 0 0 0 1rem;
        position: relative;
    }
    .course-01-price-list dt::before{
        content: '・';
        position: absolute;
        top: 0;
        left: 0;
    }
    .course-01-price-list dd{
        grid-column: 3;
        grid-row: 1;
    }
    .course-01-price-text01{
        font-size: var(--f27);
        color: var(--rose01);
        line-height: 1;
    }
    /* course-04 */
    .course-set li:nth-child(4){
        grid-column: 1 / span 2;
        border-top: 1px solid var(--bronze01);
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        /* gap: 30px; */
        gap: 2.38vw;
        /* padding: 20px 0 0; */
        padding: 1.59vw 0 0;
    }
    .course-04-box .course-feature-set > div:nth-of-type(1){
        grid-column: 1 / span 2;
    }
}
@media screen and (min-width:1260px) , print { /*PC*/
    #course-offer{
        background-color: var(--rose06);
    }
    .course-title{
        color: #fff;
        font-size: var(--f50);
        text-align: center;
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        gap: 10px;
    }
    .course-title::before{
        content: '';
        width: 2px;
        height: 70%;
        background-color: #fff;
        transform: rotate(-45deg) translate(-30px, 0px);
    }
    .course-title::after{
        content: '';
        width: 2px;
        height: 70%;
        background-color: #fff;
        transform: rotate(45deg) translate(30px, 0px);
    }
    .course-wrap{
        width: 100%;
        background-color: #fff;
        padding: 70px;
        margin: 40px 0 0;
    }
    .course-set{
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 30px;
    }
    .course-name{
        font-size: var(--f30);
        color: var(--bronze01);
        text-align: center;
    }
    .course-box{
        margin: 10px 0 0;
        padding: 20px 0 0;
        border-top: 1px solid var(--bronze01);
        display: grid;
        grid-template-columns: 240px 1fr;
        gap: 20px;
    }
    .course-feature-set{
        display: grid;
        gap: 10px;
    }
    .course-feature-set > div{
        display: flex;
        flex-wrap: wrap;
        gap: 0 10px;
        align-items: center;
    }
    .course-feature-set dt{
        width: 130px;
        border-radius: 30px;
        text-align: center;
        color: #fff;
        font-size: var(--f16);
    }
    .course-feature-set .course-feature01 dt{
        background-color: var(--bronze01);
    }
    .course-feature-set .course-feature01 dd{
        color: var(--bronze01);
        font-size: var(--f20);
        line-height: 1.5;
    }
    .course-feature-set .course-feature02 dt{
        background-color: var(--rose01);
    }
    .course-feature-set .course-feature02 dd{
        color: var(--rose01);
        font-size: var(--f35);
        line-height: 1;
    }
    .course-off-box{
        display: flex;
        flex-wrap: nowrap;
        align-items: baseline;
        justify-content: center;
        margin: 10px 0 0;
        border: 3px solid var(--rose01);
        border-radius: 10px;
        color: var(--rose01);
        padding: 5px 0 10px;
    }
    .course-off-text{
        font-size: var(--f20);
        line-height: 1;
    }
    .course-off-text span{
        font-size: 1.5em;
    }

    /* course-01 */
    .course-set li:nth-child(1){
        grid-row: 1 / span 2;
    }
    .course-01-firstoffer{
        width: 100%;
        background-color: var(--rose01);
        margin: 20px 0 0;
        padding: 20px 10px;
        border-left: 10px solid var(--rose07);
        color: #fff;
        display: grid;
        grid-template-columns: 1fr 210px;
        gap: 10px;
        text-align: center;
    }
    .course-01-text-box{
        display: flex;
        align-items: baseline;
        justify-content: center;
    }
    .course-01-text01{
        font-size: var(--f23);
    }
    .course-01-text02{
        font-size: var(--f20);
    }
    .course-01-text03{
        font-size: var(--f40);
        line-height: 1;
    }
    .course-01-white-box{
        background-color: #fff;
        display: grid;
        align-content: center;
    }
    .course-01-price-list{
        margin: 20px 0 0;
        width: 100%;
        display: grid;
        gap: 20px;
    }
    .course-01-price-list > div{
        display: grid;
        grid-template-columns: auto 1fr auto;
        gap: 10px;
        align-items: center;
    }
    .course-01-price-list > div::before{
        content: "・・・・・・・・・・・・・・・・・・・・";
        grid-column: 2;
        overflow: hidden;
        white-space: nowrap;
    }
    .course-01-price-list dt{
        grid-column: 1;
        grid-row: 1;
        padding: 0 0 0 1rem;
        position: relative;
    }
    .course-01-price-list dt::before{
        content: '・';
        position: absolute;
        top: 0;
        left: 0;
    }
    .course-01-price-list dd{
        grid-column: 3;
        grid-row: 1;
    }
    .course-01-price-text01{
        font-size: var(--f27);
        color: var(--rose01);
        line-height: 1;
    }

    /* course-04 */
    .course-set li:nth-child(4){
        grid-column: 1 / span 2;
        border-top: 1px solid var(--bronze01);
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 30px;
        padding: 20px 0 0;
    }
    .course-04-box .course-feature-set > div:nth-of-type(1){
        grid-column: 1 / span 2;
    }
}


