@charset "utf-8";
/* CSS Document */

/* PC */
@media screen and (min-width:751px) {
.wrap {

}

/* =====================================
header
===================================== */
header {
width: 100%;
align-items: center;
background: #f9f9f9;
}
.header9 {
flex-wrap: wrap;
padding: 8px 0 15px;
width: 1100px;
margin: 0 auto;
}
.header1 {
width: 1100px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.header2 {
width: 600px;
}
.header2 .logo {
width: 310px;
}
.header2 .logo a {

}
.header2 .logo a img {
width: 100%;
}
.tagline {
font-size: 1.5rem;
font-weight: 400;
margin: 0 0 .5rem;
}

.header3 {
text-align: center;
}
.header4 {
font-size: 1.5rem;
font-weight: 400;
line-height: 1.5;
text-align: right;
}
/*
.header4 a {
width: 100%;
display: block;
background: linear-gradient(90deg, #1ea189, #0cbd7c);
text-align: center;
font-size: 2rem;
font-weight: 500;
color: #fff;
border-radius: 200px;
line-height: 1;
padding: 20px 0;
box-shadow: 7px 7px 20px #9ff4c2;
letter-spacing: .05rem;
}
.header4 a span::before {
content: "";
background: url("../images/ic_arrow1.svg") no-repeat;
display: inline-block;
width: 1.5rem;
height: 1.5rem;
margin: 0 8px 0 0;
vertical-align: middle;
}
.header5 {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
column-gap: 8px;
}*/
.header6 {
text-align: center;
}
.header6 a {
width: 100%;
display: block;
font-size: 3.8rem;
color: #231815;
font-weight: 500;
line-height: 1;
}
.header6 a span {}
.header6 a span::before {
content: "";
background: url("../images/ic_tel.svg");
display: inline-block;
width: 2.8rem;
height: 2.8rem;
margin: 0 6px 0 0;
}




/* =====================================
nav
===================================== */
nav {
text-align: center;
}
nav ul {
position: relative;
display: flex;
justify-content: center;
border-radius: 6px;
width: 1200px;
text-align: center;
padding: 0;
margin: 0 auto;
list-style: none;
}
nav ul li {
display: inline-block;
margin: 0 25px;
}
nav ul li a {
position: relative;
text-decoration: none;
padding: 0;
transition: all .3s;
font-size: 1.9rem;
font-weight: 500;
letter-spacing: .15rem;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
line-height: 1.4;
}
nav ul li a:hover {
color: #292e38;
}


/* =====================================
slider
===================================== */
.swiper {
width: 100%;
height: 100%;
position: relative;
}
.swiper-slide {
text-align: center;
font-size: 18px;
background: #fff;
/* Center slide text vertically */
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
.swiper-slide img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.swiper-button-next,
.swiper-button-prev {
--swiper-navigation-color: #fc7e2a;
}
.mv-corner-tag {
width: 230px;
height: 230px;
border-radius: 50%;
text-align: center;
letter-spacing: .1em;
font-size: 2.6rem;
line-height: 1.4;
background: rgb(255 255 255 / 80%);
padding: 20px 0 20px 0;
position: absolute;
z-index: 1;
bottom: 5%;
right: 20%;
display: flex;
align-items: center;
justify-content: center;
color: #01348b;
}
.mv-corner-tag div span {
color: #e95513;
font-size: 3.5rem;
line-height: 1;
}



/* =====================================
pagetop
===================================== */
#page-top {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 99;
}
#page-top a {
width: 50px;
display: block;
transition: all .3s ease;
}
#page-top a:hover {
text-decoration: none;
opacity: .5;
}
#page-top a img {
width: 100%;
display: block;
}

/* =====================================
medical
===================================== */
.topmedical__w {
width: 100%;
padding: 100px 0 100px;
background: url("../images/medical_bg.jpg") center center no-repeat;
background-size: cover;
}
.topmedical1 {
width: 100%;
}
.topmedical1 h2 {
text-align: center;
font-size: 2rem;
font-weight: 400;
letter-spacing: .2rem;
}
.topmedical1 h2 span {
display: inline-block;
margin: 0 auto;
font-size: 2.3rem;
letter-spacing: 0.2rem;
font-family: 'Zen Maru Gothic', sans-serif;
font-weight: 500;
}
.topmedical1 h2 span::before {
content: "MEDICAL";
display: block;
font-size: 4rem;
letter-spacing: .1rem;
color: #fc7e2a;
}
.topmedical2 {
display: flex;
flex-wrap: wrap;
justify-content: center;
position: relative;
z-index: 2;
margin: 0px auto;
gap: 50px;
width: 1200px;
}
.topsubject_box {
width: 230px;
height: 230px;
text-align: center;
border-radius: 20px;
}
.topsubject_box a {
width: 100%;
display: flex;
height: 100%;
color: rgb(68, 47, 6);
padding: 3.5rem 0px;
border-radius: 20px;
transition: 0.2s;
background: #ffffff;
box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}
.topsubject_t {
display: flex;
width: 100%;
justify-content: center;
align-items: center;
flex-direction: column;
}
.topsubject_box div.icon {
width: 100px;
height: 100px;
display: block;
margin: 0px auto 10px;
}
.topsubject_box a span, .topsubject_box2 span {
text-align: center;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: center;
height: 4rem;
font-size: 2.3rem;
line-height: 1.4;
letter-spacing: 0.1rem;
font-weight: 500;
font-family: "Zen Maru Gothic";
}
.topmedical5 {
width: 100%;
font-size: 2.3rem;
font-weight: 500;
text-align: center;
line-height: 1.5;
letter-spacing: .2rem;
margin: 5rem 0 0;
color: #01348b;
}
.topmedical6 {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 30px 30px 60px;
border-radius: 5px;
align-content: flex-start;
margin: 0 auto;
flex-grow: 1;
}
.arrow-icon {
position: absolute;
bottom: 20px;
right: 20px;
width: 40px;
height: 40px;
border-radius: 50%;
background-color: transparent;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
z-index: 1;
}
.arrow-icon img {
width: 20px;
height: 20px;
transition: opacity 0.3s ease;
}
/* ●背景色を青にする */
.topmedical3:hover .arrow-icon {
background-color: #01348b;
}
/* →アイコン画像を白抜きに差し替え */
.topmedical3:hover .arrow-icon img {
content: url("../images/ic_arrow02.svg");
}

/* =====================================
news
===================================== */
.news__w {
width: 100%;
background: #fff;
padding: 100px 0 100px 0;
}
.news__wi {
width: 95%;
max-width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
min-height: 300px;
background: #fff;
column-gap: 40px;
position: relative;
}
.news__wi h2 {
width: 430px;
text-align: center;
z-index: 2;
position: relative;
}
.news__wi h2 span {
display: inline-block;
margin: 0 auto;
font-size: 2.3rem;
letter-spacing: 0.2rem;
font-family: 'Zen Maru Gothic', sans-serif;
font-weight: 500;
}
.news__wi h2 span::before {
content: "INFORMATION";
display: block;
font-size: 4rem;
letter-spacing: .1rem;
color: #fc7e2a;
}
.news_kiji__w {
width: calc((100% - 40px) - 430px);
/*height: 100%;*/
/*height: 500px;*/
    padding: 0 20px 0 0;
}
.news_kiji__w iframe {
width: 100%;
height: 500px;
background: #fff;
}
.news_deco {
background-image: url("../images/info_deco1.jpg");
background-repeat: no-repeat;
background-size: contain;
background-position: bottom;
width: 450px;
height: 521px;
position: absolute;
bottom: -5%;
left: -10%;
z-index: 1;
}
.newskiji1 {
width: 100%;
border-bottom: 1px dotted #cac8bc;
padding: 0 0 30px 0;
margin: 0 0 30px;
}
.newskiji2 {
width: 100%;
font-size: 1.4rem;
color: #9697A6;
margin: 0 0 0 0;
}
.newskiji3 {
width: 100%;
}
.newskiji4 {
width: 100%;
font-size: 2rem;
color: #43b14f;
margin: 0 0 5px 0;
}
.newskiji5 {
width: 100%;
}


/* =====================================
bnr
===================================== */
.banner-container__w {
background: #f8f5f0;
padding: 60px 0 60px 0;
z-index: 2;
position: relative;
margin: 30px 0;
border-radius: 10px;
}
.banner-container {
width: 1000px;
display: flex;
justify-content: space-between;
gap: 40px;
margin: 0 auto;
}
.banner {
position: relative;
display: block;
width: calc(100% / 3);
height: 230px;
/*border: 1px solid #ccc;*/
border-radius: 8px;
background-size: cover;
background-position: center;
overflow: hidden;
text-decoration: none;
color: inherit;
box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}
.banner-text {
position: absolute;
top: 15%;
left: 50%;
transform: translateX(-50%);
width: 85%;
background-color: rgba(255, 255, 255, 0.7);
box-sizing: border-box;
text-align: center;
border-radius: 4px;
z-index: 2;
}
.banner-text h3 {
margin: 0;
font-size: 2.6rem;
line-height: 1.3;
height: 110px;
display: flex;
align-items: center;
justify-content: center;
font-weight: 500;
}
.banner-btn {
position: absolute;
bottom: 30px;
left: 50%;
transform: translateX(-50%);
display: inline-block;
padding: 5px 20px;
font-size: 2rem;
color: #fff;
border-radius: 50px;
text-align: center;
white-space: nowrap;
z-index: 2;
}
.bnr01 {
background-image: url("../images/bnr_headache.jpg");
}
.bnr02 {
background-image: url("../images/bnr_influenza.jpg");
}
.bnr03 {
background-image: url("../images/bnr_covid-19-vaccine.jpg");
}
.bnr01 > .banner-text {
color: #43b14f;
}
.bnr02 > .banner-text {
color: #4a97e4;
}
.bnr03 > .banner-text {
color: #fba804;
}
.bnr01 > .banner-btn {
background-color: #43b14f;
}
.bnr02 > .banner-btn {
background-color: #4a97e4;
}
.bnr03 > .banner-btn {
background-color: #fba804;
}



/* =====================================
schedule
===================================== */

.timetable__w {
width: 100%;
background: #fff;
padding: 100px 0 100px 0;
position: relative;
}
.timetable__wi {
width: 95%;
max-width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
min-height: 300px;
background: #fff;
column-gap: 40px;
}
.timetable__wi h2 {
text-align: center;
}
.timetable__wi h2 span {
display: inline-block;
margin: 0 auto;
font-size: 2.3rem;
letter-spacing: 0.2rem;
font-family: 'Zen Maru Gothic', sans-serif;
font-weight: 500;
}
.timetable__wi h2 span::before {
content: "TIMETABLE";
display: block;
font-size: 4rem;
letter-spacing: .1rem;
color: #fc7e2a;
}
.clinic_hours__w {
width: calc((100% - 40px) - 430px);
height: 100%;
}
.clinic_hours__w iframe {
width: 100%;
height: 300px;
background: #fff;
}
.timetable_deco {
background-image: url("../images/schedule_deco1.jpg");
background-repeat: no-repeat;
background-size: contain;
background-position: bottom;
width: 420px;
height: 517px;
position: absolute;
bottom: -5%;
right: -10%;
z-index: 1;
}




.infection_w {
width: 1080px;
padding: 0 0 40px;
background: #ffffff;
margin: 0 auto;
overflow: hidden;
border-radius: 15px;
box-shadow: 0 5px 0 #e2e2e2;
}
.infection0 {
text-align: center;
color: #ffffff;
font-size: 2.5rem;
letter-spacing: .1rem;
line-height: 1.5;
padding: 10px 0;
background: #28634c;
border-radius: 100px;
width: 90%;
margin: 40px auto;
}
.infection1 {
width: 95%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
}
.infection2 {
width: 28%;
margin: 0 auto;
display: flex;
flex-direction: column;
}
.infection3 {
width: 60%;
margin: 0 auto 30px;
}
.infection3 img {
width: 100%;
}
.infection4 {
width: 100%;
font-size: 1.8rem;
letter-spacing: .1rem;
height: 75px;
line-height: 1.5;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
margin: 0 0 15px;
background: #f8f8f8;
border: #cdcdcd 1px solid;
border-radius: 15px;
}
.infection5 {
letter-spacing: .05rem;
font-size: 1.6rem;
text-align: justify;
line-height: 1.5;
}




/* =====================================
timetable
===================================== */    
.toptimetable__w {
width: 100%;
padding: 100px 0 100px;
background: #ffffff;
}
.timetable__wi {
width: 95%;
max-width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-between;
min-height: 300px;
background: #fff;
column-gap: 40px;
position: relative;
flex-direction: column;
}

.toptimetable1 {
width: 100%;
}
.toptimetable1 h2 {
text-align: center;
font-size: 2rem;
font-weight: 400;
letter-spacing: .2rem;
}
.toptimetable1 h2 span {
display: inline-block;
margin: 0 auto;
font-size: 2.3rem;
letter-spacing: 0.2rem;
font-family: 'Zen Maru Gothic', sans-serif;
font-weight: 500;
}
.toptimetable1 h2 span::before {
content: "SCHEDULE";
display: block;
font-size: 4rem;
letter-spacing: .1rem;
color: #fc7e2a;
}    
.toptimetable2 {
width: 750px;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
margin: 0 auto;
}
.toptimetable3 {
width: 100%;
}
.toptimetable4 {
width: 100%;
background: #fff;
margin: 0 auto 0;
z-index: 2;
position: relative;
}
.toptimetable4 th {
background: #ece5e5;
text-align: center;
font-weight: 500;
line-height: 1;
width: 10%;
font-size: 2rem;
padding: 15px 0;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
}
.toptimetable4 th:first-child {
width: 30%;
}
.toptimetable4 td {
background: #fdfdfd;
text-align: center;
font-weight: 500;
font-size: 2.5rem;
line-height: 1;
width: 10%;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
padding: 20px 0;
}
.toptimetable4 td:first-child {
width: 30%;
background: #ffffff;
}
.toptimetable4 td span.open {
color: #fba804;
position: relative;
}
.toptimetable4 td span.closed {

}   
.toptimetable5 {
width: 450px;
}
.toptimetable6 {
width: 100%;
}
.toptimetable6 > .closed {
display: block;
}
.toptimetable6 > .repletion {
display: block;
padding-left: 2.5em;
text-indent: -2.5em;
color: #01348b;
}
.toptimetable6 > .repletion span.open {
color: #ea631b;
}




/* =====================================
feature
===================================== */    

