@charset "utf-8";
/*========= VIDEO ===============*/

#opv-wrap {
	display: none;
	position:relative;
}

#btn_skip{
	position:fixed;
	right:50px;
	bottom:50px;
	width:80px;
	height:80px;
	line-height:80px;
	border-radius:50%;
	border:1px solid #fff;
	background:rgba(0,0,0,0.4);
	color:#fff;
	text-align:center;
	font-weight:700;
	z-index:9999;
	cursor:pointer;
}

video#opv {
	position: fixed;
	top: 0;
	left: 0;
	right:0;
	object-fit: cover;
	z-index:9998;
	width: 100vw;
	height: 100vh;
	vertical-align: bottom;
}
 

.home .wrap.active{
	position:relative;
	opacity:1;
	width:auto;
	height:auto;
}

@media screen and (max-width: 800px) {
video#opv {
	left: -4%;
	right:-4%;
	width:108%;
	height:108vh;
	bottom:-4vh;
	top:-4vh;
}	
	
#btn_skip{
	position:fixed;
	right:20px;
	bottom:20px;
	width:60px;
	height:60px;
	line-height:60px;
}
}


body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

.noscroll {
    overflow: hidden;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

body {
    font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size:16px;
	line-height:1.6em;
	word-wrap: break-word;
	color: #333333;
	padding:8px;
}

a{
	color:#333333;
	transition: all 0.3s;
}

.osw{
	font-family: 'Oswald',　sans-serif;
}

.shi{
	font-family: 'Shippori Antique', sans-serif;
}

/* contents
-------------------------------------------------------------------*/
.wrap {
	min-width:auto;
	overflow:hidden;
	position:relative;
}

.wd{
	max-width:930px;
	margin:0 auto;
	box-sizing:border-box;
}

.contents{
	clear:both;
}

.scale{
	width:100%;
	height:auto;
}

.sp{
	display:none;
}

.left{
	float:left;
}

.right{
	float:right;
}

img{
	max-width:100%;
	height:auto;
}

.youtube .inner {
	padding-top: 56.25%;
	position: relative;
	height: 0;
	overflow: hidden;
}

.youtube .inner iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border:none;
	border-radius:20px;
}

.coverimg{
	overflow:hidden;
	position:relative;
}

.coverimg:before{
	content: "";
	display: block;
	padding-top: 100%;
}

.coverimg img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
}

@media screen and (max-width: 800px) {
.wrap {
	min-width:100%;
	overflow:hidden;
}

.spleft{
	float:left;
}

.spright{
	float:right;
}

.spscale{
	width:100%;
	height:auto;
}

.contents{
	overflow:hidden;
	width:100%;
	box-sizing:border-box;
}

.wd{
	width:100%;
	margin:0 auto;
	box-sizing:border-box;
}

.spscale{
	width:100%;
	height:auto;
}

img{
	max-width:100%;
	height:auto;
	margin:0 auto;
}

.pc{
	display:none;
}

.sp{
	display:block;
}

.spleft{
	float:left;
}

.spright{
	float:right;
}

input{
	font-size:16px;
}
}

/* header
-------------------------------------------------------------------*/
header{
	position:absolute;
	top:0;
	left:0;
	right:0;
	z-index:999;
	display:flex;
	align-items: start;
}

header .bg{
	position:absolute;
	left:0;
	top:-1px;
	transition: all 0.3s;
}

.home header .bg{
	display:none;
}

header .bogo-language-switcher{
	display:flex;
	padding:0 64px 0 0;
}

