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

/*FV*/
#fv .inner{position: relative;width: 100%; height: 100vh; margin:0 auto;padding: 0;font-size: 0}	
#fv .inner .photo{position:absolute;top: 0%;left:0%;width: 100%;height: 100%;overflow: hidden;}
#fv .inner .photo > div,
#fv .inner .photo .slick-list,
#fv .inner .photo .slick-track,
#fv .inner .photo .slick-slide,
#fv .inner .photo .slick-slide div{height: 100%;}
#fv .inner .photo img{width: 100%;height: 100%;object-fit: cover;}

#fv .inner .text_group{position:absolute;bottom: 20%;left:50%;transform: translateX(-50%);width:80%;min-width: 1000px;display:flex;justify-content:flex-start;column-gap: 5%;align-items: center;}
#fv .inner .text_group .text{}
#fv .inner .text_group .text h2{margin:0 0 30px 0;padding: 0;font-size:clamp(20px, 4vw, 60px);letter-spacing: 2px;line-height: 1.2;font-weight: 100;color: #0a283f;}
#fv .inner .text_group .text h2 span{display:block;}
#fv .inner .text_group .text p{margin:0;padding: 0;font-size:clamp(16px, 1.5vw, 26px);letter-spacing: 2px;line-height: 1.4;font-weight: 300;color: #0a283f;}

#fv .inner .text_group .cta{ width:25%;min-width: 300px;background:rgba(255,255,255,0.8);border-radius: 5px;padding:3% 2%;text-align: center}
#fv .inner .text_group .cta .tel{margin-bottom:8%;}
#fv .inner .text_group .cta .tel p{position: relative;width: fit-content;padding: 0px;margin: 0 auto 3% auto;color:#243555;font-size:clamp(18px, 1.0vw, 26px);letter-spacing: 1px;line-height: 1;font-weight: 300;}
#fv .inner .text_group .cta .tel a{position: relative;pointer-events: none;display: block;width: fit-content;color:#243555;font-size:clamp(20px,2.4vw, 32px);letter-spacing: 1px;line-height: 1;text-decoration: none;padding-left:40px;margin: 0 auto}
#fv .inner .text_group .cta .tel a::before{position: absolute;top:50%;left: 0;transform: translateY(-50%);font: var(--fa-font-solid);content:'\f095';font-size:clamp(20px, 1.8vw, 26px);color: #3b55a9}

#fv .inner .text_group .cta .first_visitor a{position: relative;display: block;background:#0f194f;color: white;font-size:clamp(13px,1.2vw, 22px);letter-spacing: 1px;line-height: 1;text-decoration: none;padding: 10% 0%;border-radius:6px}
#fv .inner .text_group .cta .first_visitor a::before{position: absolute;top:50%;right: 8%;transform: translateY(-50%);font: var(--fa-font-solid);content:'\f105';font-size:clamp(14px, 1.0vw, 20px);color: #8ba1af}
#fv .inner .text_group .cta .first_visitor a:hover{background:#3b55a9;}
/*
#fv .inner .text_group .cta a{position: relative;display: block;padding: 40px 30px;text-decoration: none;color: white;font-size:clamp(14px, 0.8vw, 18px);letter-spacing: 1px;line-height: 1;font-weight: 300;box-sizing: border-box;}
#fv .inner .text_group .cta a::before{position: absolute;top:50%;right: 10%;transform: translateY(-50%);font: var(--fa-font-solid);content:'\f105';}
#fv .inner .text_group .cta a.first_visitor{background: #0f194f;}
#fv .inner .text_group .cta a.reservation{background: #c98d6a;}
#fv .inner .text_group .cta a:hover{background: #3b55a9}*/

