@charset 'utf-8';

#wrap {  position:relative; overflow:hidden; background-color:#fff; }

body,html { min-height:100% }
#wrap { min-height:calc(100vh - 273px);}
@media screen and (max-width:1008px){
	#wrap { min-height:100%; }
}

.inner { max-width:1400px; margin:0 auto; }
.inner:after {content:""; display:block; visibility:hidden; clear:both; height:0; }
@media screen and (max-width:1420px){
	.inner { padding:0 20px; }
}


/* header */
header { position:fixed; width:100%; z-index:999; height:120px; transition:all 0.3s ease-in-out; }
header.fix { background-color:#fff; }
header h1 { position:absolute; text-align:left; padding:33px 0 0 60px; z-index:999;  }
header h1 a { display:inline-block; width:180px; height:60px; transition:all 0.3s ease-in-out; }
header h1 a svg { }
.fp-viewing-Main header h1 a svg .logo-1,
.fp-viewing-Main header h1 a svg .logo-2,
.fp-viewing-Main header h1 a svg .logo-3,
.fp-viewing-Main header h1 a svg .logo-4{ fill:#fff; transition:all 0.3s ease-in-out;}

header #navi { position:relative; z-index:2; padding:33px 50px 0 0; }
header #navi #gnb { position:relative; text-align:right;  }
header #navi #gnb > ul { position:relative; display:inline-block; vertical-align:middle; }
header #navi #gnb > ul > li { position:relative; display:inline-block; vertical-align:middle; margin:0 -2px; vertical-align:top; padding:0 40px; transition:all 0.3s ease-in-out; }
header #navi #gnb > ul > li > a { position:relative; z-index:3; font-weight:500; font-size:18px; color:#222; line-height:1; padding:18px 0; display:block; transition:all 0.3s ease-in-out;}
header #navi #gnb > ul > li:nth-child(1).on > a,
header #navi #gnb > ul > li:nth-child(3).on > a { color:#fff; }
header #navi #gnb > ul > li.btn-link { padding:0 5px 0 30px; }
header #navi #gnb > ul > li:nth-child(5) { padding:0 20px 0 0; }
header #navi #gnb > ul > li.btn-link a { padding:19px 38px; font-size:16px; color:#fff; background-color:#117bf6; border-radius:28px; }
header #navi #gnb > ul > li > .subDepth { opacity:0; position:absolute; left:50%; transform:translateX(calc(-50% - 0.5px)); top:-12px; text-align:center; z-index:-111; transition:all 0.3s ease-in-out; }
header #navi #gnb > ul > li > .subDepth .depth2 { display:none; position:relative; padding:83px 5px 34px 5px; width:100%; background-color:#117bf6; border-radius:10px; }
header #navi #gnb > ul > li > .subDepth li { margin:18px 0 0 0; }
header #navi #gnb > ul > li > .subDepth li:first-child { margin:0; }
header #navi #gnb > ul > li > .subDepth li a { position:relative; display:inline-block; font-size:14px; letter-spacing:-0.02em; font-weight:300; line-height:1; color:#fff;  }
header #navi #gnb > ul > li.on > .subDepth { opacity:1; z-index:2; }
header #navi #gnb > ul > li.on > .subDepth .depth2 { display:block; }
header #navi #gnb > ul > li > .subDepth.menu1 { width:140px; }
header #navi #gnb > ul > li > .subDepth.menu3 { width:180px; }
header #navi #gnb .member_box { display:inline-block; vertical-align:middle; }
header #navi #gnb .member_box li { display:inline-block; vertical-align:middle; }
header #navi #gnb .member_box li.btn_mypage { margin-right:15px; }
header #navi #gnb .member_box li a { padding:19px 38px; font-size:16px; color:#222; line-height:1; font-weight:400; background-color:#f2f2f2; border-radius:28px; display:block; transition:all 0.3s ease-in-out; }
header #navi #gnb .member_box li.btn_mypage a { background-color:#00a0e9; color:#fff; }
header #navi #gnb .member_box li.m { display:none; }

.fp-viewing-Main header #navi #gnb > ul > li > a { color:#fff; }
.fp-viewing-Main header #navi #gnb > ul > li:nth-child(1).on > a,
.fp-viewing-Main header #navi #gnb > ul > li:nth-child(3).on > a { color:#002d65; }
/* .fp-viewing-Main header #navi #gnb > ul > li:nth-child(4) a { color:#117bf6; background-color:#fff; } */
.fp-viewing-Main header #navi #gnb > ul > li.btn-link a { color:#000000; background-color:#ffe157; }
.fp-viewing-Main header #navi #gnb > ul > li > .subDepth .depth2 { background-color:#fff; }
.fp-viewing-Main header #navi #gnb > ul > li > .subDepth li a { color:#666;  }
.fp-viewing-Main header #navi #gnb .member_box li a { color:#fff; background-color:rgba(255,255,255,0.2); }
@media screen and (max-width:1440px){
	header #navi #gnb > ul > li { padding:0 25px; }
}
@media screen and (max-width:1280px){
	header #navi #gnb > ul > li { padding:0 20px; }
	header #navi #gnb .member_box li.btn_mypage { margin-right:4px; }
	header #navi #gnb > ul > li.btn-link { padding:0 5px 0 0; }
	header #navi #gnb > ul > li:nth-child(5) { padding:0 5px 0 0; }
	header #navi #gnb > ul > li.btn-link a,
	header #navi #gnb .member_box li a { padding:19px 24px; }
}

@media screen and (max-width:1024px){
	header.fix { }
	header #navi { display:none; }
	header { height:90px; }
	header h1 { padding:14px 0 0 20px; }
}


.allBox { position:absolute; z-index:7; display:none; }
.allBox.on { z-index:55565; }
.allmenu { width:30px; height:30px; }
.allmenu a { position:absolute; display:block; width:30px; height:30px; background:url(/img/common/btn_mgnb_open_w.png) center center no-repeat; transition:all 0.3s ease-in-out; }
header.fix .allmenu a,
.subbody header .allmenu a { background:url(/img/common/btn_mgnb_open_b.png) center center no-repeat; }
.allmenu.active a,
header.fix .allmenu.active a { background:url(/img/common/btn_mgnb_close.png) center center no-repeat; }
@media screen and (max-width:1024px){
	.allBox {  top:28px; right:50px; display:block; }
}
@media screen and (max-width:760px){
	.allBox {  top:28px; right:20px; }
}

.mobile #allmenuBox { position:fixed; right:-480px; top:0; max-width:480px; width:100%; height:100%; background:#fff; z-index:10000; }
.mobile #allmenuBox .mLogo { z-index:2; position:absolute; top:14px; left:40px; }
.mobile #allmenuBox .mLogo a { display:block; width:180px; height:60px; background:url(/img/common/img_logo.svg) center center no-repeat; }
.mobile #allmenuBox #gnb { position:absolute; top:0; left:0; width:100%; height:100%; padding:155px 50px 0 50px; text-align:right; }
.mobile #allmenuBox #gnb > ul > li { position:relative; border-top:1px solid rgba(255,255,255,0.2); margin-top:40px; }
.mobile #allmenuBox #gnb > ul > li:first-child { margin-top:0; }
.mobile #allmenuBox #gnb > ul > li > a { position:relative; color:#002d65; font-weight:600; font-size:30px; display:inline-block; }
.mobile #allmenuBox #gnb > ul > li:not(.link) > a:before { content:""; display:block; width:11px; height:11px; background:url(/img/common/icon_mgnb_ch.png) center center no-repeat; position:absolute; left:-30px; top:50%;  transform: translateY(-50%); transition:all 0.2s ease-in-out; }
.mobile #allmenuBox #gnb > ul > li.hover > a:before { background:url(/img/common/icon_mgnb_ch_on.png) center center no-repeat;}
.mobile #allmenuBox #gnb > ul > li > .subDepth { position:relative; display:none; padding:30px 0 25px 0; }
.mobile #allmenuBox #gnb > ul > li > .subDepth li { position:relative; margin-top:20px; }
.mobile #allmenuBox #gnb > ul > li > .subDepth li:first-child { margin-top:0; }
.mobile #allmenuBox #gnb > ul > li > .subDepth li a { color:#666; font-weight:300; font-size:16px; }
.mobile #allmenuBox #gnb .member_box { position:absolute; right:0; bottom:50px; max-width:480px; width:100%; text-align:left; }
.mobile #allmenuBox #gnb .member_box ul { border-top:1px solid #e5e5e5; }
.mobile #allmenuBox #gnb .member_box li { position:relative; border-bottom:1px solid #e5e5e5; }
.mobile #allmenuBox #gnb .member_box li a { display:flex; align-items:center; width:100%; height:70px; padding-left:50px; color:#444; font-weight:300; font-size:16px; }
.mobile #allmenuBox #gnb .member_box li:before { content:""; display:block; width:5px; height:9px; background:url(/img/common/icon_mgnb_arr.png) center center no-repeat; position:absolute; right:50px; top:50%;  transform: translateY(-50%);}
@media screen and (max-width:760px){
	.mobile #allmenuBox .mLogo { left:20px; }
	.mobile #allmenuBox #gnb { padding:120px 28px 0 28px;  }
	.mobile #allmenuBox #gnb > ul > li { margin-top:30px; }
	.mobile #allmenuBox #gnb > ul > li > a { font-size:22px; }
	.mobile #allmenuBox #gnb > ul > li > .subDepth { padding:25px 0 20px 0; }
	.mobile #allmenuBox #gnb > ul > li > .subDepth li { margin-top:20px; }
	.mobile #allmenuBox #gnb > ul > li > .subDepth li a { font-size:14px; }
	.mobile #allmenuBox #gnb > ul > li:not(.link) > a:before { left:-20px; }
	.mobile #allmenuBox #gnb .member_box { bottom:40px; }
	.mobile #allmenuBox #gnb .member_box li a {height:60px; padding-left:40px; font-size:14px; }
	.mobile #allmenuBox #gnb .member_box li:before { right:28px; }
}

footer { background-color:#1f242b; padding:80px 0; }
footer .footer_box { position:relative; max-width:1600px; margin:0 auto; }
footer .footer_box .infobox .flogo { font-size:30px; font-weight:700; color:#ccc; font-family: 'Outfit', sans-serif; }
footer .footer_box .infobox ul { padding-top:30px; }
footer .footer_box .infobox ul > li { position:relative; padding-left:60px; margin-top:14px; color:#aaa; font-size:14px; font-weight:400; line-height:140%; width:100%; }
footer .footer_box .infobox ul > li.stxt { padding-left:120px; margin-right:0;}
footer .footer_box .infobox ul > li.w50 { display:inline-block; width:auto; margin-right:50px; }
footer .footer_box .infobox ul > li:first-child { margin-top:0; }
footer .footer_box .infobox ul > li span { position:absolute; left:0; top:0; font-weight:400; }
footer .footer_box .fmenu { position:absolute; right:0; top:0; text-align:right; }
footer .footer_box .fmenu > ul > li { position:relative;display:inline-block; margin-left:10px; padding-left:10px; }
footer .footer_box .fmenu > ul > li:first-child { margin-left:0; padding-left:0; }
footer .footer_box .fmenu > ul > li:before { content:""; display:block; width:1px; height:11px; background:#888; position:absolute; left:0; top:50%; margin-top:-5px; }
footer .footer_box .fmenu > ul > li:first-child:before { display:none; }
footer .footer_box .fmenu > ul > li > a { color:#aaa; font-size:14px; font-weight:300; }
footer .footer_box .fmenu > ul > li > a:hover { color:#ddd; }
footer .footer_box .fmenu .copyright { margin-top:30px; color:#888; font-size:15px; font-weight:400; font-family: 'Outfit', sans-serif;}
@media screen and (max-width:1640px){
	footer { padding:60px 20px; }
}
@media screen and (max-width:1024px){
	footer { padding:60px 20px; }
	footer .footer_box .fmenu { position:relative; text-align:left; margin-top:30px; }
	footer .footer_box .fmenu .copyright { margin-top:15px; }
}



.btn_qbox { position:fixed; top:calc(100% - 130px); right:28px; height:115px; z-index:22; transition:all 0.3s ease-in-out; }
.fp-viewing-Main .btn_qbox { top:50%; transform:translateY(-50%); margin-top:140px; }
/*.btn_qbox.active { position:absolute; }*/
#wrap.active .btn_qbox .btn-top { opacity:1; z-index:1; top:0; bottom:0; }
.btn_qbox .btn-top { position:absolute; right:0; bottom:0; opacity:0; z-index:-1; transition:all 0.3s ease-in-out; }
.btn_qbox .btn-top a { display:flex; width:50px; height:50px; justify-content:center; align-items:center; text-align:center; background-color:#fff; box-shadow:1px 1px 2px rgba(0,0,0,0.15), -1px -1px 2px rgba(0,0,0,0.15); border-radius:100px; transition:all 0.3s ease-in-out; overflow:hidden; }
.btn_qbox .btn-top a i { display:block; color:#222; font-size:18px; }

.btn_qbox .e_mail { position:absolute; right:0; bottom:0; z-index:2; }
.btn_qbox .e_mail .box { display:flex; width:50px; height:50px; justify-content:center; align-items:center; background-color:#fff; box-shadow:1px 1px 2px rgba(0,0,0,0.15), -1px -1px 2px rgba(0,0,0,0.15); border-radius:100px; transition:all 0.3s ease-in-out; overflow:hidden; }
.btn_qbox .e_mail .box span { display:flex; margin-left:58px }
.btn_qbox .e_mail .box span i { color:#ea002a; font-size:16px; }
.btn_qbox .e_mail .box img { }
.btn_qbox .e_mail .box strong { white-space:nowrap; opacity:0; vertical-align:middle; color:#ea002a; font-size:16px; font-weight:700; margin-left:8px;  }
.btn_qbox .e_mail:hover .box  { width:132px; }
.btn_qbox .e_mail:hover .box span { margin-left:0; opacity:0; }
.btn_qbox .e_mail:hover .box strong { opacity:1; }

.btn_qbox { animation:ani_2 0.8s 0.8s; animation-fill-mode:both; }
.btn_qbox .e_mail:hover .box span { animation:ani_5 0.2s 0.2s; animation-fill-mode:both; }

@media screen and (max-width:1440px){
	.btn_qbox { right:30px; }
}
@media screen and (max-width:1024px){
	.btn_qbox { right:18px; }
}
@media screen and (max-width:760px){
	.btn_qbox { right:0; }
}
/*
@media screen and (max-width:640px){
	.btn_qbox { bottom:60px; height:95px; }
	.btn_qbox .btn-top a,
	.btn_qbox .e_mail .box  { width:45px; height:45px; }
	.btn_qbox .e_mail:hover .box  { width:115px; }
	.btn_qbox .e_mail .box span { margin-left:52px }
	.btn_qbox .e_mail .box strong { font-size:14px; }
}
*/


/* privacy */
.privacy { color:#666; width: 100%; overflow: hidden; box-sizing:border-box; padding:20px; font-size:15px;	line-height: 140%; word-break:break-all; }
.privacy h2 { font-size:18px; font-weight:bold; color:#000; text-align: left; margin:50px 0 30px; }
.privacy h2:first-child { margin-top: 0; }
.privacy > p { margin:15px 0; }
.privacy > p+dl { margin-top: 30px; }
.privacy > dl { padding-bottom:20px;}
.privacy > dl > dt{ font-size:15px;color:#3680b9;font-weight:700;padding-bottom:5px;}
.privacy > dl > dd{ padding-bottom:10px;text-align:justify; font-size:15px; line-height:140%;}
.privacy > dl > dd ul{ padding:10px; }
.privacy > dl > dd ul li{ line-height:120%; margin-top: 10px; }
.privacy > dl > dd ul li:first-child { margin-top: 0; }
.privacy > dl > dd ul li p { margin:0 10px 5px; line-height: 140%; margin-top:8px;}
.sTxt h3 { font-size:16px; color: #333; font-weight: 700; margin: 20px 0 10px; }
.sTxt p { margin-top: 10px; }
.sTxt dt { margin-top: 10px; }
.sTxt dd { margin:0 8px; }