@charset "UTF-8";

/* default
----------------------------------------------- */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, section, summary, time, mark, audio, video { margin: 0; padding: 0; font: inherit; word-wrap: break-word; border: 0; vertical-align: baseline; outline: none; }
body {padding: 0;margin: 0;color: #28282d;font-size: 3.6vw;font-family: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;font-weight: 400;font-style: normal;line-height: 1.8;-webkit-text-size-adjust: 100%;overflow-x: hidden;}
_:-ms-lang(x)::-ms-backdrop, body { font-family: "メイリオ", Meiryo, sans-serif; }
article, aside, canvas, details, figcaption, figure, header, footer, hgroup, main, menu, nav, section, summary { display: block; }
blockquote, q { quotes: none; }
strong, b { font-weight: bold; }
ul, ol, li { list-style: none; }
table { border-spacing: 0; border-collapse: collapse; }
img, video, object { height: auto; border: none; display: block; }
ins { background: none; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
hr { height: 1px; padding: 0; margin: 1em 0; border: 0; border-top: 1px solid #ccc; display: block; }
*:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; -moz-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); -o-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); -webkit-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); }
a { color: #28282d; text-decoration: none; display: block; -moz-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); -o-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); -webkit-transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); transition: all 0.4s cubic-bezier(0.05, 0.05, 0.31, 0.97); }
a:hover { opacity: 0.6; }
.clearfix:after { content: ''; display: block; clear: both; }
.pc { display: none; }
.sp { display: block; }
img {   width:100%; margin: 0 auto;}

/* root
----------------------------------------------- */
:root {
--mincho:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; /* font-family: var(--mincho); */
--gothic:游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; /* font-family: var(--gothic); */
}


/* common
----------------------------------------------- */
.container p{ font-size: 3.6vw;line-height: 1.8;font-feature-settings: "palt";letter-spacing: .04em;text-align: justify;margin-bottom: 4vw;}

.midashi01{margin-bottom: 6vw;}
.midashi01 .en{font-size: 10vw;display: block;text-align: center;font-family: garamond-premier-pro-display, serif;font-weight: 400;letter-spacing: .09em;line-height: 1;}
.midashi01 .jp{text-align: center;display: block;}

.mb20{margin-bottom: 4vw;}
.mb40{margin-bottom: 6vw;}
.mb60{margin-bottom: 10vw;}
.mb80{margin-bottom: 10vw;}
.mb100{margin-bottom: 14vw;}

p.ast { font-size: 88% !important; padding-left: 1em;text-indent: -1em; text-align:justify; text-justify:auto;}
ul.ast li { font-size: 88% !important; padding-left: 1em;text-indent: -1em; text-align:justify; text-justify:auto; margin-bottom: 2%; line-height: 1.5;}
ul.ast li a{display: inline-block;padding-left: 10px;}
span.ast{font-size: 88%;}

/* header sp
----------------------------------------------- */
.header{position: fixed;padding: 2vw 2vw 2vw 3vw;background: #fff;box-shadow: 0 2px 12px 0px rgb(101 101 101 / 40%);z-index: 10;}
.header-content{display: -webkit-flex;display: flex;-webkit-justify-content: space-between;justify-content: space-between;-webkit-align-items: center;align-items: center;}
.header-content .logo{width: 35%;}
.header-right{width: 60%;display: -webkit-flex;display: flex;-webkit-justify-content: flex-end;justify-content: flex-end;-webkit-align-items: center;align-items: center;}
.header-content .logo img{width: 100%;}
header .tel{width: 17%;}
header .tel img{width: 100%;}
header .line{width: 16%;margin-left: 2vw;}
header .line img{width: 100%;}
header .reserve{width: 80%;margin-left: 2vw;}
header .reserve img{width: 100%;}

/* footer sp
----------------------------------------------- */
.footer{margin: 0 auto;background: #faf6ea;padding: 4vw;font-family: futura-pt, sans-serif;font-weight: 400;}
.copyright{text-align:center;font-feature-settings:"palt";letter-spacing: .08em;}

/* cv
----------------------------------------------- */
.cv{position:relative;}
.cv img{width: 100%;}
.cv_btn{position:absolute;bottom: -1vw;left:50%;-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width: 82vw;overflow: hidden;}
@keyframes shiny {0% { left: -20%; }10% { left: 120%; }100% { left: 120%; }}
.cv_btn::after {content: '';position: absolute;top: -11%;left: -20%;width: 40px;height: 100%;transform: scale(2) rotate(20deg);background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);animation-name: shiny;animation-duration: 3s;animation-timing-function: ease-in-out;animation-iteration-count: infinite;}


/* top
----------------------------------------------- */
.ba{background: url(../images/ba@2x.jpg) top center no-repeat;background-size: 100%;padding: 50vw 0 28vw;}
.ba_items img{width: 80vw;margin: 0 2vw;}
.ba .slick-prev, .ba .slick-next{width: 12vw;margin: 0;}

.note{margin: -45vw auto 0;}

.flow{position: relative;}
.flow a{position: absolute;top: 128vw;left: 50%;-moz-transform: translate(-50%, -50%);-ms-transform: translate(-50%, -50%);-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);width: 80vw;}
.flow a img{width: 100%;}

.price{width: 90%;margin: 0 auto;padding: 0 0 10vw;}
.price_ttl {margin: 0 auto 7%;text-align: center;border-bottom: 1px solid #929292;padding-bottom: 5vw;font-weight: 600;}
.price_ttl div{position: relative;display: -webkit-box;display: -moz-box;display: -webkit-flex;display: box;display: flex;-webkit-align-items: center;align-items: center;margin-bottom: 4vw;}
.price_ttl div:before, .price_ttl div:after {content: '';height: 1px;background: #929292;display: block;-webkit-flex-grow: 1;flex-grow: 1;}
.price_ttl div:before {margin-right: 10px;}
.price_ttl div:after {margin-left: 10px;}
.price_ttl .en {font-size: 3.4vw;letter-spacing: .1em;color: #36b9b4;line-height: 1;text-align: center;font-family: futura-pt, sans-serif;font-weight: 400;}
.price_ttl .jp {font-size: 6vw;display: block;font-family: var(--mincho);line-height: 1;}

.tbl02{width:100%;font-size: 3.6vw;}
.tbl02_wra{border: 1px solid #298b88;margin-bottom: 4vw;}
.tbl02 th,.tbl02 td{border-bottom:none;width:50%;line-height:1.7;padding: 3%;font-size: 4.5vw;}
.tbl02 tr span{font-size: 3.6vw;}
.tbl02 th{color:#fff;vertical-align:middle;letter-spacing: .05em;background: #298b88;}
.tbl02_name > *{display:block;text-align:center;line-height:1;}
.tbl02_name .jp{font-size: 5.5vw;font-style:normal;line-height: 1.1;font-feature-settings: "palt";}
.tbl02 td{border:solid 1px #e6e6e6;vertical-align:middle;border-right:none;}
.tbl02 td:first-of-type{width: 28%;text-align: center;background: #eefbfb;color: #2c9a96;border-left:none;line-height: 1.2;}
.tbl02 td:first-of-type small{font-size: 80%;}
.tbl02 td:nth-of-type(2){width: 72%;text-align:right; letter-spacing: .02em;}
.tbl02 tr:last-of-type td{border-bottom:none;}
.tbl02 thead td{text-align:center;}


.clinic-intro{margin-bottom: 7vw;}
.clinic .read{font-size: 5vw;font-family:var(--mincho);font-weight: 600;line-height: 1.4;margin-bottom: 2vw;color: #cc6c2b; text-align: center;}
.clinic .read span { background: #cc6c2b; padding: 6px; margin: 0 auto 1vw; display: block; color: #fff; font-size: 70%;}
.clinic_items{margin-bottom: 6vw;}
.clinic_items img{width: 48vw;}
.clinic-text{width: 88vw;margin: 0 auto 10vw;}
.tbl {width:100%;margin: 0 auto 5%;position:relative;}
.tbl th,.tbl td {vertical-align:middle;line-height: 1.6;display: inline-block;}
.tbl td {width: 70%;padding: 3% 0 3% 3%;}
.tbl th {text-align:center;width: 30%;font-weight: 600;display: inline-block;padding: 3% 3% 3% 0;}
.tbl tr:first-child {border-top:2px solid #eee;}
.tbl tr{border-bottom:1px solid #eee;}
.tbl tr:last-child { border-bottom: none;}
.tbl td a.tel {color: #298b88;font-size: 7vw; letter-spacing: .04em; display: inline-block; font-weight: 400; font-family: "futura-pt", sans-serif;}
.tbl td a.tel:before {content: "\f095";font-family: icon; font-size: 70%; margin-right: 4px;}
.tbl .clinic-access ul{padding: 0;}
.tbl .clinic-access li{line-height: 1.8;font-feature-settings: "palt";letter-spacing: .04em;text-align: justify;margin-bottom: 3vw;}
.tbl .clinic-access li:last-child{margin-bottom: 0;}
.tbl .clinic-access li span{padding: 1% 2%;background: #faf6ea;font-weight: bold;display: block;margin-bottom: 1vw;}

.qa{width: 90%;margin: 0 auto;padding: 0 0 10vw;}
.qa-list {line-height: 1.8;font-feature-settings: "palt";letter-spacing: .02em;text-align: justify;text-justify: auto;}
.qa-list dl {margin: 0 auto 4%;}
.qa-list dt {position: relative;padding: 3% 15% 3% 12%;cursor: pointer;line-height: 1.5;font-size: 3.7vw;width: 100%;text-indent: -1.8em;font-feature-settings: "palt";letter-spacing: .02em;font-weight: bold;background: #faf6ea;}
.qa-list dt:before, .qa-list dt:after {content: '';background: #999;position: absolute;top: 0;right: 0;}
.qa-list dt:before {width: 16px;height: 1px;top: calc(50% - 0px);right: 16px;}
.qa-list dt:after {width: 1px;height: 16px;top: calc(50% - 11px);right: 24px;-webkit-transition: 0.3s;transition: 0.3s;transform: translate(0, 3px);}
.qa-list dt.open:after {-moz-transform: rotate(90deg) translate(3px, 0);-ms-transform: rotate(90deg) translate(3px, 0);-webkit-transform: rotate(90deg) translate(3px, 0);transform: rotate(90deg) translate(3px, 0);}
.qa-list dt p:before{content:"Q.";font-size: 4vw;color: #cc6c2b;line-height: 1;font-weight: 400;margin-right: 3%;font-family: futura-pt, sans-serif;font-weight: 400;}
.qa-list dt p {margin-bottom: 0;line-height: 1.5;}
.qa-list dt p span {color: var(--green);font-size: 90%;}
.qa-list dd {display: none;padding: 3% 0 5%;}
.qa-list dd p {text-align: justify;font-feature-settings: "palt";font-weight: 400;letter-spacing: .02em;font-size: 3.5vw;}
.qa-list dd p:last-child {margin-bottom: 0;}

.calendar {margin: 0 auto 6vw;}
.calendar dl { color: #615c61; font-size: 3.16vw; font-weight: bold; text-align: center; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
.calendar dl:first-child{background: #eefbfb;}
.calendar dt { width: 24vw; padding: 4vw 0 3.5vw; }
.calendar dd { min-width: 8vw; margin: auto; }
.calendar dd:last-child { min-width: 10vw; }
.calendar .yellow {color: rgba(97, 193, 190, 0.7);}
.calendar .pink {color: rgb(254 103 152 / 70%);font-size: 120%;}
.calendar-text {margin-top: 3vw;font-size: 3.2vw;line-height: 1.7;}
.calendar p{font-size: 3vw}
.calendar p::before {content: "\2605";display: inline-block;color: rgb(254 103 152 / 70%);font-size: 120%;}
.calendar .saturday{color: #3146a6;}
.calendar .sunday{color: #c03535;}
.calendar-note{margin: 0 auto 3vw;width: 70%;}

.map { margin: 0 auto 6%; height: 200px;}
.root {display: -webkit-flex;display: flex;-webkit-justify-content: center;justify-content: center;-webkit-align-items: center;align-items: center;}
.root li {width: 46%;font-size: 3.4vw;text-align: center;background: #298b88;font-weight: 300;letter-spacing: 0.1em;border-radius: 50px;margin: 0 0.5vw;}
.root li a {padding: 16px; color: #fff; position: relative; font-weight: 600}
.root li a:after {content: "\f105";margin-left: 10px;font-weight: normal;font-family: 'icon';}
.root .googlemap a:before { content: "\f041"; margin-right: 4%; font-family: icon; display: inline-block; }
.root .googleroot a:before { content: "\f183"; margin-right:4%; font-family: icon; display: inline-block; }

.cv02{width: 90vw;margin: 5vw auto 7vw;}
.cv02 img{width: 100%;}
.cv03{margin: 7vw auto 8vw;}

.contact{max-width: 100%; margin: 0 auto; background-color: #ebfffc; padding: 0 0 14vw;}
.contact p{font-size: 2.8vw;text-align: center; padding-top: 3vw;}
.contact .contact-bottom{display:-webkit-box; display:-webkit-flex; display: flex; bottom: 0;width: 100%; position: fixed;opacity: 1;visibility: visible;transition: all 1s;}
.contact .contact-bottom a{width: 380px;}
.contact .contact-bottom a img{width: 100%;}



/* =============================================
pc-size
================================================*/
@media screen and (min-width: 736px) {

body { background-attachment: fixed; font-size: 20px;}
body:before { position:fixed; top: 0; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); z-index:-1; width:2000px; height:3000px; background:url("../images/bg.jpg") no-repeat #FCF8F8; -webkit-background-size:contain; background-size:contain;content:"";}
.wrapper{width: 570px;box-shadow: 1px 8px 10px 8px rgb(210 227 226);background: #fff;margin: 0 auto;overflow-x: hidden;}

/* common
----------------------------------------------- */
.container p{ font-size: 20px;margin-bottom: 30px;}

.midashi01{margin-bottom: 40px;}
.midashi01 .en{font-size: 70px;}

.mb20{margin-bottom: 20px;}
.mb40{margin-bottom: 40px;}
.mb60{margin-bottom: 60px;}
.mb80{margin-bottom: 80px;}
.mb100{margin-bottom: 100px;}

p.ast { font-size: 16px!important;}
ul.ast li { font-size: 18px!important;}
span.ast{ font-size: 16px!important;}

/* header sp
----------------------------------------------- */
.header{padding: 12px 14px 14px 20px;width: 570px;overflow: hidden;}
.header-content{display: -webkit-flex;display: flex;-webkit-justify-content: space-between;justify-content: space-between;-webkit-align-items: center;align-items: center;}
.header-right{width: auto;}
header .logo{width: 35%;}
header .tel{width: 45px;}
header .line{width: 40px;margin-left: 14px;}
header .reserve{width: 210px;margin-left: 14px;}

/* footer sp
----------------------------------------------- */
.footer{padding: 20px;}
.copyright{text-align:center;font-feature-settings:"palt";letter-spacing: .08em;}

/* cv
----------------------------------------------- */
.cv{position:relative;}
.cv_btn{position:absolute;left:50%;-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width: 465px;overflow: hidden;top: 330px;}
@keyframes shiny {0% { left: -20%; }10% { left: 120%; }100% { left: 120%; }}
.cv_btn::after {content: '';position: absolute;top: -11%;left: -20%;width: 40px;height: 100%;transform: scale(2) rotate(20deg);background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);animation-name: shiny;animation-duration: 3s;animation-timing-function: ease-in-out;animation-iteration-count: infinite;}

.cv02{width: 510px;margin: 30px auto 35px;}

.cv03{margin: 40px auto 45px;}


/* top
----------------------------------------------- */
.ba{background: url(../images/ba.jpg) top center no-repeat;background-size: 100%;padding: 280px 0 150px;}
.ba_items img{width: 487px;margin: 0 10px;}
.ba .slick-prev, .ba .slick-next{width: 65px;}

.note{margin: -270px auto 0;}

.flow a{top: 726px; ;width: 480px;}

.price{padding: 0 0 50px;}
.price_ttl {margin: 0 auto 40px;padding-bottom: 30px;}
.price_ttl div{margin-bottom: 22px;}
.price_ttl div:before, .price_ttl div:after {content: '';height: 1px;background: #929292;display: block;-webkit-flex-grow: 1;flex-grow: 1;}
.price_ttl div:before {margin-right: 10px;}
.price_ttl div:after {margin-left: 10px;}
.price_ttl .en {font-size: 22px;}
.price_ttl .jp {font-size: 40px;}

.tbl02{font-size: 20px;}
.tbl02_wra{margin-bottom: 25px;}
.tbl02 th,.tbl02 td{padding: 14px;font-size: 27px;line-height: 1.8;}
.tbl02_name .jp{font-size: 32px;}
.tbl02 tr span{font-size: 22px;}

.qa{padding: 0 0 50px;}
.qa-list dl {margin: 0 auto 20px;}
.qa-list dt {padding: 14px 50px 14px 60px;font-size: 20px;}
.qa-list dt p:before{font-size: 30px;margin-right: 10px;}
.qa-list dd {padding: 10px 0 20px;}
.qa-list dd p {font-size: 18px;}

.clinic-intro{margin-bottom: 50px;}
.clinic .read{font-size: 30px;margin-bottom: 10px;}
.clinic_items{margin-bottom: 50px;}
.clinic_items img{width: 285px;}
.clinic-text{width: 90%;margin: 0 auto 10px;}
.tbl {margin: 0 auto 40px;font-size: 20px;}
.tbl td {padding: 20px 0 20px 20px;}
.tbl th {padding: 20px 20px 20px 0;}
.tbl td a.tel {font-size: 38px; color: #298b88;}
.tbl .clinic-access li{line-height: 1.8;font-feature-settings: "palt";letter-spacing: .04em;text-align: justify;margin-bottom: 3vw;}
.tbl .clinic-access li:last-child{margin-bottom: 0;}
.tbl .clinic-access li span{padding: 4px 8px;margin-bottom: 10px;}

.calendar {margin: 0 auto 40px;}
.calendar dl {font-size: 20px;}
.calendar dt {width: 140px;padding: 24px 0;}
.calendar dd {min-width: auto;}
.calendar dd:last-child {min-width: 70px;}
.calendar-text {margin-top: 20px;font-size: 16px;}
.calendar p{font-size: 15px}
.calendar-note{margin: 0 auto 14px;}

.map {margin: 0 auto 40px;height: 300px;}
.root li {font-size: 20px;margin: 0 6px;}
.root .googlemap a:before { margin-right: 20px;}
.root .googleroot a:before { margin-right:20px;}


.contact{ padding: 0 0 70px;}
.contact .contact-bottom{max-width: 570px;}
.contact .contact-bottom a{width: 380px;}
.contact p{font-size: 15px; padding-top: 15px;}

}


/* =============================================
 retina-size
================================================*/
@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) {

body:before { position:fixed; top: 0; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); z-index:-1; width:2000px; height:3000px; background:url("../images/bg@2x.jpg") no-repeat #FCF8F8; -webkit-background-size:contain; background-size:contain;content:"";-webkit-background-size:contain; background-size:contain;content:"";}

}