/*共通*/
.banner_area{width: 300px;}
.banner_area a{display:block;text-decoration: none;color: #d29165;padding:0 0 0px 0}
.banner_area a.style .wording{position: relative;display: inline-block;width: 70%;font-size:clamp(14px, 0.8vw, 18px);letter-spacing:1px;line-height: 2;padding: 10px 0;transition: all  0.3s ease;}
.banner_area a.style .wording::before{content:'';position: absolute;bottom:0%;left:0%;width: 90%;height: 1px;background: #d29165 ;}
.banner_area a.style .wording::after{content:'';position: absolute;bottom:0%;left:0%;width: 90%;height: 1px;background: #3b55a9;transform: scale(0, 1);  transform-origin: right top;  transition: transform 0.5s;}
.banner_area a.style:hover .wording::after{  transform: scale(1, 1);  transform-origin: left top;}
.banner_area a.style .ripples {display: inline-block;   width: 30px;  line-height: 30px; font-size:clamp(10px, 0.5vw, 14px); color: #fff;  background-color: #d29165;border-radius: 30px;text-align: center;transition: all  0.3s ease;}
.banner_area a.style:hover .ripples{  background-position: right center;  background-size: 200% auto;  -webkit-animation: pulse 2s infinite;  animation: hamon 1.5s infinite;  background-color: #3b55a9;color: #fff;}
@keyframes hamon {  0% {box-shadow: 0 0 0 0 #3b55a9;}  70% {box-shadow: 0 0 0 30px rgb(27 133 251 / 0%);}  100% {box-shadow: 0 0 0 10px rgb(27 133 251 / 0%);}}
.banner_area a:hover{color:#3b55a9;}

.banner_area a.style_white{color:#e5dfe5;}
.banner_area a.style_white .wording::before{background: #e5dfe5 ;}
.banner_area a.style_white .wording::after{background: #94b3ff;}
.banner_area a.style_white .ripples{background-color:  #e5dfe5; color: #243555;}
.banner_area a.style_white:hover .ripples{background-color:  #94b3ff;}
.banner_area a.style_white:hover{color: #94b3ff;}

@media (max-width: 700px) {
	.banner_area{width:280px;margin: 0 auto}
	.banner_area a.style .wording{width: 80%}
}

/*インフォ・ブログ*/
#info_blog_index{width: 70%;min-width: 1000px;margin: 0 auto;padding: 5% 0}
#info_blog_index .title_area{margin:0 auto 3% auto;}
#info_blog_index .title_area .small{margin:0 auto 1% 0;}
#info_blog_index .title_area h3{font-size:clamp(20px, 4vw, 50px);}
#info_blog_index .list{margin:0 auto 5% auto;}

#info_blog_index .list .unit{margin:0 auto 0% auto;padding:4% 0 2% 0;border-bottom: 1px solid #e5dfe5;}
#info_blog_index .list .unit .date_area{margin:0 auto 0% auto;}
#info_blog_index .list .unit .date_area .date{font-size:16px; color: #3b55a9;letter-spacing:1px;line-height: 1; }
#info_blog_index .list .unit .date_area .category{margin-left:10px;}
#info_blog_index .list .unit .date_area .category a{font-size:14px; color: #3b55a9;letter-spacing:1px;line-height: 1;background: #eef7ff;padding:6px 14px;text-decoration: none }
#info_blog_index .list .unit .date_area .category a:hover{background:#243555;color: white}
#info_blog_index .list .unit .text_area a{position: relative;display: block;font-size:16px; color: #243555;letter-spacing:1px;line-height: 1.7;text-decoration: none;padding: 2% 6% 2% 0}
#info_blog_index .list .unit .text_area a::before{content:'';position: absolute;top:50%;right:2%;transform: translateY(-50%);font: var(--fa-font-solid);content:'\f105';font-size:16px;color: #3b55a9}
#info_blog_index .list .unit .text_area a:hover{color: #d29165}



#info_blog_index .banner_area{margin:0 auto;}


/*3つの価値*/
#three_values_index{background: linear-gradient(0deg, #f6f3f5 50%, white 50%, white 100%);padding: 5% 0;}
#three_values_index .title_area{text-align: center;margin: 0 auto 3% auto}
#three_values_index .title_area .small{margin:0 auto 3% auto;}
#three_values_index .title_area h3 span{display:block;font-size:clamp(20px, 3vw, 40px);}
#three_values_index .list{display:flex;justify-content: space-between;width: 80%;min-width: 1000px;margin: 0 auto;column-gap:3%}
#three_values_index .list .unit{width: 30%}
#three_values_index .list .unit .photo{width: 100%;height: 250px;/* aspect-ratio:1.6/1;*/margin-bottom: 30px}
#three_values_index .list .unit .photo img{width: 100%;height: 100%;object-fit:cover;}
#three_values_index .list .unit h4{margin:0 0 20px 0;padding: 0;font-size:clamp(18px, 2vw, 26px);letter-spacing:1px;line-height: 1.2;font-weight: 100;color: #0a283f;text-align: center}
#three_values_index .list .unit h4 span{display:block;}
#three_values_index .list .unit p{margin:0 0 0px 0;padding: 0;font-size:clamp(14px, 0.8vw, 18px);letter-spacing: 1px;line-height: 1.4;font-weight: 300;color: #333333;}
#three_values_index .banner_area{margin: 3% auto 0 auto}

/*PICK UP*/
#pick_up_index{padding: 5% 0;}
#pick_up_index .inner{display:flex;justify-content:center;align-items: center;width: 70%;min-width: 1000px;margin: 0 auto;}	
#pick_up_index .inner .photo{order: 2;width: 50%;aspect-ratio:1/1.2;overflow: hidden;}
#pick_up_index .inner .photo img{width:100%;height: 100%;object-fit: cover;}

#pick_up_index .inner .text_group{order: 1;width: 50%;}
#pick_up_index .inner .text_group .title_area{margin-bottom: 10%}
#pick_up_index .inner .text_group .text01{margin:0 0 2% 0;padding: 0;font-size:clamp(24px, 2vw, 36px);letter-spacing:2px;line-height: 1.2;font-weight: 100;color: #31456e;}
#pick_up_index .inner .text_group .text02{margin:0 0 5% 0;padding: 0;font-size:clamp(14px, 1.0vw, 26px);letter-spacing:1px;line-height: 1.5;font-weight:300;color: #2a3b3f;}


/*プロミス*/
#promises_index{background:url("../img/contents_background_blue.jpg") no-repeat ;background-size: cover;background-position: 50% 50%;padding: 5% 0;}
#promises_index .title_area{text-align: center;margin: 0 auto 3% auto}
#promises_index .title_area .small{margin:0 auto 3% auto;color: #e5dfe5 ;}
#promises_index .title_area .small::before{background: #e5dfe5}
#promises_index .title_area h3{color: #e5dfe5 ;}

#promises_index .list{width:40%;min-width: 600px;margin: 0 auto;}
#promises_index .list .unit{display:flex;justify-content:center;align-items: center;padding: 30px 0;margin-bottom: 2%;background: #001a44;border-radius: 10px}
#promises_index .list .unit .number{position: relative;width:30%;padding:0 0% 0 15%;box-sizing: border-box;font-size:clamp(40px, 5.0vw, 60px);letter-spacing:1px;line-height: 1;color: #d8ad8f;}
#promises_index .list .unit .number::before{content: 'PROMISE';position: absolute;top:50%;left: 10%;transform: translateY(-50%);font-size:clamp(12px, 1.0vw, 22px);font-family: "cormorant", sans-serif;font-weight: 300;font-style: normal;}
#promises_index .list .unit p{width:70%;margin:0 0 ;padding: 0;font-size:clamp(20px, 1.2vw, 32px);letter-spacing:1px;line-height: 1;color: #e5dfe5;}
#promises_index .banner_area{margin: 3% auto 0 auto}


/*症例*/
#case_studies{background: linear-gradient(0deg, white 50%, #f6f3f5 50%, #f6f3f5 100%);padding: 5% 0;}
#case_studies .title_area{width:70%;min-width: 1000px;margin: 0 auto 3% auto}
#case_studies .title_area .small{margin-bottom:3%;}

#case_studies .list_group{width: 70%;min-width: 1000px;margin: 0 auto;display: flex;justify-content: center;gap:0 5%}
#case_studies .list_group .unit{width: 45%;}
#case_studies .list_group .unit .photo{width: 100%;aspect-ratio:2/1;margin-bottom: 5%}
#case_studies .list_group .unit .photo img{width: 100%;height: 100%;object-fit: cover}
#case_studies .list_group .unit .treatment_name{font-size:clamp(18px, 1.2vw, 26px);letter-spacing:1px;line-height: 1.4;color: #2a3b3f;font-weight: 300;margin-bottom: 3%;}
#case_studies .list_group .unit .age_gender{width: fit-content; margin-bottom:5%;padding:1% 2%;font-size:clamp(16px, 1.0vw, 22px);letter-spacing: 1px;line-height: 1;font-weight: 300;color:white;background: #d29165;}
#case_studies .list_group .unit .detail{display: flex;flex-wrap: wrap;width: 100%;color: #333333;font-size:clamp(14px,0.8vw, 18px);letter-spacing: 1px;line-height: 1.5;font-weight: 300;}
#case_studies .list_group .unit .detail dt{width: 12%;margin:0 0 2% 0;padding:0% 0 0% 0;}
#case_studies .list_group .unit .detail dd{width:88%;margin:0 0 2% 0;padding:0% 0 0% 0;}

#case_studies .list_group .unit .coming_soon{padding:40% 0%;font-size:clamp(18px, 1.2vw, 26px);letter-spacing:1px;line-height: 1.4;color:#727A87;font-weight: 300;text-align: center;background:#E6EAEF}

/*診療科目*/
#medical_subjects_index{padding: 5% 0;}
#medical_subjects_index .title_area{text-align: center;margin: 0 auto 3% auto}
#medical_subjects_index .title_area .small{margin:0 auto 3% auto;}

/*4列。上下左右の間隔は gap で一括管理する（%指定だと縦方向が0になるためpx）
　unitの幅は gap の合計（16px×3）を引いてから4等分する*/
#medical_subjects_index .list{display:flex;flex-wrap: wrap;justify-content: flex-start;width:80%;min-width: 1000px;max-width: 1200px;margin: 0 auto;gap:16px;}
#medical_subjects_index .list .unit{width:calc((100% - 48px) / 4);margin:0;padding:4% 0 3% 0;background: #f6f3f5;display: flex;align-items: center;flex-direction: column;}
#medical_subjects_index .list .unit .icon{width: 40%;margin: 0 auto 30px auto}
#medical_subjects_index .list .unit .icon img{width: 100%}
#medical_subjects_index .list .unit h4{margin:0 0 ;padding: 0;font-size:clamp(16px, 1.2vw, 22px);letter-spacing:2px;line-height: 1;color: #0a283f;font-weight: 500}
#medical_subjects_index .banner_area{margin: 3% auto 0 auto}

/*メンテナンス・予防歯科*/
#maintenance_prevention_index{background:url("../img/contents_background_blue.jpg") no-repeat ;background-size: cover;background-position: 50% 50%;padding: 5% 0;}
#maintenance_prevention_index .inner{display:flex;justify-content:space-between;align-items: center;width: 80%;min-width: 1000px;margin: 0 auto;}	
#maintenance_prevention_index .inner .photo{width: 50%;aspect-ratio:1.2/1;overflow: hidden;}
#maintenance_prevention_index .inner .photo img{width:100%;height: 100%;object-fit: cover;}

#maintenance_prevention_index .inner .text_group{width: 45%;}
#maintenance_prevention_index .inner .text_group .title_area{margin-bottom: 10%}
#maintenance_prevention_index .inner .text_group .title_area .small{color: #e5dfe5 ;}
#maintenance_prevention_index .inner .text_group .title_area .small::before{background: #e5dfe5}
#maintenance_prevention_index .inner .text_group .title_area h3{color: #e5dfe5 ;}
#maintenance_prevention_index .inner .text_group .text{margin:0 0 5% 0;padding: 0;font-size:clamp(14px, 1.0vw, 26px);letter-spacing:1px;line-height: 1.5;font-weight:300;color: #f6f3f5;}

/*#maintenance_prevention_index .inner .text_group .banner_area{}
#maintenance_prevention_index .inner .text_group .banner_area a{display:block;text-decoration: none;color: #e5dfe5;}
#maintenance_prevention_index .inner .text_group .banner_area a:hover{color:#e5dfe5;}*/

/*メッセージ*/
#message_index{padding: 5% 0;}
#message_index .photo{width: 60%;min-width: 1000px;aspect-ratio:2/1;margin: 0 auto 5% auto;overflow: hidden;}
#message_index .photo img{width: 100%;height: 100%;object-fit: cover;}

#message_index .inner{display:flex;justify-content:space-between;align-items: flex-end;;width: 60%;min-width: 800px;margin: 0 auto;}	
#message_index .inner .text_group .title_area{margin-bottom: 10%}
#message_index .inner .text_group .text{margin:0 0 10% 0;padding: 0;font-size:clamp(16px, 1.2vw, 22px);letter-spacing:1px;line-height:2;color: #2a3b3f;}
#message_index .inner .text_group .name_area{color: #2a3b3f;}
#message_index .inner .text_group .name_area .clinic_director{margin:0 0 0% 0;padding: 0;font-size:clamp(16px, 0.8vw, 20px);letter-spacing:1px;line-height: 1}
#message_index .inner .text_group .name_area .name{display: flex;align-items: center}
#message_index .inner .text_group .name_area .name .jpn{margin:0 0 0% 0;padding: 0 0;font-size:clamp(30px, 1.8vw, 40px);letter-spacing:2px;line-height: 2}
#message_index .inner .text_group .name_area .name .eng{margin:0 0 0% 5%;padding: 0;font-size:clamp(13px, 0.4vw, 16px);letter-spacing:1px;line-height: 1}

/*スライドショー*/
#inside_clinic{ width:90%;margin: 0 0 6% auto;}
#inside_clinic .title_area{margin-bottom:2%;}
#inside_clinic .title_area .small{margin-bottom: 1%}
#inside_clinic .title_area h3{font-size:clamp(20px, 2.5vw, 40px);}

#inside_clinic .loop_inside_clinic {position: relative; width:100%;height: 400px;margin-bottom: 5%}
#inside_clinic .loop_inside_clinic .box{margin-left:20px;}
#inside_clinic .loop_inside_clinic .box img {width:600px;height: 400px;object-fit: cover;}

/*採用*/
#recruit_index{width:80%;min-width: 1000px;margin: 0 auto 5% auto;padding:8% 0%;background: #f6f3f5;border-radius: 10px}
#recruit_index .title_area{margin-bottom:3%;text-align: center}
#recruit_index .title_area .small{margin: 0 auto 2% auto}
#recruit_index .banner_area{margin: 0 auto 0 auto}

/*アクセス*/
#access{margin: 0 auto 0% auto;padding: 5% 0;background: #f9f9f9}

#access #clinic_info{width: 80%;min-width: 1000px;margin: 0 auto 3% auto;display: flex;justify-content: space-between;align-items: center}
#access #clinic_info .outline{width:30%;}
#access #clinic_info .outline h3{margin: 0 auto 3% auto;}
#access #clinic_info .outline h3 img{width: 100%;max-width: 300px}
#access #clinic_info .outline h4{margin: 0 auto 2% auto;font-size:clamp(18px, 1.4vw, 24px);letter-spacing:1px;line-height: 1.5;font-weight:300;}
#access #clinic_info .outline h4 span{display: block;font-size:clamp(12px, 0.8vw, 18px);letter-spacing:1px;line-height: 1.5;font-weight:300;}
#access #clinic_info .outline .address{margin: 0 auto 10% auto;font-size:clamp(12px, 0.8vw, 16px);letter-spacing:1px;line-height: 1.5;font-weight:300;}
#access #clinic_info .outline .route{font-size:clamp(14px, 0.8vw, 22px);letter-spacing:1px;line-height: 1.5;font-weight:300;color: #0a283f;}
#access #clinic_info .outline .route span{display: block;width: fit-content;margin-bottom: 3%;padding: 2% 4%;font-size:clamp(16px, 1.0vw, 24px);letter-spacing:1px;line-height: 1.5;font-weight:300;text-align: center;color:white ;background: #3b55a9;}

#access #clinic_info .google_map{width: 65%;margin: 0 auto 3% auto;}
#access #clinic_info .google_map iframe{width:100%;margin: 0;padding: 0;aspect-ratio:2/1;border: 0;}

#access #schedule_group{width: 80%;max-width: 1500px;min-width:  1000px;margin: 0 auto 3% auto;display: flex;justify-content: space-between;align-items: center;background: white;padding: 3% 5%;box-sizing: border-box;}
#access #schedule_group .schedule h5{width: fit-content;margin: 0 auto 8% 0;padding: 6% 8%;font-size:clamp(16px, 1.0vw, 24px);letter-spacing:1px;line-height: 1;font-weight:300;text-align: center;color:white;background:  #3b55a9}
#access #schedule_group .schedule ul{width: 100%; margin: 0 0 0 10%;padding: 0}
#access #schedule_group .schedule ul li{font-size:clamp(16px, 1.0vw, 24px);letter-spacing:1px;line-height: 1.5;font-weight:300;color:#3b55a9;margin: 0 0 3% 0;padding: 0}
#access #schedule_group .timetable{width: 70%}
#access #schedule_group .timetable table{width:100%;margin-bottom: 2%;border-collapse:collapse;color: #3b55a9;font-size:clamp(14px, 1.5vw, 18px);letter-spacing:1px;line-height: 1;font-weight:300;text-align: center;}
#access #schedule_group .timetable table td{border-bottom:1px solid #bec8d8;}
#access #schedule_group .timetable table th{font-weight: normal;padding:2% 0 2% 0;background: #eef7ff;color:#3b55a9;border-radius: 5px}
#access #schedule_group .timetable table th:first-of-type{width:40%;border-radius: 10px 0 0 0}
#access #schedule_group .timetable table th:last-of-type{border-radius:0 10px 0 0}

#access #schedule_group .timetable table td.hours{padding: 3% 0;font-size:clamp(16px, 1.2vw, 22px);}
#access #schedule_group .timetable table td.open{font-size:clamp(24px, 2.8vw, 36px);}
#access #schedule_group .timetable table td.irregular{font-size:clamp(18px, 1.1vw, 30px);}


#access #schedule_group .timetable .memo{margin: 0;padding: 0;font-size:clamp(14px, 1.2vw, 20px);letter-spacing:1px;line-height: 1.5;font-weight:300;color:#3b55a9;text-align: right}

#access .gallery{width: 80%;min-width: 1000px;margin: 0 auto;display: flex;justify-content: space-between;align-items: center}
#access .gallery img{width:50%;aspect-ratio:1.5/1;object-fit: cover}



@media screen and (min-width:701px) and ( max-width:1050px)  {

	/*FV*/
	#fv .inner .photo img[src*="fv01"]{object-position: 30% 50%;}
	#fv .inner .photo img[src*="fv02"]{object-position: 42% 50%;}
	#fv .inner .photo img[src*="fv03"]{object-position: 90% 50%;}

	#fv .inner .text_group{width:88%;min-width:0;column-gap:4%;margin: 0 auto;}
	#fv .inner .text_group .text{width:62%;}
	#fv .inner .text_group .text h2{margin-bottom:20px;}
	#fv .inner .text_group .text p{font-size:clamp(14px, 1.6vw, 17px);letter-spacing: 1px;}

	#fv .inner .text_group .cta{width:34%;min-width:0;padding:4% 2%;box-sizing:border-box;}
	#fv .inner .text_group .cta .tel{margin-bottom:10%;}
	#fv .inner .text_group .cta .tel p{font-size:clamp(12px, 1.5vw, 16px);}
	#fv .inner .text_group .cta .tel a{font-size:clamp(20px, 2.9vw, 30px);padding-left:32px;}
	#fv .inner .text_group .cta .tel a::before{font-size:clamp(16px, 2.1vw, 22px);}
	#fv .inner .text_group .cta .first_visitor a{font-size:clamp(13px, 1.7vw, 18px);padding:8% 0%;}
	#fv .inner .text_group .cta .first_visitor a::before{font-size:clamp(12px, 1.3vw, 15px);right:5%;}

	/*インフォ・ブログ*/
	#info_blog_index{width:88%;min-width:0;}
	#info_blog_index .list .unit .date_area .date{font-size:14px;}
	#info_blog_index .list .unit .date_area .category a{font-size:13px;padding:5px 12px;}
	#info_blog_index .list .unit .text_area a{font-size:15px;}
	#info_blog_index .list .unit .text_area a::before{font-size:14px;}

	/*3つの価値*/
	#three_values_index .title_area h3{font-size:min(4.8vw, 36px);}
	#three_values_index .title_area h3 span{font-size:min(3.4vw, 30px);}
	#three_values_index .list{flex-direction:column;width:88%;max-width:620px;min-width:0;row-gap:50px;}
	#three_values_index .list .unit{width:100%;}
	#three_values_index .list .unit .photo{height:auto;aspect-ratio:2.2/1;margin-bottom:24px;}
	#three_values_index .list .unit h4{margin:0 0 16px 0;font-size:min(3.2vw, 24px);}
	#three_values_index .list .unit p{font-size:15px;line-height: 1.6;}

	/*PICK UP*/
	#pick_up_index .inner{width:80%;min-width:0;column-gap:3%;}
	#pick_up_index .inner .photo{width:52%;}
	#pick_up_index .inner .text_group{width:45%;}
	#pick_up_index .inner .text_group .title_area h3{font-size:min(5.7vw, 47px);}
	#pick_up_index .inner .text_group .text01{font-size:min(3.4vw, 26px);}
	#pick_up_index .inner .text_group .text02{font-size:min(2.1vw, 17px);}

	/*プロミス*/
	#promises_index .title_area h3{font-size:min(5.7vw, 47px);}
	#promises_index .list{width:90%;min-width:0;}
	#promises_index .list .unit .number{font-size:min(5.7vw, 52px);}
	#promises_index .list .unit p{font-size:min(2.9vw, 26px);line-height: 1.4;}

	/*症例*/
	#case_studies .title_area{width:88%;min-width:0;}
	#case_studies .title_area h3{font-size:min(4.8vw, 36px);}
	#case_studies .list_group{width:88%;min-width:0;gap:0 5%;}
	#case_studies .list_group .unit{width:47.5%;}
	#case_studies .list_group .unit .treatment_name{font-size:min(2.6vw, 22px);}
	#case_studies .list_group .unit .age_gender{font-size:min(2.3vw, 18px);}
	#case_studies .list_group .unit .detail{font-size:min(1.9vw, 16px);}
	#case_studies .list_group .unit .coming_soon{font-size:min(2.6vw, 22px);}

	/*診療科目*/
	#medical_subjects_index .title_area h3{font-size:min(4.8vw, 36px);}
	#medical_subjects_index .list{width:88%;min-width:0;}
	#medical_subjects_index .list .unit{width:calc((100% - 32px) / 3);}
	#medical_subjects_index .list .unit .icon{width:34%;margin:0 auto 20px auto;}
	#medical_subjects_index .list .unit h4{font-size:min(2.6vw, 20px);}

	/*メンテナンス・予防歯科*/
	#maintenance_prevention_index .inner{flex-direction:column;align-items:stretch;width:100%;min-width:0;row-gap:32px;}
	#maintenance_prevention_index .inner .photo{width:90%;margin:0 auto 0 0;aspect-ratio:2/1;}
	#maintenance_prevention_index .inner .text_group{width:80%;margin:0 auto;}
	#maintenance_prevention_index .inner .text_group .title_area{margin-bottom:24px;}
	#maintenance_prevention_index .inner .text_group .title_area h3{font-size:min(4.8vw, 36px);}
	#maintenance_prevention_index .inner .text_group .text{margin:0 0 24px 0;font-size:min(2.4vw, 18px);}

	/*メッセージ*/
	#message_index .photo{width:90%;min-width:0;}
	#message_index .inner{width:90%;min-width:0;}
	#message_index .inner .text_group .title_area h3{font-size:min(5.7vw, 47px);}
	#message_index .inner .text_group .text{font-size:min(2.4vw, 20px);}
	#message_index .inner .text_group .name_area .name .jpn{font-size:min(4.2vw, 34px);}

	/*スライドショー*/
	#inside_clinic .loop_inside_clinic {height: 320px;}
	#inside_clinic .loop_inside_clinic .box img {width:500px;height: 320px;}

	/*採用*/
	#recruit_index{width:100%;min-width:0;padding:80px 0;margin: 0 auto;}
	#recruit_index .title_area h3{font-size:min(4.8vw, 36px);}

	/*アクセス*/
	#access{padding:5% 0 0 0;}
	#access #clinic_info{flex-direction:column;align-items:stretch;width:80%;min-width:0;row-gap:32px;}
	#access #clinic_info .outline{width:100%;}
	#access #clinic_info .outline .address{margin:0 auto 24px auto;font-size:14px;}
	#access #clinic_info .outline h4{font-size:min(2.8vw, 22px);}
	#access #clinic_info .outline h4 span{font-size:14px;}
	#access #clinic_info .outline .route{font-size:16px;}
	#access #clinic_info .outline .route span{margin-bottom:10px;padding:8px 16px;font-size:16px;}
	#access #clinic_info .google_map{width:100%;margin:0;}
	#access #clinic_info .google_map iframe{aspect-ratio:2.4/1;}

	#access #schedule_group{flex-direction:column;align-items:stretch;width:80%;min-width:0;max-width:none;row-gap:24px;padding:32px 4%;}
	#access #schedule_group .schedule{width:100%;}
	#access #schedule_group .schedule h5{margin:0 0 14px 0;padding:8px 20px;font-size:16px;}
	#access #schedule_group .schedule ul{margin:0 auto 0 30px;}
	#access #schedule_group .schedule ul li{margin:0 0 6px 0;font-size:15px;}
	#access #schedule_group .timetable{width:100%;}
	#access #schedule_group .timetable table{margin-bottom:10px;}
	#access #schedule_group .timetable table td.hours{font-size:15px;}
	#access #schedule_group .timetable table td.open{font-size:24px;}
	#access #schedule_group .timetable table td.irregular{font-size:18px;}
	#access #schedule_group .timetable .memo{font-size:14px;}
	#access .gallery{width:100%;min-width:0;}

}

@media (max-width: 700px) {

	/*FV*/
	#fv .inner{position: relative;width: 100%; height:80vh; margin:0 auto;padding: 0;font-size: 0}
	#fv .inner .photo img[src*="fv01"]{object-position: 30% 50%;}
	#fv .inner .photo img[src*="fv02"]{object-position: 42% 50%;}
	#fv .inner .photo img[src*="fv03"]{object-position: 90% 50%;}
	#fv .inner .text_group{width:86%;min-width:0;bottom:8%;flex-direction:column;align-items:stretch;row-gap:24px;}
	#fv .inner .text_group .text{width:100%;}
	#fv .inner .text_group .text h2{margin:0 0 16px 0;font-size:7.4vw;letter-spacing: 0.02em;}
	#fv .inner .text_group .text p{font-size:14px;letter-spacing: 0.5px;}

	#fv .inner .text_group .cta{width:100%;min-width:0;padding:20px 16px;box-sizing:border-box;}
	#fv .inner .text_group .cta .tel{margin-bottom:16px;}
	#fv .inner .text_group .cta .tel p{font-size:13px;margin:0 auto 10px auto;}
	#fv .inner .text_group .cta .tel a{pointer-events:auto;font-size:clamp(24px, 7vw, 32px);padding-left:36px;}
	#fv .inner .text_group .cta .tel a::before{font-size:clamp(18px, 5vw, 24px);}
	#fv .inner .text_group .cta .first_visitor a{font-size:clamp(15px, 4.2vw, 18px);padding:16px 0;}
	#fv .inner .text_group .cta .first_visitor a::before{font-size:15px;}

	/*インフォ・ブログ*/
	#info_blog_index{width:86%;min-width:0;padding:50px 0;}
	#info_blog_index .title_area{margin:0 auto 24px auto;}
	#info_blog_index .title_area .small{margin:0 auto 8px 0;}
	#info_blog_index .title_area h3{font-size:min(6.6vw, 34px);}
	#info_blog_index .list{margin:0 auto 30px auto;}
	#info_blog_index .list .unit{padding:18px 0 14px 0;}
	#info_blog_index .list .unit .date_area .date{font-size:13px;}
	#info_blog_index .list .unit .date_area .category{margin-left:8px;}
	#info_blog_index .list .unit .date_area .category a{font-size:11px;padding:4px 10px;}
	#info_blog_index .list .unit .text_area a{font-size:15px;padding:10px 28px 0 0;}
	#info_blog_index .list .unit .text_area a::before{font-size:14px;right:0;}

	/*3つの価値*/
	#three_values_index{padding:50px 0;}
	#three_values_index .title_area{margin:0 auto 30px auto;}
	#three_values_index .title_area .small{margin:0 auto 12px auto;}
	#three_values_index .title_area h3{font-size:min(7.4vw, 34px);}
	#three_values_index .title_area h3 span{font-size:min(5.4vw, 24px);}
	#three_values_index .list{flex-direction:column;width:86%;min-width:0;row-gap:40px;}
	#three_values_index .list .unit{width:100%;}
	#three_values_index .list .unit .photo{height:auto;aspect-ratio:1.6/1;max-height:300px;margin-bottom:18px;}
	#three_values_index .list .unit h4{margin:0 0 12px 0;font-size:min(5.6vw, 24px);}
	#three_values_index .list .unit p{font-size:14px;line-height: 1.7;}

	/*PICK UP*/
	#pick_up_index{padding:50px 0;}
	#pick_up_index .inner{flex-direction:column;align-items:stretch;width:100%;min-width:0;row-gap:30px;}
	#pick_up_index .inner .photo{order:1;width:90%;margin:0 0 0 auto;max-height:520px;aspect-ratio:1.3/1;}
	#pick_up_index .inner .text_group{order:2;width:80%;margin:0 auto;}
	#pick_up_index .inner .text_group .title_area{margin-bottom:24px;}
	#pick_up_index .inner .text_group .title_area h3{font-size:min(9.5vw, 40px);}
	#pick_up_index .inner .text_group .text01{margin:0 0 8px 0;font-size:min(6.4vw, 26px);}
	#pick_up_index .inner .text_group .text02{margin:0 0 20px 0;font-size:min(4.2vw, 17px);}

	/*プロミス*/
	#promises_index{padding:50px 0;}
	#promises_index .title_area{margin:0 auto 30px auto;}
	#promises_index .title_area .small{margin:0 auto 12px auto;}
	#promises_index .title_area h3{font-size:min(9.5vw, 40px);}
	#promises_index .list{width:86%;min-width:0;}
	#promises_index .list .unit{flex-direction:column;padding:24px 16px;margin-bottom:12px;}
	#promises_index .list .unit .number{width:auto;padding:0;font-size:min(9vw, 40px);text-align:center;}
	#promises_index .list .unit .number::before{position:static;display:block;transform:none;margin-bottom:2px;font-size:12px;}
	#promises_index .list .unit p{width:100%;margin:8px 0 0 0;font-size:min(4.6vw, 19px);line-height: 1.5;text-align:center;}
	#promises_index .banner_area{margin:30px auto 0 auto}

	/*症例*/
	#case_studies{padding:50px 0;}
	#case_studies .title_area{width:86%;min-width:0;margin:0 auto 24px auto;}
	#case_studies .title_area .small{margin-bottom:12px;}
	#case_studies .title_area h3{font-size:min(7.4vw, 34px);}
	#case_studies .list_group{flex-direction:column;width:86%;min-width:0;row-gap:32px;}
	#case_studies .list_group .unit{width:100%;}
	#case_studies .list_group .unit .photo{margin-bottom:16px;}
	#case_studies .list_group .unit .treatment_name{margin-bottom:10px;font-size:min(5vw, 20px);}
	#case_studies .list_group .unit .age_gender{margin-bottom:14px;padding:5px 12px;font-size:min(4vw, 16px);}
	#case_studies .list_group .unit .detail{font-size:14px;}
	#case_studies .list_group .unit .detail dt{width:16%;margin-bottom:6px;}
	#case_studies .list_group .unit .detail dd{width:84%;margin-bottom:6px;}
	#case_studies .list_group .unit .coming_soon{padding:22% 0;font-size:min(5vw, 20px);}

	/*診療科目*/
	#medical_subjects_index{padding:50px 0;}
	#medical_subjects_index .title_area{margin:0 auto 24px auto;}
	#medical_subjects_index .title_area .small{margin:0 auto 12px auto;}
	#medical_subjects_index .title_area h3{font-size:min(7.4vw, 34px);}
	#medical_subjects_index .list{width:86%;min-width:0;gap:12px;}
	#medical_subjects_index .list .unit{width:calc((100% - 12px) / 2);padding:20px 0 16px 0;}
	#medical_subjects_index .list .unit .icon{width:38%;margin:0 auto 14px auto;}
	#medical_subjects_index .list .unit h4{font-size:min(4.2vw, 17px);letter-spacing: 1px;}
	#medical_subjects_index .banner_area{margin:30px auto 0 auto}

	/*メンテナンス・予防歯科*/
	#maintenance_prevention_index{padding:50px 0;}
	#maintenance_prevention_index .inner{flex-direction:column;align-items:stretch;width:100%;min-width:0;row-gap:24px;}
	#maintenance_prevention_index .inner .photo{width:90%;margin:0 auto 0 0;aspect-ratio:1.6/1;}
	#maintenance_prevention_index .inner .text_group{width:80%;margin:0 auto;}
	#maintenance_prevention_index .inner .text_group .title_area{margin-bottom:20px;}
	#maintenance_prevention_index .inner .text_group .title_area h3{font-size:min(7.0vw, 34px);letter-spacing: 0}
	#maintenance_prevention_index .inner .text_group .text{margin:0 0 20px 0;font-size:min(3.5vw, 17px);line-height: 1.7;}

	/*メッセージ*/
	#message_index{padding:0 0 80px 0;}
	#message_index .photo{width:100%;min-width:0;margin:0 auto 30px auto;}
	#message_index .inner{flex-direction:column;align-items:stretch;width:80%;min-width:0;row-gap:24px;}
	#message_index .inner .text_group .title_area{margin-bottom:20px;}
	#message_index .inner .text_group .title_area h3{font-size:min(9.5vw, 40px);}
	#message_index .inner .text_group .text{margin:0 0 20px 0;font-size:min(4.2vw, 17px);line-height: 1.9;}
	#message_index .inner .text_group .name_area .clinic_director{font-size:13px;}
	#message_index .inner .text_group .name_area .name .jpn{font-size:min(7vw, 30px);line-height: 1.4;}
	#message_index .inner .text_group .name_area .name .eng{font-size:12px;}
	
	/*スライドショー*/
	#inside_clinic{ width:90%;margin: 0 0 6% auto;}
	
	
	#inside_clinic .loop_inside_clinic {position: relative; width:100%;height: 240px;margin-bottom: 5%}
	#inside_clinic .loop_inside_clinic .box{margin-left:20px;}
	#inside_clinic .loop_inside_clinic .box img {width:400px;height: 240px;object-fit: cover;}

	/*採用*/
	#recruit_index{width:100%;min-width:0;margin:0 auto 0px auto;padding:80px 0;}
	#recruit_index .title_area{margin-bottom:20px;}
	#recruit_index .title_area .small{margin:0 auto 12px auto;}
	#recruit_index .title_area h3{font-size:min(7.4vw, 34px);}
	#recruit_index .banner_area{margin:30px auto 0 auto}

	/*アクセス*/
	#access{padding:50px 0 0 0;}
	#access #clinic_info{flex-direction:column;align-items:stretch;width:80%;min-width:0;margin:0 auto 24px auto;row-gap:24px;}
	#access #clinic_info .outline{width:100%;}
	#access #clinic_info .outline h3{margin:0 auto 5px auto;width: 50%}
	#access #clinic_info .outline h4{margin:0 auto 20px auto;font-size:min(5vw, 20px);text-align: center}
	#access #clinic_info .outline h4 span{font-size:13px;}
	#access #clinic_info .outline .address{margin:0 auto 18px auto;font-size:13px;}
	#access #clinic_info .outline .route{font-size:14px;}
	#access #clinic_info .outline .route span{margin-bottom:8px;padding:6px 14px;font-size:14px;}
	#access #clinic_info .google_map{width:100%;margin:0;}
	#access #clinic_info .google_map iframe{aspect-ratio:1.4/1;}

	#access #schedule_group{flex-direction:column;align-items:stretch;width:100%;min-width:0;max-width:none;margin:0 auto;row-gap:20px;padding:24px 0%;}
	#access #schedule_group .schedule{width:80%;margin: 0 auto}
	#access #schedule_group .schedule h5{margin:0 0 12px 0;padding:7px 16px;font-size:15px;}
	#access #schedule_group .schedule ul{margin:0 auto 0 20px;}
	#access #schedule_group .schedule ul li{margin:0 0 5px 0;font-size:13px;}
	#access #schedule_group .timetable{width:80%;margin: 0 auto}
	#access #schedule_group .timetable table{margin-bottom:8px;font-size:13px;}
	#access #schedule_group .timetable table th{padding:8px 0;}
	#access #schedule_group .timetable table td.hours{padding:10px 0;font-size:12px;}
	#access #schedule_group .timetable table td.open{font-size:18px;}
	#access #schedule_group .timetable table td.irregular{font-size:14px;}
	#access #schedule_group .timetable .memo{font-size:12px;}
	#access .gallery{width:100%;min-width:0;}
	#access .gallery img{aspect-ratio:1/1.2}
}