@charset "UTF-8";


.only-desktop-tablet {display:block;}
.only-tablet {display:none;}
.only-mobile {display:none;}

h1,h2,h3,h4,h5,h6,strong,th,.bold{font-weight:700;}
table caption {overflow:hidden;width:0;height:0;margin:0;padding:0;font-size:0;line-height:0;text-indent:-999em;}
img{border:0;max-width:100%;vertical-align:top;}

em {font-style:normal}
.blind {position:absolute;overflow:hidden;width:0;height:0;margin:0;padding:0;font-size:0;line-height:0;}
.semibold {font-weight:600;}
img[usemap] {border:none; height:auto; max-width:100%; width:auto;}

a{
	color:inherit;
	text-decoration:none;
	-webkit-transition: all 0.2s ease-in-out;
	   -moz-transition: all 0.2s ease-in-out;
		-ms-transition: all 0.2s ease-in-out;
		 -o-transition: all 0.2s ease-in-out;
			transition: all 0.2s ease-in-out;
}
a:hover,
a:active{
	-webkit-transition: all 0.2s ease-in-out;
	   -moz-transition: all 0.2s ease-in-out;
		-ms-transition: all 0.2s ease-in-out;
		 -o-transition: all 0.2s ease-in-out;
			transition: all 0.2s ease-in-out;
}

