/*====================*/

body{
	z-index:1;
    width: 100%;
    opacity:1;
	font-family: 'Noto Sans', sans-serif;
	margin:0;
	background-color:#131737;
	line-height:1.5;
	color:#fff;
}
a{
	text-decoration:none;
	color:#333333;
}



/* ========== header ========== */

header {
	width:100%;
    background-size: cover;
    background-repeat: no-repeat;
	background-image: url(../img/header_bg.png);
	position: relative;
	overflow: hidden;
	z-index:9999;
}
#container{
  width:100%;
}

/* ===== カウントダウン ===== */
#cd{
  width:100%;
  background:rgba(0,0,0,.6);
  height:100px;
  text-align:center;
  position:relative;
  font-size:1.6rem;
  font-weight:800;
  padding-top:5px;
}
#countdown{
	margin:0 5px;
	display:inline-block; 
}
.hundreds,
.tens,
.ones{
  font-family: "Roboto", sans-serif;
  font-size:3.6rem;
　font-weight:900;
  color:#D29D00;
  background:#fff;
  font-weight:bold;
  padding:0px 5px 0px 5px;
  border-radius:5px;
  margin:0;
}

/* ===== フローティング ===== */
.floating-button {
  position: fixed;
  bottom: -120px;
  /*opacity: 0;*/
  pointer-events: none;
  transition: bottom 0.5s;
  background:rgba(0,0,0,.6);
  width:100%;
  height:120px;
  text-align:center;
  z-index:9999;
}
.floating-button.is-visible {
  /*opacity: 1;*/
  bottom:0;
  pointer-events: auto;
}
.floating_inner{
	position:relative;
	width:100%;
	height: 120px;
}
.flo-glow-btn{
	background-image: url(../img/floating_btn_bg.png);
	background-repeat:no-repeat;
	background-size: contain;
	background-position: center;
	padding:45px;
	max-width:240px;
	color:#fff;
	font-size:2rem;
	font-weight:600;
	position: absolute;
    top: 50%;
    left:50%;
    transform: translateX(-50%) translateY(-50%) ;
    transition:transform .2s cubic-bezier(0.45,0,0.55,1);
}
.flo-glow-btn:hover{
	transform:translateX(-50%) translateY(-50%) scale(0.95);
}
h1{
	width:100%;
	max-width:1100px;
	text-align:center;
	margin:0 auto;
}
#main-logo{
	width:100%;
	max-width:950px;
	margin:0 auto;
}
.logo-inner{
	position:relative;
	width:100%;
	aspect-ratio: 1500 / 748;
	transition:filter 0.05s; /*--ネオンチカチカアニメーション--*/
}
/* ===== ネオンチカチカアニメーション ===== */
.logo-inner:hover{
	animation:flicker 1s linear;
}
@keyframes flicker {
  0%   { filter: brightness(1); }
  3%   { filter: brightness(0.85); }
  6%   { filter: brightness(1); }
  7%   { filter: brightness(0.9); }
  9%   { filter: brightness(1); }
  14%  { filter: brightness(1); }
  16%  { filter: brightness(0.88); }
  17%  { filter: brightness(1); }
  24%  { filter: brightness(0.92); }
  26%  { filter: brightness(1); }
  28%  { filter: brightness(0.85); }
  100% { filter: brightness(1); }
}

.logo-inner img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:contain;
}
.logo-base{
	z-index:1;
}
.logo-glow{
	z-index:2;
	filter: saturate(130%) brightness(90%);
	mix-blend-mode:lighten;
}
.logo-top{
	z-index:3;
}
#header-catch{
	margin-bottom: 30px;
    display: inline-block;
}



/* ========== キャンペーン期間 ========== */

