@charset "utf-8";
@media(max-width: 767px) {
    .site-header{
        position: fixed !important;
        top: 0;
    }
}
.tbl-form-select .wpcf7-form-control.wpcf7-select{
    border: 2px solid #e1e5e9;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    transition: all 0.3s ease;
    outline: none;
    box-shadow: none;
}
.tbl-form-select .wpcf7-form-control-wrap {
    position: relative;
    display: block;
}
.tbl-form-select .wpcf7-form-control-wrap:has(.wpcf7-select)::after,
.tbl-form-select .wpcf7-form-control-wrap[data-name]::after {
    content: '▼';
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    color: #666;
    pointer-events: none;
    transition: transform 0.3s ease;
    z-index: 1;
}
/* 
    font-family
*/
.roboto {
    font-family: roboto, sans-serif;
    font-weight: 500;
    font-style: normal;
}

.mono {
    font-family: mono45-headline, monospace;
    font-weight: 500;
    font-style: normal;
}

.monoB {
    font-family: mono45-headline, monospace;
    font-weight: 700;
    font-style: normal;
}

/* 
    shadow
*/
.shadow {
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.25);
}

/* 
    btnCommon01
*/
.btnCommon01 {
    display: block;
    width: min(400px, calc(490 / var(--break3)));
}

@media (max-width: 767px) {
    .btnCommon01 {
        width: calc(250 / var(--break3));
    }
}

/* 
    icon
*/
.icon-book {
    background: url(../img/common/iconBook.svg)no-repeat center / contain;
}

.icon-mail {
    background: url(../img/common/iconMail.svg)no-repeat center / contain;
}

.icon-flag {
    background: url(../img/common/iconFlag.svg)no-repeat center / contain;
}

/* .icon-house {
    background: url(../img/common/icon-house.svg)no-repeat center / contain;
}

.icon-mobile {
    background: url(../img/common/icon-mobile.svg)no-repeat center / contain;
} */

.icon-tel {
    background: url(../img/common/iconTel.svg)no-repeat center / contain;
}

.icon-tel {
    background: url(../img/common/iconTel.svg)no-repeat center / contain;
}

.icon-pin {
    background: url(../img/common/icon-region.svg)no-repeat center / contain;
}

.icon-calendar {
    background: url(../img/common/icon-datetime.svg)no-repeat center / contain;
}

.icon-pin-white {
    background: url(../img/common/iconPin-white.svg)no-repeat center / contain;
}

.icon-calendar-white {
    background: url(../img/common/iconCalendar-white.svg)no-repeat center / contain;
}

