@charset "UTF-8";

/* header
-------------------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  background: #FFF;
  box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.1);
  -webkit-box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.1);
  -moz-box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.1);
  transition: .5s;
}

@media only screen and  (max-width: 810px) {
header {
  height:60px;
}
}

@media screen and (max-width: 568px) {
header {
  height:55px;
}
}

#headerArea{
  width:98%;
  margin: 0 auto;
  padding:10px 20px;
  box-sizing: border-box;
  position: relative;
  border-bottom:1px solid #CCCCCC;
}

@media only screen and  (max-width: 810px) {
#headerArea{
  width:98%;
  padding:0 2% 0;
  border-bottom:none;
}
}

/* logo */

header #logo{
  width:251px;
  height:54px;
  display:block;
  margin:0 auto;
  background-size:auto 54px;
  background-repeat: no-repeat;
  transition: .1s;
  background-image: url(../images/common/logo.png);
}

header #logo a{
  width:251px;
  height:54px;
  text-decoration:none;
  display: block;
  text-indent:-9999px;
}

@media only screen and  (max-width: 810px) {
header #logo{
  width:232px;
  height:50px;
  background-size:auto 50px;
  margin:5px 0 5px;
}

header #logo a{
  width:232px;
  height:50px;
}
}

@media only screen and  (max-width: 568px) {
header #logo{
  width:186px;
  height:40px;
  background-size:auto 40px;
  margin:8px 0 7px;
}

header #logo a{
  width:186px;
  height:40px;
}
}

.head_bt{
  position: absolute;
  top: 15px;
  right: 0;
  font-family: Barlow,sans-serif;
  letter-spacing:.15em;
  font-weight:400;
  text-transform: uppercase;
  line-height:1;
  font-size:13px;
}

@media only screen and  (max-width: 810px) {
.head_bt{
  display:none;
}
}

.login_bt {float:right;margin-left:15px;}
.join_bt {float:right;}

.login_bt .fa{font-size:1.15em;margin-right:5px;}
.join_bt .fa{font-size:1.15em;margin-right:5px;}