header .bogo-language-switcher li a,
header .bogo-language-switcher li span{
	width:64px;
	height:64px;
	cursor:pointer;
	font-size:18px;
	font-family: 'Oswald',sans-serif;
	color:#fff;
	display:flex;
	justify-content:center;
	align-items:center;
	background: linear-gradient(#4c4948,#707070 50px,#1e9ee7 250px, #2b5c6b);
	background-size:200px 300px;
	transition : 0.3s;
	position:relative;
}

header .bogo-language-switcher li a:hover,
header .bogo-language-switcher li a.current{
	background-position:0 100%;
}

header .logo{
	padding:15px 70px;
	width:141px;
	position:absolute;
	top:8px;
	left:8px;
	z-index:2;
	transition: all 0.3s;
}

header nav{
	display:flex;
	justify-content:flex-end;
	width:100%;
}

header nav .link01{
	display:flex;
	margin-right:-20px;
}

header nav .link01 li a{
	justify-content:center;
	align-items:center;
	display:flex;
	width: 280px;
	box-sizing:border-box;
	height: 64px;
	position:relative;
	z-index:2;
	font-size:15px;
	color:#fff;
	transition: all 0.3s;
}

header nav .link01 li a:hover{
	color:#3E62BA;
}

header nav .link01 li a:after{
	content:"";
	position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
	transform: skewX(-25deg);
	background: linear-gradient(to left,#397c90 0%, #2b5c6b 100%);
	z-index:-2;
	transition: all 0.3s;
}

header nav .link01 li a:hover:after{
	opacity:0;
}

header nav .link01 li a:before{
	content:"";
	position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
	transform: skewX(-25deg);
	background: linear-gradient(to right,#fff 0%, #397c90  100%);
	transition: all 0.3s;
	z-index:-1;
	opacity:0;
}

header nav .link01 li a:hover:before{
	opacity:1;
}

header nav .link02{
	display:flex;
	height: 64px;
	justify-content:center;
	align-items:center;
	width:290px;
	position:relative;
}

header nav .link02:after{
	content:"";
	position: absolute;
    top: 0; bottom: 0; left:20px;
	width:350px;
	transform: skewX(-25deg);
	background: linear-gradient(to right,#397c90 0%, #2b5c6b 100%);
	transition: all 0.3s;
	z-index:-1;
}

header nav .link02 li{
	padding:0 30px;
	position:relative;
}

header nav .link02 li:nth-child(1):after{
	content:"";
	position:absolute;
	right:0;
	top:-2px;
	width:1px;
	background:#fff;
	height:30px;
	transform: skewX(-25deg);
}

header nav .link02 li a{
	font-size:15px;
	color:#fff;
	transition: all 0.3s;
}

header nav .link02 li a:hover{
	color:#3E62BA;
}

@media screen and (max-width: 1435px) {
header .logo{
	padding:0 0 0 50px;
	width:100px;
}	
	
header .bg{
	width:230px;
}

header nav .link01{
	display:none;
}

header nav .link02{
	display:none;
}
}

.topmenu {
    display: block;
    height: 64px;
    position: fixed;
    right: 8px;
    top: 8px;
    width: 64px;
    z-index: 9999;
    cursor: pointer;
	background: linear-gradient(#d9c032 0%, rgba(162, 142, 28, 0.96) 100%);
}

.trigger,
.trigger span {
	display: block;
	transition: all .4s;
	box-sizing: border-box;
    z-index: 99999;
}

.trigger {
    position: relative;
    width: 100%;
    height: 100%;
	cursor: pointer;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}
.trigger span {
	position: absolute;
	left: 50%;
	width: 22px;
	margin-top:-10px;
	margin-left: -11px;
	height: 2px;
	background-color: #fff;
    z-index: 99999;
}
.trigger.active span {
	background-color: #fff;
}
.trigger span:nth-of-type(1) {
    top: 32px;
}
.trigger span:nth-of-type(2) {
    top: 39px;
}
.trigger span:nth-of-type(3) {
    top: 46px;
}

.trigger.active span:nth-of-type(1) {
    top: 35px;
}

.movmobb1 .active span:nth-of-type(1) {
	-webkit-transform: translateY(6px) rotate(-45deg);
	    transform: translateY(6px) rotate(-45deg);
}
.movmobb1 .active span:nth-of-type(2) {
	opacity:0;
}
.movmobb1 .active span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
	top:49px;
}

.clone_gnav {
	position: fixed;
	top:0;
	border-top:8px solid #fff;
	left: 0;
	right:8px;
	margin:0 auto;
	z-index: 99;
	width: 100%;
	transition: .3s;
	transform: translateY(-250px);
	box-sizing:border-box;
}

.is-show{
	transform: translateY(0);
	top: 0;
}

.clone_gnav .bogo-language-switcher{
	padding:0 72px 0 0;
}

.home .clone_gnav .bg{
	display:block;
}

.r_btn{
	position:absolute;
	right:-148px;
	top:136px;
	z-index:99;
}

.r_btn li{
	position:relative;
	margin:0 0 8px 0;
	transition: all 0.3s;
}

.r_btn li:hover{
	margin-left:-140px;
}

.r_btn.clone{
	position:fixed;
	right:-400px;
	transition: all 0.3s;
}

.r_btn.clone.on{
	right:-140px;
}

.mobilenav {
    top: 0;
    left: 0;
    z-index: 999;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
	box-sizing:border-box;
	border:8px solid #fff;
}

.mobilenav .box{
    height: 100%;
    width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position:relative;
}

.mobilenav .menubox{
    height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position:relative;
    background: #CFE8F8;
	opacity:0.95;
	box-sizing:border-box;
}

.mobilenav .logo{
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:250px;
	text-align:center;
	background:#fff;
	z-index:2;
}

.mobilenav .logo a{
	display:block;
	width:141px;
	margin:70px auto 0;
}

.mobilenav ul{
	padding:0 70px;
}

.mobilenav ul li a {
	color:#2b5c6b;
	transition: all 0.2s ease-in-out;
}

.mobilenav ul.link01{
	text-align:center;
}

.mobilenav ul .tel a{
	font-size:30px;
	display:inline-block;
	padding:0 0 0 45px;
	position:relative;
}

.mobilenav ul .tel a:after{
	content:"";
	position:absolute;
	left:0;
	top:0;
	background: url(../images/nav_tel.png) no-repeat center center;
	width:31px;
	height:31px;
}

.mobilenav ul.link02{
	font-size:30px;
}

.mobilenav ul.link01 li:not(:last-child) a{
	display:block;
	height:120px;
	line-height:120px;
	text-align:center;
	font-size:20px;
	width:315px;
	border:1px solid #2b5c6b;
	box-sizing:border-box;
}

@media screen and (max-width: 1300px) {
.mobilenav .menubox{
	padding:0 0 0 200px;
}

.mobilenav .logo{
	width:180px;
}

.mobilenav .logo a{
	width:100px;
}

.mobilenav ul{
	padding:0 30px;
}

.mobilenav ul.link01 li:not(:last-child) a{
	width:250px;
	font-size:18px;
}
}

.mobilenav ul li a:hover{
	color:#333333;
}

.mobilenav ul li.tel a:hover{
	color:#2b5c6b;
}

.mobilenav ul.link01 li:not(:last-child) a:hover{
	border:1px solid #333333;
}

.mobilenav ul li:not(last-child){
	padding:0 0 50px 0;
}


@media screen and (max-width: 800px) {

header .bg{
	display:none;
}

.home header .bg{
	display:none;
}
	
.home .clone_gnav .bg {
	display:none;
}

header .bogo-language-switcher{
	padding:0 50px 0 0;
}

.clone_gnav .bogo-language-switcher {
    padding: 0 58px 0 0;
}

header .bogo-language-switcher li a,
header .bogo-language-switcher li span{
	width:50px;
	height:50px;
	font-size:16px;
}

header .logo{
	padding:0;
	width:120px;
	position:absolute;
	top:-1px;
	left:-1px;
}


.topmenu {
    height: 50px;
    width: 50px;
}

.r_btn{
	display:none;
}

.mobilenav {
	overflow:auto;
    background: #CFE8F8;
	opacity:1;
	padding:0 0 30px 0;
}

.mobilenav .box{
    height: auto;
	display:block;
}

.mobilenav .menubox{
    height: 100%;
	display:block;
	padding:0;
	text-align:center;
}

.mobilenav .logo{
	position:static;
	width:100%;
	padding:80px 0 60px 0;
	background:none;
}

.mobilenav .logo a{
	width:80px;
	margin:0 auto;
}

.mobilenav ul{
	padding:0;
}

.mobilenav ul .tel a{
	font-size:26px;
	padding:0 0 0 35px;
	font-weight:500;
}

.mobilenav ul .tel a:after{
	top:5px;
	background: url(../images/nav_tel.png) no-repeat center center;
	background-size:20px;
	width:20px;
	height:20px;
}

.mobilenav ul.link02{
	font-size:26px;
}

.mobilenav ul.link01 li:not(:last-child) a{
	height:auto;
	line-height:1.6em;
	font-size:18px;
	width:auto;
	border:none;
	display:inline-block;
}

.mobilenav ul.link01 li:not(:last-child) a:hover{
	border:none;
}

.mobilenav ul li:not(last-child){
	padding:0 0 40px 0;
}

.mobilenav ul.link03{
	padding:30px 0 0 0;
}

.mobilenav ul.link03 li{
	width:80%;
	margin:0 auto;
}

.mobilenav ul.link03 li:not(last-child){
	padding:0 0 20px 0;
}

.trigger span:nth-of-type(1) {
    top: 27px;
}

.trigger span:nth-of-type(2) {
    top: 34px;
}

.trigger span:nth-of-type(3) {
    top: 41px;
}

.trigger.active span:nth-of-type(1) {
    top: 30px;
}

.movmobb1 .active span:nth-of-type(3) {
    top: 44px;
}

}


/* footer
-------------------------------------------------------------------*/
footer{
	position:relative;
	z-index:99;
}

footer .topbtn{
	position:absolute;
	right:30px;
	width:100px;
	top:-100px;
}

footer .box01{
	padding:200px 0;
	background: linear-gradient(to right,#eff9ff 0%, #d3eeff 100%);
}

footer .box01 ul{
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
}

footer .box01 ul li{
	padding:0 25px;
	position:relative;
}

footer .box01 ul li a{
	box-shadow: 0px 7px 12px rgba(30, 158, 231, 0.4);
	display:block;
	border-radius:10px;
	background:#fff;
	width:350px;
	height:350px;
}

footer .box01 .tit{
	font-size:34px;
	padding:0 0 35px 0;
	color:#2b5c6b;
}

footer .box01 dl{
	transition: all 0.3s;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:60px;
}

footer .box01 a:hover dl{
	top:50px;
}

footer .box02{
	padding:90px 20px;
	display:flex;	
}

footer .box02 .logo{
	width:141px;
	padding:0 120px 0 0;
	transition: all 0.3s;
}

footer .box02 .linkbox{
	display:flex;
}


footer .box02 .linkbox ul li{
	padding:0 0 30px 0;
}

footer .box02 .linkbox ul:not(:last-child){
	padding:0 100px 0 0;
	transition: all 0.3s;
}

@media screen and (max-width: 1000px) {
footer .box02 .logo{
	padding:0 50px 0 0;
}
footer .box02 .linkbox ul:not(:last-child){
	padding:0 50px 0 0;
}
}

footer .box02 .linkbox ul:first-child{
	font-size:14px;
}

footer .box02 .linkbox .tel a{
	padding:0 0 0 25px;
	position:relative;
}

footer .box02 .linkbox .tel a:after{
	content:"";
	position:absolute;
	left:0;
	top:5px;
	background: url(../images/f_tel.png) no-repeat center center;
	width:20px;
	height:20px;
}

footer .copy{
	text-align:center;
	padding:0 0 15px 0;
	font-size:14px;
	color:#9A9A9A;
}

@media screen and (max-width: 800px) {
footer .topbtn{
	right:0;
}

footer .box01{
	padding:40px;
}

footer .box01 ul{
	display:block;
}

footer .box01 ul li{
	padding:0;
}

footer .box01 ul li:nth-child(1){
	padding:0 0 30px 0;
}

footer .box01 ul li a{
	width:100%;
	max-width:300px;
	margin:0 auto;
	height:auto;
	box-sizing:border-box;
	padding:25px 40px;
}

footer .box01 .tit{
	font-size:4vw;
	padding:0 0 0 10%;
	order:2;
}

footer .box01 dl{
	position:static;
	display:flex;
	justify-content:center;
	align-items:center;
}

footer .box01 dl dd{
	width:35%
}

footer .box02{
	padding:60px 20px;
	display:block;
	text-align:center;
}

footer .box02 a{
	display:inline-block;
}

footer .box02 .logo{
	width:75px;
	padding:0 0 40px 0;
	margin:0 auto;
}

footer .box02 .linkbox{
	display:block;
}


footer .box02 .linkbox ul li{
	padding:0 0 25px 0;
}

footer .box02 .linkbox ul:not(:last-child){
	padding:0;
	transition: all 0.3s;
}

footer .box02 .linkbox ul:first-child{
	font-size:14px;
}

footer .box02 .linkbox .tel a{
	font-size:18px;
	color:#2b5c6b;
	font-weight:500;
}

footer .copy{
	font-size:14px;
}

}