/* 
    permalink
*/
.col .permalink {
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* 
  bannerCatalog
*/
.bannerCatalog>a {
    max-width: 98%;
    display: block;
    width: min(1156px, calc(1200 / var(--break3)));
    position: relative;
    z-index: 9;
}

/* 
    btnCommon
*/
.btnCommon {
    width: min(142px, calc(160 / var(--break3)));
    min-height: calc(48 / var(--break3));
    line-height: 1;
    letter-spacing: 0;
    font-size: min(11px, calc(15 / var(--break3)));
    border: 1px solid #222;
    box-shadow: 3px 3px 0 #222;
    position: relative;
    transition: all .2s;
}

@media(min-width: 768px) {
    .btnCommon:hover {
        transform: translateY(4px);
        box-shadow: none;
        transition: all .2s;
    }
}

/* 
    copyCommon
*/
.copyLinkCommon a {
    display: inline-block;
    padding: min(22px, calc(28 / var(--break3))) min(26px, calc(32 / var(--break3))) min(20px, calc(26 / var(--break3)));
    padding-right: min(76px, calc(80 / var(--break3)));
    line-height: 1;
    font-size: min(30px, calc(36 / var(--break3)));
    font-weight: bold;
    background: url(../img/common/arrow.svg)no-repeat center right 3% / min(40px, calc(44 / var(--break3))), #fff;
    border-radius: 0 min(36px, calc(42 / var(--break3))) min(36px, calc(42 / var(--break3))) 0;
    transition: all .5s;
}

@media(min-width: 1025px) {
    .copyLinkCommon a:hover {
        background: url(../img/common/arrow.svg)no-repeat center right 2% / min(40px, calc(44 / var(--break3))), #fff;
        transition: all .5s;
    }
}

@media(max-width: 767px) {
    .copyLinkCommon a {
        padding: 3.5vw 2vw;
        padding-right: 11vw;
        font-size: calc(16 / var(--break3));
        background: url(../img/common/arrow.svg)no-repeat center right 5% / calc(22 / var(--break3)), #fff;
        border-radius: 0 min(36px, calc(42 / var(--break3))) min(36px, calc(42 / var(--break3))) 0;
    }
}

/* 
    set_positioning_common
*/
.set_positioning_common {
    padding: calc(100 / var(--break3)) 0;
}

@media(min-width: 768px) {
    .set_positioning_common {
        padding-left: 160px;
    }
}

@media(max-width: 767px) {
    .set_positioning_common {
        padding: 0 0 calc(40 / var(--break3));
    }

    .set_positioning_common .shadow {
        box-shadow: 0;
    }
}

/* 
    slick
*/
/* .slick-prev,
.slick-next {
    width: calc(40 / var(--break3)) !important;
    height: calc(40 / var(--break3)) !important;
    margin: auto !important;
    background: url(../img/common/arw.svg)no-repeat center / cover !important;
    bottom: auto !important;
    z-index: 1 !important;
} */

/* .slick-prev {
    left: 0 !important;
    transform: scale(-1, 1) !important;
}

.slick-next {
    right: 0 !important;
    transform: scale(1) !important;
} */

.slick-prev:before,
.slick-next:before {
    display: none !important;
}

.slick-dots li button:before {
    content: "" !important;
}

@media(max-width: 767px) {

    /* .slick-prev,
    .slick-next {
        width: calc(60 / 750 * 100vw) !important;
        height: calc(60 / 750 * 100vw) !important;
    } */

    .slick-dots li {
        margin: 0 !important;
    }

    .slick-dots li button {
        padding: 0 !important;
    }

    .slick-dots li:only-child {
        display: none;
    }
}

/* 
	site-header
*/
.site-header {
    z-index: 100;
}

/* 
    topInformation
*/
.topInformation {
    padding: min(140px, calc(180 / var(--break3))) 0;
    background: #F4F4F4;
    position: relative;
    z-index: 1;
}

@media(min-width: 768px) {
    .topInformation::before {
        content: "";
        width: min(420px, calc(460 / var(--break3)));
        height: 2px;
        margin: auto;
        background: #222;
        position: absolute;
        top: calc(100 / var(--break3));
        left: 0;
        right: 0;
        z-index: -1;
    }
}

@media(max-width: 767px) {
    .topInformation {
        padding: 4vw 0 8vw;
    }
}

/* sliderinstagram
------------------------------------------------------------------*/
.topInstagram {
    margin-bottom: min(120px, calc(160 / var(--break3)));
}

.imgTitleInstagaram {
    max-width: min(320px, calc(380 / var(--break3))) !important;
}

.sliderInstagram {
    overflow: hidden;
    width: 100%;
    position: relative;
}

.sliderInstagram #sbi_slider li {
    width: auto !important;
    max-width: min(260px, calc(320 / var(--break3))) !important;
    list-style: none;
    float: left;
    margin: 0 min(30px, calc(50 / var(--break3)));
    padding-bottom: calc(10 / var(--break3));
    box-shadow: calc(10 / var(--break3)) calc(10 / var(--break3)) 0 #0098A5 !important;
    position: relative;
    z-index: 1;
}

