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

@media screen and (max-width:599px){
	
	section{ padding-left: 5vw; padding-right: 5vw; }
	
	main h2.line{ font-size: 3rem; }
	
	.mv{ height: 540px; }
	.mv .txt{
		width: min(78vw, 360px);
		top: auto;
		bottom: 28px;
		left: 50%;
		white-space: nowrap;
		transform: translateX(-50%);
		padding: 24px 18px;
		background: linear-gradient(135deg, rgba(120,180,230,.18), rgba(255,255,255,.08));
		border-color: rgba(255,255,255,.4);
		box-shadow: 0 18px 46px rgba(32, 78, 110, .16);
		backdrop-filter: blur(.8px) saturate(108%);
		-webkit-backdrop-filter: blur(.8px) saturate(108%);
	}
	.mv .txt .min{ font-size: 2.2rem; margin: 5px 0 10px; }
	.mv .txt .logo img{ width: 118px; }
	.mv ul video{
		object-position: 64% 42%;
		transform: scale(1.32);
		transform-origin: 66% 45%;
	}
	
	.bg-wrap{ padding: 5vw 0 140px; }
	.bnr{ position: static; display: block; padding: 0 5vw; margin-bottom: 30px; }
	.bnr > div:not(:last-child){ margin-right: 0; margin-bottom: 10px; }
	.bnr a{ width: 100%; }
	.bnr .min{ font-size: 4.5vw; }
	.bnr small{ font-size: 1.2rem; }
	.bnr .covid a{ padding-left: 36vw; }
	.bnr .covid a:before{ width: 18vw; height: 18vw; left: 9vw; }
/*	.bnr .covid a:before{ width: 28vw; height: 18vw; left: 4vw; }*/
	.bnr .line a{ padding-left: 36vw; }
	.bnr .line a:before{ width: 18vw; height: 18vw; left: 9vw; }
	
	.news_area{width: 90vw;padding: 20px 5vw; margin: 0 auto 50px;}
	.news{  display: block;  }
	.news ul{ width: 100%; }
	.news ul a span{ display: block; }
	.news_area--seo{ box-sizing: border-box; width: calc(100vw - 95px); padding: 20px 4vw; margin-left: 5vw; margin-right: auto; }
	.news_area--seo .news{ display: block; }
	.news_head{ margin-bottom: 12px; }
	.news.news .news_list{ width: 100%; }
	.news_list li{ display: block; padding: 16px 0; }
	.news_list .date{ display: block; margin-bottom: 6px; }
	.news_list__image{ width: 100%; margin: 10px 0 8px; border-radius: 6px; }
	.news_links{ display: grid; grid-template-columns: 1fr; justify-content: stretch; gap: 10px; }
	.news_links a{ width: 100%; }

	.local-seo{ padding: 44px 0 54px; }
	.local-seo .content{ box-sizing: border-box; width: calc(100vw - 86px); max-width: none; margin-left: 4vw; margin-right: auto; padding: 0; }
	.local-seo h2.line{ font-size: clamp(2.25rem, 6.6vw, 2.65rem); line-height: 1.32; margin-bottom: 26px; }
	.local-seo h2.line small{ font-size: 2.4rem; line-height: 1.2; margin-bottom: 8px; }
	.local-seo h2.line span{ display: block; padding: 0; line-height: 1.28; }
	.local-seo__body{ font-size: 1.38rem; line-height: 2.05; }
	.local-seo__body p + p{ margin-top: 1.2em; }
	.local-seo__links{ margin-top: 26px; }
	.local-seo__links a{ min-height: 44px; padding: 10px 12px; }
	
	.greeting{ padding: 350px 0 0; margin-bottom: 60px; }
	.greeting:before{ width: calc(100% - 5vw); height: 500px; background: url(../img/kitayama-shoot/webp/doctor-kitayama-desk-20260613.webp) center 38% / cover no-repeat;}
	
	.greeting .content{ width: 95vw; display: block; background: rgba(255,255,255,.95);
		padding: 60px 5vw; margin-right: 0; }
	.greeting .box{ width: 100%; }
	.greeting .content:after{ content: none; }
	.greeting h2{ font-size: 6vw; margin-bottom: 60px; }
	
	.greeting .tit p{ margin-bottom: 30px; }
	.greeting h3{ margin-bottom: 30px; }
	.greeting .message{margin-bottom: 30px;}
	.greeting ul{ position: static; display: block; }
	.greeting ul li:not(:last-child){ margin-right: 0; margin-bottom: 10px; }
	.greeting ul li.btn a{ margin: auto; transform: translateX(-5vw); }
	
	.info{ display: block; padding: 0 5vw; }
	.info .box:nth-child(1){ margin-bottom: 30px; }
	.info .box .btn a{ margin-right: auto; }
	.info .box table th, .info .box table td{ padding: 6px 2vw; font-size: 1.3rem; }
	
	.feature{ padding-top: 360px; padding-bottom: 50px; }
	.feature h2{ transform: none; margin-bottom: 0; position: absolute; right: 5vw; top: -65px; z-index: 1; }
	.feature:after{ width: 100%; height: 500px; top: 0; background: url(../img/index/webp/feature_sp.webp) center / cover;}
	.feature .wrap{ width: 100%; }
	.feature .in{ display: block; width: 100%; margin-bottom: 40px; }
	.feature .box{ margin-bottom: 20px; }
	.feature ul{ display: block; position: static; }
	.feature ul li:not(:last-child){ margin: 0; margin-bottom: 10px; }
	.feature li.btn a{ margin: auto; }
	
	.treatment{ padding: 100px 0; }
	.treatment .content{ padding: 100px 5vw 50px; }
	.treatment .content:after{ width:100%; left: 0; transform: none; }
	.treatment h2 + p{ margin-bottom: 40px; }
	.treatment .in{ margin-bottom: 40px; }
/*	.treatment .in .box{ flex-basis: calc(50% - 5px); }*/
	.treatment .in .box{ flex-basis: calc(100%); }
	.treatment .in .box:nth-child(n + 3){margin-top: 10px;}
	.treatment h3{ font-size: 5vw; height: 35vw; }
/*	.treatment .in .box p{ padding: 15px 4vw 20px; font-size: 1.3rem; line-height: 1.6; }*/
	.treatment .in .box p{ padding: 15px 4vw 20px; font-size: 1.3rem; line-height: 1.6; margin-bottom: 2em;}
	
	.treatment .btn{ position: static; }
	.treatment .btn a{ margin: auto; }
	
	.align{ background-size: 100%; background-position: top 70px center; padding: 60vw 5vw 85px; }
	.align .in{ width: 100%; padding: 5vw; justify-content: center; }
	.align .in .box{ flex-basis: calc(50% - 10px); }
	.align .in .box:nth-child(odd){ margin-right: 15px; }
	.align .in .box:nth-child(n + 3){margin-top: 20px;}
	.align h3 + p{ font-size: 1.2rem; letter-spacing: 0.05em; font-feature-settings : "palt"; }
	.align ul{ width: 100%; }
	.align ul li{ padding-left: 50px; position: relative; font-size: 1.6rem; }
	.align ul li:before{ position: absolute; left: 18px; top: 14px; }
	.align ul + p{  }
	
	.case{ padding: 80px 5vw 0; }
	.case:after{ height: calc(100% + 115px); }
	.case .box{ display: block; }
	.case .box .photo{ margin-right: 0; margin-bottom: 30px; }
	.case h3{ font-size: 2.2rem; }
	.case h3 + p{ margin-bottom: 30px; }
	.case .btn a{ margin: auto; }
	
	.facility{ padding: 95px 5vw 95px; }
	.facility .txt{ width: 100%; }
	.facility .btn a{ margin: auto; }
	.facility:after{ width: 95vw; height: 355px; display: block; position: static; margin-top: 50px; }
	
	/**1110追加**/
	.h-nav {padding: 70px;}
	
	
/*	20241011 追加（spメニュー）*/

    header ul.cv{
        display:block;
    }
header label, header ul.cv li a {
    width: 65px;
    height: 65px;
    font-size:1rem;
    }
header ul.cv {
    top: 83px;
    }
    table.info_table th {
    width: 58%;
    text-align: center;
    box-sizing: border-box;
    font-size: 13px;
    height: 45px;
    vertical-align: middle;
    font-weight: bold;
	padding: 1em;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	background: #78B4E6;
	color: #FFFFFF;
}
	
table.info_table th {
    width: 45%;
    text-align: center;
    box-sizing: border-box;
    font-size: 13px;
    height: 45px;
    vertical-align: middle;
    font-weight: bold;
	padding: 1em;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	background: #78B4E6;
	color: #FFFFFF;
}
	
table.info_table td {
    font-size: 14px;
	padding: 1em;
	text-align: center;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;

}
	
table.info_table td {
    font-size: 14px;
	padding: 1em;
	text-align: center;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;

}
	
	/*260218ATOP症例スライド*/
					.case#guideline .in{
					padding: 3rem 2rem;
				}
				
				.case#guideline .case-slider .background_case{
					width: 300px;
					padding: 2rem;
				}
				.case#guideline .box{
					margin-bottom: 0;
				}
				.case table th{
					font-size: 1.2rem;
				}
				
				.case#guideline .btn a{
					width: 250px;
				}
	.case#guideline .case-carousel{
    grid-template-columns: 1fr 3fr 1fr;
  }
    
}