#period{
	width:100%;
	text-align:center;
	padding:60px 0;
}
#period h2{
	font-size:3rem;
	position:relative;
	color:#fff;
	display:inline-block;
	font-weight: 600;
	margin-bottom:80px;
}
#period h2::after{
  position: absolute;
  content: '';
  z-index:-1;
  top: 40%;
  left:50%;
  transform:translateX(-50%);
  display: block;
  width: 100%;
  height: 80px;
  background-image: url(../img/heading_period.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.period-date{
	font-size:2rem;
	color:#fff;
	font-weight:600;
	margin:15px 0;
}
.period-arrow{
	margin:0 20px;
}
.period-bar{
	width:100%;
	max-width:866px;
	margin: 0 auto;
}
.fontsizeL{
	font-size:1.5em;
}
.fontsizeML{
	font-size:1.3em;
}
.fontsizeM{
	font-size:1.2em;
}
.fontsizeS{
	font-size:0.8em;
}
.fontsizeXS{
	font-size:0.7em;
}



/* ========== 豪華プレゼント ========== */

#present{
	width:100%;
	text-align:center;
	padding:60px 0;
	background:rgba(0,0,0,.6);
	position:relative;
	overflow:hidden;
}
#present::before{
  position: absolute;
  content: '';
  z-index:0;
  top: 0;
  right:-80%;
  width: 100%;
  height: 740px;
  display: block;
  background-image: url(../img/present_bg_object01.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#present::after{
  position: absolute;
  content: '';
  z-index:0;
  bottom: 20%;
  left:-48%;
  width: 100%;
  height: 760px;
  display: block;
  background-image: url(../img/present_bg_object02.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#present h2{
	font-size:3rem;
	position:relative;
	color:#fff;
	display:inline-block;
	font-weight: 600;
	margin-bottom:80px;
	z-index:1;
}

#present h2::after{
  position: absolute;
  content: '';
  z-index:-1;
  top: 45%;
  left:50%;
  transform:translateX(-50%);
  display: block;
  width:114.29%;
  height: 80px;
  background-image: url(../img/heading_amazing_prizes.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.quocardpay{
	font-family: "Noto Serif JP", serif;
}
.quocardpay-inner{
	display:flex;
	width:100%;
	max-width:1100px;
	margin:0 auto;
	flex-wrap:wrap;
}
.quocardpay-txt{
	width:55%;
	color:#fff;
	font-size:1.6rem;
	text-align:left;
	font-weight:800;
	padding-top:30px;
	margin:0 auto;
}
.quocardpay-txt img{
	width:100%;
}
.font-gold{
	color:#CDAC4B;
}
.font-gold02{
	color:#D9C50F;
}
.quocardpay-img{
	width:40%;
	z-index:2;
	margin:0 0 0 5%;
}
.quocardpay-img img{
	width:80%;
}
.wchance{
	font-family: "Noto Serif JP", serif;
	max-width:1100px;
	margin:0 auto;
}
.wchance-heading{
	text-align:center;
	margin:30px 0;
}
.wchance-heading img{
	width:100%;
	max-width:540px;
}
.wchance-inner{
	display:flex;
	width:100%;
	max-width:1100px;
	margin:0 auto;
	flex-wrap:wrap;	
}
.wchance-txt{
	width:55%;
	color:#fff;
	font-size:1.6rem;
	text-align:left;
	font-weight:800;
	margin-left:5%;
	line-height:1.2;
}
.wchance-img{
	width:40%;
	z-index:2;
}
.wchance-img img{
	width:80%;
}
.wchance-txt img{
	width:100%;
}
.wchance-txt02{
	color:#fff;
	font-size:1.6rem;
	text-align:left;
	font-weight:800;
	margin-top:30px;
	position:relative;
	z-index:1;
	margin: 30px auto 0 auto;
}
.eligible{
	padding:10px 60px;
    background: linear-gradient(90deg,rgba(84, 75, 242, 0) 0%, #544bf2 12.97%, #544bf2 85.76%, rgba(84, 75, 242, 0) 100%);
	font-family: 'Noto Sans', sans-serif;
	display:inline-block;
	color:#fff;
	font-weight:800;
	font-size:1.6rem;
	margin-top:40px;
	text-align:left;
}
.bold{
	font-weight:800;
}

.black{
	font-weight:900;
}

.ten{
	letter-spacing:-11px;
}



/* ========== 応募方法 注意事項 ========== */

#apply-notes{
	width:100%;
    background-size: cover;
    background-repeat: no-repeat;
	background-image: url(../img/apply-notes_bg.png);
	padding:60px 0 100px 0;
	text-align:center;
}
#apply{
}
#apply h2{
	font-size:3rem;
	position:relative;
	color:#fff;
	display:inline-block;
	font-weight: 600;
	margin-bottom:80px;
	z-index:1;
}
#apply h2::after{
  position: absolute;
  content: '';
  z-index:-1;
  top: 55%;
  left:50%;
  transform:translateX(-50%);
  display: block;
  width: 200%;
  height: 80px;
  background-image: url(../img/heading_apply.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.apply-txt{
	color:#fff;
	font-weight:800;
	font-size:1.6rem;
}
.glow-btn{
	background-image: url(../img/floating_btn_bg.png);
	background-repeat:no-repeat;
	background-size: contain;
	background-position: center;
	padding:100px;
	display:inline-block;
	max-width:500px;
	color:#fff;
	font-size:3rem;
	font-weight:600;
	margin:20px 0 40px 0;
	transition:.2s cubic-bezier(0.45,0,0.55,1);
}
.glow-btn:hover{
	transform:scale(0.95);
}
#notes{	
}
#notes h2{
	font-size:3rem;
	position:relative;
	color:#fff;
	display:inline-block;
	font-weight: 600;
	margin-bottom:80px;
	z-index:1;
}
#notes h2::after{
  position: absolute;
  content: '';
  z-index:-1;
  top: 55%;
  left:50%;
  transform:translateX(-50%);
  display: block;
  width: 200%;
  height: 80px;
  background-image: url(../img/heading_apply.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.notes-txt{
	background:rgba(255,255,255,.1);
	padding:20px 40px 20px 50px;
	text-align:left;
	font-size:1.2rem;
	text-shadow: 2px 2px 3px #09102e;
	font-weight:600;
	max-width:1100px;
	margin:0 auto;
	box-sizing:border-box;
}
.notes-txt ul li::marker{
	content:"※";
}



/* ========== snsキャンペーン ========== */

#snscp{
	width:100%;
	text-align:center;
	padding:90px 0;
	background:rgba(0,0,0,.6);
	position:relative;
	margin:20px 0;
	font-weight:800;
}
#snscp::before{
	position: absolute;
    content: '';
    top: -20px;
    left:0;
    width: 100%;
    height: 20px;
	background: linear-gradient(0deg,#000 0%, rgba(0, 0, 0, 0) 100%);
	opacity: 0.6;
}
#snscp::after{
	position: absolute;
    content: '';
    bottom: -20px;
    left:0;
    width: 100%;
    height: 20px;
	background: linear-gradient(180deg,#000 0%, rgba(0, 0, 0, 0) 100%);
	opacity: 0.6;
}
#snscp-bg{
	position:absolute;
	inset:0;
	overflow:hidden;
	z-index:0;
}
#snscp-bg::before{
  position: absolute;
  content: '';
  z-index:0;
  top: 12%;
  right:-64%;
  width: 100%;
  height: 268px;
  display: block;
  background-image: url(../img/bokeh01.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#snscp-bg::after{
  position: absolute;
  content: '';
  bottom: 28%;
  left:0%;
  width: 100%;
  height: 220px;
  display: block;
  background-image: url(../img/bokeh02.png);
  background-size: contain;
  background-repeat: no-repeat;
}
.snscp-inner{
	max-width:1100px;
	margin:0 auto;
	position:relative;
	z-index:2;
}
.star-line{
	position:relative;
	z-index:3;
}
.star-line::before,
.star-line::after{
	position: absolute;
    content: '';
    z-index:2;
	width: 100%;
	height:70px;
	display: block;
    background-image: url(../img/star_line.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.star-line::before{
    top: -135px;
}
.star-line::after{
    bottom: -135px;
}
.snscp-content-inner{
	overflow:hidden;
}
#snscp h2{
	position:relative;
	margin:30px 0 70px 0;
	font-size:2.2rem;
	font-weight: bold;
}
#snscp h2 span.title01{
	text-shadow: 0px 0px 15px #20b3ff;
}
#snscp h2 span.title02{
	text-shadow: 0px 0px 15px #ffdc2b;
}
#snscp h2::before{
	position: absolute;
    content: '';
    z-index:1;
    top: -20px;
	left:50%;
  	transform:translateX(-50%);
  	display: block;
    width: 100%;
	max-width:300px;
	height:10px;
    background-image: url(../img/snscp_bar.png);
    background-size: contain;
    background-repeat: no-repeat;
}
#snscp h2::after{
	position: absolute;
    content: '';
    z-index:1;
    bottom: -20px;
	left:50%;
  	transform:translateX(-50%);
  	display: block;
    width: 100%;
	max-width:300px;
	height:10px;
    background-image: url(../img/snscp_bar.png);
    background-size: contain;
    background-repeat: no-repeat;
}
#snscp h3{
	font-size:2rem;
	font-weight:800;
	margin-bottom:20px;
}
#snscp h3.heading-blue{
	position: relative;
	display:inline-block;
	z-index:1;
}
#snscp h3.heading-blue::after{
	position: absolute;
    content: '';
    z-index:-1;
    bottom: 10%;
    left:50%;
    transform:translateX(-50%);
    display: inline-block;
    width: 150%;
    height: 10px;
	background: linear-gradient(90deg,rgba(39, 103, 214, 0) 0%, #2767d6 19.66%, #2767d6 77.82%, rgba(39, 103, 214, 0) 100%);
}
#snscp h3.heading-purple{
	position: relative;
	display:inline-block;
	z-index:1;
}
#snscp h3.heading-purple::after{
	position: absolute;
    content: '';
    z-index:-1;
    bottom: 10%;
    left:50%;
    transform:translateX(-50%);
    display: inline-block;
    width: 150%;
    height: 10px;
	background: linear-gradient(90deg,rgba(84, 75, 242, 0) 0%, #544bf2 19.66%, #544bf2 77.82%, rgba(84, 75, 242, 0) 100%);
}
.snscp-date{
	font-size:1.8rem;
	margin-bottom:30px;
}
.kara{
	margin:0 15px;
}
.snscp-present{
	font-size:1.4rem;
	margin-bottom:30px;
}
.prize-inner{
	display:flex;
	position:relative;
}
.prize-txt{
	width:100%;
}
.quocard-pink{
	position:absolute;
	top:-10%;
	right:-10%;
	z-index:-1;
}
.quocard-pink img{
	width:30%;
}
.prize{
	display:block;
}
.present-word{
	/*font-size: 2.3vw;*/ 
    white-space: nowrap;
    width: 100%;
	font-size:2rem;
	/*font-size: clamp(28px, 2.3vw, 32px);*/
}
.three-step{
	font-size:1.8rem;
	margin-bottom:30px;
}
.step3{
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top:30px;
	margin-bottom:30px;
}
.stepmark01,
.stepmark02,
.stepmark03{
	width:10%;
}
.step01-txt,
.step02-txt,
.step03-txt{
	width:23.3%;
	font-size:1.4rem;
	text-align:left;
}
.snscp-notes-txt{
	text-align:left;
	font-size:1.3rem;
	margin:0 auto;
	display:inline-block;
	margin-bottom:30px;
}
.snscp-notes-txt ul li::marker{
	content:"※";
}
.xaccount{
	color:#333333;
	font-weight:800;
	padding:15px 40px 15px 80px;
	background:#fff;
	border-radius:5px;
    margin: 0 auto 30px auto;
	display: block;
    width: 25%;
}
.xaccount p{
	position:relative;
	font-size:1.4rem;
	font-family: "Roboto", sans-serif;
	display: inline;
}
.xaccount p::before{
	position: absolute;
    content: '';
    z-index:1;
    bottom: 0;
	left: -40px;
    width: 25px;
	height:25px;
    background-image: url(../img/xlogo.png);
    background-repeat: no-repeat;
}
.target-race{
	margin-bottom:30px;
	padding:20px;
	/*border-radius:5px;*/
	/*border:dashed 2px #fff;*/
	font-size:1.2rem;
	text-align:left;
	background:#fff;
	color:#333333;
}
.shimonoseki,
.wakamatsu,
.kiryu,
.omura,
.marugame,
.gamagori,
.suminoe{
	display:flex;
	flex-wrap:wrap;
}
.shimonoseki-logo,
.wakamatsu-logo,
.kiryu-logo,
.omura-logo,
.marugame-logo,
.gamagori-logo,
.suminoe-logo{
	height:24px;
	margin-left:20px;
	margin-top:4px;
}



