@charset "UTF-8";



/*================================================
 *  3カラム
 ================================================*/
 
 
.wrapper {
  display: flex;
  justify-content: center;
  min-height: 100vh; 
}


/*スマホ幅本文*/
.main_spcontents {
	width:100%;
  max-width:480px;/*pc幅*/
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items:center;
  min-height: 100vh; 
}


/*PC背景左*/
.back_pc_left {
	width: calc((100vw - 480px) / 2);
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;	
    }
.back_pc_left_inner {
	width:80%;
	max-width:540px;
}
.back_pc_left_inner a img{
	width:100%;
}

/*PC背景右*/
.back_pc_right {
	width: calc((100vw - 480px) / 2);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;	
    }
.back_pc_right_inner {
	width:80%;
	max-width:505px;
}
.back_pc_right_inner img{
	width:100%;
	margin-bottom:50px;
	}



/*1400px以下で左右要素消去*/
@media screen and (max-width: 1400px) {
  .back_pc_left,
  .back_pc_right {
    display: none;
  }
}





/*================================================
 *  header
 ================================================*/
 
header {
	position:fixed;
	width:100%;
	max-width:480px;
	z-index: 1001;
}
.header_inner {
	box-sizing:border-box;
	height:68px;
	display:flex;
	justify-content: space-between;
	align-items: center;
	padding:0 15px 0;
	background:#000;
	position:relative;
}

/*ヘッダ内*/

.menubtn_wrap{
	/*nav.css*/
	}


header h1{
	width:calc((100% - 50px) / 2);
	max-width:180px;
	text-align:center;
	}
header h1 img{
	width:90%;
	}


.btn_header_entry {
	width:calc((100% - 50px) / 2);
	max-width:180px;
	container-type: inline-size;
}
.btn_header_entry a {
	display:block;
	width:100%;
	padding:5px 0 5px;
	color:#fff;
	font-size:14px;
	font-size: 9cqw;
	font-weight:bold;
	text-align:center;
	line-height:1.1;
	text-decoration:none;
	border-radius:12px;
	background-image: linear-gradient(#3eaf46, #25923a);
}





/*================================================
 *  contents
 ================================================*/
 
#contents {
	width:100%;
	padding-top:68px;/*ヘッダー分ずれ*/
}

.mainpage {
	background:#fff;
	}


/*================================================
 *  レイアウト
 ================================================*/

section {
	width: 100%;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}


.box{
   width:100%;
   overflow:hidden;
    box-sizing:border-box;
	padding-left:16px;
	padding-right:16px;
   }



.imgbox{
   width:100%;
   display: flex;
   flex-direction: column;
	justify-content: flex-start;
	align-items: center;
   }
.imgbox img{
   display:block;
   width:100%;
   height:auto;
   margin:0;
   padding:0;
   }


/*================================================
 *  見出し
 ================================================*/


h2.h2_pentagon{
  position: relative;
  width: 100%;
  container-type: inline-size;
  aspect-ratio: 3.5 / 1;      /* 縦横調整 */
  margin: 0 0 30px;
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;

  clip-path: polygon(
    0 0,
    100% 0,
    100% 75%,
    50% 100%,
    0 75%
  );
}
h2.h2_pentagon span{
  display:block;
  margin:-20px 0 0 0;
  color: #fff;
  font-weight: bold;
  font-size: 3rem;
  font-size: 7.5cqw;
  text-align:center;
  line-height:1.2;
}
h2.h2_pentagon span img{
  display:inline-block;
  width:25%;
  margin-bottom:5px;
}



h2.h2_normal{
	box-sizing:border-box;
	width:calc(100% - 32px);/*固定値余白*/
	margin:30px auto 20px;
	padding:8px 0;
	background-color: #000;
	border-radius:3px;
	text-align:center;
	color: #fff;
    font-weight: bold;
    font-size: 2.2rem;
	font-size: clamp(13px, 4.7vw, 19px);
	line-height:1.1;
}


/*================================================
 *  button
 ================================================*/