.sliderInstagram #sbi_slider li::before {
    content: "";
    width: calc(100% - 10 / var(--break3));
    height: calc(10 / var(--break3));
    margin: auto;
    background: #0098A5;
    position: absolute;
    bottom: 0;
    left: calc(10 / var(--break3));
}

.sliderInstagram .sbi_item {
    width: min(260px, calc(320 / var(--break4))) !important;
    max-width: min(260px, calc(320 / var(--break3))) !important;
}

/* 写真部分の表示 */
.sliderInstagram .sbi_photo_wrap,
.sliderInstagram .sbi_photo_wrap img {
    width: 100%;
    height: min(330px, calc(390 / var(--break4))) !important;
    display: block;
    object-fit: cover;
}

/* bxSliderの基本スタイル調整（矢印など不要なら非表示に） */
.sliderInstagram .bx-wrapper {
    box-shadow: none;
    border: none;
    background: none;
    margin-bottom: 0;
}

/* 自動スクロール用なのでナビゲーション非表示 */
.sliderInstagram .bx-controls-direction,
.sliderInstagram .bx-pager {
    display: none !important;
}

/* スライダー全体 */
.sliderInstagram #sbi_slider {
    display: flex;
    align-items: center;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
    .topInstagram {
        margin-bottom: 7vw;
    }

    .imgTitleInstagaram {
        max-width: calc(180 / var(--break3)) !important;
    }

    .sliderInstagram #sbi_slider li {
        max-width: calc(150 / var(--break3)) !important;
        margin: 0 2vw;
        padding-bottom: calc(6 / var(--break3));
        box-shadow: calc(6 / var(--break3)) calc(6 / var(--break3)) 0 #0098A5 !important;
    }

    .sliderInstagram #sbi_slider li::before {
        width: calc(100% - 6 / var(--break3));
        height: calc(6 / var(--break3));
        left: calc(6 / var(--break3));
    }

    .sliderInstagram .sbi_item {
        width: calc(150 / var(--break3)) !important;
        max-width: calc(150 / var(--break3)) !important;
    }

    /* 写真部分の表示 */
    .sliderInstagram .sbi_photo_wrap,
    .sliderInstagram .sbi_photo_wrap img {
        height: calc(180 / var(--break3)) !important;
    }
}

/* 
    topNews
*/
.imgTitleNews {
    max-width: min(354px, calc(380 / var(--break3))) !important;
}

@media(max-width: 767px) {
    .imgTitleNews {
        max-width: calc(184 / var(--break3)) !important;
    }
}

/* 
    .coveTopicsCommon {
*/
.coveTopicsCommon {
    width: 100%;
    justify-content: start;
    align-items: stretch;
}

.coveTopicsCommon .col {
    background: #fff;
    position: relative;
    z-index: 1;
}

.coveTopicsCommon .areaText {
    padding: min(12px, calc(18 / var(--break3))) min(22px, calc(28 / var(--break3)));
}

.coveTopicsTag {
    display: inline-block;
    padding: min(2px, calc(5 / var(--break3))) min(4px, calc(7 / var(--break3)));
    font-size: min(10px, calc(15 / var(--break3)));
    color: #fff;
    background: #222;
}

.coveTopicsText {
    margin: min(14px, calc(20 / var(--break3))) 0;
    line-height: 2;
    font-size: min(12px, calc(18 / var(--break3)));
}

.coveTopicsDate {
    line-height: 1;
    font-size: min(10px, calc(15 / var(--break3)));
    color: #939393;
    position: absolute;
    bottom: min(12px, calc(18 / var(--break3)));
    right: min(12px, calc(18 / var(--break3)));
}

@media(min-width: 768px) {
    .coveTopicsCommon .col {
        width: 23.5%;
        margin-right: 2%;
    }

    .coveTopicsCommon .col:nth-of-type(4n),
    .coveTopicsCommon .col:last-child {
        margin-right: 0;
    }
}

