@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=Barlow:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Inter:wght@100..900&family=IBM+Plex+Sans+JP:wght@300;400;500;600;700&display=swap');

html {
  font-size: 62.5%;
}
img {
  width: 100%;
  height: auto;
}
a {
  text-decoration: none;
  color: #000;
}
.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}
.object-fit-img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  font-family: 'object-fit: cover;'
}

ol, ul, li {
  list-style: none;
  padding: 0;
  margin: 0;
}
h1, h2, h3, h4, h5, h6 {
  font-family: "IBM Plex Sans JP", sans-serif; 
  font-weight: 400; 
  font-style: normal;
}

.mb0{margin-bottom: 0 !important;}

.font-barlow{
	font-family: "Barlow", sans-serif;
  	font-weight: 400;
  	font-style: normal;
}

.font-biz{
	font-family: "BIZ UDPGothic", sans-serif;
  	font-weight: 400;
  	font-style: normal;
}

.font-inter{
	font-family: "Inter", sans-serif;
  	font-weight: 400;
  	font-style: normal;
}

body {
  padding: 0;
  margin: 0;
  background: #fff;
  position: relative;
  color: #000;
  font-feature-settings: "palt" 1;
  letter-spacing: 0em;
  font-family: "IBM Plex Sans JP", sans-serif; 
  font-optical-sizing: auto;
  font-weight:400;
  font-style: normal;
}

*{
min-width: 0;
min-height: 0;
}


