@charset "utf-8";

/* secDetailsTop */
.secDetailsTop .txtPoint{
    font-size: var(--pcFontSize17);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing17_50);
    line-height: var(--pcLineHeight17_28);
    margin-top: 2.4rem;
}
.secDetailsTop .txtPoint a{
    text-decoration: underline;
}
.secDetailsTop .boxWrap{
    display: flex;
    align-items: flex-start;
    gap: 0 calc(100% * (30 / 1340));
    margin-top: 2.5rem;
}
.secDetailsTop .boxTxt{
    width: calc(100% * (680 / 1340));
}
.secDetailsTop .boxPriceWrap{
    position: relative;
    padding-right: 22rem;
}
.secDetailsTop .cmnBtn.isSimu{
    position: absolute;
    top: 0;
    right: 0;
    width: 20rem;
}
.secDetailsTop .boxPrice{
    display: flex;
    align-items: flex-end;
}
.secDetailsTop .price{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing20_30);
}
.secDetailsTop .price .numBig{
    font-size: var(--pcFontSize48);
    font-weight: 500;
    vertical-align: -0.1rem;
    margin-right: 0.4rem;
}
.secDetailsTop .monthly{
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing15_50);
    padding: 0 0 0.1rem 0.2rem;
}
.secDetailsTop .boxOutline{
    margin-top: 2rem;
}
.secDetailsTop .boxTable{
    border-top: solid 0.1rem var(--borderColorLightGrey);
}
.secDetailsTop .boxTable .tr{
    border-bottom: solid 0.1rem var(--borderColorLightGrey);
    display: flex;
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    line-height: var(--pcLineHeight13_20);
}
.secDetailsTop .boxTable .th{
    background-color: var(--bgColor);
    width: 20%;
    padding: 1.8rem 1.5rem 1.3rem;
}
.secDetailsTop .boxTable .td{
    flex: 1;
    padding: 1.8rem 1.5rem 1.3rem;
}
.secDetailsTop .boxTable .row{
    display: flex;
}
.secDetailsTop .boxTable .row .tr{
    width:50%;
}
.secDetailsTop .boxTable .row .th{
    width: 40%;
}
.secDetailsTop .boxTable .txtLink{
    text-decoration: underline;
}
.secDetailsTop .boxTag{
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 0.7rem;
    margin-top: 3rem;
}
.secDetailsTop .boxTag .tag{
    background-color: var(--creamColor);
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_30);
    line-height: var(--pcLineHeight13_20);
    border-radius: 0.3rem;
    padding: 1.2rem 0.9rem 0.9rem;
}
.secDetailsTop .boxDate{
    text-align: right;
    margin-top: 3rem;
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
}

.secDetailsTop .boxImg{
    flex: 1;
    position: relative;
}
.secDetailsTop .boxImg .img{
    width: 100%;
    aspect-ratio: 660 / 435;
    background: #FFF;
}
.secDetailsTop .imgExterior{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
.secDetailsTop .imgPlan{
    position: relative;
}
.secDetailsTop .imgPlan::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 1;
    border: solid 0.1rem var(--borderColorLightGrey);
}