/* ========== お問合せ ========== */

#contact{
	width:100%;
	text-align:center;
	padding:80px 0;
	font-size:1.4rem;
}
#contact h2{
	font-size:2.4rem;
	position:relative;
	color:#fff;
	display:inline-block;
	font-weight: 600;
	margin-bottom:60px;
}
#contact h2::after{
  position: absolute;
  content: '';
  z-index:-1;
  top: 45%;
  left:50%;
  transform:translateX(-50%);
  display: block;
  width: 50%;
  height: 70px;
  background-image: url(../img/heading_contact.png);
  background-size: contain;
  background-repeat: no-repeat;
}
#contact a{
	color:#fff;
}



/* ========== banner ========== */

#banner{
	width:100%;
}
.bnr-img{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items: center;
	max-width:1100px;
	width:100%;
	margin:0 auto;
}
.bnr-img img{
	width:100%;
}
.kiryu-bnr,
.suminoe-bnr,
.marugame-bnr,
.wakamatsu-bnr,
.gamagori-bnr,
.shimonoseki-bnr,
.omura-bnr{
	transition:.2s ease-in-out;
}
.kiryu-bnr:hover,
.suminoe-bnr:hover,
.marugame-bnr:hover,
.wakamatsu-bnr:hover,
.gamagori-bnr:hover,
.shimonoseki-bnr:hover,
.omura-bnr:hover{
	filter:brightness(1.15);
}
.kiryu-bnr,
.suminoe-bnr,
.marugame-bnr,
.wakamatsu-bnr{
	width:calc(33.3% - 6.66px);
}
.gamagori-bnr,
.shimonoseki-bnr{
	width:calc(33.3% - 6.66px);
	margin:0 10px 0 10px;
}
.omura-bnr{
	width:33.3%;
	max-width:360px;
}



