@charset "utf-8";


.cf:before, .cf:after { content:""; display:table; }
.cf:after { clear:both; }
.cf { *zoom: 1; }

.dn-pc { display:none !important; }
.dn-pc2 { display:none !important; }
.dn-sp { display:block !important; }
.dn-sp2 { display:inline-block !important; }
.hidden { display:none !important; }
.lcp { opacity:1 !important; transform:none !important; transition:none !important; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; clip:rect(0 0 0 0); overflow:hidden; }

@media screen and (max-width:899px){
.dn-pc { display:block !important; }
.dn-pc2 { display:inline-block !important; }
.dn-sp { display:none !important; }
.dn-sp2 { display:none !important; }
}

*, *::before, *::after { box-sizing:border-box; }




/* ----------------------------------------------
 ! normalize
 ---------------------------------------------- */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

html { font-family:sans-serif; -ms-text-size-adjust:100%; -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { line-height:1; background:#fff; font-size:1em; color:#000; }

/* html5 format */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary { display: block; }

audio,
canvas,
progress,
video { display:inline-block; vertical-align:baseline; }

audio:not([controls]) { display:none; height:0; }

a { background-color:transparent; }
a:active,
a:hover { outline:0; }

b,
strong { font-weight:600; }

small { font-size:80%; }

sub,
sup { font-size:75%; line-height:0; position:relative; vertical-align:baseline; }

sup { top:-0.5em; }
sub { bottom:-0.25em; }

img { border:0; vertical-align:middle; }

hr { -moz-box-sizing:content-box; box-sizing:content-box; height:0; }

pre { overflow:auto; }

code,
kbd,
pre,
samp { font-family:monospace, monospace; font-size:1em; }

table { border-collapse:collapse; border-spacing:0; }

td,
th { padding:0; }




/* ----------------------------------------------
 ! Base
 ---------------------------------------------- */

body { width:100%; overflow-x:hidden; font-family:"Zen Kaku Gothic New", sans-serif; font-optical-sizing:auto; font-weight:400; font-style:normal; }
#content {}
.font-en { font-family:"Lora", serif; font-optical-sizing:auto; font-weight:400; font-style:normal; }

@media screen and (min-width:1380px){
body { min-width:1380px; }
#content {}
}

@media screen and (max-width:899px){
body { min-width:280px; }
#content {}
}




/* ----------------------------------------------
 ! Fonts
 ---------------------------------------------- */

/* ===== Zen Kaku Gothic New ===== */
@font-face {
  font-family:'Zen Kaku Gothic New';
  src:url('../fonts/zen-kaku-gothic-new-v18-japanese-regular.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

@font-face {
  font-family:'Zen Kaku Gothic New';
  src:url('../fonts/zen-kaku-gothic-new-v18-japanese-700.woff2') format('woff2');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}

/* archivo-narrow-regular - latin */
@font-face {
  font-family:'Archivo Narrow';
  font-style:normal;
  font-weight:400;
  src:url('../fonts/archivo-narrow-v35-latin-regular.woff2') format('woff2');
  font-display:swap;
}
/* archivo-narrow-600 - latin */
@font-face {
  font-family:'Archivo Narrow';
  font-style:normal;
  font-weight:600;
  src:url('../fonts/archivo-narrow-v35-latin-600.woff2') format('woff2');
  font-display:swap;
}




/* ----------------------------------------------
 ! Animation
 ---------------------------------------------- */

.fade {
  transform: translateY(20px);
  opacity: 0;
  transition: all 0.8s ease;
}
.fade.active {
  transform: translateY(0);
  opacity: 1;
}




/* ----------------------------------------------
 ! Slider
 ---------------------------------------------- */

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list { position:relative; display:block; overflow:hidden; margin:0; padding:0; }
.slick-list:focus { outline:none; }
.slick-list.dragging { cursor:pointer; cursor:hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track { position:relative; top:0; left:0; display:block; margin-left:auto; margin-right:auto; }
.slick-track:before,
.slick-track:after { display:table; content:''; }
.slick-track:after { clear:both; }
.slick-loading .slick-track { visibility:hidden; }
.slick-slide { display:none; float:left; height:100%; min-height:1px; }
[dir='rtl'] .slick-slide { float:right; }
.slick-slide img { display:block; }
.slick-slide.slick-loading img { display:none; }
.slick-slide.dragging img { pointer-events:none; }
.slick-initialized .slick-slide { display:block; }
.slick-loading .slick-slide { visibility:hidden; }
.slick-vertical .slick-slide { display:block; height:auto; border:1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }




/* ----------------------------------------------
 ! header
 ---------------------------------------------- */

body {}
body.clicked-nav { height:100vh; overflow:hidden; }
header {}
#header-wrap { height:28.2vw; position:relative; }
#header-logo { width:30.77vw; margin:0 auto; padding:5.13vw 0 0; z-index:99991; }
#header-logo a { display:block; text-decoration:none; }
#header-logo a img { width:100%; height:auto; }
#header-txt { display:block; line-height:1.5; padding:1.54vw 0 0 4.1vw; font-size:1.54vw; color:#666; font-weight:normal; }

@media screen and (max-width:899px){
#header-txt { position:absolute; top:0; left:0; }
}
@media screen and (min-width:900px){
header {}
#header-wrap { height:10.87vw; margin:0 auto; }
#header-logo { width:13.04vw; margin:2.9vw 0 0 2.9vw; padding:0; }
#header-logo a {}
#header-logo a:hover { opacity:0.7; transition:1s ease; }
#header-txt { display:block; position:absolute; top:-2.17vw; left:2.9vw; padding:0; font-size:0.87vw; color:#1f1f1f; }
}
@media screen and (min-width:1380px){
header {}
#header-wrap { width:1380px; height:150px; }
#header-logo { width:180px; margin:40px 0 0 40px; padding:0; }
#header-logo a {}
#header-logo a:hover {}
#header-txt { top:-30px; left:40px; font-size:12px; }
}




#header-nav {}
#header-nav-menu { position:fixed; top:0; left:100%; width:calc(100% - 7.69vw); height:100%; background:rgba(46,112,176,1); overflow-y:scroll; margin:0 0 0 7.69vw; padding:0 0 15.38vw; transition:all 0.4s linear; z-index:99998; }
#header-nav-menu.clicked { left:0; transition:all 0.2s linear; }

@media screen and (min-width:900px){
#header-nav {}
#header-nav-menu { position:absolute; top:5.8vw; left:auto; right:2.9vw; width:79.71vw; height:auto; background:none; overflow:visible; margin:0; padding:0; }
}
@media screen and (min-width:1380px){
#header-nav {}
#header-nav-menu { top:80px; right:40px; width:1100px; }
}




#btn-main-navi { position:absolute; position:fixed; top:0; right:0; width:11.54vw; height:11.54vw; background:#2E70B0; border:none; text-align:center; transition:all 0.4s linear; z-index:99999; }
#btn-main-navi span:nth-child(1) { position:absolute; top:3.59vw; left:2.56vw; width:7.18vw; height:0.51vw; background:#fff; }
#btn-main-navi span:nth-child(2) { position:absolute; top:5.64vw; left:2.56vw; width:7.18vw; height:0.51vw; background:#fff; }
#btn-main-navi span:nth-child(3) { position:absolute; top:7.69vw; left:2.56vw; width:7.18vw; height:0.51vw; background:#fff; }
#btn-main-navi b { position:absolute; top:12.3vw; left:50%; width:100%; margin:0 0 0 -50%; font-size:2.56vw; color:#2E70B0; font-weight:400; font-family:'Archivo Narrow'; font-style:normal; text-shadow:1px 1px 0 #fff; letter-spacing:0.08em; }
#btn-main-navi b i { font-style:normal; }
#btn-main-navi b i:last-child { display:none; }
.btn-hn-on {}
.btn-hn-on b { color:#fff !important; text-shadow:none !important; }
.btn-hn-on b i:first-child { display:none; transition:all 0.2s linear; }
.btn-hn-on b i:last-child { display:block !important; transition:all 0.2s linear; }
.btn-hn-on span:nth-child(1) { top:5.515vw !important; left:1.54vw !important; width:8.34vw !important; background:#fff !important; transform:rotate(45deg); transition:all 0.2s linear; }
.btn-hn-on span:nth-child(2) { display:none; }
.btn-hn-on span:nth-child(3) { top:5.515vw !important; left:1.54vw !important; width:8.34vw !important; background:#fff !important; transform:rotate(-45deg); transition:all 0.2s linear; }

@media screen and (min-width:900px){
#btn-main-navi { display:none; }
}
@media screen and (min-width:1380px){
#btn-main-navi {}
}




.clicked-nav { position:relative; }
.clicked-nav:after { content:""; position:fixed; top:0; left:0; width:100%; height:calc(100% - 15.38vw); background:rgba(0,0,0,0.4); z-index:9997; }
.clicked-nav #header-wrap { background:none; }




#header-nav-ul { padding:12.82vw 10.25vw 10.25vw; }
#header-nav-ul > li { border-bottom:1px #6D9BC8 solid; list-style:none; position:relative; }
#header-nav-ul > li > a,
#header-nav-ul > li > mark { display:flex; align-items:center; height:14.1vw; line-height:1.5; padding:0 8.97vw 0 0; font-size:3.85vw; color:#fff; font-weight:600; text-decoration:none; position:relative; }
#header-nav-ul > li > a:before { content:""; position:absolute; top:50%; right:0; width:1.54vw; height:0.51vw; background:#fff; transform:rotate(45deg); transform-origin:right top; }
#header-nav-ul > li > a:after { content:""; position:absolute; bottom:50%; right:0; width:1.54vw; height:0.51vw; background:#fff; transform:rotate(-45deg); transform-origin:right bottom; }

@media screen and (min-width:900px){
#header-nav-ul { display:flex; flex-flow:row nowrap; justify-content:space-between; margin:0; padding:0; position:relative; }
#header-nav-ul > li { border-bottom:none; position:relative; }
#header-nav-ul > li:not(:first-child)::after { content:""; position:absolute; top:calc(50% - 0.65vw); left:-0.43vw; width:0.07vw; height:1.3vw; background:#1f1f1f; transform:none; }
#header-nav-ul > li > a, 
#header-nav-ul > li > mark { display:block; height:auto; padding:0.72vw 0.87vw; font-size:1.09vw; color:#1f1f1f; position:relative; }
#header-nav-ul > li > a:before { display:none; }
#header-nav-ul > li > a:after { display:none; }
#header-nav-ul > li.dn-annai > mark { padding:0.72vw 1.74vw 0.72vw 0.87vw; }
#header-nav-ul > li.dn-annai > mark:before { content:""; position:absolute; top:calc(50% - 0.14vw); right:0.58vw; width:0.14vw; height:0.36vw; background:#1f1f1f; transform:rotate(45deg); transform-origin:right bottom; }
#header-nav-ul > li.dn-annai > mark:after { content:""; position:absolute; top:calc(50% - 0.14vw); right:0.58vw; width:0.14vw; height:0.36vw; background:#1f1f1f; transform:rotate(-45deg); transform-origin:left bottom; }
#header-nav-ul > li > a:hover, 
#header-nav-ul > li > mark:hover { color:#357cab; transition:0.6s ease; cursor:pointer; }
#header-nav-ul > li > a:hover::before, 
#header-nav-ul > li > mark:hover::before { opacity:1; transition:0.6s ease; }
}
@media screen and (min-width:1380px){
#header-nav-ul {}
#header-nav-ul > li {}
#header-nav-ul > li:not(:first-child)::after { top:calc(50% - 9px); left:-6px; width:1px; height:18px; }
#header-nav-ul > li > a, 
#header-nav-ul > li > mark { padding:10px 12px; font-size:15px; }
#header-nav-ul > li > a:before {}
#header-nav-ul > li > a:after {}
#header-nav-ul > li.dn-annai > mark { padding:10px 24px 10px 12px; }
#header-nav-ul > li.dn-annai > mark:before { top:calc(50% - 2px); right:8px; width:2px; height:5px; }
#header-nav-ul > li.dn-annai > mark:after { top:calc(50% - 2px); right:8px; width:2px; height:5px; }
}




.header-ul-sub {}
.header-ul-sub li { list-style:none; position:relative; }
.header-ul-sub li a { display:flex; align-items:center; height:11.28vw; line-height:1.5; padding:0 0 0 7.69vw; font-size:3.59vw; color:#fff; text-decoration:none; position:relative; }
.header-ul-sub li a:before { content:""; position:absolute; top:50%; left:4.1vw; width:1.28vw; height:0.51vw; background:#fff; }

@media screen and (max-width:899px){
.header-ul-sub { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.header-ul-sub-on { max-height:100svh; }
.btn-hd-sub-open { position:absolute; top:0; right:0; width:84.84vw; height:13.84vw; }
.btn-hd-sub-open:before { content:""; position:absolute; top:50%; right:0; width:2.05vw; height:0.51vw; background:#fff; }
.btn-hd-sub-open:after { content:""; position:absolute; top:50%; right:0; width:2.05vw; height:0.51vw; background:#fff; transform:rotate(90deg); }
.btn-hs-on:after { display:none; transition:all 0.2s linear; }
}
@media screen and (min-width:900px){ 
.btn-hd-sub-open { display:none; }
.btn-hs-on:after {}
.header-ul-sub { opacity:0; max-height:0; overflow:hidden; pointer-events:none; transition:max-height .25s ease, opacity .25s ease; display:flex; flex-flow:row wrap; position:absolute; top:40px; right:0; width:550px; background:rgba(46,112,176,0.92); z-index:99999; }
.header-ul-sub-on { opacity:1; max-height:100svh; pointer-events:auto; }
.header-ul-sub p { display:block; height:auto; border-top:none; border-bottom:1px #999 solid; margin:0 2.9vw; padding:0 0 1.45vw; font-size:1.01vw; color:#357cab; font-weight:600; }
#header-nav-ul > li:last-child .header-ul-sub { right:0; }
.header-ul-sub li { width:50%; border-bottom:1px #eee solid; }
.header-ul-sub li:nth-child(odd) { border-right:1px #eee solid; }
.header-ul-sub li:nth-child(even) {}
.header-ul-sub li a:before { top:calc(50% - 0.07vw); left:0.72vw; width:0.36vw; height:0.14vw; }
.header-ul-sub li a { height:auto; padding:1.01vw 0 1.01vw 1.74vw; font-size:1.01vw; color:#fff; position:relative; }
.header-ul-sub li a:hover { background:#fff; color:#2E70B0; transition:0.6s ease; }
.header-ul-sub li a:hover::before { background:#2E70B0; transition:0.6s ease; }
}
@media screen and (min-width:1380px){
.btn-hd-sub-open {}
.btn-hs-on:after {}
.header-ul-sub { top:40px; width:550px; }
.header-ul-sub-on {}
.header-ul-sub p { margin:0 2.9vw; padding:0 0 1.45vw; font-size:1.01vw; }
#header-nav-ul > li:last-child .header-ul-sub {}
.header-ul-sub li {}
.header-ul-sub li:nth-child(odd) {}
.header-ul-sub li:nth-child(even) {}
.header-ul-sub li a:before { top:calc(50% - 1px); left:10px; width:5px; height:2px; }
.header-ul-sub li a { padding:14px 0 14px 24px; font-size:14px; }
}




#header-link { padding:0 10.25vw 10.25vw; }
#header-link li { list-style:none; }
#header-link li:not(:last-child) { margin:0 0 2.56vw; }
#header-link li a { display:flex; justify-content:center; align-items:center; height:12.82vw; background:#fff; font-size:3.85vw; color:#2E70B0; font-weight:600; text-decoration:none; position:relative; }
#header-link li:nth-child(1) a {}
#header-link li:nth-child(1) a:before { content:""; position:absolute; top:50%; right:4.62vw; width:1.54vw; height:0.51vw; background:#2E70B0; transform:rotate(45deg); transform-origin:right top; }
#header-link li:nth-child(1) a:after { content:""; position:absolute; bottom:50%; right:4.62vw; width:1.54vw; height:0.51vw; background:#2E70B0; transform:rotate(-45deg); transform-origin:right bottom; }
#header-link li:nth-child(2) a { background:#fff url(../img/common/ico_mail01.svg) 24vw center/4.62vw auto no-repeat; }
#header-bnr { width:56.41vw; background:#fff; margin:0 auto 10.25vw; }
#header-bnr a { display:block; }
#header-bnr a img { width:100%; height:auto; }
#header-tel { display:none; }

@media screen and (min-width:900px){
#header-link { position:fixed; top:17.39vw; right:0; display:flex; flex-flow:column-reverse nowrap; box-shadow:0 0 4px 0 #fff; padding:0; }
#header-link li {}
#header-link li:not(:last-child) { margin:0; }
#header-link li a { width:4.35vw; height:13.77vw; padding:1.45vw 0 0; font-size:1.09vw; color:#fff; writing-mode:vertical-rl; letter-spacing:0.21vw; }
#header-link li:nth-child(1) a { background:#1C8DCB url(../img/common/ico_reserve_w.svg) center 2.54vw/1.01vw auto no-repeat; }
#header-link li:nth-child(1) a:before { display:none; }
#header-link li:nth-child(1) a:after { display:none; }
#header-link li:nth-child(2) a { background:#2E70B0 url(../img/common/ico_mail_w.svg) center 3.62vw/1.3vw auto no-repeat; }
#header-link li a:hover { opacity:0.7; transition:0.6s ease; }
#header-bnr { display:none; }
#header-tel { display:block; position:absolute; top:-1.45vw; right:2.9vw; }
#header-tel dt { background:url(../img/common/ico_0120.svg) left 0.43vw/2.17vw auto no-repeat; text-align:right; margin:0 0 0.72vw; padding:0 0 0 2.9vw; font-size:2.03vw; font-weight:700; }
#header-tel dd { line-height:1.5; text-align:right; font-size:0.87vw; }
}
@media screen and (min-width:1380px){
#header-link { top:240px; }
#header-link li {}
#header-link li a { width:60px; height:190px; padding:20px 0 0; font-size:15px; letter-spacing:3px; }
#header-link li:nth-child(1) a { background:#1C8DCB url(../img/common/ico_reserve_w.svg) center 35px/14px auto no-repeat; }
#header-link li:nth-child(2) a { background:#2E70B0 url(../img/common/ico_mail_w.svg) center 50px/18px auto no-repeat; }
#header-bnr {}
#header-tel { top:-20px; right:40px; }
#header-tel dt { background:url(../img/common/ico_0120.svg) left 6px/30px auto no-repeat; margin:0 0 10px; padding:0 0 0 40px; font-size:28px; }
#header-tel dd { font-size:12px; }
}




#bottom-nav { position:absolute; position:fixed; bottom:0; left:0; width:100%; z-index:99999; }
#bottom-nav ul { display:flex; flex-flow:row nowrap; box-shadow:0 0 0.77vw 0 #aaa; }
#bottom-nav li { width:calc(100% / 3); list-style:none; }
#bottom-nav li a { display:flex; flex-flow:column nowrap; justify-content:center; align-items:center; height:15.38vw; padding:6.15vw 0 0; font-size:3.07vw; color:#fff; text-decoration:none; }
#bottom-nav li:nth-child(1) a { background:#2e70b0 url(../img/common/ico_mail_w.svg) center 3.33vw/3.85vw auto no-repeat; }
#bottom-nav li:nth-child(2) a { background:#1c8dcb url(../img/common/ico_tel_w.svg) center 3.33vw/3.85vw auto no-repeat; }
#bottom-nav li:nth-child(3) a { background:#2e70b0 url(../img/common/ico_menu_w.svg) center 3.33vw/3.85vw auto no-repeat; }

@media screen and (min-width:900px){
#bottom-nav { display:none; }
}
@media screen and (min-width:1380px){

}




html #wpadminbar { position:fixed; }
body.admin-bar {}
body.admin-bar #btn-main-navi { top:46px; }
body.admin-bar #header-nav-menu { top:46px; }

@media screen and (min-width:900px) {
body.admin-bar {}
body.admin-bar #header-nav-menu { top:78px; }
}
@media screen and (min-width:1380px) {

}




/* ----------------------------------------------
 ! footer
 ---------------------------------------------- */

footer { background:#2e6faf url(../img/common/bg_fotter.webp) center top/cover no-repeat; padding:0 0 12.82vw; color:#fff; }
#footer-wrap { }

@media screen and (min-width:900px){
footer { padding:9.42vw 0 0; }
#footer-wrap { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:start; width:86.95vw; margin:0 auto; }
}
@media screen and (min-width:1380px){
footer { padding:130px 0 0; }
#footer-wrap { width:1200px; }
}




#footer-info { padding:12.82vw 5.13vw 0; }
#footer-logo { width:38.46vw; margin:0 auto; padding:0 0 10.25vw; }
#footer-logo img { width:100%; height:auto; }
#footer-ad { line-height:1.5; text-align:center; margin:0 auto 4.1vw; font-size:4.1vw; }
#footer-tel { line-height:1.5; text-align:center; margin:0 auto 2.05vw; font-size:4.1vw; }
#footer-closed { line-height:1.5; text-align:center; margin:0 auto 10.25vw; font-size:4.1vw; }

@media screen and (min-width:900px){
#footer-info { width:28.98vw; padding:0; }
#footer-logo { width:13.04vw; margin:0; padding:0 0 2.17vw; }
#footer-logo img {}
#footer-ad { text-align:left; margin:0 0 1.16vw; font-size:1.09vw; }
#footer-tel { text-align:left; margin:0 0 0.72vw; font-size:1.09vw; }
#footer-closed { text-align:left; margin:0; font-size:1.09vw; }
}
@media screen and (min-width:1380px){
#footer-info { width:400px; }
#footer-logo { width:180px; padding:0 0 30px; }
#footer-logo img {}
#footer-ad { margin:0 0 16px; font-size:15px; }
#footer-tel { margin:0 0 10px; font-size:15px; }
#footer-closed { font-size:15px; }
}




#footer-medical-hour { margin:0 5.13vw 10.25vw; }
#footer-medical-hour p { margin:0 0 4.1vw; font-size:4.1vw; }
#footer-medical-hour table { width:100%; background:#fff; border:2.05vw #fff solid; margin:0 0 5.13vw; color:#1f1f1f; }
#footer-medical-hour thead th { width:calc(100% / 7); text-align:center; border-bottom:1px #C2C2C2 solid; padding:2.05vw 0; font-size:3.07vw; font-weight:400; }
#footer-medical-hour thead th:not(:first-child) { border-left:1px #C2C2C2 solid; }
#footer-medical-hour td { text-align:center; padding:2.05vw 0; font-size:3.07vw; font-weight:400; }
#footer-medical-hour td:not(:first-child) { border-left:1px #C2C2C2 solid; }
#footer-medical-hour td span { display:inline-block; transform:rotate(90deg); margin:0 0 0 1.03vw; }
#footer-note {}
#footer-note li { line-height:1.6; padding:0 0 0 1rem; text-indent:-1rem; font-size:3.59vw; list-style:none; }

@media screen and (min-width:900px){
#footer-medical-hour { width:49.63vw; margin:0; }
#footer-medical-hour p { margin:0 0 1.16vw; font-size:1.16vw; }
#footer-medical-hour table { border:0.72vw #fff solid; margin:0 0 1.45vw; }
#footer-medical-hour thead th { padding:1.74vw 0; font-size:1.01vw; }
#footer-medical-hour td { padding:1.74vw 0; font-size:1.01vw; }
#footer-medical-hour td span { margin:0 0 0 0.29vw; }
#footer-note {}
#footer-note li { font-size:1.01vw; }
}
@media screen and (min-width:1380px){
#footer-medical-hour { width:685px; }
#footer-medical-hour p { margin:0 0 16px; font-size:16px; }
#footer-medical-hour table { border:10px #fff solid; margin:0 0 20px; }
#footer-medical-hour thead th { padding:24px 0; font-size:14px; }
#footer-medical-hour td { padding:24px 0; font-size:14px; }
#footer-medical-hour td span { margin:0 0 0 4px; }
#footer-note {}
#footer-note li { font-size:14px; }
}




#footer-nav {}
#footer-nav-ul { padding:0 5.13vw; }
#footer-nav-ul > li { border-bottom:1px #6D9BC8 solid; list-style:none; position:relative; }
#footer-nav-ul > li > a,
#footer-nav-ul > li > mark { display:flex; align-items:center; height:12.82vw; line-height:1.6; padding:0 12.82vw 0 0; font-size:3.85vw; color:#fff; font-weight:400; text-decoration:none; position:relative; }
#footer-nav-ul > li > a:before { content:""; position:absolute; top:50%; right:4.1vw; width:1.54vw; height:0.51vw; background:#fff; transform:rotate(45deg); transform-origin:right top; }
#footer-nav-ul > li > a:after { content:""; position:absolute; bottom:50%; right:4.1vw; width:1.54vw; height:0.51vw; background:#fff; transform:rotate(-45deg); transform-origin:right bottom; }
.btn-ft-sub-open { position:absolute; top:0; right:0; width:100%; height:12.82vw; }
.btn-ft-sub-open:before { content:""; position:absolute; top:50%; right:4.1vw; width:2.05vw; height:0.51vw; background:#fff; }
.btn-ft-sub-open:after { content:""; position:absolute; top:50%; right:4.1vw; width:2.05vw; height:0.51vw; background:#fff; transform:rotate(90deg); }
.btn-fs-on:after { display:none; transition:all 0.2s linear; }
.footer-ul-sub { }
.footer-ul-sub li { list-style:none; }
.footer-ul-sub li a { display:flex; align-items:center; height:10.25vw; line-height:1.6; padding:0 10.25vw 0 7.69vw; font-size:3.85vw; color:#fff; text-decoration:none; position:relative; }
.footer-ul-sub li a:before { content:""; position:absolute; top:50%; left:3.33vw; width:2.05vw; height:0.51vw; background:#fff; }

@media screen and (max-width:899px){
.footer-ul-sub { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.footer-ul-sub-on { max-height:200svh; }
}
@media screen and (min-width:900px){
#footer-nav { width:86.95vw; padding:5.07vw 0 0; }
#footer-nav-ul { display:flex; flex-flow:column wrap; height:36.23vw; padding:0; }
#footer-nav-ul > li { border-bottom:none; }
#footer-nav-ul > li:nth-of-type(13) { width:37.68vw; }
#footer-nav-ul > li:nth-of-type(15) { order:7; }
#footer-nav-ul > li:nth-of-type(n+7):nth-of-type(-n+14) { order:8; }
#footer-nav-ul .dn-annai { position:relative; }
#footer-nav-ul .dn-annai mark { padding-left:0; }
#footer-nav-ul > li > a,
#footer-nav-ul > li > mark { height:auto; background:none; padding:0 0 0.72vw 1.09vw; font-size:1.09vw; }
#footer-nav-ul > li > a:before { top:0.87vw; right:auto; left:0; width:0.29vw; height:1px; transform:rotate(0); }
#footer-nav-ul > li > a:after { display:none; }
#footer-nav-ul > li > a:hover { text-decoration:underline; transition:1s ease; }
.btn-ft-sub-open { display:none; }
.footer-ul-sub { display:flex; flex-flow:column wrap; height:18.11vw; border-top:1px #fff solid; padding:1.16vw 0 0; }
.footer-ul-sub li { width:18.84vw; border-top:none; }
.footer-ul-sub li mark { height:auto; background:none; padding:0 0 0.72vw 1.45vw; font-size:1.09vw; color:#fff; }
.footer-ul-sub li a { height:auto; background:none; padding:0 0 0.58vw 1.09vw; font-size:1.09vw; color:#fff; }
.footer-ul-sub li a:before { top:0.87vw; right:auto; left:0; width:0.29vw; height:1px; transform:rotate(0); }
.footer-ul-sub li a:after { display:none; }
.footer-ul-sub li a:hover { text-decoration:underline; transition:1s ease; }
}
@media screen and (min-width:1380px){
#footer-nav { width:1200px; padding:70px 0 0; }
#footer-nav-ul { height:500px; }
#footer-nav-ul > li {}
#footer-nav-ul > li:nth-of-type(13) { width:520px; }
#footer-nav-ul .dn-annai {}
#footer-nav-ul > li > a,
#footer-nav-ul > li > mark { padding:0 0 10px 15px; font-size:15px; }
#footer-nav-ul > li > a:before { top:12px; width:4px; }
.btn-ft-sub-open {}
.footer-ul-sub { height:250px; padding:16px 0 0; }
.footer-ul-sub li { width:260px; }
.footer-ul-sub li mark { padding:0 0 10px 20px; font-size:15px; }
.footer-ul-sub li a { padding:0 0 8px 15px; font-size:15px; }
.footer-ul-sub li a:before { top:12px; width:4px; }
}




#footer-copy { background:#fff; text-align:center; padding:5.13vw 0 13.59vw; font-size:3.07vw; color:#1f1f1f; }
#footer-copy a { color:#1f1f1f; }

@media screen and (min-width:900px){
#footer-copy { padding:1.45vw 0; font-size:0.87vw; }
#footer-copy a {}
#footer-copy a:hover { text-decoration: none; }
}
@media screen and (min-width:1380px){
#footer-copy { padding:20px 0; font-size:12px; }
#footer-copy a {}
}





/* ----------------------------------------------
 ! scroll-top
 ---------------------------------------------- */

#scroll-top { position:absolute; position:fixed; bottom:17.94vw; right:4.1vw; width:12.82vw; z-index:99997; }
#scroll-top a { display:block; }
#scroll-top img { width:100%; height:auto; }

@media screen and (min-width:900px){
#scroll-top { bottom:1.45vw; right:1.45vw; width:3.98vw; }
#scroll-top a {}
#scroll-top a:hover { opacity:0.7; transition:all 1s; }
}
@media screen and (min-width:1380px){
#scroll-top { bottom:20px; right:20px; width:55px; }
#scroll-top a {}
}





/* ----------------------------------------------
 ! common
 ---------------------------------------------- */

#content {}
main {}
#main-wrap {}

@media screen and (max-width:899px){
main { overflow:hidden; }
}
@media screen and (min-width:900px){
#content {}
main {}
#main-wrap {}
#home #main-wrap {}
}
@media screen and (min-width:1380px){
#content {}
main {}
#main-wrap {}
#home #main-wrap {}
}




.txt-basic p { line-height:2; font-size:3.85vw; text-align:justify; }
.txt-basic p:not(:last-child) { padding:0 0 4.1vw; }
.txt-basic li { line-height:2; font-size:3.85vw; text-align:justify; list-style:none; }
mark.under,
.txt-basic mark { display:inline; background:linear-gradient(transparent 70%, #F9FBBF 0%); font-weight:600; }
em.bold { color:#1c8dcb; font-weight:600; font-style:normal; }
.indent01 { padding-left:1.2rem !important; text-indent:-1.2rem; }

@media screen and (min-width:900px){
.txt-basic p { font-size:1.09vw; }
.txt-basic p:not(:last-child) { padding:0 0 1.16vw; }
.txt-basic li { font-size:1.09vw; }
.txt-basic mark {}
}
@media screen and (min-width:1380px){
.txt-basic p { font-size:15px; }
.txt-basic p:not(:last-child) { padding:0 0 16px; }
.txt-basic li { font-size:15px; }
.txt-basic mark {}
}




.btn-more { width:61.54vw; margin:0 auto; position:relative; }
.btn-more a { display:flex; justify-content:center; align-items:center; height:14.35vw; line-height:1.25; background:#3E6FAE; border-radius:14.35vw; font-size:3.85vw; color:#fff; font-weight:400; letter-spacing:0.14vw; text-decoration:none; position:relative; }
.btn-more a:before { content:""; position:absolute; top:calc(50% - 1.055vw); right:4.1vw; width:2.31vw; height:0.51vw; background:#fff; transform:rotate(45deg); }
.btn-more a:after { content:""; position:absolute; bottom:calc(50% - 1.055vw); right:4.1vw; width:2.31vw; height:0.51vw; background:#fff; transform:rotate(-45deg); }

@media screen and (min-width:900px){
.btn-more { width:23.91vw; margin:0 auto; }
.btn-more a { height:3.76vw; padding:0 1.45vw 0 0; font-size:1.09vw; letter-spacing:0; }
.btn-more a:before { top:1.66vw; right:1.16vw; width:0.65vw; height:0.14vw; }
.btn-more a:after { top:2.1vw; right:1.16vw; width:0.65vw; height:0.14vw; }
.btn-more a:hover { opacity:0.7; transition:0.6s ease; }
}
@media screen and (min-width:1380px){
.btn-more { width:330px; }
.btn-more a { height:52px; padding:0 20px 0 0; font-size:15px; }
.btn-more a:before { top:23px; right:16px; width:9px; height:2px; }
.btn-more a:after { top:29px; right:16px; width:9px; height:2px; }
}




.btn-more2 { width:61.54vw; margin:0 auto; position:relative; }
.btn-more2 a { display:flex; justify-content:center; align-items:center; height:14.35vw; line-height:1.25; background:#fff; border:1px #3E6FAE solid; border-radius:14.35vw; font-size:3.85vw; color:#3E6FAE; font-weight:400; letter-spacing:0.14vw; text-decoration:none; position:relative; }
.btn-more2 a:before { content:""; position:absolute; top:calc(50% - 1.055vw); right:4.1vw; width:2.31vw; height:0.51vw; background:#3E6FAE; transform:rotate(45deg); }
.btn-more2 a:after { content:""; position:absolute; bottom:calc(50% - 1.055vw); right:4.1vw; width:2.31vw; height:0.51vw; background:#3E6FAE; transform:rotate(-45deg); }

@media screen and (min-width:900px){
.btn-more2 { width:23.91vw; margin:0 auto; }
.btn-more2 a { height:3.76vw; padding:0 1.45vw 0 0; font-size:1.09vw; letter-spacing:0; }
.btn-more2 a:before { top:1.66vw; right:1.16vw; width:0.65vw; height:0.14vw; }
.btn-more2 a:after { top:2.1vw; right:1.16vw; width:0.65vw; height:0.14vw; }
.btn-more2 a:hover { opacity:0.7; transition:0.6s ease; }
}
@media screen and (min-width:1380px){
.btn-more2 { width:330px; }
.btn-more2 a { height:52px; padding:0 20px 0 0; font-size:15px; }
.btn-more2 a:before { top:23px; right:16px; width:9px; height:2px; }
.btn-more2 a:after { top:29px; right:16px; width:9px; height:2px; }
}




.btn-2pane { }
.btn-2pane li { width:100%; list-style:none; }

@media screen and (max-width:899px){
.btn-2pane li:not(:last-child) { margin-bottom:4.1vw; }
}
@media screen and (min-width:900px){
.btn-2pane { display:flex; flex-flow;row nowrap; justify-content:space-between; width:735px; margin:0 auto; }
.btn-2pane li { width:45%; }
}
@media screen and (min-width:1380px){
.btn-2pane { display:flex; flex-flow;row nowrap; }
.btn-2pane li {}
}




.btn-download a { background:#3E6FAE url(../img/common/ico_download01.svg) 7.69vw center/3.33vw auto no-repeat; padding:0 0 0 7.69vw; }
.btn-download a:before,
.btn-download a:after { display:none; }

@media screen and (min-width:900px){
.btn-download a { background:#3E6FAE url(../img/common/ico_download01.svg) 2.17vw center/0.87vw auto no-repeat; padding:0 0 0 2.17vw; }
}
@media screen and (min-width:1380px){
.btn-download a { background:#3E6FAE url(../img/common/ico_download01.svg) 30px center/12px auto no-repeat; padding:0 0 0 30px; }
}




.mb0 { margin-bottom:0 !important; }
.mb10 { margin-bottom:2.56vw !important; }
.mb20 { margin-bottom:5.13vw !important; }
.mb30 { margin-bottom:7.69vw !important; }
.mb40 { margin-bottom:10.3vw !important; }
.mb50 { margin-bottom:12.8vw !important; }
.mb60 { margin-bottom:15.4vw !important; }

@media screen and (min-width:900px){
.mb0 { margin-bottom:0 !important; }
.mb10 { margin-bottom:0.72vw !important; }
.mb20 { margin-bottom:1.45vw !important; }
.mb30 { margin-bottom:2.17vw !important; }
.mb40 { margin-bottom:2.9vw !important; }
.mb50 { margin-bottom:3.62vw !important; }
.mb60 { margin-bottom:4.34vw !important; }
}
@media screen and (min-width:1380px){
.mb0 { margin-bottom:0 !important; }
.mb10 { margin-bottom:10px !important; }
.mb20 { margin-bottom:20px !important; }
.mb30 { margin-bottom:30px !important; }
.mb40 { margin-bottom:40px !important; }
.mb50 { margin-bottom:50px !important; }
.mb60 { margin-bottom:60px !important; }
}

.pb0 { padding-bottom:0 !important; }
.pb10 { padding-bottom:2.56vw !important; }
.pb20 { padding-bottom:5.13vw !important; }
.pb30 { padding-bottom:7.69vw !important; }
.pb40 { padding-bottom:10.3vw !important; }
.pb50 { padding-bottom:12.8vw !important; }
.pb60 { padding-bottom:15.4vw !important; }

@media screen and (min-width:900px){
.pb0 { padding-bottom:0 !important; }
.pb10 { padding-bottom:0.72vw !important; }
.pb20 { padding-bottom:1.45vw !important; }
.pb30 { padding-bottom:2.17vw !important; }
.pb40 { padding-bottom:2.9vw !important; }
.pb50 { padding-bottom:3.62vw !important; }
.pb60 { padding-bottom:4.34vw !important; }
}
@media screen and (min-width:1380px){
.pb0 { padding-bottom:0 !important; }
.pb10 { padding-bottom:10px !important; }
.pb20 { padding-bottom:20px !important; }
.pb30 { padding-bottom:30px !important; }
.pb40 { padding-bottom:40px !important; }
.pb50 { padding-bottom:50px !important; }
.pb60 { padding-bottom:60px !important; }
}

.w100 { width:100% !important; }




#top-mv-bnr { width:92.17vw; margin:0 auto 10.25vw; }
#top-mv-bnr a { display:block; }
#top-mv-bnr img { width:100%; height:auto; }

@media screen and (min-width:900px){
#top-mv-bnr { width:46.37vw; margin:0 auto 4.35vw; }
#top-mv-bnr a:hover { opacity:0.7; transition:1s ease; }
}
@media screen and (min-width:1380px){
#top-mv-bnr { width:800px; margin:0 auto 60px; }
}




.faq-box-basic {}
.faq-box-basic details {}
.faq-box-basic details:last-of-type { padding:0 0 5.13vw; }
.faq-box-basic summary { border-bottom:1px #d7d7d7 solid; margin:0 0 5.13vw; padding:0 0 5.13vw; position:relative; }
.faq-box-basic summary:before { content:""; position:absolute; top:3.59vw; right:2.56vw; width:2.05vw; height:0.51vw; background:#2e70b0; }
.faq-box-basic summary:after { content:""; position:absolute; top:3.59vw; right:2.56vw; width:2.05vw; height:0.51vw; background:#2e70b0; transform:rotate(90deg); }
.faq-box-basic details[open] summary:after { transform:rotate(0); }
.faq-box-basic summary h3 { line-height:1.875; padding:0 7.69vw 0 12.82vw; font-size:3.85vw; font-weight:400; position:relative; }
.faq-box-basic summary h3:before { content:"Q"; position:absolute; top:-1.54vw; left:0; display:flex; justify-content:center; align-items:center; width:10.25vw; height:10.25vw; background:#fff; border-radius:50%; font-size:5.13vw; color:#2e70b0; font-weight:700; }
.faq-box-basic details div { border-bottom:1px #d7d7d7 solid; margin:0 0 5.13vw; padding:0 0 5.13vw; }
.faq-box-basic details div p { line-height:1.875; font-size:3.59vw; }

@media screen and (min-width:900px){
.faq-box-basic {}
.faq-box-basic details {}
.faq-box-basic details:last-of-type { padding:0 0 1.45vw; }
.faq-box-basic summary { margin:0 0 2.17vw; padding:0 0 2.17vw; }
.faq-box-basic summary:before { top:1.09vw; right:1.45vw; width:0.72vw; height:0.14vw; }
.faq-box-basic summary:after { top:1.09vw; right:1.45vw; width:0.72vw; height:0.14w; }
.faq-box-basic summary:hover { color:#2e70b0; opacity:0.7; transition:1s ease; cursor:pointer; }
.faq-box-basic summary h3 { padding:0 2.9vw 0 3.62vw; font-size:1.16vw; }
.faq-box-basic summary h3:before { top:-0.43vw; width:2.9vw; height:2.9vw; font-size:1.45vw; }
.faq-box-basic details div { margin:0 0 2.17vw;  padding:0 0 2.17vw 2.9vw; }
.faq-box-basic details div p { font-size:1.01vw; }
}
@media screen and (min-width:1380px){
.faq-box-basic {}
.faq-box-basic details {}
.faq-box-basic details:last-of-type { padding:0 0 20px; }
.faq-box-basic summary { margin:0 0 30px; padding:0 0 30px; }
.faq-box-basic summary:before { top:15px; right:20px; width:10px; height:2px; }
.faq-box-basic summary:after { top:15px; right:20px; width:10px; height:2px; }
.faq-box-basic summary h3 { padding:0 40px 0 50px; font-size:16px; }
.faq-box-basic summary h3:before { top:-6px; width:40px; height:40px; font-size:20px; }
.faq-box-basic details div { margin:0 0 30px; padding:0 0 30px 40px; }
.faq-box-basic details div p { font-size:14px; }
}