.secDetailsTop .boxSwitch{
    background-color: #fff;
    border-radius: 100rem;
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    z-index: 10;
    box-shadow: var(--boxShadow10);
    font-size: var(--pcFontSize12);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing12_50);
    padding: 0.1rem;
    display: flex;
}
.secDetailsTop .boxSwitch::before{
    content: "";
    display: block;
    width: 4.4rem;
    height: 2.8rem;
    background-color: var(--greenColor);
    border-radius: 100rem;
    position: absolute;
    top: 0.1rem;
    left: 0.1rem;
    z-index: 1;
    transition:left 0.1s ease-out;
}
.secDetailsTop .boxSwitch.isPlan::before{
    left: 4.5rem;
}
.secDetailsTop .btnSwitch{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.4rem;
    height: 2.8rem;
    position: relative;
    z-index: 2;
}
.secDetailsTop .btnSwitch:hover{
    opacity: 1;
}
.secDetailsTop .btnSwitch.isActive{
    color: #fff;
    cursor: default;
}
@media only screen and (max-width:1215px){
    .secDetailsTop .txtPoint{
        font-size: var(--spFontSize13);
        font-weight: normal;
        letter-spacing: var(--spLetterSpacing13_30);
        line-height: var(--spLineHeight13_22);
        margin-top: 2rem;
    }
    .secDetailsTop .boxWrap{
        flex-direction: column;
        gap: 0;
        margin-top: 1.2rem;
    }
    .secDetailsTop .boxTxt{
        width: 100%;
        order: 2;
    }
    .secDetailsTop .boxPriceWrap{
        position: relative;
        padding-right: 17.5rem;
        margin-top: 2.5rem;
    }
    .secDetailsTop .cmnBtn.isSimu{
        width: 16.5rem;
        border-radius: 0.3rem;
        box-shadow: 0 -0.2rem 0 0 rgba(0, 0, 0, 0.05) inset;
    }
    .secDetailsTop .boxPrice{
        display: block;
    }
    .secDetailsTop .price{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_50);
    }
    .secDetailsTop .price .numBig{
        font-size: var(--spFontSize30);
        vertical-align: -0.1rem;
        margin-right: 0.4rem;
    }
    .secDetailsTop .monthly{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_30);
        line-height: var(--spLineHeight12_20);
        padding: 1rem 0 0.1rem 0.2rem;
    }
    .secDetailsTop .boxOutline{
        margin-top: 2rem;
    }
    .secDetailsTop .boxTable{
        width: 100%;
        border-top: none;
    }
    .secDetailsTop .boxTable .tr{
        border-bottom: none;
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_30);
        line-height: var(--spLineHeight11_17);
    }
    .secDetailsTop .boxTable .th{
        background-color: transparent;
        width: 8rem;
        padding: 0.8rem 0 0;
    }
    .secDetailsTop .boxTable .td{
        padding: 0.8rem 0 0 0.8rem;
    }
    .secDetailsTop .boxTable .row{
        display: block;
    }
    .secDetailsTop .boxTable .row .tr{
        width: 100%;
    }
    .secDetailsTop .boxTable .row .th{
        width: 8rem;
    }
    .secDetailsTop .boxTag{
        width: 100%;
        gap: 0.2rem;
        margin: 1.5rem 0 0;
    }
    .secDetailsTop .boxTag .tag{
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_30);
        line-height: var(--spLineHeight10_15);
        padding: 0.5rem;
    }
    .secDetailsTop .boxDate{
        margin-top: 1.5rem;
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_30);
    }

    .secDetailsTop .boxImg{
        width: 100%;
        order: 1;
    }
    .secDetailsTop .imgExterior{
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
    }
    .secDetailsTop .imgPlan{
        position: relative;
    }
    .secDetailsTop .imgPlan::before{
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        z-index: 1;
        border: solid 0.1rem var(--borderColorLightGrey);
    }

    .secDetailsTop .boxSwitch{
        bottom: 0.5rem;
        right: 0.5rem;
        box-shadow: none;
        font-size: var(--spFontSize11);
        font-weight: normal;
        letter-spacing: var(--spLetterSpacing11_30);
        padding: 0.1rem;
    }
}
@media only screen and (max-width:360px){
    .secDetailsTop .price .numBig{
        font-size: var(--spFontSize24);
    }
}

/* secDetailsContact */
.secDetailsContact{
    background-color: var(--bgColor);
    position: relative;
    border-radius: 1rem;
    padding: 5rem;
    margin-top: 5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.secDetailsContact .txt{
    font-size: var(--pcFontSize16);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing16_50);
}
.secDetailsContact .txt02{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing20_50);
    margin-top: 1.9rem;
}
.secDetailsContact .btnTel{
    display: inline-flex;
    vertical-align: top;
    align-items: center;
    color: var(--greenColor);
    font-size: var(--pcFontSize46);
    font-weight: 500;
    letter-spacing: var(--pcLetterSpacing46_50);
    gap: 0 1.5rem;
    margin-top: 2.2rem;
}
.secDetailsContact .btnTel::before{
    content: "";
    display: block;
    width: 2.2rem;
    height: 3rem;
    background: url(../img/common/iconTelGreen.png) left top / 2.2rem no-repeat;
}
.secDetailsContact .txtTime{
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    margin-top: 1.8rem;
}
.secDetailsContact .btnForm{
    margin-top: 2.2rem;
}
.secDetailsContact .imgStaff{
    position: absolute;
    bottom: 0;
    left: 12.7rem;
    z-index: 2;
}
@media only screen and (max-width:1215px){
    .secDetailsContact{
        background-color: transparent;
        padding: 0;
        margin-top: 3rem;
    }
    .secDetailsContact .txt{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
    }
    .secDetailsContact .txt02{
        font-size: var(--spFontSize15);
        letter-spacing: var(--spLetterSpacing15_30);
        margin-top: 1rem;
    }
    .secDetailsContact .btnTel{
        font-size: var(--spFontSize32);
        letter-spacing: var(--spLetterSpacing32_30);
        gap: 0 1rem;
        margin-top: 0.8rem;
    }
    .secDetailsContact .btnTel::before{
        width: 1.6rem;
        height: 2.1rem;
        background-size: 1.6rem;
    }
    .secDetailsContact .txtTime{
        font-size: var(--pcFontSize11);
        letter-spacing: var(--pcLetterSpacing11_30);
        margin-top: 1rem;
        padding-bottom: 1.6rem;
    }
    .secDetailsContact .btnForm{
        margin-top: 0;
    }
}