/*申し込みボタン*/
.entrybtn {
	box-sizing:border-box;
	width:100%;
	margin:0 0 10px;
	padding:20px 10px;
	background:#EEEFEF;
}
.entrybtn a {
	box-sizing:border-box;
	display:block;
	width:90%;
	max-width:375px;
	container-type: inline-size;
	margin:0 auto;
	padding:10px 3px;
	text-align:center;
	border-radius:25px;
	background-image: linear-gradient(#3eaf46, #25923a);
	box-shadow:3px 4px 6px rgba(0, 0, 0, 0.2);	
	transition:all 0.2s ease 0s;
}
.entrybtn a span{
	display: inline-block;
	font-size: 5.5cqw;
	font-weight:bold;
	line-height:1.3;
	color:#fff;
	text-decoration:none;
	}
.entrybtn a:hover {
	filter: brightness(1.1);
}



/*店舗リンクボタン*/
.shoplinkbtn {
	width:80%;
	max-width:380px;
	container-type: inline-size;
	margin:0 auto 30px;
	}
.shoplinkbtn a {
	box-sizing:border-box;
	display: flex;
	align-items: center;
	padding:12px 5px 12px 30px;
	text-align:left;
	font-size: 5.8cqw;
	font-weight:bold;
	line-height:1.1;
	color:#fff;
	text-decoration:none;
	border-radius:50px;
	background:#C8142E;
	box-shadow:3px 4px 6px rgba(0, 0, 0, 0.20);	
	transition:all 0.2s ease 0s;
}
.shoplinkbtn a span{
	opacity: 0.6;
	margin-right:18px;
}
.shoplinkbtn a small{
	font-size:90%;
	font-weight:bold;
}
.shoplinkbtn a:hover {
	filter: brightness(1.1);
}






/*問い合わせボタン*/
.contactbtn a {
	box-sizing:border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width:75%;
	max-width:350px;
	margin:0 auto 30px;
	padding:10px 10px;
	text-align:center;
	font-size:1.7rem;
	font-weight:bold;
	color:#000;
	line-height:1.1;
	text-decoration:none;
	border:2px solid #000;
	border-radius:50px;
	background:#fff;
	box-shadow:3px 4px 6px rgba(0, 0, 0, 0.20);	
	transition:all 0.2s ease 0s;
}




/*汎用ボタン*/
.linkbtn {
	width:75%;
	max-width:350px;
	margin:0 auto 30px;
	}
.linkbtn a {
	box-sizing:border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:10px 10px;
	text-align:center;
	font-size:1.7rem;
	font-weight:bold;
	color:#fff;
	line-height:1.1;
	text-decoration:none;
	border-radius:50px;
	background:#B28146;
	box-shadow:3px 4px 6px rgba(0, 0, 0, 0.20);	
	transition:all 0.2s ease 0s;
}
.linkbtn a:hover {
	filter: brightness(1.1);
}
.linkbtn span.material-icons{
	font-size:18px;
	}



/*================================================
 *  CLASS
 ================================================*/

.onetextlink{
	text-align:center;
	}

.onetextlink a{
	font-size:1.7rem;
	text-decoration:underline;
	}






/*================================================
 *  個別area
 ================================================*/


.top_hero .chance{
	background:#B28146;
	color:#fff;
	container-type: inline-size;
	padding:16px;
	text-align:center;
	}
.top_hero .chance p{
	font-size: 4.15cqw;
	font-weight:bold;
	line-height:1.3;
	}
.top_hero .chance p:last-child{
	font-size: 3.4cqw;
	font-weight:normal;
	margin-top:5px;
	}




.prize{
	container-type: inline-size;
	padding:25px 0;
	margin-bottom:30px;
	}
.prize .prizecopy{
	padding:0 7px;
	font-size: 3.7cqw;
	font-weight:bold;
	line-height:1.4;
	color:#B28146;
	margin-bottom:25px;
	}



.guide .imgbox img{
	width:99%;
	max-width:450px;
	}







.faq .faqcard{
	border-top:1px solid #ccc;
	padding:1rem 0;
	}
.faq .faqcard:last-child {
	border-bottom:1px solid #aaa;
	}
.faq .faqcard p{
	box-sizing:border-box;
	width:100%;
	min-height:40px;
	padding:3px 0 3px 43px;
	font-size:1.5rem;
	line-height:1.4;
	display: flex;
	align-items: center;
}
.faq .faqcard .q_block{
	background-image:url(../images/faq-q.png);
    background-size: 30px auto;
    background-position: top 6px left 2px;
    background-repeat: no-repeat;		
	}
.faq .faqcard .a_block{
	background-image:url(../images/faq-a.png);
    background-size: 30px auto;
    background-position: top 6px left 2px;
    background-repeat: no-repeat;
	}
	
.faq .ecfaq{
	font-weight:bold;
	margin:10px 0;
	text-align:center;
	}






.note ol li{
	font-size:1.5rem;
	line-height:1.4;
	margin-bottom:0.5rem;
	}
.note .ecnote{
	font-size:1.55rem;
	font-weight:bold;
	text-align:center;
	margin:15px 0 8px;
	}





.privacy p{
	font-size:1.5rem;
	line-height:1.4;
	margin-bottom:0.5rem;
	}
.privacy p a{
	text-decoration:underline;
	}



.contact .contactinfo{
	box-sizing:border-box;
	padding:0 7%;
	margin-bottom:35px;
	}
.contact .contactinfo a{
	text-decoration:underline;
	}




/*================================================
 *  footer
 ================================================*/


footer {
	width:100%;
	box-sizing: border-box;
	background: #76000D;
	color: #fff;
	padding: 30px 15px 15px;
}
footer p{
	text-align: center;
	font-size: 1.5rem;
	margin: 0 0 20px 0;
}
.footer_copy {
	text-align: center;
	font-size: 1.3rem;
	margin: 0;
}

