@charset "utf-8";
/*----------リセット-------------*/

body {
	font-size:16px;
	color:#000;
	line-height:1.8em;
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	-webkit-text-size-adjust: none;
	background-color:#f8f3e2;
	width:100%;
	height:100%;
}

.mincho{
	font-family: YakuHanJP, 'Noto Serif JP', sans-serif;
}

li {
	list-style-type: none;
}

a{
	text-decoration:underline;
	color:#000;
}

img{
	margin: 0;
	padding: 0;
	vertical-align:bottom;
	width: 100%;
	}	

*:after { display:block; clear:both; }

.clearfix:after{
	content: ".";
	font-size: 0.1em;
	line-height: 0;
	display: block;
	height: 0.1px;
	visibility: hidden;
	clear: both;
}

.clearfix{
	min-height: 1%;
	_height: 1%;
}

a{
	transition: 0.4s ;
}

a:hover{
  opacity: 0.7;
}

/* --------------------------------------------------
loader
 -------------------------------------------------- */
.loader {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #00034a;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.loader__box {
  position: relative;
  width: 14%;
  position: relative;
  -webkit-transition: opacity 1s .5s;
  transition: opacity 1s .5s;
}

.loader {
  opacity: 1;
  z-index: 9999;
  -webkit-transition: opacity 0.8s 0.5s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: opacity 0.8s 0.5s cubic-bezier(0.47, 0, 0.745, 0.715);
}

.is-loaded .loader {
  opacity: 0;

}

@media screen and (max-width:767px) {
	.loader__box {
	  width: 40%;
	}
}

.container{
	width:88%;
	margin:0 auto;
	position:relative;
}

/*--------------------------------------
mainvisual
----------------------------------------*/
#mainvisual{
	width:100%;
	height:141vw;
	position:relative;
	background: url(../images/visual.jpg) no-repeat center top;
	background-size:cover;
}

#mainvisual h1{
	position:absolute;
	right:0;
	top:0;
	width:38%;
}

#mainvisual h2{
	position:absolute;
	right:0;
	top:24vw;
	width:38%;
}

#mainvisual h3{
	width:100%;
	position:absolute;
	right:0;
	bottom:0;
}

#catch{
	padding-bottom:10%;
}

#catch p{
	font-size:3.2vw;
	line-height:1.8;
	text-align:center;
	padding-top:5%;
	color:#000;
}

#catch p.red{
	font-size:3.6vw;
	color:#e73764;
	font-weight:700;
	line-height:1.8;
}

#catch p span{
	font-size:3.4vw;
	color:#526aff;
	font-weight:700;
}

#catch p strong{
	font-size:3.4vw;
	font-weight:700;
}


/*--------------------------------------
contribution
----------------------------------------*/
#contribution{
	width:100%;
	background: url(../images/contribution_bg.png) no-repeat center top #000041;
	background-size:100% auto;
	padding-bottom:10%;
}

#contribution h2{
	width:68%;
	margin:0 auto;
	padding:10% 0 5%;
}

#contribution ul{
	margin-bottom:10%;
}

#contribution ul li{
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom:1%;
	font-size:2.4vw;
	line-height:1.8;
	color:#fff;
}

#contribution ul li:before{
	content:"※";
}

.sc_grid{
	font-weight:300;
}

/*--------------------------------------
more_btn
----------------------------------------*/
#sc_grid_more_btn,
#sc_grid_wait_btn {
	position:relative;
	clear:both;
	width:50vw !important;
	height:4vw;
	margin:6% auto 0 !important;
	padding:0 0 20vw !important;
	display:block;
	cursor:pointer;
	background: url(../images/next_btn.png) no-repeat center top;
	background-size:100% auto;
}

#sc_grid_more_btn:after {
	content:"" !important;
	width:100%;
	left:0;
	right:0
}

#sc_grid_wait_btn:after {
	content:"" !important;
	width:100%;
	left:0;
	right:0
}