/* secDetailsIntro */
.secDetailsIntro{
    margin-top: 5rem;
}
.secDetailsIntro .img{
    aspect-ratio: 305 / 201;
    width: 100%;
}
.secDetailsIntro .tit{
    font-size: var(--pcFontSize15);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing15_50);
    line-height: var(--pcLineHeight15_23);
    margin-top: 2rem;
}
.secDetailsIntro .txt{
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    line-height: var(--pcLineHeight13_22);
    margin-top: 1rem;
}
.secDetailsIntro .cmnBtnMore{
    margin-top: 3.4rem;
}
.secDetailsIntro .boxStaff{
    background-color: var(--creamColor);
    padding: 3rem;
    margin-top: 5rem;
    border-radius: 1rem;
    display: flex;
    align-content: flex-start;
    align-items: center;
    gap: 0 3rem;
}
.secDetailsIntro .boxImgPoint{
    width: 16rem;
    position: relative;
}
.secDetailsIntro .ballonPoint{
    position: absolute;
    top: -4.3rem;
    left: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    max-width: 12rem;
    margin: auto;
}
.secDetailsIntro .imgPoint{
    aspect-ratio: 1 /1;
    border-radius: 50%;
    overflow: hidden;
}
.secDetailsIntro .boxTxtPoint{
    flex: 1;
}
.secDetailsIntro .txtStaff{
    font-size: var(--pcFontSize15);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing15_50);
    line-height: var(--pcLineHeight15_23);
    margin-bottom: 0.9rem;
}
.secDetailsIntro .txtPoint{
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing15_50);
    line-height: var(--pcLineHeight15_26);
}
@media only screen and (min-width:1216px){
    .secDetailsIntro .swiper-wrapper{
        display: flex;
        flex-wrap: wrap;
        gap: 4rem 3.2rem;
        margin-top: 2rem;
    }
    .secDetailsIntro .swiper-slide{
        width: calc((100% - 12rem) / 4);
        display: none;
    }
    .secDetailsIntro .swiper-slide.isShown{
        display: block;
    }
    .secDetailsIntro .swiper-pagination{
        display: none;
    }
}
@media only screen and (max-width:1215px){
    .secDetailsIntro{
        margin-top: 3rem;
    }
    .secDetailsIntro .boxList{
        margin-top: 1rem;
    }
    .secDetailsIntro .sliderIntro{
        position: relative;
    }
    .secDetailsIntro .swiper-button-next,
    .secDetailsIntro .swiper-button-prev{
        width: 2.5rem;
        height: 60.5vw;
        top: 0;
        margin-top: 0;
        overflow: hidden;
    }
    .secDetailsIntro .swiper-button-next{
        right: 0;
    }
    .secDetailsIntro .swiper-button-prev{
        left: 0;
    }
    .secDetailsIntro .swiper-button-next:after,
    .secDetailsIntro .swiper-button-prev:after{
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto 0;
        width: 1.5rem;
        height: 1.5rem;
        border-top: 0.4rem solid #fff;
        border-right: 0.4rem solid #fff;
        box-shadow: var(--boxShadow10);
    }
    .secDetailsIntro .swiper-button-next:after{
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        right: 1rem;
    }
    .secDetailsIntro .swiper-button-prev:after{
        -webkit-transform: rotate(225deg);
        transform: rotate(225deg);
        left: 1rem;
    }
    .secDetailsIntro .swiper-pagination{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 4.5rem;
        height:2.5rem;
        border-radius: 100rem;
        color: #fff;
        background-color: var(--textColorRgba70);
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_30);
        position: absolute;
        right: 0.5rem;
        bottom: 0.5rem;
        left: auto;
        top: auto;
    }
    .secDetailsIntro .tit{
        font-size: var(--spFontSize15);
        letter-spacing: var(--spLetterSpacing15_30);
        line-height: var(--spLineHeight15_24);
        margin-top: 1.5rem;
    }
    .secDetailsIntro .txt{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_50);
        line-height: var(--spLineHeight13_22);
        margin-top: 1rem;
    }
    .secDetailsIntro .boxStaff{
        padding: 10rem 1.5rem 2rem;
        margin-top: 4rem;
        border-radius: 0.5rem;
        position: relative;
    }
    .secDetailsIntro .boxImgPoint{
        width: 10.4rem;
        position: absolute;
        top: -1.5rem;
        left: 0;
        right: 0;
        z-index: 1;
        margin: 0 auto;
    }
    .secDetailsIntro .txtStaff{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
        line-height: var(--spLineHeight13_22);
        margin-bottom: 0.9rem;
    }
    .secDetailsIntro .txtPoint{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
        line-height: var(--spLineHeight13_22);
    }
}

