@charset "UTF-8";
/* CSS Document */

html{
	font-size: 62.5%;/*16px*62.5%=10px*/
}


body{
	margin: 50px auto;
	margin-bottom: 0;
	max-width: 920px;
	letter-spacing: -0.08rem;
}

/*----------top----------*/



.header{
	height: auto;
}

.flexbox{
	display:flex;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
}

.flexbox p,.flexbox a{
	font-size: 2rem;
	font-family: charlemagne-std , serif;
	font-weight: 1000;
	font-style:normal;
	color: #A1291D;
}

.box1{
	width: 30%;
	margin: 0 auto;
}

.logo{
	width: 100%;
}

.box2{
	display: flex;
	justify-content: space-around;
	width: 100%;
	padding-top: 30px;
}

.box2 li{
	margin: 0 20px;
	box-sizing: border-box;
}

.drawer-hidden {
  display: none;
}

.relative{
	position: relative;
}

.back{
	position: relative;
	width: 100%;
	height: auto;
	z-index: 0;
}

.banner{
	position: absolute;
	width: 100%;
	top: 53%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 100;
	clear: inherit!important;
}

.banner-sp,.back-sp{
	display: none;
}

.online{
	position: absolute;
	width: 70%;
	top: 50%;
	left: 100%;
	transform: translate(40%,-50%);
	z-index: 100;
	clear: inherit!important;
}


.title-red{
	font-size: 3vw;
	font-family: charlemagne-std , serif;
	font-weight: 1000;
	font-style:normal;
	color: #A1291D;
	text-align: center;
	margin-top: 50px;
}

.title-white{
	font-size: 5vw;
	font-family: charlemagne-std , serif;
	font-weight: 1000;
	font-style:normal;
	color: #ffffff;
	text-align: center;
	margin-top: 80px;
}

.btn-trigger{
    appearance:none;
    -webkit-appearance:none;
    overflow: hidden;
    position: absolute;
    top:12px;
    right:12px;
    z-index: 100;
    width: 40px;
    padding: 0;
    border:none;
    background-color: #fff;
    white-space: nowrap;    
}
use{
    -webkit-transition: 0.5s all;
    -moz-transition: 0.5s all;
    -ms-transition: 0.5s all;
    transition: 0.5s all;
}
.btn-trigger.active use:nth-of-type(1) {
    -webkit-transform: translateY(30px) rotate(-45deg);
    transform: translateY(30px) rotate(-45deg);
}

.btn-trigger.active use:nth-of-type(2) {
    opacity: 0;
}
.btn-trigger.active use:nth-of-type(3) {
    -webkit-transform: translateX(35px) translateY(-15px) rotate(45deg);
    transform: translateX(35px) translateY(-15px) rotate(45deg);
}
/*----------challenge----------*/
.challenge{
	margin-top: 5px;
}

.challenge img{
	width: 100%;
	margin: 0 auto;
}

.difficult01{
	width: 95%;
	margin: 0 auto;
		margin-top: 30px;
}

.difficult01 img{
	width: 100%;
	margin: 0 auto;
}

.sp-none{
	display: none;
}

/*----------how to application----------*/

.howto{
	width: 850px;
	margin: 0 auto;
}

.bar{
	width: 100%;
	margin-top: 30px;
	text-align: center;
}

.bar img{
	width: 100%;
	margin: 0 auto;
}

.difficult02{
	width: 100%;
	margin: 0 auto;
	margin-top: 30px;
	margin-bottom: 30px;
}

.difficult02 img{
	width: 100%;
	margin: 0 auto;
}

.forever{
	width: 100%;
	margin: 0 auto;
	margin-top: 30px;
	margin-bottom: 30px;
}
.forever img{
	width: 100%;
	margin: 0 auto;
}

.back-red{
	background-color:#ffedec;
	width: 100%;
	height: auto;
	padding: 20px;
}

.about{
	width: 100%;
	margin: 0 auto;
	margin-top: 0px;
}
.about img{
	width: 50%;
	margin: 0 auto;
}

.rule{
	width: 100%;
	margin: 0 auto;
	margin-top: 20px;
}

.rule img{
	width: 100%;
	margin: 0 auto;
}

.rule1{
	margin-bottom: -10px;
}

.back-yellow{
	background-color:#ffffee;
	width: 100%;
	height: auto;
	padding: 20px;
	margin-top: 30px;                         
}

.winner{
	width: 70%;
	margin: 0 auto;
	margin-top: 20px;
}

.winner img{
	width: 100%;
}

.font1{
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style: normal;
	
}

