/*
Theme Name: Maehara Clinic
Author: LQ
*/
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Roboto:ital,wght@0,100;0,400;1,100;1,300;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');

/* ----------------------------------------------
reset
---------------------------------------------- */
html{scroll-behavior: smooth;/*Safariは非対応*/}
body {margin: 0 auto; padding: 0; -webkit-text-size-adjust: 100%; overflow-wrap: break-word;}
table {margin : 0; border-collapse: collapse; border-spacing: 0; empty-cells: show;}
img {vertical-align: middle; border: none;}
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
.elem{word-break: keep-all; line-break: strict; word-wrap: break-word; overflow-wrap: break-word;}
/*clearfix*/
.clearfix:after {content: " "; display: block; height: 0;clear: both; visibility: hidden;}
.clearfix {display: inline-table;}
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/*pagetop*/
.pagetop {height: 50px; width: 50px; position: fixed; right: 10px; bottom: 20px; background: rgba(255,255,255,1); border: solid 2px #50b4c8; border-radius: 50%; display: flex; justify-content: center; align-items: center; z-index: 2;}
.pagetop__arrow {height: 10px; width: 10px; border-top: 3px solid #50b4c8; border-right: 3px solid #50b4c8; transform: translateY(20%) rotate(-45deg);}
/* ***DEF-family*** */
html, body, table, th, td, li, div, p, em, mark{font-family: 'Noto Sans JP', sans-serif; font-weight:500;}
strong{font-weight:600;}
i{font-weight:900; font-family:'Font Awesome 5 Free'; display:inline-block; font-style: normal;}

/* ***DEF-FONTSIZE*** */
html {font-size: 62.5%;}
body {font-size: 1.6em; letter-spacing:1px; line-height:1.7;}
@media screen and (max-width: 500px) {
body {letter-spacing:0;}
body, table, th, td, li, div, p, dl, dt, dd
{font-size: 1.4rem;}
}

/* ***DEF-color*** */
html, body, table, th, td, li, div, p, dl, dt, dd, 
h1,h2,h3,h4,h5,h6
{color:#333;}

a {outline:none; transition:.3s;}
a,a:hover,a:hover img {text-decoration: none;}
img {max-width: 100%; height: auto; width:auto;}
a .fa-caret-right{display:inline-block; margin-left:.8em;}
a .fa-caret-left{display:inline-block; margin-right:.8em;}

/*Responsive*/
.sp{display:none;}
.sp2{display:none;}
@media screen and (max-width: 767px) {
.pc{display:none;}
.sp{display:inherit;}
}
@media screen and (max-width: 500px) {
.pc2{display:none;}
.sp2{display:inherit;}
.spl{text-align:left !important;}
}

/*margin*/
.mt0{margin-top:0 !important;}
.mb0{margin-bottom:0 !important;}
.mtS{margin-top:1.5em !important;}
.mbS{margin-bottom:1.5em !important;}
.mtM{margin-top:3em !important;}
.mbM{margin-bottom:3em !important;}
.mtL{margin-top:5em !important;}
.mbL{margin-bottom:5em !important;}



/*HEADER*/
header{background:#fff;}
header .inner{padding:0;}
header dl{margin:0; padding:0;}
header dt{margin:0; padding:1em 0;}
header .logo{display:block; width:80%; max-width:200px; height:auto; margin:0 auto;}
header dd{margin:0; padding:0; font-size:clamp(1rem, 1.2vw, 1.2rem); letter-spacing:0; text-align:center; position:absolute; right:1em; top:2.5%;}
header dd .tel{background:#50b4c8; color:#fff; white-space:nowrap; line-height:1.7; border-radius:2em; padding:0 1em; text-align:center; font-size:clamp(1.4rem, 1.8vw, 1.9rem); letter-spacing:.05em; margin:0 0 .2em 0;}
header dd .tel i{margin-right:.3em; font-size:90%;}
.navarea{box-shadow:0 2px 3px rgba(100,100,100,.1); background:#fff; width:100%;}
@media (max-width: 767px) {
header{box-shadow:0 2px 3px rgba(100,100,100,.1); background:#fff; position:fixed; width:100%; left:0; top:0; z-index:9998;}
header dt{padding:.5em 0;}
header .logo{width:50%; max-width:180px; margin:0 0 0 10px;}
header dd{right:60px; top:1em;}
.navarea{box-shadow:0 0 0; background:inherit;}
}
@media (max-width: 500px) {
header dd{top:0;}
header dd .tel{background:inherit; color:inherit; line-height:1; border-radius:inherit; padding:0; letter-spacing:0; margin:0;}
header dd .tel a{background:#50b4c8; color:#fff; white-space:nowrap; display:block; line-height:1; font-size:1.1rem; width:60px; height:60px; text-align:center; padding:0; letter-spacing:.2em; padding:15px;}
header dd .tel i{margin:0 0 .2em 0; font-size:inherit; display:block; font-size:20px; letter-spacing:0;}
}
/*pc-nav*/
#gnav ul{list-style:none; margin:0; padding:0;}
#gnav > ul > li > a{display:block; line-height:1; white-space:nowrap; padding:1em; color:#333;}
#gnav > ul > li i{font-size:90%; margin-right:.5em; color:#50b4c8;}
#gnav i.fa-angle-down{margin-right:0; margin-left:.5em;}
@media (min-width: 768px) {
#gnav > ul{display:flex; justify-content:center;}
#gnav > ul > li{font-size:clamp(1.3rem, 1.4vw, 1.4rem);}
#gnav li.booking a{display:none;}
}
@media (hover: hover) and (min-width: 768px){
#gnav > ul > li > a:hover{color:#50b4c8; background:rgba(80,180,200,.1);}
}
/*megaMenu*/
@media (min-width: 768px) {
.megaMenu {overflow:hidden; height:0; position: absolute; text-align: center; transition: height .3s;}
.megaMenu > ul > li{border-top:1px solid #ccc;}
.megaMenu > ul a{display:block; align-items:center; font-weight:600; background:#edf7f9; padding:1.5em 2em; color:#1e3c64;}
.megaMenu > ul a:has(div){display:flex; align-items:center; background:#edf7f9; padding:.5em 1.5em .5em 1em; gap:.7em;}
.megaMenu > ul a > div{line-height:1.3; text-align:left; padding-bottom:.3em; color:#1e3c64; font-weight:600;}
.megaMenu > ul a small{letter-spacing:-1px; width:100%; line-height:1;}
.megaMenu > ul a img{display:block; width:3.5em; height:auto;}
}
@media (hover: hover) and (min-width: 768px){
#gnav > ul > li:hover .megaMenu {height:70px;}
#gnav > ul > li:hover .megaMenu:has(ul.caremenu) {height:200px;}
.megaMenu > ul a:hover{background:#c8f0f5;}
}
/*sp-system*/
@media (max-width: 767px) {
.menu {position: fixed; top: 0; right: -100%; width: 90%; max-width:400px; height: 100%; background-color:#fff; transition: right 0.3s ease; box-sizing: border-box; z-index: 10;}
.menu.open {right: 0;}
.hamburger {position: fixed; top: 15px; right: 15px; width: 30px; cursor: pointer; z-index: 20;}
.hamburger span {display: block; height: 3px; width: 100%; background-color: #333; margin: 5px 0; transition: 0.4s;}
.hamburger.active span:nth-child(1) {transform: rotate(45deg) translate(5px, 5px);}
.hamburger.active span:nth-child(2) {opacity: 0;}
.hamburger.active span:nth-child(3) {transform: rotate(-45deg) translate(6px, -6px);}
}
/*sp-design*/
@media (max-width: 767px) {
#gnav > ul{background:#edf7f9; height:100vh; overflow-y:auto;}
.menu {padding-top: 60px; background:#edf7f9;}
#gnav > ul {border-top:1px solid #ccc; font-size:1.4rem !important;}
#gnav > ul > li {border-bottom:1px solid #ccc;}
#gnav > ul a i.fa-angle-down{display:none;}
#gnav li.booking a{background:#00a096; color:#fff; display:block;}
#gnav li.booking a i{color:#fff;}
.megaMenu > ul.child a{color:#1e3c64; display:block; line-height:1; padding:1em 1em 1em 0; margin-left:2.5em; font-size:95%; color:#333; border-top:1px solid #ccc;}
.megaMenu > ul.child a:before{content:"┗"; display:inline-block; margin:0 .5em 0 0;}
.megaMenu > ul.caremenu{display:flex; flex-wrap:wrap; align-items:stretch; width:90%; margin:0 auto !important; gap:5%;}
.megaMenu > ul.caremenu > li{width:calc(90% / 3); padding-bottom:1em;}
.megaMenu > ul.caremenu a{font-weight:600; background:#fff; display:block; border-radius:5px; padding:.5em 0;}
.megaMenu > ul.caremenu a > div{line-height:1.3; text-align:center; color:#1e3c64; height:2.5em; line-height:1.3; font-size:85%; display:flex; align-items:center; justify-content:center; letter-spacing:0;}
.megaMenu > ul.caremenu a > div:has(small){line-height:1.3;}
.megaMenu > ul.caremenu a small{letter-spacing:-1px; width:100%; line-height:1; font-size:70%; display:none;}
.megaMenu > ul.caremenu a br{display:none;}
.megaMenu > ul.caremenu a img{display:block; width:60%; height:auto; margin:0 auto;}
}
/*nav-fixed*/
@media (min-width: 768px) {
.navarea.fixed{position:fixed; left:0; top:0; z-index:9998;}
}

/*FOOTER*/
footer{background:#50b4c8;}
footer .inner{text-align:center; padding:3em 0;}
footer .logo{display:block; width:80%; max-width:200px; height:auto; margin:0 auto 2em auto;}
footer p{color:#fff; margin:0; font-size:clamp(1.1rem, 1.2vw, 1.2rem);}
footer p a{color:#fff; border:0;}
footer .tel{color:#fff; font-size:clamp(2.5rem, 3vw, 3rem); letter-spacing:.05em; margin:.5em 0;}
footer .tel a{color:#fff;}
footer .tel i{font-size:90%; margin:0 .3em 0 0;}
footer .copy{color:#fff;}



/*****************************************
　　　　　　　　　Layout
*****************************************/
/*head-space*/
.space{height:0;}
@media (max-width: 767px) {
.space{height:60px;}
}
/*bg*/
section > .bg.green{background:#f0faf5;}
section > .bg.blue{background-color: #FCFFFF;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100%25' height='100%25' viewBox='0 0 2 1'%3E%3Cdefs%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='0' x2='0' y1='0' y2='1' gradientTransform='rotate(0,0.5,0.5)'%3E%3Cstop offset='0' stop-color='%23FCFFFF'/%3E%3Cstop offset='1' stop-color='%23E9FAFF'/%3E%3C/linearGradient%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='0' y2='1' gradientTransform='rotate(360,0.5,0.5)'%3E%3Cstop offset='0' stop-color='%23C5F0FB' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23C5F0FB' stop-opacity='1'/%3E%3C/linearGradient%3E%3ClinearGradient id='c' gradientUnits='userSpaceOnUse' x1='0' y1='0' x2='2' y2='2' gradientTransform='rotate(0,0.5,0.5)'%3E%3Cstop offset='0' stop-color='%23C5F0FB' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='%23C5F0FB' stop-opacity='1'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='0' y='0' fill='url(%23a)' width='2' height='1'/%3E%3Cg %3E%3Cpolygon fill='url(%23b)' points='0 1 0 0 2 0'/%3E%3Cpolygon fill='url(%23c)' points='2 1 2 0 0 0'/%3E%3C/g%3E%3C/svg%3E");
background-attachment: fixed;
background-size: cover;
background-position:center;}
section > .bg.gray{background-color: #f8f8f8;}
@media screen and (max-width: 500px) {
section > .bg.blue{background:#d7f0f5; background-image:none;}
}
/*inner*/
section > .bg > .inner{max-width:calc(1000px + 3em); padding:3em 1.5em 5em 1.5em; margin:0 auto;}
section > .bg > .inner.sizeL{max-width:inherit; padding-left:0; padding-right:0;}
@media screen and (max-width: 767px) {
section > .bg > .inner{padding:3em 1.5em;}
}
@media screen and (max-width: 500px) {
section > .bg > .inner{padding:2em 1.5em 3em 1.5em;}
}
#area-page > .inner{max-width:calc(1000px + 3em); padding:0 1.5em 3em 1.5em; margin:0 auto;}

p:has(+ .end) {margin-bottom:0;}


/*****************************************
　　　　　　　BLOCK OBJECT
*****************************************/
.anchor{position:relative;}
.anchor a{position:absolute; top:-126px;}
@media (max-width: 1000px) {
.anchor a{top:-120px;}
}
@media (max-width: 767px) {
.anchor a{top:-60px;}
}

.btnarea{text-align:center; margin:3em 0 0 0;}
.btnarea a{display:inline-block; margin:.5em; background:#50b4c8; padding:1em 1em 1em 1.5em; min-width:250px; border-radius:2em;}
.btnarea a > div{display:flex; align-items:center; text-align:center; width:100%;}
.btnarea a span{color:#fff; font-size:clamp(1.3rem, 1.4vw, 1.4rem); line-height:1.3; width:calc(100% - 1.5em);}
.btnarea a > div:after{content:"→"; display:inline-block; text-align:center; width:1.5em; line-height:1.5em; border-radius:2em; background:#fff; color:#50b4c8; font-size:80%; margin-left:1em;}
.btnarea.gray a{background:#8ca0aa;}
@media (hover: hover) and (min-width: 768px){
.btnarea a:hover{min-width:260px; background:#28c8e1;}
}

hr{display:block; border:0;}
hr.def{background:#50b4c8; height:4px; width:100px; margin:0 auto;}
hr.clear{background:inherit; height:1px;}
hr.arw{width:2em; height:1.2em; position:relative; background:inherit;}
hr.arw:before{content:""; position:absolute; left:0; top:.5em; display:block; background:#50b4c8; height:3px; width:1.25em; transform: rotate(45deg);}
hr.arw:after{content:""; position:absolute; right:0; top:.5em; display:block; background:#50b4c8; height:3px; width:1.2em; transform: rotate(-45deg);}

.box{padding:2em 1.5em; border-radius:.3em;}
.box p{margin:0; line-height:1.5; font-size:clamp(1.3rem, 1.4vw, 1.4rem);}
.box p+p{margin-top:1em;}
.box.center{text-align:center;}
.area{padding:2em 1.5em;}
.area.design0{padding:0;}
.design1{border:1px solid #ccc;}
.design2{border:5px solid #eee;}
.design3{border-top:1px solid #ccc; border-bottom:1px solid #ccc; border-radius:0;}
.design4{background:#f1f8f9;}
.design5{background:#f0faeb;}
.design6{background:#f5f5f5;}
.design7{background:#ffebeb;}

/*****************************************
　　　　　　　OBJECT PARTS
*****************************************/
/*H*/
.title h1{text-align:center; font-size:clamp(2rem, 2vw, 2.5rem); font-weight:500; line-height:1; margin:0 0 2em 0; letter-spacing:.1em;}
.title h1:before{font-family:'Font Awesome 6 Free'; font-weight:900; font-size:1.8rem;}
.title h1:before{content:"\f0f1"; color:#2d4b6e;}
.title h1 small{display:block; font-size:1.2rem; color:#50b4c8; margin:1em 0 1.5em 0 !important;}
.title h1 small:before{content:"MEDICAL CARE";}
@media (max-width: 500px){
.title h1 small{display:block; font-size:1.2rem; color:#50b4c8; margin:.5em 0;}
}
#area-page .title h1{margin:1.5em 0 3em 0;}
#area-news .title h1:before{content:"\f05a"; color:#ffa000;}
#area-news .title h1 small:before{content:"NEWS";}
#area-pollen .title h1:before, body#pollen #area-page .title h1:before{content:"\f1bb"; color:#509646;}
#area-pollen .title h1 small:before, body#pollen #area-page .title h1 small:before{content:"POLLEN INFO";}
#area-outline .title h1:before, body#outline #area-page .title h1:before{content:"\f0f8"; color:#3caae6;}
#area-outline .title h1 small:before, body#outline #area-page .title h1 small:before{content:"OUTLINE";}
#area-access .title h1:before, body#access #area-page .title h1:before{content:"\f3c5"; color:#e64632;}
#area-access .title h1 small:before, body#access #area-page .title h1 small:before{content:"ACCESS";}
body#recruit #area-recruit .title h1:before, body#recruit #area-page .title h1:before{content:"\f007"; color:#e6c814;}
body#recruit #area-page .title h1 small:before{content:"RECRUIT";}
body#privacy-policy #area-page .title h1:before{content:"\f3ed"; color:#e6c814;}
body#privacy-policy #area-page .title h1 small:before{content:"PRIVACY POLICY";}
.bg > .inner > h2, #area-page h2
{font-weight:500; margin:3em 0 1em 0; padding:0 .2em .5em .2em; border-bottom:3px solid #ddd; position:relative; letter-spacing:.1em; line-height:1.3; font-size:clamp(2rem, 2.5vw, 2.5rem);}
.bg > .inner > h2:after, #area-page h2:after
{content:""; position:absolute; left:0; bottom:-3px; display:block; width:20%; height:3px; background:#50b4c8; max-width:150px;}
.title + h2{margin-top:0 !important;}
.bg > .inner > h3, #area-page h3
{margin:4em 0 1.5em 0; padding:.5em 1em; background:#f1f8f9; border-top:1px solid #6ec8f0; border-bottom:1px solid #6ec8f0; font-size:clamp(1.5rem, 1.8vw, 1.8rem);}
.bg > .inner > h4, #area-page h4
{font-weight:500; display:flex; gap:.5em; padding:0; margin:2em 0 1em 0; line-height:1.4; font-size:clamp(1.5rem, 2vw, 2rem);}
.bg > .inner > h4:before, #area-page h4:before
{content:""; display:block; width:.6em; height:.6em; border:3px solid #50b4c8; border-radius:1em; margin-top:.3em;}
.bg > .inner > h5, #area-page h5
{margin:2em 0 1em 0;}
span.start + h1, span.start + h2, span.start + h3, span.start + h4, span.start + h5, span.start + h6{margin-top:0 !important;}

/*a*/
p a{color:#50b4c8; border-bottom:1px solid;}

/*LIST*/
ul.check{list-style:none; margin:0 0 0 0; padding:0;}
ul.check li{margin:.5em 0; line-height:1; padding:1em 1em 1em 3em; background:url(/img/check.png) left center no-repeat #f0faf5; background-position:1em 47%; background-size:1em; font-weight:600;}
ul.points{margin:2em 0 !important; padding:0 !important;}
ul.points li{margin:1em 0 !important; display:flex; align-items:center; gap:1em; border:3px solid #ddd; border-radius:.5em; padding:.5em;}
ul.points li strong{display:block; width:3em; line-height:3; color:#fff; background:#ccc;  text-align:center; padding:0;}
ul.points li div:last-child{font-weight:500;}
ul.points li em{display:block; font-size:85%; color:#666; margin:.5em 0 0 0; font-weight:normal;}
ul.points li a{display:inline-block; color:#00a096; border-bottom:1px solid;}
ul.points.good li strong{background:#78c86e;}
ul.points.bad li strong{background:#e16464;}
ul.square li{list-style-type:square; font-size:90%;}


/*TABLE*/
body#top main table,#area-page table{border-collapse:collapse; width:100%;}
body#top main table th,#area-page table th, body#top main table td, #area-page table td{border:1px solid #ccc; padding:1.5em; line-height:1.5; font-size:clamp(1.3rem, 1.5vw, 1.5rem);}
body#top main table th, #area-page table th{background:#edf7f9;}
figure.wp-block-table{padding:0; margin:0;}
.typeA table tr > td:first-child{background:#edf7f9; text-align:center; font-weight:600; white-space:nowrap;}
@media (max-width: 600px){
body#top main table th, body#top main table td, #area-page table th, #area-page table td{padding:1em;}
}



/*****************************************
　　　　　　　WP PARTS
*****************************************/
.wp-block-image{margin:0; padding:0;}
p + .wp-block-image{margin-top:2em;}
.wp-block-image + p{margin-top:2em;}
.wp-block-image figure{padding:0; margin:0; display:block !important; width:100% !important;}
.wp-block-image figure.aligncenter{text-align:center;}
.wp-block-image figure figcaption{font-size:clamp(1.1rem, 1.2vw, 1.2rem); margin:.2em 0 0 0;}
.wp-block-image.size-full img {display: block !important; width: 100% !important; height: auto !important;}
.has-text-align-center{text-align:center;}
.has-text-align-right{text-align:right;}
.has-small-font-size{font-size:80%;}
.wp-block-list{padding:0; margin:.5em 0 .8em 1.8em;}
.wp-block-media-text{display:flex; align-items:flex-start; gap:5%; width:100%; padding:0;}
.wp-block-media-text figure{padding:0; margin:0; width:20%; min-width:150px;}
.wp-block-media-text figure img{display:block; margin:0 auto;}
.wp-block-media-text__content{width:80%;}
.wp-block-media-text__content h2,.wp-block-media-text__content h3,.wp-block-media-text__content h4{margin-top:0 !important;}
p+.wp-block-media-text, .wp-block-media-text+p{margin-top:2em;}
@media (max-width: 600px){
.wp-block-media-text figure{min-width:80px;}
}


/*****************************************
　　　　　　　　　PAGE
*****************************************/
/*INTRO*/
#intro{background:url(/img/intro.jpg) center no-repeat; background-size:cover; min-width:350px;}
#intro .inner{aspect-ratio:2 / 1; position:relative; display:flex; align-items:center;}
#intro .catch{width:95%; max-width:1200px; margin:0 auto;}
#intro .catch img{width:55%; height:auto; max-width:600px;}
#intro .schedule {position:absolute; right:0; bottom:2em;}
#intro .schedule > div{background:#fff; padding:1.5em 2em 1em 2em; border-radius: 5px 0 0 5px; font-size:clamp(1.2rem, 1.5vw, 1.5rem);}
#intro .schedule table{width:100%; margin:0 0 1em 0;}
#intro .schedule table + p{font-size:1.2rem; text-indent:-.5em;}
#intro .schedule table tr th, #intro .schedule table tr td{text-align:center; white-space:nowrap; line-height:2.5; padding:0 .5em;}
#intro .schedule table tr th:first-child{text-align:left;}
#intro .schedule table tr + tr{border-top:1px solid #ccc;}
#intro .schedule table thead{border-bottom:3px solid #ccc;}
#intro .schedule table tbody tr td{color:#50b4c8;}
#intro .schedule table tbody tr td span{color:#222;}
.headbtn{display:block; text-align:center; line-height:3; color:#fff; background:#00a096; margin:0 0 .5em 0;}
.headbtn:hover{background:#00beb4;}
@media (min-width: 1200px){
#intro .inner{height:550px; aspect-ratio:inherit;}
}
@media (max-width: 767px){
#intro .inner{aspect-ratio:5 / 4; align-items:flex-start;}
#intro .catch{margin-top:3%;}
#intro .catch img{width:65%;}
#intro .schedule {bottom:1em;}
}
@media (max-width: 600px){
#intro{background:url(/img/intro.jpg) center top no-repeat #eee; background-size:contain;}
#intro .inner{aspect-ratio:inherit; flex-wrap:wrap;}
#intro .inner .catch{width:100%;}
#intro .schedule {width:100%; padding:5% 5% 0 5%; position:inherit;}
#intro .schedule > div{border-radius: 5px; padding:.7em 1em .5em 1em; text-align:center;}
}
@media (max-width: 500px){
#intro .catch{padding:2% 0 0 7%;}
#intro .catch img{width:50%;}
}
@media (max-width: 450px){
#intro .schedule table th, #intro .schedule table td{font-size:1.2rem;}
}

/*news*/
#area-news .inner{padding-bottom:0;}
.newslist{list-style:none; margin:0; padding:0; border-bottom:1px solid #ccc;}
.newslist li{display:flex; width:100%; border-top:1px solid #ccc; cursor:pointer; transition:.3s;}
.newslist li > div{width:24em; font-size:clamp(1.2rem, 1.4vw, 1.4rem); padding:1.9em 1em 0 1em; white-space:nowrap;}
.newslist li time{display:inline-block; width:7em;}
.newslist li > div span{display:inline-block; padding:0 1em; border-radius:2em; background:#50b4c8; color:#fff; text-align:center; white-space:nowrap;}
.newslist li > div span:before{content:"お知らせ";}
.newslist li > div span.info:before{content:"診療情報";}
.newslist li > div span.schedule:before{content:"診療日";}
.newslist li > div span.important:before{content:"重要なお知らせ";}
.newslist li > div span.important{background:#f06464;}
.newslist li dl{width:100%; position:relative; padding-right:40px;}
.nav-ac dl div.toggle{position: absolute; right:1em; top:1.7em; display:block; width: 20px; height: 20px; margin: 0;}
.nav-ac dl div.toggle:before, .nav-ac dl div.toggle:after {display: block; content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; background-color: #50b4c8; border-radius: 10px; transition:.3s;}
.nav-ac dl div.toggle:before {width: 3px; height: 20px;}
.nav-ac dl div.toggle:after {width: 20px; height: 3px;}
.nav-ac.active dl div.toggle:before {transform: rotate(90deg); opacity:0;}
.nav-ac .toggle-content {display: none;}
.nav-ac.active .toggle-content {display: block;}
.nav-ac.active .toggle-content {display: block;}
/*質問エリア*/
.nav-ac{}
.nav-ac h2 {padding:0; margin:0; font-size:clamp(1.4rem, 1.5vw, 1.5rem); padding:1.5em 3em 1.5em 0;}
/*回答エリア*/
.toggle-content {padding:0 0 1.5em 0; margin:0;}/*コンテンツ部分*/
.toggle-content p{margin:0; font-size:clamp(1.3rem, 1.5vw, 1.5rem);}
.toggle-content p+p{margin-top:.6em;}
.toggle-content p a{color:#50b4c8; border-bottom:1px solid;}
@media (hover: hover) and (min-width: 768px){
.newslist li:hover {background:rgba(80,180,200,.1);}
.toggle-content p a:hover{opacity:.5;}
}
@media (max-width: 767px){
.newslist li{display:block;}
.newslist li > div{padding:1.5em 1em 0 1em;}
.newslist li dl{padding:0 1em;}
.nav-ac h2 {padding:1em 3em 1em 0;}
.nav-ac dl div.toggle{top:-.3em;}
}
@media (max-width: 500px){
.nav-ac dl div.toggle{top:-1.5em;}
.nav-ac h2 {padding:.5em 3em 1em 0;}
}


/*pollen*/
@media (min-width: 801px){
.title:has(+ .table-group){margin-bottom:7em;}
table.pollen{min-width:700px; margin:2em 0;}
}
@media (max-width: 800px){
table.pollen{min-width:700px; margin:1em 0;}
.wrapper {width: 100%; overflow-x: scroll;padding-top:3em;}
.wrapper .content {background-color: aqua; width: 700px;}
.scrollbar {width: 100%; height: 10px; overflow-x: scroll; overflow-y: hidden;}
.scrollbar .inner {height: 1px; width: 700px;}
}
table.pollen caption{display:none;}
table.pollen th{padding:0 !important; text-align:center;}


table.pollen tr td{padding:.5em .3em !important; text-align:center; width:calc(100% / 12); white-space:nowrap; line-height:1 !important;}
table.pollen tr td:nth-child(1){width:10%;}
table.pollen tr td:nth-child(2){width:2em;}
table.pollen tr td:nth-child(3){width:auto;}
table.pollen tr td:nth-child(4){width:11%;}

table.pollen tr:first-child td{position:relative;}
table.pollen tr:first-child td:before{position:absolute; left:-1px; top:-4em; background:#edf7f9; font-size:90%; text-align:center; width:calc(100% + 1px); white-space:normal;  display:flex; justify-content:center; align-items:center; height:4em; border-left:1px solid #ccc; border-bottom:1px solid #ccc; border-top:1px solid #ccc;}
table.pollen tr:first-child td:nth-child(1):before{content:" "; width:calc(100% + 3.2em);}
table.pollen tr:first-child td:nth-child(3):before{content:"天気";}
table.pollen tr:first-child td:nth-child(4):before{content:"気温";}
table.pollen tr:first-child td:nth-child(5):before{content:"スギ";}
table.pollen tr:first-child td:nth-child(6):before{content:"ヒノキ";}
table.pollen tr:first-child td:nth-child(7):before{content:"ハンノキ・カバノキ属";}
table.pollen tr:first-child td:nth-child(8):before{content:"コナラ・クヌギ・シイ属";}
table.pollen tr:first-child td:nth-child(9):before{content:"マツ";}
table.pollen tr:first-child td:nth-child(10):before{content:"イネ科";}
table.pollen tr:first-child td:nth-child(11):before{content:"ブタクサ・キク科";}
table.pollen tr:first-child td:nth-child(12):before{content:"その他";  width:100%; border-right:1px solid #ccc;}






body#pollen #area-page .inner {width:100%; overflow-x:auto;}
body#pollen #area-page .inner table td{padding:.5em .1em; line-height:1; font-size:clamp(1.1rem, 1.3vw, 1.3rem); white-space:nowrap; text-align:center; letter-spacing:0;}
body#pollen #area-page .inner table tbody > tr:last-child td{background:#edf7f9; font-weight:bold; padding:1em .1em; border-top-width:2px;}
body#pollen #area-page .inner table tbody tr:has(strong){background:#eee;}
body#pollen #area-page .inner table tbody tr > td:nth-child(8),body.pollen #area-page .inner table tbody tr > td:nth-child(16){border:0 !important; background:#fff;}


#area-pollen .inner p{text-align:center; margin:0;}
#area-pollen .inner p+p{margin-top:2em;}
.status1.close{display:none;}
.status2.open{display:none;}
.status1.open{display:block;}
.status2.close{display:block;}


/*CARE*/
#area-care .inner{padding-top:0;}
.carelist{margin:4em auto 0 auto; padding:0; width:100%; display:flex; align-items:stretch; justify-content:center; flex-wrap:wrap; gap:10px; max-width:1200px;}
.carelist .cell{margin:0; padding:0; width:calc(90% / 4); text-align:center;}
.carelist .cell a{display:block;}
.carelist .item{position:relative; background:#fff; padding:20% 10%; border:3px solid #fff; transition:.3s; aspect-ratio:1;}
.carelist .item > span{position:absolute; right:-3px; top:-3px; background:#aaa; color:#fff; letter-spacing:.4em; padding:0 .4em .2em .8em; line-height:1.5; white-space:nowrap; font-size:clamp(1rem, 1.1vw, 1.1rem);}
.carelist .item > small{position:absolute; left:.5em; top:.8em; font-size:clamp(1rem, 1.1vw, 1.1rem); -webkit-writing-mode: vertical-rl; writing-mode: vertical-rl; white-space:nowrap; color:#c8d2dc;}
.carelist .item .img{display:flex; justify-content:center; align-items:center; aspect-ratio:1; margin:0 auto 1em auto; position:relative; max-width:90px;}
.carelist .item .img img{display:block; aspect-ratio:1; display:block; width:100%; height:auto; max-width:75px; position:absolute; z-index:+1; transition:.3s;}
.carelist .item .img:after{content:""; display:block; background:#eee; width:100%; max-width:80px; aspect-ratio:1; border-radius:100%; transition:.3s;}
.carelist .item .title{font-size:clamp(1.4rem, 1.6vw, 1.6rem); line-height:1; white-space:nowrap; color:#1e3c64; font-weight:600; display:flex; justify-content:center; align-items:center; height:2em; flex-wrap:wrap;}
.carelist .item .title small{font-size:70%; display:block; margin:0 0 .2em 0; letter-spacing:0; width:100%;}
.carelist .cell label{display:none; position:absolute; right:1em; bottom:1em; font-size:clamp(1.1rem, 1.2vw, 1.2rem); letter-spacing:0; line-height:1; transition:.3s;}
.carelist .cell:has( > a) .item{border:3px solid #c8d2dc;}
.carelist .cell:has( > a) label{display:block;}
.carelist .cell:nth-child(1) .item .img:after{background:rgba(255,180,180,.8);}
.carelist .cell:nth-child(2) .item .img:after{background:rgba(255,200,170,.8);}
.carelist .cell:nth-child(3) .item .img:after{background:rgba(255,220,165,.8);}
.carelist .cell:nth-child(4) .item .img:after{background:rgba(255,235,170,.8);}
.carelist .cell:nth-child(5) .item .img:after{background:rgba(255,255,204,.8);}
.carelist .cell:nth-child(6) .item .img:after{background:rgba(205,255,205,.8);}
.carelist .cell:nth-child(7) .item .img:after{background:rgba(180,245,185,.8);}
.carelist .cell:nth-child(8) .item .img:after{background:rgba(130,230,185,.8);}
.carelist .cell:nth-child(9) .item .img:after{background:rgba(130,230,215,.8);}
.carelist .cell:nth-child(10) .item .img:after{background:rgba(150,240,250,.8);}
.carelist .cell:nth-child(11) .item .img:after{background:rgba(130,220,245,.8);}
.carelist .cell:nth-child(12) .item .img:after{background:rgba(140,200,240,.8);}
.carelist .cell:nth-child(13) .item .img:after{background:rgba(195,195,245,.8);}
@media (hover: hover) and (min-width: 768px){
.carelist .cell a:hover label{right:.8em;}
.carelist .cell a:hover .item{border:3px solid #50c8be; border-radius:.5em; box-shadow:0 5px 10px rgba(100,100,100,.1);}
.carelist a:hover .item .img:after{max-width:100px;}
.carelist a:hover .item .img img{transform: scale(0.9);}
.carelist a:hover label{color:#50b4c8;}
}
@media (max-width: 767px){
.carelist .cell{width:calc(90% / 3);}
}
@media (max-width: 600px){
.carelist {padding-bottom:0; margin-bottom: 0;}
.carelist .item > span{font-size:60%;}
.carelist .item > small{font-size:50%; left:0; top:.5em;}
.carelist .item .img{ max-width:50px;}
.carelist .item .title{font-size:80%;}
.carelist .item .title small{display:none;}
.carelist .cell:has( > a) .item{border:3px solid #50b4c8;}
.carelist .cell:has( > a) label{display:block; font-size:70%; background:#50b4c8; position:absolute; bottom:0; left:0; color:#fff; line-height:1.5; padding:.2em 0 0 0; width:100%;}
}
/*cerebox*/
.carebox figure{background:#edf7f9;}
.carebox.allergy figure{background:rgba(255,180,180,.8);}
.carebox.slit figure{background:rgba(255,200,170,.8);}
.carebox.fever figure{background:rgba(255,220,165,.8);}
.carebox figure{padding:2em; border-radius:5px;}
@media (max-width: 600px){
.carebox figure{padding:.5em;}
}




/*influenza*/
figure.plans{margin:0 auto; width:100%;}
figure.plans table{background:#fff; width:100%;}
figure.plans table td{padding:1em 0 !important; line-height:1; white-space:nowrap; font-weight:normal; font-size:clamp(1.2rem, 1.5vw, 1.5rem) !important;}
figure.plans table td:has(label){padding:0 !important;}
figure.plans table td strong{line-height:1;}
figure.plans table td p{padding:0; margin:0; line-height:1;}
figure.plans table td br.sp{display:none;}
figure.plans table td label{display:block; padding:1em 0; font-weight:normal; font-size:clamp(1.2rem, 1.5vw, 1.5rem) !important; cursor:pointer;}
figure.plans table td label span{display:block; margin-top:.5em;}
figure.plans table tr:nth-child(1) > td{background:#e1f5fa; padding:.5em 0 !important;}
figure.plans table tr:nth-child(2) > td{background:#f1f8f9;}
figure.plans table tr:nth-child(3) > td{padding:.5em 0 !important;}
figure.plans table tr:nth-child(3) > td:nth-child(n+2){font-size:85%; padding:.5em; background:rgba(255,220,220,1);}
figure.plans table tr:nth-child(4) > td{background:rgba(255,220,220,.3);}
figure.plans table tr:nth-child(5) > td{padding:.5em 0 !important;}
figure.plans table tr:nth-child(5) > td:nth-child(n+2){font-size:85%; padding:.5em; background:rgba(255,240,190,1);}
figure.plans table td{background:rgba(255,240,190,.3);}
figure.plans table tr:nth-child(1) > td:nth-child(1),
figure.plans table tr:nth-child(3) > td:nth-child(1),
figure.plans table tr:nth-child(5) > td:nth-child(1),
figure.plans table tr:nth-child(7) > td:nth-child(1),
figure.plans table tr:nth-child(8) > td:nth-child(1),
figure.plans table tr:nth-child(9) > td:nth-child(1)
{background:#f8f8f8;}
figure.plans table td label:has(input[type="radio"]:checked),
figure.plans table td label:hover{background:rgba(255,240,190,.6);}
figure.plans table tr:nth-child(4) td label:has(input[type="radio"]:checked),
figure.plans table tr:nth-child(4) td label:hover{background:rgba(255,220,220,.6);}
@media print, screen and (max-width: 500px) {
figure.plans table td br.sp{display:inherit;}
}

/*fulumist*/
h1.sub{text-align:center; position:relative; display:block; width:100%; margin:3em 0 2em 0 !important; color:#00a096; font-family:'Kosugi Maru',sans-serif !important; font-weight:500; font-size:clamp(2rem, 3vw, 3rem);}
h1.sub:after{position:absolute; content:""; display:block; width:100%; height:1px; background:#ccc; top:50%; z-index:-1 !important;}
h1.sub span.wrap{display:inline-block; padding:0 .5em; background:#fff;}
@media print, screen and (max-width: 500px) {
h1.sub{font-size:17px !important;}
}
ul.fulmist{list-style-type:none !important;}
ul.fulmist{padding:0 !important; margin:2em auto 3em auto !important; display:table; border-top:1px dashed #00a096;}
ul.fulmist li{text-align:center; font-weight:500; border-bottom:1px dashed #00a096; padding:1em !important; margin:0 !important;}
ul.fulmist li br{display:none;}
@media print, screen and (max-width: 600px) {
ul.fulmist li br{display:inherit;}
}
figure.fulmist table{font-size:90%; margin:2em 0 .2em 0;}
figure.fulmist table th, figure.fulmist table td{padding:.8em;}
figure.fulmist table tr > td:first-child{background:#f5f5f5; font-weight:500;}
@media print, screen and (max-width: 600px) {
figure.fulmist table th, figure.fulmist table td{padding:.5em !important;}
}


/*greeting*/
#area-greeting .title{display:none;}
#area-greeting .inner.sizeL{padding-top:5em;}
#area-greeting .bg{background:url(/img/bg_outline.jpg) center no-repeat; background-size:cover; position:relative;}
#area-greeting .bg > span{position:absolute; display:block; height: clamp(20px, 10vw, 50px); width:15%;}
#area-greeting .bg > span:nth-child(1){left:0; top:0; clip-path: polygon(0 100%, 0 0, 100% 0%); background:#50b4c8;}
#area-greeting .bg > span:nth-child(2){right:0; bottom:0; clip-path: polygon(100% 100%, 100% 0, 0 100%); background:#50b4c8;}
#area-greeting .greeting{display:flex; gap:5%; max-width:1100px; align-items:center; padding-left:2em; padding-right:2em; margin:0 auto;}
#area-greeting .greeting .gtitle{width:45%;}
#area-greeting .greeting .text{width:55%;}
#area-greeting h1{margin:0 0 2em 0; font-family: 'Kosugi Maru', sans-serif; font-weight:normal; font-size:clamp(2.2rem, 5vw, 3rem); text-align:left; line-height:1.5; letter-spacing:0;}
#area-greeting h1 br.sp{display:none;}
#area-greeting .name{font-size:clamp(1.6rem, 2vw, 2rem);}
#area-greeting .name small{display:block; font-size:clamp(1.2rem, 1.3vw, 1.3rem);}
#area-greeting .greeting .text .btnarea{margin:2em 0 0 0;}
@media (max-width: 1100px){
#area-greeting h1 br.sp{display:inherit;}
}
@media (max-width: 768px){
#area-greeting .inner.sizeL{padding-top:3em;}
#area-greeting .greeting{display:block;}
#area-greeting .greeting .gtitle, #area-greeting .greeting .text{width:100%;}
#area-greeting h1{margin:0 0 1em 0;}
#area-greeting h1 br.sp{display:none;}
#area-greeting .greeting .gtitle{margin-top:2em;}
#area-greeting .greeting .text{margin-top:3em; margin-bottom:2em;}
}


/*outline*/
figure.schedule table th{background:inherit; text-align:center;}
figure.schedule table{width:100%; margin:0 0 1em 0;}
figure.schedule table + p{font-size:1.2rem; text-indent:-.5em;}
figure.schedule table tr th, figure.schedule table tr td{text-align:center; white-space:nowrap; line-height:2.5; padding:1em 0 !important; font-size:clamp(1.3rem, 1.5vw, 1.5rem); width:10%;}
figure.schedule table tr td:first-child{width:30%; color:#222;}
figure.schedule table tr + tr{border-top:1px solid #ccc;}
figure.schedule table thead{border-bottom:3px solid #ccc;}
figure.schedule table tbody tr td{color:#50b4c8;}
figure.schedule table tbody tr td:empty:before{content:"―"; color:#222;}
figure.schedule table tbody tr td p{color:#222; margin:0; padding:0; font-size:clamp(1.3rem, 1.5vw, 1.5rem);}
.clinic_box{display:flex;}
.clinic_box .img{width:35%; padding-right:3%;}
.clinic_box .img figure{display:block; margin:0; padding:0; width:100%;}
.clinic_box .table{width:65%;}
@media (max-width: 767px){
.clinic_box{display:block;}
.clinic_box .img{width:100%; padding-right:0;}
.clinic_box .table{width:100%;}
.clinic_box .img figure{display:block; margin:0 auto 1em auto; text-align:center;}
}
.profile_box{display:flex;}
.profile_box .img{width:30%; padding-right:5% !important;;}
.profile_box .table{width:70%;}
.profile_box .photo{display:flex; justify-content:center; align-items:center; aspect-ratio:1; background:#ddd; margin:0 auto 1em auto !important;}
.profile_box .photo:before{content:"Coming soon"; color:#fff; font-size:90%; text-align:center;}
.profile_name{background:#edf7f9; line-height:1; padding:1em; border-radius:5px; margin:0 0 1em 0; font-size:clamp(1.6rem, 2vw, 2rem); letter-spacing:.1em;}
.profile_name small{margin-left:1em; color:#50b4c8; font-size:70%;}
@media (max-width: 767px){
.profile_box .img{width:40%;}
.profile_box .table{width:60%;}
.profile_name small{display:block; margin:1em 0 0 0;}
}
@media (max-width: 500px){
.profile_box{display:block;}
.profile_box .img{width:100%; padding:0 !important;}
.profile_box .photo{max-width:200px; margin:0 auto 1em auto;}
.profile_box .table{width:100%;}
.profile_name small{display:inline-block; margin:0 0 0 1em;}
}
.gmapbtn{display:inline-block; font-size:70%; background:#50b4c8; color:#fff; padding:0 1em; border-radius:3px; line-height:2.5; white-space:nowrap; margin:0 0 0 2em;}
@media (hover: hover) and (min-width: 768px){
.gmapbtn:hover{background:#28c8e1;}
}
@media (max-width: 600px){
.gmapbtn{display:block; font-size:80%; margin:.8em 0 0 0; width:10.3em; line-height:3;}
}

/*access*/
.gmap{overflow:hidden; display:flex; align-items:center; height:300px; margin-bottom:2em;}
.access p{color:#333; font-size:inherit; margin:.5em 0; font-size:clamp(1.3rem, 1.5vw, 1.5rem); display:flex; align-items:center; gap:.5em;}
.access p small{background:#d7e1e6; color:#444; display:inline-block; line-height:2; padding:0 1.5em; margin:0; border-radius:2em; font-size:70%;}
.access p i{font-size:150%; width:1.5em; text-align:center;}
.access p i.fa-location-dot{color:#e64632;}
.access p i.fa-car{color:#3278c8;}
.access p i.fa-bus{color:#8ca5c8;}


/*recruit*/
fieldset{display:none;}
.recruitform{margin:3em auto;}
.recruitform th{font-size:clamp(1.2rem, 1.4vw, 1.4rem) !important; width:10em;}
.recruitform th, .recruitform td{padding:.5em 1em !important; line-height:1; white-space:nowrap;}
.recruitform th.req span:after{content:"*"; color:red; display:inline-block; margin-left:.2em;}
.recruitform input{display:block; line-height:3; border:1px solid #ccc; border-radius:3px; width:100%; margin:0 !important; padding:0 .5em;}
.recruitform textarea{display:block; line-height:3; border:1px solid #ccc; border-radius:3px; width:100%; margin:0 !important; height:150px; padding:0 .5em;}
.btnarea{margin:50px 0;}
.btnarea p{display:flex; justify-content:center;}
.btnarea button{-webkit-appearance: none; border-radius:5px; border:0; background:#00a096; color: #fff; padding:0; margin:0 1em; line-height:4; width:130px; font-size:16px; cursor:pointer;}
.btnarea button.prev-step{background:#aaa;}
.btnarea button#formTopBtn{background:orange;}


/*booking*/
form{max-width:500px; margin:0 auto;}
.ui-datepicker {z-index: 9999 !important;}
.wpcf7-not-valid-tip{padding:.5em !important; font-size:13px !important;}
.form-step {display: none;}
.form-step.active {display: block;}
.form-step h3{border:0 !important; color:#00a096; font-size:clamp(1.4rem, 1.5vw, 1.5rem) !important;}
.form-step h3.req:before{content:"必須" !important; display:inline-block !important;}
.error {border: 2px solid red;}
.wpcf7-response-output{text-align:center; padding:1em;}
.screen-reader-response ul{display:none !important;}
.screen-reader-response p{background:#eee; color:#333; padding:1em; text-align:center; max-width:600px; margin:2em auto;}
.wpcf7-response-output{background:#eee; color:#333; padding:1em; text-align:center; max-width:600px; margin:2em auto;}
.screen-reader-response p:empty, .wpcf7-response-output:empty{display:none;}
.wpcf7-not-valid-tip{background:#ffe1e1; color:#e62828; padding:.5em; display:block; line-height:1; text-align:center; margin:1em 0 0 0; font-size:90%;}
