@charset "utf-8";
.secNoListData {
    text-align: center;
    padding: 15rem 0;
    font-size: var(--pcFontSize16);
    line-height: var(--pcLineHeight16_24);
    letter-spacing: var(--pcLetterSpacing16_100);
}
@media only screen and (max-width:1215px){
    .secNoListData {
        padding: 10rem 0;
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing14_50);
    }
}

/*==============================
    一覧
==============================*/
/* boxList */
.secShop .boxList{
    margin-top: 4rem;
    display: flex;
    flex-wrap: wrap;
    gap: 4rem 0;
}
.secShop .itemModelhouse{
    position: relative;
    width: 100%;
    padding-bottom: 4rem;
}
.secShop .itemModelhouse::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: 0.1rem;
}
.secShop .itemModelhouse .box{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
/* boxImg */
.secShop .itemModelhouse .boxImg,
.secShop .itemModelhouse .boxTxt{
    position: relative;
    width: 47.762%;
}
.secShop .itemModelhouse .img{
    aspect-ratio: 640 / 421;
}
/* boxTxt */
.secShop .itemModelhouse .tit{
    font-size: var(--pcFontSize24);
    line-height: var(--pcLineHeight24_36);
    letter-spacing: var(--pcLetterSpacing24_50);
    font-weight: bold;
    margin-top: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* boxTable */
.secShop .boxTable{
    margin-top: 1rem;
}
.secShop .boxTable .table{
    width: 100%;
    border: 0.1rem solid var(--tableBorderColor);
}
.secShop .boxTable tr{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_23);
    letter-spacing: var(--pcLetterSpacing15_50);
}
.secShop .boxTable tr:not(:last-child){
    border-bottom: 0.1rem solid var(--tableBorderColor);
}
.secShop .boxTable th{
    width: 17.3rem;
    font-weight: bold;
    background-color: var(--tableThColor);
    border-right: 0.1rem solid var(--tableBorderColor);
    text-align: center;
}
.secShop .boxTable th,
.secShop .boxTable td{
    padding: 1.8rem 3rem;
    vertical-align: middle;
}
.secShop .boxTable .txtLink{
    text-decoration: underline;
}
/* boxBtn */
.secShop .boxBtn{
    margin-top: 3rem;
    display: flex;
    justify-content: center;
    gap: 2rem;
}
.secShop .boxBtn .cmnBtn:only-child{
    width: 58rem;
}
@media only screen and (max-width:1215px){
    .secShop .boxList{
        margin-top: 2rem;
        gap: 3rem 0;
    }
    .secShop .itemModelhouse .box {
        flex-direction: column-reverse;
    }
    .secShop .itemModelhouse{
        padding-bottom: 3rem;
    }
    .secShop .itemModelhouse::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);
    }
    /* boxImg */
    .secShop .itemModelhouse .boxImg,
    .secShop .itemModelhouse .boxTxt{
        width: 100%;
    }
    .secShop .itemModelhouse .img{
        aspect-ratio: 345 / 227;
    }
    /* boxTxt */
    .secShop .itemModelhouse .tit{
        font-size: var(--spFontSize16);
        line-height: var(--spLineHeight16_26);
        letter-spacing: var(--spLetterSpacing16_30);
        margin-top: 1.5rem;
    }
    /* boxTable */
    .secShop .boxTable{
        margin-top: 0.5rem;
    }
    .secShop .boxTable .table{
        width: 100%;
        border: 0.1rem solid var(--tableBorderColor);
    }
    .secShop .boxTable tr{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_17);
        letter-spacing: var(--spLetterSpacing11_30);
    }
    .secShop .boxTable th{
        width: 100%;
        border-right: none;
        border-bottom: 0.1rem solid var(--tableBorderColor);
        text-align: left;
    }
    .secShop .boxTable th,
    .secShop .boxTable td{
        display: block;
        padding: 0.8rem 1.2rem;
    }
    .secShop .boxTable td{
        padding: 1.2rem 1.2rem;
    }
    /* boxBtn */
    .secShop .boxBtn{
        margin-top: 1.5rem;
        gap: 0.5rem;
    }
    .secShop .boxBtn .cmnBtn:only-child{
        width: 100%;
    }
}

