@charset "UTF-8";

/*////////////////////////////////////////////////////////////////////////////////// */
/*// COMMON PARTS ////////////////////////////////////////////////////////////////// */
/*////////////////////////////////////////////////////////////////////////////////// */

.clear:after { content:""; display:block; clear:both; }

.visually-hidden { position: fixed !important; top: 0px !important; left: 0px !important; width: 4px !important; height: 4px !important; opacity: 0 !important; overflow: hidden !important; border: none !important; margin: 0 !important; padding: 0 !important; display: block !important; visibility: visible !important; }
.no-select { -ms-user-select: none; -moz-user-select: none; -webkit-user-select: none; user-select: none; }

.todo,
.fc_red { color: #f00 !important; }

.text-justify { text-align:justify; text-justify:inter-ideograph; }
.text-lsp2 { display: inline-block; width: 3em; white-space: nowrap; vertical-align: top; overflow: hidden; }
.text-lsp2::first-letter { letter-spacing: 1em; }

.serif { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

a { color: #595757; }


.link { display: inline-block; position: relative; padding: 0 0.8em 0 0; font-weight: bold; text-decoration: none; }
.link:hover { color: #8F2126; }
.link.bf, .link.back { padding: 0 0 0 0.8em; }
.link.up, .link.down { padding: 0 1em 0 0; }
.link::after { content: ''; display: block; position: absolute; top: 50%; right: 0; width: 0.4em; height: 0.4em; transform: translateY(-50%) rotate(45deg); border-top: solid 2px #3f2d27; border-right: solid 2px #3f2d27; }
.link:hover::after { border-color: #8F2126; }
.link.bf::after,
.link.back::after { right: auto; left: 0; }
.link.bf::after { transform: translate(-30%,-50%) rotate(45deg); }
.link.back::after { transform: translateY(-50%) rotate(-135deg); }
.link.up::after { transform: translateY(-30%) rotate(-45deg); }
.link.down::after { transform: translateY(-80%) rotate(135deg); }

.btn { display: block; position: relative; padding: 1.5em 1em; font-size: 1.1em; line-height: 1.6em; color: #595757; text-shadow: 0 0 3px #ddd8d7; background-color: #c2b8b7; background: repeating-linear-gradient(90deg, #c2b8b7, #c2b8b7 3px, #ddd8d7 3px, #ddd8d7 6px);
	text-decoration: none; text-align: center; font-weight: bold;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.btn::before { content: ''; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: solid 7px transparent; transition: border-color 0.3s ease-in-out; }
.btn.gr { text-shadow: 0 0 3px #d8e8da; background-color: #b9d9bd; background: repeating-linear-gradient(90deg, #b9d9bd, #b9d9bd 3px, #d8e8da 3px, #d8e8da 6px); }
.btn:hover::before,
.btn.bo::before { border-color: #b2a6a4; }

.label { display: block; margin-bottom: 1rem; padding: 1em; text-align: center; }
.label.br { color: #fff; background-color: #7e6965; }
.label.lbr { color: #fff; background-color: #978074; }
.label.gr { background-color: #c7e4cb; }
.label.lgr { background-color: #daeddc; }
.label.be { background-color: #efe4cf; }

.ind,
.ast:not(ul):not(ol):not(dl), dl.ast > dd, ul.ast > li, ol.ast > li,
.squ:not(ul):not(ol):not(dl), dl.squ > dd, ul.squ > li, ol.squ > li,
.dot:not(ul):not(ol):not(dl), dl.dot > dd, ul.dot > li, ol.dot > li,
.tyu:not(ul):not(ol):not(dl), dl.tyu > dd, ul.tyu > li, ol.tyu > li,
.dis:not(ul):not(ol):not(dl), dl.dis > dd, ul.dis > li, ol.dis > li,
.cir:not(ul):not(ol):not(dl), dl.cir > dd, ul.cir > li, ol.cir > li,
.dcr:not(ul):not(ol):not(dl), dl.dcr > dd, ul.dcr > li, ol.dcr > li { display: block; margin-left: 1.2em; text-indent: -1.2em; padding: 0.3em 0; line-height: 1.2em; }
dt.squ+dd, dt.dot+dd, dt.tyu+dd, dt.dis+dd, dt.cir+dd, dt.dcr+dd { display: block; padding: 0.3em 0; line-height: 1.2em; }

.ind > *,
.ast:not(ul):not(ol):not(dl) > *, dl.ast > dd > *, ul.ast > li > *, ol.ast > li > *,
.squ:not(ul):not(ol):not(dl) > *, dl.squ > dd > *, ul.squ > li > *, ol.squ > li > *,
.dot:not(ul):not(ol):not(dl) > *, dl.dot > dd > *, ul.dot > li > *, ol.dot > li > *,
.tyu:not(ul):not(ol):not(dl) > *, dl.tyu > dd > *, ul.tyu > li > *, ol.tyu > li > *,
.dis:not(ul):not(ol):not(dl) > *, dl.dis > dd > *, ul.dis > li > *, ol.dis > li > *,
.cir:not(ul):not(ol):not(dl) > *, dl.cir > dd > *, ul.cir > li > *, ol.cir > li > *,
.dcr:not(ul):not(ol):not(dl) > *, dl.dcr > dd > *, ul.dcr > li > *, ol.dcr > li > * { text-indent: 0; }

.ast:not(ul):not(ol):not(dl)::before, dl.ast > dd::before, ul.ast > li::before, ol.ast > li::before,
.squ:not(ul):not(ol):not(dl)::before, dl.squ > dd::before, ul.squ > li::before, ol.squ > li::before,
.dot:not(ul):not(ol):not(dl)::before, dl.dot > dd::before, ul.dot > li::before, ol.dot > li::before,
.tyu:not(ul):not(ol):not(dl)::before, dl.tyu > dd::before, ul.tyu > li::before, ol.tyu > li::before,
.dis:not(ul):not(ol):not(dl)::before, dl.dis > dd::before, ul.dis > li::before, ol.dis > li::before,
.cir:not(ul):not(ol):not(dl)::before, dl.cir > dd::before, ul.cir > li::before, ol.cir > li::before,
.dcr:not(ul):not(ol):not(dl)::before, dl.dcr > dd::before, ul.dcr > li::before, ol.dcr > li::before { display: inline-block; width: 1.2em; text-indent: 0; vertical-align: top; }

.ast:not(ul):not(ol):not(dl)::before, dl.ast > dd::before, ul.ast > li::before, ol.ast > li::before { content: '＊'; }
.squ:not(ul):not(ol):not(dl)::before, dl.squ > dd::before, ul.squ > li::before, ol.squ > li::before { content: '■'; }
.dot:not(ul):not(ol):not(dl)::before, dl.dot > dd::before, ul.dot > li::before, ol.dot > li::before { content: '・'; }
.tyu:not(ul):not(ol):not(dl)::before, dl.tyu > dd::before, ul.tyu > li::before, ol.tyu > li::before { content: '※'; }
.dis:not(ul):not(ol):not(dl)::before, dl.dis > dd::before, ul.dis > li::before, ol.dis > li::before { content: '●'; }
.cir:not(ul):not(ol):not(dl)::before, dl.cir > dd::before, ul.cir > li::before, ol.cir > li::before { content: '◯'; }
.dcr:not(ul):not(ol):not(dl)::before, dl.dcr > dd::before, ul.dcr > li::before, ol.dcr > li::before { content: '◎'; }
dl > dd.ast::before, ul > li.ast::before, ol > li.ast::before { content: '＊'; }
dl > dd.squ::before, ul > li.squ::before, ol > li.squ::before { content: '■'; }
dl > dd.dot::before, ul > li.dot::before, ol > li.dot::before { content: '・'; }
dl > dd.tyu::before, ul > li.tyu::before, ol > li.tyu::before { content: '※'; }
dl > dd.dis::before, ul > li.dis::before, ol > li.dis::before { content: '●'; }
dl > dd.cir::before, ul > li.cir::before, ol > li.cir::before { content: '◯'; }
dl > dd.dcr::before, ul > li.dcr::before, ol > li.dcr::before { content: '◎'; }

ol.num { counter-reset: num; list-style-type: none!important; }
ol.num > li { margin-left: 1.2em; text-indent: -1.2em; padding: 0.3em 0; line-height: 1.2em; }
ol.num > li > * { text-indent: 0; }
ol.num > li::before { counter-increment: num; content: counter(num); display: inline-block; width: 1.2em; text-indent: 0; vertical-align: top; }

dl.line > * { display: inline-block !important; vertical-align: top; }
dl.line > dd { margin-left: 1em; }

dl.colon > * { display: inline-block; vertical-align: top; }
dl.colon > dt::after { content: '：'; }


.kakko { text-indent: -0.5em; }
.kakko.san::before { content: '〈'; }
.kakko.san::after { content: '〉'; }
.kakko.sumi::before { content: '【'; }
.kakko.sumi::after { content: '】'; }
.kakko.maru::before { content: '（'; }
.kakko.maru::after { content: '）'; }
.kakko.kagi::before { content: '「'; }
.kakko.kagi::after { content: '」'; }
.kakko.double::before { content: '《 '; }
.kakko.double::after { content: ' 》'; }

.kakko.bra { text-indent: 0; font-weight: normal; }
.kakko.bra::before { content: '['; }
.kakko.bra::after { content: ']'; }


.sheet { margin-top: 1rem; margin-bottom: 1rem; padding: 0; background-color: #f5f5f5; border-radius: 0.3rem; }
.border { margin-top: 1rem; margin-bottom: 1rem; padding: 0; border: solid 1px #999; border-radius: 0.3rem; }
.sheet > *,
.border > * { padding-left: 1rem; padding-right: 1rem; }
.sheet > *:first-child,
.border > *:first-child { margin-top: 0; padding-top: 1rem; }
.sheet > *:last-child,
.border > *:last-child { margin-bottom: 0; padding-bottom: 1rem; }


.dotleader::after { content: ''; display: block; clear: both; }
.dotleader > * { padding: 0.3em 0; line-height: 1.2em; }
.dotleader > dt { position: relative; clear: left; float: left; min-width: 10em; }
.dotleader > dt::after { content: ''; display: block; position: absolute; z-index: 1; top: 50%; left: 0; right: 0; margin-top: -1.5px; border-top: dotted 3px #999; }
.dotleader > dt > span { display: inline-block; position: relative; z-index: 2; padding-right: 1em; background-color: #FFFAF7; }
.dotleader > dd { margin-left: 10em; }
.dotleader > dd.brk { clear: left; position: relative; }
.dotleader > dd.brk::before { content: ''; display: block; position: absolute; z-index: 1; top: 0.8em; left: -4em; width: 2em; border-top: dotted 3px #999; }



.ph-boxes { display: flex; flex-wrap: wrap; width: 102%; margin-left: -1%; }
.ph-boxes > .ph-box { margin: 1%; }

.ph-box.r { float: right; margin: 0 0 1em 1em; }
.ph-box.l { float: left; margin: 0 1em 1em 0; }
.ph-box.w100 { width: 100%; }
.ph-box.w75 { width: 73%; }
.ph-box.w70 { width: 68%; }
.ph-box.w50 { width: 48%; }
.ph-box.w33 { width: 31.3%; }
.ph-box.w30 { width: 28%; }
.ph-box img { display: block; width: 100%; height: 100%; object-fit: cover; }

.ph-box.slide-in { position: relative;  }
.ph-box.slide-in::before { content: ''; display: block; padding-top: 100%; }
.ph-box.slide-in > * { position: absolute; opacity: 0; top: 0; left: 0; bottom: 0; width: 0; transition: width 0.6s ease-out, opacity 1.5s ease-out; overflow: hidden; }
.ph-box.slide-in.on > * { width: 100%; opacity: 1; }

@media (max-width:599px) {
	.ph-box.r.w100,
	.ph-box.l.w100 { float: none; margin: 0 0 1em 0; }
}
@media (min-width:600px) {
	.ph-box.r.pc100,
	.ph-box.l.pc100 { float: none; margin: 0 0 1em 0; }
	.ph-box.pc100 { width: 100%; }
	.ph-box.pc75 { width: 73%; }
	.ph-box.pc70 { width: 68%; }
	.ph-box.pc50 { width: 48%; }
	.ph-box.pc33 { width: 31.3%; }
	.ph-box.pc30 { width: 28%; }
}

/*////////////////////////////////////////////////////////////////////////////////// */
/*// SITE PARTS //////////////////////////////////////////////////////////////////// */
/*////////////////////////////////////////////////////////////////////////////////// */

.block-breadcrumb { padding: 1rem 0; border-left: solid 1rem #c7e4cb; border-right: solid 1rem #c7e4cb; background: #fff; text-align: center; }
.block-breadcrumb li { display: inline-block; }
.block-breadcrumb li+li::before { content: '〉'; }

.block-timetable table { width: 100%; margin: 1em 0; }
.block-timetable table tr > th:first-child { width: 11em; }
.block-timetable table tr > *+* { text-align: center; }
.block-timetable dl { display: flex; margin: 1em 0; }
.block-timetable dt { white-space: nowrap; }
.block-timetable dt::after { content: '：'; }
.block-timetable dd ul li { display: inline-block; margin-right: 1em; }
.block-timetable > ul { display: flex !important; justify-content: space-between; }
.block-timetable > ul li { width: 49%; width: calc(50% - 2px); }

.block-addr { text-align: center; }
.block-addr a { text-decoration: none; }
.block-addr em { display: block; margin-bottom: 1rem; }
.block-addr em span { display: block; }
.block-addr em span+span { font-size: 1.5em; line-height: 1.2em; }

.block-faq h3 { text-align: left; }
.block-faq h3 .squ { padding: 0; }
.block-faq li+li { margin-top: 1rem; }

.img-title { position: relative; width: 100%; max-width: 100%; height: 50vh; margin: 0; background: #daeddc; }
.img-title::before { content: ''; display: block; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: center center no-repeat; background-size: cover; }
.img-title::after { content: ''; display: block; position: absolute; top: 50%; left: 50%; width: 20rem; max-width: 80%; height: 12rem; transform: translate(-50%, -50%); background: rgba(64,33,27,0.4); /*mix-blend-mode: overlay;*/ }
.img-title > span { position: absolute; z-index: 2; top: 50%; left: 50%; width: 20rem; max-width: 80%; font-size: 1.5em; line-height: 1.6em; transform: translate(-50%, -50%); color: #fff; font-weight: bold; text-align: center; 
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.img-title .sk::before { content: '【'; }
.img-title .sk::after { content: '】'; }
.img-title > span > span { display: inline-block; }

.border-title { position: relative; width: 100%; max-width: 100%; height: 30vh; margin: 0; background-color: #c2b8b7; background: repeating-linear-gradient(90deg, #c2b8b7, #c2b8b7 3px, #ddd8d7 3px, #ddd8d7 6px); }
.border-title > span { position: absolute; z-index: 2; top: 50%; left: 50%; width: 20rem; max-width: 80%; font-size: 1.5em; line-height: 1.6em; transform: translate(-50%, -50%); color: #3f201a; font-weight: bold; text-align: center; 
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.border-title .sk::before { content: '【'; }
.border-title .sk::after { content: '】'; }

/*////////////////////////////////////////////////////////////////////////////////// */
/*// STRUCTURE PARTS /////////////////////////////////////////////////////////////// */
/*////////////////////////////////////////////////////////////////////////////////// */

footer.global { border: solid 1rem #c7e4cb; border-top: none; background: #fff; }
footer.global > * { padding-top: 2rem; padding-bottom: 2rem; text-align: center; }
footer.global .frame > p { margin: 1em 0; }
footer.global .frame > p a { display: inline-block; padding-bottom: 0.1em; border-bottom: solid 2px #ccc; text-decoration: none; }
footer.global .frame > p a:hover { border-color: #7ba57a; }
footer.global small { display: block; margin-top: 1em; font-size: 12px; }

/*////////////////////////////////////////////////////////////////////////////////// */
/*// INDIVIDUALS /////////////////////////////////////////////////////////////////// */
/*////////////////////////////////////////////////////////////////////////////////// */

#hurry h3 { margin: 1rem auto; line-height: 1.6em; font-weight: bold; text-align: center; }
#hurry h3 span { display: inline-block; }
#hurry li+li { margin-top: 0.5em; }
#hurry dd { margin-left: 1em; padding: 0; color: #7ba57a; text-decoration: none; }
#hurry dd::before { content: '≫≫'; margin-right: 0.5em; font-size: 1.2em; }

#topics h2 { margin-bottom: 1em; text-align: center; font-weight: bold; text-transform: uppercase; }

#topics ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
#topics li { width: 49%; width: calc(50% - 2px); margin: 1px; }
#topics li a { height: 6rem; }
#topics li a span { display: inline-block; line-height: 1.4em; }
#topics li a > span { display: block; position: absolute; top: 50%; left: 0.5em; right: 0.5em; transform: translateY(-50%); }

#headline a.label { margin-bottom: 0; text-decoration: none; }
#headline > ul { margin-top: 0; }
#headline > ul a { display: block; color: inherit; text-decoration: none; transition: background-color 0.3s ease-in-out; }
#headline > ul a.lv1 { color: #f00; }
#headline > ul a:hover { background: #f2eeee; }
#headline dl { padding: 1em 4%; border-bottom: solid 1px #7e6965; }
#headline dt { font-size: 0.8em; }
#headline dd { margin: 1em 0 0.5em 0; }
#headline a.lv1 dd { font-weight: bold; }

#treatments ul { margin: 1rem 0; }
#treatments li a { display: inline-block; padding: 0.15em 0; text-decoration: none; }
#treatments li a::before { content: '■'; display: inline-block; width: 1.2em; color: #c2b8b7; transition: color 0.3s ease-in-out; }
#treatments li a::after { content: '≫'; color: #c2b8b7; margin-left: 0.5em; line-height: 1.45em; vertical-align: top; transition: color 0.3s ease-in-out; }
#treatments li a:hover::before,
#treatments li a:hover::after { color: #595757; }
/*////////////////////////////////////////////////////////////////////////////////// */

#E404 .img-title::before { background-image: url(../img/acs/img-title.jpg); background-position: 30% 80%; }
#E404 .img-title > span { font-size: 1.4em; }

/*////////////////////////////////////////////////////////////////////////////////// */

#new .img-title::before { background-image: url(../img/acs/img-title.jpg); background-position: 30% 80%; }

#new article {}
#new article time { text-align: center; }
#new article h2 { font-size: 1.2em; }
#new article h2 > * { text-decoration: none; }
#new article.lv1 h2 > * { color: #f00; font-weight: bold; }
#new article .body {}
#new article .body strong { font-weight: bold; }
#new article .body em { font-style: italic; }
#new article .files {}
#new article .files a {}
#new article .files a::before { content: '≫'; }

#new .pager { padding: 1em; text-align: center; }
#new .pager li { display: inline-block; margin: 0 5px 5px 0; }
#new .pager li > * { display: inline-block; font-size: 1.2em; width: 2em; height: 2em; line-height: 2em; background: #ccc; text-align: center; }
#new .pager li > a { text-decoration: none; }
#new .pager li > span { color: #fff; background: #666; cursor: default; }

#new .back { text-align: center; }

/*////////////////////////////////////////////////////////////////////////////////// */

#mes .img-title::before { background-image: url(../img/mes/img-title.jpg); background-position: 30% 40%; }

#mes h1+div dl,
#mes h1+div figure { text-align: center; }
#mes h1+div dl { margin: 2em 0; }
#mes h1+div figure img { display: block; width: 80%; max-width: 350px; margin: 0 auto; }

#mes #history dl { display: flex; width: 100%; }
#mes #history dt { width: 5em; }
#mes #history dd { flex: 1; }


/*////////////////////////////////////////////////////////////////////////////////// */

.sin .img-title.n1::before { background-image: url(../img/sin/img-title-1.jpg); background-position: 60% 90%; }
.sin .img-title.n2::before { background-image: url(../img/sin/img-title-2.jpg); background-position: 60% 90%; }
.sin .img-title.n3::before { background-image: url(../img/sin/img-title-3.jpg); background-position: 60% 40%; }
.sin .img-title.n4::before { background-image: url(../img/sin/img-title-4.jpg); background-position: 60% 40%; }
.sin h2.label span { display: inline-block; }
.sin h2.label small { display: block; line-height: 1.2em; }
.sin .desc { margin: 0; padding-top: 2rem; padding-bottom: 2rem; background: #daeddc; }
.sin .desc+section { margin-top: 0; }

/*////////////////////////////////////////////////////////////////////////////////// */

#acs .img-title::before { background-image: url(../img/acs/img-title.jpg); background-position: 30% 80%; }

#acs img { display: block; width: 100%; }
#acs .gmap { position: relative; width: 100%; max-width: 900px; min-height: 360px; max-height: 600px; }
#acs .gmap::before { content: ''; display: block; padding-top: 100%; }
.nojs #acs .gmap { display:none; }
#acs .gmap iframe,
#acs .gmap object,
#acs .gmap embed { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }
#acs .pmap img { max-width: 500px; margin: 0 auto; }

/*////////////////////////////////////////////////////////////////////////////////// */

#apo h2 small { display: block; line-height: 1.2em; }
#apo ol > li+li { margin-top: 1em; }
#apo ol dl { display: flex; width: 100%; }
#apo ol dt { width: 5em; font-weight: bold; }
#apo ol dd { flex: 1; }
#apo > div:last-child p+p { margin-top: 1em; }

/*////////////////////////////////////////////////////////////////////////////////// */

#faq .border-title+section { margin-top: 0; }
.ques h2 { margin-top: 1em; font-weight: bold; }