@charset "UTF-8";
/* CSS Document */

@font-face {
    font-family: 'miso';
    src:url('../font/miso.woff2') format('woff2'),
         url('../font/miso.woff') format('woff'),
		 url(../font/miso.otf)  format('opentype'); /* ttf - Safari, Android, iOS */
    font-weight: normal;
    font-style: normal;
}

#wrapper{
	width:100%;
	overflow:hidden;
	position:relative;
}

#fullpage{
	position:fixed;
}

.pc{
	display:block;
}

.sp{
	display:none;
}

nav{
	position:fixed;
	background:#222222;
	top:0;
	right:0;
	height:100vh;
	max-width:60px;
	width:100%;
	box-sizing:border-box;
	padding:20px 0 0;
	z-index:20;
}

nav .language_btn{
	writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode:vertical-rl;
	color:#fff;
	font-family:"miso", sans-serif;
	font-size:20px;
	line-height:24px;
	margin:0 auto;
	position:absolute;
	bottom:22px;
	left:0;
	right:0;
	width:24px;
}

nav .language_btn a{
	color:#fff;
}

nav .language_btn a:hover{
	text-shadow:1px 1px 1px #fff;
}

nav .nav_btn{
	width:18px;
	margin:0 auto;
	cursor:pointer;
	position:relative;
	transition: all .4s;
	box-sizing: border-box;
	height:15px;
}

nav .nav_btn span{
	width:18px;
	border-top:1px solid #fff;
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	position: absolute;
}

nav .nav_btn .nav_btn_line01{
	top:0;
}

nav .nav_btn.active .nav_btn_line01{
	-webkit-transform: translateY(6px) rotate(-45deg);
	transform: translateY(6px) rotate(-45deg);
}

nav .nav_btn .nav_btn_line02{
	top:6px;
}

nav .nav_btn .nav_btn_line02.hover_line{
	-webkit-transform: translateX(6px) rotate(0deg);
	transform: translateX(6px) rotate(0deg);
}

nav .nav_btn.active .nav_btn_line02{
	top:6px;
	left: 50%;
	opacity: 0;
	-webkit-animation: active-menu-bar02 .8s forwards;
	animation: active-menu-bar02 .8s forwards;
}

nav .nav_btn .nav_btn_line03{
	top:12px;
}

nav .nav_btn.active .nav_btn_line03{
	-webkit-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
}

.nav_in a{
	color:#fff;
}

.nav_in li{
	font-family:"miso", sans-serif;
	font-size:48px;
	text-align:center;
	padding:20px 0;
	opacity:0;
}

.nav_in li.one_nav{
	animation-delay:0.2s;
}

.nav_in li.two_nav{
	animation-delay:0.4s;
}

.nav_in li.three_nav{
	animation-delay:0.6s;
}

.nav_in li.four_nav{
	animation-delay:0.8s;
}

.nav_area{
	color:#fff;
	position:fixed;
	top:0;
	left:100%;
	width:100%;
	background:rgba(0,0,0,0.9);
	height:100vh;
	z-index:15;
	
}






.main_contents{
	position:relative;
}

.cnt_area{
	height:100vh;
}

.cnt_area02{
	height:100vh;
}

.cnt_area .cnt_left{
	float:left;
	width:48%;
	box-sizing:border-box;
}

.cnt_area .cnt_right{
	float:right;
	width:52%;
	box-sizing:border-box;
}

.cnt_area .text_cnt{
	background:rgba(0,0,0,0.6);
	color:#fff;
	height:100vh;
	box-sizing:border-box;
}

.cnt_area .h2_g{
	padding:0 0 25px;
}

.cnt_area h2{
	font-size:36px;
	font-weight:bold;
	padding:0 0 14px;
	text-align:center;
	font-family:"miso", sans-serif;
	/*font-family: Osaka;*/
}

.cnt_area .h2_jp{
	font-size:16px;
	text-align:center;
	font-family:"UD新ゴ M",UD Shin Go Medium;
}

.cnt_area .logo{
	max-width:379px;
	margin:0 auto;
}

.cnt_area .logo img{
	width:100%;
}