/* ========== footer ========== */

footer{
	width:100%;
	padding:20px 0;
	margin-top:100px;
	margin-bottom:120px;
	background: #080916;
	font-size:1rem;
	text-align:center;
}



/* ========== other ========== */

.pc{
	display:block;
}
.pc-inblo{
	display:inline-block;
}
.sp{
	display:none;
}



/* ========== GSAP フェードイン＆ポップアップアニメーション ========== */

.js-fadeIn{
    opacity: 0;
    visibility: hidden;
}
.js-popUp{
    transform: scale(.9);
    opacity: 0;
    visibility: hidden;
}
/*.js-popUp > div{
    transform: scale(.9);
    opacity: 0;
    visibility: hidden;
}*/
.js-popUp-longContent{
    transform: scale(.9);
    opacity: 0;
    visibility: hidden;
}



/* ========== bg star ========== */

@keyframes pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.1;
  }
}
.star {
  position: absolute;
  width: 2px;
  height: 2px;
  background-color: white;
  box-shadow: 0 0 6px 1px rgba(255, 255, 255, 0.35) !important;
  opacity: 0;
  transition: opacity 1s;
  z-index: -1;
}






@media screen and (min-width:981px) and (max-width:1099px) {

	/* ===== header ===== */
	#header-catch {
		width:90%;
	}
	#header-catch img{
		width:100%;
	}
	
	/* ===== 豪華プレゼント ===== */
	.quocardpay-inner, 
	.wchance-inner{
		width:95%;
	}
	.wchance-txt02{
		width: 95%;
	}
	
	/* ===== 応募方法 注意事項 ===== */
	#notes {
		width: 95%;
		margin: 0 auto;
	}
	
	/* ===== snsキャンペーン ===== */
	.quocard-pink{
		right:-15%;
	}
	.step01-txt, .step02-txt, .step03-txt {
		font-size: 1.2rem;
	}
	.step3 {
		width: 95%;
		margin: 30px auto;
	}
	.target-race{
		width: 95%;
		margin: 0 auto;
		box-sizing: border-box;
	}
	
	/* ===== banner ===== */
	.bnr-img {
		width:95%;
	}
}