.feature__w {
width: 100%;
padding: 100px 0 100px;
background: url("../images/feature_bg.jpg");
background-repeat: repeat;
background-size: auto;
background-position: top left;
}

.feature1 {
width: 100%;
}
.feature1 h2 {
text-align: center;
font-size: 2rem;
font-weight: 400;
letter-spacing: .2rem;
}
.feature1 h2 span {
display: inline-block;
margin: 0 auto;
font-size: 2.3rem;
letter-spacing: 0.2rem;
font-family: 'Zen Maru Gothic', sans-serif;
font-weight: 500;
}
.feature1 h2 span::before {
content: "FEATURE";
display: block;
font-size: 4rem;
letter-spacing: .1rem;
color: #fc7e2a;
}    
.feature__wi {
width: 1100px;
margin: 0 auto;
padding: 40px 0;
position: relative;
gap: 60px;
display: flex;
flex-direction: column;
}

.feature2_box {
display: flex;
flex-direction: row-reverse;
border-radius: 16px;
position: relative;
gap: 60px;
align-items: center;
}
.feature2_i {
width: 520px;
border-radius: 16px;
overflow: hidden;
flex-shrink: 0;
}
.feature2_i img {
width: 100%;
}    


.feature2_bg {
flex: 1;
padding: 90px 0 0;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
align-items: center;
}

.feature-icon-l {
position: absolute;
top: 0;
left: 0;
text-align: center;
z-index: 2;
width: 100%;
}
.feature-icon-l img {
width: 60px;
height: 60px;
object-fit: contain;
display: block;
margin: 0 auto;
}

