@charset "UTF-8";
/*slider------------------------*/
.mainimg_wrap {
    -webkit-margin-before: clamp(66px, 6.589vw, 90px);
    margin-block-start: clamp(66px, 6.589vw, 90px);
    inline-size: 100%;
    block-size: calc(80vh - clamp(66px, 6.589vw, 90px));
    block-size: calc(80dvh - clamp(66px, 6.589vw, 90px));
}
@media (width >=768px) {
    .mainimg_wrap {
        padding-inline: clamp(20px, 4.39238653vw, 60px);
        min-block-size: 700px;
    }
}
@media (width >=992px) {
    .mainimg_wrap {
        block-size: calc(100vh - clamp(66px, 6.589vw, 90px));
        block-size: calc(100dvh - clamp(66px, 6.589vw, 90px));
    }
}
.swiper-container {
    position: relative;
}

.swiper-container .catch_tx {
    position: absolute;
    inset: 48px auto auto 5.85vw;
    z-index: 10;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    text-align: start;
    display: flex;
    flex-direction: column;
    font-size: 2.8rem;
    text-shadow: 0px 0px 8px rgb(255, 255, 255), 0px 0px 8px rgb(255, 255, 255), 0px 0px 8px rgb(255, 255, 255), 0px 0px 3px rgb(255, 255, 255);

    .catch01,
    .catch02 {
        white-space: nowrap;
    }

    @media (width <= 360px) {
        font-size: 2rem;
    }
    @media (width >= 768px) {
        inset: 50% auto auto 7.9vw;
        transform: translateY(-50%);
        font-size: clamp(3.2rem, 36vw/12, 3.6rem);
        letter-spacing: 0.05em;
    }
    @media (width >= 1200px) {
        font-size: clamp(4rem, 48vw/13.66, 4.8rem);
    }
}
.swiper-container .catch_tx .catch02 {
    -webkit-padding-start: 7em;
    padding-inline-start: 7em;
}

.swiper-container,
.swiper-slide {
    block-size: calc(80vh - var(--header-h));
    inline-size: 100%;
    @media (width >= 768px) {
        /* min-block-size: 700px; */
        min-block-size: 500px;
    }
    @media (width >=992px) {
        block-size: calc(100vh - var(--header-h));
        /* block-size: calc(100vh - clamp(66px, 6.589vw, 90px)); */
        min-block-size: 500px;
    }
}

