@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i');
@import url('https://fonts.googleapis.com/css?family=Roboto+Mono:100,100i,300,300i,400,400i,500,500i,700,700i');


/***********************************************/
html{
	height:100%;
	font-size:14px;
	font-family: 'Open Sans', sans-serif;
	letter-spacing:1px;
}
body{
	height:100%;
	margin:0;
	-webkit-text-size-adjust: none;
}
@media screen and (min-width:0px) and ( max-width:750px) {
html{
	font-size:16px;
}
}


/***********************************************/
.SpTab{
	display:none;
}
.TabPC{
	display:block;
}
.SpPC{
	display:block;
}
.PC{
	display:block;
}
.Sp{
	display:none;
}
.Tab{
	display:none;
}

@media screen and ( max-width:1024px) {
.SpTab{
	display:block;
}
.TabPC{
	display:block;
}
.SpPC{
	display:none;
}
.PC{
	display:none;
}
.Sp{
	display:none;
}
.Tab{
	display:block;
}
.br-PC{
	display:none;
}

}

@media screen and (min-width:0px) and ( max-width:750px) {

.SpTab{
	display:block;
}

.TabPC{
	display:none;
}
.SpPC{
	display:block;
}
.PC{
	display:none;
}
.Sp{
	display:block;
}
.Tab{
	display:none;
}

.br-TubPC,.br-PC{
	display:none;
}

}


/***********************************************/
h1,h2,h3,h4,h5,h6,hr,p,ul,li{
	margin:0;
	padding:0;
}

.clearfix:after {
     content:".";
     display: block;
     height: 0;
     clear: both;
     visibility: hidden;
}

/***********************************************/
h1{
	margin-top:76px;
	padding:50px 5%;
	text-align:center;
	font-size:2.8rem;
	letter-spacing: 5px;
}

h1 span{
	font-weight:normal;
	font-size:0.8em;
}

#main-img {
    width: 100%;
	background-size:cover;
	background-attachment:fixed;
}
#main-img:before {
    content:"";
    display: block;
    padding-top: 25%;
}

@media screen and ( max-width:1024px) {
h1{
	padding:30px 2.5%;
}
#main-img:before {
    padding-top: 40%;
}
}

@media screen and (min-width:0px) and ( max-width:750px) {
h1{
	padding:20px 2.5%;
}
#main-img:before {
    padding-top: 60%;
}
}


/***********************************************/
h2{
	font-size:2.2rem;
	letter-spacing: 5px;
	text-align:center;
	margin-bottom:20px;
}
h2 span{
	color:#CCC;
	font-size:1rem;
	letter-spacing: 0px;
}
h2.white{
	color:#fff;
}

.contents{
	width:90%;
	padding:50px 5%;
}
@media screen and ( max-width:1024px) {
.contents{
	width:95%;
	padding:50px 2.5%;
}

}

@media screen and (min-width:0px) and ( max-width:750px) {
h2{
	font-size:2rem;
}
}


/***********************************************/
.linkArea {
    text-align: center;
    margin-top: 50px;
	height:60px;
}
.linkArea a.btn,
.linkArea .btn {
    position: relative;
    z-index: 1;
    display: inline-block;
	padding:0 6em;
    line-height: 60px;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
	background-color:rgba(253, 29, 29, 0.808)
	;
	
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
	text-decoration:none;

	text-decoration: none;
	-webkit-transition: 0.8s;
	-moz-transition: 0.8s;
	-o-transition: 0.8s;
	-ms-transition: 0.8s;
	transition: 0.8s;
	font-family: 'Roboto Mono', monospace;
	
}
.linkArea a.btn:before,
.linkArea .btn:before {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    z-index: 0;
    font-size: 15px;
	font-family: "Font Awesome 5 Free";
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    content: "→";
    font-weight: 400;
}
.linkArea a.btn:hover,
.linkArea .btn:hover {
	background-color:#000;
	line-height:50px;
	padding:0 5.5em;
	margin:5px 0;
}