.feature_catch {
font-size: 3.2rem;
font-weight: bold;
color: #43b14f;
margin-bottom: 30px;
position: relative;
text-align: center;
}
.feature_catch span {
font-size: 3.2rem;
font-weight: bold;
color: #fc7e2a;
margin-bottom: 30px;
}
.feature_catch::after {
content: "";
display: block;
width: 100%;
height: 12px;
margin-top: 10px;
background-image: repeating-radial-gradient(circle, #43b14f 0px, #43b14f 2px, transparent 2px, transparent 10px);
background-position: left center;
background-size: 12px 12px;
}
.feature_txt {
font-size: 1.7rem;
color: #2a2a2a;
line-height: 2.2;
text-align: justify;
margin: 0 auto;
}
.feature3_box {
display: flex;
position: relative;
gap: 60px;
align-items: center;
}
.feature3_i {
width: 520px;
border-radius: 16px;
overflow: hidden;
flex-shrink: 0;
}
.feature3_i img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.feature3_bg {
flex: 1;
padding: 90px 0 0;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
align-items: center;
}



/* =====================================
commoninfo
===================================== */   

.commoninfo__ww {
width: 100%;
background: #f5f3f3;
background-size: cover;
padding: 60px 0;
}
.commoninfo_1 {
width: 1200px;
margin: 0 auto 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
column-gap: 50px;
}
.clinic_info {
width: 540px;
}

.commoninfo1 {
width: 100%;
margin: 0 0 25px;
}
.commoninfo1 img {
width: 70%;
display: inline-block;
}

.commoninfo2 {
display: flex;

flex-wrap: wrap;
margin: 0 0 20px 0;
width: 100%;
font-size: 3rem;
line-height: 1;
color: #151a5a;

font-weight: bold;
}
.commoninfo2 a {
width: 100%;
display: block;
font-size: 3.5rem;
font-weight: 500;
line-height: 1;
}
.commoninfo2 a span::before {
content: "";
background: url(../images/ic_tel.svg);
display: inline-block;
width: 2.5rem;
height: 2.5rem;
margin: 0 6px 0 0;
vertical-align: bottom;
}    
.commoninfo4 {
width: 100%;
margin: 0 0 20px 0;
}
.commoninfo6 {
line-height: 1.5;
font-size: 1.6rem;
}


.clinic_hours {}
.footer_timetable_w {
width: 100%;
}
.footer_timetable {
width: 100%;
background: #fff;
margin: 0 auto;
}
.footer_timetable th:first-child {
width: 30%;
}
.footer_timetable th {
background: #ece5e5;
text-align: center;
font-weight: 500;
line-height: 1;
width: 10%;
font-size: 2rem;
padding: 15px 0;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
}
.footer_timetable td {
background: #fdfdfd;
text-align: center;
font-weight: 500;
font-size: 2.2rem;
line-height: 1;
width: 10%;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
padding: 20px 0;
}
.footer_timetable td:first-child {
width: 30%;
background: #ffffff;
}
.footer_timetable_sp {
display: inline;
}
.footer_timetable td span.open {
color: #fba804;
position: relative;
}
.footer_timetable td span.closed {}
.footer_timetable td span.note::after {
content: "※";
position: absolute;
top: -0.5em;
right: -1em;
font-size: 1.8rem;
color: #01348b;
line-height: 1;
}
.footer_timetable_remark {
width: 100%;
}
.footer_timetable_remark > .closed {
display: block;
margin: 0 0 20px;
}
.footer_timetable_remark > .repletion {
display: block;
padding-left: 2.5em;
text-indent: -2.5em;
color: #01348b;
}
.footer_timetable_remark > .repletion span.open {
color: #ea631b;
}
.parking_info {
display: inline-block;
padding: 10px 20px;
background-color: #43b14f;
border: solid 3px #addbb2;
color: #fff;
font-size: 1.8rem;
border-radius: 8px;
text-decoration: none;
text-align: center;
}    


.footer_access {
flex: 1;
}
.footer_access iframe {
width: 100%;
height: 480px;
}


/* =====================================
footer
===================================== */   

footer {
width: 100%;
background: #f5f3f3;
}

.sitemap__w {
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 100%;
margin: 0 0 20px;
}
.sitemap1 {
margin: 0 40px 0 0;
line-height: 2.7;
letter-spacing: .01rem;
}
.sitemap1:last-child {
margin: 0 0 0 0;
}
.sitemap2 {
width: 100%;
font-weight: 500;
font-size: 1.8rem;
}
.sitemap2 a {}

.footer_bottom {
width: 100%;
}
.copyright {
width: 100%;
background: #fc7e2a;
text-align: center;
color: #fff;
font-size: 1.4rem;
padding: 20px 0;
}    



.access8:last-child .access10 {
padding: 3rem 0 0;
}


/* =====================================
共通
===================================== */

.subpagetitle__w {
width: 100%;
padding: 60px 0;
position: relative;
}
.subpagetitle__w::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.subpagetitle__w1 {
background: linear-gradient(rgb(0 52 139 / 30%), rgb(0 52 139 / 30%)), url(../images/subpagetitle.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w2 {
background: linear-gradient(rgb(0 52 139 / 30%), rgb(0 52 139 / 30%)), url(../images/subpagetitle.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w3 {
background: linear-gradient(rgb(0 52 139 / 30%), rgb(0 52 139 / 30%)), url(../images/subpagetitle.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w4 {
background: linear-gradient(rgb(0 52 139 / 30%), rgb(0 52 139 / 30%)), url(../images/subpagetitle.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w5 {
background: linear-gradient(rgb(0 52 139 / 30%), rgb(0 52 139 / 30%)), url(../images/subpagetitle.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle1 {
text-align: center;
position: relative;
z-index: 10;
}
.subpagetitle1 h2 {
font-size: 3.2rem;
letter-spacing: .5rem;
text-align: center;
margin: 0 auto;
color: #ffffff;
font-weight: 500;
}
.subpagetitle1 h2 span {
display: inline-block;
margin: 0 auto;
}
.subpagetitle1 h2 span::after {
display: block;
font-size: 1.8rem;
letter-spacing: .2rem;
line-height: 1;
font-weight: 500;
color: #f8f5f0;
}
.subpagetitle1a h2 span::after {
content: "MEDICAL";
}
.subpagetitle1b h2 span::after {
content: "INSPECTION";
}
.subpagetitle1c h2 span::after {
content: "DOCTOR";
}
.subpagetitle1d h2 span::after {
content: "CLINIC";
}
.subpagetitle1e h2 span::after {
content: "ACCESS";
}
.subpagetitle1f h2 span::after {
content: "NEWS";
}
.subpagetitle1g h2 span::after {
content: "BRAIN DOCK";
}
.subpagetitle1h h2 span::after {
content: "HEADACHE";
}
.subpagetitle1i h2 span::after {
content: "TRAINING";
}
.subpage__w2 {
width: 100%;
background: #ebeae8;
padding: 80px 0 110px;
}

/*ページ内ナビ*/    
.subpage0 {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
border-radius: 10px;
}

.subpage7 {
width: 100%;
}
.subpage7 ul {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
flex-direction: row;
column-gap: 20px;
grid-row-gap: 20px;
}
.subpage7 ul li {
width: calc((100% - 40px) / 3);
}
.subpage7 ul li a {
display: block;
width: 100%;
margin: 0 auto;
background: #1eaa39;
padding: 25px 0;
text-align: center;
letter-spacing: -.005rem;
color: #ffffff;
font-weight: 500;
font-size: 2rem;
line-height: 1;
position: relative;
border-radius: 5px;
}
.subpage7 ul li a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage7 ul li a span {
width: 100%;
}
.subpage7 ul li span::after {
content: "";
background: url("../images/ic_arrow4.svg");
display: inline-block;
width: 1.5rem;
height: 1.5rem;
position: absolute;
top: 30px;
right: 20px;
transform: rotate(90deg);
opacity: .9;
}
/*ページ内ナビ　end*/ 




.subpage1 {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
padding: 60px 50px 70px;
border-radius: 10px;
border: solid 1px #d3e5e9;
}
.subpage2 {
width: 100%;
margin: 0 0 50px 0;
}
.subpage2 h2 {
font-size: 3.7rem;
font-weight: 500;
letter-spacing: .3rem;
line-height: 1;
text-align: center;
border-bottom: 10px solid #f7f7f7;
padding: 0 0 30px 0;
}
.subpage3 {
width: 100%;
padding: 0 10px;
line-height: 1.8;
text-align: justify;
}

.subpage3 h4 {
font-size: 2rem;
letter-spacing: .04rem;
line-height: 1.2;
padding: 0 0 10px;
font-weight: 500;
font-family: YakuHanRP, 'Zen Maru Gothic', serif;
}
.subpage5 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #ffffff;
border-radius: 10px;
border: solid 1px #e1e1e1;
margin: 2.5rem 0 0;
}
.subpage5 ul {
width: 100%;
display: flex;
list-style: none;
flex-wrap: wrap;
}
.subpage5 ul li:last-child {
margin: 0 0 0 0;
}
.subpage5 ul li span {
width: 100%;
}
.subpage5 ul li {
width: 100%;
margin: 0 0 15px 0;
position: relative;
padding-left: 2.4rem;
font-size: 1.8rem;
letter-spacing: .1rem;
line-height: 1.6;
}
.subpage5 ul li span::before {
content: "●";
position: absolute;
left: 0;
top: 0.4rem;
font-size: 1.6rem;
color: #43b14f;
line-height: 1;
}
.subpage5 p.notice_red {
color: #e50012;
font-size: 2rem;
margin: 0 0 15px calc(2rem + 10px);
}

.subpage8 {
width: 100%;
}
.subpage8 h3 {
font-size: 2.4rem;
letter-spacing: .1rem;
line-height: 1.2;
padding-left: 20px;
font-weight: 700;
position: relative;
}
.subpage8 h3::before {
border-left: 5px solid #43b14f;
content: "";
height: 100%;
left: 0;
position: absolute;
top: 0;
}
.subpage8-content {
width: 100%;
}
.subpage8-content h4 {
display: flex;
align-items: center;
font-weight: 700;
font-size: 2rem;
}
.subpage8-content h4::before {
content: "■";
color: rgb(255 156 41);
font-size: 1.8rem;
margin: 0px 5px 0px 0px;
}   
.subpage13 {
display: inline-block;
margin: -5.5rem 0 0 0;
background: #45b251;
color: #ffffff;
text-align: center;
padding: 12px 30px;
border-radius: 5px;
position: absolute;
font-size: 1.8rem;
line-height: 1.4;
}
.subpage89 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #f8f9fa;
border-radius: 10px;
border: solid 1px #c6e6c9;
}
.subpage89 .ttl {
font-size: 2rem;
font-weight: 600;
color: #43b14f;
}
.subpage89 ul li {
width: 100%;
margin: 0 0 15px 0;
position: relative;
padding-left: 1rem;
font-size: 1.8rem;
letter-spacing: .1rem;
line-height: 1.4;
}
.subpage89 ul li:last-child {
margin: 0;
}
.subpage89 ul li span::before {
content: "";
display: inline-block;
width: 1.6rem;
height: 1.6rem;
background: url(../images/ic_check.svg) 0% 0% / cover;
margin: 0px 10px 0px 0px;
}
.subpage90 {
width: 100%;
position: relative;
padding: 30px 30px;
background: #ffffff;
border-radius: 10px;
border: solid 1px #e1e1e1;
}
.subpage90 ul {
width: 100%;
display: flex;
list-style: none;
flex-wrap: wrap;
}
.subpage90 ul li:last-child {
margin: 0 0 0 0;
}
.subpage90 ul li span {
width: 100%;
}
.subpage90 ul li {
width: 100%;
margin: 0 0 15px 0;
position: relative;
padding-left: 2.4rem;
font-size: 1.8rem;
letter-spacing: .1rem;
line-height: 1.6;
}
.subpage90 ul li span::before {
content: "●";
position: absolute;
left: 0;
top: 0.4rem;
font-size: 1.6rem;
color: #43b14f;
line-height: 1;
}
.subpage91 {
width: 100%;
}
.subpage91 ul {
  width: 100%;
display: flex;
justify-content: flex-start;
gap: 2rem;
flex-wrap: wrap;
margin: 0 0 60px;
align-items: center;
}
.subpage91 ul li {
width: calc((100% - 4rem) / 3);
}
.subpage91 ul li a {
display: block;
width: 100%;
margin: 0 auto;
padding: 25px 0 25px 40px;
text-align: center;
letter-spacing: -.005rem;
/* border: 1px solid #d7d7d7; */
background: #f8f9fa;
font-weight: 500;
font-size: 1.7rem;
line-height: 1;
position: relative;
border-radius: 50px;
box-shadow: 0 2px 0 rgb(0 0 0 / 10%);
}
.subpage91 ul li a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage91 ul li a span {
width: 100%;
}
.subpage91 ul li span::before {
content: "";
background: url(../images/ic_kenshin.svg);
background-repeat: no-repeat;
display: inline-block;
width: 3.5rem;
height: 3.5rem;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 20px;
opacity: .9;
}
.subpage92 {
display: inline-block;
padding: 0 0 0 2.5rem;
font-size: 2rem;
font-weight: 600;
position: relative;
margin: 0 0 10px;
color: #fc7e2a;
width: 100%;
}
.subpage92::before {
content: "■";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
font-size: 1.6rem;
}
.subpage93 {
margin: 0 0 20px;
width: 100%;
}
.subpage93 h2 {
position: relative;
font-size: 2.3rem;
font-weight: 600;
color: #43b14f;
}
.subpage94 {
width: 100%;
margin: 15px 0 10px 0;
}
.subpage94 span {
display: inline-block;
background: #fffff4;
text-align: center;
padding: 10px 15px;
}
.subpage95 {
width: 100%;
padding: 0 10px;
}
.subpage95 ul {
list-style: none;
margin: 0;
padding: 0;
}
.subpage95 li {
position: relative;
padding-left: 2rem;
margin-bottom: 10px;
font-size: 1.6rem;
line-height: 1.6;
letter-spacing: .1rem;
}
.subpage95 li::before {
content: "●";
position: absolute;
left: 0;
top: 0.3rem;
font-size: 1.3rem;
}
.subpage95 li:last-child {
margin-bottom: 0;
}
.subpage96 {
width: 100%;
padding: 30px;
background: #f8f9fa;
border-radius: 10px;
border: 1px solid #c6e6c9;
}
.subpage96 ul {
margin: 0;
padding: 0;
list-style: none;
}
.subpage96 ul li {
position: relative;
padding-left: 2.6rem;
margin: 0 0 15px 0;
font-size: 1.8rem;
letter-spacing: .1rem;
line-height: 1.5;
}
.subpage96 ul li:last-child {
margin-bottom: 0;
}
.subpage96 ul li::before {
content: "";
position: absolute;
left: 0;
top: 0.6rem;
width: 1.6rem;
height: 1.6rem;
background: url(../images/ic_check.svg) no-repeat center / cover;
}
.subpage97 {
padding: 20px;
background: #f8f9fa;
border-radius: 10px;
}
.subpage98:last-child {
margin: 0;
}
.subpage98 {
margin-bottom: 30px;
padding: 0 10px;
width: 100%;
}
.subpage99 {
font-size: 2rem;
font-weight: 600;
padding-bottom: 4px;
border-bottom: 2px dotted;
display: inline-block;
margin-bottom: 10px;
color: #2281c7;
}
.subpage100 {
font-size: 1.8rem;
line-height: 1.7;
}
.subpage101 {
background: #fffff4;
padding: 30px 0 40px;
text-align: center;
margin: 40px auto 0;
width: 70%;
border-radius: 15px;
border: solid 3px #ffe4ae;
}
.subpage102 {
margin: 0 0 10px;
font-size: 1.8rem;
}

/* subpage */

/*医師紹介*/    
.doctor19 {
width: 100%;
margin: 20px 0 0;
font-size: 2.2rem;
font-weight: 500;
text-align: right;
}    
.doctor24 {
width: 700px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
gap: 50px;
}
.doctor25 {
width: 230px;
}
.doctor25 img {
border-radius: 5px;
}
.doctor26 {
flex: 1;
display: flex;
justify-content: center;
border-radius: 5px;
flex-direction: column;
align-items: center;
}

.doctor27 {
font-size: 2.2rem;
line-height: 1.4;
margin: 0 0 15px 0;
font-weight: 500;
letter-spacing: .25rem;
text-indent: .25rem;
font-family: 'Zen Maru Gothic', sans-serif;
}
.doctor28 {
font-size: 3.6rem;
font-weight: 500;
letter-spacing: 0.1em;
font-family: 'Zen Maru Gothic', sans-serif;
display: flex;
align-items: center;
}
.doctor28_s {
font-size: 2.6rem;
margin: 0 30px 0 0;
font-weight: 500;
letter-spacing: 0.1em;
text-indent: 0.2em;
font-family: 'Zen Maru Gothic', sans-serif;
}    
.doctor9 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
row-gap: 40px;
} 

.doctor15 {
width: 100%;
display: flex;
flex-direction: column;
}
.doctor15_w {
width: 100%;
display: flex;
gap: 30px;
}

.doctor11 {
display: block;
margin: 0 0 15px;
}
.doctor11 h3 {
/*font-size: 2.2rem;
color: #674d1c;
letter-spacing: .2rem;
font-weight: 600;
padding: 1rem;*/
font-size: 2rem;
color: #ffffff;
letter-spacing: .2rem;
font-weight: 500;
padding: .5rem 1.5rem .8rem;
background: #fc7e2a;
display: inline;
line-height: 2;
}    

.doctor16 {
background: #f9f9f9;
padding: 30px 30px;
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
line-height: 2;
flex-grow: 1;
border-radius: 10px;
}
.doctor16 ul li {
padding-left: 1em;
text-indent: -1em;
}    
.doctor_cv_flow {
background: #f9f9f9;
width: 100%;
margin: 0 auto;
line-height: 2;
position: relative;
}
.doctor_cv_flow::before {
content: "";
position: absolute;
left: 1em;
transform: translateX(-50%);
top: 0;
bottom: 0;
width: 1px;
background: #c5c5c5;
}
.doctor_cv_flow .cv_item {
position: relative;
padding-left: 3em;
}
.doctor_cv_flow .cv_item::before {
content: "";
position: absolute;
left: 1em;
transform: translateX(-50%);
top: 1rem;
width: 10px;
height: 10px;
background-color: #ffffff;
border-radius: 50%;
z-index: 1;
border: solid 2px #838383;
}
.doctor_cv_flow .cv_date {
display: inline-block;
width: 25%;
font-weight: bold;
vertical-align: top;
padding: 0 0 15px;
}
.doctor_cv_flow .cv_text {
display: inline-block;
width: 70%;
vertical-align: top;
padding: 0 0 15px;
}

/* 医師紹介 end */






/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
#fixnav.HeightMin {
position: fixed;
z-index: 999; /*最前面へ*/
animation: DownAnime 0.5s forwards;
top: 0;
width: 100%;
text-align: center;
}
#fixnav {
background: #ffffff;
display: flex;
align-items: center;
justify-content: center;
}
/*nav*/

/*
.inspection_list li {
list-style: none;
text-indent: -1em;
padding-left: 1em;
}
.recruit_w {
display: flex;
width: 100%;
margin: 0 0 30px;
}
.recruit_ttl {
font-size: 2.5rem;
color: #f57b43;
font-weight: bold;
flex: 1;
background: #fff1ea;
padding: 30px;
margin: 0 30px 0 0;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
}
.recruit_img {
width: 300px;
}
.recruit_img img {
width: 100%;
}
.recruit_tbl {
width: 100%;
}
.recruit_tbl table {
width: 100%;
margin: 0 auto;
border: 1px solid #ccc;
}
.recruit_tbl table td {
border: 1px solid #ccc;
padding: 15px 20px;
vertical-align: middle;
}
.recruit_tbl table tr td:first-child {
width: 20%;
text-align: center;
background: #f7f7f7;
font-size: 1.7rem;
}*/
/*
.top_bnr_w {
width: 100%;
background: #f5f5f5;
padding: 50px 0 50px;
}
.top_bnr {
margin: 0 auto 30px;
text-align: center;
display: flex;
justify-content: space-between;
width: 1200px;
}
.top_bnr a {
width: 48%;
}
.top_bnr a img {
width: 100%;
border: solid 1px #ccc;
}*/
/*
.contact_list {
width: 100%;
border-top: 1px solid #e6e6e6;
}
.contact_list th {
width: 55%;
background-color: #e5f5ee;
text-align: center;
}
.contact_list td, .contact_list th {
padding: 1.5rem 2rem;
border: 1px solid #e6e6e6;
}
.contact_list td {
width: 45%;
padding-right: 2rem;
}*/
/*    
.subpage_contact_bnr {
width: 480px;
margin: 30px 0 0;
}
.subpage_contact_bnr a img {
width: 100%;
border: solid 1px #ccc;
}
*/
/*
.topbnr_w {
width: 360px;
margin: 40px auto 0;
display: flex;
justify-content: center;
flex-wrap: wrap;
text-align: center;
}
.topbnr_ttl {
margin: 0 0 2rem 0;
}
.topbnr_ttl span {
display: inline-block;
padding: 5px 20px;
text-align: center;
background: #01348b;
color: #ffffff;
border-radius: 100px;
letter-spacing: 0;
font-size: 1.6rem;
}
.topbnr_1 {
width: 100%;
border: 1px solid #151a5a;
border-radius: 8px;
overflow: hidden;
}
.topbnr_1 img {
width: 100%;
}*/

/*診療案内*/    
/*------下層診療案内ナビ*/
.subpage_medical_menu {
display: flex;
flex-wrap: wrap;
justify-content: center;
margin: 0px auto 70px;
gap: 20px;
width: 1000px;
}
.menu_box {
aspect-ratio: 1 / 1;
width: calc((100% - 80px) / 5);
text-align: center;
border-radius: 20px;
}
.menu_box a {
width: 100%;
display: flex;
height: 100%;
color: rgb(68, 47, 6);
padding: 3.5rem 0px;
border-radius: 20px;
transition: 0.2s;
background: #ffffff;
box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}
.menu_subject_t {
display: flex;
width: 100%;
justify-content: center;
align-items: center;
flex-direction: column;
}
.menu_box div.icon {
width: 80px;
height: 80px;
display: block;
margin: 0px auto 10px;
}
.menu_box a span {
text-align: center;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: center;
height: 4rem;
font-size: 1.8rem;
line-height: 1.4;
letter-spacing: 0.1rem;
font-weight: 500;
font-family: "Zen Maru Gothic";
}
/*------下層診療案内ナビend*/    

/*------ボタン*/
.detail_btn_w {
width: 100%;
}
.detail_btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 12px;
padding: 15px 30px;
background: rgb(255 156 41);
color: #fff;
border-radius: 5px;
font-size: 1.8rem;
text-decoration: none;
line-height: 1.3;
transition: 0.3s;
white-space: nowrap;
box-shadow: 5px 5px 10px rgb(123 123 123 / 20%);
}
.detail_btn .icon {
display: inline-block;
width: 1.2rem;
height: 1.2rem;
background: url(../images/ic_arrow4.svg) center / cover no-repeat;
}
/*------ボタンend*/    
/*------紹介先*/ 
ul.referral_list li {
margin: 0 0 10px;
}
ul.referral_list li:last-child {
margin: 0;
}
ul.referral_list li a {
font-size: 1.8rem;
letter-spacing: .1rem;
line-height: 1.4;
}
/*------紹介先end*/   
/*診療案内end*/   


/*脳ドック*/    
.dock_caption {
position: relative;
padding: 1rem 3rem;
border: 1px solid #333;
background-color: #ffffff;
color: #333;
font-weight: bold;
font-size: 1.8rem;
border-radius: 3rem;
margin: 0 0 -20px;
left: 20px;
z-index: 2;
}
.dock_caption:before {
position: absolute;
top: 100%;
left: 50px;
transform: skew(-25deg);
height: 10px;
width: 10px;
border-right: 1px solid #333;
background-color: white;
content: "";
}
.dock_course {
width: 100%;
}
.dock_course h3 {
display: flex;
align-items: center;
padding: 1rem 1rem;
background-color: #f7f7f7;
font-weight: 600;
font-size: 2.3rem;
margin: 0 0 30px;
border-radius: 5px;
}
.dock_course h3::before {
display: inline-block;
width: 5px;
height: 1.5em;
margin-right: .5em;
background-color: #2589d0;
content: '';
}
.dock_price {
font-weight: 600;
font-size: 2.3rem;
display: inline-block;
}

.price_tbl {
width: 100%;
}
.price_tbl table {
width: 100%;
border: 1px solid #8e8383;
}
.price_tbl table td {
padding: 20px 30px;
border: 1px solid #d6d6d6;
vertical-align: middle;
}
.price_tbl table .price1 {
width: 20%;
text-align: center;
background: #f8fafc;
font-size: 1.6rem;
}
.price_tbl table .price2 {
text-align: left;
width: 80%;
}
.price_tbl table .price2 .check_list {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.price_tbl table .price2 .check_list li {
width: 48%;
padding-left: 2rem;
text-indent: -2rem;
line-height: 1.5;
margin: 0 0 15px 0;
font-size: 1.7rem;
}     
.price_tbl table .price2 .check_list li::before {
content: "●";
color: #1eaa39;
margin: 0 .5rem 0 0;
}
.price_tbl table .dock_detail {
list-style-type: none;
padding-left: 0;
}
.price_tbl table .dock_detail li {
padding-left: 1.9rem;
text-indent: -1.9rem;
margin: 0 0 20px;
}
.price_tbl table .dock_detail li:last-child {
margin: 0;
}
.price_tbl table .dock_detail li:before {
content: '';
display: inline-block;
width: 1.4rem;
height: 1.4rem;
background: #2589d0;
border-radius: 50%;
margin-right: 0.5rem;
}
.dock_attention {
padding: 30px 30px;
background: #fff9f9;
border-radius: 10px;
border: dotted 2px #ffaaaa;
}
.dock_attention_ttl {
color: #e73639;
font-size: 1.8rem;
margin: 0 0 10px;
font-weight: 600;
}
.dock_attention ul li {
padding-left: 1em;
text-indent: -1em;
margin: 0 0 10px;
}
.dock_attention ul li:last-child {
margin: 0;
}
/*脳ドック end*/    




/*各種検査・予防接種*/ 
.faq_item {
position: relative;
font-size: 2.4rem;
font-weight: 600;
letter-spacing: .02rem;
line-height: 2;
color: #43b14f;
padding: 10px 0;
margin: 0 0 20px;
}
.faq_item::after {
content: "";
width: 50px;
height: 2px;
position: absolute;
bottom: 0;
left: 0;
background-color: #43b14f;
}
/* --- Q（質問部分） --- */
.faq_block {
margin-bottom: 30px;
width: 100%;
}
.faq_block:last-child {
margin-bottom: 0;
}
.faq_q {
display: flex;
align-items: center;
margin-bottom: 10px;
line-height: 2;
}
.faq_q_label {
font-size: 2.5rem;
font-weight: 500;
margin-right: 15px;
}
.faq_q_text {
font-size: 2rem;
font-weight: 500;
}
/* --- A（回答部分） --- */
.faq_a {
background: #f8f9fa;
padding: 30px 20px;
border-radius: 6px;
display: flex;
width: 100%;
}
.faq_a_label {
font-size: 2.5rem;
font-weight: 500;
color: #43b14f;
margin-right: 15px;
flex-shrink: 0;
line-height: 1;
}
.faq_a_text {
font-size: 1.6rem;
line-height: 1.6;
}
/*各種検査・予防接種 end*/ 

/*クリニック案内*/
.clinic_catch {
font-size: 2.5rem;
font-weight: 500;
text-align: center;
margin: 0 0 40px;
}
.dashed-note_w {
width: 100%;
padding: 0 50px;
line-height: 1.8;
text-align: justify;
}
.dashed-note {
background-color: #fff;
background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), /* 点線1の色 */ linear-gradient(180deg, #ccc 1px, transparent 1px);
background-size: 8px 100%, /* 点線1のサイズ */ 100% 3.5em;
line-height: 3.5em;
padding-bottom: 1px;
}

/*----- access */
.access__w {
width: 1000px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access13 {
width: 100%;

}
.access14 {
width: 100%;
margin: 0 0 30px;
}
.access14 iframe {
width: 100%;
border-radius: 20px;
}    
.access1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 0 40px 0;
}
.access2 {
width: 100%;
text-align: center;
}
.access2 img {
width: 400px;
}
.access3 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
}
.access5 {
width: 100%;
}
.access5 a {
width: 100%;
display: block;
font-size: 4rem;
font-weight: 500;
line-height: 1;
}
.access5 a span {}
.access5 a span::before {
content: "";
background: url("../images/ic_tel.svg");
display: inline-block;
width: 3.2rem;
height: 3.2rem;
margin: 0 10px 0 0;
vertical-align: bottom;
}    
.accessmap__w{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
     margin: 0 0 30px;
}
.accessmap1 {
width: 65%;
text-align: center;
margin: 0 auto;
}
.accessmap1 img {
width: 100%;
border: 2px solid #d5d5d5;
border-radius: 3px;
padding: 20px 20px;
      background: #fff6e9;
}

.access7 {
width: 100%;
padding: 25px;
border-radius: 10px;
margin: 0 auto;
}
.access8 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: stretch;
margin: 0 0 5px 0;
}
.access8:first-child {}
.access8:last-child {}
.access9 {
width: 30%;
font-size: 1.8rem;
line-height: 1.2;
background: #f9f8f5;
padding: 25px 15px;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.access10 {
width: 66%;
line-height: 1.5;
font-weight: 500;
font-size: 1.6rem;
padding: 25px 0;
}
.access10 .medical_list {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access10 .medical_list li {
width: 48%;
padding-left: 2rem;
text-indent: -2rem;
line-height: 1.5;
margin: 0 0 15px 0;
font-size: 1.7rem;
}
.access10 .medical_list li::before {
content: "●";
color: #1db19d;
margin: 0 .5rem 0 0;
}
.access10 .medical_list li.green::before {
color: #45b251;
}
.access10 .medical_list li.orange::before {
color: #fba804;
}
.access10 .medical_list li:last-child, .access10 .medical_list li:nth-last-child(2) {
margin: 0;

}

.access10 .common_access1
{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access10 .common_access2
{
width: 100%;
margin: 0 0 10px 0;
}
.access10 .common_access2 span {
display: inline-block;
padding: 10px 20px;
text-align: center;
background: #fc7e2a;
color: #ffffff;
border-radius: 100px;
letter-spacing: 0;
font-size: 1.6rem;
}
.access10 .common_access3
{
width: 90%;
margin: 0 auto;
padding: 0 0 2rem 0;
font-size: 1.6rem;
}    

.parking_w{
display: flex;
flex-direction: row;
gap: 20px;

}
.parking_img{
width: 50%;

}
.parking_img img{
width: 100%;
}


.access_timetable {
width: 85%;
margin: 0 auto 20px;
background: #ffffff;
overflow: hidden;
}
.access_timetable table {
width: 100%;
background: #fff;
margin: 0 auto;
}
.access_timetable table th:first-child {
width: 30%;
}
.access_timetable table th {
background: #ece5e5;
text-align: center;
font-weight: 500;
line-height: 1;
width: 10%;
font-size: 2rem;
padding: 15px 0;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
}
.access_timetable table td {
background: #fdfdfd;
text-align: center;
font-weight: 500;
font-size: 2.2rem;
line-height: 1;
width: 10%;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
padding: 20px 0;
}
.access_timetable table td span.open {
color: #fba804;
position: relative;
}
.access_timetable_closeday {
width: 85%;
margin: 0 auto;
}
/*-----access end*/    


/*-----フロー */
.flow-item_w {
padding: 30px;
background: #f6fbf7;
border-radius: 10px;
}
.flow-item {
border-bottom: 1px solid #43b14f;
padding: 40px 20px;
position: relative;
display: flex;
}
.flow-item:first-of-type {
padding-top: 10px;
}
.flow-item.flow-last {
border-bottom: none;
padding-bottom: 10px;
}
/* 下の濃い▼（背景の線） */
.flow-item::after {
content: "";
position: absolute;
bottom: -22px;
left: 50%;
margin-left: -13px;
border: 11px solid transparent;
border-top: 11px solid #43b14f;
z-index: 1;
}
/* 手前の白▼（重ねる） */
.flow-item::before {
content: "";
position: absolute;
bottom: -20px;
left: 50%;
margin-left: -11.8px;
border: 10px solid transparent;
border-top: 10px solid #f6fbf7;
z-index: 2;
}
.flow-item.flow-last::after, .flow-item.flow-last::before {
content: none;
}
.count {
counter-increment: count;
}
.flow-item .tit-box {
width: 250px;
}
.flow-item .txt-box {
width: calc(100% - 250px);
}
.flow-item .tit {
font-size: 2rem;
color: #43b14f;
display: flex;
align-items: center;
line-height: 1.4;
font-weight: 500;
}
.number {
position: relative;
padding-left: 50px;
}
.count-num::before {
content: counter(count);
position: absolute;
left: 0;
top: -2px;
width: 33px;
height: 33px;
background: #43b14f;
color: #fff;
border-radius: 50%;
font-size: 1.8rem;
display: flex;
justify-content: center;
align-items: center;
}
/*-----フロー end*/

/*-----来院時の留意事項*/
.visit-notes {
width: 100%;
}
.vn-section {
margin-bottom: 30px;
}
.vn-section:last-child {
margin-bottom: 0;
}
.vn-title {
display: inline-block;
padding: 0 0 0 2.5rem;
font-size: 2rem;
font-weight: 600;
position: relative;
margin: 0 0 10px;
color: #fc7e2a;
}
.vn-title::before {
content: "■";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
font-size: 1.6rem;
}
.vn-list {
list-style: none;
margin: 0;
padding: 0 0 0 5px;
}
.vn-list li {
position: relative;
padding-left: 2.6rem;
margin-bottom: 12px;
font-size: 1.8rem;
line-height: 1.6;
}
.vn-list li:last-child {
margin-bottom: 0;
}
.vn-list li::before {
content: "";
position: absolute;
left: 0;
top: .8rem;
width: 1.6rem;
height: 1.6rem;
background: url(../images/ic_check2.svg) no-repeat center / contain;
}
/*-----来院時の留意事項end */
/* ------施設案内 */
.about1 {
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto;
}
.about2 {
width: 48%;
background: #F7F7F7;
border-radius: 30px 10px 10px 10px;
margin: 0 0 40px 0;
}
.about1 .about2:last-child, .about1 .about2:nth-last-child(2) {
margin: 0;
}
.about3 {
width: 100%;
margin: 0 0 15px 0;
}
.about3 img {
width: 100%;
border-radius: 10px 10px 0 0;
}
.about4 {
width: 100%;
font-size: 2.2rem;
text-align: center;
margin: 0 0 15px 0;
line-height: 1.4;
}
.about5 {
width: 100%;
padding: 0 20px;
margin: 0 0 20px 0;
font-size: 1.5rem;
letter-spacing: 0;
}
/* ------施設案内end */    

/*クリニック案内 end*/



/*-----頭痛診療予約 */
.headache_bnr {
position: relative;
display: flex;
width: 600px;
height: 160px;
border-radius: 10px;
overflow: hidden;
text-decoration: none;
color: inherit;
box-shadow: 0 0 20px rgb(0 0 0 / 12%);
}
.headache_bnr-img {
width: 40%;
height: 100%;
background-image: url(../images/bnr_headache.jpg);
background-size: cover;
background-position: center;
}
.headache_bnr-text {
width: 60%;
height: 100%;
background: #ffffff;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 15px;
box-sizing: border-box;
text-align: center;
color: #43b14f;
}
.headache_bnr-text h3 {
margin: 0 0 10px;
font-size: 2.8rem;
font-weight: 600;
}
.headache_bnr-btn {
padding: 8px 26px;
font-size: 1.8rem;
color: #fff;
background-color: #43b14f;
border-radius: 50px;
white-space: nowrap;
}  
/*-----頭痛診療予約 end*/

}
/* PC end */




/* sp */    
@media screen and (max-width:750px) {
.wrap {
padding: 0 0 7rem 0;
}

/* =====================================
header
===================================== */
header {
width: 100%;
}
.header9 {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}    
.header1 {
width: calc(100% - 60px);
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 3vw 0;
gap: .5rem;
align-items: center;
}
.header2 {
width: 80%;
margin: 0 auto;
}
.header2 .logo {}
.header2 .logo a {
display: block;
}
.header2 .logo a2 img {
width: 100%;
}

/* =====================================
nav
===================================== */
/*ボタンのためのCSS*/
.openbtn {
position: fixed;
z-index: 9999; /*ボタンを最前面に*/
top: 1vw;
right: 1vw;
cursor: pointer;
width: 50px;
height: 50px;
}

.openbtn span {
display: inline-block;
transition: all .4s;
position: absolute;
left: 14px;
height: 3px;
border-radius: 2px;
background-color: #fc7e2a;
width: 45%;
}

.openbtn span:nth-of-type(1) {
top: 15px;
}
.openbtn span:nth-of-type(2) {
top: 23px;
}
.openbtn span:nth-of-type(3) {
top: 31px;
}

.active span {
display: inline-block;
transition: all .4s;
position: absolute;
left: 14px;
height: 3px;
border-radius: 2px;
background-color: #fc7e2a !important;
width: 45%;
}    
.openbtn.active span:nth-of-type(1) {
top: 18px;
left: 18px;
transform: translateY(6px) rotate(-45deg);
width: 30%;
}
.openbtn.active span:nth-of-type(2) {
opacity: 0;
}
.openbtn.active span:nth-of-type(3) {
top: 30px;
left: 18px;
transform: translateY(-6px) rotate(45deg);
width: 30%;
}



#g-nav {
position: fixed;
z-index: -1;
opacity: 0;
top: 0;
left: 0;
width: 100%;
height: 100vh;
background: #f5f3f3;
transition: all 0.3s;
}
#g-nav .main-nav {
display: none;
list-style: none;
margin: 0;
padding: 0;
}    

#g-nav.panelactive {
z-index: 999;
opacity: 1;
}
#g-nav.panelactive .main-nav {
display: flex !important;
flex-direction: column;
justify-content: flex-start;
width: 100%;
margin: 15vw 0 0 0;
}

#g-nav .navli1 {
width: 100%;
position: relative;
border-bottom: 1px solid #d5d4d4;
box-sizing: border-box;
}
#g-nav .navli1 > a.nav_link {
display: block;
position: relative;
font-size: 1.6rem;
line-height: 1.5;
text-decoration: none;
color: #000;
padding-right: 4rem;
padding: 1.6rem 2.4rem;
}
#g-nav .navli1:not(.has-subnav) > a.nav_link::after {
content: "";
position: absolute;
top: 50%;
width: 8px;
height: 8px;
border: 2px solid #fc7e2a;
border-left: 0;
border-top: 0;
transform: translateY(-50%) rotate(-45deg);
pointer-events: none;
right: 25px;
}
#g-nav .navli1:last-child {
border-bottom: none;
}