@media all and (orientation: portrait) {
    .slide01 {
        background: url(../img/index_img/slide01_port.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: landscape) {
    .slide01 {
        background: url(../img/index_img/slide01_land.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: portrait) {
    .slide02 {
        background: url(../img/index_img/slide02_port.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: landscape) {
    .slide02 {
        background: url(../img/index_img/slide02_land.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: portrait) {
    .slide03 {
        background: url(../img/index_img/slide03_port.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: landscape) {
    .slide03 {
        background: url(../img/index_img/slide03_land.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: portrait) {
    .slide04 {
        background: url(../img/index_img/slide04_port.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: landscape) {
    .slide04 {
        background: url(../img/index_img/slide04_land.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: portrait) {
    .slide05 {
        background: url(../img/index_img/slide05_port.jpg) center center no-repeat;
        background-size: cover;
    }
}
@media all and (orientation: landscape) {
    .slide05 {
        background: url(../img/index_img/slide05_land.jpg) center center no-repeat;
        background-size: cover;
    }
}

/*立川健診プラザPR用 -----------------------*/
.slide_tachikawa {
    padding: 0;
    background: white;
    a {
        display: grid;
        inline-size: 100%;
        block-size: 100%;
        text-decoration: none;
        grid-template-columns: 50% 50%;
        grid-template-rows: 50% 25% 25%;
        transition-duration: 0.2s;

        &:hover{
            color:rgba(var(--bace_tx_color),1) ;
            opacity: 0.8;
        }
    }

    @media (width >= 768px) {
        a {
            grid-template-columns: 20% 60% 20%;
            grid-template-rows: 50% 50%;
        }
    }

    @media (width >= 1200px) {
        a {
            grid-template-columns: 30% 40% 30%;
            grid-template-rows: 50% 50%;
        }
    }

    .photo01 {
        background: url(../img/index_img/tachikawa_img/tachikawa01.jpg) center center no-repeat;
        background-size: cover;

        display: none;
        @media (width >= 768px) {
            display: block;
        }
    }
    .photo02 {
        background: url(../img/index_img/tachikawa_img/tachikawa02.jpg) center center no-repeat;
        background-size: cover;
    }
    .photo03 {
        background: url(../img/index_img/tachikawa_img/tachikawa03.jpg) center center no-repeat;
        background-size: cover;
    }
    .photo04 {
        background: url(../img/index_img/tachikawa_img/tachikawa04.jpg) center center no-repeat;
        background-size: cover;
    }
    .photo05 {
        background: url(../img/index_img/tachikawa_img/tachikawa05.jpg) center center no-repeat;
        background-size: cover;
    }
}

.caming_soon_catch {
    @media (width <= 768px) {
        grid-row: 1/2;
        grid-column: 1/3;
    }

    background: white;
    .coming_soon_wrap {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        inline-size: 100%;
        block-size: 100%;
        text-align: center;

        @media (width > 768px) {
            /* padding: clamp(32px, 64vw/13.66, 64px) clamp(32px, 40vw/13.66, 40px); */
            border-image-width: 100px;
        }
    }

    .coming_soon_logo {
        margin-block-end: clamp(24px, 40px/12, 40px);
        :is(img) {
            width: 200px;
            filter: drop-shadow(0 0 2px rgba(var(--white), 1)) drop-shadow(0 0 2px rgba(var(--white), 1));
        }
        @media (width <=360px) {
            margin-block-end: 8px;
        }
        @media (width > 768px) {
            :is(img) {
                width: min(100%, 320px);
            }
        }
    }
    .floor {
        font-size: clamp(1.6rem, 24vw/13.66, 2.4rem);
        line-height: 1.4;
        letter-spacing: 0.025em;
        font-weight: 700;
    }
    .days {
        /* font-size: min(7vw, 4.8rem); */
        font-size: min(7vw,3.2rem);
        font-family: "Cinzel", serif;
        font-weight: 500;
        color: #8c7537;
        line-height: 1;
        width: max-content;
        margin: 0 auto 0.2em;
        padding: 0.1em 0;
        .s_tx {
            font-size: 0.8em;
            display: inline-block;
            padding: 0 0.2em;
        }

        &::before {
            content: "【";
            display: inline-block;
            margin-right: 0.5em;
            color: #8c7537;
        }
        &::after {
            content: "】";
            display: inline-block;
            margin-left: 0.5em;
            color: #8c7537;
        }
        @media (width >= 768px) {
            font-size: 3.2rem;
        }
        @media (width >= 1400px) {
            font-size: clamp(3.2rem, 48vw/16, 4.8rem);
        }
    }

    .coming_soon_ti {
        font-weight: 700;
        background: linear-gradient(90deg, #8c7537 0%, #8c7537 30%, #bfb169 45%, #bfb169 65%, #8c7537 70%, #8c7537 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        font-size: clamp(3.2rem, 44vw/7.68, 4.4rem);
        line-height: 1.2;
        white-space: nowrap;
        letter-spacing: 0.05em;
        @media (width <= 360px) {
            font-size: 7.2vw;
        }

        @media (width >= 1200px) {
            font-size: 4rem;
        }
        @media (width >= 1336px) {
            font-size: clamp(4rem, 56vw/16, 5.6rem);
        }
    }
}

/*==========================
更新プログラム(連動)フォーマット
==========================*/
.news_wrap {
    -webkit-padding-before: clamp(40px, 5.8565153734vw, 80px);
    padding-block-start: clamp(40px, 5.8565153734vw, 80px);
    -webkit-padding-after: clamp(60px, 7.027818448vw, 96px);
    padding-block-end: clamp(60px, 7.027818448vw, 96px);
    padding-inline: clamp(20px, 4.39238653vw, 60px);
    position: relative;
    z-index: 10;
}
.news_wrap .en_title {
    -webkit-margin-after: 0;
    margin-block-end: 0;
}
.news_wrap .en_title .en_tx {
    font-size: clamp(1rem, 10.980966325vw, 15rem);
    text-align: start;
}
@media (width >=992px) {
    .news_wrap .en_title .en_tx {
        -webkit-padding-after: 32px;
        padding-block-end: 32px;
    }
}
.news_wrap .en_title .ja_tx {
    text-align: start;
    -webkit-margin-after: 24px;
    margin-block-end: 24px;
}
@media (width >=992px) {
    .news_wrap .en_title .ja_tx {
        -webkit-margin-before: -0.2em;
        margin-block-start: -0.2em;
    }
}
@media (width >=992px) {
    .news_body {
        display: flex;
        justify-content: space-between;
    }
    .news_body .en_title {
        inline-size: 26%;
    }
    .news_body .news01 {
        inline-size: 74%;
    }
}
.news01 {
    inline-size: min(100%, 880px);
    text-align: start;
    -webkit-margin-after: clamp(24px, 2.9282576867vw, 40px);
    margin-block-end: clamp(24px, 2.9282576867vw, 40px);
}
.news01 dl {
    -webkit-border-after: 1px solid rgba(var(--white), 1);
    border-block-end: 1px solid rgba(var(--white), 1);
    -webkit-padding-after: 1.2em;
    padding-block-end: 1.2em;
}
.news01 dl dt {
    -webkit-margin-after: 0.8em;
    margin-block-end: 0.8em;
}
.news01 dl + dl {
    -webkit-margin-before: 1.2em;
    margin-block-start: 1.2em;
}
.newstitle {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.newstitle a {
    text-decoration: none;
    color: rgba(var(--bace_tx_color), 1);
    transition: 0.2s;
}
.newstitle a:hover {
    opacity: 0.8;
}
.tag {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    inline-size: 100px;
    line-height: 1;
    white-space: nowrap;
    -webkit-margin-end: clamp(10px, 1.317715959vw, 18px);
    margin-inline-end: clamp(10px, 1.317715959vw, 18px);
    border-style: solid;
    border-width: 1px;
    font-size: clamp(1.2rem, 1.0248901903vw, 1.4rem);
    padding-block: 5px;
}
.tag.org {
    color: rgba(var(--org), 1);
    border-color: rgba(var(--org), 0.7);
    background-color: rgba(var(--org), 0.1);
}
.tag.sinjuku {
    color: rgba(var(--sinjuku), 1);
    border-color: rgba(var(--sinjuku), 0.7);
    background-color: rgba(var(--sinjuku), 0.1);
}
.tag.isesaki {
    color: rgba(var(--isesaki), 1);
    border-color: rgba(var(--isesaki), 0.7);
    background-color: rgba(var(--isesaki), 0.1);
}
.tag.tochigi {
    color: rgba(var(--tochigi), 1);
    border-color: rgba(var(--tochigi), 0.7);
    background-color: rgba(var(--tochigi), 0.1);
}
.tag.yamagata {
    color: rgba(var(--yamagata), 1);
    border-color: rgba(var(--yamagata), 0.7);
    background-color: rgba(var(--yamagata), 0.1);
}
.days {
    font-family: "Cinzel", serif;
    font-weight: 500;
}
.news_flower01 {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    position: absolute;
    z-index: -1;
    inset: 10px auto auto -5%;
}
.news_flower01 span {
    display: block;
    background: url(../img/common_img/flower/flower01.png) center center no-repeat;
    background-size: cover;
    inline-size: clamp(244px, 35.7247437775vw, 488px);
    aspect-ratio: 122/111;
}
@media (width >=1366px) {
    .news_flower01 {
        inline-size: 1200px;
        inset: 10px auto auto 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        text-align: start;
    }
    .news_flower01 span {
        -webkit-transform: translateX(-106px);
        transform: translateX(-106px);
    }
}
.news_flower02 {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    position: absolute;
    z-index: -1;
    inset: auto -5% 10px auto;
}
.news_flower02 span {
    display: block;
    background: url(../img/common_img/flower/flower02.png) center center no-repeat;
    background-size: cover;
    inline-size: clamp(220px, 24.8169838946vw, 339px);
    aspect-ratio: 339/223;
}
@media (width >=1366px) {
    .news_flower02 {
        inline-size: 1200px;
        text-align: end;
        inset: auto 0 0 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    .news_flower02 span {
        -webkit-transform: translateX(160px);
        transform: translateX(160px);
        -webkit-margin-start: auto;
        margin-inline-start: auto;
    }
}
/*==========================
にっけんきょう
==========================*/
.magazine_wrap {
    padding-inline: clamp(20px, 4.39238653vw, 60px);
    padding-block-end: 160px;
}
.magazine_wrap .section_inner {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    z-index: 9;
    background: rgba(var(--bg_color01), 1);
    text-align: start;
    padding-block: clamp(32px, 2.9282576867vw, 40px);
    padding-inline: clamp(32px, 2.9282576867vw, 40px);
}
.magazine_wrap .section_inner .magazine_tx_box > *:not(.magazine_flower01) {
    position: relative;
    z-index: 2;
}
@media (width >=992px) {
    .magazine_wrap .section_inner {
        display: block;
        background: transparent;
        padding: 0;
    }
    .magazine_wrap .section_inner .magazine_tx_box {
        position: relative;
        z-index: 10;
        background: rgba(var(--bg_color01), 1);
        padding-block: clamp(32px, 2.9282576867vw, 40px);
        -webkit-padding-start: clamp(32px, 2.9282576867vw, 40px);
        padding-inline-start: clamp(32px, 2.9282576867vw, 40px);
        -webkit-padding-end: 400px;
        padding-inline-end: 400px;
        inline-size: min(100%, 1000px);
        transition-property: all;
    }
}
@media (width >=1200px) {
    .magazine_wrap .section_inner .magazine_tx_box {
        -webkit-padding-end: 300px;
        padding-inline-end: 300px;
    }
}
@media (width >=1366px) {
    .magazine_wrap .section_inner .magazine_tx_box {
        -webkit-padding-end: 265px;
        padding-inline-end: 265px;
    }
}
.magazine_wrap [class^="btn0"] > * {
    inline-size: min(100%, 280px);
}
@media (width >=768px) {
    .magazine_wrap [class^="btn0"] > * {
        inline-size: -webkit-max-content;
        inline-size: max-content;
    }
}
.magazine_wrap .cts_p + [class^="btn0"] {
    -webkit-margin-before: clamp(24px, 2.9282576867vw, 40px);
    margin-block-start: clamp(24px, 2.9282576867vw, 40px);
}
.book_img {
    margin-inline: auto;
}
.book_img img {
    max-inline-size: 100%;
    block-size: auto;
}
@media (width >=992px) {
    .book_img {
        position: absolute;
        z-index: 12;
        inset: 24px 24px auto auto;
        inline-size: clamp(320px, 31.1859443631vw, 426px);
    }
}
@media (width >=1200px) {
    .book_img {
        inset: 24px 0 auto auto;
    }
}
.magazine_flower01 {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    position: absolute;
    z-index: -1;
    inset: auto auto 150px -5%;
}
.magazine_flower01 span {
    display: block;
    background: url(../img/common_img/flower/flower03.png) center center no-repeat;
    background-size: cover;
    inline-size: clamp(320px, 37.262079063vw, 509px);
    aspect-ratio: 509/423;
}
@media (width >=768px) {
    .magazine_flower01 {
        inset: calc(clamp(50px, 7.02vw, 96px) * -1) 10% auto auto;
    }
}
@media (width >=1200px) {
    .magazine_flower01 {
        inset: calc(clamp(50px, 7.02vw, 96px) * -1) -8% auto auto;
    }
}
/*==========================
健診施設のご案内
==========================*/
.facility_guide_wrap {
    padding-inline: clamp(20px, 4.39238653vw, 60px);
    -webkit-padding-before: clamp(80px, 13.17715959vw, 100px);
    padding-block-start: clamp(80px, 13.17715959vw, 100px);
    -webkit-padding-after: clamp(40px, 4.39238653vw, 60px);
    padding-block-end: clamp(40px, 4.39238653vw, 60px);
    position: relative;
    z-index: 8;

    @media (width >= 1200px) {
        padding-block-end: 0;
    }
}
.facility_guide_wrap .en_title .en_tx {
    font-size: clamp(1rem, 10.980966325vw, 15rem);
}
.plaza_map_group {
    position: relative;
    z-index: 8;
}
.plaza_map_group .plaza_list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    -webkit-margin-after: 32px;
    margin-block-end: 32px;
}
/*open*/
.newopen {
    position: relative;
    .plaza_ti {
        /* position: relative; */
        &::after {
            position: absolute;
            inset: 0 0 auto auto;
            content: attr(data-text) " OPEN";
            display: block;
            background: rgba(var(--error_color), 1);
            color: rgba(var(--light_tx_color), 1);
            inline-size: max-content;
            padding: 0.5em;
            font-size: 1.2rem;
        }
    }
}
@media (width >=768px) {
    .plaza_map_group .plaza_list {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: revert;
        justify-content: center;
    }
}
@media (width >=992px) {
    .plaza_map_group .plaza_list {
        gap: 24px calc(50% - 320px);
        justify-content: space-between;
        padding-block: clamp(40px, 4.0995607613vw, 56px) 0;
    }
    .plaza_map_group .plaza_list > li {
        inline-size: clamp(240px, 23.4260614934vw, 320px);

        &:last-of-type {
            margin-inline-start: auto;
        }
    }
}
.map_img {
    inline-size: min(100%, 400px);
    margin-inline: auto;
}
.map_img img {
    inline-size: 100%;
    block-size: auto;
}
@media (width >=992px) {
    .map_img {
        position: absolute;
        z-index: -1;
        inset: 50% auto auto 50%;
        transform: translate(-50%, -50%);
        inline-size: clamp(500px, 46.8521229868vw, 640px);
    }
}
.facility_guide_flower01 {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    position: absolute;
    z-index: -1;
    inset: 0 auto auto -8%;
}
.facility_guide_flower01 span {
    display: block;
    background: url(../img/common_img/flower/flower04.png) center center no-repeat;
    background-size: cover;
    inline-size: clamp(320px, 49.560761347vw, 677px);
    aspect-ratio: 677/533;
}
@media (width >=1366px) {
    .facility_guide_flower01 {
        inline-size: 1200px;
        inset: 10px auto auto 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        text-align: start;
    }
    .facility_guide_flower01 span {
        -webkit-transform: translateX(-261px);
        transform: translateX(-261px);
    }
}
.facility_guide_flower02 {
    inline-size: -webkit-fit-content;
    inline-size: -moz-fit-content;
    inline-size: fit-content;
    position: absolute;
    z-index: -1;
    inset: auto -4% -4% auto;
}
.facility_guide_flower02 span {
    display: block;
    background: url(../img/common_img/flower/flower05.png) center center no-repeat;
    background-size: cover;
    inline-size: clamp(240px, 36.2371888726vw, 495px);
    aspect-ratio: 495/476;
    -webkit-margin-start: auto;
    margin-inline-start: auto;
}
@media (width >=1366px) {
    .facility_guide_flower02 {
        inline-size: 1200px;
        inset: auto auto 0 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    .facility_guide_flower02 span {
        -webkit-transform: translateX(190px) translateY(105px);
        transform: translateX(190px) translateY(105px);
        -webkit-margin-start: auto;
        margin-inline-start: auto;
    }
}
/*==========================
footer ph
==========================*/
.footer_ph {
    background: url(../img/common_img/footer_ph.jpg) center center no-repeat;
    background-size: cover;
    inline-size: 100%;
    block-size: 320px;
    position: relative;
    z-index: 15;
}
@media (width >=768px) {
    .footer_ph {
        background: url(../img/common_img/footer_ph.jpg) center center no-repeat fixed;
        background-size: cover;
        block-size: clamp(480px, 49.7803806735vw, 680px);
    }
}

/*==========================
安心と信頼のネットワーク健診*/

.picture_wrap {
    margin-block-start: 32px;
    display: flex;
    flex-direction: column;
    gap: 24px 40px;

    @media (width >= 992px) {
        flex-direction: row;
    }
}

.picture {
    & > img {
        max-inline-size: 100%;
        block-size: auto;
    }
    @media (width >= 992px) {
        inline-size: calc(100% - 290px - 40px);
    }

    @media (width >=1200px) {
        margin-block-end: clamp(40px, 4.39238653vw, 60px);
    }
}
.picture_list {
    @media (width >= 992px) {
        max-inline-size: 290px;
    }

    .logo-box {
        background: rgba(var(--bg_white), 1);
        inline-size: max-content;
        border-radius: 10px;
        display: flex;
        flex-direction: column;
        gap: 8px;
        text-align: start;
        padding: 20px 16px;
        margin-inline: auto;
        :is(img) {
            max-inline-size: 100%;
            block-size: auto;
        }
        :is(a) {
            &:hover {
                opacity: 0.6;
            }
        }
    }
}
