@media screen and (max-width: 1025px){
    /* .sch_repeat > div:nth-child(n+1){
        min-width: auto;
    } */
    h2{
        font-size: 1.8rem;
    }
    .mvgal_des{
        width: 60%;
    }
    .mvgal_wrap{
        transform: none !important;
    }
}
@media screen and (max-width: 768px){
    .barline{
        display: none;
    }
    .fix_bg figure{
        height: 100%;
        top: 0;
    }
    .about_title_des figure {
        height: 65vw;
        max-height: initial;
    }
    .post_stick{
        position: sticky;
    }
    #pageBox.leave{
        transform: none;
    }
    header.scroll .navphone,
    .navphone{
        position: absolute;
        bottom: 3rem;
        top: initial;
        left: 7vw;
        transform: none;
    }
    .ho_main_visual .mvgal_text {
        display: block;
        height: auto;
        width: 100%;
        background-color: var(--ah-green);
        padding: 5rem 2rem;
        text-align: center;
    }
    .mvgal_des{
        width: auto;
        margin: 0 auto;
        max-width: 320px;
        font-size: 1.15rem;
    }
    .mvgal_img {
        position: relative;
        width: 100%;
        height: 56vw;
        margin: -2px 0 0;
    }
    .ho_main_visual {
        max-height: initial;
        height: auto;
    }
    .mvgal_cover {
        left: 22%;
        top: 90%;
    }
    .mvgal_img:before,
    .mvgal_img:after{
        display: none;
    }
    .navactive{
        opacity: 0;
        pointer-events: none;
    }
    .navactive.show{
        opacity: 1;
        pointer-events: initial;
    }
    header.scroll .eslogo svg{
        width: 3rem;
    }
    .page_normal {
        padding: 8rem 0 0;
    }
    .mvgal_text h1 {
        font-size: 3rem;
        text-shadow: 0 0 10px rgba(0,0,0,.3);
    }
    .schedule{
        flex-direction: column;
        padding: 5rem 0 2rem;
    }
    .sch_header{
        min-width: auto;
    }
    .sch_wrap{
        padding: 0 0.5rem 3rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .sch_table{
        grid-template-columns: 7rem repeat(7, minmax(1.75rem, 1fr));
        min-width: 100%;
    }
    .sch_time{
        padding: 1rem 1rem 1rem 0;
        font-size: 0.9rem;
    }
    .sch_repeat h3{
        font-size: 0.95rem;
    }
    .sch_dots > div{
        padding: 1rem 0.25rem;
    }
    .page_normal.contact .schedule{
        padding: 0;
    }
    .sch_wrap::-webkit-scrollbar{
        background-color: #e6e6e6;
        height: 4px;
        border-radius: 10px;
    }
    .sch_wrap::-webkit-scrollbar-thumb{
        background-color:var(--ah-green);
        border-radius: 10px;
    }
    .footer-row {
        flex-direction: column;
        gap: 2rem;
    }
    .footer-col-left,
    .footer-col-center,
    .footer-col-right {
        flex: none;
        width: 100%;
        text-align: center;
    }
    .footer-col-right {
        text-align: center;
    }
    .footer-logo-link {
        display: block;
        text-align: center;
    }
    .footer-logo {
        margin-left: auto;
        margin-right: auto;
    }
    .footer-socials {
        justify-content: center;
    }
    .footer .footer-heading {
        text-align: center;
    }
    .footer-links-col2 {
        text-align: center;
    }
    .footer-links-col2 li {
        display: block;
        margin: 0 0 0.35rem;
    }
    .hmvser_wrap > li {
        padding: 0 2rem 4rem 0;
    }
    .cliintro_top figure:nth-child(2) {
        margin: -2rem 2rem 0 0;
    }
    .cliintro_top figure:nth-child(1) {
        margin: 12rem 0 0;
    }
    .cliintro_btm figure:nth-child(1) {    
        margin: 5rem 0 2rem;
    }
    .cliintro_btm figure:nth-child(3) {
        margin: 3rem 0;
    }
    .clinteam li {
        width: 45%;
    }
    .clinteam li:nth-child(n+2) {
        margin-top: -16rem;
    }
    .the_post{
        flex-direction: column;
    }
    .the_post_thumb,
    .the_post_text{
        width: 100%;
        padding: 0 0 .5rem;
    }
    .post_stick{
        top: 2rem;
    }
    .the_post figure{
        height: 38vw;
    }
    .ser_equip_wrap,
    .service_list{
        width: 100%;
    }
    .service_list li{
        width: 46%;
    }
    .service_list h2{
        font-size: 1.4rem;
    }
    .ser_equips {
        width: 50%;
        padding: 1rem;
    }
    .ser_equips > div{
        padding: 0;
    }
    .ser_equip_sec {
        padding: 5rem 0;
    }
    .faq_sec {
        padding: 0 0 3rem;
    }
}
@media screen and (max-width: 550px){
    #desklogo,
    .service_list li:first-child > div:before,
    .vertical_tag_des{
        display: none;
    }
    #mobilelogo{
        display: block;
    }
    #navopen{
        top: 1rem;
        right: 1rem;
    }
    #navopen svg{
        width: 3rem;
        height: 3rem;
    }
	.ser_equips figure {
		height: 50vw;
	}
    .eslogo{
        left: 1rem;
        top: 1.1rem;
    }
    header.scroll .eslogo svg,
    .eslogo svg{
        width:17rem;
    }
    .eslogo .text{
        transition: opacity .3s;
    }
    header.scroll .eslogo .text{
        opacity: 0;
    }
    .hmv_intro_obj > div{
        width: 100%;
    }
    .hmv_intro_obj{
        flex-direction: column;
    }
    .hmv_sec_intro{
        padding: 0;
    }
    .hmv_intro_obj:last-child > div:first-child{
        order: 1;
    }
    .mvgal_img figure{
        background-position: left 70%;
    }
    /* 動画を横幅に合わせて表示 */
    .top-movie-9182 {
        height: auto;
    }
    .top-movie-video {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        height: auto;
        transform: none;
    }
    .mvgal_cover {
        display: none;
    }
    .ho_main_visual .mvgal_text {
        padding: 17vh 2rem 2rem;
    }
    .es_wrap {
        padding: 0 1.25rem;
    }
    .hmv_intro_obj:last-child > div:first-child,
    .hmv_intro_obj:first-child > div:first-child{
        padding: 0 0 2rem;
    }
    .fixbg_text {
        font-size: 1.4rem;
        position: relative;
        left: initial;
        top: initial;
        transform: none;
        padding: 2rem;
        z-index: 1;
    }
    .fix_bg {
        height: 100%;
        position: absolute;
        z-index: 0;
        top: 0;
    }
    .fixbg_wrap{
        padding: 20vh 0;
    }
    .fix_bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    #esnav a,
    #esnav a:link,
    #esnav a:visited,
    #esnav a:hover,
    #esnav a:focus {
        color: #fff !important;
        font-size: clamp(0.7rem, 2.2vw, 0.95rem);
        white-space: nowrap;
        padding: 0.35em 0;
        line-height: 1.25;
    }
    #esnav li {
        margin: 0;
        padding: 0;
    }
    #esnav nav {
        width: 80vw;
    }
    .navphone,
    #esnav ul {
        left: 3rem;
    }
    #esnav ul {
        padding: 0.5rem 0;
    }
    #esnav .navphone a{
        font-size: 1rem;
    }
    /* スマホでも全項目にスタッガーアニメーション（上から順） */
    #esnav .navitem:nth-child(1) a { transition-delay: 0.7s; }
    #esnav .navitem:nth-child(2) a { transition-delay: 0.8s; }
    #esnav .navitem:nth-child(3) a { transition-delay: 0.9s; }
    #esnav .navitem:nth-child(4) a { transition-delay: 1s; }
    #esnav .navitem:nth-child(5) a { transition-delay: 1.1s; }
    #esnav .navitem:nth-child(6) a { transition-delay: 1.2s; }
    #esnav .navitem:nth-child(7) a { transition-delay: 1.3s; }
    #esnav .navitem:nth-child(8) a { transition-delay: 1.4s; }
    #esnav .navitem:nth-child(9) a { transition-delay: 1.5s; }
    #esnav .navitem:nth-child(10) a { transition-delay: 1.6s; }
    #esnav .navitem:nth-child(11) a { transition-delay: 1.7s; }
    #esnav .navitem:nth-child(12) a { transition-delay: 1.8s; }
    #esnav .navitem:nth-child(13) a { transition-delay: 1.9s; }
    #esnav .navitem:nth-child(14) a { transition-delay: 2s; }
    .hmvser_wrap > li{
        width: 50%;
        padding: 0 1rem 4rem;
    }
    .hser_title h2 {
        font-size: 1.4rem;
    }
    .hmvser_wrap {
        margin: 0 -1.5rem;
    }
    .hmv_service {
        padding: 5rem 0 2rem;
    }
    /* お知らせ一覧：スマホで左右に余白（Bootstrap px-4 で 1.5rem、px-md-0 で PC は main.css の指定に任せる） */
    .news_section .news_wrap {
        flex-direction: column;
    }
    .news_section .news_latest {
        flex: none;
        max-width: none;
    }
    .news_section .news_item {
        flex-wrap: wrap;
    }
    .news_section .news_item_content {
        flex-basis: 100%;
        width: 100%;
        order: 3;
    }
    .news_section .news_date {
        order: 1;
    }
    .news_section .news_category {
        order: 2;
    }
    .news_section .news_excerpt,
    .news_section .news_latest_excerpt {
        display: none !important;
    }
    /* 採用情報：スマホでセクション進入時の拡大感を抑える */
    .recruit_scroll_section {
        touch-action: pan-y;
        overflow: hidden;
        -webkit-overflow-scrolling: touch;
    }
    .recruit_panel_container {
        height: 120vh;
        height: 120dvh; /* アドレスバー変動でガタつきにくくする */
        will-change: transform;
    }
    .recruit_panel_container:last-child {
        height: 100vh;
        height: 100dvh;
    }
    .recruit_panel {
        flex-direction: column;
        height: 100vh;
        height: 100dvh;
        min-height: 100vh;
        min-height: 100dvh;
    }
    .recruit_panel .recruit_left {
        flex: 0 0 40%;
        min-height: 0;
    }
    .recruit_panel .recruit_right {
        flex: 1 1 0;
        min-height: 0;
        width: 100%;
        overflow-y: auto;
        padding: 2rem 1.5rem;
        -webkit-overflow-scrolling: touch;
    }
    .recruit_panel .recruit_left img {
        min-height: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
    .recruit_slide_title {
        font-size: 1.3rem;
    }
    .contact_section {
        flex-direction: column;
    }
    .contact_section .contact_left,
    .contact_section .contact_right {
        flex: 0 0 auto;
        width: 100%;
    }
    .contact_section .contact_left {
        min-height: 220px;
    }
    .contact_section .contact_right {
        padding: 2rem 1.5rem;
    }
    .footer-map {
        height: 320px;
    }
    .footer-overlay {
        padding: 2rem 1rem;
    }
    .footer .footer-heading {
        font-size: 1rem;
    }
    .footer .footer-inner,
    .footer .es_wrap.footer-inner {
        padding: 0 2rem;
    }
    .footer-links-col2 {
        column-count: 1;
        text-align: center;
    }
    .footer-links-col2 li {
        display: block;
        margin: 0 0 0.35rem;
    }
    .footer-copyright {
        margin-top: 1.5rem;
        font-size: 0.75rem;
    }
    .footer-socials-banners {
        align-items: center;
    }
    .footer-socials-banners img {
        width: 120px;
        height: 38px;
    }
    .navactive {
        left: 1rem;
        bottom: 1.5rem;
    }
    header.scroll .navphone, .navphone{
        left: 3rem;
    }
    .big_img_title {
        padding: 0 0 0 1.5rem;
        margin: 0 0 1rem;
    }
    .big_img_title figure{
        height: auto;
    }
    .big_img_title .mvgal_text {
        left: initial;
        bottom: initial;
        position: relative;
        width: 60%;
    }
    .big_img_title img {
        position: absolute;
        object-fit: cover;
        height: 100%;
        margin: 0;
        top: 0;
        left: 0;
    }
    .big_img_title figure {
        padding: 3rem 0 3rem 1rem;
    }
    .page_normal .mvgal_text h1{
        font-size: 2.4rem;
    }
    .about_title_des .es_wrap {
        padding: 2rem;
        width: 100%;
    }
    .clinic_team h2, .clinic_intro h2{
        font-size: 2rem;
        margin: 0 0 2rem;
    }
    .clinic_intro .es_wrap {
        padding: 2rem 2rem 0;
    }
    .clinic_team .es_wrap:after, .clinic_intro .es_wrap:after{
        right: 2rem;
    }
    .mvgal_text h1{    
        font-size: 1.5rem;
    }
    .cliintro_top,
    .cliintro_btm{
        flex-direction: column;
    }
    .cliintro_top > div:nth-child(1),
    .cliintro_top > div:nth-child(2){
        width: 100%;   
    }
    .cliintro_btm > div:nth-child(2){
        width: 100%;
    }
    .cliintro_top figure:nth-child(1){
        margin: 0;
        width: 100%;
    }
    .cliintro_top figure:nth-child(2) {
        margin: 2rem 0 0;
        width: 100%;
    }
    .cliintro_btm > div:nth-child(1) {
        order: 2;
        width: 100%;
        padding: 0;
    }
    .cliintro_btm figure:nth-child(1) {
        margin: 0 0 2rem;
        width: 100%;
    }
    .cliintro_btm figure:nth-child(3) {
        margin: 2rem 0 0;
        width: 100%;
    }
    .clinic_team {
        padding: 2rem 0;
        margin: 0 0 5rem;
    }
    .clinteam {
        width: 100%;
    }
    .clinteam li,
    .clinteam li:nth-child(n+2) {
        margin: 0 0 2rem;
        width: 100%;
    }
    .clinteam figure{
        height: 100vw;
    }
    .posts_wrap aside, .posts_wrap article {
        width: 100%;
        padding: 2rem 0;
    }
    .posts_wrap > div{
        flex-direction: column;
    }
    .blog_title h1 {
        font-size: 2rem;
    }
    .the_post figure{
        height: 51vw;
        margin: 0 0 1rem;
    }
    .the_post_text h3 {
        font-size: 1.4rem;
        margin: 0 0 .5rem;
    }
    .the_post{
        margin: 0 0 2rem;
    }
    .single_case{
        width: 100%;
        height: 52vw;
    }
    .single .post_stick{
        padding: 0;
    }
    .single .posts_wrap article{
        padding: 2rem 0 0;
    }
    .rela_section {
        padding: 0rem 0 5rem;
    }
    .related_wrap {
        width: 100%;
    }
    .related_post .post_link{
        position: relative;
        bottom: initial;
        right: initial;
        margin: 1rem 0 0;
    }
    .related_post h3{
        font-size: 1.4rem;
    }
    .service_list li{
        width: 100%;
    }
    .service_list figure{
        height: 52vw;
    }
    .service_list li:nth-child(even),
    .service_list li:nth-child(n+2){
        margin: 0 0 2rem;
    }
    .ser_equip_sec {
        padding: 0 0 2rem;
    }
    .ser_equip_wrap{
        margin: 0;
    }
    .ser_equips {
        width: 100%;
        padding: 0 ;
    }
    .ser_equips h3{
        height: auto;
    }
    .ser_equips > div {
        padding: 1rem 0;
        margin: 1rem 0;
    }
    .faq_objects {
        width: 100%;
    }
    .faq_objects span {
        top: .8rem;
        right: 1rem;
    }
    .faq_quest{
        padding: 1rem 2.5rem 0 1rem;
    } 
    .faq_answer{
        padding: 1rem 1rem 0;
    }
    .ser_equips figcaption {
        opacity: 1;
        position: relative;
        background: var(--ah-green);
    }
    .ser_equips span {
        opacity: 1;
        transform: translateY(0);
    }
    .contact_info{
        flex-direction: column;
        padding: 5rem 0;
    }
    .contact_info h2 {
        margin: 0 0 2rem;
        font-size: 1.4rem;
    }
    .contact_info td:first-child{
        min-width: 100px
    }
    .contact_info td:last-child {
        width: auto;
        word-break: break-all;
    }
    .contact_info figure img {
        width: 270vw;
        max-width: none;
    }
    .contact_info figure {
        overflow-x: scroll;
        margin: 2rem 0 0;
        padding: 0 0 2rem;
        background: #fff;
    }
    .contact_info figure::-webkit-scrollbar{
        background-color: #e6e6e6;
        height: 4px;
        border-radius: 10px;
    }
    .contact_info figure::-webkit-scrollbar-thumb{
        background-color:var(--ah-green);
        border-radius: 10px;
    }
    .sch_wrap {
        padding: 0 0 3rem;
    }
    #loadFirst svg{
        width: 8rem;
        height: 8rem;
    }
    #loadsec svg{
        width: 8rem;
    }
    #loadThird svg{
        width: 8rem;
    }
}
/* 夜間診療バナー：スマホでは非表示 */
@media screen and (max-width: 768px) {
    .night-banner {
        display: none !important;
    }
    .reservation_cal_body {
        flex-direction: column;
    }
    .calendar_side {
        flex: none;
        width: 100%;
        max-width: 100%;
    }
    .calendar_main {
        width: 100%;
    }
}
@media screen and (max-width: 375px){
    
}