@charset "UTF-8";

/* container */

body{
	background: #F2F0EF;
}

.mb20{
	margin-bottom: 20px;
}

.mtb40{
	margin-top: 40px;
	margin-bottom: 40px;
}


.container{
	width: 	90%;
	max-width: 1240px;
	/*min-width: 1024px;*/
	margin: 0 auto;
}

.container .containerIn{
	overflow: hidden;
}


#fixSpNav{
	opacity: 1;
	width: 55px;
	height: 55px;
	pointer-events: none;
	position: fixed;
	bottom: 50px;
	right: 5%;
	z-index: 500;
	opacity: 0;
}

/* section */




/* header */

header{
	width: 100%;
	height: 80px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9998;
	-webkit-transition: all .5s;
	   -moz-transition: all .5s;
	    -ms-transition: all .5s;
	     -o-transition: all .5s;
	        transition: all .5s;
	background: rgba(14, 23, 55, 0.90);
	backdrop-filter: blur(2px);
	opacity: 1;
	transition: top 0.3s, opacity 0.3s;
}


#headerIn{
	width: 90%;
	max-width: 1240px;
	margin: 0 auto;
	height: 80px;
	position: relative;
}

#headerLogo{
	width: 180px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}



header h1 img{
	width: 180px;
	height: auto;
}

/* pageHeader */

#pageHeader{
	padding-top: 128px;
	margin-bottom: 96px;
	position: relative;
}

.pageHeaderIn{
	width: 100%;
	overflow: hidden;
}

.pageHeaderIn .container{
	display: flex;
  justify-content: space-between;
}

.pageHeaderIn .ttlWrap{
	width:500px;
	position: relative;
	z-index: 10;
	float: left;
}


.pageHeaderIn .description{
	width: calc(100% - 500px);
	max-width: 720px;
}



/* gloval-nav */

#spNav{
	display: none;
}

#grovalNav{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
  	-webkit- transform: translateY(-50%);
	
}

#grovalNav .navbar {
  overflow: visible;
  height: 40px;
  line-height: 40px;
}

#grovalNav .navbar a,
#grovalNav .dropdown .dropbtn{
	height: 40px;
	line-height: 30px;
  float: left;
  padding: 5px 0;
  margin-left: 20px;
  text-decoration: none;
  transition: all .5s;
}



#grovalNav .dropdown {
  float: left;
  overflow: hidden;
}

#grovalNav .dropdown-content {
	position: absolute;
	min-width: 160px;
 	z-index: 1;
  	top: 40px;
  	padding: 25px 15px;
  	border-radius: 8px;
	border: 1px solid #0E1737;
	background: radial-gradient(123.62% 139.69% at 23.18% -6.28%, #0E1737 0%, rgba(14, 23, 55, 0.65) 100%);
  	visibility: hidden; /* 初期状態では非表示 */
    opacity: 0;
    transform: translateY(-20px); /* 初期状態では上に少し移動 */
    transition: opacity 0.5s, transform 0.5s, visibility 0s linear 0.5s;
}

#grovalNav .dropdown-content.active {
    visibility: visible; /* アクティブの場合は表示 */
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s; /* トランジションの遅延を解除 */
}

.sub-menu{
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	background: red;
	width: 180px;
	-webkit-border-radius: 5px;
	        border-radius: 5px;
	background: rgb(0,0,0);
background: radial-gradient(circle, rgba(0,0,0,1) 0%, rgba(14,23,55,1) 100%);
}


@media (hover: hover) and (pointer: fine) {
  .menu-item:hover .sub-menu {
	  display: block;
	}
}

#menu-item-1467{
	position: relative;
}


/* lang */

#langSel{
position: absolute;
    top: 50%;
    right: 100px;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

#langSel select {
    padding: 10px 5px;
    cursor: pointer;
    background: rgba(255,255,255,.8);
    font-size: 14px;
}

#langSel select option span{
	display: block;
	background: #FFF;
	padding: 10px 0;
	
}

#langSel2{

}

#langSel2 select {
    padding: 10px 5px;
    cursor: pointer;
    background: rgba(255,255,255,.8);
    font-size: 14px;
}

#langSel2 select option span{
	display: block;
	background: #FFF;
	padding: 10px 0;
	
}



/* footer */
footer{
	width: 100%;
	background: url(../images/footer_bg.webp);
	padding: 48px 0 32px 0;
	font-size: 12px;
	position: relative;
	z-index: 1;
}

