@charset "utf-8";
/* CSS Document */
/*********** 基本設定 ***********/
html{
	height:100%;
}

body{
	height:100%;
	width:100%;
	font-size:100%;
	line-height:1;
	color:#000;
    background: #fff;
	font-family: "BIZ UDPGothic", sans-serif;
	font-weight: 400;
	font-style: normal;
}

*{
	outline:none;
}

a{
	/*\*/
	overflow:hidden;
	/**/
	color:#755c14;
}

/*iphoneボタン調整*/
input[type="submit"],
input[type="button"] {
	-webkit-appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
}

.clearfix{
	zoom:100%;
}

.clearfix:after{
	content:"";
	clear:both;
	height:0;
	display:block;
	visibility:hidden;
}


.ta_c{
	text-align:center;
}

.ta_r{
	text-align:right;
}

.ta_l{
	text-align:left;
}


.normal{
	font-weight:normal;
}

.bold{
	font-weight:bold;
}


img{
	max-width: 100%;
	height: auto;
	width /***/:auto;
}


/*********** 透過設定 ***********/
.bright{
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

.bright:hover{
	filter: brightness(80%);
}

.opac:hover{
  opacity: 0.7;
  filter: alpha(opacity=70);
}



/* 背景動画のスタイル */
#background-video {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vh;
    object-fit: cover;
    transform: translate(-50%, -50%);
    z-index: -1; /* 背景として配置 */
  /*opacity: 0.5;
  filter: alpha(opacity=50);*/
}


/*********** wrap設定 ***********/
#wrap{
	width: 100%;
	position: relative;
	min-height: 100%;
	display: flex;
	flex-direction: column;
	background:url(/img/pat3.png) center 0/132px repeat;
	opacity: 0.9;
}
#wrap:before{
    content:'';
    display: block;
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
    z-index: -1;	
	background:rgba(255, 255, 255, 0.7);
}

.en_wrap{
    max-width:1450px;
    margin:0 auto;
    box-sizing: border-box;
    padding:0 20px;
}


/*********** header設定 ***********/
#en_catch{
    padding-top:70px;
    font-size:20pt;
    text-align: center;
    margin-bottom:40px;
}

#en_logo{
    text-align: center;
    margin-bottom: 65px;
	max-width: 500px;
	margin:0 auto 65px;
}


/*********** contents設定 ***********/
#bn_rec{
    text-align: center;
    margin-bottom:60px;
}

#en_btn_wrap{
    display: flex;
    justify-content: center;
    gap:20px;
    margin-bottom:20px;
    position: relative;
}

#en_btn_wrap a{
    display: block;
	-webkit-transition: 0.1s ease-in-out;
	-moz-transition: 0.1s ease-in-out;
	-o-transition: 0.1s ease-in-out;
	transition: 0.1s ease-in-out;
}

#r18{
    font-size:90%;
    line-height: 1.5;
    display: flex;
    justify-content: center;
    align-items: center;
    gap:10px;
    margin-bottom:60px;
}

#open{
    position: absolute;
    top:-19px;
    /*left:0;
    right:0;*/
    text-align: center;
    /*margin:auto;*/
}

#en1{
    text-align: center;
    margin-bottom:40px;
}

.en2{
    padding-bottom:60px;
    text-align: center;
}

.en_bn{
    max-width:800px;
    margin:0 auto 30px;
}

.en_wrap2{
	max-width:800px;
	margin:0 auto 0;
	line-height:1.7;
	background: rgba(255,255,255,0.5);
	padding:20px;
}

.en_ttl{
	background:#c9bd9a;
	padding:0.5em 1em;
	margin-bottom:1em;
}

#open_text{
	font-size:clamp(18px,4.2vw,50px);
	text-align: center;
	margin-bottom:30px;
	color:#ffeba9;
	font-weight: 700;
	font-family:'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	/*background:rgba(0,0,0,0.74);*/
	max-width:1000px;
	margin:0 auto 30px;
	padding:20px;
	box-sizing: border-box;
	background: linear-gradient(to right,  rgba(0,0,0,0) 0%,rgba(0,0,0,0) 1%,rgba(0,0,0,0.4) 15%,rgba(0,0,0,0.85) 50%,rgba(0,0,0,0.4) 87%,rgba(0,0,0,0.03) 99%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

}

/*********** footer設定 ***********/
footer{
    line-height:1.5;
	background:#c9bd9a;
    font-size:90%;
    text-align: center;
    padding:10px 0;
	margin-top:auto;
}


/*********** レスポンシブル設定 ***********/
.sp_block,
.sp_block2{
    display: none;
}


/*********** レスポンシブル設定 ***********/
.mgb10{
    margin-bottom:10px;
}
.mgb20{
    margin-bottom:20px;
}

.mgb60{
    margin-bottom:60px;
}


/*===============================================
●smart.css  画面の横幅が1280pxまで
===============================================*/
@media screen and (max-width:1280px){
    .sp_none{
        display: none;
    }
    
    .sp_block{
        display: block;
    }
}

/*===============================================
●smart.css  画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
}

/*===============================================
●smart.css  画面の横幅が640pxまで
===============================================*/
@media screen and (max-width:640px){
    .sp_none2{
        display: none;
    }
    
    .sp_block2{
        display: block;
    }

	
	/* 背景動画のスタイル */
	#background-video {
		left: 100%;
		width: 500vw;
	}
    
    
    /*********** wrap設定 ***********/
    /*#wrap:before{
        background:url(/img/bg1_sp.webp) center 0/cover no-repeat;
    }*/
    
    /*********** header設定 ***********/
    #en_catch{
        font-size:5vw;
    }

    #en_logo{
        padding:0 20px;
        margin-bottom: 40px;
    }

    /*********** contents設定 ***********/
    #bn_rec{
        margin-bottom:40px;
    }

    #r18{
        margin-bottom:40px;
    }

    #r18 p{
        flex-shrink:3;
        font-size: 80%;
    }

    #en1{
        margin-bottom:20px;
    }
    
    .concept_dl{
        line-height:1.5;
        border:1px solid #b7ad7d;
        padding:1em;
        background: rgba(121,121,121,0.7);
        margin-bottom:10px;
        
    }
    
    .concept_dl:last-of-type{
        margin-bottom:60px;        
    }
    
    .concept_dl dt{
        color:#ffefb5;
        font-size:110%;
        text-align: center;
        margin-bottom:5px;
    }
    
    .concept_dl dd{
        font-size:90%;      
    }


}