/*アコーディオンボタン付きのli*/
/*    
#g-nav .has-subnav > a.nav_link {
padding-right: 0;
}
#g-nav .has-subnav > a.nav_link::after {
display: none;
}
.nav_link_dropdown {
position: absolute;
background: none;
border: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
width: 3.6rem;
height: 3.6rem;
margin-right: 0;
padding: 0;
top: 1.3rem;
right: 1.3rem;
justify-content: center;
display: flex;
align-items: center;
}
.nav_link_dropdown::after {
content: '';
width: 10px;
height: 10px;
border-bottom: 2px solid #01348b;
border-right: 2px solid #01348b;
transform: rotate(45deg);
transition: transform 0.3s ease;
display: block;
}
.nav_link_dropdown.open::after {
transform: rotate(-135deg);
}*/



/* ------------------------------
サブメニュー
------------------------------ */
/*.subnav_wrap {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease;
background: transparent;
border-top: 1px solid #ccc;
margin-top: -1px;
}
.subnav_wrap.active {
max-height: 500px;
background: #fff;
padding: 0 2.4rem;
}
.subnav_list {
list-style: none;
padding: 0;
margin: 0;
}
.subnav_list li {
border-bottom: 1px solid #ccc;
padding: 2rem 0;
}
.subnav_list li:last-child {
border-bottom: none;
}
.subnav_list li a {
font-size: 1.4rem;
text-decoration: none;
color: #333;
display: block;
line-height: 1.5;
}
*/

/*
nav ul li.has-child dt {
overflow: hidden;
margin: 0 0 1vw 0;
}
nav ul li.has-child dd {
padding: 1vw 0;
font-weight: 500;
letter-spacing: -.05rem;
}
nav ul li.has-child dd.has-child-last {
padding: 0;
}
#g-nav li.navbnr a {
background: #02b2bf;
color: #fff;
}*/