@media(max-width: 767px) {
    .coveTopicsCommon .col {
        display: flex;
        align-items: stretch;
        max-width: calc(327 / var(--break3)) !important;
        margin: 0 auto 3vw;
        padding-bottom: 3vw;
        background: none;
        border-bottom: 1px solid #222;
    }

    .coveTopicsCommon .col:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 0;
    }

    .coveTopicsCommon .coveTopicsThumbnail {
        width: calc(138 / var(--break3));
    }

    .coveTopicsCommon .areaText {
        width: calc(100% - 138 / var(--break3));
        padding: min(12px, calc(18 / var(--break3))) min(22px, calc(28 / var(--break3)));
        background: #fff;

    }

    .coveTopicsTag {
        padding: min(2px, calc(5 / var(--break3))) min(4px, calc(7 / var(--break3)));
        font-size: min(10px, calc(15 / var(--break3)));
    }

    .coveTopicsText {
        margin: 2vw 0;
        line-height: 1.5;
        font-size: calc(12.5 / var(--break3));
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
    }

    .coveTopicsDate {
        display: none;
    }
}

/* 
    footer
*/

@media(min-width: 768px) {
    footer {
        width: 100%;
        padding-left: 160px;
    }
}

@media(max-width: 767px) {}

/* 
    footerContactBg
*/
.footerContactBg {
    padding: min(50px, calc(70 / var(--break3))) 0 0;
    background: url(../img/common/footerContactBg.png)no-repeat center center / cover;
}

.footerContactShider {
    margin-top: min(50px, calc(70 / var(--break3)));
}

.footerContactShider .slid {
    width: min(820px, calc(900 / var(--break3)));
    margin: 0 min(20px, calc(30 / var(--break3)));
}

.footerContactCopyEn {
    width: min(200px, calc(220 / var(--break3)));
    margin: 0 auto min(20px, calc(30 / var(--break3)));
    line-height: 1;
    text-align: center;
    color: #fff;
}

.footerContactCopyJp {
    margin: 0 auto min(30px, calc(40 / var(--break3)));
    line-height: 1.5;
    font-size: min(24px, calc(28 / var(--break3)));
    text-align: center;
    color: #fff;
}

.rowContactCommon {
    max-width: 100%;
    justify-content: space-between;
    width: min(820px, calc(880 / var(--break)));
    margin-left: auto;
    margin-right: auto;
}

.rowContactCommon>.rowContactCommonBox {
    width: 34%;
    padding: calc(42 / var(--break3)) 1%;
    background: #fff;
    border-radius: min(4px, calc(8 / var(--break3)));
    position: relative;
    z-index: 1;
}

.rowContactCommon>.rowContactCommonBox02 {
    width: 65%;
}

.rowContactCommonCopy01 {
    display: block;
    line-height: 1;
    letter-spacing: .02em;
    margin-bottom: min(10px, calc(16 / var(--break3)));
    text-align: center;
    font-size: min(14px, calc(20 / var(--break3)));
}

.rowContactCommonBoxTel .s2 {
    padding: min(5px, calc(9 / var(--break3))) 0;
    padding-left: min(42px, calc(50 / var(--break3)));
    letter-spacing: .02em;
    font-size: min(24px, calc(30 / var(--break3)));
    position: relative;
    z-index: 1;
}

.rowContactCommonBoxTel i {
    width: min(34px, calc(40 / var(--break3)));
    height: min(34px, calc(40 / var(--break3)));
    margin: auto;
    position: absolute;
    inset: 0 auto 0 0;
}

.rowContactCommonBoxTel .s3 {
    display: block;
    letter-spacing: .0;
    font-size: min(10px, calc(14 / var(--break3)));
}

.rowContactCommonBtn {
    max-width: 94%;
    justify-content: space-between;
    width: min(460px, calc(600 / var(--break3)));
    margin: auto;
}

.rowContactCommonBtn>.btnCommon {
    width: 32%;
}

.rowContactCommonBtn .btnCommon .text {
    padding-left: min(28px, calc(36 / var(--break3)));
    position: relative;
    z-index: 1;
}