/* secDetailsSimu */
.secDetailsSimu .boxSimWrap{
    border: solid 0.3rem var(--orangeColor);
    border-radius: 1rem;
    background-color: var(--bgColorOrange);
    margin-top: 5rem;
    padding: 4.5rem 3rem 3rem;
}
.secDetailsSimu .boxTop{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0 0 3.1rem;
}
.secDetailsSimu .boxTop::after{
    content: "";
    background-image: repeating-linear-gradient(90deg, var(--borderColorGrey), var(--borderColorGrey) 1px, transparent 1px, transparent 4px), repeating-linear-gradient(180deg, var(--borderColorGrey), var(--borderColorGrey) 1px, transparent 1px, transparent 4px), repeating-linear-gradient(90deg, var(--borderColorGrey), var(--borderColorGrey) 1px, transparent 1px, transparent 4px), repeating-linear-gradient(180deg, var(--borderColorGrey), var(--borderColorGrey) 1px, transparent 1px, transparent 4px);
    background-position: left top, right top, left bottom, left top;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
    background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
}
.secDetailsSimu .titPrice{
    background-color: var(--textColor);
    color: #fff;
    font-size: var(--pcFontSize20);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing20_30);
    margin-right: 2rem;
    padding: 1.5rem 1.5rem 1.2rem;
}
.secDetailsSimu .txtPrice{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing20_30);
}
.secDetailsSimu .txtPrice .num{
    font-size: var(--pcFontSize48);
    font-weight: 500;
    letter-spacing: var(--pcLetterSpacing48_30);
    margin: 0 0.5rem 0 0;
    vertical-align: -0.2rem;
}

