@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; }

@media screen and (max-width:768px){
.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%; }
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; color:#25292E; font-family:"Zen Old Mincho", serif; font-optical-sizing:auto; font-weight:400; font-style:normal; }
#content {animation: page-fade 2s;}
@keyframes page-fade { 0% {opacity:0.1;} 100% {opacity:1;} }

.font-en { font-family:"EB Garamond", 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:768px){
body { min-width:280px; }
#content {}
}




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

.fade {
  transform: translateY(0px);
  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:32.05vw; position:relative; }
#header-logo { padding:5.13vw 0 0 4.1vw; z-index:99991; }
#header-logo a { display:block; line-height:1.2; color:#4B596C; text-decoration:none; }
#header-logo a span { display:block; padding:0 0 3.59vw; font-size:3.59vw; font-weight:700; letter-spacing:0.6vw; }
#header-title { display:block; font-size:6.15vw; font-weight:700; letter-spacing:1vw; }

@media screen and (min-width:769px){
header {}
#header-wrap { width:86.95vw; height:11.59vw; margin:0 auto; }
#header-logo { padding:1.88vw 0 0 0; }
#header-logo a { line-height:1.8; }
#header-logo a span { padding:0 0 1.01vw; font-size:1.16vw; letter-spacing:0.14vw; }
#header-title { font-size:2.03vw; letter-spacing:0.29vw; }
#header-logo a:hover { opacity:0.7; transition:1s ease; }
}
@media screen and (min-width:1381px){
header {}
#header-wrap { width:1380px; height:160px; }
#header-logo { padding:26px 0 0 0; }
#header-logo a {}
#header-logo a span { padding:0 0 14px; font-size:16px; letter-spacing:2px; }
#header-title { font-size:28px; letter-spacing:4px; }
#header-logo a:hover {}
}




#header-nav {}
#btn-main-navi { position:absolute; position:fixed; bottom:0; right:0; width:26.41vw; height:21.28vw; background:#EFF6FC; text-align:center; margin:0 auto; z-index:999999; }
#btn-main-navi span:nth-of-type(1) { position:absolute; top:12.05vw; left:6.79vw; width:12.82vw; height:0.26vw; background:#25292E; }
#btn-main-navi span:nth-of-type(2) { position:absolute; top:15.89vw; left:6.79vw; width:12.82vw; height:0.26vw; background:#25292E; }
#btn-main-navi strong { position:absolute; top:4.61vw; left:0; display:flex; justify-content:center; width:100%; font-size:3.59vw; font-weight:500; letter-spacing:0.43vw; white-space:nowrap; }
#btn-main-navi strong em { color:#25292E; font-style:normal; }
#btn-main-navi strong em:last-child { display:none; }
.btn-hn-on {}
.btn-hn-on strong em:first-child { display:none; transition:all 0.2s linear; }
.btn-hn-on strong em:last-child { display:block !important; transition:all 0.2s linear; }
.btn-hn-on span:nth-of-type(1) { top:14.1vw !important; left:6.79vw !important; width:12.82vw !important; transform:rotate(30deg); transition:all 0.2s linear; }
.btn-hn-on span:nth-of-type(2) { top:14.1vw !important; left:6.79vw !important; width:12.82vw !important; transform:rotate(-30deg); transition:all 0.2s linear; }

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

}









#header-nav-menu { opacity:0; position:fixed; top:0; left:0; width:100%; min-height:100vh; background:rgba(211,221,234,0.8); transition:all 0.4s linear; z-index:-1; }
#header-nav-menu-wrap { position:fixed; top:0; right:-100%; width:77%; height:calc(100%); overflow-y:scroll; background:#fff; padding:0 0 21.28vw; transition:all 0.4s linear; }
#header-nav-menu.dialog { opacity:1; transition:all 0.2s linear; z-index:999998; }
#header-nav-menu-wrap.clicked { right:0; transition:all 0.2s linear; }
#header-contact { display:flex; flex-flow:column wrap; justify-content:center; align-items:center; padding:7.69vw 0; }
#header-contact li { list-style:none; }
#header-contact li:first-child { margin:0 0 5.13vw; }
#header-contact li a { display:flex; justify-content:center; align-items:center; width:50.25vw; height:12.05vw; padding:0 0 0 7.69vw; font-size:3.85vw; color:#fff; letter-spacing:0.77vw; text-decoration:none; }
#header-contact li:nth-child(1) a { background:#0D5AAD url(../img/common/ico_tel_01.svg) 5.64vw center/5.13vw auto no-repeat; }
#header-contact li:nth-child(2) a { background:#0D5AAD url(../img/common/ico_calendar_01.svg) 8.21vw center/5.13vw auto no-repeat; }

