@charset "UTF-8";


:root {

    /* size */
    --inner: 1800;

    --font-size-13 : clamp(12px, calc( 13 / var(--inner) * 100vw ), 13px);
    --font-size-14 : clamp(12px, calc( 14 / var(--inner) * 100vw ), 14px);
    --font-size-15 : clamp(13px, calc( 15 / var(--inner) * 100vw ), 15px);
    --font-size-16 : clamp(14px, calc( 16 / var(--inner) * 100vw ), 16px);
    --font-size-17 : clamp(15px, calc( 17 / var(--inner) * 100vw ), 17px);
    --font-size-18 : clamp(15px, calc( 18 / var(--inner) * 100vw ), 18px);
    --font-size-20 : clamp(16px, calc( 20 / var(--inner) * 100vw ), 20px);
    --font-size-22 : clamp(17px, calc( 22 / var(--inner) * 100vw ), 22px);
    --font-size-24 : clamp(16px, calc( 24 / var(--inner) * 100vw ), 24px);
    --font-size-28 : clamp(19px, calc( 28 / var(--inner) * 100vw ), 28px);
    --font-size-32 : clamp(24px, calc( 32  / var(--inner) * 100vw ), 32px);
    --font-size-34 : clamp(25px, calc( 34 / var(--inner) * 100vw ), 34px);
    --font-size-38 : clamp(26px, calc( 38 / var(--inner) * 100vw ), 38px);
    --font-size-40 : clamp(24px, calc( 40 / var(--inner) * 100vw ), 40px);
    --font-size-46 : clamp(26px, calc( 46 / var(--inner) * 100vw ), 46px);
    --font-size-48 : clamp(30px, calc( 48 / var(--inner) * 100vw ), 48px);
    --font-size-50 : clamp(34px, calc( 50 / var(--inner) * 100vw ), 50px);
    --font-size-56 : clamp(26px, calc( 56 / var(--inner) * 100vw ), 56px);
    --font-size-60 : clamp(30px, calc( 60 / var(--inner) * 100vw ), 60px);
    --font-size-64 : clamp(30px, calc( 64 / var(--inner) * 100vw ), 64px);
    --font-size-70 : clamp(32px, calc( 70 / var(--inner) * 100vw ), 70px);
    --font-size-80 : clamp(32px, calc( 80 / var(--inner) * 100vw ), 80px);
    --font-size-90 : clamp(44px, calc( 90 / var(--inner) * 100vw ), 90px);
    --font-size-120 : clamp(60px, calc( 120 / var(--inner) * 100vw ), 120px);
    --font-size-180 : clamp(60px, calc( 180 / var(--inner) * 100vw ), 180px);
    --font-size-200 : clamp(60px, calc( 200 / var(--inner) * 100vw ), 200px);

    /* color */
	--primary-color: #d71820;
	--white-color: #fff;
    --dark-color:#151515;
	--white-light-color: rgba(255,255,255,.80);
    --secondary-color:rgba(21,21,21,.80);
    --border-color: #dedede;
    --blue-color:#1d388d;
    --foot-bg-color:#020202;
}

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; display:block;}
.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:#999; font-weight:300;}
:-moz-placeholder {color:#999; font-weight:300;}
::-moz-placeholder {color:#999; font-weight:300;}
:-ms-input-placeholder {color:#999; font-weight:300;}
:placeholder-shown {color:#999; font-weight:300;}


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

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


.blue-color {color:#15D2CC;}


.input {height:55px; padding:4px 0;color:#1b1b1b; background:#fff; font-size:20px; line-height:1.5em; letter-spacing:-.025em; border:1px solid #dcdcdc;}
.input[readonly] {background-color:#eee; color:#878787;}
select {padding-right:40px; background:#fff url('../img/bbs/select.png') right 14px center no-repeat; -webkit-appearance:none; -moz-appearance:none; appearance:none;}
select::-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;
  appearance: textfield;
}

.video-container {position:relative; padding-bottom:56.25%; overflow:hidden;}
.video-container video,
.video-container iframe {position:absolute; top:0; left:0; width:100%; height:100%;}



/* header */
#header {position:fixed; top:0; left:0; width:100%; transition: all 0.3s ease-out; z-index:101;}
#header .inner {position:relative; max-width:1800px;}
.sitelogo {position:absolute; top:50%; left:20px; margin-top: -22.5px; z-index:2}
.sitelogo a {display:block; width:141px; height: 45px; background:url('../img/common/logo.png') 0 50% no-repeat; background-size:contain;} 

#gnb {position:relative;}
#gnb > ul {display:flex;justify-content:center; }
#gnb > ul > li {position: relative; width:230px; text-align: center;}
#gnb > ul > li > a {display:block; color:var(--white-color); font-size:var(--font-size-18); line-height:108px;}
#gnb > ul > li > a:hover,
#gnb > ul > li.active > a {color:var(--primary-color) !important; font-weight: 700;}
#gnb > ul > li:nth-child(1) .submenu:before {content:""; position: absolute; top:0; left:0; width:1px; height: 100%; background:var(--border-color)}


#gnb .submenu {position:absolute; left:0; top:108px; width:100%; height:0; transition:.2s; overflow: hidden; z-index:50;}
#gnb .submenu:after {content:""; position: absolute; top:0; right:0; width:1px; height: 100%; background:var(--border-color)}
#gnb .submenu > ul {position:relative; padding:30px 0 20px;}
#gnb .submenu > ul > li {margin-bottom:10px;}
#gnb .submenu > ul > li:last-child {margin-bottom: 0;}
#gnb .submenu > ul > li > a {position: relative; display:block; margin-bottom:20px;color:var(--dark-color); font-size:var(--font-size-18);line-height:1.4em;}
#gnb .submenu > ul > li > a:hover {font-weight: 700;}
#gnb .depth3 {display:none !important;}

.submenu-bg {display:none; position: absolute; top:108px; left:0; width:100%; background:var(--white-color); border-top: 1px solid var(--border-color); z-index:10;}

:lang(ru) #gnb .submenu > ul {padding:30px 20px 20px;}

.lang {position:absolute; top:50%; right:50px; width:45px; transform: translateY(-50%); z-index:12;}
.lang .tit {display:block; position:relative; width:100%; height:24px; background:url('../img/common/ico_lang.png') 0 50% no-repeat; background-size:contain;}
.lang .tit:after {content:""; position:absolute; top:50%; right:0; transform:translateY(-75%) rotate(45deg); width:7px; height:7px; border-right:1px solid var(--white-color); border-bottom:1px solid var(--white-color);}
.lang ul {position:absolute; top:30px; left:50%; padding:4px; width:80px; transform: translateX(-50%); background:var(--white-color); border-radius: 4px; border:1px solid var(--border-color); transition: all 0.2s; z-index:-9999em; opacity:0;}
.lang ul li {margin-bottom:3px; text-align:center; padding-bottom:3px;border-bottom: 1px solid var(--border-color);}
.lang ul li:last-child {margin-bottom:0; border-bottom:0; padding-bottom:0;} 
.lang ul li a {display:bolck; font-size:14px; line-height:1.4em; font-weight: 500; color:var(--dark-color);}
.lang ul li a:hover {color:var(--primary-color);}
.lang.active .tit:after {transform:translateY(-50%) rotate(-135deg); }
.lang.active ul {opacity:1; z-index:12;}

#header.header-hover {background:var(--white-color);}
#header.header-hover #gnb > ul > li > a {color:var(--dark-color);}
#header.header-hover .sitelogo a {background-image:url('../img/common/logo_hover.png')}
#header.header-hover .lang .tit {background-image:url('../img/common/ico_lang_on.png');}
#header.header-hover .lang .tit:after {border-color:var(--dark-color);}




/* for mobile */
.btn-m-menu {display:none; position:absolute; top:50%; margin-top:-12px; right:20px; width:30px; height:24px; text-align:center; z-index:50;}
.btn-m-menu span {position:absolute; left:0; right:0; top:50%; margin-top:-1px; width:100%; height:2px; background:var(--white-color);}
.btn-m-menu span:before,
.btn-m-menu span:after {content:" "; position:absolute; left:0; right:0; height:2px; background:var(--white-color);}
.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:70%; height:100%; overflow:auto; transition:.3s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); background:#fff; z-index:1005;}
.mobile-navigation .head {padding-left:20px;}
.mobile-navigation .head a {display:flex; align-items:center; height:80px;}
.mobile-navigation .head img {height:40px}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #dedede;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:15px 20px; display:block; color:var(--secondary-color); font-size:1.3rem; line-height:1.3em; font-weight: 700;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:30px; transform:translateY(-75%) rotate(45deg); width:10px; height:10px; border-right:2px solid var(--dark-color); border-bottom:2px solid var(--dark-color); opacity:.80;}
.mobile-navigation .nav-menu>ul>li.active>a {color:var(--primary-color);}
.mobile-navigation .nav-menu>ul>li.active>a:after {transform:translateY(-35%) rotate(-135deg); opacity:1;}
.mobile-navigation .nav-menu .submenu {display:none; margin:-1px 0 0 0; padding:0 20px 30px;}
.mobile-navigation .nav-menu .submenu>ul>li>a {display:block; padding:8px 0; color:var(--dark-color); font-size:1.2rem; line-height:1.3em;}
.mobile-navigation .nav-menu .depth3 {display:none !important}
.mobile-navigation .close {position:absolute; top:26px; right:28px; 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:var(--dark-color);}
.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:var(--dark-color); 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;}

html.header-fixed #header {transform: translateY(-100%); -ms-transform: translateY(-100%);}



/* footer */
#footer {padding:35px 0; background:var(--foot-bg-color); font-size:var(--font-size-18); line-height:1.4em; font-weight: 300; color:var(--white-color);}
#footer .bar {padding:0 5px;}
#footer .inner {max-width:1707px !important;}

.foot-logo {padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.20); margin-bottom:30px;}
.foot-menu {padding-bottom: 30px;  border-bottom:1px solid rgba(255,255,255,.20); margin-bottom:35px;}
.foot-menu ul {display:flex; justify-content: space-between;}
.foot-menu ul li a {display:block; font-size:var(--font-size-20); line-height:1.4em; font-weight: 700; color:var(--white-color);}
.foot-menu .submenu {margin-top:20px;}
.foot-menu .submenu ul {display:block;}
.foot-menu .submenu ul li {width:auto; margin-bottom:10px;}
.foot-menu .submenu ul li:last-child {margin-bottom:0;}
.foot-menu .submenu ul li a {font-size:var(--font-size-16); line-height:1.4em; font-weight: 300; color:var(--white-color); opacity:.50;}
.foot-menu .submenu ul li a:hover {opacity:1;}
.foot-menu .submenu ul li a:hover {opacity:1;}
.foot-menu .depth3  {display:none !important}

.foot-info-inner {display:flex;}
.foot-info-inner .foot-info {flex:1 1 auto; min-width:0; width:1%; }
.foot-info-inner .foot-info .info {margin-bottom: 16px;  opacity:.40; font-weight: 300;}
.foot-info-inner .foot-info .info p {font-size:var(--font-size-18); line-height:1.4em; margin-bottom:5px;}
.foot-info-inner .foot-info .info p:last-child {margin-bottom:0;}
.foot-info-inner .foot-info .copy {opacity:.22;}
.foot-info-inner .foot-sns .links {display:block; color:var(--white-color);  margin-bottom:20px;}
.foot-info-inner .foot-sns .sns-link ul {display:flex; margin:0 -10px;}
.foot-info-inner .foot-sns .sns-link ul li {padding:0 10px;}


.top-btn {display:none !important}