.secDetailsSimu .boxMonthly{
    display: flex;
    align-items: center;
    gap: 0 2.5rem;
    padding: 3rem 0 0;
}
.secDetailsSimu .txtMonthly{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing20_30);
    padding-bottom: 1.3rem;
}
.secDetailsSimu .boxInput input[type="text"]{
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    border: solid 0.1rem var(--textColor);
    border-radius: 0.3rem;
    background-color: #fff;
    width: 10rem;
    height: 4rem;
    font-size: var(--pcFontSize15);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing15_50);
    text-align: right;
    padding: 0 1rem;
    margin: 0 0.3rem 0 0;
}
.secDetailsSimu .boxInput input[type="text"].isW60{
    width: 6rem;
}
.secDetailsSimu .boxInputTop{
    display: flex;
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing15_50);
}
.secDetailsSimu .boxInputLeft{
    display: flex;
}
.secDetailsSimu .boxInput{
    margin: 0 2rem 0 0;
}
.secDetailsSimu .titInput{
    margin: 0 0 0.8rem;
}
.secDetailsSimu .btnStart{
    display: block;
    font-size: var(--pcFontSize17);
    font-weight: bold;
    color: #fff;
    background-color: var(--orangeColor);
    letter-spacing: var(--pcLetterSpacing17_50);
    border: solid 0.1rem var(--textColor);
    border-radius: 0.5rem;
    position: relative;
    padding: 1.9rem 1rem 1.6rem;
    min-width: 14rem;
    text-align: center;
    box-shadow: 0 -0.4rem 0 0 rgba(0,0,0,0.05) inset;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.7rem;
}
.secDetailsSimu .btnStart::before{
    content: "";
    display: block;
    width: 1.8rem;
    height: 2.1rem;
    background: url(../img/common/iconSimuWhite.png) left top / 1.8rem no-repeat;
}
.secDetailsSimu .txtResult{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing20_30);
    align-items: center;
    justify-content: center;
    margin: 0 0 0 1rem;
    display: none;
}
.secDetailsSimu .txtResult.isActive{
    display: flex;
}
.secDetailsSimu .txtResult .num{
    font-size: var(--pcFontSize32);
    letter-spacing: var(--pcLetterSpacing32_50);
    padding: 0 0.5rem 0.4rem 0.8rem;
}
.secDetailsSimu .txtResult::before{
    content: "";
    display: block;
    width: 4rem;
    height: 0.8rem;
    background-image: radial-gradient(circle, var(--orangeColor) 0.4rem, transparent 0.4rem);
    background-position: left -0.4rem top;
    background-repeat: repeat-x;
    background-size: 1.6rem 0.8rem;
    margin: 0 1rem 0 0;
}
.secDetailsSimu .note{
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    margin-top: 2.3rem;
}
@media only screen and (max-width:1215px){
    .secDetailsSimu .boxSimWrap{
        border-radius: 0.5rem;
        margin-top: 2rem;
        padding: 2.9rem 1.4rem 1.4rem;
        border-width: 0.1rem
    }
    .secDetailsSimu .boxTop{
        padding: 0 0 1.3rem;
        justify-content: flex-start;
    }
    .secDetailsSimu .boxTop::after{
        background-image: repeating-linear-gradient(90deg, var(--borderColorGrey), var(--borderColorGrey) 1px, transparent 1px, transparent 2px), repeating-linear-gradient(180deg, var(--borderColorGrey), var(--borderColorGrey) 1px, transparent 1px, transparent 2px), repeating-linear-gradient(90deg, var(--borderColorGrey), var(--borderColorGrey) 1px, transparent 1px, transparent 2px), repeating-linear-gradient(180deg, var(--borderColorGrey), var(--borderColorGrey) 1px, transparent 1px, transparent 2px);
    }
    .secDetailsSimu .titPrice{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_30);
        margin-right: 1rem;
        padding: 0.9rem 1rem;
    }
    .secDetailsSimu .txtPrice{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_30);
    }
    .secDetailsSimu .txtPrice .num{
        font-size: var(--spFontSize30);
        letter-spacing: var(--spLetterSpacing30_30);
        margin: 0 0.3rem 0 0;
    }

    .secDetailsSimu .boxMonthly{
        flex-direction: column;
        gap: 0 2.5rem;
        padding: 1.2rem 0 0;
    }
    .secDetailsSimu .txtMonthly{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
        padding-bottom: 1.4rem;
    }
    .secDetailsSimu .boxInput input[type="text"]{
        width: 7rem;
        font-size: var(--spFontSize16);
        letter-spacing: var(--spLetterSpacing16_50);
        padding: 0 0.5rem;
        margin: 0;
    }
    .secDetailsSimu .boxInput input[type="text"].isW60{
        width: 6rem;
    }
    .secDetailsSimu .boxInputTop{
        flex-direction: column;
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_30);
    }
    .secDetailsSimu .boxInput{
        margin: 0 0.8rem 0 0;
    }
    .secDetailsSimu .boxInput:last-child{
        margin-right: 0;
    }
    .secDetailsSimu .titInput{
        margin: 0 0 0.9rem;
    }
    .secDetailsSimu .btnStart{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
        border-radius: 0.3rem;
        padding: 1rem 1rem 0.6rem;
        margin: 1.2rem auto 0;
        width: 22.5rem;
        box-shadow: 0 -0.3rem 0 0 rgba(0,0,0,0.05) inset;
        gap: 0 0.7rem;
    }
    .secDetailsSimu .btnStart::before{
        width: 1.6rem;
        height: 1.8rem;
        background-size: 1.6rem;
        margin-bottom: 0.4rem;
    }
    .secDetailsSimu .txtResult{
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_30);
        align-items: center;
        justify-content: center;
        margin: 0;
    }
    .secDetailsSimu .txtResult.isActive{
        display: flex;
        padding-top: 4.5rem;
        position: relative;
    }
    .secDetailsSimu .txtResult .num{
        font-size: var(--spFontSize24);
        letter-spacing: var(--spLetterSpacing24_30);
        padding: 0 0.5rem 0.4rem 0.8rem;
    }
    .secDetailsSimu .txtResult::before{
        width: 2.4rem;
        height: 0.8rem;
        margin: 0;
        position: absolute;
        top: 1.8rem;
        left: 0;
        right: 0;
        margin: 0 auto;
        transform: rotate(90deg);
    }
    .secDetailsSimu .note{
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_30);
        line-height: var(--spLineHeight10_18);
        margin-top: 1.5rem;
    }
}
@media only screen and (max-width:360px){
    .secDetailsSimu .boxInput input[type="text"]{
        width: 6rem;
    }
}