.cnt_area02 .logo{
	max-width:300px;
	width:100%;
	margin:0 auto;
	padding:0 0 75px;
}

.cnt_area02 .text_cnt{
	max-width:610px;
	margin:0 auto;
	background:rgba(0,0,0,0.6);
	color:#fff;
	padding:53px 0 55px;
}

.cnt_area02 .text_cnt h3{
	font-family:"UD新ゴ M",UD Shin Go Medium;
	font-size:16px;
	padding:0 0 50px;
	text-align:center;
}

.cnt_area02 .text_cnt p{
	font-family:"UD新ゴ M",UD Shin Go Medium;
	font-size:12px;
	line-height:20px;
	max-width:495px;
	margin:0 auto;
}

.cnt_area02 .text_cnt p a{
	color:#fff;
	text-decoration:underline;
}

.pager{
	position:absolute;
	bottom:30px;
	left:0;
	right:0;
	margin:0 auto;
	width:47px;
}

.pager a{
	background:rgba(60,60,60,0.7);
	width:47px;
	height:47px;
	display:block;
	position:relative;
	border-radius:50px;
}

.pager .arrow01{
	position:absolute;
	top:35%;
	left:0;
	right:0;
	margin:0 auto;
	width:9px;
	height:15px;
	display:block;
	background:url(../img/arrow01.svg) no-repeat center center;
	
	-webkit-transition:all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	-moz-transition:all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	-o-transition:all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	transition:all 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.pager .arrow02{
	background:url(../img/arrow02.svg) no-repeat center center;
}

.pager .arrow01.on{
	top:42%;
}


#section01{
	background:url(../img/bg01.jpg) no-repeat center center;
	background-size:cover;
}

.contents{
	width:100%;
}

#section01 h1{
	max-width:379px;
	margin:0 auto;
	margin:0 auto;
	
	/*padding:315px 0;*/
	padding:282px 0;
}

#section01 h1 img{
	width:100%;
}

#section02{
	background:url(../img/bg02.jpg) no-repeat center center;
	background-size:cover;
}

#section02 p{
	font-family:"UD新ゴ M",UD Shin Go Medium;
	font-size:12px;
	line-height:20px;
	max-width:497px;
	margin:0 auto;
}

#section03{
	background:url(../img/bg03.jpg) no-repeat center center;
	background-size:cover;
}

#section03 .cnt_right{
	padding:210px 0 0;
}

#section03 h2{
	padding:0 0 10px;
}

#section03 .h2_g{
	padding:0 0 67px;
}

#section03 .text_in{
	max-width:540px;
	margin:0 auto;
/* ここから追加21/03/05*/
  display: flex;
  justify-content: center;
}

#section03 .linkbox{
	border:1px solid #fff;
	max-width:150px;
	width:100%;
	padding:53px 0 37px;
	box-sizing:border-box;
	text-align:center;
/*	float:left;*/
	margin:0 15px;
	cursor:pointer;
}

#section03 .linkbox.active{
	background:rgba(255,255,255,0.2);
}

#section03 .linkbox h3{
	font-family:"UD新ゴ M",UD Shin Go Medium;
	font-size:12px;
	color:#fff;
	padding:0 0 40px;
}

#section03 .linkbox a{
	color:#fff;
}

#section03 .linkbox .arrow img{
	display:block;
	margin:0 auto;
}

#section04{
	background:url(../img/bg04.jpg) no-repeat center center;
	background-size:cover;
}

#section04 h3{
	padding:0 0 50px;
	font-family:"UD新ゴ M",UD Shin Go Medium;
	font-size:16px;
	text-align:center;
}

#section04 p{
	padding:0 0 30px;
	font-family:"UD新ゴ M",UD Shin Go Medium;
	font-size:12px;
	line-height:20px;
	max-width:497px;
	margin:0 auto;
}

#section04 .pic01{
	max-width:509px;
	margin:0 auto;
}

#section04 .pic01 img{
	width:100%;
}







#section05{
	background:url(../img/bg05.jpg) no-repeat center center;
	background-size:cover;
}




#section06{
	background:url(../img/bg06.jpg) no-repeat center center;
	background-size:cover;
}