.c-button.c-button--ghost{display:inline-table;padding:13px 20px;background-color:#000;border:1px solid #000;color:#FFF;-moz-transition-duration:0.2s;-o-transition-duration:0.2s;-webkit-transition-duration:0.2s;transition-duration:0.2s}
.login_bt a{text-decoration:none;}
.login_bt a:hover{text-decoration:none;display:inline-table;background-color:#FFF;color:#000;}

.join_bt a{text-decoration:none;}
.join_bt a:hover{text-decoration:none;display:inline-table;background-color:#FFF;color:#000;}

.icon-link{
  position: absolute;
  top: 25px;
  left: 20px;
  line-height:1;
}

@media only screen and  (max-width: 810px) {
.icon-link{display:none;}
}

.icon-link li{
  display:inline-block;
  vertical-align:middle;
  position: relative;
}

.icon-link .tel{
  font-size:20px;
}

.icon-link .mail{
  font-size:16px;
}

.icon-link .lange{
  font-size:0.95em;
  font-weight:500;
  line-height:1.8;
  letter-spacing:0.03em;
}

.icon-link .lange .upper{
  text-transform: uppercase;
}

@media only screen and  (max-width: 810px) {
.icon-link .tel{ font-size:22px;}
.icon-link .mail{font-size:18px;}
.icon-link .lange{font-size:18px;}
}

.tel a{text-decoration:none;padding:9px 15px;color:#000;}
.mail a{text-decoration:none;padding:11px 15px 12px;color:#000;}
.lange a{text-decoration:none;padding:9px 3px 9px 15px;color:#000;}

@media only screen and  (max-width: 810px) {
.tel a{padding:9px 13px;}
.mail a{padding:11px 13px 12px;}
.lange a{padding:9px 3px 9px 13px;}
}

@media only screen and  (max-width: 568px) {
.tel a{padding:9px 12px;}
.mail a{padding:11px 12px 12px;}
}

.icon-link a:hover {
  text-decoration: none;
  color:#CD3F00!important;
}

.sns_bt{
  position: absolute;
  top: 24px;
  right: 20px;
  line-height:1;
}

@media only screen and  (max-width: 810px) {
.sns_bt{display:none;}
}

.sns_bt li{
  display:inline-block;
  vertical-align:middle;
  position: relative;
  font-size:24px;
}

.sns_bt li a{text-decoration:none;padding:9px 15px;color:#000;}

.sns_bt a:hover {
  text-decoration: none;
  color:#CD3F00!important;
}


/* sub-menu
--------------------------------------- */
.icon-link li ul.sub-menu {
  display: none; 
  position: absolute;
  top: 30px;
  left:0px;
  border-collapse: collapse;
  list-style: none;
  width: 190px;
  box-sizing: border-box;
  padding:0;
  background: rgba(0, 0, 0, 0.8);
  box-shadow: 0 3px 5px rgba(0,0,0,0.2),  0 1px 0 rgba(0,0,0,0.1);
  text-align: left;
  font-size:16px;
}

@media only screen and  (max-width: 810px) {
.icon-link li ul.sub-menu {
  font-size:0.9em;
}
}

.icon-link li:hover ul.sub-menu {
  display: block;
}
.icon-linku li ul.sub-menu li {
  float: none;
}

.icon-link .sub-menu li {
  border-right: none;
  line-height: 0;
  font-weight:400;
  font-family: 'Roboto', sans-serif;
  font-weight:500;
  font-size:0.95em;
  letter-spacing:0.03em;
}

.icon-link .sub-menu li a {
  display: block!important;
  box-sizing: border-box;
  width: 100%;
  padding: 15px 20px;
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: ease;
  color: #FFF!important;
}

.icon-link .sub-menu li a:hover {
  color: #FFF!important;
  text-decoration: none;
  display: block!important;
  opacity: 1!important;
}

.icon-link .sub-menu:before {
  position: absolute;
  display: block;
  content: "";
  width: 140px;
  height: 9px;
  top: -9px;
  background-image: url(../images/common/popup_arrow.png);
  background-repeat: no-repeat;
  background-position: 15px top;
}

/* sub-menu2
--------------------------------------- */
.laang {
  font-family: 'Roboto', sans-serif;
  font-weight:400;
  letter-spacing:0.05em;
}

.icon-link li ul.sub-menu2 {
  display: none; 
  position: absolute;
  top: 30px;
  left:50%;
  margin-left:-60px;
  border-collapse: collapse;
  list-style: none;
  width: 140px;
  box-sizing: border-box;
  padding:0;
  background: rgba(0, 0, 0, 0.8);
  box-shadow: 0 3px 5px rgba(0,0,0,0.2),  0 1px 0 rgba(0,0,0,0.1);
  text-align: center;
  z-index:1000;
}

@media only screen and  (max-width: 810px) {
.icon-link li ul.sub-menu2 {
  font-size:0.9em;
}
}

.icon-link li:hover ul.sub-menu2 {
  display: block;
}
.icon-linku li ul.sub-menu2 li {
  float: none;
}

.icon-link .sub-menu2 li {
  border-right: none;
  line-height: 0;
  font-size:0.95em;
  display: block;
}

.icon-link .sub-menu2 li a {
  display: block!important;
  box-sizing: border-box;
  display: block;
  padding: 20px 0;
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: ease;
  color: #FFF!important;
}

.icon-link .sub-menu2 li a:hover {
  background-color: #545454;
  olor: #FFF!important;
  text-decoration: none;
  display: block!important;
  opacity: 1!important;
}

.icon-link .sub-menu2:before {
  position: absolute;
  display: block;
  content: "";
  width: 140px;
  height: 9px;
  top: -9px;
  background-image: url(../images/common/popup_arrow.png);
  background-repeat: no-repeat;
  background-position: 60px top;
}

.fixed {
  position: fixed;
  top: 0;
  z-index: 1000;
  -moz-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
}

/*navi_list
--------------------------------------- */
#navi_list {
  margin:0;
  padding:15px 0;
  width:100%;
  box-sizing: border-box;
  text-align: center;
  display:block;
}

@media only screen and  (max-width: 810px) {
#navi_list {
  display:none;
}
}

#navi_list #navi {
    margin:0;
    padding:0;
    width:100%;
    list-style:none;
}


#navi .sbm a{
  color:#545454;
  display:block;
}

#navi .sbm a:hover{
  color:#CD3F00;
}

#navi .sbm{
  display:inline-block;
  vertical-align:middle;
  letter-spacing:0.05em;
  position: relative;
  text-align: center;
  line-height:1.2;
  font-family: 'Roboto', sans-serif;
  font-weight:500;
  text-transform: uppercase;
  font-size:0.95em;
  margin:0 2% 0;
}
 
#navi li ul {
    list-style:none;
}


#navi li .smlst:before {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 9px;
	left:0;
	top: -8px;
	background-image: url(../images/common/popup_arrow.png);
	background-position: center top;
	background-repeat: no-repeat;
}

.smlst{
	z-index:999;
	position: absolute;
	top: 25px;
	left:50%;
	margin-left:-80px;
	border-collapse: collapse;
	list-style: none;
	font-size:0.9em;
	letter-spacing:0.05em;
	text-transform: initial;
	background: #000;
	background: rgba(54, 39, 8, 0.8);
	box-shadow: 0 3px 5px rgba(0,0,0,0.2),  0 1px 0 rgba(0,0,0,0.1);
}

a .ft-Caret{
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    transform:rotate(45deg) translateY(-50%);
    position: absolute;
    top: 40%;
    right: -10px;
    transition: .5s;
  border-bottom: 2px solid #545454;
  border-right: 2px solid #545454;
}

