@charset "utf-8";
/*==========================================================================

   base frame

==========================================================================*/
#header {
    position: relative;
	padding-bottom: 10px;
}
#main {
    margin: 0 auto 50px;
}
#footer {
	margin-top: 50px;
	padding: 39px 0;
	border-top: 1px solid #e2e2e2;
}

/*==========================================================================

   layout type

==========================================================================*/


/*==========================================================================

   header

==========================================================================*/
.header-row.row--top {
    position: relative;
	height: 45px;
    background: url(../img/bg_stripe01.png) center top;
}
.social-icons__list {
    position: absolute;
    right: 57px;
    display: table;
}
.social-icons__item {
	position: relative;
    display: table-cell;
    width: 65px;
    height: 45px;
    text-align: center;
    vertical-align: middle;
    font-size: 30px;
	transition: .3s;
}
.social-icons__target {
    display: block;
    transition: .3s;
}
.social-icons__target:hover {
    opacity: .5;
}
.social-icons__tips {
    position: absolute;
    box-sizing: border-box;
    bottom: -30px;
    left: 50%;
    padding: 4px 9px;
    font-size: 12px;
	word-break: keep-all;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
	visibility: hidden;
	opacity: 0;
	transition: .3s;
}
.social-icons__item:hover .social-icons__tips {
	visibility: visible;
	opacity: 1;
}
.social-icons__tips:before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 50%;
    top: -9px;
    margin-left: -5px;
    border-left: 5px solid transparent;
    border-bottom: 9px solid #7f7f7f;
    border-right: 5px solid transparent;
}
.social-icons__tips:after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 50%;
    top: -8px;
    margin-left: -5px;
    border-left: 5px solid transparent;
    border-bottom: 8px solid #fff;
    border-right: 5px solid transparent;
}
.social-icons {position: relative;}

.social-icons__item:nth-child(odd) a {color: #e60013;}
.social-icons__item:nth-child(even) a {color: #fff;}

.social-icons__target .icon-english-text {
    display: block;
    font-size: 10px;
}
.social-icons__target .fa-globe:before {
    position: relative;
    top: -2px;
    font-size: 24px;
}
.header-logo {
    padding: 20px 0 15px;
    text-align: center;
}


/* gnav */
.gnav {
    text-align: center;
}
.gnav__list {
    font-size: 0;
    margin: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #737373;
}
.home .gnav__list {
    border-bottom: none;
}
.gnav__item {
    position: relative;
    display: inline-block;
    margin: 0 15px;
    font-size: 15px;
    font-weight: 500;
}
.gnav__item:first-child { margin-left: 0;}
.gnav__item:last-child { margin-right: 0;}

.gnav__target {
    position: relative;
    top: 2px;
    display: block;
    padding: 8px 10px;
}
.gnav__target:after {
    position: absolute;
    left: 0;
    bottom: -17px;
    content: '';
    width: 100%;
    height: 5px;
	background: #e60014;
	opacity: 0;
    transition: .3s;
}
.gnav__target:hover {
	color: #999;
}
.gnav__target:hover:after {
    bottom: -8px;
	opacity: 1;
}
.gnav__item.item--shop {
    width: 95px;
	height: 42px;
}
.gnav__shoplink {
	position: absolute;
    display: block;
	top: 9px;
    width: 95px;
	height: 42px;
	background: url(../img/gnav_btn_shop_on.png) no-repeat center top;
}
 .gnav-btn-cover {
    transition: .3s;
 }
.gnav__shoplink:hover .gnav-btn-cover {
	opacity: 0;
}
.gnav2__list {
    position: absolute;
    box-sizing: border-box;
    top: 41px;
    left: -56px;
    width: 204px;
    background: #f4f3f3;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    z-index: 100;
}
.gnav__item:hover > .gnav2__list {
    opacity: 1;
	visibility: visible;
}
.gnav2__item {
    display: block;
	transition: .3s;
}
.gnav2__item:hover {
    background: #e30b21;
}
.gnav2__item {
    transition: .3s;
}
.gnav2__item a {
    display: block;
    padding: 15px;
}
.gnav2__item + .gnav2__item {
    border-top: 1px solid #d2d2d2;
}
.gnav2__item__img.img--recruit01 { background: url(../img/gnav_txt_recruit01_on.png) no-repeat center center;}
.gnav2__item__img.img--recruit02 { background: url(../img/gnav_txt_recruit02_on.png) no-repeat center center;}
.gnav2__item:hover .gnav2__item__img img { visibility: hidden;}


/*================================================== lg-header */
#lg-header #header {
	position: absolute;
    top: -400px;
    width: 100%;
	background: #fff;
    z-index: 2;
	visibility: hidden;
	transition: .3s;
}
#lg-header .gnav__list {
	border: none;
}
body.drawer-opened #lg-header #header {
    top: 0;
	visibility: visible;
}
.lg-header-row {
	position: relative;
	transition: .4s;
}
body.drawer-opened .lg-header-row {
    padding-bottom: 155px;
}
/*
body.drawer-opened .lg-header-row {
	padding-top: 157px;
}
body.drawer-opened .lg-header-row #humberger {
	top: -117px;
}
*/
.lg-header-row > .container {
    position: relative;
}

.lg-gnav__item.item--has-child {
	position:relative;
}
.lg-gnav__list-2nd {
    position: absolute;
    top: 44px;
    font-size: 18px;
	border: 1px solid #f4f3f3;
    background: #f4f3f3;
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
    z-index: 30;
}
.lg-gnav__item:hover .lg-gnav__list-2nd {
	top: 42px;
	opacity: 1;
	visibility: visible;
	height: auto;
	overflow: hidden;
	z-index: 2;
}
.lg-gnav__item-2nd {
	width: 256px;
}
.lg-gnav__item-2nd a {
    display: block;
    box-sizing: border-box;
    width: 256px;
	height: auto;
    padding: 15px;
    color: #000;
	background: #f4f3f3;
}
.lg-gnav__item-2nd + .lg-gnav__item-2nd {
    border-top: 1px solid #d2d2d2;
}
.lg-gnav__item-2nd a:hover {
	color: #fff;
	background:#e60012;
}

/*==========================================================================

   header - scroll

==========================================================================*/



/*==========================================================================

   page

==========================================================================*/
.page-header01 {
    font-size: 25px;
    font-weight: 500;
    text-align: center;
}
.page-header01__title {
    padding: 35px;
}
.page-header01__desc {
    margin: 0 0 30px;
    font-size: 17px;
    font-weight: 300;
    text-align: center;
}


/*==========================================================================

   footer

==========================================================================*/
.legal-nav__list {
    font-size: 0;
}
.legal-nav__item {
    display: inline-block;
    font-size: 14px;
}
.legal-nav__item + .legal-nav__item {
    margin-left: 32px;
}
.copyright {
    display: block;
    margin-top: 10px;
    font-size: 12px;
}