@media screen and (min-width:751px) {
  .pc_none {
    display: none !important;
  }
	
  body {
    font-size: 1.4rem; /*14px*/ ;
    min-width: 100%;
  }
	
	/*header*/
	header{
		width:100%;
		position: fixed;
		top:0;
		left:0;
		z-index: 10;
		background:#fff;
	}
	
	header .innerbox{
		height:150px;
		width:100%;
		padding:0 max(5%,calc((100vw - 1200px) / 2));
		margin:0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	header .innerbox .logo{
		width:190px;
		line-height: 0;
	}
	
	header .innerbox .logo svg{
		width:190px;
		line-height: 0;
	}
	
	header .innerbox .logo svg .cls-1{stroke-width:.46px;}
	header .innerbox .logo svg .cls-1,
	header .innerbox .logo svg .cls-2,
	header .innerbox .logo svg .cls-3,
	header .innerbox .logo svg .cls-4{fill:#1c1c1c;stroke:#1c1c1c;stroke-miterlimit:10;}
	header .innerbox .logo svg .cls-2{fill-rule:evenodd;}
	header .innerbox .logo svg .cls-3{stroke-width:1.37px;}
	
	header .innerbox .slidenav{
		width:calc(100% - 190px);
		display: block !important;
	}
	
	header .innerbox .slidenav nav{
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	
	header .innerbox .slidenav nav a,
	header .innerbox .slidenav nav .hoverbox{
		margin: 0 min(5vw,25px) 0 0;
		font-family: "Barlow", sans-serif;
	}
	
	header .innerbox .slidenav nav a,
	header .innerbox .slidenav nav .hoverbox .head{
		font-weight: 500;
		font-size: min(1.3vw,1.4rem);
		display: flex;
		align-items: center;
		position: relative;
	}
	
	header .innerbox .slidenav nav .hoverbox .head a{
		margin:0 0 0 0;
	}
	
	header .innerbox .slidenav nav .hoverbox .head::before{
		content: "";
		width:100vw;
		background:none;
		height:100px;
		position: absolute;
		top:100%;
		left:-50vw;
		display: none;
	}
	
	header .innerbox .slidenav nav .hoverbox:hover .head::before{
		display: block;
	}
	
	header .innerbox .slidenav nav a.megabtn{
		height:30px;
		border-radius: 4px;
		color:#fff;
		background:#460d43;
		padding:0 15px;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: all 0.2s;
		margin:0 0 0 0;
	}
	
	header .innerbox .slidenav nav a.megabtn:hover{
		opacity: 0.85;
	}
	
	header .innerbox .slidenav .innav{
		position: absolute;
		top:100%;
		left:0;
		width:100vw;
		margin:0 auto;
		background:#fff;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transition: all 0.2s;
		display: flex !important;
		padding:0 0 70px 0;
		box-shadow: 0 10px 10px rgba(0,0,0,0.05);
	}
	
	header .innerbox .slidenav .hoverbox:hover .innav{
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
	}
	
	header .innerbox .slidenav .innav .flexbox{
		max-width: 1200px;
		width:90%;
		margin:0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		box-sizing: border-box;
	}
	
	header .innerbox .slidenav .innav a.arrow_link{
		width:calc((100% - min(8vw,140px)) / 3);
		margin:0 0 0 0;
		padding:27px 0;
		font-size: 1.4rem;
		font-weight: 600;
		letter-spacing: 0.1em;
		display: flex;
		align-items: center;
	}
	
	header .innerbox .slidenav .innav .phnav a.arrow_link{
		padding:20px 0;
	}
	
	header .innerbox .slidenav .innav .phnav a.arrow_link figure{
		width:100px;
		margin: 0 20px 0 0;
	}
	
	header .innerbox .slidenav .hoverbox a.arrow_link{
		position: relative;
	}
	
	header .innerbox .slidenav .innav .flexbox::after{
		content: "";
		width:calc((100% - min(8vw,140px)) / 3);
		display: block;
		height: 0;
	}
	
	header.UpMove{
  		animation: UpAnime 0.5s forwards;
	}
	
	header.DownMove{
  		animation: DownAnime 0.5s forwards;
	}
	
	/*footer*/
	.footer_contact{
		width:100%;
		padding:35px 0;
		background-color:#292929;
		background-image: url("/images/common/contact_bg.svg");
		background-repeat: no-repeat;
		background-size: 700px;
		background-position: left bottom;
		display: flex;
		justify-content: center;
		position: relative;
		z-index: 2;
	}
	
	.footer_contact a{
		width:385px;
		height:85px;
		font-size: 1.8rem;
		font-weight: 600;
		letter-spacing: 0.1em;
		color:#0f1b42;
		background:#fff;
		border-radius: 8px;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: all 0.3s;
		border:1px solid #fff;
		box-sizing: border-box;
	}
	
	.footer_contact a:hover{
		background:none;
		color:#fff;
	}
	
	footer{
		background:repeating-linear-gradient(45deg, #262626, #262626 1px,#1f1f1f 0, #1f1f1f 10px);
		position: relative;
		z-index: 2;
	}
	
	footer .innerbox{
		width:90%;
		margin:0 auto;
		max-width: 1200px;
		display: flex;
		justify-content: space-between;
	}
	
	footer .innerbox .info_cont{
		padding:90px 5% 90px 0;
		width:29%;
		border-right:1px solid #363636;
	}
	
	footer .innerbox .info_cont .logo{
		max-width:205px;
		width:100%;
		display: block;
	}
	
	footer .innerbox .info_cont .txbox{
		padding:30px 0 0 0;
	}
	
	footer .innerbox .info_cont .txbox .tl{
		font-size: 1.4rem;
		font-weight: 600;
		color:#cccccc;
		letter-spacing: 0.1em;
		margin:0 0 10px 0;
	}
	
	footer .innerbox .info_cont .txbox .tx{
		font-size: 1.2rem;
		font-weight: 300;
		color:#999999;
		letter-spacing: 0.1em;
		margin:0 0 5px 0;
		line-height: 1.8em;
	}
	
	footer .innerbox .info_cont .txbox .tel{
		font-size: 1.4rem;
		font-weight: 600;
		color:#999999;
		letter-spacing: 0.1em;
		line-height: 2em;
	}
	
	footer .innerbox .info_cont .txbox .tel a{
		color:#999999;
	}
	
	footer .innerbox nav{
		display: flex;
		justify-content: flex-end;
		padding:90px 0;
		letter-spacing: 0.1em;
		width:71%;
	}
	
	footer .innerbox nav .hoverbox{
		display: flex;
		flex-direction: column;
		margin:0 0 0 min(7vw,90px);
	}
	
	footer .innerbox nav a{
		font-size: 1.4rem;
		font-weight: 600;
		color:#cccccc;
		margin:0 0 20px 0;
		transition: all 0.3s;
	}
	
	footer .innerbox nav a:hover{
		opacity: 0.7;
	}
	
	footer .innerbox nav .head{
		margin:0 0 20px 0;
	}
	
	footer .innerbox nav .head a{
		margin:0 0 0 0;
	}
	
	footer .innerbox nav .innav .flexbox{
		display: flex;
		flex-direction: column;
	}
	
	footer .innerbox nav .innav .flexbox a{
		font-size: 1.3rem;
		font-weight: 300;
		margin:0 0 10px 0;
		text-indent: -16px;
		padding-left: 16px;
		color:#999;
	}
	
	footer .innerbox nav .innav .flexbox a::before{
		content: "";
		width: 6px;
  		height: 6px;
  		background: none;
		transform: rotate(-45deg) skew(10deg, 10deg);
		border-right:1px solid #999;
		border-bottom:1px solid #999;
		transition: all 0.3s;
		position: relative;
		z-index: 2;
		left:0;
		margin:0 10px 0 0;
		display: inline-block;
	}
	
	footer .innerbox nav a[target="_blank"]::after{
		content: "";
		width: 11px;
  		height: 11px;
  		background:url("/images/common/blank.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin:0 0 0 5px;
	}
	
	footer .bottomcont{
		padding:60px 0;
		background:#f2f2f2;
		display: flex;
		justify-content: space-between;
	}
	
	footer .bottomcont a{
		font-size: 1.3rem;
		font-weight: 300;
		color:#333;
		margin:0 25px 0 0;
		transition: all 0.3s;
		letter-spacing: 0.1em;
	}
	
	footer .bottomcont a:hover{
		opacity: 0.7;
	}
	
	footer .bottomcont .copy{
		font-size: 1.4rem;
		font-weight: 300;
		color:#999;
		margin:0 0 0 auto;
		letter-spacing: 0.025em;
	}
    footer .txbox p span.enStyle {display: block; font-size: 85%; letter-spacing: 0.08em; font-weight: 400;}
	
	/*arrow_link*/
	.arrow_link{
		border-bottom:1px solid #e0e0e0;
		padding-right:35px !important;
		position: relative;
		box-sizing: border-box;
	}
	
	.arrow_link.top{
		border-top:1px solid #e0e0e0;
	}
	
	.arrow_link span.linkarrow{
		width:35px;
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		height:calc(100% + 1px);
		top:0;
		right:0;
		border-bottom:1px solid #000;
	}
	
	.arrow_link.top span.linkarrow{
		width:35px;
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		height:calc(100% + 2px);
		top:-1px;
		right:0;
	}
	
	.arrow_link.top span.linkarrow{
		border-top:1px solid #000;
	}
	
	.arrow_link span.linkarrow::before{
		content: "";
		width: 10px;
  		height: 10px;
  		background: none;
		transform: rotate(-45deg) skew(10deg, 10deg);
		border-right:1px solid #000;
		border-bottom:1px solid #000;
		transition: all 0.3s;
		position: relative;
		z-index: 2;
		left:-5px;
	}
	
	.arrow_link span.linkarrow::after{
		content: "";
		position: absolute;
		top:0;
		right:0;
		background:#000;
		width:35px;
		height:calc(100% + 1px);
		transition: all 0.3s;
		transform: scaleX(0);
		transform-origin: left;
		z-index: 1;
	}
	
	.arrow_link:hover span.linkarrow::before{
		border-right:1px solid #fff;
		border-bottom:1px solid #fff;
	}
	
	.arrow_link:hover span.linkarrow::after{
		transform: scaleX(1);
	}
	
	/*pan*/
	#pan{
		width:100%;
		padding:20px 0 70px;
		font-size: 1.1rem;
	}
	
	#pan.pd0{
		width:100%;
		padding:0 0 0;
		font-size: 1.1rem;
	}
	
	#pan a{
		color:#993399;
	}
	
	#pan a{
		padding:0 10px 0 0;
		font-weight: 400;
	}
	
	#pan span{
		margin:0 10px 0 0;
		font-weight: 300;
	}
	
	#pan span:last-child{
		margin:0 0 0 0;
	}
	
	#pan span::after{
		content:"";
		height:1.2rem;
		width:1px;
		background:#878787;
		display: inline-block;
		transform: rotate(45deg);
		vertical-align: middle;
		position: relative;
		top:-1px;
	}
	
	#pan span:last-child::after{
		display: none;
	}
	
	/*main_container*/
	#main_container{
		position: relative;
	}
	
	/*lang_btn*/
	header .lang_btnbox{
		margin:0 0 0 40px;
	}
	
	header .lang_btnbox .gtranslate_wrapper{
		display: flex;
		padding:0 0 0 0;
	}
	
	header .lang_btnbox .gtranslate_wrapper select{
		margin:0 0 0 0;
		padding: 10px 15px 10px 30px;
		border:none;
		outline: none;
		font-size:1.4rem;
		width:110px;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		line-height: 1;
		background:#fff;
		display: inline-block;
		background-image: url(/images/common/select_arrow.png),url(/images/common/world-grid.png);
		background-size:7px,20px;
		background-repeat: no-repeat,no-repeat;
		background-position: right 0 top 50%,left 0 top 50%;
		box-sizing: border-box;
		color:#333;
	}
}