::-webkit-input-placeholder {color:#bababa; font-weight:300;}
:-moz-placeholder {color:#bababa; font-weight:300;}
::-moz-placeholder {color:#bababa; font-weight:300;}
:-ms-input-placeholder {color:#bababa; font-weight:300;}
:placeholder-shown {color:#bababa; font-weight:300;}


.text-align {text-align:center;}
.mgb55 {margin-bottom:55px !important;}

.f-s30 {font-size:30px; line-height:1.4em;}
.f-s60 {font-size:60px;}

.focus-color {color:#155cc0;}


.input {height:55px; padding:4px 15px;color:#151515; background:#fff; font-size:18px; line-height:1.5em; letter-spacing:-.025em; border:1px solid #dcdcdc;}
.input[readonly] {background-color:#eee; color:#878787;}
select.input {padding-right:40px; background:#fff url('../img/bbs/select.png') right 14px center no-repeat; -webkit-appearance:none; -moz-appearance:none; appearance:none;}
select.input::-ms-expand {display:none;}
textarea.input {height:auto; padding:7px 14px; overflow:auto; resize:none;}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox  */
input[type='number'] {
  -moz-appearance: textfield;
}


#wrapper {background:url('../img/common/header_bg_wide.jpg') 0 0 no-repeat;}

/* header */
#header {position:fixed; top:0; left:0; width:100%; background:#fff url('../img/common/header_bg.jpg') 0 100% no-repeat; transition: all 0.2s; border-bottom:0;}
#header .inner {position:relative; height:107px; display:flex; align-items:center;}
.sitelogo {width:267px;}
.sitelogo a {display:block;}
#gnb {flex:1 1 auto; min-width:0; width:1%;}
#gnb > ul {display:flex;justify-content: center; margin-right:-66px;}
#gnb > ul > li {position:relative;}
#gnb > ul > li > a {display:block; color:#111; font-size:20px; line-height:107px; font-weight:400; padding-right:66px;}
#gnb > ul > li > a:hover,
#gnb > ul > li.active > a {color:#2d69be; font-weight:700;}

#gnb .submenu {height:0; overflow:hidden; position:absolute; left:0; width:100%; z-index:50;}
#gnb .submenu > ul {padding:40px 0;}
#gnb .submenu > ul > li {margin-bottom:16px; text-align:left;}
#gnb .submenu > ul > li:last-child {margin-bottom: 0;}
#gnb .submenu > ul > li > a {display:block; color: #111;font-size:18px;line-height:1.4em; padding-right:0;}
#gnb .submenu > ul > li > a:hover {color:#2d69be; font-weight:700;}
#gnb .depth3 {display:none;}

.submenu-bg {display:none; position:absolute; left:0; width:100%; border-top:1px solid #dedede; background: url('../img/common/header_bg_wide.jpg') 0 100% no-repeat; background-size:cover; z-index:1;}
.submenu-bg:after {content:"";position:absolute; top:0; right:0; width:100%; height:100%; background: url('../img/common/header_dav.png') 100% 100% no-repeat;}


.header-fixed #header {border-bottom:1px solid #dedede; z-index:90} 

.util {overflow:hidden;}
.util ul {display:flex; margin:0 -13px;}
.util ul li {padding:0 13px; position:relative; font-size:16px ;line-height:1.4em}
.util ul li:after {content:""; position:absolute; top:50%; left:0; width:1px; height:12px; background:#ccc; margin-top:-6px;}
.util ul li:first-child:after {display:none;}
.util ul li a {display:block; color:#111;}

/* for mobile */
.btn-m-menu {display:none; position:absolute; top:50%; right:20px; width:24px; height:20px; margin-top:-10px; text-align:center; z-index:50;}
.btn-m-menu span {position:absolute; left:0; right:0; top:50%; margin-top:-1px; height:2px; background:#111;}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; left:0; right:0; height:2px; background:#111;}
.btn-m-menu span:before {top:-8px;}
.btn-m-menu span:after {bottom:-8px;}

.mobile-navigation {display:none; position:fixed; top:0; right:0; width:100%; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:1005;}
.mobile-navigation .head {background:#fff; padding-left:20px;}
.mobile-navigation .head a {display:flex; align-items:center; height:60px;}
.mobile-navigation .head img {height:22px}
.mobile-navigation .m-util {border-top:1px solid #ddd; border-bottom:1px solid #ddd;}
.mobile-navigation .m-util ul {display:flex;}
.mobile-navigation .m-util ul li {flex:1; text-align:center; position:relative; font-size:15px;line-height:50px}
.mobile-navigation .m-util ul li:after {content:""; position:absolute; top:50%; left:0; width:1px; height:12px; background:#ccc; margin-top:-6px;}
.mobile-navigation .m-util ul li:first-child:after {display:none;}
.mobile-navigation .m-util ul li a {display:block; color:#111;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:20px 20px; display:block; color:#000; font-size:18px; line-height:18px; border-bottom:1px solid #ddd;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:20px; transform:translateY(-75%) rotate(45deg); width:10px; height:10px; border-right:2px solid #000; border-bottom:2px solid #000;}
.mobile-navigation .nav-menu>ul>li.active>a {color:#155cc0 ;font-weight:700; border-bottom:0; background:#f3f3f3}
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); border-color:#155cc0 ;}
.mobile-navigation .nav-menu .submenu {display:none; margin:-1px 0 0 0; padding:18px 20px; background:#fff; border-bottom:1px solid #ddd;}
.mobile-navigation .nav-menu .submenu>ul>li>a {display:block; padding:6px 0; color:#000; font-size:16px; line-height:1.3em;}
.mobile-navigation .nav-menu .depth3 {display:none;}
.mobile-navigation .close {position:absolute; top:18px; right:15px; width:24px; height:24px; opacity:1;}
.mobile-navigation .close:before,
.mobile-navigation .close:after {content:" "; position:absolute; top:50%; left:0; width:100%; height:2px; background:#111;}
.mobile-navigation .close:before {transform:rotate(45deg);}
.mobile-navigation .close:after {transform:rotate(-45deg);}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:.6; z-index:1003}



html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}


#contents {margin-top:107px;}



/* footer */
#footer {background:#202020;  font-size:18px; line-height:1.4em; color:#fff;}
#footer .inner {position:relative;}

.foot-inner {display:flex; align-items:center; padding:60px 0;}
.foot-inner .info {flex:1 1 auto; min-width:0; width:1%;}
.foot-inner .tit {font-size:22px; line-height:1.4em; font-weight:700; margin-bottom:10px;}
.foot-inner p {opacity:.44;}
.foot-inner .foot-logo {line-height:0;}

.foot-copy {border-top:1px solid rgba(255,255,255,.20); padding:30px 0;}
.foot-copy .copy {opacity:.15;}