/*--------------------------------------
present2
----------------------------------------*/
#present2{
	width:100%;
	background: url(../images/contribution_bg.png) no-repeat center top #000041;
	background-size:100% auto;
	padding-bottom:5%;
}

#present2 h2{
	width:68%;
	margin:0 auto;
	padding:10% 0 5%;
}

#present2 #caution{
	font-size:2.5vw;
	color:#fff;
	font-weight:300;
	margin-top:3%;
	line-height:1.6;
}


/*--------------------------------------
present
----------------------------------------*/
#present{
	width:100%;
	padding-bottom:5%;
}

#present h2{
	width:68%;
	margin:0 auto;
	padding:15% 0 5%;
}

#present ul,
#present2 ul{
	width:89%;
	margin:0 auto;
  justify-content: space-between;
  align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

#present ul li,
#present2 ul li{
	width:100%;
	margin-bottom:5%;
}

#present ul li:last-child,
#present2 ul li:last-child{
	margin-bottom:0;
}

#present #caution{
	font-size:2.5vw;
	color:#000000;
	font-weight:300;
	margin-top:3%;
	line-height:1.6;
}

/*--------------------------------------
entry
----------------------------------------*/
#entry{
	width:100%;
	padding-bottom:10%;
}

#entry h2{
	width:68%;
	margin:0 auto;
	padding:10% 0 5%;
}

#entry p{
	font-size:3.2vw;
	text-align:center;
	margin:0 auto;
	padding:0 0 5%;
}

#kiyaku_btn{
	width:16%;
	margin:0 auto;
	padding:0 0 8%;
}

#entry ul{
	width:100%;
	margin:0 auto;
  justify-content: space-between;
  align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

#entry ul li{
	width:100%;
	height:85vw;
	background: url(../images/waku.png) no-repeat center top;
	background-size:100% auto;
	margin-bottom:6%;
}

#entry ul li:last-child{
	margin-bottom:0;
}

#entry h3{
	width:50%;
	margin:0 auto;
	padding-bottom:25px;
}

#entry dl{
	width:96%;
	margin:0 auto;
  justify-content: space-between;
  align-items: start;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

#entry dl dt{
	width:15%;
	margin-left:3%;
}

#entry dl dt img{
	width:87%;
}

#entry dl dd{
	width:82%;
}

#entry dl dd p{
	text-align:left;
	font-weight:300;
	line-height:1.5;
	padding-top:4%;
	font-size:3.4vw;
}

#entry dl dd a{
	width:58%;
	display:block;
}

#entry dl dt:nth-child(1),
#entry dl dd:nth-of-type(1),
#entry dl dt:nth-child(2),
#entry dl dd:nth-of-type(2){
	margin-bottom:5%;
}

#date{
	width:80%;
	margin:6% auto 0;
}

/*--------------------------------------
mvtk
----------------------------------------*/
.mvtk{
	width: 100%;
	position:relative;
	margin:7% auto 0;
}

.mvtk-widgets {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-pack:center;
	justify-content:center;
	text-align:center;
}

/*--------------------------------------
trailer
----------------------------------------*/
#trailer{
	width:100%;
	margin:15% auto 4%;
}

.video-container {
	width: 100%;
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}

.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#bnr ul{
	width:100%;
	margin:0 auto 10%;
  justify-content: space-between;
  align-items: start;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	position:relative;
}

#bnr ul li{
	width:100%;
	margin-bottom:5%;
}

#copyright{
	font-size:2.4vw;
	text-align:center;
	line-height:1.6;
	padding-bottom:5%;
	color:#000;
	font-weight:300;
}

/*------------------------------------------
terms
------------------------------------------*/
.terms {
  position: fixed;
  top: 0;
  left: 0;
	right:0;
  background-color: #f9f4e5;
  height: 100vh;
	margin:auto;
	z-index:9000;
	width:100%;
}

.terms .terms_inn{
	width:96%;
	margin:3% auto 0;
	position:relative;
}

.terms_contents{
	width:100%;
	position:relative;
	padding-bottom:5%;
  height: 90vh;
	padding-top:10%;
}