#section07{
	background:url(../img/bg07.jpg) no-repeat center center;
	background-size:cover;
}

#section07 .h2_g{
	padding:0 0 50px;
}

#section07 dl{
	font-size:12px;
	line-height:20px;
	max-width:552px;
	margin:0 0 0 auto;
	font-family:"UD新ゴ M",UD Shin Go Medium;
}

#section07 dt{
	float:left;
	clear:both;
	width:65px;
	padding:0 0 25px;
}

#section07 dd{
	float:left;
	padding:0 0 25px;
}

#section08{
	background:url(../img/bg08.jpg) no-repeat center center;
	background-size:cover;
}

#section08 h2{
	padding:0 0 20px;
}

#section08 .h2_g{
	padding:0 0 50px;
}

#section08 .first_text{
	padding:0 0 58px;
	font-size:12px;
	line-height:20px;
	text-align:center;
	font-family:"UD新ゴ M",UD Shin Go Medium;
}

#section08 .contact_box{
	max-width:389px;
	width:100%;
	box-sizing:border-box;
	border:1px solid #fff;
	padding:26px 0 25px;
	text-align:center;
	margin:0 auto;
	cursor:pointer;
}

#section08 .tel_box{
	margin:0 auto 38px;
}

#section08 .contact_box h3{
	font-family:"UD新ゴ M",UD Shin Go Medium;
	font-size:12px;
	padding:0 0 25px;
}

#section08 .contact_box .tel_number{
	font-family:"UD新ゴ R",UD Shin Go Regular;
	font-size:15px;
	letter-spacing:0.05em;
}

#section08 .contact_box .mail_address{
	font-family:"UD新ゴ R",UD Shin Go Regular;
	font-size:15px;
	letter-spacing:0.05em;
}

#section08 .contact_box a{
	color:#fff;
}

#section08 .contact_box.active{
	background:rgba(255,255,255,0.2);
}



@media only screen and (max-width:1100px){

#section02 p{
	width:90%;
}

#section03 .linkbox{
	margin:0 2%;
	width:29.3%;
	height:150px;
}

#section04 p{
	width:90%;
}

#section04 .pic01{
	width:94%;
}

#section07 dl{
	width:90%;
	margin:0 auto;
}


}


@media only screen and (max-width:768px){

nav{
	background:none;
}

.nav_in li{
	font-size:28px;
}


#section01 h1{
	padding:0;
}

.cnt_area .cnt_left{
	float:none;
	width:auto;
}

.cnt_area .cnt_right{
	float:none;
	width:auto;
}

.cnt_area .text_cnt{
	height:auto;
	padding:30px 0;
	width:96%;
	margin:0 auto;
}

.cnt_area02 .logo{
	display:none;
}

.cnt_area02 .text_cnt{
	height:auto;
	width:96%;
	margin:0 auto;
}

.cnt_area02 .text_cnt p{
	width:90%;
	margin:0 auto;
}

#section02 .cnt_right{
	display:none;
}

#section03 .h2_g{
	padding:0 0 37px;
}

#section03 .cnt_left{
	display:none;
}

#section03 .cnt_right{
	padding:30px 0;
}

#section03 .linkbox{
	height:auto;
	padding:33px 0 27px;
	width:130px;
	margin:0 auto 15px;
	float:none;
}


#section04 .cnt_right{
	display:none;
}

#section03 .linkbox h3{
	padding:0 0 20px;
}

#section07 .cnt_right{
	display:none;
}

#section08 .cnt_left{
	display:none;
}

#section08 .contact_box{
	width:80%;
}

}


#english #section03 .linkbox{
	height:150px;
}

#english #section03 .linkbox h3{
	line-height:16px;
}

#english #section07 dt{
	width:120px;
}

@media only screen and (max-width:768px){

nav .language_btn{
	bottom:80px;
	margin:0;
}

#english #section07 dt{
	width:40%;
}

#section07 dd{
	width:60%;
}

.cnt_area .cnt_left{
	opacity:0;
}

.cnt_area .cnt_right{
	opacity:0;
}

.cnt_area02 .text_cnt{
	opacity:0;
}

}