@media screen and (max-width:980px){
	
	/* ===== header ===== */
	
	/* === フローティング === */
	.flo-glow-btn {
		width:50%;
		font-size:1.8rem;
	}
	
	/* === カウントダウン === */
	.hundreds,
	.tens,
	.ones{
	  font-size:3rem;
	}
	#main-logo{
		width:100%;
		margin:20px auto;
	}
	.logo-inner img{
		height:auto;
	}
	#header-catch {
		margin: 10px 0 40px 0;
		display: inline-block;
		width:90%;
	}
	#header-catch img{
		width:85%;
	}
	#cd {
		font-size:1.2rem;
	}
	.dummy-mainlogo{
		width:100%;
		margin:0;
	}
	
	/* ===== キャンペーン期間 ===== */
	#period{
		width:100%;
		margin:0 auto;
	}
	#period h2 {
    	font-size: 2.2rem;
	}
	.period-bar{
		width:95%;
	}
	.period-bar img{
		width:100%;
	}
	
	/* ===== 豪華プレゼント ===== */
	#present{
	}
	#present::before {
		top: 3%;
		right: -60%;
	}
	#present::after {
		bottom: 28%;
		left: -45%;
	}
	#present h2 {
		font-size:2.2rem;
	}
	.present-word{
		letter-spacing:-2px;
		font-size: clamp(16px, 4.5vw, 32px);
	}
	.quocardpay-inner {
		width:95%;
	}
	.quocardpay-img{
		width:100%;
		margin:30px 0;
	}
	.quocardpay-img img{
		width:70%;
	}
	.quocardpay-txt{
		width:100%;
		padding-top:0px;
	}
	.quocardpay-txt img {
		width: 100%;
	}
	.wchance{
		width:95%;
	}
	.wchance-heading img {
		width: 90%;
	}
	.wchance-txt{
		width:100%;
		margin-left:0;
	}
	.wchance-txt img {
    	width: 100%;
	}
	.wchance-img{
		width:100%;
		margin:20px 0 30px 0;
	}
	.wchance-img img{
		width:70%;
	}
	.eligible {
		font-size: 1.2rem;
		text-align:center;
		padding:20px 30px;
	}
	.eligible-inner{
		text-align: right;
		width:calc(100% - 60px);
        margin: 0 auto;
	}
	.race01,
	.race02,
	.race03,
	.race04,
	.race05,
	.race06,
	.race07{
		width:100%;
	}
	.shinomoseki-logo,
	.wakamatsu-logo,
	.kiryu-logo,
	.omura-logo,
	.marugame-logo,
	.gamagori-logo,
	.suminoe-logo{
		width:100%;
	}
	.shimonoseki-logo,
	.wakamatsu-logo,
	.kiryu-logo,
	.omura-logo,
	.marugame-logo,
	.gamagori-logo,
	.suminoe-logo{
		margin-left:0px;
		margin-bottom:10px;
		margin-top:5px;
	}
	
	/* ===== 応募方法 注意事項 ===== */
	#apply-notes{
		width:100%;
		margin:0 auto;
		padding:50px 0 90px 0;
	}
	#apply,
	#notes{
		width:95%;
		margin:0 auto;
	}
	#apply h2 {
		font-size:2.2rem;
	}
	#notes h2 {
		font-size:2.2rem;
	}
	.glow-btn {
		font-size:1.9rem;
		margin: 20px 0 30px 0;
		padding: 80px;
	}
	.notes-txt{
		padding:20px 10px 20px 30px;
	}
	.apply-txt {
		text-align:left;
		font-size: 1.4rem;
	}
	
	/* ===== snsキャンペーン ===== */
	#snscp{
		width:100%;
		margin:0 auto;
		padding:50px 0 40px 0;
	}
	#snscp-bg::after {
		bottom: 39%;
		left: -50%;
	}
	#snscp-bg::before {
		top: 2%;
		right: -66%;
	}
	.snscp-inner {
		width:95%;
	}
	.star-line::before,
	.star-line::after{
		background-image: url(../img/star_line_sp.png);
		width:100vw;
		left:50%;
		transform:translateX(-50%);
		aspect-ratio:750 / 94;
		height:auto;
		background-size:100% auto;
		background-repeat:no-repeat;
		backgrund-position:center;
		
	}
	.star-line::before {
		top: -80px;
	}
	.star-line::after {
		bottom: -80px;
	}	
	#snscp h2 {
		line-height: 1.4;
		font-size:2rem;
	}
	#snscp h3 {
		font-size: 1.8rem;
		margin-bottom:20px;
	}
	#snscp h3.heading-purple.snscp-notes{
		margin-bottom:0px;
	}
	.snscp-date{
		white-space: nowrap;
		width: 100%;
		font-size: clamp(20px, 1.6rem, 32px);
	}
	.kara{
		display:block;
		transform: rotate(90deg);
	}
	.snscp-present {
    	font-size: 1.2rem;
	}
	.prize-inner{
		flex-wrap:wrap;	
	}
	.quocard-pink{
		width:100%;
		position:static;
		margin:20px 0;
	}
	.quocard-pink img{
		width:50%;
	}
	.sp-h3sub{
		display:block;
		margin-bottom:20px;
	}
	.step3 {
		margin:30px auto 30px auto;
		align-items:center;
	}
	.stepmark01,
	.stepmark02,
	.stepmark03{
		width:20%;
		margin-bottom: 15px;
	}
	.stepmark01 img,
	.stepmark02 img,
	.stepmark03 img{
		width:100%;
	}
	.step01-txt,
	.step02-txt,
	.step03-txt{
		width:calc(80% - 20px);
		font-size:1.4rem;
		padding-left:20px;
		line-height: 1.3;
		margin-top: -25px;
	}
	.snscp-notes-txt{
		padding-left: 20px;
	}
	.xaccount {
		margin: 10px auto 30px auto;
		width: 80%;
		box-sizing: border-box;
	}
	.target-race {
		margin-top: 10px;
	}
	
	/* ===== お問合せ ===== */
	#contact{
		width:95%;
		margin:0 auto;
		font-size:1.3rem;
		padding:70px 0 40px 0;
	}
	#contact h2{
		font-size:1.6rem;
		line-height: 1.2;
	}
	#contact h2::after {
		top: 60%;
		width: 70%;
	}
	
	/* ===== banner ===== */
	#banner{
		width:95%;
		margin:0 auto;
	}
	.kiryu-bnr,
	.suminoe-bnr,
	.shimonoseki-bnr{
		width:calc(50% - 5px);
		margin:0 5px 10px 0;
	}
	.gamagori-bnr,
	.marugame-bnr,
	.wakamatsu-bnr{
		width:calc(50% - 5px);
		margin:0 5px 10px 0;
	}
	.omura-bnr{
		width:50%;
	}
	
	/* ===== footer ===== */
	footer{
		font-size:0.8rem;
	}
	
	/* ===== other ===== */
	.pc{
		display:none;
	}
	.pc-inblo{
		display:none;
	}
	.sp{
		display:block;
	}
}

@media screen and (min-width:580px) and (max-width:779px) {
	.star-line::before{
		top: -100px;
	}
	.star-line::after{
		bottom: -100px;
	}
}

@media screen and (min-width:780px) and (max-width:979px) {
	.star-line::before{
		top: -115px;
	}
	.star-line::after{
		bottom: -115px;
	}
}
@media screen and (max-width:400px){
	.eligible {
		font-size: 1rem;
	}
	.eligible-inner {
		margin: 0 auto;
	}
	.apply-txt {
        /*letter-spacing: -2px;*/
	}
	#snscp h2 {
        font-size: 1.8rem;
    }

@media screen and (max-width:350px){
	.eligible {
		padding:20px 20px;
	}
	.eligible-inner {
		width:calc(100% - 40px);
	}
	.flo-glow-btn {
        font-size: 1.6rem;
	}

@media screen and (max-width:300px){
	.present-word{
		font-size: 1.4rem;
		white-space: wrap;
	}
}