@media screen and (min-width:769px){
#header-nav-menu { opacity:1; position:static; min-height:0; background:none; z-index:999998; }
#header-nav-menu-wrap { position:static; width:auto; height:auto; background:none; padding:0; }
#header-contact { position:absolute; top:1.45vw; right:0; display:flex; flex-flow:row nowrap; justify-content:space-between; width:28.98vw; padding:0; }
#header-contact li {}
#header-contact li:first-child { margin:0; }
#header-contact li a { width:13.76vw; height:3.4vw; padding:0 0 0 2.17vw; font-size:1.09vw; letter-spacing:0.22vw; }
#header-contact li a:hover { opacity:0.7; transition:1s ease; }
#header-contact li:nth-child(1) a { background:#0D5AAD url(../img/common/ico_tel_01.svg) 1.3vw center/1.45vw auto no-repeat; }
#header-contact li:nth-child(2) a { background:#0D5AAD url(../img/common/ico_calendar_01.svg) 1.88vw center/1.45vw auto no-repeat; }
}
@media screen and (min-width:1381px){
#header-nav-menu {}
#header-nav-menu-wrap {}
#header-contact { top:20px; width:400px; }
#header-contact li {}
#header-contact li:first-child {}
#header-contact li a { width:190px; height:47px; padding:0 0 0 30px; font-size:15px; letter-spacing:3px; }
#header-contact li a:hover {}
#header-contact li:nth-child(1) a { background:#0D5AAD url(../img/common/ico_tel_01.svg) 18px center/20px auto no-repeat; }
#header-contact li:nth-child(2) a { background:#0D5AAD url(../img/common/ico_calendar_01.svg) 26px center/20px auto no-repeat; }
}




#header-nav-ul { padding:0 6.41vw 7.69vw 10.3vw; }
#header-nav-ul > li { border-bottom:1px #eee solid; list-style:none; }
#header-nav-ul > li > a { display:flex; align-items:center; height:12.82vw; line-height:1.6; padding:0 0 0 5.13vw; font-size:3.85vw; color:#666; font-weight:400; text-decoration:none; position:relative; }
#header-nav-ul > li > a:before { content:"＞"; position:absolute; top:50%; left:0; margin:-1.9vw 0 0; font-size:2.8vw; }
#header-nav-ul > li:first-child > a:before { content:""; width:4.1vw; height:4.1vw; background:url(../img/common/ico_home_01.svg) center center/100% auto no-repeat; }
@media screen and (min-width:769px){
#header-nav-ul { position:absolute; top:6.52vw; right:0; display:flex; flex-flow:row nowrap; justify-content:end; width:53.62vw; padding:0; }
#header-nav-ul > li { border-bottom:none; padding:0 1.45vw; position:relative; }
#header-nav-ul > li:nth-child(2)::after { content:""; position:absolute; top:50%; right:0; width:0; height:0; border-style:solid; border-color:#0D5AAD transparent transparent transparent; border-width:0.36vw 0.25vw 0 0.25vw; margin:-0.18vw 0 0; }
#header-nav-ul > li > a { height:3.62vw; padding:0 0 0 1.45vw; font-size:1.09vw; color:#25292E; }
#header-nav-ul > li > a:before { display:none; }
#header-nav-ul > li > a:hover { opacity:0.7; transition:1s ease; }
#header-nav-ul > li:first-child > a:before { display:none; }
}
@media screen and (min-width:1381px){
#header-nav-ul { top:90px; width:740px; }
#header-nav-ul > li { padding:0 20px; }
#header-nav-ul > li:nth-child(2)::after { border-width:5px 3.5px 0 3.5px; margin:-2.5px 0 0; }
#header-nav-ul > li > a { height:50px; padding:0 0 0 20px; font-size:15px; }
#header-nav-ul > li > a:hover {}
}