.terms .close {
  width: 8%;
	height:8%;
  position: absolute;
  top: 0;
  right: 0;
	transition: 0.4s ;
}

.terms .close:hover{
	cursor:pointer;
  opacity: 0.6;
}

.terms h2 {
	font-size:6.0vw;
	color:#000;
	text-align:center;
	padding:5% 0 10%;
	letter-spacing:1px;
}

.terms p {
	font-size:3.2vw;
	padding-bottom:1%;
}

.mt20{
	margin-top:5%;
}

.terms span {
	font-size:2.8vw;
}

.terms ul{
	width:100%;
}

.terms ul li{
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom:1%;
	font-size:2.8vw;
	line-height:1.8;
}

.terms ul li.dot:before{
	content:"・";
}

.terms ul li.ast:before{
	content:"※";
}

.terms ul li.num1:before{
	content:"①";
}

.terms ul li.num2:before{
	content:"②";
}

#term_txt{
	width:100%;
	margin:0 auto;
  height: 140vw;
	color:#000;
	background-color:#f9f4e5;
}

#term_txt_inner{
  height: 100%;
	position:relative;
	overflow-y: scroll;
	padding-right:4%;
	margin:0 auto;
  height: 90%;
}

#term_txt_inner2{
	width:96%;
	margin:0 auto;
}

#term_txt ul li a{
	color:#18889e;
	text-decoration:underline;
}

#term_txt ul li a:hover{
	text-decoration:none;
}

.fixed {
	position: fixed;
}

/*--------------------------------------
animation
----------------------------------------*/
*:not(body) {
  -webkit-animation-play-state: paused !important;
          animation-play-state: paused !important;
}

*:not(body) .is-loaded * {
  -webkit-animation-play-state: running !important;
          animation-play-state: running !important;
}

@keyframes fade {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

@keyframes blur {
  0% {
	  opacity: 0;
    filter: blur(40rem);
  }
  100% {
	  opacity: 1;
    filter: blur(0);
  }
}

.slideup{
	opacity:0;
}

.slideup.addup{
  animation: fadeUp 1s ease 0.5s forwards;
}

@keyframes fadeUp{
	0% { 
		transform: translateY(50px) ; 
		opacity:0;
	}
	100% { 
		transform: translateY(0) ; 
		opacity:1;
	}
}

#mainvisual h1,
#mainvisual h2,
#mainvisual h3,
#catch .lead1,
#catch .lead2,
#catch .lead3,
#present ul li,
#present #caution,
#entry ul li,
#entry #date{
	opacity:0;
}

.is-loaded #mainvisual h1{
  animation: fade 2.0s ease 1.6s forwards;
}

.is-loaded #mainvisual h2{
  animation: fade 2.0s ease 1.8s forwards;
}

.is-loaded #mainvisual h3{
  animation: fade 2.0s ease 2.6s forwards;
}

.is-loaded #catch .lead1{
  animation: fadeUp 1.2s ease 3.0s forwards;
}

.is-loaded #catch .lead2{
  animation: fadeUp 1.2s ease 3.3s forwards;
}

.is-loaded #catch .lead3{
  animation: fadeUp 1.2s ease 3.6s forwards;
}

#present.is-loaded ul li:nth-child(1){
  animation: fade 2.0s ease 1.4s forwards;
}

#present.is-loaded ul li:nth-child(2){
  animation: fade 2.0s ease 1.6s forwards;
}

#present.is-loaded ul li:nth-child(3){
  animation: fade 2.0s ease 1.8s forwards;
}

#present.is-loaded #caution{
  animation: fade 2.0s ease 2.0s forwards;
}

#entry.is-loaded ul li:nth-child(1){
  animation: fade 2.0s ease 1.4s forwards;
}

#entry.is-loaded ul li:nth-child(2){
  animation: fade 2.0s ease 1.6s forwards;
}

#entry.is-loaded #date{
  animation: fade 2.0s ease 1.8s forwards;
}