/* =====================================
slider
===================================== */
.swiper {
width: 100%;
height: 100%;
}
.swiper-slide {
text-align: center;
font-size: 18px;
background: #fff;
/* Center slide text vertically */
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
.swiper-slide img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.mv-corner-tag {
width: 130px;
height: 130px;
border-radius: 50%;
text-align: center;
letter-spacing: .08em;
font-size: 1.7rem;
line-height: 1.4;
background: rgb(255 255 255 / 80%);
padding: 20px 0 20px 0;
position: absolute;
z-index: 1;
bottom: 5%;
right: 5%;
display: flex;
align-items: center;
justify-content: center;
color: #01348b;
}
.mv-corner-tag div span {
color: #e95513;
font-size: 3.5rem;
line-height: .6;
}
.swiper-button-next:after, .swiper-button-prev:after {
display: none;
}

/* =====================================
pagetop
===================================== */    
#page-top {
position: fixed;
bottom: 23vw;
right: 1rem;
z-index: 99;
opacity: .9;
}
#page-top a {
width: 8vw;
display: block;
opacity: 0.9;
transition: all .3s ease;
}
#page-top a:hover {
text-decoration: none;
opacity: .5;
}
#page-top a img {
width: 100%;
display: block;
}

/* =====================================
news
===================================== */      
.news__w {
width: 100%;
background: rgb(255, 255, 255);
padding: 4rem 0px;
}
.news__wi {
width: 85%;
display: flex;
justify-content: space-between;
min-height: 300px;
flex-direction: column;
flex-wrap: wrap;
margin: 0px auto;
background: rgb(255, 255, 255);
position: relative;
}
.news__wi h2 {
text-align: center;
font-size: 2rem;
font-weight: 400;
letter-spacing: .2rem;
line-height: 1.4;
position: relative;
z-index: 2;
}
.news__wi h2 span {
display: inline-block;
margin: 0 auto;
font-size: 1.8rem;
letter-spacing: 0.2rem;
font-family: 'Zen Maru Gothic', sans-serif;
font-weight: 500;
}
.news__wi h2 span::before {
content: "INFORMATION";
display: block;
font-size: 2.8rem;
letter-spacing: .1rem;
color: #fc7e2a;
}
.topnews__w {
width: 100%;
padding: 4rem 0 4rem;
background: #ffffff;
}
.topnews1 {
width: 100%;
}
.topnews1 h2 {
text-align: center;
font-size: 1.6rem;
font-weight: 400;
color: #01348b;
letter-spacing: .2rem;
}
.topnews1 h2 span {
line-height: 1;
}
.topnews1 h2 span::before {
content: "NEWS";
display: block;
width: 100%;
text-align: center;
font-size: 2.6rem;
font-weight: 400;
font-family: 'Playfair Display', serif;
color: #98aed2;
}
.news_deco {
background-image: url(../images/info_deco1.jpg);
background-repeat: no-repeat;
background-size: contain;
background-position: bottom;
width: 160px;
height: 160px;
position: absolute;
top: -4rem;
left: -10%;
z-index: 1;
}    
.news_kiji__w {
width: 100%;
/*height: 100%;*/
/*height: 300px;*/
position: relative;
z-index: 2;
display: flex;
flex-wrap: wrap;
}    
.news_kiji__w iframe {
width: 100%;
/*height: 100%;*/
height: 50vh;    
    
}    
/*
.news_iframe__w {
width: 90%;
margin: 0 auto;
}*/
/*
.newskiji__w {
background: #f5f5f5;
width: 100%;
height: 300px;
padding: 2rem 0 2rem 2rem;
}*/



.newskiji1 {
margin: 0 auto 4vw;
padding: 0 0 4vw 0;
border-bottom: 1px dotted #cac8bc;
}
.newskiji2 {
width: 100%;
font-size: 1.2rem;
color: #9697A6;
margin: 0 0 0 0;
}
.newskiji3 {
width: 100%;
}
.newskiji4 {
width: 100%;
font-size: 1.5rem;
color: #43b14f;
margin: 0 0 1vw 0;
line-height: 1.4;
font-weight: 700;
}
.newskiji5 {
width: 100%;
line-height: 1.4;
font-size: 1.3rem;
}

/* =====================================
bnr
===================================== */   

.banner-container__w {
background: #f8f5f0;
padding: 4rem 0 4rem 0;
z-index: 2;
position: relative;
}
.banner-container {
width: 90%;
display: flex;
justify-content: space-between;
gap: 20px;
margin: 0 auto;
flex-direction: column;
}
.banner {
position: relative;
display: block;
width: 100%;
height: 130px;
/*border: 1px solid #ccc;*/
border-radius: 8px;
background-size: cover;
background-position: center;
overflow: hidden;
text-decoration: none;
color: inherit;
box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}

.bnr01 {
background-image: url("../images/bnr_headache.jpg");
}
.bnr02 {
background-image: url("../images/bnr_influenza.jpg");
}
.bnr03 {
background-image: url("../images/bnr_covid-19-vaccine.jpg");
}
.bnr01 > .banner-text {
color: #43b14f;
}
.bnr02 > .banner-text {
color: #4a97e4;
}
.bnr03 > .banner-text {
color: #fba804;
}
.bnr01 > .banner-btn {
background-color: #43b14f;
}
.bnr02 > .banner-btn {
background-color: #4a97e4;
}
.bnr03 > .banner-btn {
background-color: #fba804;
}    
.banner-text {
position: absolute;
top: 15%;
left: 50%;
transform: translateX(-50%);
width: 85%;
background-color: rgba(255, 255, 255, 0.7);
box-sizing: border-box;
text-align: center;
border-radius: 4px;
z-index: 2;
}
.banner-text h3 {
margin: 0;
font-size: 2rem;
line-height: 1.3;
height: 70px;
display: flex;
align-items: center;
justify-content: center;
font-weight: 500;
}
.banner-btn {
position: absolute;
bottom: 10px;
left: 50%;
transform: translateX(-50%);
display: inline-block;
padding: 5px 20px;
font-size: 1.6rem;
color: #fff;
border-radius: 50px;
text-align: center;
white-space: nowrap;
z-index: 2;
}    



/* =====================================
timetable
===================================== */  

.toptimetable__w {
width: 100%;
padding: 4rem 0 4rem;
background: #ffffff;
}
.timetable__wi {
width: 100%;
margin: 0 auto;
display: flex;
justify-content: space-between;
background: #fff;
column-gap: 40px;
position: relative;
flex-direction: column;
}

.toptimetable1 {
width: 100%;
}
.toptimetable1 h2 {
text-align: center;
font-size: 2rem;
font-weight: 400;
letter-spacing: .2rem;
line-height: 1.4;
position: relative;
z-index: 2;
}
.toptimetable1 h2 span {
display: inline-block;
margin: 0 auto;
font-size: 1.8rem;
letter-spacing: 0.2rem;
font-family: 'Zen Maru Gothic', sans-serif;
font-weight: 500;
}
.toptimetable1 h2 span::before {
content: "TIMETABLE";
display: block;
font-size: 2.8rem;
letter-spacing: .1rem;
color: #fc7e2a;
}
.toptimetable2 {
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
margin: 0 auto;
position: relative;
z-index: 2;
}    


.toptimetable3 {
width: 100%;
}
.toptimetable4 {
width: 100%;
background: #fff;
margin: 0 auto;
}
.toptimetable4 th {
background: #ece5e5;
text-align: center;
font-weight: 500;
line-height: 1.2;
width: 10%;
font-size: 1.6rem;
padding: 1rem 0;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
}
.toptimetable4 th:first-child {
width: 23%;
}
.toptimetable4 td {
background: #fdfdfd;
text-align: center;
font-weight: 500;
font-size: 1.8rem;
line-height: 1;
width: 10%;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
padding: 1rem 0;
}
.toptimetable4 td:first-child {
width: 16%;
background: #ffffff;
}
.toptimetable4 td span.open {
color: #fba804;
position: relative;
}
.toptimetable4 td span.closed {}    


.toptimetable5 {
display: inline-block;
transform: rotate(90deg);
}
.toptimetable5 a {
display: inline-block;
text-align: center;
background: #fff;
font-size: 1.6rem;
color: #1ea189;
border: 1px solid #1ea189;
font-weight: 700;
line-height: 1;
box-shadow: 4px 4px 10px #ced1d8;
box-sizing: content-box;
width: 450px;
}
.toptimetable5 a:hover {
opacity: .7;
}
.toptimetable5 a img {
width: 100%;
}
.toptimetable6 {
width: 100%;
}
.toptimetable6 > .closed {
display: block;
text-align: left;
}
.toptimetable6 > .repletion {
display: block;
padding-left: 2.5em;
text-indent: -2.5em;
color: #01348b;
}
.toptimetable6 > .repletion span.open {
color: #ea631b;
}
.timetable_deco {
background-image: url(../images/schedule_deco1.jpg);
background-repeat: no-repeat;
background-size: contain;
background-position: bottom;
width: 130px;
height: 130px;
position: absolute;
top: -10%;
right: 0;
z-index: 1;
}    
/*
.toptimetable4 td span.note::after {
content: "※";
position: absolute;
top: -0.8em;
right: -0.4em;
font-size: 1.3rem;
color: #01348b;
line-height: 1;
}*/  
/* =====================================
medical
===================================== */  
.topmedical__w {
width: 100%;
padding: 4rem 0 4rem;
background: url(../images/medical_bg.jpg) center center no-repeat;
background-size: cover;
}
.topmedical1 {
width: 100%;
}
.topmedical1 h2 {
text-align: center;
font-size: 2rem;
font-weight: 400;
letter-spacing: .2rem;
line-height: 1.4;
}
.topmedical1 h2 span {
display: inline-block;
margin: 0 auto;
font-size: 1.8rem;
letter-spacing: 0.2rem;
font-family: 'Zen Maru Gothic', sans-serif;
font-weight: 500;
}
.topmedical1 h2 span::before {
content: "MEDICAL";
display: block;
font-size: 2.8rem;
letter-spacing: .1rem;
color: #fc7e2a;
}
.topmedical2 {
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 2rem 2rem;
}

.topsubject_box {
width: 45%;
aspect-ratio: 1 / 1;
text-align: center;
border-radius: 10px;
}
.topsubject_box a {
width: 100%;
display: flex;
height: 100%;
color: rgb(68, 47, 6);
padding: 3.5rem 0px;
border-radius: 5px;
transition: 0.2s;
background: #ffffff;
box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}

.topsubject_t {
display: flex;
width: 100%;
justify-content: center;
align-items: center;
flex-direction: column;
}    
.topsubject_box div.icon {
width: 60px;
height: 60px;
display: block;
margin: 0px auto 10px;
} 
.topmedical-icon img {
width: 100%;
height: auto;
display: block;
} 
.topsubject_box a span {
text-align: center;
display: inline-block;
font-size: 1.8rem;
line-height: 1.6;
letter-spacing: .1rem;
}
/*
.topmedical3 {
margin: 0 auto;
justify-content: space-between;
background: #fff;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
position: relative;
transition: all 0.3s ease;
align-items: flex-start;
width: 100%;
display: flex;
flex-direction: column;
}
.topmedical4 {
position: relative;
width: 100%;
margin: 0 auto;
}*/
/*
.topmedical-icon {
position: absolute;
bottom: -40px;
left: 50%;
transform: translateX(-50%);
width: 80px;
height: 80px;
z-index: 2;
background: #fff;
border-radius: 50%;
padding: 20px;
}*/

/* =====================================
feature
===================================== */  
.feature__w {
width: 100%;
padding: 4rem 0 4rem;
background: url(../images/feature_bg.jpg);
background-repeat: repeat;
background-size: 10%;
background-position: top left;
}
.feature1 {
width: 100%;
}
.feature1 h2 {
text-align: center;
font-size: 2rem;
font-weight: 400;
letter-spacing: .2rem;
line-height: 1.4;
}
.feature1 h2 span {
display: inline-block;
margin: 0 auto;
font-size: 1.8rem;
letter-spacing: 0.2rem;
font-family: 'Zen Maru Gothic', sans-serif;
font-weight: 500;
}
.feature1 h2 span::before {
content: "FEATURE";
display: block;
font-size: 2.8rem;
letter-spacing: .1rem;
color: #fc7e2a;
}
.feature__wi {
width: 100%;
margin: 0 auto;
position: relative;
gap: 30px;
display: flex;
flex-direction: column;
}
.feature2_box, .feature3_box {
display: flex;
flex-direction: column;
margin: 0 auto 0;
align-items: center;
position: relative;
overflow: visible;
width: 80%;
}

.feature2_i, .feature3_i {
width: 100%;
height: auto;
z-index: 1;
border-radius: 8px;
position: relative;
}
.feature2_i img, .feature3_i img {
width: 100%;
height: auto;
display: block;
object-fit: cover;
border-radius: 8px;
}    
.feature2_bg, .feature3_bg {
width: 100%;
margin: -2rem 0 0;
z-index: 2;
padding: 6rem 0 0;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
align-items: center;
}

.feature-icon-l {
position: absolute;
top: 0;
left: 0;
text-align: center;
z-index: 2;
width: 100%;
}
.feature-icon-l img {
width: 50px;
height: 50px;
object-fit: contain;
display: block;
margin: 0 auto;
}    