.theme1{
	font-size: 5rem;
	text-align: center;
	color: #D51429;
	letter-spacing: -0.6rem;
}

.font2{
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #000000;
	font-size: 1.7rem;
}

.theme2{
	font-size: 2.2rem;
	text-align: center;
	color: #6E4A2A;
	letter-spacing: -0.05rem;
}

.youkou1{
	width: 100%;
	font-size: 2.2rem;
	text-align: center;
	color: #6E4A2A;
	letter-spacing: -0.05rem;
	white-space: pre;
	
}

.br{
	display: none;
}

.mt20{
	margin-top: 20px;
}

.youkou2{
	width: 100%;
	margin-top: 10px;
	margin-left: 20px;
	font-size: 1.5rem;
	text-align: left;
	color: #6E4A2A;
	letter-spacing: -0.05rem;
	white-space: pre;
}

.flex{
	display: flex;
}

.howto_number{
	margin: 35px 0 0 20px
}

.howto_font1{
	margin: 30px 0 0 20px;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: -0.05rem;
	white-space: pre;
}
.howto_font2{
	margin: 0 0 0 20px;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: -0.05rem;
	white-space: pre;
}

.attention1{
	margin: 20px 0 0 30px;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -0.05rem;
}

.attention2{
	margin: 10px 0 0 30px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.05rem;
	white-space: pre;
}

/*----------trick----------*/

/*----------footer----------*/

.footer{
	margin: 0 auto;
	margin-top: 50px;
	padding: 20px 20px 20px 0;
	box-sizing: border-box;
	width: 100%;
	background-color: #433730;
	display: block;
	text-align: center;
}

.copyrights{
    text-align: right;
	font-size: 2rem;
	color: #ffffff;
}

.copyrights-sp{
	display: none;
}

/*----------sp----------*/

@media screen and (max-width:768px){
	
	body{
		margin: 0;
	}
	
	.header{

	}
	
	.flexbox{
		display: block;
		margin: 0;
	}
	
.flexbox p,.flexbox a{
	font-size: 8vw;
	font-family: charlemagne-std , serif;
	font-weight: 1000;
	font-style:normal;
	color: #A1291D;
}
	
	.box2{
	display: block;
	position: absolute;
	text-align: center;
    z-index: 10;  
    box-sizing: border-box; 
    width:100%;
    height: 100%;
    padding: 50px 0 0;
	font-size: 4vh;
}

.box2 li{
	margin: 0 60px;
	padding: 30px;	
	box-sizing: border-box;
}
/* チェックボックスは非表示に */
.drawer-hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer-open {
  display: flex;
  height: 60px;
  width: 60px;
  justify-content: center;
  align-items: center;
  position: relative;
  position: absolute;
  top:10px;
  right:12px;
  z-index: 10000;/* 重なり順を一番上に */
  cursor: pointer;
  
}

/* ハンバーガーメニューのアイコン */
.drawer-open span,
.drawer-open span:before,
.drawer-open span:after {
  content: '';
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background: #A1291D;
  transition: 0.5s;
  position: absolute;
}

/* 三本線のうち一番上の棒の位置調整 */
.drawer-open span:before {
  bottom: 8px;
}

/* 三本線のうち一番下の棒の位置調整 */
.drawer-open span:after {
  top: 8px;
}

/* アイコンがクリックされたら真ん中の線を透明にする */
#drawer-check:checked ~ .drawer-open span {
  background: rgba(255, 255, 255, 0);
}

/* アイコンがクリックされたらアイコンが×印になように上下の線を回転 */
#drawer-check:checked ~ .drawer-open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

#drawer-check:checked ~ .drawer-open span::after {
  top: 0;
  transform: rotate(-45deg);
}
  
/* メニューのデザイン*/
.drawer-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: -200%;/* メニューを画面の外に飛ばす */
  z-index: 1000;
  background-color: rgba(255,255,255,0.9);
  transition: 0.8s;
}

/* アイコンがクリックされたらメニューを表示 */
#drawer-check:checked ~ .drawer-content {
  top: 0;/* メニューを画面に入れる */
}

/* メニューを閉じるための要素のデザイン*/
.close {
  width: 100%;
  height: 100%;
  z-index: 2000;/* 重なり順をメニューより下に*/
  transition: .5s;
}

