@charset "utf-8";
/* CSS Document */

/* init */
:link,:visited{text-decoration:none;}
html,body,div,ul,ol,li,dl,dt,dd,form,fieldset,input,textarea,h1,h2,h3,h4,h5,h6,pre,code,p,blockquote,hr,th,td,artilce,section,aside,nav,figure{margin:0;padding:0;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400;}
fieldset,img,abbr,acronym{border:0;}
address,caption,cite,code,dfn,em,strong,b,u,s,i,th,var{font-style:normal;font-weight:400;}
q:before,q:after{content:'';}
a img,:link img,:visited img{border:none;}
address{font-style:normal;display:inline;}
strong{font-weight:bolder;}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
input,textarea{margin:0;padding:0;}
ol,ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
a:focus{outline:none;}

body{color:#222; font-family: "Noto Sans JP", メイリオ, "ヒラギノ角ゴ Pro W3", sans-serif; font-size:16px; line-height:1.6; -webkit-text-size-adjust: 100%;}
body *{ box-sizing:border-box; }
a{color:#222;text-decoration:none;}
a:hover{text-decoration:none;}
img{vertical-align:bottom;}
.container img { max-width:100%; height:auto; }

@media (min-width: 1024px){ 
	a:hover{text-decoration:underline;}
}

/* clearfix */
.clearfix:after{content:"";display:block;clear:both;height:0;visibility:hidden;}
.clearfix{min-height:1px;}
* html .clearfix{height:1px;}

/* grid */
.c-row{ min-height:1px; }
.c-row:after{ clear:both; content:""; display:block; height:0; visibility:hidden;}
.c-row [class*="c-col-"] { margin-bottom:15px; }
.c-row [class*="c-col-"]:last-child { margin-bottom:0; }

@media (min-width: 1024px){ 
	.c-row * { box-sizing:border-box; }
	.c-row .c-col-1 { width:8.33%; }
	.c-row .c-col-2 { width:16.66%; }
	.c-row .c-col-3 { width:25%; }
	.c-row .c-col-4 { width:33.33%; }
	.c-row .c-col-5 { width:41.66%; }
	.c-row .c-col-6 { width:50%; }
	.c-row .c-col-7 { width:58.33%; }
	.c-row .c-col-8 { width:66.66%; }
	.c-row .c-col-9 { width:75%; }
	.c-row .c-col-10 { width:83.33%; }
	.c-row .c-col-11 { width:91.66%; }
	.c-row .c-col-12 { width:100%; } 
	.c-row [class*="c-col-"] { float: left; padding: 15px; margin-bottom:0; }
	.c-row [class*="c-col-"] img { max-width:100%; height:auto; }
}

/* btn */
.c-btn { color:#333; background:#fff; display:inline-block; position:relative; padding:12px 15px; }
.c-btn.reverse { color:#fff; background:#333; }
.c-btn.has-icon { padding-right:60px; }
.c-btn.has-icon:before { content: "\f0a9"; font-family: FontAwesome; font-weight: 900; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); }
.c-btn.has-border { color:#333; font-weight:bold; background:#fff; display:inline-block; position:relative; padding:10px 15px; border:2px solid #333; border-radius:5px; }

@media (min-width: 1024px){ 
	.c-btn { padding:8px 40px;}
	.c-btn:hover { text-decoration:none; opacity:.7; transition:0.3s;}
}

/* layout */
.wrapper { overflow-x:hidden; }
.container { padding-left:15px; padding-right:15px; position:relative; max-width:100% !important; }
.sp-hidden { display:none; }
.al-center { text-align:center;}

@media (min-width: 768px){
	.container { width:100%; padding-left:15px; padding-right:15px; }
}

@media (min-width: 1024px){
	body { min-width:1024px; }
	.container { width:1024px; min-width:1024px; margin:0 auto;}
	.sp-hidden { display:block; }
	img.sp-hidden { display:inline-block; }
	.pc-hidden { display:none; }
}

@media (min-width: 1200px){
	.container { width:1200px; min-width:1200px;}
}

/* fixed-header-set */
.main { margin-top:60px; }
header.fixed-header { border-bottom:1px solid #efefef; box-shadow: 0 1px 3px rgb(0 0 0 / 5%); }

@media (min-width: 1024px){
	.main { margin-top:0; }
	header.fixed-header { border:0; box-shadow:none; }
}

/* header */
.header { background:#fff; box-shadow: rgb(88 88 88 / 50%) 0px 10px 5px -11px; position:relative; }
.header .container { height:60px; }
.header .logo { display:inline-block; margin-top:12px; }
.header .logo a { display:block; }
.header .logo img { width:auto; height:35px; }

@media (min-width:1024px){
	.header { height:auto; box-shadow:none; padding:20px 0; }
	.header .container { height:auto; }
	.header .logo { margin-top:15px; }
	.header .logo img { height:70px; }
	.header .time { position:absolute; top:0; right:320px; }
	.header .tel { position:absolute; top:0; right:0;  }
}

/* header > global-nav */
@media (min-width:1024px){
	.global-nav { background:#01978b; }
	.global-nav .container { padding:0 10px; }
	.global-nav ul { display:flex; justify-content:space-around; }
	.global-nav ul li { text-align:center; transition:.2s; position:relative; }
	.global-nav ul li a { color:#fff; font-size:17px; border-bottom:3px solid #01978b; display:block; padding:15px 20px 13px; transition:.4s; }
	.global-nav ul li a:hover { text-decoration:none; border-bottom:3px solid #fff; }
}

/* header > sp-nav */
.sp-menu{ width:60px; height:60px; position:absolute; right:0; top:0; background:#fff; }
.menu-trigger,
.menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; }
.menu-trigger { position: relative; width: 100%; height: 24px; }
.menu-trigger span { background-color:#01978b; border-radius: 0px; position: absolute; left: 0; width: 100%; height: 2px; }
.menu-trigger span:nth-of-type(1) { top: 0; }
.menu-trigger span:nth-of-type(2) { top: 9px; }
.menu-trigger span:nth-of-type(3) { bottom: 4px; }
.menu-trigger span:nth-of-type(3):after{ content:"メニュー"; color:#01978b; font-size:9px; font-weight:bold; white-space:nowrap;  display:inline-block; margin-top:10px; margin-left:-6px; }
.menu-button { text-align:center; line-height:1; border:none; background:none; padding:12px 16px 21px 16px; }
.menu-button .touch-button{ display:none; }
.menu-button.active span:nth-of-type(1) { -webkit-transform: translateY(10px) rotate(-45deg); transform: translateY(10px) rotate(-45deg); }
.menu-button.active span:nth-of-type(2) { -webkit-transform: translateY(0px) rotate(45deg); transform: translateY(0px) rotate(45deg); top: 10px; }
.menu-button.active span:nth-of-type(3) { background-color:rgba(255, 255, 255, 0); }
.menu-button.active span:nth-of-type(3):after { content: "閉じる"; margin-left: 0px; }

.sofunav.show-menu { padding:0 15px; }
.sofunav div.nav a { color:#01978b; border-bottom:1px dotted #01978b; text-align:center; }
.sofunav .freearea.bottom { margin-top:20px; margin-bottom:40px; }
.sofunav .freearea.bottom .logo img { width:auto; height:50px; }

@media (min-width:1024px){
	.sp-menu { display:none; }
}

/* sp-contact */
.sp-contact { text-align:center; padding:10px 15px; background:#fff; }
.sp-contact .time { margin-bottom:6px; }
.sp-contact a { color:#fff; font-size:16px; font-weight:bold; background:#01978b; display:inline-block; padding:8px; border-radius:5px; width:280px; }
.sp-contact a i.fa { margin-right:5px; transform: rotate(20deg); }

@media (min-width:768px){
	.sp-contact { display:none; }
}

/* page */
.main img { max-width:100%; height:auto; }

.page-content { font-size:15px; }
.page-content section + section { margin-top:30px; }
.page-content p { margin-bottom:15px; line-height:1.8}
.page-content a { color:#01978b; }
.page-content ul, 
.page-content ol { margin: 20px 0 20px 30px; padding: 0; }
.page-content ul { list-style: disc outside; }
.page-content ol { list-style: decimal outside; }
.page-content ul li + li,
.page-content ol li + li { margin-top:15px; }
.page-content h1 { color:#222; font-size:28px; font-weight:bold; margin:0 0 10px;}
.page-content h2 { color:#01978b; font-size:26px; font-weight:bold; text-align:center; padding:0; margin:0 0 30px; }
.page-content h2 img { margin:0; }
.page-content * + h2 { margin-top:20px; }
.page-content h3 { color:#01978b; font-size:21px; font-weight:bold; margin-bottom:10px; }
.page-content img { margin-top:15px; margin-bottom:15px; }

.page-content table { border-collapse: collapse; width:100%; margin-bottom:20px;}
.page-content table th,
.page-content table td { font-size:15px; text-align:center; padding:10px 15px; display:block; width:100%; }
.page-content table th { background:#dbf0ef; border:1px solid #01978b; }
.page-content table td { background:#fff; border:1px solid #01978b; }

@media (min-width:768px){
	.page-content section + section { margin-top:50px; }
	.page-content h2 { background-size:auto; }
	.page-content table { width:100%; }
	.page-content table th { white-space:nowrap;}
	.page-content table th,
	.page-content table td { font-size:16px; padding:15px 20px; display:table-cell; width:auto; border-top:1px solid #01978b;}
}

@media (min-width:1024px){
	.page-content { font-size:18px; }
	.page-content a { text-decoration:underline; }
	.page-content h2 { font-size:28px; }
}

/* main-visual */
.main-visual img { max-width:100%; height:auto; margin-top:0 !important; margin-bottom:0 !important;  position:relative; z-index:101; }
.main-visual ul { margin:0; }

@media (min-width:768px){
	.main-visual .sp-hidden { display:block }
	.main-visual .pc-hidden { display:none }
}

@media (min-width:1024px){
	.main-visual { overflow:hidden; }
	.main-visual { max-width:1200px; margin:0 auto; min-height:500px; max-height:560px; }
}

@media (min-width:1200px){
	.main-visual .pc .text { margin-left:58px; }
}

/* sp-time */
.sp-time { text-align:center; }

@media (min-width:768px){
	.sp-time { display:none; }
}
/* covid19 */
.section-covid19 { margin-top:0 !important; }
#covid19 { margin-top:20px; }
#covid19 .wrap { border:1px solid #e94e4e; padding:20px; }
#covid19 h2 { color:#fff; font-size:19px; background:#e94e4e; padding:5px; }
#covid19 p strong { font-size:17px; }
#covid19 .container { padding:0;}


@media (min-width:768px){
	#covid19 .wrap { display:flex; flex-wrap:wrap; margin-top:20px; padding:20px;}
	#covid19 .wrap .text { flex-basis:60%; }
	#covid19 .wrap .img { flex-basis:40%; padding-left:20px; }
	#covid19 .wrap .img img { margin-top:0; }

}

@media (min-width:1024px){
	#covid19 .wrap { padding:30px 40px;}
	#covid19 h2 { text-align:left; padding:8px 15px; margin-bottom: 15px; }
	#covid19 h2 br { display:none; }
	#covid19 .wrap .text p { font-size:18px; }
	#covid19 .wrap .text strong { font-size:19px; }
}

/* info */
.page-content .section-info { margin:30px 0 60px 0 !important; }
.page-content .section-info .container { border:1px solid #01978b; padding:20px;}
.page-content .section-info h2 { font-size:22px;}

@media (min-width:1024px){
	.page-content .section-info h2 { font-size:24px;}
	.page-content .section-info .container { padding:30px 40px;}
}

/* news */
#news h2 img { width:auto; height:75px; }
#news h3 { font-size:17px; text-align:center; background:#dbf0ef; padding:10px 0; border-radius:50px; }
#news p { text-align:center; }
#news .info + .info { margin-top:40px; }

@media (min-width:768px){
	#news h3 { width:70%; margin-left:auto; margin-right:auto; }
}

@media (min-width:1024px){
	#news h2 img { width:auto; height:86px; }
	#news h3 { font-size:19px; width:60%; margin-bottom:20px; }
	#news p { font-size:18px;}
}


/* about */
#about { background:#dbf0ef; padding:40px 0; }
#about h2 { margin-bottom:20px; }
#about h2 img { width:auto; height:75px; }
#about .subject { text-align:center; }
#about .subject img { width:auto; max-height:110px; margin-top:0;}
#about p { font-size:17px; text-align:center;}

@media (min-width:768px){
	#about { padding:60px 0; }
	#about .subject img { width:auto; max-height:170px; margin-top:0;}
}

@media (min-width:1024px){
	#about h2 img { width:auto; height:86px; }
	#about .subject img { margin-bottom:20px; }
	#about p { font-size:18px; }
}

/* message */
#message .wrap { background:#fff; border:1px solid #01978b; padding:15px 25px; }
#message .wrap h2 { color:#fff; font-size:19px; background:#01978b; display:inline-block; padding:5px 20px; position:relative; left:-35px; margin-bottom:20px;}

@media (min-width:768px){
	#message .wrap { max-width:600px; margin-left:auto; margin-right:auto; }
}

@media (min-width:1024px){
	#message .wrap { padding:25px; max-width:900px; }
	#message .wrap h2 { font-size:24px; padding:10px 40px; left:-50px; }
	#message .wrap p { font-size:18px; }
}

/* guide */
#guide { }
#guide h2 img { width:auto; height:75px; }
#guide .appearance { margin-top:0; }
#guide .notice { font-size:14px; }
#guide .contact { font-size:16px; }
#guide .contact strong { font-size:17px; }
#guide .contact a { display:inline-block; }
#guide .contact .tel { width:auto; height:35px; }


@media (min-width:768px){
	#guide .wrap { max-width:900px; display:flex; flex-wrap:wrap; margin: 0 auto}
	#guide .wrap .img { flex-basis:40%; }
	#guide .wrap .text { flex-basis:60%; padding-left:20px; }
	#guide .wrap .text .time { margin-top:0; }

}

@media (min-width:1024px){
	#guide h2 img { height:86px; }
	#guide .notice { font-size:15px; }
}

/* gallery */
#gallery { text-align:center; background:#dbf0ef; padding:0 0 40px; }
#gallery .container { padding:0; }
#gallery h2 img { width:auto; height:70px; }
#gallery .gallery-items { margin:0 0 40px; }
#gallery .gallery-items .slick-slide li { padding:0 10px; }
#gallery .gallery-items .slick-slide img { border:10px solid #fff; box-shadow: 0 1px 3px rgb(0 0 0 / 5%); margin:0;}
#gallery .gallery-items .slick-dots { margin-left:0; bottom: -50px; }
#gallery .notice { font-size:14px; padding-left:15px; padding-right:15px; }

.slick-dots li button:before,
.slick-dots li.slick-active button:before { color:#01978b }

@media (min-width:768px){

}

@media (min-width:1024px){
	#gallery h2 img { height:140px; }
}

/* access */
#access { }
#access h2 img { width:auto; height:75px; }
#access .transportation { border-top:1px solid #01978b; list-style:none; margin:0; }
#access .transportation li { border-bottom:1px solid #01978b; padding:15px 0; padding-left:60px; position:relative; }
#access .transportation li + li { margin-top:0; }
#access .transportation img { margin:0; width:40px; height:auto; position:absolute; top:7px; left:7px; }
#access .transportation .bus img { top:18px; }

@media (min-width:768px){
	#access .wrap { display:flex; flex-wrap:wrap; margin-top:20px; }
	#access .wrap .img { flex-basis:40%; }
	#access .wrap .img img { margin-top:0; }
	#access .wrap .text { flex-basis:60%; padding-left:20px; }

}

@media (min-width:1024px){
	#access h2 img { height:86px; }
	#access .wrap .text { padding-left:40px; }
	#access .wrap .text p { text-align:center; }
	#access .transportation li { padding:18px 0; padding-left:70px; }
	#access .transportation img { top:12px; left:12px; }
	#access .transportation .bus img { top:25px; }

}


/* pagetop */
.pagetop { text-align:center; margin:30px 0; }
.pagetop a { color:#01978b; font-size:16px; background:#dbf0ef;  display:block; padding:10px 0;}
.pagetop a i { margin-right:10px; }
.pagetop a:hover { text-decoration:none; }

@media (min-width:768px){

}

@media (min-width:1024px){
	.pagetop { margin:40px 0; }
	.pagetop a:hover { color:#fff; background:#01978b; transition:.25s; }
}

/* footer */
#footer { text-align:center;}
#footer .logo img { width:auto; height:50px; }
.copyright { font-size:14px; text-align:center; padding:10px 0; margin-top:30px; }

@media (min-width:768px){
	#footer .logo { margin-bottom:20px; }

}

@media (min-width:1024px){
	#footer .logo img { height:70px; }
}


/* 20230331 マイナ保険証追加分 */
.mynumber { background: #e3f3ef; padding: 25px; margin-top:20px; }
.mynumber strong { color:#01978b; }
.mynumber table { border-bottom:1px solid #01978b; }
.mynumber table th,
.mynumber table td { text-align:left; }
.mynumber table th { color:#01978b; border-bottom-width:0; }
.mynumber table td { border-bottom-width:0; }

@media (min-width:768px){
	.mynumber { font-size:15px; max-width:768px; margin-left:auto; margin-right:auto; }
	.mynumber strong { font-size:16px; }
	.mynumber table th,
	.mynumber table td { font-size:15px; padding-top:10px; padding-bottom:10px; }
}

@media (min-width:1024px){
	.mynumber { max-width:900px; padding:25px 60px; }

}

/* 20250303 再来のご予約追加 */
.reserva-box { padding: 25px; margin-top:20px; border:2px solid #01978b; padding:20px;}
.reserva-box strong { color:#01978b; }

@media (min-width:768px){
	.reserva-box { font-size:15px; max-width:768px; margin-left:auto; margin-right:auto; }
	.reserva-box strong { font-size:16px; }
}

@media (min-width:1024px){
	.reserva-box { max-width:100%; padding:25px 30px; }

}