a:hover .ft-Caret{
  border-bottom: 2px solid #CD3F00;
  border-right: 2px solid #CD3F00;
}


#navi li ul .ssbm {
    border-bottom:0.05em dotted #9D9D9D;
    border-right:none;
    margin:0;
    position:relative;
    width:180px;
	text-align: left;
}

#navi li ul .ssbm2 {
    border-bottom:0.05em dotted #9D9D9D;
    border-right:none;
    margin:0;
    position:relative;
    width:180px;
	text-align: left;
}

#navi li ul .ssbm:last-child {
	border-bottom: none;
}

#navi li ul .ssbm2:last-child {
	border-bottom: none;
}

#navi li ul .ssbm ul {
    position:absolute;
    left:0;
    top:0;
    margin-left:0;
    padding-top:0;
    padding-left:1px;
    left:180px;
}

#navi .ssbm a {
    padding: 12px 10px 10px;
    background: rgba(0, 0, 0, 0.8);
    box-shadow: 0 3px 5px rgba(0,0,0,0.2),  0 1px 0 rgba(0,0,0,0.1);
    display:block;
    color:#fff!important;
    text-decoration:none;
    line-height:1.4;
	font-weight:normal;
}

#navi .ssbm a:hover::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    transform:rotate(45deg) translateY(-50%);
    position: absolute;
    top: 45%;
    right: 10px;
}

#navi .ssbm a:hover,
#navi .ssbm a.open {
    background-color: #545454;
	color: #FFF!important;
}

#navi .ssbm2 a {
    padding: 12px 10px 10px;
    background: rgba(0, 0, 0, 0.8);
    box-shadow: 0 3px 5px rgba(0,0,0,0.2),  0 1px 0 rgba(0,0,0,0.1);
    display:block;
    color:#fff!important;
    text-decoration:none;
    line-height:1.4;
	font-weight:normal;
}

#navi .ssbm2 a:hover{
    background-color: #545454;
	color: #FFF!important;
}

#navi li ul .ssbms {
    border-bottom:0.05em dotted #9D9D9D;
    border-right:none;
    margin:0;
    position:relative;
    width:200px;
	text-align: left;
}

#navi li ul .ssbms a:hover::after {
    content: "";
    border: none!important;
}
#navi li ul .ssbms:last-child {
	border-bottom: none;
}

#navi li ul .ssbms ul {
    position:absolute;
    left:0;
    top:0;
    margin-left:0;
    padding-top:0;
    padding-left:1px;
    position:absolute;
    left:200px;
}

#navi .ssbms a {
    padding: 12px 10px 10px;
    background: rgba(0, 0, 0, 0.8);
    box-shadow: 0 3px 5px rgba(0,0,0,0.2),  0 1px 0 rgba(0,0,0,0.1);
    display:block;
    color:#fff;
    text-decoration:none;
    line-height:1.4;
	font-weight:normal;
}
 
#navi .ssbms a:hover,
#navi .ssbms a.open {
    background-color: #545454;
	color: #FFF!important;
}

/* sp_head
--------------------------------------------------*/
.sp_head {display:none;}

@media only screen and  (max-width: 810px) {
.sp_head {
  display:block;
  position:absolute;
  top: 0;
  right: 0;
  width: 182px;
  padding:0 0;
  height: 60px;
  overflow:hidden;
}

@media only screen and  (max-width: 568px) {
.sp_head {
  right: 0;
  width: 166px;
  height: 55px;
}
}

.sp_head .sp_nav{
  width:100%;
  padding: 0;
  margin:0 auto;
  position: relative;
}

.sp_head ul{
  width:100%;
  padding: 0;
  margin:0 auto;
}

.sp_head li{
  text-align: center;
  width:60px;
  padding: 0 0 0;
  text-align: center;
  margin:0;
  box-sizing: border-box;
  display:inline-block;
  height: 64px;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sp_head .sp_nav .jus{
  position:absolute;
  top: 0;
  right: 60px;
}

.sp_head .sp_nav .lgn{
  position:absolute;
  top: 0;
  right: 0;
}

@media only screen and  (max-width: 568px) {
.sp_head li{
  width:55px;
  height: 55px;
}

.sp_head .sp_nav .jus{
  right: 56px;
}
}

.sp_head a {
  color:#000;
  display:block;
  text-decoration: none;
}

.sp_head li a:hover {
  opacity: 0.6;
}

.sp_head li .fa{
  font-size:24px;
}

@media only screen and  (max-width: 568px) {
.sp_head li .fa{
  font-size:20px;
}
}

.sp_head li span{
  margin:0;
  padding:0;
}

.sp_head li p{
  font-size:11px;
  margin:0;
  padding:3px 0 0;
  line-height:1.7;
}

@media only screen and  (max-width: 568px) {
.sp_head li p{
  padding:2px 0 0;
  line-height:1.6;
}
}