/* secDetailsLocation */
.secDetailsLocation{
    margin-top: 5rem;
}
.secDetailsLocation .boxList{
    display: flex;
    flex-wrap: wrap;
    gap: 2.3rem;
    margin-top: 2rem;
}
.secDetailsLocation .item{
    width: calc((100% - 14rem) / 6);
}
.secDetailsLocation .item .img{
    aspect-ratio: 200 / 132;
}
.secDetailsLocation .item .tit{
    font-size: var(--pcFontSize15);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing15_50);
    line-height: var(--pcLineHeight15_23);
    margin-top: 2rem;
}
.secDetailsLocation .item .txt{
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    line-height: var(--pcLineHeight13_22);
    margin-top: 0.3rem;
}
.secDetailsLocation .boxTxtList{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 4.5rem;
}
.secDetailsLocation .itemTxt{
    width: calc((100% - 2rem) / 3);
    background-color: var(--bgColor);
    padding: 2rem 3rem 1.7rem;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
}
.secDetailsLocation .itemTxt .tit{
    font-size: var(--pcFontSize15);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing15_50);
    line-height: var(--pcLineHeight15_23);
    margin-right: 2rem;
}
.secDetailsLocation .itemTxt .txt{
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    line-height: var(--pcLineHeight13_22);
}
.secDetailsLocation .boxMap{
    width: 100%;
    height: 40rem;
    border: solid 0.1rem var(--borderColorLightGrey);
    margin-top: 4.5rem;
}
@media only screen and (max-width:1215px){
    .secDetailsLocation{
        margin-top: 3rem;
    }
    .secDetailsLocation .boxList{
        gap: 1.3rem 0.5rem;
        margin-top: 1rem;
    }
    .secDetailsLocation .item{
        display: none;
        width: calc((100% - 0.5rem) / 2);
    }
    .secDetailsLocation .item.isShown{
        display: block;
    }
    .secDetailsLocation .item .tit{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
        line-height: var(--spLineHeight13_22);
        margin-top: 1rem;
    }
    .secDetailsLocation .item .txt{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
        line-height: var(--spLineHeight13_22);
        margin-top: 0;
    }
    .secDetailsLocation .boxTxtList{
        gap: 0.5rem;
        margin-top: 1.3rem;
    }
    .secDetailsLocation .itemTxt{
        display: none;
        width: calc((100% - 0.5rem) / 2);
        padding: 1.6rem 1.5rem 1.3rem;
        flex-direction: column;
    }
    .secDetailsLocation .itemTxt.isShown{
        display: block;
    }
    .secDetailsLocation .itemTxt .tit{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
        line-height: var(--spLineHeight13_22);
    }
    .secDetailsLocation .itemTxt .txt{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
        line-height: var(--spLineHeight13_22);
        margin-top: 0;
    }
    .secDetailsLocation .cmnBtnMore{
        margin-top: 2rem;
    }
    .secDetailsLocation .boxMap{
        height: 27rem;
        margin-top: 3rem;
    }
}

/* secDetailsOutline */
.secDetailsOutline{
    margin-top: 5rem;
}
.secDetailsOutline .boxTable{
    margin-top: 2rem;
    border-top: solid 0.1rem var(--borderColorLightGrey);
}
.secDetailsOutline .boxTable .tr{
    border-bottom: solid 0.1rem var(--borderColorLightGrey);
    display: flex;
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing15_50);
    line-height: var(--pcLineHeight15_26);
}
.secDetailsOutline .boxTable .tr .txtLink{
    text-decoration: underline;
}
.secDetailsOutline .boxTable .th{
    background-color: var(--bgColor);
    width: 13.43%;
    padding: 1.9rem 1.5rem 1.5rem;
    display: flex;
    align-items: center;
}
.secDetailsOutline .boxTable .td{
    flex: 1;
    padding: 1.9rem 1.5rem 1.5rem;
}
.secDetailsOutline .boxTable .row{
    display: flex;
}
.secDetailsOutline .boxTable .row .tr{
    width:50%;
}
.secDetailsOutline .boxTable .row .th{
    width: 26.86%;
}
@media only screen and (max-width:1215px){
    .secDetailsOutline{
        margin-top: 3rem;
    }
    .secDetailsOutline .boxTable{
        margin-top: 1rem;
    }
    .secDetailsOutline .boxTable .tr{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_30);
        line-height: var(--spLineHeight11_20);
    }
    .secDetailsOutline .boxTable .th{
        width: 11rem;
        padding: 1.1rem 1rem 0.9rem;
    }
    .secDetailsOutline .boxTable .td{
        padding: 1.1rem 1rem 0.9rem;
    }
    .secDetailsOutline .boxTable .row{
        display: block;
    }
    .secDetailsOutline .boxTable .row .tr{
        width:100%;
    }
    .secDetailsOutline .boxTable .row .th{
        width: 11rem;
    }
}