/*==============================
    詳細
==============================*/
/* boxDetailsTit */
.secDetailsTit .pageTit{
    display: flex;
    align-items: center;
    max-width: 85%;
}
@media only screen and (max-width:1215px){
    /* boxDetailsTit */
    .secDetailsTit .boxDetailsTit{
        display: inline;
    }
    .secDetailsTit .pageTit{
        display: inline-block;
        max-width: none;
    }
}

/* secDetailsTop */
.secDetailsTop{
    margin-top: 3rem;
}
.secDetailsTop .boxImg{
    text-align: center;
}
.secDetailsTop .boxImg img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}
.secDetailsTop .tit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_28);
    letter-spacing: var(--pcLetterSpacing18_50);
    font-weight: bold;
    margin-top: 3.5rem;
}
.secDetailsTop .txt{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_28);
    margin-top: 1.5rem;
}
@media only screen and (max-width:1215px){
    .secDetailsTop{
        margin-top: 2rem;
    }
    .secDetailsTop .tit{
        font-size: var(--spFontSize15);
        line-height: var(--spLineHeight15_24);
        letter-spacing: var(--spLetterSpacing15_0);
        margin-top: 1rem;
    }
    .secDetailsTop .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_24);
        letter-spacing: var(--spLetterSpacing12_30);
        margin-top: 0.5rem;
    }
}

/* secDetailsStaff */
.secDetailsStaff{
    margin-top: 2rem;
}
.secDetailsStaff .boxStaff{
    background-color: var(--greenColor);
    color: #fff;
    padding: 5rem 5rem 4rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.secDetailsStaff .boxImg{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 18rem;
}
.secDetailsStaff .boxImg .img{
    width: 100%;
    aspect-ratio: 180 / 180;
}
.secDetailsStaff .boxImg img{
    border-radius: 100%;
}
.secDetailsStaff .boxTit{
    width: 77%;
}
.secDetailsStaff .tit{
    font-size: var(--pcFontSize18);
    line-height: var(--pcLineHeight18_28);
    letter-spacing: var(--pcLetterSpacing18_50);
    font-weight: bold;
}
.secDetailsStaff .txt{
    margin-top: 1.5rem;
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_28);
    letter-spacing: var(--pcLetterSpacing15_50);
}
@media only screen and (max-width:1215px){
    .secDetailsStaff{
        margin-top: 3rem;
    }
    .secDetailsStaff .boxStaff{
        padding: 3rem 1.5rem 2rem;
        align-items: center;
        flex-direction: column;
    }
    .secDetailsStaff .boxImg{
        width: auto;
        text-align: center;
    }
    .secDetailsStaff .boxImg .img{
        max-width: 10rem;
        aspect-ratio: 100 / 100;
    }
    .secDetailsStaff .boxTit{
        width: 100%;
        margin-top: 1rem;
    }
    .secDetailsStaff .tit{
        font-size: var(--spFontSize15);
        line-height: var(--spLineHeight15_24);
        letter-spacing: var(--spLetterSpacing15_0);
    }
    .secDetailsStaff .txt{
        margin-top: 0.5rem;
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_24);
        letter-spacing: var(--spLetterSpacing12_30);
    }
}


/* boxTable */
.secDetailsTable{
    margin-top: 4rem;
}
.secDetailsTable .table{
    width: 100%;
    border: 0.1rem solid var(--tableBorderColor);
}
.secDetailsTable tr{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_23);
    letter-spacing: var(--pcLetterSpacing15_50);
}
.secDetailsTable tr:not(:last-child){
    border-bottom: 0.1rem solid var(--tableBorderColor);
}
.secDetailsTable th{
    width: 17.3rem;
    font-weight: bold;
    background-color: var(--tableThColor);
    border-right: 0.1rem solid var(--tableBorderColor);
    text-align: center;
}
.secDetailsTable th,
.secDetailsTable td{
    padding: 2.3rem 3rem;
    vertical-align: middle;
}
.secDetailsTable .txtLink{
    text-decoration: underline;
}
@media only screen and (max-width:1215px){
    .secDetailsTable .table{
        width: 100%;
        border: 0.1rem solid var(--tableBorderColor);
    }
    .secDetailsTable tr{
        font-size: var(--spFontSize11);
        line-height: var(--spLineHeight11_17);
        letter-spacing: var(--spLetterSpacing11_30);
    }
    .secDetailsTable th{
        width: 100%;
        border-right: none;
        border-bottom: 0.1rem solid var(--tableBorderColor);
        text-align: left;
    }
    .secDetailsTable th,
    .secDetailsTable td{
        display: block;
        padding: 0.9rem 1.3rem;
    }
}

