@charset "utf-8";
/*リセット
==================================================================================================================*/
html, body, h1, h2, h3, h4, h5, h6, div, p, hr, dl, dt, dd, ol, ul, menu, li
, form, fieldset, legend, label, table, caption, thead, tbody, tfoot, tr, th, td
, section, header, main, article, aside, nav, footer, address, summary
, span, a, cite, strong, em, small, i, b, q, u, sub, sup, ruby, rt
, img, picture, source, figure, figcaption, canvas, iframe, audio, video {
  font-size: inherit; font-weight: inherit; font-style: inherit; text-align: inherit;
  margin: 0; padding: 0; background-repeat: no-repeat; border: 0 none; }
* { outline: none; box-sizing: border-box; }
*:focus { outline:none; }
html { -webkit-text-size-adjust: none; height:100%; }
body { font-style:normal; font-weight:normal; font-size:100%; text-align:left; }
ol, ul, li { list-style-image: none; list-style-position: outside; list-style-type: none; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
img { border:0 none; width: auto; height: auto; max-width: 100%;vertical-align: top; }
strong, em { font-weight:bold; }
small{ font-size:80%; }
sub,sup{ font-size:70%; line-height:0; position:relative; vertical-align:baseline; }
sup{ vertical-align:text-top; top:-.5em; }
sub{ vertical-align:text-bottom; bottom:-.25em; }

.fMin { font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif; }
.fGot{ font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }
.fMaru{ font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO"; }
.fTime{ font-family: "Times New Roman","Times New Roman",sans-serif; }
.hMaru{font-family: heisei-maru-gothic-std, sans-serif;}
@font-face { font-family:"FAsolid"; src:url("./fa-solid-900.woff2") format("woff"); }
@font-face { font-family:"FAregular"; src:url("./fa-regular-400.woff2") format("woff"); }

.dbl{display: block;}
.dib{display: inline-block;}
.din{display: inline;}
.dtb{display: table;}
.right, .right p{ text-align:right; }
.center, .center p { text-align:center; }
.under{ text-decoration: underline;}
.bold{ font-weight: bold; }
.small{ font-size: 90%; }
.small2{ font-size: 80%; }
/*a[target="_blank"]::after { font-family: "FAsolid"; font-weight:900; content: "\f35d"; display: inline-block; margin:0 0 0 3px; }
*/.sns_icon a[target="_blank"]::after { display: none;}
.float_left {float: left;}
.float_right {float: right;}
.img_left{ display:block; float:left; margin:0 30px 30px 0; }
.img_right{ display:block; float:right; margin:0 0 30px 30px; }
.img_top{ margin-bottom:30px; }
.clear { clear: both; }
.clearfix::after { display: block; clear: both; content: ""; }
.flex{ display: flex; flex-flow: row wrap; }
.flex_between{ justify-content: space-between; }
.flex_center{ justify-content: center; }
.flex_around{ justify-content: space-around; }
.flex_a_center{ align-items: center; }
.flex_a_end{ align-items: flex-end; }

.indent { padding-left:1em; text-indent: -1em;}
.lineclamp2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow:hidden; }
.lineclamp3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow:hidden; }

.mb30{margin-bottom:30px;}

/*基本スタイル
==================================================================================================================*/
/*基本文字サイズ&文字色*/
html { font-size:16px; }
body {
font-family: "Noto Sans JP", 'ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','メイリオ', Meiryo, sans-serif;
line-height: 1.8;
  color:#333;
  background: #FEEFCE;
  font-weight: 400;
  letter-spacing: 0.05em;
}
/*
.wf-active body {
  font-family: "Noto Sans JP", 'ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','メイリオ', Meiryo, sans-serif;
}
*/
h1, h2, h3, h4, h5, h6 { padding: 0; }
h1,h2,h3{
  font-weight: normal;
  text-align: center;
  margin-bottom: 20px;
  line-height: 1.6;
}
p { margin:0px 0px .8em 0px; } /*下部に余白*/
.cap01{ font-size: 85%; display: block; line-height: 1.2; }