/* secDetailsRecommend */
.secDetailsRecommend{
    margin-top: 8rem;
    padding: 8rem 0;
    background-color: var(--bgColor);
}
.secDetailsRecommend .titRecommend{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing20_50);
    padding: 3.5rem 3rem 3rem;
    text-align: center;
    color: #fff;
    background-color: var(--greenColor);
    border-radius: 100rem;
}
.secDetailsRecommend .titRecommend.isRed{
    background-color: var(--redColor);
}
.secDetailsRecommend .boxSlider + .titRecommend{
    margin-top: 8rem;
}
.secDetailsRecommend .boxSlider{
    margin-top: 5rem;
}
.secDetailsRecommend .swiper{
    overflow: visible;
}
.secDetailsRecommend .slideInner{
    width: 41rem;
    display: block;
}
.secDetailsRecommend .boxImg{
    position: relative;
}
.secDetailsRecommend .iconNew{
    position: absolute;
    top: -1.5rem;
    left: 1.5rem;
    z-index: 1;
}
.secDetailsRecommend .boxIcon{
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}
.secDetailsRecommend .icon{
    display: block;
    font-size: var(--pcFontSize12);
    font-weight: normal;
    letter-spacing: var(--pcLetterSpacing12_50);
    color: #fff;
    padding: 0.9rem 1.1rem 0.7rem;
}
.secDetailsRecommend .img{
    aspect-ratio: 410 / 270;
}
.secDetailsRecommend .tit{
    font-size: var(--pcFontSize22);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing22_80);
    line-height: var(--pcLineHeight15_26);
    text-decoration: underline;
    margin-top: 1.5rem;
}
.secDetailsRecommend .txtPoint{
    font-size: var(--pcFontSize15);
    letter-spacing: var(--pcLetterSpacing15_50);
    line-height: 2.6rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    height: 5.2rem;
    margin-top: 0.6rem;
}
.secDetailsRecommend .boxPrice{
    display: flex;
    align-items: flex-end;
    margin-top: 1rem;
}
.secDetailsRecommend .price{
    font-size: var(--pcFontSize17);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing17_50);
}
.secDetailsRecommend .price .numBig{
    font-size: var(--pcFontSize34);
    font-weight: 500;
    letter-spacing: var(--pcLetterSpacing34_80);
    vertical-align: -0.1rem;
    margin-right: 0.4rem;
}
.secDetailsRecommend .monthly{
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    padding: 0 0 0.1rem 0.2rem;
}
.secDetailsRecommend .boxTable{
    display: flex;
    flex-direction: column;
    gap: 0.1rem 0;
    margin-top: 2rem;
}
.secDetailsRecommend .boxTable .tr{
    display: flex;
    gap: 0 0.2rem;
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    line-height: var(--pcLineHeight13_20);
    background-color: #fff;
    padding: 1.2rem 1rem 0.9rem;
}
.secDetailsRecommend .boxTable .row{
    display: flex;
    gap: 0 0.2rem;
}
.secDetailsRecommend .boxTable .row .tr{
    width: 50%;
}