@media screen and (max-width:750px) {
  .sp_none {
    display: none !important;
  }
	
  body {
    font-size: 1.4rem; /*14px*/ ;
    min-width: 100%;
  }
	
  /*header*/
	header{
		width:100%;
		position: fixed;
		top:0;
		left:0;
		padding:0;
		z-index: 10;
	}
	
	header .innerbox{
		height:70px;
		width:100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 5%;
		position: relative;
		background:#fff;
	}
	
	header.active .innerbox{
		height:70px;
		width:100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 5%;
		position: relative;
		background:#1f1f1f;
	}
	
	header .innerbox .logo{
		width:140px;
		line-height: 0;
		position: relative;
		z-index: 2;
	}
	
	header .innerbox .logo svg .cls-1{stroke-width:.46px;}
	header .innerbox .logo svg .cls-1,
	header .innerbox .logo svg .cls-2,
	header .innerbox .logo svg .cls-3,
	header .innerbox .logo svg .cls-4{fill:#1c1c1c;stroke:#1c1c1c;stroke-miterlimit:10; transition: all 0.2s;}
	header.active .innerbox .logo svg .cls-1,
	header.active .innerbox .logo svg .cls-2,
	header.active .innerbox .logo svg .cls-3,
	header.active .innerbox .logo svg .cls-4{fill:#fff;stroke:#fff;stroke-miterlimit:10; transition: all 0.2s;}
	header .innerbox .logo svg .cls-2{fill-rule:evenodd;}
	header .innerbox .logo svg .cls-3{stroke-width:1.37px;}
	
	header .innerbox .slidenav{
		position: fixed;
		top:0;
		left:0;
		width:100vw;
		height:100vh;
		padding:70px 0 0;
		box-sizing: border-box;
		overflow: scroll;
		background:#1f1f1f;
		z-index: 1;
		display: none;
	}
	
	header .innerbox .slidenav nav{
		display: flex;
		justify-content: flex-end;
		align-items: center;
		flex-direction: column;
	}
	
	header .innerbox .slidenav nav a,
	header .innerbox .slidenav nav .hoverbox{
		margin: 0 0;
		border-bottom:1px solid #363636;
		padding:20px 5%;
		width:100%;
	}
	
	header .innerbox .slidenav nav .hoverbox{
		padding:0 0 0 0;
	}
	
	header .innerbox .slidenav nav a,
	header .innerbox .slidenav nav .hoverbox .head{
		font-weight: 600;
		font-size: 1.4rem;
		display: flex;
		align-items: center;
		position: relative;
		width:100%;
		color:#ccc;
	}
	
	header .innerbox .slidenav nav .hoverbox .head a{
		margin:0 0 0 0;
		border:none;
	}
	
	header .innerbox .slidenav nav .hoverbox .head{
		margin:0 0 0 0;
	}
	
	/*header .innerbox .slidenav nav a.megabtn{
		height:64px;
		border-radius: 9999px;
		color:#fff;
		background:#D25026;
		padding:0 17px;
		display: flex;
		justify-content: center;
		align-items: center;
		margin:15px 0 0 0;
		transition: all 0.2s;
		font-size: 1.4rem;
	}
	
	header .innerbox .slidenav nav a.megabtn:nth-last-child(2){
		margin:30px 0 0 0;
	}
	
	header .innerbox .slidenav nav a.megabtn:hover{
		opacity: 0.85;
	}*/
	
	header .innerbox .slidenav .innav{
		position: relative;
		width:100%;
		margin:0 auto;
		display: none;
	}
	
	header .innerbox .slidenav .innav .flexbox{
		padding:0 0 10px 0;
		margin: 0 0 0 0;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: flex-start;
		width:100%;
		box-sizing: border-box;
	}
	
	header .innerbox .slidenav .innav a.arrow_link span{
		display: none;
	}
	
	header .innerbox .slidenav .innav a.arrow_link::before{
		content: "";
		width: 6px;
  		height: 6px;
  		background: none;
		transform: rotate(-45deg) skew(10deg, 10deg);
		border-right:1px solid #ccc;
		border-bottom:1px solid #ccc;
		transition: all 0.3s;
		position: relative;
		z-index: 2;
		left:0;
		margin:0 10px 0 0;
		display: inline-block;
	}
	
	header .innerbox .slidenav .innav a.arrow_link{
		color:#999999;
		padding:  0 5% 0;
		margin:0 0 10px 0;
		border:none;
		font-size: 1.2rem;
		font-weight: 300;
		width:auto;
	}
	
	header .innerbox .slidenav .innav .phnav a.arrow_link figure{
		display: none;
	}
	
	header .innerbox .slidenav .spbtn{
		height:100%;
		width:60px;
		position: absolute;
		top:0;
		right:0;
		background:url("/images/common/plus.svg") no-repeat;
		background-size: 16px;
		background-position: right 5vw top 50%;
		z-index: 11;
	}
	
	header .innerbox .slidenav .spbtn.active{
		height:100%;
		width:60px;
		position: absolute;
		top:0;
		right:0;
		background:url("/images/common/minus.svg") no-repeat;
		background-size: 16px;
		background-position: right 5vw top 50%;
		z-index: 11;
	}
	
	/*header.UpMove{
  		animation: UpAnime 0.5s forwards;
	}
	
	header.DownMove{
  		animation: DownAnime 0.5s forwards;
	}*/
	
	.menu{
		width:30px;
		height:10px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		margin:0 0 0 auto;
		cursor: pointer;
		z-index: 11;
		position: relative;
		
	}

	.menu-trigger,
	.menu-trigger span {
  		display: inline-block;
  		transition: all .4s;
  		box-sizing: border-box;
		cursor: pointer;
		z-index: 2;
	}
	.menu-trigger {
  		position: relative;
  		width: 30px;
  		height: 10px;
		z-index:5;
	}
	
	.menu-trigger span {
  		position: absolute;
  		left: 0;
  		width: 100%;
  		height: 2px;
  		background-color: #000;
  		border-radius: 9999px;
	}

	.menu-trigger span:nth-of-type(1) {
  		top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
		top:8px;
		opacity: 0;
	}
	.menu-trigger span:nth-of-type(3) {
  		bottom: 0;
	}

	.menu-trigger.active span:nth-of-type(1) {
  		-webkit-transform: translateY(4px) rotate(30deg);
  		transform: translateY(4px) rotate(30deg);
		background-color: #fff;
	}
	.menu-trigger.active span:nth-of-type(2) {
  		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
  		-webkit-transform: translateY(-4px) rotate(-30deg);
 		 transform: translateY(-4px) rotate(-30deg);
		width:100% !important;
		margin:0 0 0 0;
		background-color: #fff;
	}
	
	/*main_container*/
	#main_container{
		position: relative;
	}
	
	/*footer*/
	.footer_contact{
		width:100%;
		padding:30px 0;
		background-color:#292929;
		background-image: url("/images/common/contact_bg.svg");
		background-repeat: no-repeat;
		background-size: 350px;
		background-position: left bottom;
		display: flex;
		justify-content: center;
		position: relative;
		z-index: 2;
	}
	
	.footer_contact a{
		width:195px;
		height:50px;
		font-size: 1.3rem;
		font-weight: 600;
		letter-spacing: 0.1em;
		color:#0f1b42;
		background:#fff;
		border-radius: 8px;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: all 0.3s;
		border:1px solid #fff;
		box-sizing: border-box;
	}
	
	.footer_contact a:hover{
		background:none;
		color:#fff;
	}
	
	footer{
		background:repeating-linear-gradient(45deg, #262626, #262626 1px,#1f1f1f 0, #1f1f1f 5px);
		position: relative;
		z-index: 2;
	}
	
	footer .innerbox{
		width:100%;
		margin:0 auto;
		max-width: 1200px;
		display: flex;
		justify-content: space-between;
		flex-direction: column;
	}
	
	footer .innerbox .info_cont{
		padding:40px 5% 40px 5%;
		width:100%;
		border-bottom:1px solid #363636;
	}
	
	footer .innerbox .info_cont .logo{
		max-width:170px;
		width:100%;
		display: block;
	}
	
	footer .innerbox .info_cont .txbox{
		padding:30px 0 0 0;
	}
	
	footer .innerbox .info_cont .txbox .tl{
		font-size: 1.3rem;
		font-weight: 600;
		color:#cccccc;
		letter-spacing: 0.1em;
		margin:0 0 10px 0;
	}
	
    footer .txbox p span.enStyle {display: block; font-size: 85%; letter-spacing: 0.08em; font-weight: 400;}
    
	footer .innerbox .info_cont .txbox .tx{
		font-size: 1.2rem;
		font-weight: 300;
		color:#999999;
		letter-spacing: 0.1em;
		margin:0 0 5px 0;
		line-height: 1.8em;
	}
	
	footer .innerbox .info_cont .txbox .tel{
		font-size: 1.3rem;
		font-weight: 600;
		color:#999999;
		letter-spacing: 0.1em;
		line-height: 2em;
	}
	
	footer .innerbox .info_cont .txbox .tel a{
		color:#999999;
	}
	
	footer .innerbox nav{
		display: flex;
		justify-content: flex-end;
		align-items: center;
		flex-direction: column;
	}
	
	footer .innerbox nav a,
	footer .innerbox nav .hoverbox{
		margin: 0 0;
		border-bottom:1px solid #363636;
		padding:20px 5%;
		width:100%;
	}
	
	footer .innerbox nav .hoverbox{
		padding:0 0 0 0;
	}
	
	footer .innerbox nav a,
	footer .innerbox nav .hoverbox .head{
		font-weight: 600;
		font-size: 1.4rem;
		display: flex;
		align-items: center;
		position: relative;
		width:100%;
		color:#ccc;
	}
	
	footer .innerbox nav .hoverbox .head a{
		margin:0 0 0 0;
		border:none;
	}
	
	footer .innerbox nav .hoverbox .head{
		margin:0 0 0 0;
	}
	
	/*footer .innerbox nav a.megabtn{
		height:64px;
		border-radius: 9999px;
		color:#fff;
		background:#D25026;
		padding:0 17px;
		display: flex;
		justify-content: center;
		align-items: center;
		margin:15px 0 0 0;
		transition: all 0.2s;
		font-size: 1.4rem;
	}
	
	footer .innerbox nav a.megabtn:nth-last-child(2){
		margin:30px 0 0 0;
	}
	
	footer .innerbox nav a.megabtn:hover{
		opacity: 0.85;
	}*/
	
	footer .innerbox .innav{
		position: relative;
		width:100%;
		margin:0 auto;
		display: none;
	}
	
	footer .innerbox .innav .flexbox{
		padding:0 0 10px 0;
		margin: 0 0 0 0;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		align-items: flex-start;
		width:100%;
		box-sizing: border-box;
	}
	
	footer .innerbox .innav a.inlink::before{
		content: "";
		width: 6px;
  		height: 6px;
  		background: none;
		transform: rotate(-45deg) skew(10deg, 10deg);
		border-right:1px solid #999;
		border-bottom:1px solid #999;
		transition: all 0.3s;
		position: relative;
		z-index: 2;
		left:0;
		margin:0 10px 0 0;
		display: inline-block;
	}
	
	footer .innerbox .innav a.inlink{
		color:#999999;
		padding:  0 5% 0;
		margin:0 0 10px 0;
		border:none;
		font-size: 1.2rem;
		font-weight: 300;
		width:auto;
	}
	
	footer .innerbox .spbtn{
		height:100%;
		width:60px;
		position: absolute;
		top:0;
		right:0;
		background:url("/images/common/plus.svg") no-repeat;
		background-size: 16px;
		background-position: right 5vw top 50%;
		z-index: 11;
	}
	
	footer .innerbox .spbtn.active{
		height:100%;
		width:60px;
		position: absolute;
		top:0;
		right:0;
		background:url("/images/common/minus.svg") no-repeat;
		background-size: 16px;
		background-position: right 5vw top 50%;
		z-index: 11;
	}
	
	footer .innerbox nav a[target="_blank"]::after{
		content: "";
		width: 13px;
  		height: 13px;
  		background:url("/images/common/blank.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin:0 0 0 5px;
		position: absolute;
		right:5%;
	}
	
	footer .bottomcont{
		padding:40px 0;
		background:#f2f2f2;
	}
	
	footer .bottomcont .innerbox{
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
	}
	
	footer .bottomcont a{
		font-size: 1.2rem;
		font-weight: 300;
		color:#333;
		margin:15px 0 0 0;
		transition: all 0.3s;
		letter-spacing: 0.1em;
	}
	
	footer .bottomcont a:hover{
		opacity: 0.7;
	}
	
	footer .bottomcont .copy{
		font-size: 1.2rem;
		font-weight: 300;
		color:#999;
		margin:0 0 25px 0;
		letter-spacing: 0.025em;
		order:-1;
	}
	
	
	/*arrow_link*/
	.arrow_link{
		border-bottom:1px solid #e0e0e0;
		padding-right:35px !important;
		position: relative;
		box-sizing: border-box;
	}
	
	.arrow_link.top{
		border-top:1px solid #e0e0e0;
	}
	
	.arrow_link span.linkarrow{
		width:25px;
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		height:calc(100% + 1px);
		top:0;
		right:0;
		border-bottom:1px solid #000;
	}
	
	.arrow_link.top span.linkarrow{
		width:25px;
		position: absolute;
		display: flex;
		justify-content: center;
		align-items: center;
		height:calc(100% + 2px);
		top:-1px;
		right:0;
	}
	
	.arrow_link.top span.linkarrow{
		border-top:1px solid #000;
	}
	
	.arrow_link span.linkarrow::before{
		content: "";
		width: 7px;
  		height: 7px;
  		background: none;
		transform: rotate(-45deg) skew(10deg, 10deg);
		border-right:1px solid #000;
		border-bottom:1px solid #000;
		transition: all 0.3s;
		position: relative;
		z-index: 2;
		left:-2px;
	}
	
	.arrow_link span.linkarrow::after{
		content: "";
		position: absolute;
		top:0;
		right:0;
		background:#000;
		width:25px;
		height:calc(100% + 1px);
		transition: all 0.3s;
		transform: scaleX(0);
		transform-origin: left;
		z-index: 1;
	}
	
	.arrow_link:hover span.linkarrow::before{
		border-right:1px solid #fff;
		border-bottom:1px solid #fff;
	}
	
	.arrow_link:hover span.linkarrow::after{
		transform: scaleX(1);
	}
	
	/*pan*/
	#pan{
		display: none;
	}
	
	/*lang_btn*/
	header .lang_btnbox{
		margin:20px 0 20px 0;
	}
	
	header .lang_btnbox .gtranslate_wrapper{
		display: flex;
		padding:0 0 0 0;
	}
	
	header .lang_btnbox .gtranslate_wrapper select{
		margin:0 0 0 0;
		padding: 10px 15px 10px 30px;
		border:none;
		outline: none;
		font-size:1.4rem;
		width:110px;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		line-height: 1;
		background:none;
		display: inline-block;
		background-image: url(/images/common/select_arrow_sp.png),url(/images/common/world-grid_sp.png);
		background-size:7px,20px;
		background-repeat: no-repeat,no-repeat;
		background-position: right 0 top 50%,left 0 top 50%;
		box-sizing: border-box;
		color:#fff;
	}
	
}


/*animation*/
.fadeTop{
		opacity: 0;
		will-change:opacity;
	}
	
.fadeIn{
		opacity: 0;
		will-change:opacity;
	}

.fadeBlur{
		opacity: 0;
		-webkit-filter: blur(10px);
  	 	filter: blur(10px);
		will-change: filter;
	}

.fadeTop.active{
		animation: fadeTop 1s;
		animation-delay: 0s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		position: relative;
	}
	
.fadeIn.active{
		animation: fadeIn 1s;
		animation-delay: 0s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		position: relative;
	}

.fadeBlur.active{
		animation: fadeBlur 1s;
		animation-delay: 0s;
		animation-timing-function: ease-out;
		animation-fill-mode: forwards;
		position: relative;
	}

@keyframes UpAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 0;
  transform: translateY(-100px);
  }
}

@keyframes DownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

@keyframes fadeTop {
  0% {
     top:30px;
	 opacity: 0;
  }
  100% {
    top:0;
	opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
	 opacity: 0;
  }
  100% {
	opacity: 1;
  }
}

@keyframes fadeBlur {
  0% {
	 opacity: 0;
	 -webkit-filter: blur(10px);
  	 filter: blur(10px);
  }
  100% {
	opacity: 1;
	-webkit-filter: blur(0);
  	filter: blur(0);
  }
}