@media screen and (min-width:0px) and ( max-width:750px) {
.linkArea a.btn,
.linkArea .btn {
	width:80%;
	margin:0 10%;
	padding:0;
}
.linkArea a.btn:hover,
.linkArea .btn:hover {
	line-height:60px;
	width:90%;
	margin:0 5%;
	padding:0;
}

}


/***********************************************/
a.slow08,
.slow08 a{
	/*ゆっくりhover*/
	text-decoration: none;
	-webkit-transition: 0.8s;
	-moz-transition: 0.8s;
	-o-transition: 0.8s;
	-ms-transition: 0.8s;
	transition: 0.8s;
}

a.slow05,
.slow05 a{
	/*ゆっくりhover*/
	text-decoration: none;
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	-ms-transition: 0.5s;
	transition: 0.5s;
}

a.slow03,
.slow03 a{
	/*ゆっくりhover*/
	text-decoration: none;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}

/***********************************************/
.FL{
	display:block;
	float:left;
}
.FL2{
	display:block;
	float:left;
}
.FR{
	display:block;
	float:right;
}
.FR2{
	display:flex;
	justify-content: flex-end;
}

header{
	width:100%;
	font-size:12px;
	font-weight:600;
	
	position:fixed;
	top:0;
	left:0;
	
	background-color:#fff;
	border-bottom:#e7e7e7;
	padding:15px 0;
	z-index:1000;
	border-bottom:#CCC solid 1px;
}

header .PC{
	width:100%;/**//**/
	margin:auto;
	position:relative;
	height:45px;
}

header .PC #logo{
	width:190px;
	height:25px;
	margin:10px 0;
	float:left;
	display:block;
}
header .PC #logo img{
	width:190px;
	height:25px;
}

header .PC #side{
	width:300px;
	height:45px;
}

/* header .PC #side a{
	display:block;
	width:150px;
	height:45px;
	line-height:45px;
	text-align:center;
	text-decoration:none;
} */
header .PC .FR2 a.JPN{
	display:block;
	width:150px;
	height:45px;
	line-height:45px;
	text-align:center;
	text-decoration:none;
}
header .PC .FR2 a.CON{
	display:block;
	width:150px;
	height:45px;
	line-height:45px;
	text-align:center;
	text-decoration:none;
}

@media screen and (min-width:1025px) and (max-width:1279px){
header .PC .FR2 a.CON{
	display:block;
	font-size:11px;
	width:150px;
	height:45px;
	line-height:45px;
	text-align:center;
	text-decoration:none;
}
}

@media screen and (min-width:1025px) and (max-width:1285px){
	header .PC .FR2 a.CON{
	display:block;
	font-size:10px;
	width:160px;
	height:45px;
	line-height:4.2;
	text-align:center;
	text-decoration:none;
}
}

header .PC .FR2 a.INS{
	display:block;
	width:100px;
	height:45px;
	line-height:45px;
	text-align:center;
	text-decoration:none;
}

/* header .PC #side a.FL{
	background-color:#e8ecf1;
	color:#69839f;
} */
header .PC .FR2 a.JPN{
	background-color:#e8ecf1;
	color:#69839f;
}
header .PC .FR2 a.CON{
	background-color:#09c;
	color:#fff;
}
/* header .PC #side a.FR{
	background-color:#09c;
	color:#fff;
} */
/* header .PC #side a i{
	font-size:18px;
} */
header .PC .FR2 a i{
	font-size:18px;	
}

/* header .PC #navigation{
	height:45px;
	margin:0;
	padding:0;
	list-style:none;
} */
/* header .PC .FR2 a.NAV{
	height:45px;
	margin:0;
	padding:0;
	list-style:none;
} */

/* header .PC #navigation li{
	display:block;
	float:left;
	text-align:center;
	line-height:45px;
	height:45px;
	margin-right:30px;
} */
header .PC .FR2 a.NAV{
	display:block;
	width:120px;
	text-align:center;
	height:45px;
	margin-right:0px;
	line-height:45px;

	text-decoration:none;
	color:#999;
	color:#000;
}

