@charset "UTF-8";
/* --------------------------------
	RESET
-------------------------------- */
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

html, body, dl, dd, figure, ol, ul, pre, p { margin: 0; padding: 0; border: 0; outline: 0; }

ol, ul { list-style-type: none; padding: 0; margin: 0; vertical-align: top; }

h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0; border: 0; }

button, input, select, textarea { font-family: inherit; font-size: 16px; }

a { text-decoration: none; }

table { border-collapse: collapse; }

/* helper */
.cf:after { content: ""; display: block; clear: both; }

img { max-width: 100%; height: auto; vertical-align: bottom; }

.img-c { display: block; text-align: center; margin-bottom: 15px; }

.img-r { float: right; padding-left: 15px; padding-bottom: 15px; }
.img-r img { padding: 5px; background: #fff; box-shadow: 0 0 1px 0px rgba(145, 145, 145, 0.3); }
@media screen and (max-width: 767px) { .img-r { max-width: 40%; } }
@media screen and (max-width: 767px) { .img-r.md { float: none; margin-bottom: 15px; max-width: 100%; padding: 0; }
  .img-r.md img { width: 100%; margin: 0; } }

.img-l { float: left; padding-right: 15px; padding-bottom: 15px; }
.img-l img { padding: 5px; background: #fff; box-shadow: 0 0 1px 0px rgba(145, 145, 145, 0.3); }
@media screen and (max-width: 767px) { .img-l { max-width: 40%; } }
@media screen and (max-width: 767px) { .img-l.md { float: none; margin-bottom: 15px; max-width: 100%; }
  .img-l.md img { width: 100%; margin: 0; } }

.font-400 { font-weight: 400; }

.font-500 { font-weight: 500; }

.font-600 { font-weight: 600; }

/* ==========================================================================
	 Sizing ========================================================================== */
/**
* Width
*/
.w-screen { width: 100vw; }

.w-full { width: 100%; }

.w-half { width: 50%; }

.w-auto { width: auto; }

/**
* Height
*/
.h-screen { height: 100vh; }

.h-full { height: 100%; }

.height-auto { height: auto; }

/* ==========================================================================
	 Margin & Padding
	 ========================================================================== */
/**
* Margin
*/
.m0 { margin: 0; }

.mt0 { margin-top: 0; }

.mr0 { margin-right: 0; }

.mb0 { margin-bottom: 0; }

.ml0 { margin-left: 0; }

.mx0 { margin-left: 0; margin-right: 0; }

.my0 { margin-top: 0; margin-bottom: 0; }

.m1 { margin: 0.5rem; }

.mt1 { margin-top: 0.5rem; }

.mr1 { margin-right: 0.5rem; }

.mb1 { margin-bottom: 0.5rem; }

.ml1 { margin-left: 0.5rem; }

.mx1 { margin-left: 0.5rem; margin-right: 0.5rem; }

.my1 { margin-top: 0.5rem; margin-bottom: 0.5rem; }

.m2 { margin: 1rem; }

.mt2 { margin-top: 1rem; }

.mr2 { margin-right: 1rem; }

.mb2 { margin-bottom: 1rem; }

.ml2 { margin-left: 1rem; }

.mx2 { margin-left: 1rem; margin-right: 1rem; }

.my2 { margin-top: 1rem; margin-bottom: 1rem; }

.m3 { margin: 3rem; }

.mt3 { margin-top: 3rem; }

.mr3 { margin-right: 3rem; }

.mb3 { margin-bottom: 3rem; }

.ml3 { margin-left: 3rem; }

.mx3 { margin-left: 3rem; margin-right: 3rem; }

.my3 { margin-top: 3rem; margin-bottom: 3rem; }

.m4 { margin: 4rem; }

.mt4 { margin-top: 4rem; }

.mr4 { margin-right: 4rem; }

.mb4 { margin-bottom: 4rem; }

.ml4 { margin-left: 4rem; }

.mx4 { margin-left: 4rem; margin-right: 4rem; }

.my4 { margin-top: 4rem; margin-bottom: 4rem; }

.m5 { margin: 5rem; }

.mt5 { margin-top: 5rem; }

.mr5 { margin-right: 5rem; }

.mb5 { margin-bottom: 5rem; }

.ml5 { margin-left: 5rem; }

.mx5 { margin-left: 5rem; margin-right: 5rem; }

.my5 { margin-top: 5rem; margin-bottom: 5rem; }

.ml-auto { margin-left: auto; }

.mr-auto { margin-right: auto; }

.mx-auto { margin-left: auto; margin-right: auto; }

/**
* Padding
*/
.p0 { padding: 0; }

.pt0 { padding-top: 0; }

.pr0 { padding-right: 0; }

.pb0 { padding-bottom: 0; }

.pl0 { padding-left: 0; }

.px0 { padding-left: 0; padding-right: 0; }

.py0 { padding-top: 0; padding-bottom: 0; }

.p1 { padding: 0.5rem; }

.pt1 { padding-top: 0.5rem; }

.pr1 { padding-right: 0.5rem; }

.pb1 { padding-bottom: 0.5rem; }

.pl1 { padding-left: 0.5rem; }

.px1 { padding-left: 0.5rem; padding-right: 0.5rem; }

.py1 { padding-top: 0.5rem; padding-bottom: 0.5rem; }

.p2 { padding: 1rem; }

.pt2 { padding-top: 1rem; }

.pr2 { padding-right: 1rem; }

.pb2 { padding-bottom: 1rem; }

.pl2 { padding-left: 1rem; }

.px2 { padding-left: 1rem; padding-right: 1rem; }

.py2 { padding-top: 1rem; padding-bottom: 1rem; }

.p3 { padding: 3rem; }

.pt3 { padding-top: 3rem; }

.pr3 { padding-right: 3rem; }

.pb3 { padding-bottom: 3rem; }

.pl3 { padding-left: 3rem; }

.px3 { padding-left: 3rem; padding-right: 3rem; }

.py3 { padding-top: 3rem; padding-bottom: 3rem; }

.p4 { padding: 4rem; }

.pt4 { padding-top: 4rem; }

.pr4 { padding-right: 4rem; }

.pb4 { padding-bottom: 4rem; }

.pl4 { padding-left: 4rem; }

.px4 { padding-left: 4rem; padding-right: 4rem; }

.py4 { padding-top: 4rem; padding-bottom: 4rem; }

.p5 { padding: 5rem; }

.pt5 { padding-top: 5rem; }

.pr5 { padding-right: 5rem; }

.pb5 { padding-bottom: 5rem; }

.pl5 { padding-left: 5rem; }

.px5 { padding-left: 5rem; padding-right: 5rem; }

.py5 { padding-top: 5rem; padding-bottom: 5rem; }

/* ==========================================================================
	 display
	 ========================================================================== */
.d-b { display: block; }

.d-i { display: inline; }

.d-ib { display: inline-block; }

.d-flex { display: flex; }

@media screen and (min-width: 768px) { .pc-d-flex { display: flex; } }

@media screen and (max-width: 768px) { .xs-d-flex { display: flex; } }

.flex-wrap { flex-wrap: wrap; }

@media screen and (max-width: 767px) { .flex-xs-nowrap { flex-wrap: nowrap; } }

@media screen and (min-width: 768px) { .flex-pc-nowrap { flex-wrap: nowrap; } }

.justify-content-start { justify-content: flex-start; }

.justify-content-end { justify-content: flex-end; }

.justify-content-center { justify-content: center; }

.justify-content-between { justify-content: space-between; }

.justify-content-around { justify-content: space-around; }

.align-items-start { align-items: flex-start; }

.align-items-end { align-items: flex-end; }

.align-items-center { align-items: center; }

.align-items-baseline { align-items: baseline; }

.align-items-stretch { align-items: stretch; }

.align-content-start { align-content: flex-start; }

.align-content-end { align-content: flex-end; }

.align-content-center { align-content: center; }

.align-content-between { align-content: space-between; }

.align-content-around { align-content: space-around; }

.align-content-stretch { align-content: stretch; }

.align-self-auto { align-self: auto !important; }

.align-self-start { align-self: flex-start; }

.align-self-end { align-self: flex-end; }

.align-self-center { align-self: center; }

.align-self-baseline { align-self: baseline; }

.align-self-stretch { align-self: stretch; }

.c-btn { display: inline-block; transition: all ease .3s; padding: 3px 20px; text-align: center; border: 1px solid transparent; }

.c-btn:hover { opacity: 1; }
.c-btn-A { color: #1c56b7; border-color: #1c56b7; background: #fff; }
.c-btn-A:hover { color: #fff; background: #286cde; }
.c-btn-B { color: #ff9c00; border-color: #ff9c00; background: #fffcf7; }
.c-btn-B:hover { color: #fff; background: #ffb033; }
.c-btn-arrow::after { content: "→"; margin-left: 1em; }

.c-btn-medium { font-weight: 500; font-size: 20px; padding: 3px 50px; }
@media screen and (max-width: 767px) { .c-btn-medium { font-size: 5vmin; max-width: 75%; padding: 2% 12%; } }

@media screen and (max-width: 767px) { .c-title-large { font-size: 6.5vmin; margin-bottom: 30px; } }

.c-title { text-align: center; font-weight: bold; }
.c-title-medium { font-size: 24px; line-height: 1.2; margin-bottom: 30px; }
@media screen and (max-width: 767px) { .c-title-medium { font-size: 19px; font-size: 5.9vmin; }
  .c-title-large { font-size: 6.5vmin; margin-bottom: 30px; } }
.c-title-deco { text-align: center; }
.c-title-deco-wrap { display: inline-block; min-width: 230px; padding-top: 20px; padding-bottom: 20px; border-top: 1px solid #ff9c00; border-bottom: 1px solid #ff9c00; position: relative; }
.c-title-deco .c-title-desc { position: absolute; top: -9px; left: 0; width: 100%; text-align: center; font-size: .6em; }
.c-title-deco .c-title-desc span { display: inline-block; padding: 0 10px; font-weight: normal; background: #fff; }
@media screen and (min-width: 768px) { .c-title-deco .c-title-desc span { font-family: Arial,"メイリオ",Meiryo,"sans-serif"; } }
.c-title-cKey { color: #1c56b7; }
.c-title-cAccent { color: #ff9c00; }
.c-title-cAccent span { color: #1c56b7; }

.title-page { text-align: center; color: #fff; font-size: 26px; font-weight: normal; padding: 1em 0; margin-bottom: 1em; }
.title-page span { display: none; font-size: 12px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
@media screen and (min-width: 768px) { .title-page { font-size: 40px; } }

.title-main { text-align: center; padding-top: 18px; padding-bottom: 18px; font-size: 16px; color: #1c56b7; border-top: 2px solid #ff9c00; border-bottom: 2px solid #ff9c00; margin: 0 auto 3em; }
@media screen and (min-width: 768px) { .title-main { font-size: 24px; } }

.title-sub { text-align: center; padding-top: 10px; padding-bottom: 10px; font-size: 15px; margin: 0 auto 2.5em; font-weight: normal; background: #f7faff; color: #3666d4; border-top: 3px solid #e9f1ff; border-bottom: 3px solid #e9f1ff; letter-spacing: 2px; box-shadow: 0 -4px 0 #d1ddff, 0  4px 0 #d1ddff; }
@media screen and (min-width: 768px) { .title-sub { font-size: 18px; } }

.title-mini { color: #434343; margin-top: 1.5em; margin-bottom: 1.5em; }
.title-mini span { display: inline-block; border-bottom: 2px solid #fdd18d; }
.title-mini span:before { content: "■"; color: #ff9c00; margin-right: 5px; }

.title-minier { color: #1c56b7; margin-top: 1.5em; margin-bottom: 1.5em; font-size: .9em; }
.title-minier span { display: inline-block; }

html { font-size: 62.5%; height: 100%; }

body { line-height: 1.7; overflow-wrap: break-word; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; width: 100%; word-wrap: break-word; word-break: break-all; font-size: 16px; color: #434343; font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "sans-serif"; }
@media screen and (max-width: 767px) { body { font-size: 14px; } }
@media screen and (min-width: 768px) { body { background-repeat: no-repeat; background-position: center top; } }

a { transition: all ease .2s; }
a:hover { opacity: .7; }

img { max-width: 100%; border: 0; vertical-align: bottom; transition: all cubic-bezier(0.21, 0.05, 0.87, 0.99) 0.3s; }

.cf:after { content: ""; display: block; clear: both; }

@media screen and (min-width: 768px) { .nopc { display: none !important; } }

@media screen and (max-width: 767px) { .nosp { display: none !important; } }

.cKey { color: #1c56b7; }

.cAccent { color: #ff9c00; }

.text-l { text-align: left; }

.text-r { text-align: right; }

.text-c { text-align: center; }

.c-link-arrow-r:after, .c-link-arrow-l:before { position: absolute; content: ""; border: 6px solid transparent; top: calc(50% - 7px); border-left-color: #1c56b7; }

.c-link-dtl { display: block; }
.c-link-dtl a { color: #1c56b7; }
.c-link-arrow-r { position: relative; padding-right: 21px; }
.c-link-arrow-r:after { right: 0; }
.c-link-arrow-l { position: relative; padding-left: 10px; }
.c-link-arrow-l:before { left: 0; }

.btn-wrap { display: block; padding: 2rem 0; text-align: center; }
@media screen and (min-width: 768px) { .btn-wrap { text-align: right; } }
@media screen and (min-width: 768px) { .btn-wrap.left { text-align: left; } }
@media screen and (min-width: 768px) { .btn-wrap.center { text-align: center; } }
.btn-wrap span { display: inline-block; width: 100%; padding: 10px 0; }
@media screen and (min-width: 768px) { .btn-wrap span { width: auto; padding: 10px; } }

.btn { display: inline-block; color: #fff; padding: 5px 30px; background: #ff9c00; box-shadow: 1px 2px 1px rgba(0, 0, 0, 0.2); border-radius: 3px; }
.btn span:after { content: "\f0da"; font-family: Font Awesome\ 5 Free; font-weight: 900; padding-left: 15px; }
@media screen and (max-width: 768px) { .btn { width: 80%; } }

.container { margin-left: auto; margin-right: auto; }
@media screen and (min-width: 767px) { .container { width: 1080px; } }
@media screen and (max-width: 768px) { .container { width: 100%; padding-right: 15px; padding-left: 15px; } }

@media screen and (max-width: 767px) { .row { margin-left: -15px; margin-right: -15px; } }
@media screen and (min-width: 768px) { .row { margin-right: -15px; margin-left: -15px; } }

.ico { display: flex; align-items: center; }
.ico:before { content: ""; display: inline-block; background-repeat: no-repeat; background-size: contain; }
@media screen and (min-width: 768px) { .ico:before { width: 24px; height: 24px; vertical-align: middle; } }
@media screen and (max-width: 767px) { .ico:before { width: 20px; height: 20px; } }
.ico-tel:before { background-image: url(../images/icon-tel.png); }
.ico-reserve:before { background-image: url(../images/icon-reserve.png); }
.ico-home:before { background-image: url(../images/icon-home.png); }
.ico-train:before { background-image: url(../images/icon-train.png); }

.section { padding-top: 50px; padding-bottom: 50px; }

.w100 { width: 100% !important; }

.c-list li { position: relative; padding-left: 1em; margin-bottom: 1rem; }
.c-list.disc li:before { position: absolute; content: "･"; display: block; width: 1em; text-align: center; left: 0; font-weight: 600; }
.c-list.col-2 { display: flex; flex-wrap: wrap; }
.c-list.col-2 li { width: 50%; }
@media screen and (min-width: 768px) { .c-list.col-2-md { display: flex; flex-wrap: wrap; }
  .c-list.col-2-md li { width: 50%; } }

.asta { position: relative; display: block; padding-left: 1em; }
.asta:before { position: absolute; left: 0; content: "※"; display: block; width: 1em; text-align: center; color: tomato; font-weight: 500; }

.ext:after { font-family: Font Awesome\ 5 Free; content: "\f35d"; font-weight: 900; font-size: .8em; padding-left: 7px; color: #797979; }

.box { padding: 20px; border: 2px solid #ccc; background: #f9f9f9; }

.shop-time { width: 100%; margin-bottom: 5px; }
@media screen and (min-width: 768px) { .shop-time { font-size: 15px; } }
.shop-time th, .shop-time td { text-align: center; padding: 5px 0; }
.shop-time th { color: #fff; background: #356cc6; font-weight: normal; }
@media screen and (max-width: 767px) { .shop-time th { width: calc((100% - 100px) / 8 ); } }
@media screen and (max-width: 767px) { .shop-time th:first-of-type { width: 100px; } }
.shop-time td { background: #fff; border-bottom: 1px solid #89b1d8; }
.shop-time .open { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ",Meiryo, "sans-serif"; color: #ff9c00; }
.shop-time .closed { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ",Meiryo, "sans-serif"; color: #1c56b7; }
.shop-time + p { text-align: left; font-size: 14px; }

@media screen and (min-width: 768px) { .wp-r { display: flex; }
  .wp-r figure { width: 400px; margin-bottom: 0; order: 2; }
  .wp-r .txt { order: 1; width: calc(100% - 400px); padding-right: 40px; } }
.wp-r figure { text-align: center; margin-bottom: 15px; }
.wp-r figure img { padding: 5px; background: #fff; box-shadow: 0 0 3px #adadad; }
.wp-r .txt strong { color: #1c56b7; }

@media screen and (min-width: 768px) { .wp-l { display: flex; }
  .wp-l figure { width: 400px; margin-bottom: 0; order: 1; }
  .wp-l .txt { order: 2; width: calc(100% - 400px); padding-left: 40px; } }
.wp-l figure { text-align: center; margin-bottom: 15px; }
.wp-l figure img { padding: 5px; background: #fff; box-shadow: 0 0 3px #adadad; }
.wp-l .txt strong { color: #1c56b7; }

@media screen and (min-width: 768px) { .wp-c figure { width: 400px; } }
.wp-c figure { text-align: center; margin: 0 auto 15px; }
.wp-c figure img { padding: 5px; background: #fff; box-shadow: 0 0 3px #adadad; }

.treatment-list { display: flex; flex-wrap: wrap; justify-content: space-between; }
@media screen and (max-width: 767px) { .treatment-list.listA li { width: calc(50% - 5px); margin-bottom: 10px; } }
.treatment-list.listB { justify-content: center; justify-content: space-between; }
.treatment-list.listB li { width: calc(33.3% - 15px); margin-bottom: 20px; text-align: center; }
.treatment-list.listB li a { display: block; width: 100%; padding: 20px; background: #ffecce; color: #ff9c00; font-weight: bold; position: relative; }
.treatment-list.listB li a:after { position: absolute; content: ""; right: 10px; border: 6px solid transparent; top: calc(50% - 7px); border-left-color: #ff9c00; transition: ease all .2s; }
.treatment-list.listB li a:hover { opacity: 1; background: #ff9c00; color: #fff; }
.treatment-list.listB li a:hover:after { border-left-color: #fff; }
@media screen and (max-width: 767px) { .treatment-list.listB li { width: 100%; margin-bottom: 10px; }
  .treatment-list.listB li a { padding: 10px; height: 100%; } }
.treatment-listA { margin-bottom: 15px; }

.pagetop { opacity: 1 !important; position: relative; text-align: center; }
.pagetop span { display: block; line-height: 1; }
.pagetop a { display: block; position: relative; top: 60px; width: 135px; margin: 0 auto; padding: 20px; color: #fff; background: #1c56b7; border-radius: 100% 100% 0 0; }
.pagetop a:hover { opacity: 1; color: #ff9c00; }

#pagetop { text-align: center; position: fixed; width: 60px; height: 60px; bottom: 15px; right: 15px; z-index: 9999; }
#pagetop span { display: block; line-height: 1; }
@media screen and (max-width: 767px) { #pagetop { display: none; width: 44px; height: 44px; font-size: 12px; } }
#pagetop.show a { transform: scale(1); }
#pagetop a { transform: scale(0); display: block; width: 100%; height: 100%; padding: 5px; background: #ff9c00; border-radius: 4px; color: #fff; line-height: 1; transition: ease all .3s; }
#pagetop a:hover { opacity: 1; background: #ffba4d; }

/* --------------------------------
	footer
-------------------------------- */
@media screen and (min-width: 768px) { footer { margin-top: 80px; } }
footer .shop-time { margin-top: 15px; }
footer .shop-time th { background: #356cc6; }
footer .shop-time + p { color: #fff; }

.footinfo { padding: 95px 0; background: #1c56b7; }
@media screen and (max-width: 767px) { .footinfo { padding: 40px 0; } }
@media screen and (min-width: 768px) { .footinfo-list .item-info { width: 400px; } }
.footinfo-list .item-info dl { display: flex; align-items: center; border-top: 1px solid #8aafd9; background: #356cc6; }
.footinfo-list .item-info dl:last-of-type { border-bottom: 1px solid #8aafd9; }
.footinfo-list .item-info dt, .footinfo-list .item-info dd { padding: 10px 15px; }
.footinfo-list .item-info dt { color: #fff; width: 25%; text-align: center; }
.footinfo-list .item-info dd { width: 75%; background: #fff; }
@media screen and (min-width: 768px) { .footinfo-list .item-time { margin-right: 75px; } }
@media screen and (max-width: 767px) { .footinfo-list .item-time { text-align: center; margin-bottom: 20px; }
  .footinfo-list .item-time img { max-width: 80%; } }

.footmap { margin: 15px 0; }
@media screen and (max-width: 767px) { .footmap { margin: 0; height: 300px; } }
@media screen and (min-width: 768px) { .footmap { height: 500px; } }
.footmap iframe { width: 100%; height: 100%; }

.copyright { display: block; color: #fff; text-align: center; padding: 20px 0 65px; font-size: 10px; background: #1c56b7; }
@media screen and (min-width: 768px) { .copyright { font-size: 14px; padding-bottom: 0; } }
.copyright a { color: #fff; }

/*フッター固定バナー（SP）*/
#btm_info { position: fixed; bottom: -90px; left: 0; z-index: 80; display: block; width: 100%; height: 50px; }
@media screen and (min-width: 768px) { #btm_info { display: none; } }

#btm_info ul { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; justify-content: left; /* 子要素をflexboxにより中央に配置する */ align-items: bottom; /* 子要素をflexboxにより中央に配置する */ }

#btm_info ul li { width: 44%; vertical-align: baseline; text-align: center; background-color: #4374C3; }

#btm_info ul li > span { display: block; color: #fff; text-decoration: none; padding: .3em .3rem; border: 1px solid #8AAFD9; }

#btm_info ul li:nth-child(1) { padding: 5px 5px 5px 5px; }
#btm_info ul li:nth-child(1) span { border: 1px solid #8AAFD9; display: flex; justify-content: center; vertical-align: middle; padding: 5px 10px; height: 40px; }
#btm_info ul li:nth-child(1) span a { color: #fff; }

#btm_info ul li:nth-child(2) { padding: 5px 5px 5px 0; }
#btm_info ul li:nth-child(2) span { display: flex; justify-content: center; vertical-align: middle; padding: 0px 10px 0; height: 40px; }
#btm_info ul li:nth-child(2) span a { color: #fff; margin: 0 !important; padding: 0 !important; }

#btm_info ul li:nth-child(3) { width: 12%; height: 60px; padding: 0; text-align: center; font-size: 12px; }
#btm_info ul li:nth-child(3) span { display: block; line-height: 1; }
#btm_info ul li:nth-child(3) a { display: block; padding: 5px; background: #ff9c00; color: #fff; line-height: 1; }

#right_info { z-index: 10000; position: fixed; top: 158px; right: 0; }
@media screen and (max-width: 767px) { #right_info { display: none; } }
#right_info span { border: 1px solid #2D6AC3; background-color: #fff; padding: 10px; display: block; text-align: center; }
#right_info span a { color: #1C56B7; line-height: 1.6; }
#right_info span a span { border: none; padding: 0; }

/* --------------------------------
	_header
-------------------------------- */
header { position: absolute; width: 100%; left: 0; top: 0; z-index: 9999; }
@media screen and (min-width: 768px) { header { background: rgba(28, 87, 183, 0.8); } }
@media screen and (max-width: 767px) { header > .container { padding: 10px; background: rgba(28, 87, 183, 0.8); } }

.site-title { font-weight: normal; font-size: 14px; text-align: center; margin-bottom: 10px; line-height: 1; }
@media screen and (max-width: 767px) { .site-title { display: none; } }

@media screen and (min-width: 768px) { .head { padding-top: 28px; padding-bottom: 28px; } }
@media screen and (min-width: 768px) { .head-logo { width: 440px; } }
@media screen and (max-width: 767px) { .head-logo { margin-right: 50px; width: 250px; min-height: 50px; } }
.head-logo a { display: inline-block; }
@media screen and (min-width: 768px) { .head-info { width: calc(100% - 440px); padding-left: 20px; align-items: center; } }
@media screen and (max-width: 767px) { .head-info { flex-wrap: wrap; font-size: 12px; }
  .head-info > div { width: 100%; } }
@media screen and (min-width: 768px) { .head-info-tel { margin-right: 10px; } }
@media screen and (max-width: 767px) { .head-info-tel a { color: #fff; display: block; text-align: center; } }
.head-info-tel .tel { font-size: 14px; line-height: 1; color: #fff; }
@media screen and (min-width: 768px) { .head-info-tel .tel { font-size: 22px; letter-spacing: 0.5px; margin-bottom: 7px; font-family: Arial,"メイリオ",Meiryo,"sans-serif"; } }
@media screen and (max-width: 767px) { .head-info-tel .tel { display: flex; justify-content: center; vertical-align: middle; font-size: 24px; font-weight: bold; padding: 5px 10px; border: 1px solid #fff; }
  .head-info-tel .tel:before { display: inline-block; vertical-align: middle; } }
.head-info-tel .reserve a { font-size: 14px; line-height: 1; color: #fff; }
@media screen and (min-width: 768px) { .head-info-tel .reserve { letter-spacing: 0.5px; margin-bottom: 7px; font-family: Arial,"メイリオ",Meiryo,"sans-serif"; }
  .head-info-tel .reserve a { font-size: 22px; } }
@media screen and (max-width: 767px) { .head-info-tel .reserve { margin: 8px auto; display: flex; justify-content: center; vertical-align: middle; border: 1px solid #fff; }
  .head-info-tel .reserve a { width: 100%; box-sizing: border-box; padding: 5px 10px; font-size: 24px; font-weight: bold; text-align: center; }
  .head-info-tel .reserve a span { display: inline-block; }
  .head-info-tel .reserve a span::before { display: inline-block; vertical-align: middle; } }
.head-info-access { color: #fff; }
@media screen and (min-width: 768px) { .head-info-access .h-add { font-size: 15px; margin-bottom: 8px; }
  .head-info-access .h-add .parking { padding-left: 10px; } }
@media screen and (max-width: 767px) { .head-info-access li { margin-bottom: 3px; }
  .head-info-access li .parking { padding-left: 8px; }
  .head-info-access li .parking img { height: 18px; width: auto; } }

@media screen and (max-width: 767px) { .gnav { position: absolute; top: 60px; right: 0; z-index: 1; width: 65%; transition: .3s all ease; visibility: hidden; opacity: 0; background: #fff; padding: 10px 15px; border-radius: 10px; box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.3); }
  .gnav.active { opacity: 1; visibility: visible; } }
@media screen and (min-width: 768px) { .gnav--wrap { border-bottom: 4px solid #dcdcda; background: #fff; height: 40px; } }
.gnav-list:after { content: ""; display: block; clear: both; }
@media screen and (min-width: 768px) { .gnav-list > li { float: left; text-align: center; width: 180px; font-size: 15px; font-weight: 500; }
  .gnav-list > li:first-of-type { border-left: 1px solid #dcdcda; } }
.gnav-list > li:last-of-type a { border-bottom: 0; }
.gnav-list > li > a, .gnav-list > li > span { display: block; width: 100%; height: 100%; color: #1c56b7; }
@media screen and (min-width: 768px) { .gnav-list > li > a, .gnav-list > li > span { padding: 7px 0; border-right: 1px solid #dcdcda; }
  .gnav-list > li > a.active, .gnav-list > li > a:hover, .gnav-list > li > span.active, .gnav-list > li > span:hover { opacity: 1; color: #fff; background: #ff9c00; } }
@media screen and (max-width: 767px) { .gnav-list > li .dropbtn, .gnav-list > li > a { padding: 7px 0; border-bottom: 1px dashed #7f7f7f; }
  .gnav-list > li .dropbtn:before, .gnav-list > li > a:before { content: "▶"; } }
.gnav-list .dropbtn { transition: all ease .3s; }
@media screen and (max-width: 767px) { .gnav-list .dropbtn { border-bottom: 0 !important; } }
.gnav-list .dropbtn:hover + .drop { display: block; }
.gnav-list .drop { padding-top: 1px; }
@media screen and (min-width: 768px) { .gnav-list .drop { display: none; } }
@media screen and (max-width: 767px) { .gnav-list .drop { background: #f5f5f5; margin-bottom: .5em; } }
.gnav-list .drop:hover { display: block; }
.gnav-list .drop li { padding-left: 10px; }
@media screen and (min-width: 768px) { .gnav-list .drop li { padding: 0; background: #fff; border-bottom: 1px solid #fff; } }
@media screen and (max-width: 767px) { .gnav-list .drop li { border-bottom: 1px dashed #d4d4d4; }
  .gnav-list .drop li:last-of-type { border-bottom: 0; } }
.gnav-list .drop a { display: block; width: 100%; height: 100%; padding: 10px 0; }
@media screen and (min-width: 768px) { .gnav-list .drop a { color: #fff; background: #1c56b7; } }
@media screen and (max-width: 767px) { .gnav-list .drop a:before { content: "・"; } }

@media screen and (min-width: 768px) { .main-nav { padding: 0 50px 40px; } }
@media screen and (max-width: 767px) { .main-nav { padding-right: 15px; padding-left: 15px; visibility: hidden; opacity: 0; height: 0; transition: ease all .3s; }
  .main-nav.active { visibility: visible; opacity: 1; height: 305px; } }
.main-nav ul { font-size: 18px; }
@media screen and (min-width: 768px) { .main-nav li { padding: 0 10px; text-align: center; } }
.main-nav li:last-of-type a { border-bottom: 0; }
.main-nav a { color: #434343; display: block; width: 100%; height: 100%; }
.main-nav a:hover { opacity: 1; }
@media screen and (min-width: 768px) { .main-nav a:hover { color: #1c56b7; }
  .main-nav a:hover img { margin-top: -8px; margin-bottom: 18px; } }
@media screen and (max-width: 767px) { .main-nav a { display: flex; align-items: center; font-size: 16px; padding: 10px; background: #fff7cc; border-bottom: 1px dashed #efe6b8; } }
.main-nav span { font-weight: 500; }
.main-nav img { transition: ease all .3s; }
@media screen and (min-width: 768px) { .main-nav img { display: block; margin: 0 auto 10px; } }
@media screen and (max-width: 767px) { .main-nav img { width: 30px; height: 30px; } }

.menubtn { text-align: center; cursor: pointer; color: #fff; position: absolute; width: 40px; top: 10px; right: 15px; line-height: 1; }
.menubtn > span { font-size: 12px; }
.menubtn.active .menu-bor span:nth-child(1) { transform: translateY(10px) rotate(-135deg); }
.menubtn.active .menu-bor span:nth-child(2) { opacity: 0; }
.menubtn.active .menu-bor span:nth-child(3) { transform: translateY(-10px) rotate(135deg); }

.menu-bor { position: relative; width: 35px; height: 27px; margin: 0 auto; }
.menu-bor span { position: absolute; width: 100%; left: 0; border-bottom: solid 3px #fff; transition: all ease .4s; }
.menu-bor span:nth-child(1) { top: 0; }
.menu-bor span:nth-child(2) { top: 10px; }
.menu-bor span:nth-child(3) { top: 20px; }

.cap { width: 100%; padding: 10px; background: rgba(0, 0, 0, 0.5); color: #fff; text-align: center; position: absolute; left: 0; bottom: 0; }

.key_under { padding-top: 195px; background: url(../images/common-title-page.png) no-repeat bottom center; background-size: cover; }
@media screen and (min-width: 768px) { .key_under { padding-top: 176px; } }

.under { padding-top: 25px; padding-bottom: 25px; background: #fff; }
@media screen and (min-width: 768px) { .under { padding: 20px; } }

.under-wrap { background: #f3f3f3; }

.content { margin-bottom: 4rem; padding-bottom: 4rem; border-bottom: 1px dashed #d4d4d4; }
.content:last-child { border-bottom: 0; padding-bottom: 0; }
@media screen and (min-width: 768px) { .content { padding-bottom: 8rem; margin-bottom: 8rem; margin-right: 40px; margin-left: 40px; } }

/* 共通パーツ */
.listdl dl { display: flex; border-top: 1px solid #8aafd9; border-right: 1px solid #8aafd9; }
.listdl dl:last-of-type { border-bottom: 1px solid #8aafd9; }
.listdl dt, .listdl dd { padding: 10px 15px; }
.listdl dt { color: #fff; width: 25%; text-align: center; background: #356cc6; }
.listdl dd { width: 75%; background: #fff; }
@media screen and (max-width: 767px) { .listdl.responsive dl { flex-wrap: wrap; border: 1px solid #8aafd9; }
  .listdl.responsive dl + dl { border-top: 0; }
  .listdl.responsive dt { width: 100%; }
  .listdl.responsive dd { width: 100%; } }

/* aboutus.html */
.about-link { display: flex; flex-wrap: wrap; padding: 40px 0 0; }
@media screen and (min-width: 768px) { .about-link { justify-content: center; } }
.about-link li { margin: 0 15px 2rem; }
@media screen and (max-width: 767px) { .about-link li { margin-bottom: 2rem; width: 100%; } }
.about-link a { display: inline-block; width: 100%; padding: 8px 30px; background: #ff9c00; color: #fff; box-shadow: 1px 2px 1px rgba(0, 0, 0, 0.2); position: relative; border-radius: 3px; }
.about-link a:after { content: "\f107"; font-family: Font Awesome\ 5 Free; font-weight: 900; position: absolute; right: 10px; }
@media screen and (max-width: 767px) { .about-link a { display: block; text-align: center; width: 100%; margin: 0; } }

.about-Medical figure { text-align: center; }
@media screen and (min-width: 768px) { .about-Medical figure { order: 2; width: 260px; } }
@media screen and (max-width: 767px) { .about-Medical figure { padding: 0 10% 1em; } }
.about-Medical .item { width: 100%; margin-bottom: 2.5em; padding: 2%; }
.about-Medical .item:last-of-type { margin-bottom: 0; }
@media screen and (min-width: 768px) { .about-Medical .txt { display: flex; justify-content: space-between; } }
.about-Medical b { display: block; margin-bottom: 1.5em; padding: 10px 15px; background: #f8f8f8; border: 1px solid #e0d7d7; }
@media screen and (min-width: 768px) { .about-Medical p { width: calc(100% - 300px); } }

.about-Features .item { display: flex; flex-wrap: wrap; margin-bottom: 5rem; }
@media screen and (min-width: 768px) { .about-Features figure { width: 35%; } }
@media screen and (min-width: 768px) { .about-Features .txt { width: 65%; padding: 0 4rem; } }
.about-Features h4 { color: #1c56b7; font-size: 18px; }
@media screen and (min-width: 768px) { .about-Features h4 { margin-bottom: 20px; font-size: 24px; } }
@media screen and (max-width: 767px) { .about-Features h4 { text-align: center; padding: 17px 0; } }
.about-Features .box { margin-top: 20px; }
.about-Features .box b { display: block; margin-bottom: 20px; }
.about-Features .box ul { font-size: 14px; }
.about-Features .box a { color: #1c56b7; }

@media screen and (min-width: 768px) { #slider { width: 800px; margin: 0 auto 2em; } }
#slider .swiper-wrapper { margin-bottom: 4px; }
#slider .swiper-button-next, #slider .swiper-button-prev { transform: translateY(-50%); background-color: #444; background-size: 12px; }

.swiper-my-pagination .swiper-pagination-bullet { width: auto; height: auto; border-radius: 0; }

.swiper-container-horizontal > .swiper-my-pagination.swiper-pagination-bullets .swiper-pagination-bullet { margin: 0; }

.swiper-my-pagination img { box-shadow: none; margin: 0; vertical-align: bottom; background: rgba(255, 255, 255, 0.01); transition: ease .3s all; }

.swiper-my-pagination { display: flex; justify-content: space-between; }

.swiper-my-pagination .swiper-pagination-bullet { width: calc(100% / 6 - 2px); padding: 0; background: #000; opacity: 1; }

.swiper-my-pagination .swiper-pagination-bullet img { opacity: .5; }

.swiper-my-pagination .swiper-pagination-bullet-active img { opacity: 1; }

/* staff.html */
@media screen and (min-width: 768px) { .staff { display: flex; } }
.staff figure { margin-bottom: 1em; }
@media screen and (min-width: 768px) { .staff figure { width: 40%; margin-bottom: 0; } }
.staff figure img { padding: 5px; background: #fff; box-shadow: 0 0 3px #adadad; }
@media screen and (min-width: 768px) { .staff .txt { width: 60%; padding-left: 40px; position: relative; } }
.staff h3 { color: #1c56b7; margin-bottom: 20px; }
@media screen and (min-width: 768px) { .staff h3 { font-size: 24px; } }
.staff-name { text-align: right; padding-top: 2rem; }
@media screen and (min-width: 768px) { .staff-name { position: absolute; bottom: 0; right: 0; } }
.staff-name span { font-size: 1.4em; display: inline-block; margin-left: 10px; }
@media screen and (min-width: 768px) { .staff-history { display: flex; justify-content: space-between; }
  .staff-history .item { width: calc(50% - 20px); margin-bottom: 0; } }
.staff-history .item { margin-bottom: 2em; }
.staff-history .title-mini { text-align: left; }

/* jikan.html */
@media screen and (max-width: 767px) { .jikan-time .item-time { text-align: center; margin-bottom: 20px; } }
.jikan-time .shop-time { border: 1px solid #89b1d8; }
@media screen and (min-width: 768px) { .jikan-time th, .jikan-time td { padding: 15px 10px; } }

.jikan-doctor table { width: 100%; font-size: 12px; margin-bottom: 20px; border: 3px solid #dadada; border-right: 0; border-left: 0; }
@media screen and (min-width: 768px) { .jikan-doctor table { font-size: 14px; } }
@media screen and (max-width: 767px) { .jikan-doctor table { border: 1px solid #dadada; } }
.jikan-doctor tr:nth-of-type(odd) { background: #f8f8f8; }
.jikan-doctor tr.week { background: #fff; }
.jikan-doctor td { text-align: center; }
@media screen and (max-width: 767px) { .jikan-doctor td { width: 16px; } }
.jikan-doctor .time { font-weight: bold; border-right: 1px solid #dadada; }
@media screen and (max-width: 767px) { .jikan-doctor .time { padding: 0; width: 20px; } }
.jikan-doctor .close { width: 30px; }
.jikan-doctor th { border: 1px solid #dadada; font-weight: normal; padding: 10px 0; }
@media screen and (min-width: 768px) { .jikan-doctor th { border: 3px solid #dadada; border-right: 0; border-left: 0; } }
@media screen and (min-width: 768px) { .jikan-doctor th { padding: 15px 10px; } }
.jikan-doctor td { border: 1px dashed #dadada; padding: 10px 0; }
@media screen and (min-width: 768px) { .jikan-doctor td { border-right: 0; border-left: 0; } }
@media screen and (min-width: 768px) { .jikan-doctor td { padding: 15px 10px; } }
.jikan-doctor .woman { color: #f62b60; }
.jikan-doctor .man { color: #5a83ea; }

.contact { margin-top: 2em; border: 5px solid #b7b7b7; background: #fff; }
@media screen and (min-width: 768px) { .contact { display: flex; align-items: center; } }
.contact-box { padding: 15px; }
@media screen and (min-width: 768px) { .contact-box { width: calc(100% - 300px); padding: 20px; } }
.contact-box div { padding: 15px; background: #fff; }
.contact-box div i { margin-right: 5px; }
@media screen and (min-width: 768px) { .contact-box div i { margin-right: 15px; } }
.contact-box div:first-of-type { margin-bottom: 10px; }
.contact-box div:first-of-type span { color: #2196F3; }
@media screen and (max-width: 767px) { .contact-box div:first-of-type span { color: #fff; background: #2196F3; } }
.contact-box div:last-of-type span { color: #8BC34A; }
@media screen and (max-width: 767px) { .contact-box div:last-of-type span { color: #fff; background: #8BC34A; } }
@media screen and (min-width: 768px) { .contact figure { width: 300px; text-align: center; padding-right: 20px; } }
@media screen and (max-width: 767px) { .contact figure { display: none; } }
.contact b { display: block; font-size: 1em; font-weight: normal; }
.contact span { font-size: 1.6em; display: block; padding: 10px 0 0; }
@media screen and (max-width: 768px) { .contact span { text-align: center; color: #fff; border-radius: 3px; padding: 5px 5px; margin: 15px 0; box-shadow: 1px 2px 1px rgba(0, 0, 0, 0.2); } }
.contact strong { display: block; color: red; font-size: 14px; font-weight: normal; }

.jikan-congestion table { width: 100%; font-size: 12px; margin-bottom: 20px; border: 3px solid #dadada; border-right: 0; border-left: 0; }
@media screen and (min-width: 768px) { .jikan-congestion table { font-size: 14px; } }
@media screen and (max-width: 767px) { .jikan-congestion table { border: 1px solid #dadada; } }
.jikan-congestion tr.week { background: #fff; }
.jikan-congestion td { text-align: center; width: 50px; }
@media screen and (max-width: 767px) { .jikan-congestion td { width: 20px; } }
.jikan-congestion .day { width: 30px; border-right: 1px solid #dadada; font-weight: bold; }
@media screen and (max-width: 767px) { .jikan-congestion .day { padding: 0; width: 15px; } }
.jikan-congestion .close { width: 30px; background: #fff; }
@media screen and (max-width: 767px) { .jikan-congestion .close { width: 15px; } }
.jikan-congestion .cong { color: #1fa931; background: #dcf5de; }
.jikan-congestion .conger { color: #FF9800; background: #ffd4d4; }
.jikan-congestion .congest { color: #f03232; background: #ff9c9c; }
.jikan-congestion .conglist { font-size: 14px; }
.jikan-congestion .conglist span { display: inline-block; padding: 1px 10px; text-align: center; line-height: 1; margin-right: 10px; }
.jikan-congestion th { border: 1px solid #dadada; font-weight: normal; padding: 10px 0; }
@media screen and (min-width: 768px) { .jikan-congestion th { padding: 15px 10px; border-right: 0; border-left: 0; border-bottom: 3px solid #dadada; } }
.jikan-congestion td { border: 1px dashed #dadada; padding: 10px 0; }
@media screen and (min-width: 768px) { .jikan-congestion td { border-right: 0; border-left: 0; } }
@media screen and (min-width: 768px) { .jikan-congestion td { padding: 15px 10px; } }
@media screen and (max-width: 767px) { .jikan-congestion .time { width: 50px; } }
.jikan-congestion .woman { color: #f62b60; }
.jikan-congestion .man { color: #5a83ea; }

.jikan-access .box2 { margin-bottom: 20px; }
.jikan-access .box2 h4 { color: #1c56b7; font-size: 16px; letter-spacing: 1px; padding: 0 0 5px 3px; margin-bottom: 10px; border-bottom: 3px solid #1c56b7; }
@media screen and (min-width: 768px) { .jikan-access .box2 h4 { font-size: 20px; } }
.jikan-access dl { display: flex; align-items: center; border-top: 1px solid #8aafd9; border-right: 1px solid #8aafd9; background: #356cc6; }
.jikan-access dl:last-of-type { border-bottom: 1px solid #8aafd9; }
.jikan-access dt, .jikan-access dd { padding: 10px 15px; }
.jikan-access dt { color: #fff; width: 25%; text-align: center; }
.jikan-access dd { width: 75%; background: #fff; }
@media screen and (min-width: 768px) { .jikan-access .map { display: flex; justify-content: space-between; } }
.jikan-access .map .title-mini { margin-top: 1.5em; margin-bottom: .5em; font-size: 1em; }
.jikan-access .map .title-mini span { display: block; }
.jikan-access .map .telbox { font-size: 1.3em; }
@media screen and (max-width: 767px) { .jikan-access .map .mapbox { height: 300px; margin-bottom: 20px; } }
@media screen and (min-width: 768px) { .jikan-access .map .mapbox { width: 50%; height: 600px; } }
.jikan-access .map .mapbox iframe { width: 100%; height: 100%; border: 0; }
@media screen and (min-width: 768px) { .jikan-access .map .info { width: calc(50% - 40px); } }

.jikan-parking p { margin-bottom: 2em; }

/* visitor */
.visitor-treatment ul { display: flex; flex-wrap: wrap; margin-top: 20px; }
.visitor-treatment li { width: 50%; text-align: center; padding: 10px; }
@media screen and (min-width: 768px) { .visitor-treatment li { width: 33.3%; } }

/* seikei */
.box-list { margin: 1.5em 0 .5em; }
@media screen and (min-width: 768px) { .box-list { padding: 20px; } }

/* osteoporosis */
.osteoporosis .item { background: #f7f0e7; padding: 10px 40px 40px; border-radius: 10px; margin: 3em 0; }
@media screen and (max-width: 767px) { .osteoporosis .item { padding: 15px; } }
.osteoporosis .price table { width: 100%; }
.osteoporosis .price table th { padding: 5px 0; background: #ff9c00; color: #fff; text-align: center; }
.osteoporosis .price table td { padding: 15px 0; width: 50%; background: #fff; text-align: center; border-bottom: 1px solid #d4d4d4; }

.osteoporosis-list { display: flex; flex-wrap: wrap; padding: 20px 0; justify-content: space-between; }
@media screen and (max-width: 767px) { .osteoporosis-list { position: relative; padding: 0; } }
.osteoporosis-list .item { width: 100%; }
@media screen and (min-width: 768px) { .osteoporosis-list .item { width: calc(50% - 15px); padding: 0; } }
@media screen and (max-width: 767px) { .osteoporosis-list .item { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px dashed #dadada; } }
.osteoporosis-list .item figure { font-weight: bold; text-align: center; }
.osteoporosis-list .item figure img { width: 100%; margin-bottom: 20px; }

/* rehab */
@media screen and (min-width: 768px) { .rehab-btn { display: flex; justify-content: space-between; } }
.rehab-btn span { padding: 10px 0; }
.rehab-btn span a { position: relative; width: 100%; padding: 5px 30px; }
.rehab-btn span a:after { content: "\f107"; font-family: Font Awesome\ 5 Free; font-weight: 900; position: absolute; right: 10px; color: #fff; }

.rehab-flow .item { padding: 20px; border: 5px solid #dce1e8; }
@media screen and (min-width: 768px) { .rehab-flow .item { padding: 20px 40px; } }
.rehab-flow .item:after { content: ""; }
.rehab-flow .item h4 { color: #1c56b7; font-size: 1.3em; margin-bottom: 20px; }
@media screen and (min-width: 768px) { .rehab-flow .item figure { text-align: right; } }
@media screen and (max-width: 767px) { .rehab-flow .item figure { padding-top: 15px; } }
.rehab-flow .item img { width: 300px; box-shadow: none; }
.rehab-flow .arrow { text-align: center; padding: 30px 0; font-size: 30px; color: #ff9c00; }
@media screen and (max-width: 767px) { .rehab-flow .arrow { padding: 10px 0; } }

.rehab-staff { margin-top: 2em; }
.rehab-staff ul { display: flex; flex-wrap: wrap; justify-content: center; }
.rehab-staff li { text-align: right; width: 50%; padding: 10px; padding-left: 0; }
.rehab-staff li:nth-of-type(even) { text-align: left; padding-left: 10px; padding-right: 0; }

/*# sourceMappingURL=base.css.map */
