@charset "UTF-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
html { scroll-behavior: smooth;}
body { line-height: 1; overflow-y: scroll;}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

nav ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

/* add */
*, *::before, *::after { box-sizing: border-box; }

/* mixin */
/* setting */
/* layout */
.hide-pc { display: none; }

.contents_wrap{
content: '';
background-color: rgba(0,0,0,0.1);
background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
background-size: 4px 4px;
background-position: 0 0, 2px 2px;
margin: 0 auto;
width: 100%;
left: 0;
right: 0;
top: 0;
bottom: 0;
overflow-x: hidden;
}

.bg_main{
position: absolute;
overflow: hidden;
width: 100%;
height: 100vh;
background: url('video/240729_GvE2-30s-A.jpg') no-repeat center center/cover;
}

#bg-video{
min-width: 100%;
min-height: 100vh;
position: fixed;
z-index: -100;
}

@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
		video {
		width: 100%;
		top: 50%;
		transform: translateY(-50%);
		}
}

@media (max-aspect-ratio: 16/9) {
		video {
		height: 100%;
		left: 50%;
		transform: translateX(-50%);
		}
}

.main-contents{
max-width: 27.5rem;
position: relative;
z-index: 2;
text-align:center;
margin-left: 55vw;
background-color: rgba(0,0,0);
height: 100%;
-ms-overflow-style: none;
scrollbar-width: none;
font-family: "Avenir Next", Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
line-height: 1.3em;
}

.main-contents img{
width: 85%;
}

.main-contents::-webkit-scrollbar{
display: none;
}

.cptitle img{
padding-top: 0;
}

.title-gaiyou{
background-color: #5c3aa3;
width: 100%;
margin: 1em auto;
color: #FFF;
font-size: 1.5em;
font-weight: normal;
padding: 0.8em;
}

.p-gaiyou{
font-weight: bold;
line-height:1.8em;
}

span {
  color: red;
}

.mr1{
margin-bottom: 1em;
}

.x-btn{
margin-bottom: 2.1em;
}

.chuyaku{
color: #a0a0a0;
font-size: 0.8em;
text-align: left;
margin: 0 10%;
}

.rule{
background-color: #000;
padding-bottom: 100px;
}

.title-rule{
color: #FFF;
font-size: 1.8em;
font-weight: bold;
padding: 1.5em;
}

.rule-contents{ 
background: #fff;
border: 1px solid #ccc;
padding: 30px;
text-align: left;
line-height: 1.3;
height: 250px;
margin: 0 1.5em 2em 1.5em;
overflow-y: auto;
}

.rule-contents p {
font-size: 12px;
line-height: 1.5;
}

.kishu-bnr img{
width: 80%;
}

.evapro-link img{
max-width: 250px;
margin: 2em auto 0;
}

@media screen and (max-width: 767px){
		.main-contents{
		margin: 0 auto;
		text-align:center;
		background-color: rgba(0);
		padding-top: 0;
		width: 90%;
		}

		.main-contents img{
		width: 85%;
		}

		.head-sp{
		display: block !important;
		}

		.foot{
		width: 90%;
		}

		.foot img{
		width: 80%;
		}
	}

.foot{
z-index: 2;
width: 100%;
position: absolute;
bottom: 0;
background-color: #000;
margin: 0 auto;
text-align: center;
padding: 5px;
}
.foot img{
max-width: 80%;
}