#footerLogo{
	font-size: 12px;
	color: #C6A75C;
	margin-bottom: 10px;
	
}

#footerLogo img{
	width: 219px;
	height: auto;
}


#footerContents{
	display: flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
}

#footerContents #footerLogo{
}

#footerContents #footerNav{
	display: flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
}

#footerContents #footerNav .navWrap{
	margin-right: 60px;
}

#footerContents #footerNav .navWrap.right{
	margin-right: 0;
}

#footerContents #footerNav .navWrap a img{
  transition: all .5s;
}

.pc #footerContents #footerNav .navWrap a:hover img,
.sp #footerContents #footerNav .navWrap a:active img{
filter: drop-shadow(0px 0px 5px rgba(255, 255, 255, 0.65)) drop-shadow(0px 0px 5px #1F476B);
background-color: #0E1737;
        border-radius: 50%;
}

.pc #footerContents #footerNav .navWrap a:active img{
	filter: drop-shadow(0px 0px 2px #FFF) drop-shadow(0px 0px 2px #1F476B);
	background-color: #0E1737;
        border-radius: 50%;
}

#footerBottom{
	position: relative;
}

#footerLangSel .languageList{
	width: 70px;
	display: flex;
  justify-content: space-between;
	position: absolute;
	right: 0;
	bottom: 0;
}

#footerBottom .policyNav{
	display: flex;
	position: absolute;
	bottom: 0;
	right: 130px;
}

/* other */
.moreLink{
	text-align: center;
	margin-top: 80px;
}

.moreLink a{
	display: inline-block;
	background: #C6A75C;
	padding: 10px 20px;
	color: #fff;
	-webkit-border-radius: 5px;
	        border-radius: 5px;
	font-weight: 700;	
}

#menu-item-1467 > a{
	pointer-events: none;
}


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

	
}

#loader {
    position: fixed; 
    left: 0;         
    top: 0;          
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: flex; 
    justify-content: center;
    align-items: center; 
    background-color: #0E1737;
}

#loader.fadeOut {
    opacity: 0;
    transition: opacity 0.5s ease-out;
}

#loader img{
	width: 175px;
}

@media screen and (max-width: 767px) {
	#loader img{
	width: 150px;
}
}


/*404*/

.cont404Wrap{
	float: right;
	width: 100%;
	max-width: 425px;
	padding-top: 260px;
}

#cont404{
	width: 100%;
	height: 100vh;
	max-height: 1080px;
	background: url(../images/404.webp);
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
	background-position: center;
	background-attachment: fixed;
	position: relative;
	overflow: hidden;
}

#cont404 .img404{
	position: absolute;
	top: 100px;
	left: -130px;
	width: 1190px;
}

.contIn404{
	margin-bottom: 82px;
	padding-bottom: 30px;
}

.contIn404 h3{
	width: 100%;
	max-width: 266px;
	margin: 0 auto;
	margin-bottom: 30px;
}

.contIn404 p{
	color: #FFF;
	text-align: center;
	font-family: ryo-gothic-plusn;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 170%; /* 30.6px */
}

.contIn404 .large{
	color: #FFF;
	text-align: center;
	font-family: ryo-gothic-plusn;
	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: 170%; /* 47.6px */
}

.link404 p{
	color: #FFF;
	text-align: center;
	font-family: ryo-gothic-plusn;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 130%; /* 20.8px */
}


.lang_en .contIn404 p{
	color: #FFF;
	text-align: center;
	font-family: "Sofia Sans";
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 33.6px */
}

.lang_en .contIn404 .large{
	color: #FFF;
	text-align: center;
	font-family: "Sofia Sans";
	font-size: 34px;
	font-style: normal;
	font-weight: 700;
	line-height: 140%; /* 47.6px */
}

.lang_en .link404 p{
	color: #FFF;
	text-align: center;
	font-family: Barlow;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: 130%; /* 22.1px */
}


.link404 p.link{
	padding: 10px;
}