/* secDetailsBtn */
.secDetailsBtn .cmnBtn{
    margin: 3rem auto 0;
}


/* secDetailsGallery */
.secDetailsGallery{
    margin-top: 8rem;
}
.secDetailsGallery .boxSlider{
    margin-top: 3rem;
}
.secDetailsGallery .swiper-wrapper{
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 5.5rem 6rem;
}
.secDetailsGallery .swiper-slide{
    width: calc((100% - 6rem) / 2);
}
.secDetailsGallery .swiper-slide .img{
    aspect-ratio: 640 / 421;
}
.secDetailsGallery .swiper-slide .tit{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_23);
    letter-spacing: var(--pcLetterSpacing15_50);
    margin-top: 2rem;
    font-weight: bold;
}
.secDetailsGallery .swiper-slide .txt{
    font-size: var(--pcFontSize13);
    line-height: var(--pcLineHeight13_26);
    letter-spacing: var(--pcLetterSpacing13_50);
    margin-top: 1rem;
}
.secDetailsGallery .boxControl{
    display:none;
}
@media only screen and (max-width:1215px){
    .secDetailsGallery{
        margin-top: 4rem;
    }
    .secDetailsGallery .boxSlider{
        margin-top: 2rem;
    }
    .secDetailsGallery .swiper-wrapper{
        flex-wrap: inherit;
        justify-content: inherit;
        gap: inherit;
    }
    .secDetailsGallery .swiper-slide{
        width: 100%;
    }
    .secDetailsGallery .swiper-slide .img{
        aspect-ratio: 345 / 227;
    }
    .secDetailsGallery .swiper-slide .tit{
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_20);
        letter-spacing: var(--spLetterSpacing13_30);
        margin-top: 1.5rem;
    }
    .secDetailsGallery .swiper-slide .txt{
        font-size: var(--spFontSize10);
        line-height: var(--spLineHeight10_15);
        letter-spacing: var(--spLetterSpacing10_0);
        margin-top: 0.5rem;
    }
    .secDetailsGallery .boxControl{
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 60.536vw;
    }
    .secDetailsGallery .swiper-button-prev,
    .secDetailsGallery .swiper-button-next{
        width: 3rem;
        height: 3rem;
        top: 0;
        bottom: 0;
        margin: auto;
    }
    .secDetailsGallery .swiper-button-prev{
        left: 0;
        transform: rotate(180deg);
    }
    .secDetailsGallery .swiper-button-next{
        right: 0;
    }
    .secDetailsGallery .swiper-button-prev::after,
    .secDetailsGallery .swiper-button-next::after{
        content: "";
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 1rem;
        margin: auto;
        width: 1.4rem;
        height: 1.4rem;
        border-top: 0.4rem solid #fff;
        border-right: 0.4rem solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    .secDetailsGallery .imgSlider{
        display: block;
        height: 0;
        padding-top: 57.728%;
    }
    .secDetailsGallery .swiper-pagination{
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing10_30);
        display: flex;
        justify-content: center;
        align-items: center;
        width: 4.5rem;
        height: 2.5rem;
        bottom: 0.5rem;
        left: auto;
        right: 0.5rem;
        border-radius: 1.2rem;
        background-color: rgba(47, 51, 52, 0.702);
        color: #fff;
    }
}


/* secDetailsLocation */
.secDetailsLocation{
    margin-top: 7rem;
}
.secDetailsLocation .txt{
    font-size: var(--pcFontSize15);
    line-height: var(--pcLineHeight15_23);
    letter-spacing: var(--pcLetterSpacing15_50);
    margin: 3rem 0;
}
.secDetailsLocation .boxMap iframe{
    max-width: 100%;
    width: 100%;
    height: 62rem;
}
@media only screen and (max-width:1215px){
    .secDetailsLocation{
        margin-top: 4rem;
    }
    .secDetailsLocation .txt{
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight12_20);
        letter-spacing: var(--spLetterSpacing12_30);
        margin: 2rem 0;
    }
    .secDetailsLocation .boxMap{
        position: relative;
        width: 100%;
        height: 0;
        padding-top: 57.975%;
    }
    .secDetailsLocation .boxMap iframe{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}


