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

@media screen and (max-width:768px){
	/* mv---------------------------- */
	.mv_wrap .catch_text1{ font-size:24px; line-height:1.5; letter-spacing:0.13em; padding-right:10px; margin:45px 0 10px; text-align:right;}
	.mv_wrap .catch_text2{ font-size:15px; line-height:1.9; letter-spacing: 0.1em; padding-right:10px; margin:0 0 40px; text-align:right;}
	.mv_wrap{ padding:70px 0 10px;}
	.mv{ width:calc(100% - 20px); height:250px; border-radius: 10px 0 0 10px;}
	.mv img:not([src*="sp"]){display: none;}
	.mv img[src*="sp"]{display: block; transform: scale(1.34); }
	.mv .catch_text{ text-align:center; bottom:150px; left:0; right:0; margin:auto; font-size:28px; line-height:1.2;}
	.mv .catch_text span{ line-height:1.6; display:inline-block; margin-top:5px; text-align:center; letter-spacing:0;}

	.swiper-pagination{display:none;}
	.slide-img img{ display: block; width: calc(100% + 35px); max-width: none;}
	
	.info{width:100%; padding:0 20px; display:block; margin:0;}
	.info img{width:100%;}
	.info ul{ width:calc(100% - 50px); margin:15px auto; padding-left:20px;}
	.info ul:before{ left:0; width:1px; height:67.5px;}

	/* news---------------------------- */
	.news{width:100%; margin:35px 0 45px; padding:0 10px;}
	.news h2{ margin-bottom:15px;}
	.news dl{ width:100%; height:162.5px; padding:20px 0 0; display:block;}
	.news dl span{ top: 60%; transform: translateY(-50%); right:auto; left:50%; transform: translateX(-50%);}
	.news dt{margin-right:0;}
	.news dd{display: block; width: 310px; letter-spacing:0.02em; margin:0 auto; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}

	/* infection---------------------------- */
	.infection{ width:100%; margin:0 auto 40px; padding:0 20px;}
	.infection .flex_wrap{ width:100%; justify-content:flex-start;}
	.infection .flex_wrap img{width:100px; height:auto; margin-right:20px;}
	.infection h2{font-size:16px;}
	.infection .btn{margin:20px 0 0;}

	/* concept---------------------------- */
	.bg_001{ height:225px;}
	.concept{ width:100%; margin:-20px auto 60px; padding:700px 20px 0; }
	.flex_wrap{ display:block;}
	.concept h2{font-size:30px; line-height:1.4; margin:20px 0 30px;}
	.concept h3{ margin-bottom:30px;}
	.concept .text_box{ width:100%;}
	.concept .img_box{ bottom:auto; top:-750px; left: 50%; transform: translateX(-50%); width:100%;}
	.concept .img_box img{ margin-bottom:3px; border-radius:3vw;}
	.concept .img_box .flex_wrap { display:flex;}
	.concept .img_box .flex_wrap img{width:calc(50% - 5px); height:auto;}
	.concept .btn{margin-top:50px;}

	/* movie---------------------------- */
	.movie{ width:100%; height:auto; margin:0; padding:60px 47px 60px; background:url(../img/index/movie_bg_1_sp.jpg) no-repeat 50% 50%; background-size:cover;}
	.movie h2{ font-size:20px; padding-top:35px; margin-bottom:35px;}
	.movie p.text{font-size:22px; line-height:1.5; margin-bottom:45px;}
	.movie .flex_wrap{width:100%; margin:0; display:block;}
	.movie .movie_img,.movie .movie_img:first-child{width:100%; height:154px;}
	.movie .movie_img,.movie .movie_img:first-child{margin: 0;}
	.movie .movie_img + .movie_img{margin-top:15px;}

	/* about---------------------------- */
	.about{padding:60px 0 40px; z-index:1; background:url(../img/index/about_bg_1_sp.jpg) no-repeat 0% 100px; background-size:100% 100%;}
	.about h2{font-size:30px; line-height:1.5; margin-bottom:30px;}
	.about h3{ font-size:22px; height:70px; line-height:1.5; margin-bottom:13px;}
	.about h3 span{margin-right:15px;}
	.about h3:before,.about h3:after{ content:none;}
	.about .flex_wrap{ width:100%; margin:0 0 60px; padding:0; display:block; justify-content:flex-start; align-items:flex-start;}
	.about .flex_wrap span.img{ top:240px; right:0; width:215px; height:auto;}
	.about .flex_wrap .img_box{width:calc(100% - 20px); height:200px; border-radius:0 10px 10px 0; background:url(../img/index/about_001.jpg) no-repeat 50% 50%; background-size:cover;}
	.about .text_box{ position:relative; width:100% !important; margin-left:0; padding:40px 20px 0 20px;}
	.about .wrap{width:100%; margin:0 auto;}
	.about .wrap .flex_wrap2{ width:100%; padding:0 20px; margin-bottom:35px; display:block; }
	.about .wrap .flex_wrap2 .box1{margin-bottom:18px;}
	.about .wrap .flex_wrap2 .box1 p{ width:100%; padding-left:0; line-height:2;}
	.about .wrap .flex_wrap2 .img_box{width:100%; height:auto; margin-top:0px; border-radius:10px; overflow:hidden; z-index:1;}
	.about .wrap .flex_wrap2 .img_box img{ border-radius:10px;}
	.about .btn{ width:calc(100% - 40px);}

	/* dr---------------------------- */
	.dr {padding:50px 0 60px; background-image:url(../img/index/dr_bg_1_sp.jpg); background-repeat:no-repeat; background-size:100% 100%; background-position:0 0;}
	.dr h2{ font-size:28px; margin:0 0 40px; padding:0 20px; line-height:1.5; letter-spacing:0.01em;}
	.dr h3{line-height:1.3; padding:0 20px; margin-bottom:5px;}
	.dr h4{ font-size:20px; margin-bottom:30px;}
	.dr p.text{ padding:0 20px; margin-bottom:35px;}
	.dr p{font-size:15px; line-height:1.95;}
	.dr .img_wrap{ margin-bottom:70px;}
	.dr .flex_wrap{ width:100%; margin:0 auto;}
	.dr .flex_wrap .box1{width:100%; margin-right:auto;}
	.dr .flex_wrap .box1 img{ width:calc(100% - 20px); margin:0 0 15px auto; border-radius:10px 0 0 10px;}
	.dr .flex_wrap .box1 p{padding:0 20px;}
	.dr .btn{ width:calc(100% - 40px); margin:30px auto 0;}
	.dr .box2{width:calc(100% - 40px); margin:0 auto; padding:50px 0 40px;}
	.dr .flex_wrap2{ width:100%; margin:0 auto; display:block;}
	.dr .flex_wrap2 .text_box{width:calc(100% - 40px); margin:0 auto 30px;}
	.dr .flex_wrap2 .img_box{width:calc(100% - 40px); margin:0 auto;}

	/* clinic---------------------------- */
	.clinic{ padding:60px 20px 10px;}
	.clinic h2{font-size:30px; margin:0 0 30px;}
	.clinic .box1{ width:100%; margin:0 0 50px; display:block;}
	.clinic .box1 p.text{font-size:22px; margin:0 0 40px;}
	.clinic .box1 .text_box{ width:100%; height:auto;}
	.clinic .box1 img{width:100%; margin-bottom:25px;}
	.clinic dl{ padding:18px 0 20px;}
	.clinic .btn{position:inherit; margin:20px 0 0;}
	.clinic .box1 p.text:before{content:none;}
	.clinic .box1 p.text:after{ left:210px; width:1000px;}
	.clinic .box1 p.text2:after{ left:167px; width:1000px;}

	/* tour---------------------------- */
	.tour{width:100%; height:125px; overflow:hidden;}
	.loop-slide li{width:235px !important; height:125px;}
    
    /* thoughts---------------------------- */
	.thoughts{ padding:50px 0 50px;}
	.thoughts p.text{ font-size:16px; margin:0 0 17vw;}
	.thoughts p.text:after{ top:40px; height:100px;}
	.thoughts .wrap{ width:100%; height:auto; padding:0 0 70px; background:#5B5557 url(../img/index/thoughts_002.png) no-repeat 140% 50%; background-size:238px 458px;}
	.thoughts .flex_wrap{ width:100%; margin:0; display:block;}
	.thoughts .box1{ width:100%; height:auto; padding-top:80px;}
	.thoughts .box1 p{ font-size:30px; text-align:center; margin-bottom:50px; text-shadow: 0px 0px 10px #e6cbd0;}
	.thoughts .box2{ width:100%; height:auto; padding:0 33px;}
    .thoughts .box2 h3{font-size: 6vw;}
	.thoughts .box2 p{ font-size:15px; letter-spacing:0.02em; line-height:1.8; margin-bottom:30px;}
	.thoughts .btn{ margin:70px auto 0;}
	
	
	.jidv_banner {
    margin: 50px auto 0;
    text-align: center;
    padding: 20px 15px 20px;
    background-image: url(../../img/index/jidv_back.jpg);
}
	
	
	.jidv_banner h2 {
    color: #000000;
    margin: 10px 0;
    font-weight: 500;
    font-size: 1.6rem;
    padding: 30px;
}
	
	.jidv_banner p {
    text-align: center; font-size: 14px;}

}

.jidv_banner .small_txt h3 {
    color: #000000;
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 15px;
}

@media screen and (max-width:599px){
	.concept{ width:100%; margin:-20px auto 60px; padding:87vw 20px 0; }
	.concept .img_box{ bottom:auto; top:-90vw; left: 50%; transform: translateX(-50%); width:100%;}
}
@media screen and (max-width:320px){
	.treatment ul li{ font-size:12px; height: 134px;}
	.mv_wrap .catch_text2{ font-size:13px;}
	.info ul{ margin:10px auto 0;}
	.info ul li,.news dd,.concept .text_box p,.treatment .box p{font-size:13px;}
	.infection h2,.about .text_box p{ font-size:14px;}
	.movie{ padding:60px 20px 60px;}
	.about h3{font-size:20px;}
	.dr h2{ font-size:24px;}
	.about h2{ font-size:27px;}
}


/*20250404add TOP診療時間変更のお知らせ*/
@media screen and (max-width:768px) {
	.oshirase {
        width: calc(100% - 40px);
        margin: 30px auto;
        padding: 35px 15px 20px;
	}
	.oshirase h4{
		    font-size: 22px;
	line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: center;
    padding-top: 35px;
    margin-bottom: 25px;
	}
	
	.oshirase h4 small{
		font-size:15px;
	}
	
	.oshirase p{
	font-size: 15px;
    line-height: 1.75;
	margin-bottom:15px;
	text-align: justify;
}
		
}

/*11/11*/
@media screen and (max-width: 768px) {
	.info-book {
		width: 100%;
		margin: 10px auto 0;
	}

	.info-book img {
		width: 100%;
	}

	.news dl span {
		top: 68%;
	}

	.info-book img {
		border: 2px solid #000;
	}

	.info-book h2 {
	font-size: 22px;
	}
	.movie-book {
		background: #efefef url(../img/index/movie_bg_1.png) no-repeat 20% 30%;
		background-size: 1055px 890px;
	}

}