#sns-navi:active ~ .drawer-content {
  top:-200%;/* 閉じるための要素を画面内へ */
  transition: 10s;
}
	
	.box1{
		width: 40%;
		margin: 20px auto;
		margin-bottom: 20px;
	}
	
	.back-sp{
		display: initial;
		height: 100%;
		max-height: 1000px;
		width: 100%;
		max-width: 500px;
		overflow: hidden;
		margin: 0 auto;
	}
	
	.back-sp img{
		width: 100%;
		margin: 0 auto;
	}
	
	.bx-position ul{
	position: absolute;
	top: 0px;
	left: 0;
	transform: translate(0);
}


	.banner-sp{
	display: inherit;
	position: absolute;
	width: 100%;
	height: 100%;
	margin-top: -10px;
	z-index: 100;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	}

	.banner-sp img{
		width: 100%;
	}
	
	.online{
	position: absolute;
	width: 55%;
	top: 50%;
	left: -90%;
	transform: translate(40%,-50%);
	z-index: 100;
	clear: inherit!important;
	}

	
	
	.menu-illust01,.menu-illust02,.menu-illust03,.menu-illust04,.news-illust01,.news-illust02,.news-illust03,.sns-illust01,.sns-illust02,.banner,.back,.pc-none
	{
		display: none;
	}
	
	.sp-none{
		display: inherit;
	}
	
	.exteriar{
		width: 48%;
		max-width: 300px;
		top: 100%;
	}
	
	.title-red{
	font-size: 7vw;
	font-family: charlemagne-std , serif;
	font-weight: 1000;
	font-style:normal;
	color: #A1291D;
	text-align: center;
	margin-top: 0px;
}

	.title-white{
	font-size: 7vw;
	font-family: charlemagne-std , serif;
	font-weight: 1000;
	font-style:normal;
	color: #ffffff;
	text-align: center;
	margin-top: 30px;
}
	
.challenge{
	margin-top: 0px;
}

.challenge img{
	width: 100%;
	margin: 0 auto;
}

/*----------how to application----------*/

.howto{
	width: 95%;
	margin: 0 auto;
}

.bar{
	width: 100%;
	margin-top: 30px;
	text-align: center;
}

.bar img{
	width: 100%;
	margin: 0 auto;
}

.more{
	width: 100%;
	margin-top: 30px;

}

.more img{
	width: 100%;
	margin: 0 auto;
}

.back-red{
	background-color:#ffedec;
	width: 100%;
	height: auto;
	padding: 30px 5px;
}

.about{
	width: 100%;
	margin: 0 auto;
	margin-top: 0px;
}
.about img{
	width: 80%;
	margin: 0 auto;
}

.back-yellow{
	background-color:#ffffee;
	width: 100%;
	height: auto;
	padding: 30px 5px;
	margin-top: 30px;                         
}

.font1{
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style: normal;
	
}

.theme1{
	margin: 15px 0px;
	font-size: 2.4rem;
	text-align: center;
	color: #D51429;
	letter-spacing: -0.4rem;
}

.font2{
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #6E4A2A;
}

.theme2{
	font-size: 1.8rem;
	text-align: center;
	color: #6E4A2A;
	letter-spacing: -0.1rem;
}

.youkou1{
	width: 100%;
	font-size: 1.8rem;
	text-align: center;
	color: #6E4A2A;
	letter-spacing: -0.05rem;
	white-space: normal;
	
}
.youkou2{
	width: 100%;
	margin-top: 20px;
	margin-left: 10px;
	font-size: 1.2rem;
	text-align: left;
	color: #6E4A2A;
	letter-spacing: -0.08rem;
	white-space: pre;
}

.br{
	display: block;
}

.mt20{
	margin-top: 20px;
}


.flex{
	display: block;
}

.howto_number{
	margin: 20px 0px 0px 0px;
	width: 100%;
	text-align: center;
}


.howto_font1{
	margin: 5px 0px 0px 0px;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: -0.08rem;
	white-space: pre;
	text-align: center;
}
.howto_font2{
	margin: 0 0 0 20px;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: -0.05rem;
	white-space: pre;
	text-align: center;
}

.attention1{
	margin: 20px 0 0 20px;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.05rem;
}

.attention2{
	margin: 10px 0 0 0px;
	padding: 0px 20px;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -0.08rem;
	white-space: normal;
}
/*----------trick----------*/
.present{
	width: 100%;
	
}

.present img{
	width: 100%;
}

/*----------footer----------*/

.footer{
	margin: 20px auto;
	padding: 20px 0px 10px 0;
	box-sizing: border-box;
	width: 100%;
	height: 20vw;
	background-color: #433730;
	text-align: center;
}

.copyrights{
    text-align: center;
	font-size: 5vw;
	color: #ffffff;
}

.copyrights-sp{
	display: initial;
}


}