/* secDetailsMerit */
.secDetailsMerit{
    margin-top: 8rem;
}
.secDetailsMerit .boxTit{
    background: var(--greenColor);
    position: relative;
    height: 8rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.secDetailsMerit .topTit{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    color: #fff;
}
.secDetailsMerit .topTxt{
    font-size: var(--pcFontSize14);
    line-height: var(--pcLineHeight14_28);
    letter-spacing: var(--pcLetterSpacing14_80);
    text-align: center;
    margin: 3.5rem auto 0;
}
.secDetailsMerit .iconTit {
    position: absolute;
    bottom: 8.4rem;
    left: calc(50% - 6.25rem);
}
.secDetailsMerit .meritList{
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}
.secDetailsMerit .listItem{
    width: 22.762%;
    margin-right: 2.98%;
    position: relative;
}
.secDetailsMerit .listItem:last-child{
    margin-right: 0;
}
.secDetailsMerit .imgList{
    height: 0px;
    padding-top: 85.25%;
}
.secDetailsMerit .boxTxt{
    margin-top: 2.6rem;
}
.secDetailsMerit .txtMerit{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    line-height: var(--pcLineHeight20_34);
    text-align: center;
    margin-top: 4.6rem;
}
.secDetailsMerit .txtList{
    font-size: var(--pcFontSize20);
    font-weight: bold;
    text-align: center;
    line-height: var(--pcLineHeight20_34);
    letter-spacing: var(--pcLetterSpacing20_100);
}
@media only screen and (max-width:1215px){
    .secDetailsMerit{
        margin-top: 4rem;
    }
    .secDetailsMerit .iconTit {
        width: 8rem;
        position: absolute;
        bottom: 5rem;
        left: calc(50% - 4rem);
    }
    .secDetailsMerit .topTit {
        font-size: var(--spFontSize15);
        text-align: center;
        line-height: var(--spLineHeight15_24);
    }
    .secDetailsMerit .boxTit {
        height: 5.5rem;
    }
    .secDetailsMerit .boxTit:after {
        width: 2.5rem;
        left: (50% - 1.25rem);
    }
    .secDetailsMerit .txtMerit {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_22);
        text-align: center;
        margin-top: 1.5rem;
    }
    .secDetailsMerit .topTxt {
        font-size: var(--spFontSize12);
        line-height: var(--spLineHeight13_25);
        letter-spacing: var(--spLetterSpacing13_30);
        text-align: left;
        margin: 1.7rem auto 0;
    }
    .secDetailsMerit .meritList{
        flex-wrap: wrap;
        margin-top: 2rem;
    }
    .secDetailsMerit .listItem {
        width: 47.83%;
        margin-right: 4.34%;
    }
    .secDetailsMerit .listItem:nth-child(2n) {
        margin-right: 0;
    }
    .secDetailsMerit .listItem:nth-child(n+3) {
        margin-top: 1.5rem;
    }
    .secDetailsMerit .txtList {
        font-size: var(--spFontSize13);
        line-height: var(--spLineHeight13_20);
        letter-spacing: 0;
    }
    .secDetailsMerit .boxTxt {
        margin-top: 1rem;
    }
}
/* secDetailsContact */
.secDetailsContact{
    background-color: var(--bgColor);
    position: relative;
    border-radius: 1rem;
    padding: 5rem;
    margin-top: 8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.secDetailsContact .txt{
    font-size: var(--pcFontSize16);
    letter-spacing: var(--pcLetterSpacing16_50);
    font-weight: bold;
    margin-top: 1.9rem;
}
.secDetailsContact .txt02{
    font-size: var(--pcFontSize20);
    letter-spacing: var(--pcLetterSpacing20_50);
    font-weight: bold;
}
.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 center / 2.2rem no-repeat
}
.secDetailsContact .txtTime{
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing13_50);
    margin-top: 1.8rem;
}
@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);
        margin-top: 1rem;
    }
    .secDetailsContact .txt02{
        font-size: var(--spFontSize15);
        letter-spacing: var(--spLetterSpacing15_30);
    }
    .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;
    }
}