.header-ul-sub { border-top:1px #eee solid; }
.header-ul-sub p { display:flex; align-items:center; height:11.28vw; line-height:1.3; font-size:3.85vw; color:#000; }
.header-ul-sub ul {}
.header-ul-sub li { width:100%; list-style:none; }
.header-ul-sub li:not(:last-child) { border-bottom:1px #eee solid; }
.header-ul-sub li a { display:flex; align-items:center; height:11.28vw; line-height:1.3; padding:0 0 0 10.25vw; font-size:3.59vw; color:#25292E; text-decoration:none; position:relative; }
.header-ul-sub li a:after { content:"＞"; position:absolute; top:50%; left:6.15vw; margin:-1.9vw 0 0; font-size:2.8vw; }

@media screen and (min-width:769px){
.header-ul-sub { position:absolute; top:3.62vw; left:2.9vw; width:21.73vw; background:rgba(247,249,251,0.9); border-top:none; padding:0; z-index:999999;  }
.header-ul-sub { opacity:0; max-height:0; overflow:hidden; pointer-events:none; transition:max-height .25s ease, opacity .25s ease; }
.header-ul-sub-on { opacity:1; max-height:500px; pointer-events:auto; }
.header-ul-sub p { display:flex; align-items:center; height:3.62vw; line-height:1.3; border-top:1px #6DABD5 solid; font-size:1.09vw; color:#25292E; }
.header-ul-sub ul { display:flex; flex-flow:row wrap; border-top:1px #6DABD5 solid; }
.header-ul-sub li {}
.header-ul-sub li a { height:3.62vw; padding:0 0 0 2.9vw; font-size:1.01vw; }
.header-ul-sub li a:after { left:1.16vw; margin:-0.51vw 0 0; font-size:0.87vw; }
.header-ul-sub li a:hover { opacity:0.7; transition:1s ease; }
}
@media screen and (min-width:1381px){
.header-ul-sub { top:50px; left:40px; width:300px; }
.header-ul-sub p { height:50px; font-size:14px; }
.header-ul-sub ul {}
.header-ul-sub li {}
.header-ul-sub li a { height:50px; padding:0 0 0 40px; font-size:14px; }
.header-ul-sub li a:after { left:16px; margin:-7px 0 0; font-size:12px; }
.header-ul-sub li a:hover {}
}




/* ----------------------------------------------
 ! bottom-nav
 ---------------------------------------------- */

#bottom-nav { position:absolute; position:fixed; bottom:0; left:0; width:calc( 100% - 26.41vw ); z-index:999999; }
#bottom-nav ul { display:flex; flex-flow:row nowrap; }
#bottom-nav li { width:50%; list-style:none; }
#bottom-nav li:first-child { border-right:1px #fff solid; }
#bottom-nav li a { display:flex; flex-flow:column nowrap; justify-content:center; align-items:center; height:21.28vw; padding:7.69vw 0 0; font-size:3.59vw; color:#fff; letter-spacing:0.43vw; text-decoration:none; }
#bottom-nav li:first-child a { background:#0D5AAD url(../img/common/ico_tel_01.svg) center 3.59vw/7.43vw auto no-repeat; }
#bottom-nav li:last-child a { background:#0D5AAD url(../img/common/ico_calendar_01.svg) center 3.59vw/7.43vw auto no-repeat; }

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





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

footer { background:#1F4A86; padding:12.82vw 0 21.28vw; }
#footer-wrap { color:#fff; }

@media screen and (min-width:769px){
footer { padding:5.8vw 0 0; }
#footer-wrap { display:flex; flex-flow:row nowrap; justify-content:space-between; align-items:start; width:90.43vw; margin:0 auto; padding:0 0 4.35vw; }
}
@media screen and (min-width:1381px){
footer { padding:80px 0 0; }
#footer-wrap { width:1248px; padding:0 0 60px; }
}




#footer-info { padding:0 0 10.25vw; }
#footer-info-name { line-height:1.8; text-align:center; padding:0 0 5.13vw; font-size:5.64vw; font-weight:600; letter-spacing:0.77vw; }
#footer-info-prof { line-height:1.8; text-align:center; border-top:1px #fff solid; border-bottom:1px #fff solid; margin:0 4.1vw 7.69vw; padding:5.13vw 0; font-size:4.1vw; font-weight:500; letter-spacing:0.27vw; }
#footer-adress { line-height:1.5; padding:0 4.1vw 10.25vw; font-size:3.59vw; }
#footer-info-note { line-height:2; background:#fff; text-align:center; margin:0 4.1vw; padding:6.15vw 4.1vw; color:#1F518E; }
#footer-info-note dt { padding:0 0 1.03vw; font-size:3.59vw; line-height:1.4; }
#footer-info-note dd { font-size:6.15vw; }

@media screen and (min-width:769px){
#footer-info { width:25.94vw; padding:0; }
#footer-info-name { padding:0 0 1.45vw; font-size:1.74vw; letter-spacing:0.29vw; }
#footer-info-prof { margin:0 0 2.17vw; padding:1.16vw 0; font-size:1.16vw; letter-spacing:0.14vw; }
#footer-adress { padding:0 0 2.17vw; font-size:1.01vw; }
#footer-info-note { margin:0; padding:1.16vw 1.45vw; }
#footer-info-note dt { padding:0 0 0.58vw; font-size:1.01vw; }
#footer-info-note dd { font-size:1.74vw; }
}
@media screen and (min-width:1381px){
#footer-info { width:358px; }
#footer-info-name { padding:0 0 20px; font-size:24px; letter-spacing:4px; }
#footer-info-prof { margin:0 0 16px; padding:8px 0; font-size:16px; letter-spacing:2px; }
#footer-adress { padding:0 0 16px; font-size:13px; }
#footer-info-note { margin:0; padding:16px 20px; }
#footer-info-note dt { padding:0 0 8px; font-size:14px; }
#footer-info-note dd { font-size:24px; }
}




#footer-medical-hour { padding:0 4.1vw 10.25vw; position:relative; }
#footer-medical-hour:after { content:""; position:absolute; bottom:7.69vw; left:50%; background:#ccc; }
#footer-medical-hour table { width:100%; margin:0 0 2.05vw; }
#footer-medical-hour th { border-bottom:1px #fff solid; text-align:center; padding:3.59vw 0; font-size:4.1vw; font-weight:400; }
#footer-medical-hour th:first-child { width:24%; text-align:left; }
#footer-medical-hour td { text-align:center; padding:5.13vw 0; font-size:4.1vw; }
#footer-time { line-height:2; padding:0 0 4.1vw; font-size:3.33vw; }
#footer-holiday { display:flex; flex-flow:row nowrap; line-height:2; padding:0 0 7.69vw; font-size:3.59vw; }
#footer-holiday dt { width:15.38vw; }
#footer-holiday dd { width:calc(100% - 15.38vw); }
#footer-route { width:61.53vw; background:#fff; margin:0 auto; }
#footer-route a { display:flex; justify-content:center; align-items:center; height:14.35vw; background:url(../img/common/ico_map_02.svg) 7.69vw center/6.41vw auto no-repeat; padding:0 0 0 7.69vw; font-size:3.59vw; color:#000; letter-spacing:0.77vw; text-decoration:none; }

@media screen and (min-width:769px){
#footer-medical-hour { width:30.43vw; padding:0; }
#footer-medical-hour:after { bottom:auto; top:0; left:auto; right:0; width:1px; height:25.5vw; }
#footer-medical-hour table { width:24.78vw; margin:0 0 1.45vw; }
#footer-medical-hour th { padding:0.87vw 0; font-size:1.09vw; }
#footer-medical-hour td { padding:1.3vw 0; font-size:1.16vw; }
#footer-time { padding:0 0 1.45vw; font-size:0.94vw; }
#footer-holiday { padding:0 0 2.17vw; font-size:1.01vw; }
#footer-holiday dt { width:4.35vw; }
#footer-holiday dd { width:calc(100% - 4.35vw); }
#footer-route { width:17.39vw; }
#footer-route a { height:4.05vw; background:url(../img/common/ico_map_02.svg) 2.17vw center/1.81vw auto no-repeat; padding:0 0 0 2.17vw; font-size:1.01vw; letter-spacing:0.21vw; }
#footer-route a:hover { opacity:0.7; transition:1s ease; }
}
@media screen and (min-width:1381px){
#footer-medical-hour { width:420px; }
#footer-medical-hour:after { height:352px; }
#footer-medical-hour table { width:342px; margin:0 0 20px; }
#footer-medical-hour th { padding:12px 0; font-size:15px; }
#footer-medical-hour td { padding:18px 0; font-size:16px; }
#footer-time { padding:0 0 20px; font-size:13px; }
#footer-holiday { padding:0 0 30px; font-size:14px; }
#footer-holiday dt { width:60px; }
#footer-holiday dd { width:calc(100% - 60px); }
#footer-route { width:240px; }
#footer-route a { height:56px; background:url(../img/common/ico_map_02.svg) 30px center/25px auto no-repeat; padding:0 0 0 30px; font-size:14px; letter-spacing:3px; }
#footer-route a:hover {}
}




#footer-nav {}
#footer-nav-ul {}
#footer-nav-ul > li { border-bottom:1px #25292E solid; list-style:none; position:relative; }
#footer-nav-ul > li > a,
#footer-nav-ul > li > mark { display:flex; align-items:center; height:14.35vw; line-height:1.3; background:#4B596C; padding:0 4.1vw 0 10.25vw; font-size:3.59vw; color:#fff; font-weight:400; letter-spacing:0.29vw; text-decoration:none; position:relative; }
#footer-nav-ul > li > a:before,
#footer-nav-ul > li > mark:before { content:"＞"; position:absolute; top:50%; left:4.1vw; margin:-2vw 0 0; font-size:3.6vw; }
#footer-nav-ul > li:first-child > a:before { content:"";  width:3.33vw; height:3.33vw; background:url(../img/common/ico_home_02.svg) center center/100% auto no-repeat; }

@media screen and (min-width:769px){
#footer-nav { width:18.11vw; }
#footer-nav-ul { border-top:none; position:relative; }
#footer-nav-ul > li { border-bottom:none; margin:0 0 1.16vw; }
#footer-nav-ul > li > a,
#footer-nav-ul > li > mark { display:block; height:auto; background:none; padding:0 0 0 1.45vw; font-size:1.01vw; letter-spacing:0.14vw; }
#footer-nav-ul > li > a:before,
#footer-nav-ul > li > mark:before { left:0; margin:-0.58vw 0 0; font-size:0.87vw; }
#footer-nav-ul > li > a:hover { text-decoration:underline; transition:1s ease; }
#footer-nav-ul > li:first-child > a:before { left:-0.21vw; width:1.16vw; height:1.16vw; margin:-0.72vw 0 0; }
}
@media screen and (min-width:1381px){
#footer-nav { width:250px; }
#footer-nav-ul {}
#footer-nav-ul > li { margin:0 0 16px; }
#footer-nav-ul > li > a,
#footer-nav-ul > li > mark { padding:0 0 0 20px; font-size:15px; letter-spacing:2px; }
#footer-nav-ul > li > a:before,
#footer-nav-ul > li > mark:before { margin:-8px 0 0; font-size:12px; }
#footer-nav-ul > li:first-child > a:before { left:-3px; width:16px; height:16px; margin:-10px 0 0; }
}




.footer-ul-sub {}
.footer-ul-sub li { border-top:1px #25292E solid; list-style:none; }
.footer-ul-sub li p { display:flex; align-items:center; height:14.35vw; line-height:1.3; background:#747E8A; padding:0 4.1vw 0 12.82vw; font-size:3.59vw; color:#fff; font-weight:600; letter-spacing:0.29vw; }
.footer-ul-sub li a { display:flex; align-items:center; height:14.35vw; line-height:1.3; background:#747E8A; padding:0 4.1vw 0 15.38vw; font-size:3.59vw; color:#fff; letter-spacing:0.29vw; text-decoration:none; position:relative; }
.footer-ul-sub li a:after { content:"－"; position:absolute; top:50%; left:10.25vw; margin:-1.8vw 0 0; font-size:3.2vw; }

@media screen and (max-width:768px){
.footer-ul-sub { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.footer-ul-sub-on { max-height:2000px; }
.btn-ft-sub-open { position:absolute; top:0; right:0; width:100%; height:14.35vw; }
.btn-ft-sub-open:before { content:""; position:absolute; top:50%; right:4.1vw; width:4vw; height:0.4vw; background:#fff; margin:-0.2vw 0 0; }
.btn-ft-sub-open:after { content:""; position:absolute; top:50%; right:4.1vw; width:4vw; height:0.4vw; background:#fff; margin:-0.2vw 0 0; transform:rotate(90deg); }
.btn-fs-on:after { display:none; transition:all 0.2s linear; }
}
@media screen and (min-width:769px){
.btn-ft-sub-open { display:none; }
.footer-ul-sub { display:block; padding:1.16vw 0 0; }
.footer-ul-sub li { border-top:none; margin:0 0 1.16vw; }
.footer-ul-sub li p { height:auto; background:none; padding:0.87vw 0 0 3.62vw; font-size:1.09vw; letter-spacing:0.14vw; }
.footer-ul-sub li a { display:block; height:auto; background:none; padding:0 0 0 2.9vw; font-size:1.09vw; letter-spacing:0.14vw; }
.footer-ul-sub li a:hover { text-decoration:underline; transition:1s ease; }
.footer-ul-sub li a:after { left:1.45vw; margin:-0.58vw 0 0; font-size:0.87vw; }
}
@media screen and (min-width:1381px){
.btn-ft-sub-open {}
.footer-ul-sub { padding:16px 0 0; }
.footer-ul-sub li { margin:0 0 16px; }
.footer-ul-sub li p { padding:12px 0 0 50px; font-size:15px; letter-spacing:2px; }
.footer-ul-sub li a { padding:0 0 0 40px; font-size:14px; letter-spacing:2px; }
.footer-ul-sub li a:hover {}
.footer-ul-sub li a:after { left:20px; margin:-8px 0 0; font-size:12px; }
}




#footer-copy { background:#25292E; text-align:center; padding:8.97vw 0 8.97vw; font-size:2.05vw; color:#fff; }

@media screen and (min-width:769px){
#footer-copy { padding:1.16vw 0; font-size:0.87vw; }
}
@media screen and (min-width:1381px){
#footer-copy { padding:16px 0; font-size:12px; }
}





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

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

@media screen and (min-width:769px){
#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:1381px){
#scroll-top { bottom:20px; right:20px; width:55px; }
#scroll-top a {}
}





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

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

@media screen and (max-width:768px){
main { overflow:hidden; }
}
@media screen and (min-width:769px){
#content {}
main {}
#main-wrap {}
#home #main-wrap {}
}
@media screen and (min-width:1381px){
#content {}
main {}
#main-wrap {}
#home #main-wrap {}
}




.txt-basic p { line-height:1.8; margin:0 0 3.85vw; font-size:3.85vw; text-align: justify; }
.txt-basic mark { display:inline; background:linear-gradient(transparent 70%, #F9FBBF 0%); font-weight:600; }
.align-c { text-align:center !important; margin-left:auto !important; margin-right:auto !important; }
.txt-r { text-align:right !important; }

@media screen and (min-width:769px){
.txt-basic p { font-size:1.16vw; margin:0 0 1.16vw; }
.txt-basic mark { margin:0 0 1.16vw; }
}
@media screen and (min-width:1381px){
.txt-basic p { margin:0 0 16px; font-size:16px; }
.txt-basic mark {}
}




.btn-more { width:58.97vw; margin:0 auto; }
.btn-more a { display:flex; justify-content:center; align-items:center; height:12.82vw; background:#1F4A86; font-size:3.59vw; color:#fff; font-weight:500; letter-spacing:0.27vw; text-decoration:none; position:relative; }
.btn-more a:before { content:""; position:absolute; bottom:1.02vw; right:2.05vw; width:9.74vw; height:1px; background:#fff; }
.btn-more a:after { content:""; position:absolute; bottom:2.02vw; right:2.05vw; width:3.28vw; height:1px; background:#fff; transform:rotate(36deg); }

@media screen and (min-width:769px){
.btn-more { width:18.84vw; margin:0 auto; }
.btn-more a { height:3.76vw; font-size:1.09vw; letter-spacing:0.14vw; }
.btn-more a:before { bottom:0.36vw; right:0.58vw; width:2.9vw; }
.btn-more a:after { bottom:0.72vw; right:0.58vw; width:1.01vw; }
.btn-more a:hover { opacity:0.7; transition:all 1s; }
}
@media screen and (min-width:1381px){
.btn-more { width:260px; }
.btn-more a { height:52px; font-size:15px; letter-spacing:2px; }
.btn-more a:before { bottom:5px; right:8px; width:40px; }
.btn-more a:after { bottom:10px; right:8px; width:14px; }
}




.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:769px){
.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:1381px){
.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:769px){
.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:1381px){
.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; }