/* header .PC #navigation li a{
	text-decoration:none;
	color:#999;
	color:#000;
	display:inline-block;
} */
header .PC .FR2 #navigation li a{
	text-decoration:none;
	color:#999;
	color:#000;
	/* display:inline-block; */
}

/* header .PC FR2 #navigation li a:hover{
	border-bottom:#09c solid 3px;
} */
header .PC a.NAV:hover{
	border-bottom:#09c solid 3px;
}

@media screen and ( max-width:1024px) {
header{	
	padding:20px 0;
}
header .SpTab{
	width:95%;
	margin:0 auto;	
}
header .SpTab #logo{
	width:190px;
	height:25px;
	float:left;
	display:block;
	margin:5px 0;
}
header .SpTab #logo img{
	width:190px;
	height:25px;
}



header .SpTab #nav-drawer {
  position: relative;
  float:right;
}

/*チェックボックス等は非表示に*/
header .SpTab .nav-unshown {
  display:none;
}

/*アイコンのスペース*/
header .SpTab #nav-open {
  display: block;
  width: 43px;
  height: 35px;
}
header .SpTab #nav-open img{
	width:100%;
	height:auto;
	display:block;
}

/*閉じる用の薄黒カバー*/
header .SpTab #nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
  
  /**********************/
  top:76px;
}

/*中身*/
header .SpTab #nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;/*最前面に*/
  width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 330px;/*最大幅（調整してください）*/
  height: 100%;
  background: #fff;/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);/*左に隠しておく*/
  
  /**********************/
  height:auto;
  top:76px;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  padding:2.5%;
  background-color:#333;
  
}

/*チェックが入ったらもろもろ表示*/
header .SpTab #nav-input:checked ~ #nav-close {
  display: block;/*カバーを表示*/
  opacity: .5;
}

header .SpTab #nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（右へスライド）*/
}

header .SpTab #nav-content #navigation a{
	text-decoration:none;
	color:#fff;
	line-height:3em;
	display:block;
}



}

@media screen and (min-width:0px) and ( max-width:750px) {
}

/*******************************/

footer{
	background-color:#363636; 
	background-color:#2B2B2B; 
	background-color:#353e45; 
	background-color:#373E42; 
	color:#9e9e9e;
	
	position:relative;
	z-index:-100;
}

footer:after{
	display:block;
	content:"　";
	background-image:url(/eng/img/pattern.png);
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	z-index:-50;
}

footer .contents{
	z-index:300;
	padding:30px 5%;
}


footer .contents .logo{
	width:190px;
	float:left;
	padding:20px 0;
}

footer .contents .logo p{
	margin-top:10px;
}

footer .contents .navigation{
	float:right;
	max-width:900px;
	border-left:#9e9e9e solid 1px;
	font-size:12px;
	padding:20px 0;
}

footer .contents .navigation div{
	float:left;
	margin-left:50px;
}
footer .contents .navigation .navi{
	float:left;
	max-width:217px;
}
footer .contents .navigation .navi h3{
	font-size:14px;
	margin-bottom:5px;
}
footer .contents .navigation .navi p{
	opacity:0.6;
}
footer .contents .navigation .navi a{
	display:block;
	color:inherit;
	text-decoration:none;
}
footer .contents .navigation .navi a:hover{
	opacity:0.6;
}

