@charset 'utf-8';

.body_hidden {height:100%; min-height:100%; overflow:hidden; touch-action:none;}
#wrap {  position:relative; overflow:hidden; background-color:#fff; }

body,html { min-height:100% }
#wrap { min-height:calc(100vh - 100px);}
@media screen and (max-width:1008px){
	#wrap { min-height:100%; }
}

.inner { max-width:1300px; margin:0 auto; position:relative; }
.inner:after {content:""; display:block; visibility:hidden; clear:both; height:0; }
@media screen and (max-width:1320px){
	.inner { padding:0 20px; }
}

.inner1400 { max-width:1400px; margin:0 auto; }
.inner1400:after {content:""; display:block; visibility:hidden; clear:both; height:0; }
@media screen and (max-width:1420px){
	.inner1400 { padding:0 20px; }
}


/* header */
header { position:fixed; width:100%; z-index:999; height:186px; transition:all 0.3s ease-in-out; background-color:#fff; top:0;}
header h1 { text-align:left; z-index:999; transition:all 0.3s ease-in-out }
header h1 a { display:inline-block; width:135px; transition:all 0.3s ease-in-out; }
header .top-box { position:relative; height:120px; z-index:5; background-color:#fff; border-bottom:1px solid #ddd; padding:32px 0 0 0;  }
header .top-box .inner { display:flex; justify-content:space-between;}
header .top-box .inner:after { display:none }
header .top-box .l-box { position:relative; display:flex; }
header .top-box .l-box .ipbtn { display:flex; margin:3px 0 0 50px; }
header .top-box .l-box .ipbtn .ip { position:relative; }
header .top-box .l-box .ipbtn .ip input[type="text"] { width:630px; height:50px; outline:none; border:none; border-radius:50px; background-color:#f5f5f5; padding:0 25px; font-size:14px; font-weight:400; color:#111; }
header .top-box .l-box .ipbtn .ip button { position:absolute; right:4px; top:3px; width:44px; height:44px; border-radius:50px; outline:none; border:none; overflow:hidden; text-indent:-999em; background:#f7941c url(/img/common/search_btn.png) center center no-repeat; }
header .top-box .l-box .ipbtn .txt {  }
header .top-box .l-box .ipbtn .txt a { text-align:center; font-weight:400; font-size:16px; color:#333; display:flex; align-items:center; justify-content:center; width:112px; height:50px; border-radius:50px; background-color:#fff; margin-left:12px; border:1px solid #eaeaea;}
header .top-box .r-box { position:relative; display:flex; justify-content: flex-end;}
header .top-box .r-box ul { display:flex; gap:0 18px; }
header .top-box .r-box ul li { text-align:center; }
header .top-box .r-box ul li strong { display:block; margin-top:10px; font-size:14px; font-weight:500; color:#b4b4b4; white-space:nowrap; }
header .top-box .r-box ul li a:hover strong { color:#f7941c;}
header .top-box .r-box ul li .cls-1{fill:#b4b4b4;}
header .top-box .r-box ul li .cls-2{fill:none;}
header .top-box .r-box ul li .icon { width:25px; margin:0 auto; display:block }
header .top-box .r-box ul li a:hover .cls-1{fill:#f7941c;}

header #navi { position:relative; width:100%; }
header #navi.over:after { content:""; display:block; position:absolute; left:0; top:65px; width:100%; height:1px; background-color:#f8f8f8; z-index:1; }
header #navi #gnb { position:relative; text-align:center; z-index:2; }
header #navi #gnb > ul { display:inline-block; margin:0 auto; display:flex; justify-content:center; padding-top:20px; height:45px; transition:all 0.3s ease-in-out }
header #navi #gnb > ul > li { position:relative; width:260px; transition:all 0.3s ease-in-out; }
header #navi #gnb > ul > li > a { position:relative; font-weight:500; font-size:20px; color:#222; transition:all 0.1s ease-in-out; padding:0 10px; }
header #navi #gnb > ul > li > a:before { content:""; display:block; position:absolute; left:50%; bottom:-24px; transform:translateX(-50%); z-index:4; width:0; height:2px; background-color:#f7941c; transition:all 0.3s ease-in-out }
header #navi.over #gnb > ul > li.on > a:before,
header #navi #gnb > ul > li > a:hover:before { width:100%; }
header #navi.over #gnb > ul > li.on > a,
header #navi.over #gnb > ul > li:hover > a { color:#f7941c; }
header #navi #gnb > ul > li > ul { display:none; position:absolute; left:0; padding:60px 0 45px 0; top:20px; min-width:100%; width:100%; text-align:center; background:none; z-index:3; }
header #navi #gnb > ul > li > ul > li { position:relative; opacity:0; }
header #navi #gnb > ul > li > ul > li:not(:last-child){ margin-bottom:25px; }
header #navi #gnb > ul > li > ul > li > a { position:relative; font-size:16px; font-weight:400; color:#666;}
header #navi #gnb > ul > li > ul > li.on > a { color:#f7941c; }
header #navi #gnb > ul > li > ul > li a:hover { color:#f7941c; }
header #navi #gnb > ul > li > ul > li { animation:gnbSub 0.5s 0.3s; animation-fill-mode:forwards; }
header.on #navi.over #gnb > ul > li > ul { display:block; }
header .gnb_bg { min-height:0; position:absolute; top:110px; left:0; width:100%; background-color:rgba(255,255,255,1); transition:all 0.3s ease-in-out; box-shadow:0 0 5px rgba(0,0,0,0.1); }
header .gnb_bg.on { min-height:340px; }
@keyframes gnbSub {
	0% { transform:translateY(30px); opacity:0; }
	100% { transform:translateY(0); opacity:1; }
}
@media screen and (max-width:1280px){
	header .top-box .l-box .ipbtn .ip input[type="text"] { width:500px; }
}
@media screen and (max-width:1024px){
	header { height:100px; }
	header .top-box { height:100px; padding:20px 0 0 0;  }
	header .top-box .l-box { width:calc(100% - 120px); }
	header .top-box .l-box .ipbtn { margin:3px 0 0 20px; }
	header .top-box .l-box .ipbtn .ip input[type="text"] { width:290px; }
	header .top-box .l-box .ipbtn .txt { margin-left:6px; }
	header .top-box .r-box { margin-right:55px; }
	header #navi { display:none; }
}
@media screen and (max-width:760px){
	header { height:130px; }
	header h1 a { width:115px; }
	header .top-box { height:130px; padding:15px 0 0 0;  }
	header .top-box .search-box { position:absolute; width:100vw; top:55px; }
	header .top-box .l-box .ipbtn { margin:0; width:100%; }
	header .top-box .l-box .ipbtn .ip { width:calc(100% - 145px);}
	header .top-box .l-box .ipbtn .ip input[type="text"] { width:100%; height:40px; }
	header .top-box .l-box .ipbtn .txt { height:40px; font-size:14px; width:100px; }
	header .top-box .l-box .ipbtn .ip button { width:34px; height:34px; }
	header .top-box .r-box ul li strong { margin-top:5px; font-size:13px; }
}


.allmenu { position:absolute; z-index:7; right:20px; top:22px; display:none; }
.allmenu a { display:block; width:32px; height:32px; display:flex; align-items:center; transition:all 0.3s ease-in-out;}

.allmenu span { position:relative; width:100%; height:3px; background-color:#222; display:block; }
.allmenu span:before { content:""; display:block; width:15px; height:3px; background-color:#222; position:absolute; left:0; top:-9px; }
.allmenu span:after { content:""; display:block; width:15px; height:3px; background-color:#222; position:absolute; right:0; top:9px; }

@media screen and (max-width:1540px){
	header .top-right { right:40px; }
	header .top-right .sns { display:none }
}

@media screen and (max-width:1024px){
	header .top-right { display:none; }
	.allmenu { position:absolute; z-index:7; display:block; }
}
@media screen and (max-width:760px){
	.allmenu { top:18px; }
}




.mobile #allmenuBox { position:fixed; right:-480px; top:0; max-width:480px; width:100%; height:100vh; background:#222; z-index:1000; transition:all 0.3s 0.1s ease-in-out; }
.mobile #allmenuBox.on { right:0; }
.mobile #allmenuBox .a_box { position:relative; padding:20px; height:100%; }
.mobile #allmenuBox .menuBox { margin-top:60px; width:100%; height:calc(100% - 160px); padding:0 20px; overflow:auto; }
.mobile #allmenuBox .menuBox .inner { padding:0; }
.mobile #allmenuBox .menuBox > ul > li { position:relative; margin-top:35px; }
.mobile #allmenuBox .menuBox > ul > li:first-child { margin-top:0; }
.mobile #allmenuBox .menuBox > ul > li > a { position:relative; color:#fff; font-weight:700; font-size:22px; display:inline-block; }
.mobile #allmenuBox .menuBox > ul > li > .subDepth { position:relative; display:none; padding:35px 0 30px 0px; }
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li { position:relative; margin-top:0; padding:12px 20px; border-radius:10px; }
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li:first-child { margin-top:0; }
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li > a { position:relative; color:#ccc; font-weight:300; font-size:18px; cursor:pointer; transition:all 0.3s }
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li.on > a { color:#0898e3; }
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul { padding:20px 0 15px 10px; display:none; position:relative; }
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul li:not(:last-child) { margin-bottom:12px; }
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul li a { font-size:15px; font-weight:500; }
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul li a:hover { color:#ccc; }
.mobile #allmenuBox .menuBox > ul > li > .subDepth > li ul li span { display:none; }
.mobile #allmenuBox .btn_close { position:absolute; right:20px; top:20px; width:40px; height:40px; z-index:11; opacity:1; cursor:pointer; }
.mobile #allmenuBox .btn_close:before { content:""; display:block; width:25px; height:3px; background-color:#fff; position:absolute; left:0; top:0; margin:15px 0 0 8px; transform:rotate(-45deg); }
.mobile #allmenuBox .btn_close:after { content:""; display:block; width:25px; height:3px; background-color:#fff; position:absolute; left:0; top:0; margin:15px 0 0 8px; transform:rotate(45deg); }


footer { background-color:#222; position:relative; z-index:22; }
footer .common-b { background-color:#ddd; padding:17px 0; }
footer .common-b > div { display:flex; justify-content:space-between; }
footer .common-b > div:after { display:none }
footer .common-b .banner > ul { display:flex; align-items:center; padding-top:4px; }
footer .common-b .banner > ul > li { position:relative; margin-left:28px; padding-left:28px; }
footer .common-b .banner > ul > li:first-child { margin-left:0; padding-left:0; }
footer .common-b .banner > ul > li:after { content:""; display:block; position:absolute; left:0; top:50%; margin-top:-6px; width:1px; height:12px; background-color:#cdcdcd; }
footer .common-b .banner > ul > li:first-child:after { display:none; }
footer .common-b .sns > ul { display:flex; justify-content:flex-end; }
footer .common-b .sns > ul > li { position:relative; margin-left:10px; }
footer .common-b .sns > ul > li:first-child { margin-left:0; }
footer .infobox { display:flex; justify-content:space-between; padding:45px 0 85px; }
footer .infobox .l-box { /*width:calc(100% - 280px); display:flex;*/ }
footer .infobox .l-box .flogo { width:100px; }
footer .infobox .l-box .flogo .cls-1,
footer .infobox .l-box .flogo .cls-2,
footer .infobox .l-box .flogo .cls-3,
footer .infobox .l-box .flogo .cls-4{fill:#777;}
footer .infobox .l-box .info { padding-top:17px; margin-left:0; }
footer .infobox .l-box .info span.bar { margin:0 10px; display:inline-block; width:1px; height:12px; background-color:#777; overflow:hidden; vertical-align:middle; margin-top:-2px; }
footer .infobox .l-box .info p { font-size:14px; font-weight:300; color:#777 }
footer .infobox .l-box .info address { font-size:14px; font-weight:300; color:#777; margin:30px 0 15px 0; }
footer .infobox .l-box .info .txt { font-size:14px; font-weight:300; color:#777 }
footer .infobox .r-box { width:280px;}
footer .infobox .r-box { position:relative; padding-top:50px; }
footer .infobox .r-box .sns { position:absolute; right:0; top:0; }
footer .infobox .r-box .sns > ul { display:flex; justify-content:flex-end; }
footer .infobox .r-box .sns > ul > li { position:relative; margin-left:10px; }
footer .infobox .r-box .sns > ul > li:first-child { margin-left:0; }
footer .infobox .r-box .fmenu > ul { display:flex; justify-content:flex-end; }
footer .infobox .r-box .fmenu > ul > li { position:relative; margin-left:13px; padding-left:13px; }
footer .infobox .r-box .fmenu > ul > li:after { content:""; display:block; position:absolute; left:0; top:50%; margin-top:-6px; width:1px; height:12px; background-color:#777; }
footer .infobox .r-box .fmenu > ul > li:first-child:after { display:none; }
footer .infobox .r-box .fmenu > ul > li:first-child { margin-left:0; padding-left:0; }
footer .infobox .r-box .fmenu > ul > li a { color:#777; font-size:14px; font-weight:300; }
footer .infobox .r-box .fmenu > ul > li a:hover { color:#f7941d}
footer .infobox .r-box .family { position:relative; margin-top:30px; background-color:#434343; border-radius:30px; }
footer .infobox .r-box .family > a { position:relative; z-index:5; color:#fff; font-size:14px; font-weight:300; display:block; padding:18px 28px; }
footer .infobox .r-box .family:after { content:"\e930"; display:block; position:absolute; right:28px; top:50%; margin-top:-4px; color:#fff; font-family:xeicon; font-size:13px; font-weight:300; }
footer .infobox .r-box .family.on:after { content:"\e936"; }
footer .infobox .r-box .family .sbox { display:none; position:absolute; bottom:0; left:0; background-color:#434343; width:100%; padding:25px 28px 55px 28px; border-radius:30px;}
footer .infobox .r-box .family .sbox.on { display:block; }
footer .infobox .r-box .family ul { }
footer .infobox .r-box .family ul > li:not(:last-child) { margin-bottom:10px; }
footer .infobox .r-box .family ul > li a { color:#fff; font-size:14px; font-weight:300; }
footer .infobox .copyright { margin-top:0; font-size:14px; font-weight:300; color:#777 }
@media screen and (max-width:1024px){
	footer .common-b > div { flex-wrap:wrap; }
	footer .common-b .banner { width:100%; }
	footer .common-b .banner > ul { justify-content:center; flex-wrap:wrap; gap:10px 0}
	footer .common-b .banner > ul > li { margin-left:20px; padding-left:20px; }
	footer .common-b .sns { width:100%;  margin-top:20px; }
	footer .common-b .sns > ul { justify-content:center; }
	footer .infobox { padding:45px 0 60px; flex-wrap:wrap; }
	footer .infobox .l-box,
	footer .infobox .r-box { width:100%; }
	footer .infobox .r-box .sns { position:relative; right:unset; top:unset; }
	footer .infobox .r-box .sns ul { justify-content:center; }
	footer .infobox .l-box { display:flex; width:100%; flex-wrap:wrap; }
	footer .infobox .l-box .flogo { margin:0 auto }
	footer .infobox .l-box .info { padding-top:25px; margin-left:0; width:100%; text-align:center }
	footer .infobox .r-box .fmenu { margin-top:30px; }
	footer .infobox .r-box .fmenu > ul { justify-content:center; }
	footer .infobox .r-box .family { max-width:280px; margin:0 auto; margin-top:20px; }
}


.btn_topbox { position:fixed; right:80px; bottom:40px; z-index:6; }
.btn_topbox .btn-down a { margin-bottom:13px; display:block; width:55px; height:55px; text-indent:-999em; overflow:hidden; border:1px solid #f7941d; border-radius:6px; background:#f7941d url(/img/common/btn_down.png) no-repeat center center;}
.btn_topbox .btn-top a { display:block; width:55px; height:55px; text-indent:-999em; overflow:hidden; border:1px solid #eaeaea; border-radius:6px; background:#fff url(/img/common/btn_top.png) no-repeat center center;}
@media screen and (max-width:1600px){
	.btn_topbox { position:fixed; right:20px; bottom:40px; }
}
@media screen and (max-width:1024px){
	.btn_topbox .btn-down a { margin-bottom:8px; }
	.btn_topbox .btn-down a,
	.btn_topbox .btn-top a { width:45px; height:45px; }
}




/* privacy */
.privacy { color:#666; width: 100%; overflow: hidden; box-sizing:border-box; padding:20px; margin-top:5%; font-size:15px;line-height:1.4; word-break:break-all; }
.privacy h2 { font-size:18px; font-weight:bold; color:#222; 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:16px; color:#222;font-weight:700;padding-bottom:5px;}
.privacy > dl > dd{ padding-bottom:10px;text-align:justify; font-size:15px; line-height:1.4;}
.privacy > dl > dd ul{ padding:10px; }
.privacy > dl > dd ul li{ line-height:1.2; 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: #222; font-weight: 700; margin: 20px 0 10px; }
.sTxt p { margin-top: 10px; }
.sTxt dt { margin-top: 10px; }
.sTxt dd { margin:0 8px; }



/* title */
.title-box { text-align:center; }
.title-box h3 { position:relative; color:#111; font-size:30px; font-weight:700; padding-right:25px; display:inline-block; }
.title-box h3:before { content:""; display:block; position:absolute; right:0; top:0; width:19px; height:25px; background:url(/img/main/title_logo.png) center center no-repeat;}
@media screen and (max-width:640px){
	.title-box h3 { font-size:24px; }
	.title-box h3:before { background-size:15px; top:-2px;}
}


#privacy section { margin-top:50px; color:#111;line-height:1.6  }
#privacy ection .b_border { border-bottom:solid 1px #dddd; }
#privacy.w50 > div > section .b_border { border-bottom:none; }
#privacy *[data-text="tit"]{margin-bottom:60px; text-align:center; font-size:28px; font-weight:700;  }
#privacy *[data-text="txt"]{margin-bottom:20px;text-align:left;font-size:15px; }
#privacy *[data-text="txt"] span + span{display:block;}
#privacy *[data-text="txt"] em{ color:#111;}
#privacy *[data-text="txt"]+*[data-text="txt"]{margin-top:10px;}
#privacy *[data-list="normal"] {width:100%;}
#privacy *[data-list="normal"] dt{margin:0 0 10px 0;font-size:17px;color:#111;}
#privacy *[data-list="normal"] dd {margin:0 0 15px 0;font-size:14px;text-align:center;color:#666;}
#privacy *[data-list="normal"]>dd>div+div{margin-left:50px;}
#privacy *[data-list="bullet"]{padding:0 0 0 40px; }
#privacy *[data-list="bullet"] > li{color:#333;line-height:1.4;font-size:14px;}
#privacy *[data-footer="list1"]>li:nth-child(5) 
#privacy *[data-list="bullet"] > li+li{margin-top:30px;}
#privacy *[data-list="normal"] strong{display:inline-block;margin:0 0 10px 0;font-family:roboto;font-weight:normal;font-size:15px;color:#111;}
#privacy *[data-list="normal"] dd{text-align:left;color:#666;}
#privacy *[data-list="normal"] dd.t_center{display:flex;padding-left:30px;text-align:center;}
#privacy *[data-list="normal"].num{margin-bottom:20px;padding-left:40px;color:#666;font-size:15px;}
#privacy *[data-list="normal"] li{display:block;}
#privacy *[data-list="normal"].num li+li{margin-top:7px;}
#privacy *[data-list="normal"]>dd>div{display:inline-block;max-width:280px;font-size:14px;line-height:21px;text-align:left;}
#privacy *[data-footer="list1"]>li:first-child{padding-top:50px;}
#privacy *[data-box="content"]{margin:auto;padding:20px 0 30px 0; }
#privacy *[data-list="normal"] a{text-decoration:underline;}
#privacy *[data-footer="list1"]{padding:50px 0 0 0 ;}
#privacy *[data-footer="list1"]:first-child{padding:0;}
#privacy *[data-footer="list1"]>li+li{margin-bottom:40px;}
#privacy *[data-footer="list1"]>li:nth-child(6) li+li{margin-top:20px;}
@media screen and (max-width:760px){
	#privacy *[data-text="tit"]{margin-bottom:50px;}
	#privacy *[data-list="normal"]>dd>div { display:block; }
	#privacy *[data-list="normal"]>dd>div+div{margin:25px 0 40px 0;}
	#privacy *[data-list="bullet"]{padding:0 0 0 15px; }
	#privacy *[data-list="normal"] dd.t_center{padding-left:15px;}
	#privacy *[data-list="normal"].num{padding-left:15px;}
	#privacy *[data-list="normal"] dd.t_center { display:block; }
	#privacy *[data-list="normal"]>dd>div{ max-width:100%; }
}

*[data-layer] .inner.b_none{padding:0;border:none;}
*[data-layer] .simul dl{display:table;width:100%;border-bottom:solid 1px #ccc;}
*[data-layer] .simul dt{display:table-cell;padding:15px 0;width:70%;line-height:15px;color:rgba(255,255,255,0.6);font-size:13px;vertical-align:middle;text-align:left;}
*[data-layer] .simul dd{padding:15px 0;line-height:15px;color:rgba(255,255,255,0.6);font-size:13px;text-align:left;}
*[data-layer] .simul .dl_h > *{color:#fff;font-weight:bold;}
*[data-layer] .simul.type1{border-top:solid 1px #ccc;}
*[data-layer] .simul.type1 dt{width:25%;font-weight:bold;font-size:14px;color:#fff;}
*[data-layer] .simul.type1 dd{line-height:21px;}
*[data-layer] .simul.type1 p{margin-top:10px;line-height:21px;font-size:14px;color:rgba(255,255,255,0.6);}

*[data-layer="type1"]{ height:initial;max-height:402px;}
*[data-layer="type1"] h1{margin-bottom:15px;line-height:39px;font-size:32px;}
*[data-layer="type1"] p{line-height:26px;font-size:18px;text-align:center;}