.mv_image_item { opacity: 0;}
.mv_image_item.xyz-in { opacity: 1; }
.loading {
    position: fixed;
	z-index: 99999;
	width: 100%;
	height: 100%;
	background-color: var(--white);
	text-align: center;
}
.loading_inner {
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
.loading_ber {
    background-color: var(--pink);
    margin-top: 10px;
    width: 0%;
    height: 4px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 10001;
}
.loading_inner::before {
    content: "　";
    display: block;
    width: 100%;
    height: 2px;
    background-color: rgb(var(--black-rgb), 0.1);
    position: absolute;
    bottom: 1px;
    left: 0;
}
.loading_txt {
    color: var(--pink);
    font-family: var(--font-en);
    letter-spacing: .05em;
    font-size: 30px;
    margin-bottom: 1em;
}
.hero {
    display: block;
    background-color: rgb(var(--green1-rgb), 0.2);
    width: 95%;
    max-width: 1120px;
    aspect-ratio: 112 / 69;
    margin: 0 auto;
    border-radius: 20px;
    position: relative;
    margin-bottom: 30px;
}
.mv_image_item {
    position: absolute;
    z-index: 1;
}
.mv_txt {
    width: min(56.79vw, 636px);
    top: 8.7%;
    left: calc(50% - min(28.39vw, 318px));
    z-index: 2;
}
.mv_st01 {
    width: min(15.71vw, 176px);
    bottom: 11.59%;
    left: calc(50% - min(7.86vw, 88px));
}
.mv_st02_L {
    width: min(12.05vw, 135px);
    bottom: 4.35%;
    left: 32.5%;
    z-index: 2;
}
.mv_st02_R {
    width: min(13.04vw, 146px);
    bottom: 4.35%;
    right: 32.14%;
    z-index: 2;
}
.mv_st03_L {
    width: min(14.46vw, 162px);
    bottom: 10.14%;
    left: 17.86%;
}
.mv_st03_R {
    width: min(14.38vw, 161px);
    bottom: 11.59%;
    right: 21.43%;
}
.hero_scroll {
	font-size:  min(10 / var(--viewport) * 100vw, 10px);
    display: block;
    width: 100%;
    position: absolute;
    bottom: -3em;
    height: 7em;
    z-index: 10;
}
.hero_scroll span {
    display: inline-block;
    width: clamp(90px, 8.62vw, 100px);
    color: var(--green2);
    font-family: var(--font-en);
    line-height: 2em;
    height: 2em;
    background-color: var(--white);
    border-radius: 1.5em;
    padding: 0 auto;
    text-align: center;
    letter-spacing: .05em;
    position: absolute;
    top:　0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}
.hero_scroll::before {
    content: " ";
    width: 2px;
    height: 100%;
    background-color: var(--pink);
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -1px;
    z-index: 0;
}
/** sec info **/
.sec_info_wrap .sec_info_ttl {
    grid-area: title;
    color: rgb(var(--black-rgb), 0.5);  
}
.sec_info {
    margin-bottom: var(--minsize30);
}
.sec_info_wrap .sec_info_list {
    grid-area: list;
}
.sec_info .sec_info_ttl h3 {
    font-size: 14px;
    font-weight: bold;
}
.sec_info .sec_info_ttl p {
    font-family: var(--font-en);
    font-size: 24px;
    letter-spacing: .05em;
    font-weight: bold;
}
.sec_info_list li {
    display: block;
    margin: 1em 0;
}
.sec_info_list li a span {
    margin: .5em 0;
}
/** sec about **/
.sec_about {
    background-image: url('../images/bk_about.jpg');
    background-size: cover;
    background-position: center center;
}
.top_faq .fukidashi_lay {
    margin: var(--minsize50) auto;
}
/** sec about **/
.sec_staff {
    background-image: url('../images/bk_staff.jpg');
    background-size: cover;
    background-position: center center;
}
/** sec access **/
.access_clinic {
    display: flex;
    justify-content: space-between;
}
.access_clinic_box {
    width: min(49%, 430px);
    margin: var(--minsize50) 0;
}
.access_clinic_box dl {
    text-align: center;
}
.access_clinic_box dt {
    font-size: 20px;
    font-weight: bold;
    margin: 1em 0 .5em 0;
    color: var(--green1);
}
/** sec recruit **/
.sec_recruit_lay {
    margin: var(--minsize50) 0;
}
.recruit_box_fuki {
    text-align: center;
    position: relative;
}
.recruit_box_link dl {
    display: block;
    text-align: center;
    border: 2px solid var(--black);
    background-color: var(--white);
    padding: 1em;
    border-radius: 20px;
    margin: 20px 0;
}
.recruit_box_link dt {
    font-size: 18px;
    margin-bottom: .5em;
    font-weight: bold;
}
.recruit_box_link ul {
    display: flex;
    justify-content: space-between;
}
.recruit_box_link li {
    display: inline-block;
    width: 32%;
}
.recruit_box_link a {
    display: block;
    background-color: var(--pink);
    color: var(--white);
    padding: .5em 0;
    font-size: 16px;
    border-radius: 1.5em;
}
.sec_clinic_hed {
    position: relative;
    padding-top: var(--minsize50);
    height: 220px;
    box-sizing: border-box;
    max-width: 1280px;
    width: 100%;
    margin: var(--minsize50) auto;
    display: block;
    text-align: center;
}
.sec_clinic_hed figure {
    position: absolute;
    top: 0;
}
.sec_clinic_hed figure.hedpic_l {
    left: 0;
    width: calc(149 / var(--breakpoint-s) * 100vw);
}
.sec_clinic_hed figure.hedpic_r {
    right: 0;
    width: calc(154 / var(--breakpoint-s) * 100vw);
}
.sec_clinic_hed .lead_ttl {
    position: absolute;
    left: 50%;
    bottom: 1em;
    margin: 0 auto;
    transform: translateX(-50%);
    display: inline-block;
    white-space: nowrap;
    padding: 0 min(calc(30 / var(--breakpoint-s) * 100vw), 30px);
}
.sec_clinic_hed .lead_ttl::before, 
.sec_clinic_hed .lead_ttl::after {
    content: "　";
    display: block;
    width: 2px;
    height: 3em;
    border-radius: 1px;
    position: absolute;
    bottom: -1em;
    background: linear-gradient(180deg, var(--black) 0%, var(--black) 15%, transparent 15%, transparent 30%, var(--black) 30%, var(--black) 100% );
}
.sec_clinic_hed .lead_ttl::before {
    left: 0;
    transform: rotate(-20deg);
}
.sec_clinic_hed .lead_ttl::after {
    right: 0;
    transform: rotate(20deg);
}
.sec_clinic .cont_inner {
    padding-bottom: var(--minsize100);
}
.sec_clinic_card .card_link {
    background-color: var(--green1);
    display: block;
    border-radius: 20px;
    padding-top: var(--minsize30);
    text-align: center;
    transition: .3s;
}
.sec_clinic_card .card_link:hover {
    opacity: .8;
}
.sec_clinic_card .card_link .button {
    transform:  translateY(-30px);
}
.sec_clinic_card .card_link .button a {
    background-color: #FBF4C4;
    color: var(--black);
}
.sec_clinic_card .card_link:nth-child(2) {
    background-color: var(--pink);
    margin-top: var(--minsize30);
}

@media only screen and (max-width: 750px){
     /** hero **/
    .hero { width: 95%; aspect-ratio: 355 / 482;}
    .hero_scroll span{ line-height: 2.6em; height: 2.6em;}
    .mv_st01 { width: 27.18vw; bottom: 19.92%; left: calc(50% - 13.59vw); }
    .mv_st02_L { width: 20.87vw; bottom: 16.18%; left: 18.93%; }
    .mv_st02_R { width: 22.61vw; bottom: 16.18%; right: 15.47%; }
    .mv_st03_L { width: 25.09vw; bottom: 19.92%; left: 2.67%;}
    .mv_st03_R { width: 24.9vw; bottom: 19.92%; right: 2.67%; }
    .mv_txt { width: 82vw; top: 15.98%;left: calc(50% - 42vw); }
    .mv_itemTop1 { width: 24.93vw; top: 2.49%; left: 4.15%; }
    .mv_itemTop2 { width: 28vw; top: 4.98%; left: calc(50% - 14vw); }
    .mv_itemTop3 { width: 26.13vw; top: 2.07%; right: 4.15%; }
    .mv_itemBtm1 { width: 21.87vw; bottom: 0; left: 3%; }
    .mv_itemBtm2 { width: 26.67vw; bottom: 7.68%; left: calc(50% - 13.335vw); }
    .mv_itemBtm3 { width: 20.8vw; bottom: 0; right: 4.15%;  }

    .fukidashi_lay figure {
        text-align: center;
        display: block;
    }
    .fukidashi_lay figure.faq_q {
        padding-right: calc(50 / var(--breakpoint-s) * 100vw);
    }
    .staff_box {
        text-align: center;
        position: relative;
        padding-bottom: 100px;
        margin-bottom: 30px;
    }
    .staff_box .fukidashi {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 2;
    }
    .recruit_box_link h3 {
        text-align: left;
    }
    .recruit_box_fuki {
        margin-top: 50px;
    }
    .recruit_box_fuki .staff_box {
        padding-bottom: 40px;
    }
    .recruit_box_fuki .staff_box .fukidashi {
        text-align: left;
    }
    .entry_btn {
        opacity: 0;
    }
    .entry_btn.fixed {
        opacity: 1;
        animation: btmfix .5s ease forwards;
    }
    @keyframes btmfix {
        0% { top: -150px;}
        100% { top: 50px;}
    }
}
@media only screen and (max-width: 480px){
    .recruit_box_link ul {
        flex-wrap: wrap;
        justify-content: center;
    }
    .recruit_box_link ul li {
        width: 45%;
        margin: 0 auto;
    }
    .recruit_box_link ul li:last-child {
        margin-top: .5em;
    }
}
@media only screen and (min-width: 751px){
    /** hero **/
    
    .mv_itemLeft1 {
        width: min(17.32vw, 194px);
        top: 6.23%;
        left: 3.84%;
    }
    .mv_itemLeft2 {
        width: min(7.05vw, 79px);
        top: 36.96%;
        left: 3.04%;
    }
    .mv_itemLeft3 {
        width: min(18.13vw, 203px);
        top: 74.52%;
        left: 5.45%;
    }
    .mv_itemRight1 {
        width: min(18.13vw, 203px);
        top: 6.67%;
        right: 3.84%;
    }
    .mv_itemRight2 {
        width: min(8.04vw, 90px);
        top: 38.7%;
        right: 3.39%;
    }
    .mv_itemRight3 {
        width: min(22.05vw, 247px);
        top: 74.06%;
        right: 1.61%;
    }
    /** info **/
    .sec_info_wrap {
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-areas: "title list";
        align-items: center;
        grid-gap: min(60 / var(--breakpoint) * 100vw, 60px);
    }
    .sec_info_list li a {
        display: table;
    }
    .sec_info_list li a span {
        display: table-cell;
        vertical-align: middle;
        margin: 0;
    }
    .sec_info_list li a .post_date {
        padding-right: 2em;
    }
    .sec_info_list li a .ttl {
        padding-left: 1.5em;
    }
    /** fukidashi **/
    .top_faq .fukidashi_lay {
        margin: 0;
        width: 100%;
        padding-right: min(calc(190 / var(--breakpoint) * 100vw), 190px);
    }
    .top_faq .fukidashi_lay:last-child {
        margin-bottom: min(calc(60 / var(--breakpoint) * 100vw), 60px);
    }
    .top_faq .fukidashi_lay .fukidashi {
        padding: 2em 3em;
        width: min(calc(550 / var(--breakpoint) * 100vw), 550px);
    }
    .top_faq .fukidashi_lay._reverse {
        padding-left: min(calc(190 / var(--breakpoint) * 100vw), 190px);
        padding-right: 0;
    }
    /** sec access **/
    .sec_staff_lay,.sec_recruit_lay,.sec_clinic_card {
        display: flex;
        justify-content: space-between;
    }
    .sec_staff_lay {
        margin-bottom: var(--minsize50);
    }
    .sec_staff_lay .staff_box {
        display: block;
        width: min(calc(266 / var(--breakpoint) * 100vw), 266px);
    }
    .staff_box .fukidashi {
        margin-bottom: 30px;
        text-align: center;
    }
    .staff_box .fukidashi::before {
        left: 50%;
        right: auto;
        top: auto;
        margin-left: -11px;
        bottom: -22px;
        transform: rotate(0);
    }
    .recruit_box_fuki {
        width: min(calc(360 / var(--breakpoint) * 100vw), 360px);
    }
    .recruit_box_link {
        width: min(calc(465 / var(--breakpoint) * 100vw), 465px);
    }
    .recruit_box_fuki .staff_box {
        padding-top: 90px;
    }
    .recruit_box_fuki .staff_box .fukidashi {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 2;
        padding: 2em;
    }
    .recruit_box_fuki .staff_box .fukidashi::before {
        left: 70%;
    }  
    .sec_clinic_hed {
        padding-top: 0;
        height: min(calc(125/ 1280 * 100vw), 125px);
    }
    .sec_clinic_hed .lead_ttl {
        padding: 0 min(calc(50 / 1280 * 100vw), 50px);
        font-size: min(calc(22 / 1280 * 100vw), 22px);
    }
    .sec_clinic_hed figure.hedpic_l {
        width: min(calc(220 / 1280 * 100vw), 220px);
    }
    .sec_clinic_hed figure.hedpic_r {
        width: min(calc(224 / 1280 * 100vw), 224px);
    }
    .sec_clinic_hed .lead_ttl::before {
        transform: rotate(-45deg);
    }
    .sec_clinic_hed .lead_ttl::after {
        transform: rotate(45deg);
    }
    .sec_clinic_card .card_link {
        background-color: var(--green1);
        display: block;
        width: min(calc(445 / var(--viewport) * 100vw), 445px);
        height: 280px;
    }
    .sec_clinic_card .card_link:nth-child(2) {
        margin-top: 0;
    }
}