.rowContactCommonBtn .btnCommon i {
    width: min(18px, calc(26/ var(--break3)));
    height: min(18px, calc(26 / var(--break3)));
    margin: auto;
    position: absolute;
    inset: 0 auto 0 0;
}

@media(max-width: 767px) {}

@media(max-width: 767px) {
    .footerContactBg {
        padding: 25vw 0 0;
        background: url(../img/common/footerContactBg_sp.png)no-repeat center center / cover;
    }

    .footerContactShider {
        margin-top: 27.5vw;
    }

    .footerContactShider .slid {
        width: calc(460 / var(--break3));
        margin: 0 2vw;
    }

    .footerContactCopyEn {
        width: calc(160 / var(--break3));
        margin: 0 auto 4vw;
    }

    .footerContactCopyJp {
        margin: 0 auto 3vw;
        font-size: calc(12 / var(--break3));
    }

    .rowContactCommon {
        flex-wrap: wrap;
        max-width: 100%;
        width: calc(280 / var(--break3));
        margin-left: auto;
        margin-right: auto;
    }

    .rowContactCommon>.rowContactCommonBox {
        order: 1;
        width: 100%;
        padding: 7.5vw 2vw;
    }

    .rowContactCommon>.rowContactCommonBox02 {
        order: 0;
        width: 100%;
        padding: 5vw 2vw;
        margin-bottom: 5vw;
    }

    .rowContactCommonCopy01 {
        letter-spacing: 0;
        margin-bottom: min(10px, calc(16 / var(--break3)));
        font-size: calc(13.5 / var(--break3));
    }

    .rowContactCommonBoxTel .s2 {
        padding: 3vw 0;
        padding-left: 10vw;
        letter-spacing: 0;
        font-size: calc(24 / var(--break3));
    }

    .rowContactCommonBoxTel i {
        width: calc(36 / var(--break3));
        height: calc(36 / var(--break3));
    }

    .rowContactCommonBoxTel .s3 {
        font-size: calc(11 / var(--break3));
    }

    .rowContactCommonBtn {
        flex-wrap: wrap;
        width: min(460px, calc(600 / var(--break3)));
        margin: auto;
    }

    .rowContactCommonBtn>.btnCommon {
        max-width: calc(200 / var(--break3));
        width: 100%;
        min-height: calc(30 / var(--break3));
        margin: 2vw auto 0;
    }

    .rowContactCommonBtn>.btnCommon:first-child {
        margin-top: 0;
    }

    .rowContactCommonBtn .btnCommon .text {
        padding-left: 3.5vw;
        font-size: calc(16.5 / var(--break3));
        position: static;
    }

    .rowContactCommonBtn .btnCommon i {
        width: calc(17.5 / var(--break3));
        height: calc(17.5 / var(--break3));
        left: 4.5vw;
    }

    .rowContactCommonBtn>.btnCommon:nth-of-type(3n) {
        display: none;
    }
}

/* footerSitemap
------------------------------------------------------------------*/
.footerSitemap {
    padding: min(60px, calc(80 / var(--break3))) 0;
    color: #fff;
    background: #222;
}

.footerSitemapCover {
    max-width: 1180px;
    margin: auto;
    align-items: stretch !important;
}

.footerSitemapCover>.col {
    width: 26.3%;
    border-left: 1px solid #fff;
    padding: min(20px, calc(30 / var(--break3))) 2%;
}

.footerSitemapCover>.col01 {
    width: 20%;
}

.footerSitemap .logo {
    width: min(150px, calc(160 / var(--break3)));
    margin: auto;
}

.footerSitemapList {
    max-width: 100%;
    width: min(240px, calc(290 / var(--break3)));
    margin: 0 auto;
}

.footerSitemapList a.flex {
    justify-content: space-between;
    align-items: center;
    padding: min(8px, calc(12 / var(--break3))) 0;
}