.feature_catch {
font-size: 2.2rem;
font-weight: bold;
color: #43b14f;
margin-bottom: 2rem;
position: relative;
text-align: center;
letter-spacing: 0.05rem;
}
.feature_catch span {
font-size: 2.2rem;
font-weight: bold;
color: #fc7e2a;
margin-bottom: 30px;
}
.feature_catch::after {
content: "";
display: block;
width: 100%;
height: 12px;
margin-top: 10px;
background-image: repeating-radial-gradient(circle, #43b14f 0px, #43b14f 2px, transparent 2px, transparent 10px);
background-position: left center;
background-size: 12px 12px;
}
.feature_txt {
font-size: 1.4rem;
color: #2a2a2a;
line-height: 1.6;
}
/*

.feature-label {
font-size: 1.6rem;
color: #8da6ce;
font-weight: 400;
font-family: 'Playfair Display', serif;
letter-spacing: 0.1em;
}
*/
/* =====================================
commoninfo
===================================== */  


.commoninfo__ww {
width: 100%;
padding: 4rem 0 0;
background: #f5f3f3;
}
.commoninfo_1 {
width: 100%;
margin: 0 auto 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
column-gap: 40px;
padding: 0 30px;
}
.clinic_info {
width: 100%;
text-align: center;
margin: 0 0 2rem;
}
.commoninfo1 {
width: 100%;
margin: 0 0 2rem;
}    
.commoninfo1 img {
width: 80%;
display: inline-block;
}


.commoninfo2 {
display: flex;
flex-wrap: wrap;
margin: 0 0 2rem 0;
width: 100%;
font-size: 3rem;
line-height: 1;
color: #151a5a;
font-weight: bold;
}    
.commoninfo2 a {
width: 100%;
display: block;
font-size: 3rem;
font-weight: 500;
line-height: 1;
}
.commoninfo2 a span::before {
content: "";
background: url(../images/ic_tel.svg);
display: inline-block;
width: 2.3rem;
height: 2.3rem;
margin: 0 6px 0 0;
}    
.commoninfo4 {
width: 100%;
margin: 0 0 20px 0;
}
.commoninfo6 {
line-height: 1.5;
font-size: 1.6rem;
}


.clinic_hours {
flex: 1;
}
.footer_timetable_w {
width: 100%;
}
.footer_timetable {
width: 100%;
background: #fff;
margin: 0 auto;
}
.footer_timetable td:first-child {
width: 16%;
background: #ffffff;
}
.footer_timetable th:first-child {
width: 23%;
}
.footer_timetable th {
background: #ece5e5;
text-align: center;
font-weight: 500;
line-height: 1.2;
width: 10%;
font-size: 1.6rem;
padding: 1rem 0;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
}
.footer_timetable td {
background: #fdfdfd;
text-align: center;
font-weight: 500;
font-size: 1.8rem;
line-height: 1;
width: 10%;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
padding: 1rem 0;
}
.footer_timetable_sp {
display: inline-block;
transform: rotate(90deg);
}
.footer_timetable td span.open {
color: #fba804;
position: relative;
}
.footer_timetable td span.closed {}
.footer_timetable td span.note::after {
content: "※";
position: absolute;
top: -0.8em;
right: -0.4em;
font-size: 1.3rem;
color: #01348b;
line-height: 1;
}
.footer_timetable_remark {
width: 100%;
}
.footer_timetable_remark > .closed {
display: block;
margin: 0 0 1rem;
text-align: left;
}
/*
.footer_timetable_remark > .repletion {
display: block;
padding-left: 2.5em;
text-indent: -2.5em;
color: #01348b;
}
.footer_timetable_remark > .repletion span.open {
color: #ea631b;
}*/
.parking_info {
display: inline-block;
padding: .5rem 2rem;
background-color: #43b14f;
border: solid 3px #addbb2;
color: #fff;
font-size: 1.6rem;
border-radius: 8px;
text-decoration: none;
text-align: center;
} 



.footer_access {
width: 100%;
}
.footer_access iframe {
width: 100%;
border-radius: 10px;
height: 40vh;
margin: 0 auto;
}


/* =====================================
footer
===================================== */  

footer {
width: 100%;
background: #f5f3f3;
}


.sitemap__w {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
width: 90%;
margin: 0 auto 0;
padding: 2rem 0;
column-gap: 1rem;
}
.sitemap1 {
line-height: 2.7;
letter-spacing: .01rem;
width: calc((100% - 1rem) / 2);
}
.sitemap2 {
width: 100%;
font-weight: 500;
font-size: 1.5rem;
}
.sitemap2 a {}
.sitemap2 a::before {
content: " – ";
font-weight: bold;
}
.footer_bottom {
width: 100%;
}

.copyright {
width: 100%;
background: #fc7e2a;
text-align: center;
color: #fff;
font-size: 1.2rem;
padding: 1rem 0;
}


/*

.commoninfo_inner {
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto 0;
gap: 2rem;
}
.common_map {
width: 100%;
}
.commoninfo19 {
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto 7vw;
}
.common_access {
width: 100%;
}
.common_access1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.common_access2 {
width: 100%;
margin: 0 0 1rem 0;
}
.common_access2 span {
display: inline-block;
padding: .8rem 2rem;
text-align: center;
background: #fc7e2a;
color: #ffffff;
border-radius: 100px;
letter-spacing: 0;
font-size: 1.4rem;
}
.common_access3 {
width: 90%;
margin: 0 auto;
padding: 0 0 2rem 0;
font-size: 1.4rem;
}
.common_access4 {
font-size: 1.4rem;
width: 90%;
margin: 0 auto;
text-align: center;
}
.common_access5 {
width: 100%;
font-size: 1.4rem;
display: inline-block;
text-align: left;
}
ul.common_access6 li {
margin-bottom: 1em;
padding-left: 1.2em;
text-indent: -1.2em;
}
ul.common_access6 li:before {
content: "●";
color: #6ca0d4;
padding-right: 0.2em;
}*/

/*    
.parking_w {
display: flex;
flex-direction: row;
gap: 20px;
}
.parking_img {
width: 50%;
}
.parking_img img {
width: 100%;
}*/
/*
.accessmap__w {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
margin: 0 0 30px;
}
.accessmap1 {
width: 90%;
text-align: center;
margin: 0 auto;
}
.accessmap1 img {
width: 100%;
border: 2px solid #d5d5d5;
border-radius: 3px;
padding: 1rem;
background: #fff6e9;
}
*/



/* footer */

/*
.footer1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
padding: 12vw 0 5vw;
padding: 6vw 0 5vw;
}
.footer2 {
width: 100%;
text-align: center;
margin: 0 0 5vw 0;
}
.footer2 img {
width: 70%;
}
.footer3 {
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
margin: 0 auto 5vw;
}
.footer4 {
display: block;
font-weight: 500;
font-size: 1.2rem;
letter-spacing: 0.05rem;
background: #36a34c;
color: #fff;
text-align: center;
padding: .3vw 2vw;
margin: 0 1vw 1vw 0;
border-radius: 2px;
}
.footer5 {
width: 100%;
text-align: center;
margin: 0 0 6vw 0;
}
.footer6 {
width: 100%;
font-weight: 500;
font-size: 1.4rem;
letter-spacing: 0.05rem;
}
.footer7 {
width: 100%;
}
.footer7 a {
width: 100%;
display: block;
font-size: 3.5rem;
color: #4c4948;
font-weight: 900;
line-height: 1;
}
.footer7 a span {}
.footer7 a span::before {
content: "";
background: url("../images/ic_tel.svg");
display: inline-block;
width: 2.7rem;
height: 2.7rem;
margin: 0 2vw 0 0;
vertical-align: bottom;
}
.footer8 {
width: 90%;
text-align: center;
margin: 0 auto 6vw;
}
.footer9 {
font-size: 1.2rem;
font-weight: 500;
padding: 1vw 1vw;
margin: 0 auto;
border-radius: 3px;
background: #f5f5f5;
width: 90%;
}
.footer10 {
display: inline-block;
background: #ffffff;
text-align: center;
padding: .2vw 1vw;
margin: 0 2vw 0 0;
color: #36a34c;
border-radius: 3px;
font-size: 1.2rem;
letter-spacing: 0;
border: 1px solid #36a34c;
width: 8rem;
}
.footer11 {
font-size: 1.2rem;
font-weight: 500;
padding: 1vw 1vw;
margin: 0 auto 2vw;
border-radius: 3px;
background: #f5f5f5;
width: 90%;
}
.footer12 {
display: inline-block;
background: #ffffff;
text-align: center;
padding: .2vw 1vw;
margin: 0 2vw 0 0;
color: #f57b43;
border-radius: 3px;
font-size: 1.2rem;
letter-spacing: 0;
border: 1px solid #f57b43;
width: 8rem;
}
.footer13 {
font-size: 1.2rem;
margin: 0 auto;
width: 100%;
text-align: center;
}
.footer14 {
margin: 0 auto 5vw;
width: 90%;
text-align: center;
}
.footer14 img {
width: 100%;
}
.footer15 {
margin: 0 auto;
width: 100%;
text-align: center;
background: #fffdf1;
padding: 6vw 0;
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.footer16 {
margin: 0 0 5vw 0;
width: 90%;
text-align: center;
}
.footer16 img {
width: 100%;
box-shadow: 4px 4px 10px #DCD8BE;
}
.footer16:last-child {
margin: 0 0 0 0;
}*/
/*
.footerbnr__w {
width: 90%;
display: flex;
justify-content: center;
background: #fff;
margin: 5vw auto 0;
flex-wrap: wrap;
}
.footerbnr__w a:first-child {
margin: 0 auto 15px;
}
.footerbnr__w a:nth-child(2) {
border: solid 1px #ccc;
}*/
/*
.footerbnr1 {
width: 32%;
text-align: center;
margin: 0 0 3vw 0;
}
.footerbnr1 a img {
width: 100%;
border: 1px dotted #dbdbdb;
box-shadow: 2px 2px 2px rgb(241 241 241 / 70%);
border-radius: 5px;
}

*/


/*
.sitemap3 {
font-size: 1.2rem;
padding: 0 0 0 3vw;
}
.sitemap3 a {
display: block;
width: 100%;
}
.googlemaps__w {
width: 100%;
text-align: center;
margin: 0 0 10vw 0;
}
.googlemaps__w iframe {
width: 90%;
height: 45vh;
}*/
/* footer */

/* sp footer */
.spfooternav__w {
width: 100%;
display: flex !important;
justify-content: space-between;
position: fixed;
bottom: 0;
z-index: 10;
height: 7rem;
border-top: 1px solid #ccc;
}
.spfooternav1 {
width: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
padding: 3vw 0;
background: #f5f3f3;
border-right: 1px solid #ccc;
}
.spfooternav1 a {
/*font-size: 3rem;*/
font-size: 2rem;
line-height: 1.5;
font-weight: 500;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.spfooternav1 a span {}
.spfooternav1 a span::before {
content: "";
background: url("../images/ic_tel.svg") no-repeat;
display: inline-block;
/*width: 2.3rem;
height: 2.3rem;*/
width: 1.6rem;
height: 1.6rem;
margin-right: .5rem;
}
.spfooternav2 {
width: 20%;
display: flex;
align-items: center;
justify-content: center;
background: #f5f3f3;
}
.spfooternav2 a {
padding: 2vh 0;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
font-size: 1.4rem;
color: #24282c;
letter-spacing: 0;
}
.spfooternav2 a span {}    
.spfooternav2 a span::before {
content: "";
background: url("../images/ic_access.svg") no-repeat;
display: block;
width: 2.5rem;
height: 2.5rem;
margin: 0 auto 1vw;
}

.spfooternav3 {
width: 30%;
display: flex;
align-items: center;
justify-content: center;
background: #f5f3f3;
border-right: 1px solid #ccc;
}
.spfooternav3 a {
padding: 2vh 0;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
font-size: 1.4rem;
color: #24282c;
letter-spacing: 0;
}
.spfooternav3 a span {}
.spfooternav3 a span::before {
content: "";
background: url("../images/ic_headache.svg") no-repeat;
display: block;
width: 2.5rem;
height: 2.5rem;
margin: 0 auto 1vw;
}
/*
.spfooternav5 {
font-size: 1.2rem;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
letter-spacing: 0.025rem;
margin: 0 0 0 0;
line-height: 1;
}*/
/* sp footer */



/* subpage */
.subpagetitle__w {
width: 100%;
padding: 5vw 0;
position: relative;
}
.subpagetitle__w::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.subpagetitle__w1 {
background: linear-gradient(rgb(0 52 139 / 30%), rgb(0 52 139 / 30%)), url(../images/subpagetitle.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w2 {
background: linear-gradient(rgb(0 52 139 / 30%), rgb(0 52 139 / 30%)), url(../images/subpagetitle.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w3 {
background: linear-gradient(rgb(0 52 139 / 30%), rgb(0 52 139 / 30%)), url(../images/subpagetitle.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w4 {
background: linear-gradient(rgb(0 52 139 / 30%), rgb(0 52 139 / 30%)), url(../images/subpagetitle.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle__w5 {
background: linear-gradient(rgb(0 52 139 / 30%), rgb(0 52 139 / 30%)), url(../images/subpagetitle.jpg) left center no-repeat;
background-size: cover;
}
.subpagetitle1 {
text-align: center;
position: relative;
z-index: 100;
}
.subpagetitle1 h2 {
font-size: 2rem;
letter-spacing: .2rem;
text-align: center;
margin: 0 auto;
color: #ffffff;
font-weight: 500;
}
.subpagetitle1 h2 span {}
.subpagetitle1 h2 span::after {
display: block;
font-size: 1.3rem;
letter-spacing: .2rem;
line-height: 1;
font-weight: 500;
color: #f8f5f0;
}
.subpagetitle1a h2 span::after {
content: "MEDICAL";
}
.subpagetitle1b h2 span::after {
content: "INSPECTION";
}
.subpagetitle1c h2 span::after {
content: "DOCTOR";
}
.subpagetitle1d h2 span::after {
content: "CLINIC";
}
.subpagetitle1e h2 span::after {
content: "ACCESS";
}
.subpagetitle1f h2 span::after {
content: "NEWS";
}
.subpagetitle1g h2 span::after {
content: "BRAIN DOCK";
}
.subpagetitle1h h2 span::after {
content: "HEADACHE";
}
.subpagetitle1i h2 span::after {
content: "TRAINING";
}
/*.subpagetitle2 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.subpagetitle3 {
width: 90%;
background: #fff;
padding: 2vw;
border-radius: 30px 10px 30px 10px;
margin: 0 auto;
}
.subpagetitle4 {
width: 100%;
}
.subpagetitle4 img {
border-radius: 30px 10px 30px 10px;
}
.subpage__w {
width: 100%;
background: #ffffff;
padding: 10vw 0 10vw;
}*/
.subpage__w2 {
width: 100%;
background: #ebeae8;
padding: 10vw 0 10vw;
}

/*ページ内ナビ*/   
.subpage0 {
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}


.subpage7 {
width: 100%;
}
.subpage7 ul {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.subpage7 ul li {
width: 48%;
margin: 0 0 4vw 0;
}
.subpage7 ul li:last-child {
margin: 0 0 0 0;
}
.subpage7 ul li a {
display: block;
width: 100%;
margin: 0 auto;
background: #1eaa39;
padding: 2vw 0;
text-align: center;
letter-spacing: -.005rem;
color: #fff;
box-shadow: 6px 6px 15px #ebebeb;
font-weight: 500;
font-size: 1.4rem;
line-height: 1.4;
position: relative;
border-radius: 3px;
}
.subpage7 ul li a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage7 ul li a span {
width: 100%;
display: block;
text-align: center;
}
.subpage7 ul li span::after {
content: "";
background: url("../images/ic_arrow4.svg");
display: block;
width: 1.2rem;
height: 1.2rem;
transform: rotate(90deg);
opacity: .9;
margin: 1.5vw auto 0;
}    
/*ページ内ナビ　end*/ 



.subpage1 {
width: 90%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
background: #fff;
padding: 6vw 5vw 6vw;
border-radius: 10px;
border: solid 1px #d3e5e9;
}
.subpage2 {
width: 100%;
margin: 0 0 5vw 0;
}
.subpage2 h2 {
font-size: 2.3rem;
font-weight: 500;
letter-spacing: .3rem;
line-height: 1;
text-align: center;
border-bottom: 5px solid #f7f7f7;
padding: 0 0 1.5rem 0;
}
.subpage3 {
width: 100%;
line-height: 1.8;
}

.subpage3 h4 {
font-size: 1.5rem;
letter-spacing: .04rem;
line-height: 1.2;
padding: 0 0 2vw;
font-weight: 500;
font-family: YakuHanRP, 'Zen Maru Gothic', serif;
}
.subpage5 {
width: 100%;
position: relative;
padding: 2rem 2rem;
background: #ffffff;
border-radius: 10px;
margin: 2.5rem 0 0;
border: solid 1px #e1e1e1;
}
.subpage5 ul {
width: 100%;
}
.subpage5 ul li {
width: 100%;
line-height: 1.8;
margin: 0 0 2vw 0;
padding-left: calc(1.6rem + 1vw);
position: relative;
}
.subpage5 ul li:last-child {
margin: 0 0 0 0;
}
.subpage5 ul li span {
width: 100%;
}
.subpage5 ul li span::before {
content: "●";
position: absolute;
left: 0;
top: 0.4rem;
font-size: 1.4rem;
color: #43b14f;
line-height: 1;
vertical-align: sub;
}
.subpage5 p.notice_red {
color: #e50012;
font-size: 1.6rem;
line-height: 1.5 !important;
margin: 0 0 2vw calc(1vw + 1.6rem);
}
.subpage8 {
width: 100%;
}
.subpage8 h3 {
font-size: 1.8rem;
letter-spacing: .1rem;
line-height: 1.2;
padding-left: 1.5rem;
font-weight: 700;
position: relative;
}
.subpage8 h3::before {
border-left: 5px solid #43b14f;
content: "";
height: 100%;
left: 0;
position: absolute;
top: 0;
}
/*.subpage8 h3:first-letter{
color: #009f88;
}*/
.subpage8-content {
width: 100%;
}
.subpage8-content h4 {
display: flex;
align-items: center;
font-weight: 700;
font-size: 1.6rem;
}
.subpage8-content h4::before {
content: "■";
color: rgb(255 156 41);
font-size: 1.6rem;
margin: 0px 5px 0px 0px;
}
.subpage13 {
display: inline-block;
margin: -4.5rem 0 0 0;
background: #45b251;
color: #fff;
padding: 1rem 2rem;
border-radius: 5px;
position: absolute;
font-size: 1.6rem;
line-height: 1.2;
}
.subpage89 {
width: 100%;
position: relative;
padding: 2rem 2rem;
background: #f8f9fa;
border-radius: 10px;
border: solid 1px #c6e6c9;
}
.subpage89 .ttl {
font-size: 1.6rem;
font-weight: 600;
color: #43b14f;
line-height: 1.6;
}
.subpage89 ul li {
width: 100%;
margin: 0 0 15px 0;
position: relative;
font-size: 1.5rem;
letter-spacing: .1rem;
line-height: 1.4;
padding-left: 2.5rem;
}
.subpage89 ul li:last-child {
margin: 0;
}
.subpage89 ul li span::before {
content: "";
display: inline-block;
width: 1.4rem;
height: 1.4rem;
background: url(../images/ic_check.svg) 0% 0% / cover;
position: absolute;
left: 0;
top: .5rem;
}
.subpage90 {
width: 100%;
position: relative;
padding: 2rem 2rem;
background: #ffffff;
border-radius: 10px;
border: solid 1px #e1e1e1;
}
.subpage90 ul {
width: 100%;
}
.subpage90 ul li {
width: 100%;
line-height: 1.8;
margin: 0 0 2vw 0;
padding-left: calc(1.6rem + 1vw);
position: relative;
}
.subpage90 ul li:last-child {
margin: 0 0 0 0;
}
.subpage90 ul li span {
width: 100%;
}
.subpage90 ul li span::before {
content: "●";
position: absolute;
left: 0;
top: 0.4rem;
font-size: 1.4rem;
color: #43b14f;
line-height: 1;
vertical-align: sub;
}
.subpage91 {
width: 100%;
}
.subpage91 ul {
width: 100%;
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
margin: 0 0 4rem;
gap: 1rem;
}
.subpage91 ul li {
width: 100%;
}
.subpage91 ul li a {
display: block;
width: 100%;
margin: 0 auto;
padding: 2rem 0 2rem 1rem;
text-align: center;
letter-spacing: -.005rem;
background: #f8f9fa;
font-weight: 500;
font-size: 1.5rem;
line-height: 1;
position: relative;
border-radius: 50px;
box-shadow: 0 1px 0 rgb(0 0 0 / 10%);
}
.subpage91 ul li a:hover {
transform: translateY(-3px);
opacity: .5;
}
.subpage91 ul li a span {
width: 100%;
}
.subpage91 ul li span::before {
content: "";
background: url(../images/ic_kenshin.svg);
background-repeat: no-repeat;
display: inline-block;
width: 3rem;
height: 3rem;
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 30px;
opacity: .9;
}
.subpage92 {
display: inline-block;
padding: 0 0 0 2rem;
font-size: 1.6rem;
font-weight: 600;
position: relative;
margin: 0 0 1rem;
color: #fc7e2a;
width: 100%;
line-height: 1.5;
}
.subpage92::before {
content: "■";
position: absolute;
left: 0;
top: 0;
font-size: 1.6rem;
}
.subpage93 {
margin: 0 0 1rem;
width: 100%;
}
.subpage93 h2 {
position: relative;
font-size: 1.8rem;
font-weight: 600;
color: #43b14f;
}
.subpage94 {
width: 100%;
margin: 15px 0 10px 0;
}
.subpage94 span {
display: inline-block;
background: #fffff4;
padding: 1rem;
}
.subpage95 {
width: 100%;
padding: 0 10px;
}
.subpage95 ul {
list-style: none;
margin: 0;
padding: 0;
}
.subpage95 li {
position: relative;
padding-left: 2rem;
margin-bottom: 10px;
line-height: 1.6;
letter-spacing: .1rem;
}
.subpage95 li::before {
content: "●";
position: absolute;
left: 0;
top: 0.3rem;
font-size: 1.3rem;
}
.subpage95 li:last-child {
margin-bottom: 0;
}
.subpage96 {
width: 100%;
padding: 2rem;
background: #f8f9fa;
border-radius: 10px;
border: 1px solid #c6e6c9;
}
.subpage96 ul {
margin: 0;
padding: 0;
list-style: none;
}
.subpage96 ul li {
position: relative;
padding-left: 2.6rem;
margin: 0 0 15px 0;
letter-spacing: .1rem;
line-height: 1.5;
}
.subpage96 ul li:last-child {
margin-bottom: 0;
}
.subpage96 ul li::before {
content: "";
position: absolute;
left: 0;
top: 0.3rem;
width: 1.4rem;
height: 1.4rem;
background: url(../images/ic_check.svg) no-repeat center / cover;
}
.subpage97 {
padding: 2rem;
background: #f8f9fa;
border-radius: 10px;
}
.subpage98:last-child {
margin: 0;
}
.subpage98 {
margin-bottom: 1rem;
width: 100%;
}
.subpage99 {
font-size: 1.6rem;
font-weight: 600;
padding-bottom: 4px;
border-bottom: 2px dotted;
display: inline-block;
margin-bottom: 10px;
color: #2281c7;
}
.subpage100 {
/*font-size: 1.8rem;
line-height: 1.7;*/
}
.subpage101 {
background: #fffff4;
padding: 1rem 1rem 2rem;
text-align: center;
margin: 2rem auto 0;
width: 100%;
border-radius: 10px;
border: solid 2px #ffe4ae;
}
.subpage102 {
margin: 0 0 10px;
font-size: 1.5rem;
}
/* subpage */





/*医師紹介*/  
.doctor19 {
width: 100%;
margin: 20px 0 0;
font-size: 1.8rem;
font-weight: 500;
text-align: right;
}
.doctor24 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
gap: 25px;
flex-direction: column;
}
.doctor25 {
width: 230px;
}
.doctor25 img {
border-radius: 5px;
}
.doctor26 {
flex: 1;
display: flex;
justify-content: center;
border-radius: 5px;
flex-direction: column;
align-items: center;
}
.doctor27 {
font-size: 1.8rem;
line-height: 1.4;
margin: 0 0 .5rem 0;
font-weight: 500;
letter-spacing: .25rem;
text-indent: .25rem;
font-family: 'Zen Maru Gothic', sans-serif;
/*width: 60%;
margin: 0 auto 15px;*/
}
.doctor28 {
font-size: 2.3rem;
font-weight: 500;
letter-spacing: 0.1em;
font-family: 'Zen Maru Gothic', sans-serif;
display: flex;
align-items: center;
}
.doctor28_s {
font-size: 1.8rem;
margin: 0 2rem 0 0;
font-weight: 500;
letter-spacing: 0.1em;
text-indent: 0.2em;
font-family: 'Zen Maru Gothic', sans-serif;
}
.doctor9 {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.doctor15 {
width: 100%;
}
.doctor15_w {
width: 100%;
}

.doctor11 {
display: block;
margin: 0 0 1rem;
}
.doctor11 h3 {
/*font-size: 1.8rem;
color: #674d1c;
letter-spacing: .2rem;
font-weight: 600;
padding: .5rem;*/
font-size: 1.8rem;
color: #ffffff;
letter-spacing: .2rem;
font-weight: 500;
padding: .5rem 1.5rem .8rem;
background: #fc7e2a;
display: inline;
line-height: 2;
}
.doctor16 {
background: #f9f9f9;
padding: 3vw 5vw;
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
line-height: 2;
border-radius: 10px;
}
.doctor_cv_flow {
background: #f9f9f9;
width: 100%;
margin: 0 auto;
line-height: 2;
position: relative;
}
.doctor_cv_flow::before {
display: none;
}
.doctor_cv_flow .cv_item {
position: relative;
padding: 0 0 1.5rem 1.5em;
border-left: 1px solid #c5c5c5;
}
.doctor_cv_flow .cv_item::before {
content: "";
position: absolute;
left: 0;
transform: translateX(-50%);
top: 0.6em;
width: 0.6em;
height: 0.6em;
background-color: #ffffff;
border-radius: 50%;
z-index: 2;
border: solid 1px #838383;
}
.doctor_cv_flow .cv_date {
display: block;
width: 100%;
font-weight: bold;
vertical-align: top;
padding: 0 0 8px;
}
.doctor_cv_flow .cv_text {
display: block;
width: 100%;
vertical-align: top;
padding: 0 0 8px;
padding-left: 1em;
}    
/* 医師紹介 end */




.access8:last-child .access10 {
padding: 3rem 0 0;
}



/*下層診療案内ナビ*/
.subpage_medical_menu {
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin: 0px auto 2rem;
gap: 1rem 1rem;
}
.menu_box {
aspect-ratio: 1 / 1;
width: calc((100% - 2rem) / 3);
text-align: center;
border-radius: 20px;
}
.menu_box a {
width: 100%;
display: flex;
height: 100%;
color: rgb(68, 47, 6);
padding: 3.5rem 0px;
border-radius: 5px;
transition: 0.2s;
background: #ffffff;
box-shadow: 0 0 20px rgb(0 0 0 / 10%);
}
.menu_subject_t {
display: flex;
width: 100%;
justify-content: center;
align-items: center;
flex-direction: column;
}
.menu_box div.icon {
width: 50px;
height: 50px;
display: block;
margin: 0px auto 10px;
}
.menu_box a span {
text-align: center;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: center;
height: 4rem;
font-size: 1.5rem;
line-height: 1.2;
letter-spacing: 0.1rem;
font-weight: 500;
font-family: "Zen Maru Gothic";
}
/*下層診療案内ナビend*/    

/*ボタン*/
.detail_btn_w {
width: 100%;
}
.detail_btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 1rem;
padding: 1rem 2rem;

background: rgb(255 156 41);
color: #fff;
border-radius: 5px;
font-size: 1.6rem;
text-decoration: none;
line-height: 1.3;
transition: 0.3s;
white-space: nowrap;
box-shadow: 5px 5px 10px rgb(123 123 123 / 20%);
}
.detail_btn .icon {
display: inline-block;
width: 1.2rem;
height: 1.2rem;
background: url(../images/ic_arrow4.svg) center / cover no-repeat;
}
/*ボタンend*/

/*脳ドック*/    
.dock_caption {
position: relative;
padding: .5rem 2rem;
border: 1px solid #333;
background-color: #ffffff;
color: #333;
font-weight: bold;
font-size: 1.6rem;
border-radius: 3rem;
margin: 0 auto -20px;
z-index: 2;
}
.dock_caption:before {
position: absolute;
top: 100%;
left: 50px;
transform: skew(-25deg);
height: 8px;
width: 8px;
border-right: 1px solid #333;
background-color: white;
content: "";
}
.dock_course {
width: 100%;
}
.dock_course h3 {
display: flex;
align-items: center;
padding: .5rem 1rem;
background-color: #f7f7f7;
font-weight: 600;
font-size: 1.8rem;
margin: 0 0 30px;
border-radius: 5px;
}
.dock_course h3::before {
display: inline-block;
width: 5px;
height: 1.5em;
margin-right: .5em;
background-color: #2589d0;
content: '';
}
.dock_price {
font-weight: 600;
font-size: 1.8rem;
display: inline-block;
}

.price_tbl table, .price_tbl table tbody, .price_tbl table tr, .price_tbl table td {
display: block;
width: 100%;
}
.price_tbl {
width: 100%;
}    
.price_tbl table {
border-right: 1px solid #e5e5e5;
border-left: 1px solid #e5e5e5;
border-bottom: 1px solid #e5e5e5;
}
.price_tbl table tr {
border-radius: 10px;
background: #fff;
}
.price_tbl table tr:last-child {
margin-bottom: 0;
}
.price_tbl table .price1 {
width: 100%;
background: #f8fafc;
padding: 1rem 2rem;
text-align: left;
font-size: 1.6rem;
border-bottom: 1px solid #e5e5e5;
border-top: 1px solid #e5e5e5;
}
.price_tbl table .price2 {
width: 100%;
padding: 2rem;
}
.price_tbl table .price2 .check_list {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: column;
}
.price_tbl table .price2 .check_list li {
width: 100%;
padding-left: 2rem;
text-indent: -2rem;
line-height: 1.5;
margin: 0 0 1rem 0;
}     
.price_tbl table .price2 .check_list li::before {
content: "●";
color: #1eaa39;
margin: 0 .5rem 0 0;
}
.dock_attention {
padding: 1rem 1.5rem;
background: #fff9f9;
border-radius: 10px;
border: dotted 2px #ffaaaa;
}
.dock_attention_ttl {
color: #e73639;
font-size: 1.6rem;
margin: 0 0 .5rem;
font-weight: 600;
}
.dock_attention ul li {
padding-left: 1em;
text-indent: -1em;
margin: 0 0 10px;
}
.dock_attention ul li:last-child {
margin: 0;
}

/*脳ドック end*/      



/*各種検査・予防接種*/        
.faq_item {
position: relative;
font-size: 1.8rem;
font-weight: 600;
letter-spacing: .02rem;
line-height: 2;
color: #43b14f;
padding: 10px 0;
margin: 0 0 20px;
}
.faq_item::after {
content: "";
width: 30px;
height: 1px;
position: absolute;
bottom: 0;
left: 0;
background-color: #43b14f;
}
/* --- Q（質問部分） --- */
.faq_block {
margin-bottom: 30px;
width: 100%;
}
.faq_block:last-child {
margin-bottom: 0;
}
.faq_q {
display: flex;
align-items: flex-start;
margin-bottom: 10px;
}
.faq_q_label {
font-size: 2rem;
font-weight: 500;
margin-right: 10px;
line-height: 1.5;
}
.faq_q_text {
font-size: 1.6rem;
font-weight: 500;
}
/* --- A（回答部分） --- */
.faq_a {
background: #f8f9fa;
padding: 2rem 1rem;
border-radius: 6px;
display: flex;
width: 100%;
}
.faq_a_label {
font-size: 2rem;
font-weight: 600;
color: #43b14f;
margin-right: 15px;
flex-shrink: 0;
line-height: 1;
}
.faq_a_text {
line-height: 1.6;
}
/*各種検査・予防接種 end*/   


/*クリニック案内*/  
.dashed-note_w {}
.clinic_catch {
font-size: 1.6rem;
font-weight: 500;
margin: 0 0 2rem;
text-align: center;
}
.dashed-note {
background-color: #fff;
background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), /* 点線1の色 */ linear-gradient(180deg, #ccc 1px, transparent 1px);
background-size: 8px 100%, /* 点線1のサイズ */ 100% 3em;
line-height: 3em;
padding-bottom: 1px;
margin: 0 0 2rem;
}

/*----- access */


/*----- access */
.access__w {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.access1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 0 3rem 0;
}
.access2 {
width: 100%;
text-align: center;
}
.access2 img {
width: 70%;
}
.access3 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
}
.access5 {
width: 100%;
}
.access5 a {
line-height: 1;
font-size: 3rem;
font-weight: 500;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.access5 a span {}
.access5 a span::before {
content: "";
background: url("../images/ic_tel.svg");
display: inline-block;
width: 2.2rem;
height: 2.2rem;
margin: 0 1.5vw 0 0;
vertical-align: bottom;
}
.accessmap__w{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
     margin: 0 0 30px;
}
.accessmap1 {
width: 90%;
text-align: center;
margin: 0 auto;
}
.accessmap1 img {
width: 100%;
border: 2px solid #d5d5d5;
border-radius: 3px;
padding: 1rem;
background: #fff6e9;
}
.access7 {
width: 100%;
margin: 0 0 10vw 0;
border-radius: 7px;
}
.access8 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: stretch;
margin: 0 0 1vw 0;
}
.access8:first-child {}
.access9 {
width: 100%;
text-align: center;
font-size: 1.2rem;
letter-spacing: .025rem;
line-height: 1.5;
background: #f9f8f5;
padding: 1rem;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.access10 {
width: 100%;
line-height: 1.5;
font-weight: 500;
font-size: 1.4rem;
letter-spacing: .025rem;
padding: 2rem 0;
display: flex;
flex-wrap: wrap;
align-items: center;
}
.access10 .medical_list {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: column;
}
.access10 .medical_list li {
width: 100%;
padding-left: 2rem;
text-indent: -2rem;
line-height: 1.5;
margin: 0 0 1rem 0;
}
.access10 .medical_list li::before {
content: "●";
color: #1db19d;
margin: 0 .5rem 0 0;
}
.access10 .medical_list li.green::before {
color: #45b251;
}
.access10 .medical_list li.orange::before {
color: #fba804;
}
.access10 .medical_list li:last-child, .access10 .medical_list li:nth-last-child(2) {
margin: 0;
}


.access10 .common_access1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access10 .common_access2 {
width: 100%;
margin: 0 0 1rem 0;
}
.access10 .common_access2 span {
display: inline-block;
padding: .8rem 2rem;
text-align: center;
background: #fc7e2a;
color: #ffffff;
border-radius: 100px;
letter-spacing: 0;
font-size: 1.4rem;
}
.access10 .common_access3 {
width: 90%;
margin: 0 auto;
padding: 0 0 2rem 0;
font-size: 1.4rem;
}
.parking_w{
display: flex;
flex-direction: row;
gap: 20px;

}
.parking_img{
width: 50%;

}
.parking_img img{
width: 100%;

} 


.access_timetable {
width: 100%;
background: #ffffff;
margin: 0 auto;
}    
.access_timetable table{
width: 100%;
background: #fff;
margin: 0 auto;
}    
.access_timetable table th:first-child {
width: 30%;
}
.access_timetable table th {
background: #ece5e5;
text-align: center;
font-weight: 500;
line-height: 1.2;
width: 10%;
font-size: 1.6rem;
padding: 1rem 0;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
}
.access_timetable table td {
      background: #fdfdfd;
text-align: center;
font-weight: 500;
font-size: 1.8rem;
line-height: 1;
width: 10%;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
padding: 1rem 0;
}
.access_timetable table td span.open {
color: #fba804;
position: relative;
}
.access_timetable_closeday {
width: 100%;
}    
/*-----access end*/   
/*
.access__w {
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.access1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 0 3rem 0;
}
.access2 {
width: 100%;
text-align: center;
}
.access2 img {
width: 70%;
}
.access3 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
text-align: center;
}
.access5 {
width: 100%;
}
.access5 a {
line-height: 1;
font-size: 3rem;
font-weight: 500;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.access5 a span {}
.access5 a span::before {
content: "";
background: url("../images/ic_tel.svg");
display: inline-block;
width: 2.2rem;
height: 2.2rem;
margin: 0 1.5vw 0 0;
vertical-align: bottom;
}
.accessmap__w{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
     margin: 0 0 30px;
}
.accessmap1 {
width: 90%;
text-align: center;
margin: 0 auto;
}
.accessmap1 img {
width: 100%;
border: 2px solid #d5d5d5;
border-radius: 3px;
padding: 1rem;
background: #fff6e9;
}
.access7 {
width: 100%;
margin: 0 0 10vw 0;
border-radius: 7px;
}
.access8 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: stretch;
margin: 0 0 1vw 0;
}
.access8:first-child {}
.access9 {
width: 100%;
text-align: center;
font-size: 1.2rem;
letter-spacing: .025rem;
line-height: 1.5;
background: #f9f8f5;
padding: 1rem;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.access10 {
width: 100%;
line-height: 1.5;
font-weight: 500;
font-size: 1.4rem;
letter-spacing: .025rem;
padding: 2rem 0;
display: flex;
flex-wrap: wrap;
align-items: center;
}
.access10 .medical_list {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: column;
}
.access10 .medical_list li {
width: 100%;
padding-left: 2rem;
text-indent: -2rem;
line-height: 1.5;
margin: 0 0 1rem 0;
}
.access10 .medical_list li::before {
content: "●";
color: #1db19d;
margin: 0 .5rem 0 0;
}
.access10 .medical_list li.green::before {
color: #45b251;
}
.access10 .medical_list li.orange::before {
color: #fba804;
}
.access10 .medical_list li:last-child, .access10 .medical_list li:nth-last-child(2) {
margin: 0;
}


.access10 .common_access1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.access10 .common_access2 {
width: 100%;
margin: 0 0 1rem 0;
}
.access10 .common_access2 span {
display: inline-block;
padding: .8rem 2rem;
text-align: center;
background: #fc7e2a;
color: #ffffff;
border-radius: 100px;
letter-spacing: 0;
font-size: 1.4rem;
}
.access10 .common_access3 {
width: 90%;
margin: 0 auto;
padding: 0 0 2rem 0;
font-size: 1.4rem;
}
.parking_w{
display: flex;
flex-direction: row;
gap: 20px;

}
.parking_img{
width: 50%;

}
.parking_img img{
width: 100%;

}*/


/*


.access_timetable {
width: 85%;
margin: 0 auto 20px;
background: #ffffff;
overflow: hidden;
}
.access_timetable table {
width: 100%;
background: #fff;
margin: 0 auto;
}
.access_timetable table th:first-child {
width: 30%;
}
.access_timetable table th {
background: #ece5e5;
text-align: center;
font-weight: 500;
line-height: 1;
width: 10%;
font-size: 2rem;
padding: 15px 0;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
}
.access_timetable table td {
background: #fdfdfd;
text-align: center;
font-weight: 500;
font-size: 2.2rem;
line-height: 1;
width: 10%;
letter-spacing: 0.05rem;
vertical-align: middle;
border: 1px solid #bcbbbb;
padding: 20px 0;
}
.access_timetable table td span.open {
color: #fba804;
position: relative;
}
.access_timetable_closeday {
width: 85%;
margin: 0 auto;
}    
*/
/*-----access end*/   


/* フロー */
.flow-item_w {
padding: 2rem;
background: #f6fbf7;
border-radius: 10px;
}
.flow-item {
border-bottom: 1px solid #43b14f;
padding: 3rem 1rem;
position: relative;
display: flex;
flex-direction: column;
}
.flow-item:first-of-type {
padding-top: 1rem;
}
.flow-item.flow-last {
border-bottom: none;
padding-bottom: 1rem;
}
/* 下の濃い▼（背景の線） */
.flow-item::after {
content: "";
position: absolute;
bottom: -22px;
left: 50%;
margin-left: -13px;
border: 11px solid transparent;
border-top: 11px solid #43b14f;
z-index: 1;
}
/* 手前の白▼（重ねる） */
.flow-item::before {
content: "";
position: absolute;
bottom: -20px;
left: 50%;
margin-left: -11.8px;
border: 10px solid transparent;
border-top: 10px solid #f6fbf7;
z-index: 2;
}
.flow-item.flow-last::after, .flow-item.flow-last::before {
content: none;
}
.count {
counter-increment: count;
}
.flow-item .tit-box {
width: 250px;
}
.flow-item .txt-box {
width: 100%;
}
.flow-item .tit {
font-size: 1.8rem;
color: #43b14f;
display: flex;
align-items: center;
line-height: 1.4;
font-weight: 500;
margin: 0 0 1rem;
}
.number {
position: relative;
padding-left: 35px;
}
.count-num::before {
content: counter(count);
position: absolute;
left: 0;
top: 0;
width: 25px;
height: 25px;
background: #43b14f;
color: #fff;
border-radius: 50%;
font-size: 1.8rem;
display: flex;
justify-content: center;
align-items: center;
}
/*-----フロー end*/

/*-----来院時の留意事項*/
.visit-notes {
width: 100%;
}
.vn-section {
margin-bottom: 2rem;
}
.vn-section:last-child {
margin-bottom: 0;
}
.vn-title {
display: inline-block;
padding: 0 0 0 2rem;
font-size: 1.6rem;
font-weight: 600;
position: relative;
margin: 0 0 1rem;
color: #fc7e2a;
width: 100%;
line-height: 1.5;
}
.vn-title::before {
content: "■";
position: absolute;
left: 0;
top: 0;
font-size: 1.6rem;
}
.vn-list {
list-style: none;
margin: 0;
padding: 0 0 0 5px;
}
.vn-list li {
position: relative;
padding-left: 2.6rem;
margin-bottom: 12px;
line-height: 1.6;
}
.vn-list li:last-child {
margin-bottom: 0;
}
.vn-list li::before {
content: "";
position: absolute;
left: 0;
top: .4rem;
width: 1.4rem;
height: 1.4rem;
background: url(../images/ic_check2.svg) no-repeat center / contain;
}
/*-----来院時の留意事項end */



/* ------施設案内 */
.about1 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.about2 {
width: 48%;
background: #F7F7F7;
border-radius: 30px 10px 10px 10px;
margin: 0 0 5vw 0;
}
.about1 .about2:last-child, .about1 .about2:nth-last-child(2) {
margin: 0;
}
.about3 {
width: 100%;
margin: 0 0 2vw 0;
}
.about3 img {
width: 100%;
border-radius: 3px;
}
.about4 {
width: 100%;
font-size: 1.3rem;
padding: 0 2vw;
margin: 0 0 2vw 0;
line-height: 1.4;
text-align: center;
}
.about5 {
width: 100%;
padding: 0 2vw;
margin: 0 0 3vw 0;
font-size: 1.3rem;
letter-spacing: 0;
line-height: 1.5;
}    
/* ------施設案内end */ 
/*クリニック案内 end*/

/*-----頭痛診療予約 */
.headache_bnr {
position: relative;
display: flex;
width: 100%;
height: 100px;
border-radius: 5px;
overflow: hidden;
text-decoration: none;
color: inherit;
box-shadow: 0 0 20px rgb(0 0 0 / 12%);
}
.headache_bnr-img {
width: 35%;
height: 100%;
background-image: url(../images/bnr_headache.jpg);
background-size: cover;
background-position: center;
}
.headache_bnr-text {
width: 65%;
height: 100%;
background: #ffffff;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 15px;
box-sizing: border-box;
text-align: center;
color: #43b14f;
}
.headache_bnr-text h3 {
margin: 0 0 1rem;
font-size: 1.8rem;
font-weight: 600;
}
.headache_bnr-btn {
padding: .5rem 1.5rem;
font-size: 1.3rem;
color: #fff;
background-color: #43b14f;
border-radius: 50px;
white-space: nowrap;
}
/*-----頭痛診療予約 end*/



}

/* SP end */  