.secDetailsRecommend .boxControl{
    margin-top: 4.3rem;
    display: flex;
    justify-content: center;
}
.secDetailsRecommend .boxControlWrap{
    position: relative;
    padding: 0 5.1rem;
}
.secDetailsRecommend .swiper-pagination{
    position: static;
}
.secDetailsRecommend .swiper-pagination-bullet{
    width: 1rem;
    height: 1rem;
    opacity: 1;
    background-color: var(--grayColorD5);
    transition:width 0.2s ease-out;
}
.secDetailsRecommend .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
    margin: 0 1rem;
}
.secDetailsRecommend .swiper-pagination-bullet-active{
    width: 3rem;
    border-radius: 100rem;
    background-color: var(--textColor);
}
.secDetailsRecommend .swiper-button-next,
.secDetailsRecommend .swiper-button-prev{
    width: 2rem;
    height: 2.6rem;
    top: 50%;
    margin-top: -1.3rem;
}
.secDetailsRecommend .swiper-button-next:after,
.secDetailsRecommend .swiper-button-prev:after{
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 1.2rem;
    height: 1.2rem;
    border-top: 0.3rem solid var(--textColor);
    border-right: 0.3rem solid var(--textColor);
}
.secDetailsRecommend .swiper-button-next:after{
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.secDetailsRecommend .swiper-button-prev:after{
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
}
@media only screen and (max-width:1215px){
    .secDetailsRecommend{
        margin-top: 5rem;
        padding: 0 0 3rem;
    }
    .secDetailsRecommend .titRecommend{
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing13_30);
        padding: 1.5rem 4%;
        border-radius: 0;
    }
    .secDetailsRecommend .boxSlider + .titRecommend{
        margin-top: 3rem;
    }
    .secDetailsRecommend .boxSlider{
        margin-top: 1.5rem;
    }
    .secDetailsRecommend .sliderRecommend{
        width: 30.5rem;
        margin: 0 auto;
    }
    .secDetailsRecommend .slideInner{
        width: 30.5rem;
    }
    .secDetailsRecommend .iconNew{
        top: auto;
        left: 2.2rem;
        bottom: 1rem;
        z-index: 5;
        width: 3.2rem;
    }
    .secDetailsRecommend .iconNew img{
        width: 100%;
        height: auto;
    }
    .secDetailsRecommend .boxIcon{
        position: static;
        text-align: center;
    }
    .secDetailsRecommend .icon{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_30);
        padding: 0.9rem 1.1rem 0.7rem;
    }
    .secDetailsRecommend .tit{
        font-size: var(--spFontSize15);
        letter-spacing: var(--spLetterSpacing15_50);
        line-height: var(--spLineHeight15_24);
        margin-top: 1.1rem;
    }
    .secDetailsRecommend .txtPoint{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_30);
        line-height: 2rem;
        height: 4rem;
        margin-top: 0.5rem;
    }
    .secDetailsRecommend .boxPrice{
        margin-top: 0.8rem;
    }
    .secDetailsRecommend .price{
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing12_50);
    }
    .secDetailsRecommend .price .numBig{
        font-size: var(--spFontSize20);
        letter-spacing: var(--spLetterSpacing20_30);
        margin-right: 0.4rem;
    }
    .secDetailsRecommend .monthly{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_50);
        padding: 0 0 0.1rem 0.2rem;
    }
    .secDetailsRecommend .boxTable{
        margin-top: 1.3rem;
    }
    .secDetailsRecommend .boxTable .tr{
        gap: 0 0.1rem;
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_50);
        line-height: var(--spLineHeight10_15);
        padding: 0.8rem 1rem 0.7rem;
    }
    .secDetailsRecommend .boxTable .row{
        gap: 0 0.1rem;
    }

    .secDetailsRecommend .boxControl{
        margin-top: 2rem;
    }
    .secDetailsRecommend .boxControlWrap{
        padding: 0 3.8rem;
    }
    .secDetailsRecommend .swiper-pagination-bullet{
        width: 0.7rem;
        height: 0.7rem;
    }
    .secDetailsRecommend .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{
        margin: 0 0.4rem;
    }
    .secDetailsRecommend .swiper-pagination-bullet-active{
        width: 1.7rem;
    }
    .secDetailsRecommend .swiper-button-next,
    .secDetailsRecommend .swiper-button-prev{
        width: 2rem;
        height: 2.6rem;
        top: 50%;
        margin-top: -1.3rem;
    }
    .secDetailsRecommend .swiper-button-next:after,
    .secDetailsRecommend .swiper-button-prev:after{
        width: 0.9rem;
        height: 0.9rem;
        border-top: 0.2rem solid var(--textColor);
        border-right: 0.2rem solid var(--textColor);
    }
}

/* スライダー無効時 */
.secDetailsRecommend .sliderRecommend.disabled .swiper-wrapper{
    display: flex;
    gap: 0 5rem;
}
.secDetailsRecommend .sliderRecommend.disabled .swiper-slide{
    width: 41rem;
}

/* secDetailsBack */
.secDetailsBack{
    margin-top: 5rem;
}
.secDetailsBack .noteBtm{
    margin-top: 7rem;
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_50);
    line-height: var(--pcLineHeight12_24);
}
@media only screen and (max-width:1215px){
    .secDetailsBack{
        margin-top: 3rem;
    }
    .secDetailsBack .noteBtm{
        margin-top: 2.5rem;
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_30);
        line-height: var(--spLineHeight10_18);
    }
}

/* secDetailsMapPopup */
.secDetailsMapPopup{
    padding: 2rem;
}
.secDetailsMapPopup .boxMap{
    width: 100%;
    height: 60rem;
}
.secDetailsMapPopup .noteMap{
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing12_50);
    line-height: var(--pcLineHeight12_24);
    margin: 1.5rem 0 0;
}
@media only screen and (max-width:1215px){
    .secDetailsMapPopup .boxMap{
        height: 20rem;
    }
    .secDetailsMapPopup .noteMap{
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing11_30);
        line-height: var(--spLineHeight11_20);
        margin: 1rem 0 0;
    }
}