@charset "UTF-8";
/* CSS Document */

@media screen and (max-width:599px){
	
	.pc{display: none;}
	.sp{display: initial}
	
	/* sub--------------------------- */
	.sub .mv{height: 60vw;}
	.sub .mv p{height: 100%;}
	.sub .mv img{max-width: none;}
	
	.sub main {padding: 10px 4vw 10vw;}
	.sub main:before{height: 50px;background-size: 100% 50px;top: -49px;}
	
	.sub main .content{padding: 6vw;}	
	.sub section{padding: 6vw 4vw;margin-bottom: 10vw;}
	.sub section:after{height: 7.5vw;bottom: -7.5vw;}
	
	.sub .block{flex-wrap: wrap; margin-bottom:12px; margin-top:1em;}
	
	.sub .block > *{flex-basis: 100%;}
	.sub .block > *:first-of-type{margin-right: 0;}
	
	.sub .block .photo{order: 0; margin-bottom: 10px;}
	.sub .block .txt{order: 1; width:100%;}
	.sub .block .photo img{width: 100%;}
	section .block div h3{ width:100%;}
		
	.sub main table.option tr{display: flex;flex-wrap: wrap;}
	.sub main table.option tr:not(:last-child){border-bottom: none;}
	.sub main table.option th,
	.sub main table.option td{display: flex;flex-basis: 50%;align-items: center;border-bottom: 1px solid #fff;padding: 10px 4vw;}
	.sub main table.option td{justify-content: flex-end;}
	.sub main table.option td:not(:last-child){border-right: none;}
	
	.contact form{display: block;}
	.contact .left{margin-bottom: 30px;}
	.contact .right{margin-bottom: 30px;}
	.contact textarea{height: 200px;}
	.contact .submit{position: static;display: flex;justify-content: space-between;}
	.contact .submit p{flex-basis: calc(50% - 5px);margin-right: 0;}

/*共有css*/
.sub main p {text-align: justify; letter-spacing: 0.04em; line-height: 1.9; margin-bottom:1em;}
.sub h1 {font-size:2em; margin-bottom:35px;}
.sub h1:after { margin: 20px auto 0;}
.sub h2{margin-bottom:1em; font-size:1.5em; letter-spacing:0.1em;}
.sub h2:not(:first-child), .sub h3:not(:first-child) { margin-top: 20px;}
.sub h3{font-size:1.32em; letter-spacing:0.05vw; margin-bottom:15px;}
.sub h3.mt:not(:first-child) {
    margin-top: 2em;
}
.sub h4{font-size:1.1em; margin-bottom:1em;}
.sub .pankuzu{margin-bottom:25px;}
.sub main ul.pankuzu li {letter-spacing:0.08vw;}
.sub .pankuzu li:not(:last-child):after { margin: 0 10px 0 10px;}
.sub main table.table_main th{width:20%; flex-basis:auto; flex-shrink: 0;}
.sub main table.table_main td{ flex-basis:auto; flex-grow: 1;}
.sub main ul.list li:before{padding-right:5px;}
.sub main ul.staff_css li{font-size:13px; line-height:160%; letter-spacing:0;}

/*当院について*/
.box50_wrap .box{width:100%; float:none; padding:0;}
.box50_wrap p span{position:absolute; top:8px; left:10px; font-size:2.5em;}
.box50_wrap h3{padding-left:70px;}
.box50_wrap{margin-bottom:2.5em;}
.sub main table.table_01 th{text-align:center; font-size:13px;}
.sub main table.table_01 td{font-size:13px;}
.concept_wrap p { font-size: 1.1em; letter-spacing: 0.1vw;}
.concept_wrap p.text_01 { font-size: 1.5em;}
 .concept_wrap table.table_01 th {width:4%;}
.sub main .concept_wrap p.text_01{font-size:1.23em; letter-spacing:0;}
.sub main p:not(:last-child) { margin-bottom: 10px;}
.box{padding:0;	}
.sub main .box50_wrap h3, .sub main .box h3 {padding-left: 0px; font-size: 1.3em; margin-top:1.5em;}
.sub main .concept  h3{padding-left: 70px!important;}
.box p span {position: absolute; top: -12px; left: 4px;}
.box_brown{padding:1em;}
.sub main .box_brown p.text{font-size:1.3em;}
.sub main table.d100 th,.sub main table.d100 td{width:100%; display:block; flex-basis:auto;}

	/*アクセス*/
.sub main table.table_time{width:100%; display: table; flex-wrap:auto;}
.sub main table.table_time tr{display: table-row;}
.sub main table.table_time th,
.sub main table.table_time td{padding:8px; font-size:11px; text-align:center; display:table-cell; }

.sub main table.fee th{width:63%; flex-basis:auto; flex-shrink: 0;}
.sub main table.fee td{width:37%; flex-basis:auto; flex-grow: 1;}
.sub .block .photo img.img_small{width:70%; margin:0 auto; display:block;}
 
    
    .card-2 {width: 100%;}
    .sp-break th{ width: 100%!important; display: block; text-align: center!important;}
    .sp-break td{ width: 100%!important; display: block;}
    
    section .white-wrap {padding: 2rem 1rem;}
    section .white-wrap h3{font-size: 1.2rem;}
    
    .dr-pic {height: 13.5rem;padding-left: 1.3rem;margin: 2rem 0 2rem;}
    .dr-pic img.dr {width: 11.5rem;height: 15rem;object-fit: cover;object-position: top;}
    .dr-pic .inner p {margin-bottom: 10px;}
    .dr-pic .inner p img {width:140px;}
    .dr-pic h3 {font-size: 1.8rem;}
    .dr-pic h3 + small {font-size: 1rem;}
    
    .sp-break th{flex-basis: 100%!important; display: block!important;}
    .sp-break td{flex-basis: 100%!important; display: block!important;}
    
    .chapter {column-count:1;}
    .chapter li {width: 100%;}
    
/*group*/
	.group{padding-top: 40px;}
	.group .logo{padding: 0 5vw;}
	.group article{display: flex;margin-bottom: 0px; width: 100%;flex-direction: column-reverse!important;}
	.group article .left{padding: 1vw; margin-bottom: 3rem;}
	.group .tel{text-align: center;}
	.group article ul li{display: block;margin-right: 0;font-size: 1.07em;}
	.group article ul li a{width:100%;margin: auto;padding: 15px 10px;}
	.group .bnr{margin-bottom: 30px;}
	.group .bnr a img{width: 100%;}
    .group .hour tr{display: inherit;}
	.group .hour tr th,
	.group .hour tr td{display: revert!important; padding: 10px 2.5vw;}
	
	.group article .right p{height: 100%; }
    .group article .right img{margin-bottom: 1rem;}
	.group article .right{height: 200px;overflow: hidden;}
    .group .tel {font-size: 8vw;}
	
	.case_img {
    width: 100%;
}

.flex {
    display: block;
}
	
.case_img02 {
    width: 100%;
}	
    
table.contact input {
    max-width: 100%!important;
}
table.contact input.input-wide {
    max-width: 100%!important;
}
table.contact input.input-conpact {
    max-width: 10%!important;
}
table.contact input.input-middle {
    max-width: 25%!important;
}

    .sub main table.contact th, .sub main table.contact td {
    display: block;
     flex-basis: 100%; 
    align-items: center;
    border-bottom: 1px solid #fff;
    padding: 10px 4vw;
    width: 100%;
    }
    
    .scroll-table table {
  display: block!important;
  overflow-x: scroll!important;
  white-space: nowrap!important;
  -webkit-overflow-scrolling: touch!important;
}
    
    
    .flex_box .card-2 .content-text h4{margin-top: 0;}   
    .flex_box .card-2 .content-text p.recruit,
    .flex_box .card-2 .content-text p.recruit01{height: auto;}
    
    .video video {width:100%;}　
 
    .case_category {
    display: block;
    justify-content: space-around;
    flex-wrap: wrap;}
.case_category li{width: 100%;}
    
.case_category li h3 {
    margin: 0 0 15px; 
    padding: 5px 0 10px; 
    line-height: 1; 
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    text-align: center; 
    font-size: 20px; }
    
    .category_btn li{ width: 100%;}
.category_btn li + li{ margin-top: 15px;} 
    
img.case {
    max-width: 100%;}            

.case_category a.btn-case {
    height: 50px;
    background: #fff;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 3px 3px 7px 0px rgba(0,0,0,0.25);
    position: relative;
    margin: 10px 0 5px;    
    width: 100%;
    text-align: center;}
	
	.sec-faq .gray-wrap{
		padding: 2rem 2rem 5.5rem;
        margin-bottom: 5rem;
	}
    
	.sec-faq .gray-wrap:before{
		width: calc(100% - 2rem);
        height: calc(100% - 2rem);
	}
	
	.sec-faq .gray-wrap h3{
		font-size: 1.4rem;
        height: 12rem;
        line-height: 1.5;
        justify-content: flex-start;
        padding-left: 1.2rem;
        margin-bottom: 3.8rem;
	}
	
	.sec-faq .gray-wrap h3:before{
		background-position: bottom -.5rem right -3.5rem;
	}
	
	.sec-faq .q-list{
		width: 19rem;
        margin: 0 auto;
        justify-content: space-between;
	}
	
	.sec-faq .q-list li{
		width: 48%;
        margin-right: 0;
	}
	
	.sec-faq .q-list li a{
		padding-top: 0rem;
	}
	
	.sec-faq .q-list li a:after{
		content: none;
	}
	
	.sec-faq .q-list li .q-box{
		display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        align-items: center;
        flex-direction: column-reverse;
	}
	
	.sec-faq .q-list li span{
		padding: 1rem 1rem 2rem;
		font-size: .8rem;
        background-image: url(../img/column/q-list-item02.png);
        background-size: 22rem;
        margin-bottom: .5rem;
        margin-bottom: .5rem;
	}
	
	.sec-faq .q-list li img{
		width: 100%;
        height: 6rem;
        object-fit: cover;
        object-position: center;
	}
	
	.sec-faq .q-list li:nth-of-type(n+2){
		margin-top: 3rem;
	}
	
	.sec-faq .q-list li:nth-of-type(2){
		margin-top: 0rem;
	}
	
	.sec-faq .gray-wrap + p{
		font-size: 1.2rem;
	}
	
	.sec-faq .gray-wrap + p strong:nth-of-type(1){
		display: block;
        text-align: center;
        line-height: 1.4;
	}
	
	.sec-faq .gray-wrap + p strong{
		font-size: 1.8rem;
	}
    
    .sub .cta_wrap{ padding: 1.2rem 0 0; }
    .tell_link a{ padding-left: 2.5rem;}
    .point_list li{ width: 49%; font-size: 12px; letter-spacing: 0;}
    .yoyaku_wrap{ padding-top: 0rem;}
    .yoyaku_wrap p { font-size: 14px; line-height: 1.7;}
    .yoyaku_wrap .point_text{ font-size: 17px;}
    .tell_link a{ padding-left: 2rem;}
    .cta_box .flex_wrap .img{ width: 100%; margin-bottom: 1rem; }
	.cta_wrap span.text{ top:-.8rem; font-size:2rem ; text-align: center; letter-spacing: 0; }
    .cta_box{ width: 100%; padding: 1.5rem 1.5rem 3.5rem; margin-bottom: 4rem; }
    .cta_box h2{ font-size: 20px; padding: .7rem 0; margin-bottom: 1.5rem; line-height: 1.5; }
    .cta_box .flex_wrap{ display: block; margin-bottom: 0;}
    .cta_box .flex_wrap .text{ width: 100%; padding-left: 0; }
    .cta_box .flex_wrap .text p{ font-size: 13px; line-height: 1.8; letter-spacing: .03rem; }
    .cta_box .tell_link{ width: 90%;  margin: 1.5rem auto 1rem; padding-top: .8rem; padding-bottom: 0.2rem}
    .cta_box .tell_link span{ font-size: 11px; top:-2.2rem; letter-spacing: .1rem; }
    .cta_box .tell_link a{ font-size: 20px;}
    .cta_box .tell_link a:before{ width: 19px; height: 19px; top:1px; }
    .cta_box .yoyaku_wrap a.btn{ width: 90%; height: 47px; font-size: 17px; padding-left: 0; }
    .yoyaku_wrap a.btn:before{ width: 21px; height: 21px;}
    .yoyaku_wrap a.btn:after{ top:2rem; width: 2rem; }
    .cta_box.short{ width:100%; padding: 1.5rem; margin: 0 auto 4rem; }
    .cta_box.short .yoyaku_wrap .point_text{ font-size: 15px; line-height: 1.5;}
    .cta_box.short .flex_wrap .img,.cta_box.short .flex_wrap .text{ width: 100%; margin-top: .5rem; }
    .cta_box.short .flex_wrap .img{ width: 100%; height: auto;  margin: 0 auto .7rem;}
    .cta_box.short .flex_wrap .img img{ width: 100%; height: auto;}
    
    
 /*20250827*/
.sub main p.text_style_red{font-size: 1rem;}   
    
}

/*20250617add 症例ページ調整用*/
.sub main .table_case th,.sub main .table_case td{
	justify-content: center;
}