.link404 p.link a.btn {
	color: #FFF;
	font-family: ryo-gothic-plusn;
	font-size: 17px;
	font-style: normal;
	font-weight: 500;
	line-height: 130%; /* 18.2px */
	letter-spacing: 0.42px;
	display: block;
	width: 100%;
	max-width: 256px;
	min-height: 53px;
	border-radius: 8px;
	position: relative;
  	transition: all .5s;
	background: linear-gradient(280deg, #0E1737 6.03%, #1B264E 90.08%);
	box-shadow: 9px -6px 17px 0px rgba(236, 236, 236, 0.25), -9px 6px 17px 0px rgba(236, 236, 236, 0.25);
	margin: 0 auto;
	margin-top: 10px;
}

.lang_en .link404 p.link a.btn {
	color: #FFF;

text-align: center;
font-family: Barlow;
font-size: 17px;
font-style: normal;
font-weight: 500;
line-height: 120%; /* 20.4px */
letter-spacing: 0.85px;
}

.link404 p.link a.btn span{
	position: absolute;
	top: 4px;
	left: 4px;
	display: block;
	text-align: center;
	width: 100%;
	max-width: 248px;
	min-height: 45px;
	line-height: 45px;
	border-radius: 5px;
	transition: all .5s;
	background: linear-gradient(290deg, #0E1737 7.96%, #485892 100.62%);
}

.link404 p.link a.btn.pc:hover{
	box-shadow: 4px 4px 7px 0px rgba(255, 255, 255, 0.15), -4px -2px 7px 0px rgba(91, 107, 157, 0.15), -4px 2px 7px 0px rgba(255, 255, 255, 0.15), 4px -2px 7px 0px rgba(255, 255, 255, 0.15);
}

.link404 p.link a.btn.pc:hover span,
.link404 p.link a.btn.sp:hover span{
	text-shadow: 0px 0px 5px #FFF;
}

.link404 p.link a.btn.pc:active{
	box-shadow: 4px 4px 15px 0px rgba(1, 4, 17, 0.25), -4px -2px 15px 0px rgba(91, 107, 157, 0.25), -4px 2px 15px 0px rgba(1, 4, 17, 0.25), 4px -2px 15px 0px rgba(1, 4, 17, 0.25);
}



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

	#cont404 .img404{
		width: 100%;
		min-width: 600px;
		top: 30px;
		left: -40px;
	}

	.contIn404 h3{
		max-width: 188px;
	}

	.cont404Wrap{
		padding-top: 340px;
		float: none;
		margin: 0 auto;
	}

	.contIn404{
		margin-bottom: 42px;
	}

	.link404 span{
		display: block;
	}


.contIn404 p{
	font-size: 15px;
}

.contIn404 .large{
	font-size: 22px;
}

.link404 p {
	font-size: 14px;
}

.lang_en .contIn404 .large {
	font-size: 30px;
}

.lang_en .contIn404 p{
	font-size: 19px;
	line-height: 120%;
}

.lang_en .link404 p{
	font-size: 15px;

}



}

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

	.cont404Wrap{
		padding-top: 240px;
	}

.contIn404{
		margin-bottom: 22px;
	}

}

/*privacy*/

body{
	position: relative;
}

#privacy{
	display: none;
	width: 100%;
	position: fixed;
	bottom: 27px;
	right: 94px;
	z-index: 100;
	width: 467px;
	padding: 32px;
	border-radius: 8px;
background: #F2F0EF;
transition: opacity 0.5s ease, visibility 0.5s ease;
    opacity: 1;
    visibility: visible;
    z-index: 1000;
}


  #privacy.fade-out {
    opacity: 0;
    visibility: hidden;
  }


#privacy .privacyIn h4{
	color: #302C28;
	font-family: ryo-gothic-plusn;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 150%; /* 24px */
	margin-bottom: 16px;
}

#privacy .privacyIn p{
	color: #302C28;
	font-family: YuGothic;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 160%; /* 22.4px */
	margin-bottom: 16px;
}

#privacy .privacyIn ul{
	display: flex;
	justify-content: flex-end;
}

#privacy .privacyIn ul li{
	margin-left: 12px;
}



/* add */

@media screen and (max-width: 1024px) {
	#privacy{
		right: 27px;
		bottom: 32px;
	}

	#cont404{
		background-image: url(../images/404_tab.webp);
	}
}

@media screen and (max-width: 767px) {
	#privacy{
		right: auto;
		left: 17px;
		bottom: -1px;
		width: calc(100% - 34px);
		border-radius: 8px 8px 0 0;
	}

	#cont404{
		background-image: url(../images/404_sp.webp);
	}



}

span.br{
	display: inline-block;
}

@media screen and (max-width: 767px) {
	span.br{
		display: block;
	}
}