/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

/* @import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css); */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

html {
	font-family:'Noto Sans JP','Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, arial, helvetica, sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	word-break:break-all;
	scroll-padding-top: 80px;
	scroll-behavior: smooth;
}
body {
	color: var(--main-txt);
	line-height: 1.8;
	background:var(--bg-y);
	letter-spacing: 0.06em;
	font-feature-settings: "palt";
	overflow-wrap: break-word;
  	word-break: normal;
	margin: 0;}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary { display: block;}
audio,canvas,progress,video { display: inline-block; vertical-align: baseline;}
audio:not([controls]) { display: none; height: 0;}
[hidden], template { display: none;}
a { background-color: transparent;}
a:active, a:hover { /*color: #f08300;　*/  outline: 0; } 
abbr[title] { border-bottom: 1px dotted;}
b,strong { font-weight: bold;}
dfn { font-style: italic;}
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal;}
mark { background: #ff0; color: #000;}
small { font-size: 80%;}
sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em;}
sub { bottom: -0.25em;}
img{border:0;vertical-align:middle}
button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0;}
button { overflow: visible;}
button, select { text-transform: none;}
button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; }
button[disabled], html input[disabled] { cursor: default; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
input { line-height: normal; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto;}
input[type="search"] { -webkit-appearance: textfield; box-sizing: content-box;}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
legend { border: 0; padding: 0;}
textarea { overflow: auto; }
optgroup { font-weight: bold; }
table { border-collapse: collapse; border-spacing: 0;}
p,dl,dt,dd,th,td,pre,ul,ol{ margin:0; -ms-line-break:strict; line-break:strict; -ms-word-break:break-strict; word-break:break-strict}
ul,ol { list-style: none; padding: 0;}

/* ----------------------------------------------------
base setting
---------------------------------------------------- */

* {  -webkit-box-sizing: border-box;  box-sizing: border-box;}
*:before,*:after {  -webkit-box-sizing: border-box;  box-sizing: border-box;}

html {
  -webkit-tap-highlight-color: transparent;   -moz-text-size-adjust: 100%;  -ms-text-size-adjust: 100%;  -webkit-text-size-adjust: 100%;
  font-size: 60%; /* 10px */
}
body { font-size: clamp(1.6rem, 1.4vw, 1.8rem);
text-rendering: optimizeLegibility;
font-kerning: normal;               
font-variant-ligatures: common-ligatures contextual;
font-feature-settings: "kern", "liga", "clig", "calt" ,  "palt";}
#wrapper { margin: 0 auto; position: relative;}

/* ----------------------------------------------------
element base setting
---------------------------------------------------- */

h1, h2, h3, h4, h5, h6, table, ul, ol, p, dl { font-size: 100%; margin: 0;}
ul{ list-style: none; }
dd { margin: 0;}
/* table, ul, ol, p, dl {margin-bottom: min(1.66vw, 20px);} */
header table, header ul, header ol, header p,  header dl,footer table, footer ul, footer ol, footer p,  footer dl {	margin-bottom: 0px;}

/* link  */
a[href^="tel:"] { cursor: default;}
.clickable { cursor: pointer;}
.clearfix{ zoom:100%;	}
.clearfix:after {	content: ".";	display: block;	height: 0;	clear: both;	visibility: hidden;}

@media (min-width:768px) { /* PC + tablet */
.pcNoDisplay, #ftSlideBlock { display: none !important;}
a:hover[href^="tel:"] { text-decoration:none; }
}

@media (max-width: 1200px) and (min-width: 768px) {
}

@media (max-width: 767px) {/*  sp */
body {font-size: clamp(1.4rem, 4vw, 1.8rem);}
.spNoDisplay { display: none;}
a:hover { text-decoration: none !important;}
img { width: 100%;}
table, ul, ol, p, dl {margin-bottom: 2.5vw;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (min-width:768px) {
/* hover */
a:hover {
	opacity: 0.6;
	text-decoration: none;
	transition: all 0.2s ease-in-out;
}
#home:not(#homNews) a:hover {
	opacity: .8 !important;
}
.clickable:hover { opacity: .8 !important; transition: all 0.2s ease-in-out;}
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 1200px) and (min-width: 768px) {
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 767px) {
}

/* helper class  ----------------------------------------------------------*/

/* text-align */
.alignC {text-align: center !important;}
.alignR {text-align: right !important;}
.alignL {text-align: left !important;}

@media (min-width:768px) {
	/* width % */
	.w--20 {width: 20% !important;}
	.w--25 {width: 25% !important;}
	.w--30 {width: 30% !important;}
	.w--35 {width: 35% !important;}
	.w--40 {width: 40% !important;}
	.w--45 {width: 45% !important;}
	.w--50 {width: 50% !important;}
	.w--55 {width: 55% !important;}
	.w--60 {width: 60% !important;}
	.w--65 {width: 65% !important;}
	.w--70 {width: 70% !important;}
	.w--75 {width: 75% !important;}
	.w--80 {width: 80% !important;}
}

/* img width */
.img--w120 {width:min(10vw, 120px) !important; }
.img--w140 {width:min( 11.67vw, 140px) !important; }
.img--w150 {width: min( 12.5vw, 150px) !important;}
.img--w200 {width: min( 16.6vw, 200px) !important;}
.img--w240 {width: min( 20vw, 240px) !important;}
.img--w280 {width: min( 23.33vw, 280px) !important;}
.img--w300 {width: min( 25vw, 300px )!important;}
.img--w320 {width: min( 26.67vw, 320px) !important;}
.img--w400 {width: min( 33.33vw, 400px) !important;}
.img--w640 {width: min( 53.33vw, 640px) !important;}
.img--w840 { width: min( 70vw, 840px) !important;  max-width: 100%;}

@media (max-width: 767px) {
.img--w120 {width:min(20%, 120px) !important; }
.img--w140 {width:min( 25%, 140px) !important; }
.img--w150 {width: min( 30%, 150px) !important;}
.img--w200 {width: min( 35%, 200px) !important;}
.img--w240 {width: min( 40%, 240px) !important;}
.img--w280 {width: min( 50%, 280px) !important;}
.img--w300 {width: min( 60%, 300px )!important;}
.img--w320 {width: min( 70%, 320px) !important;}
.img--w400 {width: min( 80%, 400px) !important;}
.img--w640 {width: min( 90%, 640px) !important;}
.img--w840 { width: min( 100%, 840px) !important;}
}

/* margin-bottom */
.mb00 {margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 {margin-bottom: 10px !important;}
.mb15 {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb25 {margin-bottom: 25px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb35 {margin-bottom: 35px !important;}
.mb40 {margin-bottom: 40px !important;}
.mb45 {margin-bottom: 45px !important;}
.mb50 {margin-bottom: 50px !important;}
.mb55 { margin-bottom: 55px !important;}
.mb60 {margin-bottom: 60px !important;}
.mb65 {margin-bottom: 65px !important;}
.mb70 {margin-bottom: 70px !important;}
.mb75 {margin-bottom: 75px !important;}
.mb80 {margin-bottom: 80px !important;}
.mb90 {margin-bottom: 90px !important;}
.mb100 {margin-bottom: 100px !important;}
.mb110 {margin-bottom: 110px !important;}
.mb120 {margin-bottom: 120px !important;}

/* margin-top */
.mt00 {margin-top: 0px !important;}
.mt05 { margin-top: 5px !important;}
.mt10 {margin-top: 10px !important;}
.mt15 {margin-top: 15px !important;}
.mt20 {margin-top: 20px !important;}
.mt25 { margin-top: 25px !important;}
.mt30 { margin-top: 30px !important;}
.mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}
.mt45 { margin-top: 45px !important;}
.mt50 { margin-top: 50px !important;}
.mt55 { margin-top: 55px !important;}
.mt60 {margin-top: 60px !important;}
.mt65 {margin-top: 65px !important;}
.mt70 {margin-top: 70px !important;}
.mt75 {margin-top: 75px !important;}
.mt80 {margin-top: 80px !important;}
.mt90 {margin-top: 90px !important;}
.mt100 {margin-top: 100px !important;}
.mt110 {margin-top: 110px !important;}
.mr120 {margin-top: 120px !important;}
a {
	color: var(--main-txt);
	text-decoration: none;
	}
.flex {display: flex; display: -webkit-flex; justify-content:space-between; flex-wrap: wrap;}
.clickable a, .clickable a:hover { color: #333;}
img {width: 100%; height: auto;}

.ic-symbol {position: relative;}
.ic-symbol::before { font-family: var(--ff-symbol); position: absolute; font-weight: 200;}
.ic-timetable::before {content: "\e8b5";}
.ic-off::before {content: "\e748"; }
.ic-access::before {content: "\e0c8"; }
.ic-menu::before {content: "\e5d2"; }
.ic-home::before {content: "\e88a";}
.ic-first::before {content: "\f150";}
.ic-medical::before {content: "\f805";}
.ic-syouni::before {content: "\eb41";}
.ic-exam::before {content: "\f80f";}
.ic-staff::before {content: "\e09e";}
.ic-attention::before {content: "\e000";}
/* .ic-tel::before {content: "\e8a8";} */
.ic-tel::before {content: "\e0b0"; font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24}
.ic-file::before{content:"\e873";}
.ic-homehealth::before{content:"\e4b9";}
.linkEx {padding-right: 1.3em; position: relative;}
.linkEx::before {content: "\e89e"; font-family: var(--ff-symbol); position: absolute;   right: 0; top: 50%; transform: translate(0, -50%); color: var(--main-g); font-weight: 600 !important; font-size: min(1.66vw , 2rem);}

#header .hd-btn h2,#header .hd-tel h2{
	font-weight: 600;
	font-size: min(1.4vw,2.4rem);
}

/* テキストスタイル */
.em-bold{
	font-weight: 700;
}
.em-bold2{
	font-weight: 700;
	font-size: 1.6em;
}
.em-bold3{
	font-weight: 900;
}
.em-red {
	font-weight: 700;
	color: var(--sub-r);
}
.em-red-f {
	color:var(--sub-r);
	background: var(--white);
	border: solid 1px var(--sub-r);
	padding: 0 5px;
	margin-right: 4px;
}
.txt-red{
	color: var(--sub-r);
}
.txt-lar{
	font-size: 1.2em;
}
.txt-lar2{
	font-size: 1.4em;
}
.txt-s{
	font-size: 0.9em;
}
.txt-s2{
	font-size: 0.8em;
	letter-spacing: 0;
	
}
.txt-s3{
	font-size: 0.5em;
	letter-spacing: 0;
}
.txt-g{
	color: var(--main-g);
}
.txt-y{
	color: var(--main-y);
}
.txt-o{
	color: var(--main-o);
}
.txt-br{
	color: var(--sub-txt);
}
.txt-indent{
text-indent: -1em;
padding-left: 1em;
}
.txt-link{
	color: var(--main-y);
	font-weight: 700;
	border-bottom: solid 1px var(--main-y);
	display: inline;
}
.txt-note{
	font-size: 0.8em;
	text-indent: -1em;
	padding-left: 1em;
}
#pediatrics .link-g .txt-link{
	color: var(--main-g);
	border-bottom: solid 1px var(--main-g);
}
/* #pediatrics #yobo a:hover{
	color: #e7ca56;
	border-bottom: solid 1px #e7ca56;
} */
.marker-y{
	background: linear-gradient(transparent 65%, #fff492 0%);
  	display: inline;
}
.marker-p{
	background: linear-gradient(transparent 65%, var(--sub-p) 0%);
  	display: inline;
}
.marker-line-red{
	border-bottom: solid 1px var(--sub-r) ;
	display: inline;
}
.mark-fr-g{
	background: var(--sub-g2);
	color: var(--white);
	border-radius: 4px;
	padding: 0 10px;
	font-weight: 500;
	display: inline-block;
}
.mark-fr-r{
	background: var(--sub-r);
	color: var(--white);
	border-radius: 4px;
	padding: 0 10px;
	font-weight: 500;
	display: inline-block;
}
.mark-fr-y{
	background: var(--main-y);
	color: var(--white);
	border-radius: 4px;
	padding: 0 10px;
	font-weight: 500;
	display: inline-block;
}
.mark-point{
	position: relative;
	border-left: none;
	padding-left: 40px;
}
.mark-point::before{
	content: "\f603";
    font-family: var(--ff-symbol);
    position: absolute;
    left: 0;
    top: 0;
    font-variation-settings: 'FILL' 1;
    font-size: 1.7em;
    line-height: 1;
    font-weight: 300;
	color: var(--main-g);
}
#pediatrics .mark-point::before{
	color: var(--main-y);
}
hr{
	border: none;
	margin: 60px 0;
	border-bottom: dotted 4px var(--main-g);
}
#pediatrics hr{
	border-bottom: dotted 4px var(--main-y);
}
.pa-cat{
	display: inline-block;
	margin-left: 4em;
}
.cont01{
	margin: 40px 0;
	overflow: hidden;
}
.cont02{
	margin-bottom: 60px;
	overflow: hidden;
}
.cont01 p ,.cont02 p{
	margin-bottom: 10px;
}
.cont03{
	background: var(--white);
	border: solid 1px var(--sub-g);
	border-radius: 10px;
	padding: 20px;
	margin: 40px 0;
	overflow: hidden;
}
.cont04{
	margin: 20px 0 40px;
	padding-left: 20px;
	overflow: hidden;
}
.cont05{
	margin-top: 40px;
	overflow: hidden;
}
@media (max-width: 767px) {
.cont02{
	margin-bottom: 40px;
}
.cont03{
	margin: 20px 0;
}
.cont04{
	padding-left: 10px;
	}
}
/* リスト */
ol{
	padding-left: 1em;
	margin-bottom: 20px;
}
 ol li{
	margin-bottom: 6px;
}
.listDot{
    line-height: 1.5;
	margin: 20px 0;
}
.listDot li{
	margin-bottom: 6px;
	text-indent: -1em;
    padding-left: 1em;
}


.listDot li:before {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    background-color: var(--main-g);
    border-radius: 50%;
    margin-right: 8px;
}
#pediatrics .listDot li:before{
   background-color: var(--main-y);
}
@media (max-width: 767px) {
	.linkEx::before {font-size: min(4vw , 2rem);}
}

/* 改行 */
.br-pc { display:block; }
.br-sp { display:none; }
@media (max-width: 767px) { 
  .br-pc { display:none; }
  .br-sp{ display:block;}
}

.br-tab { display:none; }
@media (min-width: 768px) and (max-width: 1024px) {
  .br-tab { display:block; }
}

/* dec   ----------------------------------------------*/
.dec {margin: min(3.3vw , 40px) auto; padding: min( 3.3vw , 40px); border-radius: min(0.83vw , 10px);}
.decA {
	background: var(--white);
	border: 2px solid var(--sub-g);
}
.decAp {background: #f5ecec;}
.decAl {background: var(--main-g-light);}
.decB {background: #fff; border: 2px solid var(--main-g);}
.decC {background: #f3f3f3;}
.decD {background: var(--sub-g3);}
/* .decE {background: #ececcd;} */

.dec p:last-child {margin-bottom: 0;}
#container .dec h3:first-child, #container .dec h4:first-child {margin: 0 auto min(1.66vw , 20px);}

#pediatrics .decA{
	border: 2px solid var(--sub-y);
}
#pediatrics .decB{
	border: 2px solid var(--main-y)
}
#pediatrics .decD{
	background: var(--com02);
}

@media (max-width: 767px) {
.dec {margin: min(5vw , 40px) auto; padding: min(5vw , 40px); border-radius: min(1.5vw , 10px);}
#container .dec h3:first-child, #container .dec h4:first-child {margin: 0 auto min(3vw , 20px);}

}
/* flex   ----------------------------------------------*/
#container .flex {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	/* margin: 0 auto min(5vw , 60px); */
}
.flx--equall {column-gap: min(3.3vw , 40px); }
.flx--equall .flex__cont {flex: 1;}
.flex__cont img {width: 100%; height: auto;}
.flx--sb {justify-content: space-between;}
.flx--c {justify-content: center; }
.flx--l {justify-content: left; }

@media (max-width: 767px) {
	.flex__cont {flex: inherit !important; width: 100%; margin-bottom: min(4vw , 20px);}
	#container .flx--half {justify-content: space-between !important; column-gap: 0 !important;}
	.flx--half .flex__cont  {width: 48%;}
	.flx--reverse {flex-direction: column-reverse;}
	.flx--l {justify-content: center; }
}
.floatBox {overflow: hidden;}
.floatL {float: left;  margin: 0 min(2.5vw , 30px) min(2.5vw , 30px) 0; display: inline-block;}
.floatR {float: right;  margin: 0 0 min(2.5vw , 30px) min(2.5vw , 30px); display: inline-block;}
.floatL img , .floatR img { height: auto; }

@media (max-width: 767px) {
.floatL img , .floatR img { width: 45vw !important; }
}