@charset "UTF-8";
/* font
----------------------------------------------- */
:root { 
--mincho: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", serif;
--gothic: 游ゴシック体, YuGothic, 'Yu Gothic', "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; 
--green01: #e9f4f3; /*薄い緑（背景色など）*/ 
--green02: #64c0ae; /*濃い緑（文字など）*/ }

/* default sp
	----------------------------------------------- */
* { -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 { padding: 0; margin: 0; font: inherit; word-wrap: break-word; border: 0; vertical-align: baseline; outline: none; }
body { padding: 0; margin: 0; color: #353535; font-size: 3.5vw; font-family: var(--gothic); -webkit-text-size-adjust: 100%; font-style: normal; line-height: 1; }
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; }
a { color: #353535; text-decoration: none; display: block; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
a:hover { opacity: 0.6; }

.clearfix:after { content: ''; display: block; clear: both; }
.pc { display: none; }
.sp { display: block; }
.pcx { display: none; }

/* common sp
----------------------------------------------- */
.wrapper { width: 100%; overflow: hidden; z-index: 1; position: relative; }
.container { padding-top: 15vw; }
.lato-regular { font-family: "Lato", serif; font-weight: 400; }

.midashi01 { padding-top: 10vw; margin-bottom: 5vw; text-align: center; position: relative; }
.midashi01:before { content: ''; width: 2.8vw; height: 6vw; background: #c6e4df; position: absolute; top: 0; left: calc(50% - 3.5vw); }
.midashi01:after { content: ''; width: 2.8vw; height: 6vw; background: #e2e2e2; position: absolute; top: 0; right: calc(50% - 3.5vw); }
.midashi01 .en { margin-bottom: 2.5vw; color: var(--green02); font-size: 9.21vw; font-family: "Lato"; font-weight: 400; letter-spacing: 0.4vw; display: block; }
.midashi01 .jp { font-size: 3.95vw; font-weight: bold; letter-spacing: 0.2vw; display: block; }

.midashi02 {padding-bottom: 6vw; margin-bottom: 6vw; text-align: center; position: relative;font-size: 4.8vw;line-height: 1.4;}
.midashi02:before { content: ''; width: 7.5vw; height: 1vw; background: var(--green02); position: absolute; bottom: 0; left: calc(50% - 7.2vw); }
.midashi02:after { content: ''; width: 7.5vw; height: 1vw; background: #bfbdba; position: absolute; bottom: 0; right: calc(50% - 7.2vw); }
.midashi02 span{font-size: 6vw; font-family: 'Lato';display: block;line-height: 1.4;letter-spacing: .06em;}

.midashi03{text-align:center;font-size:3.6vw;line-height:1.4;position:relative;margin-bottom:10%;}
.midashi03 span{font-family: "Lato"; font-weight: 400;color:var(--green02);font-size:9vw;display:block;}
.midashi03:after{content:"";background:var(--green02);width:10%;height:2px;position:absolute;bottom:-5vw;left:45%;}

.midashi04 {border-bottom:1px solid #ccc;border-top:1px solid #ccc;padding: 4% 0;text-align:center;font-size: 5vw;letter-spacing:.04em;line-height: 1.2;margin-bottom:5%;} 
.midashi04 span{display:block;color: var(--green02);font-size: 3.2vw;font-family: 'Lato';letter-spacing: .08em;padding: 1.5% 0;}
.midashi04 small { font-size:80%;}

.midashi05{font-weight:bold;background:var(--green01);color: var(--green02); padding: 3% 3% 2% 3%;line-height:1;font-size: 4vw;border-left: 3px solid var(--green02);margin-bottom: 5vw}
.midashi06{background: var(--green02);color: #fff;text-align: center;font-size: 140%;font-weight: 600;margin-bottom: 5vw;padding: 3vw 0;}


.more01 {min-width: 50vw;padding: 4vw 6vw 3.5vw;font-size: 3.68vw;font-weight: bold;text-align: center;background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #e7e3ca), color-stop(50%, #fcf9ec), color-stop(100%, #e7e3ca));background: -moz-linear-gradient(left, #e7e3ca, #fcf9ec, #e7e3ca);background: -webkit-linear-gradient(left, #e7e3ca, #fcf9ec, #e7e3ca);background: linear-gradient(to right, #e7e3ca, #fcf9ec, #e7e3ca);-moz-border-radius: 10vw;-webkit-border-radius: 10vw;border-radius: 10vw;position: relative;display: table;margin: 0 auto;}
.more01:after { content: ''; width: 6vw; height: 1px; background: #000; z-index: 1; position: absolute; top: 50%; right: -3vw; }

p.ast { font-size: 88% !important; padding-left: 1em;text-indent: -1em; text-align:justify; text-justify:auto;}
ul.ast{margin-bottom: 5vw}
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.6;}
ul.ast li a{display: inline-block;padding-left: 10px;}
span.ast{font-size: 88%;}


div.mb20,p.mb20,ul.mb20,li.mb20,span.mb20,h2.mb20,h3.mb20,h4.mb20,h5.mb20,h6.mb20,table.mb20,img.mb20,dl.mb20,dt.mb20,dd.mb20 { margin-bottom: 2vw;}
div.mb40,p.mb40,ul.mb40,li.mb40,span.mb40,h2.mb40,h3.mb40,h4.mb40,h5.mb40,h6.mb40,table.mb40,img.mb40,dl.mb40,dt.mb40,dd.mb40 { margin-bottom: 4vw;}
div.mb60,p.mb60,ul.mb60,li.mb60,span.mb60,h2.mb60,h3.mb60,h4.mb60,h5.mb60,h6.mb60,table.mb60,img.mb60,dl.mb60,dt.mb60,dd.mb60 { margin-bottom: 8vw;}
div.mb80,p.mb80,ul.mb80,li.mb80,span.mb80,h2.mb80,h3.mb80,h4.mb80,h5.mb80,h6.mb80,table.mb80,img.mb80,dl.mb80,dt.mb80,dd.mb80 { margin-bottom: 10vw;}
div.mb100,p.mb100,ul.mb100,li.mb100,span.mb100,h2.mb100,h3.mb100,h4.mb100,h5.mb100,h6.mb100,table.mb100,img.mb100,dl.mb100,dt.mb100,dd.mb100 { margin-bottom: 14vw;}
div.mb120,p.mb120,ul.mb120,li.mb120,span.mb120,h2.mb120,h3.mb120,h4.mb120,h5.mb120,h6.mb120,table.mb120,img.mb120,dl.mb120,dt.mb120,dd.mb120 { margin-bottom: 16vw;}
div.mb0,p.mb0,ul.mb0,li.mb0,span.mb0,h2.mb0,h3.mb0,h4.mb0,h5.mb0,h6.mb0,table.mb0,img.mb0,dl.mb0,dt.mb0,dd.mb0  { margin-bottom: 0;}






/* header sp
----------------------------------------------- */
.header { width: 100%; height: 15vw; background: #fff; z-index: 10; position: fixed; top: 0; left: 0; }
.header-logo { width: 45vw; position: absolute; top: 50%; left: 2.5vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-logo img { width: 100%; }

.header-navi-button { width: 10vw; height: 10vw; border: 1px solid #aaa; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; box-sizing: initial; cursor: pointer; z-index: 11; position: absolute; top: 2.5vw; right: 2.5vw; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-button .line { width: 4vw; height: 1px; background: #aaa; position: absolute; left: 3vw; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-button .line-top { top: 4vw; }
.header-navi-button .line-bottom { top: 6vw; }
.header-navi { width: 100%; height: 100%; background: url(../images/header-navi-bg.jpg) no-repeat top center; background-size: cover; opacity: 0; visibility: hidden; z-index: 1; position: fixed; top: 0; right: 0; -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.header-navi-inner { width: 100%; height: 100%; overflow-y: auto; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.header-navi-inner::-webkit-scrollbar { display: none; }
.header-navi-scroll { width: 100%; height: 100%; padding: 20vw 0 1px; overflow-y: auto; position: relative; -ms-overflow-style: none; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.header-navi-scroll::-webkit-scrollbar { display: none; }
.header-navi-items { width: 90vw; margin: 0 auto 10vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }
.header-navi-item { width: 47.5%; position: relative; }
.header-navi-item.full { width: 100%; }
.header-navi-item-title { padding: 4vw 2vw; color: #fff; border-bottom: 1px solid #85c8bd; position: relative; display: block; cursor: pointer; }
.header-navi-item-title:after { content: '\f105'; color: #f9f6f6; font-size: 3.95vw; font-family: 'icon'; position: absolute; top: 50%; right: 2vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-navi-item-title .en { margin-bottom: 1vw; font-size: 6.58vw; font-family: "Lato"; font-weight: 400; letter-spacing: 0.2vw; display: block; }
.header-navi-item-title .jp { font-size: 3.29vw; display: block; }
.header-navi-sub-items { width: 90vw; padding: 0 2vw 4vw; margin: 0 auto 8vw; border-bottom: 1px solid #85c8bd; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }
.header-navi-sub-items li {width: 49%;padding-left: 5vw;margin-bottom: 5vw;font-size: 3.4vw;font-weight: bold;position: relative;}
.header-navi-sub-items li:before { content: ''; width: 3.5vw; height: 1px; background: #65e8ce; position: absolute; top: 50%; left: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.header-navi-sub-items a { color: #fff; }
.header-navi-button-items { width: 90vw; margin: 0 auto 8vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }
.header-navi-button-items li { width:48%; height: 15vw; text-align: center; }
.header-navi-button-items li.faq a { background: var(--green02); }
.header-navi-button-items li.faq .icon { width: 4.6vw; height: 4.6vw; background: url(../images/icon-faq.png) no-repeat center; background-size: 100%; }
.header-navi-button-items li.counseling a { background: #87804a; }
.header-navi-button-items li.contact a { background: #cac49c; }
.header-navi-button-items a { width: 100%; height: 100%; padding-top: 3vw; color: #fff; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
.header-navi-button-items .icon { margin: 0 auto 1vw; font-size: 4.47vw; display: block; }
.header-navi-button-items .title { font-size: 3.95vw; font-weight: bold; display: block; }
.header-navi-tel { margin-bottom: 100px; text-align: center; }
.header-navi-tel .number { padding-left: 11vw; margin: 0 auto 2.5vw; color: #fff; font-size: 7.63vw; font-family: "Lato"; font-weight: 400; letter-spacing: 0.4vw; background: url(../images/icon-tollfree-white.png) no-repeat top 1vw left; background-size: 9vw; display: table; }
.header-navi-tel .opening { color: #fff; font-size: 3.68vw; line-height: 1.6; }
.animation { opacity: 0; visibility: hidden; -moz-transform: translateY(5px); -ms-transform: translateY(5px); -webkit-transform: translateY(5px); transform: translateY(5px); -moz-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.6s cubic-bezier(0.76, 0, 0.24, 1); }

.header-navi-open { width: 100%; height: 100%; position: fixed; }
.header-navi-open .header-navi-button { background: #fff; border-color: #fff; }
.header-navi-open .line-top { top: 5vw; -moz-transform: rotate(40deg); -ms-transform: rotate(40deg); -webkit-transform: rotate(40deg); transform: rotate(40deg); }
.header-navi-open .line-bottom { top: 5vw; -moz-transform: rotate(-40deg); -ms-transform: rotate(-40deg); -webkit-transform: rotate(-40deg); transform: rotate(-40deg); }
.header-navi-open .header-navi { opacity: 1; visibility: visible; }
.header-navi-open .animation { opacity: 1; visibility: visible; -moz-transform: translateY(0); -ms-transform: translateY(0); -webkit-transform: translateY(0); transform: translateY(0); }
.header-navi-open .animation01 { -moz-transition-delay: 0.1s; -o-transition-delay: 0.1s; -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }
.header-navi-open .animation02 { -moz-transition-delay: 0.2s; -o-transition-delay: 0.2s; -webkit-transition-delay: 0.2s; transition-delay: 0.2s; }
.header-navi-open .animation03 { -moz-transition-delay: 0.3s; -o-transition-delay: 0.3s; -webkit-transition-delay: 0.3s; transition-delay: 0.3s; }
.header-navi-open .animation04 { -moz-transition-delay: 0.4s; -o-transition-delay: 0.4s; -webkit-transition-delay: 0.4s; transition-delay: 0.4s; }
.header-navi-open .animation05 { -moz-transition-delay: 0.5s; -o-transition-delay: 0.5s; -webkit-transition-delay: 0.5s; transition-delay: 0.5s; }
.header-navi-open .animation06 { -moz-transition-delay: 0.6s; -o-transition-delay: 0.6s; -webkit-transition-delay: 0.6s; transition-delay: 0.6s; }
.header-navi-open .animation07 { -moz-transition-delay: 0.7s; -o-transition-delay: 0.7s; -webkit-transition-delay: 0.7s; transition-delay: 0.7s; }
.header-navi-open .animation08 { -moz-transition-delay: 0.8s; -o-transition-delay: 0.8s; -webkit-transition-delay: 0.8s; transition-delay: 0.8s; }

/* hero sp
----------------------------------------------- */
.hero { width: 100%; position: relative; }

.top-hero-content { padding-bottom: 52vw; position: relative; }
.top-hero-items { width: 100%; margin: auto; position: initial; }
.top-hero-items .slick-dots { z-index: 3; bottom: 8vw; }
.top-hero-item-image { width: 100%; position: relative; }
.top-hero-item-image img { width: 100%; position: relative; }
.top-hero-text { width: 95vw; padding: 8vw 0 20vw; text-align: center; background: #fff; -moz-border-radius: 20px 20px 0 0; -webkit-border-radius: 20px; border-radius: 20px 20px 0 0; z-index: 1; position: absolute; bottom: 0; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top-hero-hospital-items { width: 100%; z-index: 1; position: absolute; top: -3vw; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; }
.top-hero-hospital-items li { padding: 2vw 4vw 1.5vw; margin: 0 1.5vw; color: #87804a; font-size: 3.95vw; font-weight: bold;  background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, #e7e3ca), color-stop(50%, #fdf9eb), color-stop(100%, #e7e3ca)); background: -moz-linear-gradient(left, #e7e3ca, #fdf9eb, #e7e3ca); background: -webkit-linear-gradient(left, #e7e3ca, #fdf9eb, #e7e3ca); background: linear-gradient(to right, #e7e3ca, #fdf9eb, #e7e3ca); -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
.top-hero-subtitle { color: var(--green02); font-size: 7.24vw; font-weight: bold; line-height: 1.4; }
.top-hero-title { padding-top: 6vw; margin-top: 5vw; font-size: 3.42vw; position: relative; }
.top-hero-title:before { content: ''; width: 12vw; height: 1px; background: #c5c5c4; position: absolute; top: 0; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top-hero-deco { width: 100%; color: #fff; font-size: 7.89vw; font-family: "Lato"; font-weight: 400; letter-spacing: 0.6vw; opacity: 0.5; z-index: 0; position: absolute; top: -6.5vw; left: 0; }

.second-hero { height: 58vw; background: url(../images/second-hero-bg.jpg) no-repeat center; background-size: cover; position: relative; }
.second-hero-title { width: 100%; color: #333; text-align: center; position: absolute; top: 50%; left: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.second-hero-title .en { margin-bottom: 2vw; color: var(--green02); font-size: 11.32vw; font-family: "Lato"; font-weight: 400; letter-spacing: 0.6vw; display: block; }
.second-hero-title .jp { font-size: 3.42vw; font-weight: bold; display: block; }

/* bread sp
----------------------------------------------- */
.breadcrumb { padding: 3vw 0 2.5vw; background: var(--green01); z-index: 1; position: relative; }
.breadcrumb-items { width: 90vw; margin: 0 auto; font-size: 0; }
.breadcrumb-items li { font-size: 3.16vw; position: relative; display: inline-block; }
.breadcrumb-items li:after { content: "\f105"; margin: 0 2.5vw 0 1.5vw; font-weight: normal; font-family: 'icon'; display: inline-block; }
.breadcrumb-items li:last-child:after { display: none; }
.breadcrumb-items li:last-child a { color: var(--green02); font-weight: bold; }
.breadcrumb-items a { display: inline-block; }

/* footer sp
----------------------------------------------- */
.footer { width: 100%; padding: 15vw 0 12vw; background: var(--green01); z-index: 1; position: relative; }
.footer-logo { width: 50vw; margin: 0 auto 6vw; }
.footer-logo img { width: 100%; }
.footer-tel { padding-left: 12vw; margin: 0 auto 2.5vw; font-size: 7.63vw; font-family: "Lato"; font-weight: 400; letter-spacing: 0.4vw; background: url(../images/icon-tollfree.png) no-repeat center left; background-size: 10vw; display: table; }
.footer-open { margin-bottom: 4vw; font-size: 3.68vw; text-align: center; line-height: 1.6; letter-spacing: 0.2vw; }
.footer-button-items { width: 90vw; margin: 0 auto 8vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }
.footer-button-items li { width:48%; height: 15vw; text-align: center; }
.footer-button-items li.faq a { background: var(--green02); }
.footer-button-items li.faq .icon { width: 4.6vw; height: 4.6vw; background: url(../images/icon-faq.png) no-repeat center; background-size: 100%; }
.footer-button-items li.counseling a { background: #87804a; }
.footer-button-items li.contact a { background: #cac49c; }
.footer-button-items a { width: 100%; height: 100%; padding-top: 3vw; color: #fff; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
.footer-button-items .icon { margin: 0 auto 1vw; font-size: 4.47vw; display: block; }
.footer-button-items .title { font-size: 3.95vw; font-weight: bold; display: block; }

.footer-navi { width: 90vw; margin: 0 auto 8vw; }
.footer-navi-title { padding: 4vw 2vw 3.5vw; color: var(--green02); font-size: 6.05vw; font-family: "Lato"; font-weight: 400; letter-spacing: 0.4vw; border-bottom: 1px solid #d3d3d3; position: relative; }
.footer-navi-title.open .plus:after { -moz-transform: translate(-50%, -50%) rotate(90deg); -ms-transform: translate(-50%, -50%) rotate(90deg); -webkit-transform: translate(-50%, -50%) rotate(90deg); transform: translate(-50%, -50%) rotate(90deg); }
.footer-navi-title .plus { width: 2.5vw; height: 2.5vw; position: absolute; top: 50%; right: 2vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.footer-navi-title .plus:before { content: ''; width: 100%; height: 2px; background: var(--green02); position: absolute; top: 50%; left: 50%; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.footer-navi-title .plus:after { content: ''; width: 2px; height: 100%; background: var(--green02); position: absolute; top: 50%; left: 50%; -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1); }
.footer-navi-items { width: 100%; display: none; }
.footer-navi-items li { width: 100%; font-size: 3.68vw; line-height: 1.4; border-bottom: 1px solid #d3d3d3; position: relative; }
.footer-navi-items li:after { content: '\f105'; color: var(--green02); font-size: 3.68vw; font-family: 'icon'; position: absolute; top: 50%; right: 2.5vw; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.footer-navi-items a { padding: 3.5vw 2vw; }
.footer-foot { position: relative; }
.footer-sub-items { width: 80vw; margin: 0 auto 5vw; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; }
.footer-sub-items li { margin-bottom: 2.5vw; font-size: 3.42vw; }
.footer-sub-items li:last-child:after { display: none; }
.footer-sub-items li:after { content: '|'; margin: 0 2vw; display: inline-block; }
.footer-sub-items a { display: inline-block; }
.copyright { padding: 3.5vw 0 3vw; color: #fff; font-size: 3.16vw; font-family: "Lato"; font-weight: 400; text-align: center; line-height: 1.4; letter-spacing: 0.2vw; background: var(--green02); display: block; }
.pagetop { width: 12vw; position: absolute; top: 13vw; right: 4vw; }
.pagetop img { width: 100%; }

.footer-fixed { width: 100%; opacity: 0; visibility: hidden; z-index: 8; position: fixed; bottom: 0; left: 0; -moz-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -o-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); -webkit-transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); transition: all 0.4s cubic-bezier(0.76, 0, 0.24, 1); }
.footer-fixed.active { opacity: 1; visibility: visible; }
.footer-fixed-items { width: 100%; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.footer-fixed-items li { width: calc(100% / 2); height: 12vw; text-align: center; }
.footer-fixed-items li.tel a { background: var(--green02); }
.footer-fixed-items li.tel .icon { width: 6vw; height: 6vw; background: url(../images/icon-tollfree-white.png) no-repeat center; background-size: 100%; top: -0.4vw; }
.footer-fixed-items li.counseling a { background: #87804a; }
.footer-fixed-items li.contact a { background: #cac49c; }
.footer-fixed-items a { width: 100%; height: 100%; padding-top: 2vw; color: #fff; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.footer-fixed-items .icon { margin-right: 1vw; font-size: 4.21vw; position: relative; display: block; }
.footer-fixed-items .title { font-size: 3.68vw; font-weight: bold; display: block; }

/* second sp
----------------------------------------------- */
.second { z-index: 1; position: relative; }
.second-text { width: 90vw; min-height: 100vw; padding: 10vw 0; margin: auto; }
.second-text p { margin-bottom: 4vw; font-size: 3.6vw; line-height: 1.8;  font-feature-settings: "palt"; letter-spacing: .05em;}


.modal-box{display: none;}
.modaal-content-container .modal-ttl{margin: 0 auto 6vw;display: block;font-size: 6vw;text-align: center;}
.modaal-content-container ul{width: 100%;}
.modaal-content-container li{width: 100%;margin-bottom: 4vw;padding-bottom: 4vw;border-bottom: 1px dotted #ccc;}
.modaal-content-container li:last-child{margin-bottom: 0;padding-bottom: 0;border-bottom: none;}
.modaal-content-container li p{text-align: center;line-height: 1.4;margin-bottom: 2vw}
.modaal-content-container li:last-child{margin-bottom: 0;}
.modaal-content-container li a{color: #fff;width: 100%;font-size: 5vw;padding: 4vw;position: relative;background:var(--green02);font-weight: 600}
.modaal-content-container li a span{font-feature-settings: "palt";text-align: center;display: block;}
.modaal-content-container li a:after{content: "\f105";font-family: 'icon';position: absolute;top: 50%;right: 3vw;-moz-transform:translate(0,-50%);-ms-transform:translate(0,-50%);-webkit-transform:translate(0,-50%);transform:translate(0,-50%);}




/* =============================================
pc-size
================================================*/
@media screen and (min-width: 736px) { 
/* default pc ----------------------------------------------- */
body { font-size: 15px; }
.sp { display: none; }
.pc { display: block; }
	
/* common pc ----------------------------------------------- */
.container {padding-top: 140px;}
.midashi01 { padding-top: 40px; margin-bottom:50px; }
.midashi01:before { width: 12px; height: 25px; left: calc(50% - 15px); }
.midashi01:after { width: 12px; height: 25px; right: calc(50% - 15px); }
.midashi01 .en { margin-bottom: 12px; font-size: 40px; letter-spacing: 2px; }
.midashi01 .jp { font-size: 15px; }
	
.midashi02 {padding-bottom: 20px; margin-bottom: 40px;font-size: 24px;}
.midashi02:before { width: 30px; height: 5px; left: calc(50% - 30px); }
.midashi02:after { width: 30px; height: 5px; right: calc(50% - 30px); }
.midashi02 span {font-size: 25px;}

.midashi03{font-size:16px;margin-bottom:60px;}
.midashi03 span{font-size:50px;}
.midashi03:after{bottom:-30px;}
	
.midashi04 {font-size: 30px;padding: 20px 0;margin-bottom: 50px;}
.midashi04 span{font-size: 14px;padding:5px 0;}
	
.midashi05{font-size:20px;padding: 12px 15px 12px 15px;margin-bottom: 30px;}
.midashi06{margin-bottom: 30px;padding: 15px 0;}

.more01{ min-width: 210px; padding: 15px 0 14px; font-size: 15px; }
.more01:after { width: 30px; right: -15px; }
	
ul.ast{margin-bottom:30px;}
ul.ast li { margin-bottom: 3px;}
	
div.mb20,p.mb20,ul.mb20,li.mb20,span.mb20,h2.mb20,h3.mb20,h4.mb20,h5.mb20,h6.mb20,table.mb20,img.mb20,dl.mb20,dt.mb20,dd.mb20 { margin-bottom: 10px ;}
div.mb40,p.mb40,ul.mb40,li.mb40,span.mb40,h2.mb40,h3.mb40,h4.mb40,h5.mb40,h6.mb40,table.mb40,img.mb40,dl.mb40,dt.mb40,dd.mb40 { margin-bottom: 40px ;}
div.mb60,p.mb60,ul.mb60,li.mb60,span.mb60,h2.mb60,h3.mb60,h4.mb60,h5.mb60,h6.mb60,table.mb60,img.mb60,dl.mb60,dt.mb60,dd.mb60 { margin-bottom: 60px ;}
div.mb80,p.mb80,ul.mb80,li.mb80,span.mb80,h2.mb80,h3.mb80,h4.mb80,h5.mb80,h6.mb80,table.mb80,img.mb80,dl.mb80,dt.mb80,dd.mb80 { margin-bottom: 80px ;}
div.mb100,p.mb100,ul.mb100,li.mb100,span.mb100,h2.mb100,h3.mb100,h4.mb100,h5.mb100,h6.mb100,table.mb100,img.mb100,dl.mb100,dt.mb100,dd.mb100 { margin-bottom: 100px;}
div.mb120,p.mb120,ul.mb120,li.mb120,span.mb120,h2.mb120,h3.mb120,h4.mb120,h5.mb120,h6.mb120,table.mb120,img.mb120,dl.mb120,dt.mb120,dd.mb120 { margin-bottom: 120px;}
	
	
/* header pc ----------------------------------------------- */
.header {height: 140px;}
.pc-header { width: 100%; height: 100%; }
.pc-header-content {width: 96%;max-width: 1200px;height: 100%;padding-top: 10px;padding-bottom: 10px;margin: auto;position: relative;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-align-items: center;align-items: center;}
.pc-header-logo {width: 23%;margin-right: auto;}
.pc-header-logo img { width: 100%; }
.pc-header-tel { margin-right: 5px; text-align: right; }
.pc-header-tel .number { margin-left: auto; padding-left: 26px; margin-bottom: 5px; font-size: 18px; font-family: "Lato"; font-weight: 400; letter-spacing: 1px; background: url(../images/icon-tollfree.png) no-repeat top 3px left; background-size: 20px; display: table; }
.pc-header-tel .opening {font-size: 10px;display: none;}
.pc-header-button-items {width: 46%;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;}
.pc-header-button-items li {width:48%;height: 35px;margin-left: 4px;text-align: center;}
.pc-header-button-items li.faq a { background: var(--green02); }
.pc-header-button-items li.faq .icon { width: 18px; height: 18px; background: url(../images/icon-faq.png) no-repeat center; background-size: 100%; top: -1px; }
.pc-header-button-items li.counseling a {background:#87804a;}
.pc-header-button-items li.contact a { background: #cac49c; }
.pc-header-button-items a { width: 100%; height: 100%; padding-top: 2px; color: #fff; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.pc-header-button-items .icon { margin-right: 4px; font-size: 19px; position: relative; display: block; }
.pc-header-button-items .title {font-size: 12px;font-weight: bold;display: block;}
.pc-header-navi {width: 100%;height: auto;}
.pc-header-navi-items {width: 100%;height: 100%;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;}
.pc-header-navi-item {font-size: 15px;font-weight: bold;position: relative;width: 20%;}
.pc-header-navi-item.current, .pc-header-navi-item:hover { font-weight: bold; }
.pc-header-navi-item.current:after, .pc-header-navi-item:hover:after { width: 60%; }
.pc-header-navi-item.current a, .pc-header-navi-item:hover a { opacity: 1; }
.pc-header-navi-item:before { content: ''; width: 1px; height: 14px; background: #000; position: absolute; top: 50%; left: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.pc-header-navi-item:after {content: '';width: 0;height: 3px;background: var(--green02);position: absolute;bottom: 0;left: 50%;-moz-transform: translateX(-50%);-ms-transform: translateX(-50%);-webkit-transform: translateX(-50%);transform: translateX(-50%);-moz-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);-o-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);-webkit-transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);transition: all 0.3s cubic-bezier(0.76, 0, 0.24, 1);}
.pc-header-navi-item a {width: 100%;height: 100%;padding: 8px 20px;text-align: center;}
	
/* hero pc ----------------------------------------------- */
.top-hero-content { padding-bottom: 0; }
.top-hero-items .slick-dots {width: 200px;text-align: right;bottom: 48px;left: 240px;}
.top-hero-items .slick-dots li {width: 12px;height: 12px;margin: 0 5px;}
.top-hero-item-image { min-width: 2000px; position: relative; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top-hero-text {width: 470px;padding: 40px 35px 50px 20px;text-align: left;background: none;left: 0;transform: inherit;}
.top-hero-text:before { content: ''; width: 100vw; height: 100%; background: #fff; -moz-border-radius: 0 30px 0 0; -webkit-border-radius: 0; border-radius: 0 30px 0 0; z-index: -1; position: absolute; top: 0; right: 0; }
.top-hero-hospital-items {top: -14px;left: 20px;-webkit-justify-content: flex-start;justify-content: flex-start;-moz-transform: translateX(0);-ms-transform: translateX(0);-webkit-transform: translateX(0);transform: translateX(0);}
.top-hero-hospital-items li { padding: 6px 15px; margin: 0 10px 0 0; font-size: 18px; }
.top-hero-subtitle { margin-bottom: 15px; font-size: 35px; }
.top-hero-comment { font-size: 15px; line-height: 1.8; }
.top-hero-title { padding-top: 25px; margin-top: 20px; font-size: 12px; }
.top-hero-title:before { width: 100%; }
.top-hero-deco { font-size: 65px; letter-spacing: 4px; top: -118px; }
.second-hero { height: 350px; background: url(../images/second-hero-bg-pc.jpg) no-repeat center; background-size: cover; }
.second-hero-title .en { margin-bottom: 15px; font-size: 65px; letter-spacing: 6px; }
.second-hero-title .jp { font-size: 16px; }
	
/* bread pc ----------------------------------------------- */
.breadcrumb { padding: 15px 0 12px; }
.breadcrumb-items {max-width: 1200px;width: 96%;}
.breadcrumb-items li { font-size: 14px; }
.breadcrumb-items li:after { margin: 0 12px 0 10px; }
	
/* footer pc ----------------------------------------------- */
.footer {padding: 80px 0 0;}
.footer-content {width: 96%;max-width: 1200px;margin: 0 auto;position: relative;}
.footer-logo {width: 240px;margin-bottom: 20px;}
.footer-tel { padding-left: 42px; margin-bottom: 12px; font-size: 28px; letter-spacing: 2px; background-size: 36px; }
.footer-open { margin-bottom: 20px; font-size: 14px; letter-spacing: 1px; }
.footer-button-items { width: 100%; margin-bottom: 40px; -webkit-justify-content: center; justify-content: center; }
.footer-button-items li { width:180px; height: 35px; margin: 0 3px; font-size: 15px; }
.footer-button-items li.faq .icon { width: 18px; height: 18px; margin-right: 2px; }
.footer-button-items a { padding-top: 1px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.footer-button-items .icon { margin: 0 5px 0 0; font-size: 17px; }
.footer-button-items .title { font-size: 15px; font-weight: bold; display: block; }
.footer-navi {width: 96%;max-width: 1040px;margin: 0 auto 50px;}
.footer-navi-inner { 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: flex-start; align-items: flex-start; }
.footer-navi-box {width: 47%;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: flex-start;align-items: flex-start;}
.footer-navi-title { width: 100%; padding: 0; margin-bottom: 25px; font-size: 25px; letter-spacing: 2px; border: none; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.footer-navi-title:after { content: ''; height: 1px; margin-left: 20px; background: #d3d3d3; flex: 1; }
.footer-navi-items { width: auto; min-width: 140px; display: block; }
.footer-navi-items li { padding-left: 15px; margin-bottom: 14px; font-size: 14px; border: none; }
.footer-navi-items li:after { content: ''; width: 8px; height: 1px; background: var(--green02); position: absolute; top: 9px; left: 0; }
.footer-navi-items a { padding: 0; }
.footer-foot { padding: 12px 0 10px; background: var(--green02); }
.footer-foot-content {width: 96%;max-width: 1200px;margin: auto;position: relative;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;}
.footer-sub-items { width: auto; margin: 0; -webkit-justify-content: flex-start; justify-content: flex-start; }
.footer-sub-items li {margin: 0;color: #fff;font-size: 13px;}
.footer-sub-items li:after { margin: 0 8px; }
.footer-sub-items a { color: #fff; }
.copyright {padding: 0;font-size: 11px;line-height: 1;letter-spacing: 1px;}
.pagetop { width: 58px; top: -10px; right: 0; }
	
/* second pc ----------------------------------------------- */
.second-text {width: 96%;max-width: 1200px;min-height: 600px;padding: 60px 0 100px;}
.second-text p { margin-bottom: 30px; font-size: 15px; }
	
.modaal-content-container .modal-ttl{margin: 0 auto 40px;font-size:30px;}
.modaal-content-container ul{width: 80%;margin: auto;}
.modaal-content-container li{width: 100%;margin-bottom: 20px;padding-bottom: 20px;}
.modaal-content-container li p{margin-bottom: 10px;}
.modaal-content-container li:last-child{margin-bottom: 0;}
.modaal-content-container li a{width: 100%;font-size: 24px;padding: 20px;}
.modaal-content-container li a span{display: block;}
}


@media screen and (min-width: 1200px) {
.pcx { display: block; }
.container{padding-top:110px;}
.header{height:110px;}
.pc-header-logo{width:235px;}
.pc-header-button-items{width:auto;}
.pc-header-tel .opening{display:block;}
.pc-header-button-items li{width:200px;}
.pc-header-button-items .title{font-size:15px;}
.pc-header-navi-item:first-child:before { display: none; }
.pc-header-navi-items{ -webkit-align-items: center;align-items: center;}
.pc-header-navi-item{width:auto;}
.pc-header-navi-item a {width: 100%;height: 100%;padding: 8px 10px;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-align-items: center;align-items: center;}
.pc-header-navi-item:before{left: -14px;}

.footer-navi-box { width: 330px; }
.footer-navi-box:first-child { width: 600px; }

.top-hero-text{width: 470px;left: calc(50% - 600px);-moz-transform: translateX(0);-ms-transform: translateX(0);-webkit-transform: translateX(0);transform: translateX(0);padding: 40px 35px 50px 20px;}
.top-hero-text:before{ width: 50vw;}
.top-hero-items .slick-dots{width: 150px;left: calc(50% - 310px);}
}
	
/* retina用 ----------------------------------------------- */ 
@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) { .pc-header-tel .number { background: url(../images/icon-tollfree@2x.png) no-repeat top 3px left; background-size: 20px; }
.pc-header-button-items li.faq .icon { background: url(../images/icon-faq@2x.png) no-repeat center; background-size: 100%; }
.second-hero { background: url(../images/second-hero-bg-pc@2x.jpg) no-repeat center; background-size: cover; }
.footer-tel { background: url(../images/icon-tollfree@2x.png) no-repeat center left; background-size: 36px; }
.footer-button-items li.faq .icon { background: url(../images/icon-faq@2x.png) no-repeat center; background-size: 100%; } 
}