.footerSitemapList .en {
    width: calc(120 / var(--break3));
    line-height: 1;
    letter-spacing: 0;
    font-size: calc(21.5 / var(--break3));
    font-family: mono45-headline, monospace;
    font-weight: 500;
    font-style: normal;
    text-transform: uppercase;
}

.footerSitemapList .jp {
    width: calc(100% - 120 / var(--break3));
    line-height: 1;
    letter-spacing: 0;
    font-size: calc(12 / var(--break3));
    text-transform: uppercase;
}

@media(min-width: 768px) {
    .footerSitemapCover>.colX {
        display: none;
    }
}

@media(max-width: 767px) {
    .footerSitemap {
        padding: 10vw 0;
    }

    .footerSitemapCover {
        max-width: 1180px;
        margin: auto;
        align-items: stretch !important;
    }

    .footerSitemapCover>.col {
        display: none;
    }

    .footerSitemapCover>.col01 {
        width: 100%;
    }

    .footerSitemapCover>.colX {
        padding-top: 5vw;
        width: 100%;
    }

    .footerSitemap .logo {
        width: calc(294 / var(--break3));
    }

    .footerSitemapList {
        width: calc(300 / var(--break3));
        margin: 0 auto 4vw;
    }

    .footerSitemapList li {
        width: 48.5%;
    }

    .footerSitemapList li:nth-of-type(n + 3) {
        margin-top: 2vw;
    }

    .footerSitemapList a.flex {
        justify-content: center;
        text-align: center;
        width: 100%;
        padding: 2vw 0;
        border: 1px solid #fff;
    }

    .footerSitemapList .jp {
        width: 100%;
        font-size: calc(15 / var(--break3));
    }

    .footerSitemapText {
        text-align: center;
        font-size: calc(12 / var(--break3));
    }
}

/*  */
.copyright {
    padding: calc(25 / var(--break3)) 0;
    font-size: 80%;
    text-align: center;
    background: #F0F0F0;
}

@media(min-width: 768px) and (max-width:1280px) {}

@media(min-width: 768px) and (max-width:1080px) {}

@media(min-width: 768px) and (max-width:1024px) {}

@media (max-width: 767px) {
    .copyright {
        padding: 4vw 0 25vw;
    }
}

/*  */
.fix_sp {
    display: none;
}

@media (max-width: 767px) {
    .fix_sp {
        display: flex;
        position: fixed;
        z-index: 9999;
        inset: auto 0 0;
    }

    .fix_sp .fix_form {
        width: 100%;
    }

    .fix_sp .fix_tel {
        width: calc(102/ 750 *100vw);
        background: #fff;
    }

    .fix_sp .fix_tel02 {
        width: calc(51 / var(--break3));
    }

    .fix_sp .fix_consultation {
        width: calc(216/ 750 *100vw);
        background: #fff;
        position: relative;
        z-index: 1;
    }

    .fix_sp .fix_consultation::before,
    .fix_sp .fix_consultation::after {
        content: "";
        width: 1px;
        height: 100%;
        margin: auto;
        background: #CFCFCF;
        position: absolute;
        inset: 0 -.5px;
    }

    .fix_sp .fix_consultation02 {
        width: calc(324 / var(--break3));
        position: relative;
        z-index: 1;
    }

    .fix_sp .fix_consultation02::before {
        content: "";
        width: 3px;
        height: 100%;
        margin: auto;
        background: #CFCFCF;
        position: absolute;
        inset: 0 calc(100% - 2.5px) 0 auto;
    }

    .fix_sp .fix_consultation::before {
        left: auto;
    }

    .fix_sp .fix_consultation::after {
        right: auto;
    }

    .fix_sp .fix_event {
        width: calc(216/ 750 *100vw);
        background: #fff;
    }

    .fix_sp .fix_catalog {
        width: calc(216/ 750 *100vw);
        background: #0098A5;
    }
}