/*リンク文字色*/
a{text-decoration: none;color:#0099cc;}
a:hover   { color:#00a9f0; opacity: 0.8; }

/*マーカー＆強調文字色*/
.c_mrk { background-color:#e5d89b; padding:0 3px; } /*ラインマーカー*/
.c_posi  {color:#d64a5a;}/*positive*/
.c_point {color:#900000;}/*point up*/
.c_nega  {color:#5488a2;}/*negative*/
.c_off   {color:#cac5ba;}/*off*/
.c_pink   {color:#ff0aa6;}

/*テーブル*/
table { border-collapse: collapse; border-spacing:0; width: 100%; }
caption { text-align:left; font-weight:bold; color:#993300; }
th,td{ border: #7f9255 1px solid; padding:10px 20px; font-size: 1rem; vertical-align:top; }
thead th,tfoot th { background-color:#728c42; color:#fff; }
thead td,tfoot td { background-color:#999; color:#fff; }
tbody th { background-color: #a0cc3c; color: #fff; }
tbody td { background-color:#fff; }

/*区切り線*/
hr{clear:both;border:0px solid #fff;padding:15px 0;width:0;}
hr.br{ border:none; }

.img_frame { border: solid 4px #fff; box-shadow: 0 2px 6px rgb(0 0 0 / 10%); }

/*レイアウト共通*/
#container  { width: 100%; position: relative; overflow: hidden;}
.inner{ width:96vw; max-width: 1060px; margin:0 auto; }
.inner:after{ content: ""; display: block; clear: both; }
.inner-section{ width: 96vw; max-width: 1060px; margin:0 auto; padding: 50px 0; }

.section_pd{margin:0 auto; padding: 50px 0; }

#wrapper{
	margin-bottom: 40px;
}

.contents_btm01{margin-bottom: 100px;}
.contents_btm02{margin-bottom: 80px;}
.contents_btm03{margin-bottom: 60px;}
.contents_btm04{margin-bottom: 40px;}
.contents_btm05{margin-bottom: 20px;}
.contents_btm0{margin-bottom: 0;}
.p0{padding: 0 !important;}
.mb0{margin-bottom: 0 !important;}

@media (max-width:1060px) {
	.inner-section{ padding: 4vw 0;}
}
@media (max-width:999px) {
	body { letter-spacing: 0.1em;}
}

@media (max-width:899px) {
	#wrapper { padding-top: 100px;}
}

@media (max-width:799px) {
	.inner-section, .inner { width: 92vw;}
}
@media all and (min-width: 600px){
  .noPC{ display:none !important; }
}
@media all and (max-width: 599.999px){
  .noSP{ display:none !important; }
}
@media (max-width: 599px){
  body{line-height: 1.7; font-size: 0.875rem;}
  .noTab, .noTab caption, .noTab thead, .noTab tfoot, .noTab tbody, .noTab tr, .noTab th, .noTab td {
    display:block; width:100%; }
  .noTab tr { margin-top:10px; }
  .img_left{ float:none; margin:10px auto; text-align:center; }
  .img_right{ float:none; margin:10px auto; text-align:center; }
}
@media (max-width:499px) {
  .order1{ order: 1; }
  .order2{ order: 2; }
  #wrapper{padding-top: 80px;}
  .contents_btm01{margin-bottom: 4rem;}
  .contents_btm02{margin-bottom: 2rem;}
  .contents_btm03,.contents_btm04{margin-bottom: 1rem;}
}

/*グローバルナビゲーション
==================================================================================================================*/
/*ヘッダー*/
header{
	width: 100%;
	padding: 0;
	position: relative;
}
header::before{
	content: "";
	display: block;
	background: url(../images/common/head_deco01.png);
	background-size: cover;
	width: 34vw;
	height: 12vw;
	max-width: 434px;
	max-height: 156px;
	position: absolute;
	bottom: -80px;
	left: 0;
	z-index: -1;
}
header::after{
	content: "";
	display: block;
	background: url(../images/common/head_deco02.png);
	background-size: cover;
	width: 32vw;
	height: 11vw;	
	max-width: 420px;
	max-height: 143px;
	position: absolute;
	bottom: -75px;
	right: 0;
	z-index: -1;
}
.header_top{
	background: #fff;
	padding: 10px;
	position: relative;
}
#hdr_logo h1{
	margin: auto;
	width: 131px;
	height: 155px;
}

#head_contact a{
	display: inline-block;
	background: #62C9FF;
	color: #fff;
	padding: .5em 1.5em;
	border-radius: 20px;
	font-size: 1.125rem;
	position: absolute;
	top: 40px;
	right: 40px;
}



#gnav_wrap{position: relative;background: #fff;padding: 20px 0;}
.nav_menu > li a { display: block; }

/*グローバルメニュー*/
.gnavi__lists{font-weight: bold;}
.gnavi__lists>li{width: 15%;}
.gnavi__lists>li{line-height: 1.4;}
.gnavi__lists>li a{ text-align: center; overflow: hidden;}

.gnavi__list {
    position: relative;
    transition: all .3s;
}

.gnavi__list:not(:first-child)::before {
    content: "";
    width: 1px;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    transition: all .3s;
}

.gnavi__list a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    transition: all .3s;
}

.dropdown__list {
    background-color: #91c5e1;
    transition: all .3s;
    position: relative;
    border-bottom: 1px solid #ccc;
}

.dropdown__list a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    position: relative;
    text-align: center;
    padding: .5em;
}


.dropdown__lists {
    transform: scaleY(0);
    transform-origin: center top;
    transition: all .3s;
    position: absolute;
    top: 30px;
    left: 0;
    z-index: 99;
    width: 100%;
    font-size: .875rem;
}
.gnavi__list:hover .dropdown__lists {
    transform: scaleY(1);
}



/* ハンバーガーメニュー使用時のスタイル */
								/*
								.hamMenu{display: none;}
								#header .overlay { position:fixed; display:none; z-index:20; top:90px; left:0; width:100vw; height:calc(100vh - 50px); background:rgba(255,255,255,.6);}
								@media (max-width:899px) {
									.header_top{ padding: 0;}
									.nav_menu{width: 100%;}
									#hdr_logo{ width: calc( 100% - 100px ); max-width: 80px; display: block;margin: auto; }
									#hdr_logo h1 {width: auto; height: auto;}
									#hdr_logo h1 a { display: block; padding: 5px;}
									#header{position: fixed;top: 0;width: 100%;background: #fff;height: 80px;z-index: 99999; box-shadow: 0 0 0.5vw rgb(0 0 0 / 40%);}
									.header_inner.inner{padding: 10px 5px;}
									#gnav_wrap{display: block!important; background: #ffda2a; transition: .3s ease-in-out;float: none;width: 200px;max-height: 100vh;margin: 0;position: absolute;top: 80px;right: -200px;z-index: 1000;overflow: auto; padding: 1em; border-radius: 1em;}
									.menu-is-open #gnav_wrap {transform: translateX(-210px);}
									.hamMenu{display: block;width: 50px;height: 50px;position: absolute;top: 15px;right: 15px;z-index: 2000;text-indent: -9999px;margin: 0;background: #2A80E3; border-radius: 50%;}
									.hamMenu span {display:block;position:absolute;top:14px;right:10px;width:30px;height:22px;background:#fff;border-top:10px solid #2A80E3;border-bottom:10px solid #2A80E3;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;}
									.hamMenu span:before {content:'';position:absolute;width:30px;height:2px;background:#fff;top:-10px;right:0;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;}
									.hamMenu span:after {content:'';position:absolute;width:30px;height:2px;background:#fff;bottom:-10px;right:0;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;}
									.menu-is-open .hamMenu span {background:transparent;}
									.menu-is-open .hamMenu span:before {transform:rotate(-135deg);top:0;right:0;}
									.menu-is-open .hamMenu span:after {transform:rotate(135deg);bottom:0;right:0;}
									#gnav{background: #fff;}
									.gnavi__lists li{width: 100%;border: none;}
									#gnav li:nth-of-type(-n+5){width: 100%;}
									#gnav li#gnav06{width: 100%;}
									#gnav li#gnav06 a{font-size: 1rem;}
									.gnavi__lists li:not(:last-of-type) { border-bottom: 2px #fff dotted;}
									.gnavi__lists li a{font-size: 14px;padding: 12px;}
									.menu-is-open #header .overlay { display:block; }
									.dropdown__lists { display: none;}
									.gnavi__list:not(:first-child)::before { display: none;}
									#head_contact a{
										padding: .5em 1.5em;
										border-radius: 0;
										font-size: 1rem;
										font-weight: bold;
										position: fixed;
										top: inherit;
										bottom: 0;
										right: 0;
										left: 0;
										text-align: center;
									}
								}
								@media (max-width:599px) {
									header{ padding: 0; }
									#header{height: 60px;}
									#gnav_wrap{top: 70px;}
									.hamMenu { top: 10px; width: 40px; height: 40px;}
									.hamMenu span { top: 10px; width: 20px;}
									.hamMenu span:before { width: 20px; top: -8px;}
									.hamMenu span:after { width: 20px; bottom: -8px;}
									#hdr_logo{ max-width: 55px;}
									header::before{bottom: unset; top: 60px;}
									header::after{bottom: unset; top: 60px;}
									#header .overlay { top: 60px;}
								}
								*/
/* ハンバーガーメニュー使用時のスタイルここまで */

/* ハンバーガーメニューなしのスタイル */
@media (max-width:899px) {
	.dropdown__lists { display: none;}
	.gnavi__list:not(:first-child)::before { display: none;}
	header::before, header::after { bottom: -10vw;}
}
@media (max-width:599px) {
	#hdr_logo h1 { width: auto; height: auto;}
	#hdr_logo h1 img { height: 80px; width: auto;}
	#head_contact a { top: 50%; right: 20px; transform: translateY(-50%); font-size: 0.875rem;}
	#gnav_wrap { padding: 10px 0;}
	.gnavi__lists { justify-content: center; width: 98%;}
	.gnavi__lists>li { width: auto; margin: 0.3em 0.8em;}
}
@media (max-width:499px) {
	#head_contact { position: absolute; top: 50%; right: 20px; transform: translateY(-50%);}
	#head_contact a { position: relative; top: unset; right: unset; transform: none; font-size: 10px; padding: 3.5em 1em 0.5em; letter-spacing: 0; border-radius: 10px;}
	#head_contact a::before { content: "\f0e0"; font-family: FAsolid; font-weight: bold; font-size: 3em; position: absolute; left: 50%; transform: translateX(-50%); top: 0.2em; font-size: 3em; line-height: 1;}
}

/* ハンバーガーメニューなしのスタイルここまで */



/*フッター*/
#bread { background:#eee; font-size:80%; padding:0.3em; }
#bread li { display:inline-block; }
#bread li::before { font-family:FAsolid; content:"\f105"; font-weight:900; color:red; display:inline-block; margin:.1em .5em; }
#bread li:first-of-type::before { content:"\f015"; margin:.1em .5em .1em 0; }
#bread a { color:green; }

#footer{ width: 100%; padding: 50px 0 0; background: #fff; position: relative;}
#footer #foot_logo{
	text-align: center;
	margin:0 auto 20px;
	width: 30vw;
	max-width: 120px;
}

#footer #f_nav ul{
	margin: 0 50px;
	font-size: .875rem;
}
#footer #f_nav ul li a{
	color: inherit;
}
#footer #f_nav ul li::before{
	content: "●";
	color: #2FA6FF;
}
#footer #f_nav ul li:not(:last-child){
	margin-bottom: .75em;
}

#copy{ text-align: center; font-size: 0.75rem;padding: 15px 0;}

#footer .illust {
	position: absolute;
	top: -10%;
	left: 2vw;
	width: 106px;
	z-index: 3;
}


@media (max-width:799px){
#footer{padding: 20px 0 60px;}
#footer .illust { display: none;}


}

@media (max-width:599px){

#footer .inner{
	display: none;
}

}


.onoff { opacity: 0; transition:all 1s; }
.onoff.on { opacity: 1; }

.btn_more01 a{
	display: block;
	width: 100%;
	max-width: 400px;
	margin: auto;
	text-align: center;
	color: #fff;
	border-radius: 30px;
	background: #2FA6FD;
	font-size: 1.125rem;
	padding: 1em;
	font-weight: bold;
}


.link_btn{
	background: #ff88a5;
	padding: 1.5em;
	text-align: center;
	width: 90%;
	margin: auto;
	border-radius: 20px;
}
.link_btn li{
	display: inline-block;
}

.link_btn li a{
	display: block;
	color: #fff;
  padding: 0 2em;
}
.link_btn li:not(:last-child){
  border-right: 1px solid #fff;
}


@media (max-width: 1099px){
	.link_btn { width: 100%;}
}

@media (max-width: 999px){
	.link_btn { padding: 1em;}
	.link_btn li a { padding: 0 1em;}
}

@media (max-width: 799px){

.btn_more01 a{font-size: 1rem;}




}

@media (max-width: 599px){


.link_btn{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	padding: 1em 1em 0;
}
.link_btn li{
	width: 48%;
	margin-bottom: 1em;
}

.link_btn li:nth-of-type(2n){
  border-right: none;
}






}

@media (max-width: 399px){
	.link_btn li{ width: 100%;}
	.link_btn li:not(:last-child) { border: none;}
}

.gmap { height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative;}
.gmap iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%;}

#page_top{ width: 70px; height: 70px; position: fixed; z-index: 9999; display:none; right: 30px; bottom: 30px; background: rgba(0,0,0,0.8); border-radius: 50%;}
#page_top.on { display:block; }
#page_top a{ position: relative; display: block; width: 70px; height: 70px; text-decoration: none; text-align: center; color: #fff;}
#page_top a::before{ font-family: FAsolid; font-weight: 900; content: '\f106'; display: block; font-size: 25px; color: #fff; width: 25px; height: 25px; margin: 0 auto 10px; text-align: center;}

@media (max-width: 899px){
	#page_top { bottom: 60px;}
}

@media (max-width: 499px){
	#page_top{ width: 50px; height: 50px; right: 5px; bottom: 50px;}
	#page_top a{ width: 50px; height: 50px; line-height:1;}
	#page_top a::before{ margin-bottom:2px;}
}
@media (max-width: 369px){
	#page_top, #page_top a{width: 45px;height: 45px;}
	#page_top{bottom: 45px;}
	#page_top a::before{margin-bottom:0;height: 22px;}
}

.bg01{ background: #fff;}



/*アニメーション*/

/*上下ゆらゆら*/
.swinging {
    animation-name: swinging;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 1.5s;
}
@keyframes swinging {
    0% {
        transform: translate(0,0px);
    }

    100% {
        transform: translate(0,-15px)
    }
}
.wave_top,.wave_btm{
	position: relative;
}
.wave_top::before,.wave_btm::after{
    content: "";
    display: block;
    background: url(../images/common/wave.png) repeat-x;
    height: 16px;
    width: 100%; 
    background-size: auto 16px;
    position: absolute;
    z-index: 2;
    left: 0;
}
.wave_top::before{
    transform: scale(1, -1);
    top: -16px;
}

.wave_btm::after{
    bottom: -16px;
}

.tit_deco01{
	    font-size: 2rem;
    color: #2584D6;
    margin-bottom: 1em;
}
.tit_deco01::before{
	content: "";
	display: block;
	background: url(../images/common/tit_deco01.png);
	background-size: cover;
	width: 78px;
	height: 38px;
	text-align: center;
	margin: auto;
}


img.br20{
	border-radius: 20px;
}


/*サブページ
-------------------------------------------------------------------------------------------------------------------*/
.sub_main h1{
	font-size: 2.75rem;
	color: #2584D6;
	text-align: center;
	padding: 3em 0 2em;
	width: 100%;
	line-height: 1.6;
}
.sub_main h1 span.en{
	display: block;
	font-size: 1.25rem;
}

.sub_main h1 .medical_care {
	font-size: clamp( 1rem, 3vw, 1.25rem );
	color: #fff;
	line-height: 1;
	padding: 0.5em 1.5em;
	border-radius: 1em;
	background: #ef8bb6;
}

.sh1 {
	font-size: 2rem;
	color: #2584D6;
	margin-bottom: 1em;
}

.sh1::before{
	content: "";
	display: block;
	background: url(../images/common/tit_deco01.png);
	background-size: cover;
	width: 78px;
	height: 38px;
	text-align: center;
	margin: 0 auto .5em;
}
.sh1 .small{
	font-size: 1.125rem;
}

.sh2{font-size: 1.5rem;}


.mt{ margin-top: 50px;}

.lead{
	text-align: center;
	font-size: 1.125rem;
	font-weight: bold;
}

@media (max-width:799px) {
.sub_main h1{
	font-size: 2.25rem;
	padding: 2em 0 1.5em;
}
.sub_main h1 span.en{
	font-size: 1.125rem;
}

.sh1 { font-size: 2rem;}	
.mt{margin-top: 30px;}
.sh2 { font-size: 1.25rem;}	
}

@media (max-width:599px){
.sub_main h1{
	font-size: 1.75rem;
	padding: 1em 0;
}
.sub_main h1 span.en{
	font-size: 1rem;
}
	.ah1{ font-size: 1.25rem; margin-bottom: 20px; }
	.sh1 { font-size: 1.35rem;}
	.sh2 { font-size: 1.125rem;}	
	.lead{ font-size: 1rem;}
}