footer .contents .navigation  .side{
	width:150px;
	float:right;
	margin-left:50px;
}
@media screen and ( max-width:1024px) {
footer .contents{
	padding:30px 2.5%;
}

footer .contents .logo{
	float:none;
	width:100%;
	padding:0;
}
footer .contents .logo img{
	display:block;
}
footer .contents .logo p{
	display:none;
}
footer .contents .navigation{
	float:none;
	max-width:100%;
	width:100%;
	border:none;
	padding:0;
	margin-top:20px;
}
footer .contents .navigation div{
	margin-left:0px;
	padding-left:5%;
	box-sizing:border-box;
}
footer .contents .navigation div:first-child{
	margin-left:0;
	padding-left:0;
}

footer .contents .navigation .navi{
	float:left;
	max-width:30%;
}
footer .contents .navigation  .side{
	margin-left:0;
	width:25%;
}
footer .contents .navigation div:last-child{
	padding-left:0;
	width:25%;
}
}

@media screen and (min-width:0px) and ( max-width:750px) {
footer .contents .navigation div,
footer .contents .navigation .navi,
footer .contents .navigation  .side,
footer .contents .navigation div:last-child,
footer .contents .navigation div:first-child{

	float:none;
	width:80%;
	max-width:80%;
	padding:0;
	margin:0 10%;
	text-align:center;
}
footer .contents{
	padding-top:10px;
}
footer .contents .navigation{
	margin-top:0;
}
footer .contents .navigation .navi h3{
	margin:0;
	padding-top:20px;
	line-height:2em;
}
footer .contents .navigation .navi p{
}
footer .contents .navigation .navi a{
	line-height:2em;
}
footer .contents .navigation  .side,
footer .contents .navigation div:last-child{
	padding-top:20px;
}
}
footer .contents .navigation .side a{
	display:block;
	border-radius:50px;
	width:100%;
	height:30px;
	line-height:30px;
	text-align:center;
	text-decoration:none;
    font-size:12px;
	font-weight:600;
}
footer .contents .navigation .side a:first-child{
	border:#e8ecf1 solid 2px;
	color:#e8ecf1;
}
footer .contents .navigation .side a:last-child{
	border:#09c solid 2px;
	color:#09c;
}
footer .contents .navigation .side a:first-child:hover{
	background-color:rgba(204,204,204,0.3);
}
footer .contents .navigation .side a:last-child:hover{
	background-color:rgba(0,153,204,0.2);
}
footer .contents .navigation .side a i{
	font-size:18px;
}

footer .contents .navigation .side p{
	font-size:12px;
	font-weight:600;
	margin-top:20px;
	margin-bottom:5px;
	text-align:center;
}

#copyright{
	background-color:#233038; 
	background-color:#272727; 
	height:50px; 
	line-height:50px; 
	font-size:11px;
}
#copyright p{
	width:90%;/**//**/
	margin:auto;
}
#copyright a{
	display:none;
}
@media screen and ( max-width:1024px) {
#copyright{
	width:95%;
	padding:0 2.5%;
	margin:0;
}
#copyright p{
	width:auto;
	float:left;
	margin:0;
}
#copyright a{
	float:right;
	display:block;
	margin:0;
}
#copyright a img{
	display:block;
	margin:12px 0 13px 0;
}
}

@media screen and (min-width:0px) and ( max-width:750px) {
#copyright{
	height:auto;
	text-align:center;
	line-height:normal;
	padding:10px 2.5%;
	line-height:normal;
}

#copyright p{
	width:100%;
	float:none;
}
#copyright a{
	display:inline-block;
	margin-top:10px;
	float:none;
}
#copyright a img{
	width:70%;
	height:auto;
	display:inline-block;
	margin:0;
}
}

#page-top{
	position:fixed;
	right:1%;
	bottom:1%;
	width:3%;
	background-color:rgba(0,0,0,1.0);
}

#page-top a{
	display:block;
	width:100%;
}
#page-top a img{
	display:block;
	margin:15%;
	width:70%;
	height:auto;
}

/*
#page-top a{
	bottom:10px; 
	right:10px; 
	width:3%;
	position:fixed; 
	text-decoration:none; 
	width:auto; 
	display:block;  
	z-index:10000;
	padding:2%;
	box-sizing:border-box;
}
#page-top a:hover{
	background-color:rgba(0,0,0,0.9);
}
*/