@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
body {
	background-color: #151515;
	font-size: 16px;
	line-height: 1.5;
}
.sp {
	display: none;
}

.mt10 {
	margin-top: 10px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt50-25 {
	margin-top: 50px !important;
}
.mt80-25 {
	margin-top: 80px !important;
}
.mb1em {
	margin-bottom: 1em !important;
}
.mt2em {
	margin-top: 2em !important;
}
.mb2em {
	margin-bottom: 2em !important;
}
.mb3em {
	margin-bottom: 2em !important;
}
.mb4em {
	margin-bottom: 4em !important;
}
.pb1em {
	padding-bottom: 1em !important;
}
.mw90 {
	width: 90%;
	margin: 0 auto;
}
.mn300{min-width: 300px;}
.t-right {
	text-align: right;
}
.t-left {
	text-align: left !important;
}
.t-center {
	text-align: center !important;
}
.fs-l {
	font-size: 1.2em !important;
}
.fs-ll {
	font-size: 1.5em !important;
}
.fs-s {
	font-size: 0.8em !important;
	line-height: 1.1em !important;
}
.fs-ss {
	font-size: 0.65em !important;
	line-height: 1.1em !important;
}
.fw-bold {
	font-weight: bold !important;
}
.d_block{display: block;}
.d-flex {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.li_w50{width: 50%;}
.b_red {
	background: #E00000 !important;
}
.fc_red {
	color: #ff3030 !important;
}
.fc_white {
	color: #fff !important;
}
.td_under{text-decoration: underline;}

.font01{font-family: "biz-udpgothic", sans-serif;
font-weight: 400;
font-style: normal;}


/* ==========================================================================
共通
========================================================================== */

a {
	color: #1e9ac7;
}
a.a_txt{color: #ff2d30!important;text-decoration: underline;}

.opacity:hover, a img:hover {
	opacity: .6;
	transition: .3s;
}
img {
    max-width: 100%;
}

.contents {
	width: 100%;
	margin: 0 auto;
	color: #FFF;
	background-image:url(../../images/bg_01.png);
	background-position: center top;
	background-size: auto;
	background-repeat: no-repeat;
	padding-top: 200px;
	margin-top: -120px;
	    background-attachment: fixed;
}
.contents + .contents {    padding: 100px 0;
    margin-top: 0;}


.inner {
	width: 85%;
	margin: 0 auto;
	max-width: 1100px;
	text-align: center;
}
.bgOuter {
	padding-bottom: 0;
	background-image: url(../../images/bg_outer.png);
	background-position: center bottom;
	background-size: 100% auto;
	background-repeat: no-repeat;
}

.cpr.en{    background: -webkit-linear-gradient(45deg, hsla(26, 100%, 62%, 1) 0%, hsla(333, 100%, 51%, 1) 100%);
    padding: 20px 0;
    text-align: center;
    color: #fff;font-size: 0.9em;}

#ticket,#campaign,#max{scroll-margin-top: 80px;}

/* ==========================================================================
header
========================================================================== */
header {
	background-color: #151515;
	font-size: 16px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	color: white;
	transition: top 0.3s;
	z-index: 9999;
}
header .inner {
	max-width: 1360px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header .header_inner {
	display: flex;
	max-width: 1000px;
	margin: 0 auto;
}
header .logo a {
	display: block;
	background-image: url(../../images/logo.svg);
	background-size: 100% 100%;
	width: calc(130px);
	height: calc(130px / 494.58 * 217.28);
	text-indent: -9999px;
	overflow: hidden;
	position: relative;
	margin-right: 15px;
}
header nav {
	display: flex;
	align-items: center;
}
header nav ul {
	display: flex;
}
header nav ul li {
	text-align: center;
}
header nav ul li:last-child {
	margin-right: 0;
}
.menu-toggle {
	display: none;
	flex-direction: column;
	cursor: pointer;
}
.bar {
	width: 25px;
	height: 3px;
	background-color: #ee0000;
	margin: 3px 0;
	transition: 0.4s;
}
.menu {
	list-style-type: none;
	display: flex;
	margin: 0;
	padding: 0;
	align-items: center;
	max-width: 1000px
}
.menu > li {
	margin-right: 40px;
	border-bottom: 3px solid #151515;
	padding-bottom: 5px;
	font-size: 15px;
	line-height: 1.1;
}
.menu-2 li {
	font-size: 14px;
}
.menu > li:hover {
	border-bottom: 3px solid #ee0000;
}
.menu li:last-child {
	border-right: none;
	margin-right: 0;
	padding-right: 0;
}
.menu li:last-child:hover {
	border-bottom: 3px solid #151515;
}
.menu a {
	text-decoration: none;
	color: #fff;
	white-space: nowrap;
}
/* ==========================================================================
btn
========================================================================== */
.btn_area{margin-top: 2em;}
.btn_b{
    display: flex;
    max-width: 480px;
    width: 90%;
    align-items: center;
    justify-content: center;
    height: 3.5em;
    font-size: 1.2em;
    border-radius: 50em;
	font-weight: bold;
    margin: 0 auto;    flex-flow: column;
position: relative;
line-height: 1.2em;
text-align: center;}
.btn_b:hover{opacity: 0.8;}
.btn-arrow-right::before{content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.2em;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;}
.btn-arrow-right_b::before{content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.2em;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
  box-sizing: border-box;}
.btn_gr{    background: -webkit-linear-gradient(45deg, hsla(26, 100%, 62%, 1) 0%, hsla(333, 100%, 51%, 1) 100%);
    color: #fff;}
.btn_green{   background:-webkit-linear-gradient(45deg, hsl(105.75deg 100% 41.41%) 0%, hsl(97.44deg 100% 32.36%) 100%);color: #fff;}
.btn_red{   background:-webkit-linear-gradient(45deg, hsl(0.57deg 100% 64.7%) 0%, hsl(0deg 100% 37.08%) 100%);color: #fff;}
.btn_bl{background:linear-gradient(to right,#2d69d0,#2bcccc);color: #fff;}
.btn_max.btn_bl02{background: #0068b7;}
.btn_max{background: #cb0000;position: relative;height: 4em;}
.btn_gray{pointer-events: none!important;}
.btn_gray::after{content: 'Coming soon';
    background: #00000087;
    width: 100%;
    height: 100%;
    position: absolute;
    border-radius: 10em;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;}
.btn_max p{    background: #fff;
    border-radius: 10em 0 0 10em;
    width: 90%;
    height: 100%;
    align-self: flex-start;
    background-size: 80%;
    background-position: center center;
    background-repeat: no-repeat;
    margin: 4px 0 4px 4px;}
.bg_gr{    background: -webkit-linear-gradient(45deg, hsla(26, 100%, 62%, 1) 0%, hsla(333, 100%, 51%, 1) 100%);}

.max01 p{background-image: url(../../images/btn_max.webp);}
.max02 p{background-image: url(../../images/btn_max02.webp);}
.max03 p{background-image: url(../../images/btn_max03.webp);}
.fix-btn .btn_max{height: 3.5em;}
.btn_w{ background: #fff;
    color: #ff156a;}
.btn_w::before{ content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50px;
    border: 3px solid transparent;
    background: linear-gradient(135deg, rgb(247 220 8) 0%, rgb(255 17 113) 100%) border-box border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;}
.btn_wb{background: #fff;border: 2px solid #262626;
    color: #262626;}
.btn_b + .btn_b{margin-top: 1em;}
p + .btn_b{margin-top: 0;}
.btn_l{max-width: 550px;}
span.arrow{
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #ff156a;
  border-right: 2px solid #ff156a;
  transform: rotate(45deg);
  box-sizing: border-box;
position: absolute;
right: 1.2em;}
span.arrow_b{border-top: 2px solid #262626;
  border-right: 2px solid #262626;
  }
.btn_yet{background: #333!important;pointer-events: none!important;color: #c5c5c5 !important;}
.btn_yet span.arrow{display: none;}
.btn_yet.btn-arrow-right::before{display: none;}
/* ==========================================================================
mv_area
========================================================================== */
.mv_area {
	position: relative;
	width: 100%;	;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../../images/mv_area.png);
	background-position: center top;
	background-color: #151515;
	padding: 40px 0;
}
.mv_area h1 {
	margin: 1em auto;
	color: #fff;
	font-weight: 700;
	text-align: center;
	    font-size: clamp(1em, 3vw, 36px);
	max-width: 1100px;
	position: relative;
	padding-right: 5%;
}
.mv_area .kv{max-width: 1000px;    margin: -2em auto 0;}
span.bubble{     position: absolute;
    padding: 0.5em 0;
    top: -1em;
    max-width: 280px;
    right: -2em;
    padding-right: 2em;
    width: 25%;}
span.bubble img{}
p.lead_txt{font-size: 1.1em;font-weight: bold;margin: 1em auto 0;text-align: center;color: #fff;}
.lead_txt_s{font-size: 11px;text-align: center;margin: 1em auto 0;color: #fff;}
.highlights{max-width: 1100px;margin: 0 auto 50px;background: #ffffff29;width: 96%;text-align: center;padding: 20px 0 30px;}
.highlights img{max-width: 800px;margin: 0 auto;width: 100%;}
.notes{font-size: 0.8em;line-height: 1.4em;margin: 10px auto;width: 80%;}
/* ==========================================================================
section
========================================================================== */
section {
	width: 100%;
	margin: 0 auto;
	font-family: 'Noto Sans JP', sans-serif;
	overflow: hidden;
}
section + section{margin-top: 3em;}

section.bg_block {
	background-color: rgba(59, 59, 59, 0.8);
	max-width: 1100px;
	padding: 40px 50px 50px;
}
section.bg_block02 {
	background-color: rgba(255, 255, 255, 0.8);
	max-width: 1100px;
	padding: 40px 50px 50px;
	color: #292929;
}

.contents section h2 {
	    font-size: 2em;
    font-weight: bold;
    text-align: center;
    --dot-color: #aaa;
    color: #e50000;
    background-image: repeating-linear-gradient(90deg, #fff 0 1px, transparent 1px 2px), repeating-linear-gradient(#fff 0 1px, var(--dot-color) 1px 2px);
    border-top: 2px solid #e50000;
    border-bottom: 2px solid #e50000;
}
section .inner {
	margin: 40px auto 0;
	width: auto;
}
section {
	position: relative;
	width: 100%;
	background-size: 100% auto;
	background-repeat: no-repeat;
	padding: 0 0 5%;
}
/* ==========================================================================
about
========================================================================== */
#about .notes{    text-align: left;
    background: #3f3f3f;
    padding: 1em;
    color: #fff;
    margin: 2em auto 0;
width: 100%;font-size: 0.9em;line-height: 1.35em;}
#about .notes .red{color: #ffe200;
    }
#about .lead{font-size: 1.2em;}

/* ==========================================================================
step
========================================================================== */
.triangle{position: relative;}
.triangle::after {
	    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1.8em;
    margin: 0 auto;
    width: 1.5em;
    aspect-ratio: 1 / cos(30deg);
    clip-path: polygon(50% 100%, 100% 0, 0 0);
    background: linear-gradient(45deg, #FA6900, #C02942);
}

#step h3,#step02 h3{      font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 2em;}
#step h3 + p,#step02 h3 + p{margin: 3px auto 1.5em;}
#step h6{    background: #fff;
    max-width: 800px;
    margin: 0 auto;
    margin-bottom: 1em;}
#step p,#step02 p{    width: 100%;
    margin: 0 auto;
    padding-left: 2em;}
#step p.fc_red, #step02 p.fc_red{margin-top: 0.5em;
    font-weight: bold;
    font-size: 0.9em;}
#step ul{display: flex;
flex-flow: row;
max-width: 800px;margin: 0 auto;}
#step ul li{margin: 0 auto;
    align-items: center;
    justify-content: center;
    display: flex;
    flex-flow: column;
	    text-align: left;
    font-size: 0.9em;
}
#step ul li:nth-child(1){width: 25%;}
#step ul li:nth-child(2){width: 75%;}
#step ul li img{    max-width: 400px;
    width: 100%;
    margin: 0;}
.info_box{    padding: 2em 0;
    background: #e5e5e5;
    margin: 1em auto;}
.info_box + .info_box{margin-top: 2em;}
.info_box h3{    border: 1px solid #000;
    padding: 0.5em 1em;
    font-weight: bold;
    margin: 0 auto 0.5em;
    max-width: 600px;
    width: 90%;
font-size: 1.4em;    line-height: 1.3em;}
.info_box h5{border-top: 2px dotted #000;
    border-bottom: 2px dotted #000;
    width: 80%;
	max-width: 800px;
    margin: 0 auto 1em;
    font-size: 1.5em;
    font-weight: bold;
	color: #fff;
background: linear-gradient(90deg, #da4525 0%, #e4501a 80%);
     /*   -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;*/}
.info_box ul{font-size: 1.2em;}
.info_cate{    background: #000;
    color: #fff;
    padding: 0 0.5em;
    margin-right: 0.5em;
font-size: 1em;}
.info_cate02{    display: flex;
    flex-flow: row;
    height: 2.2em;
	background: #000;color: #fff;
    align-items: center;
    justify-content: center;
    width: 90%;
    margin: 0 auto;
    max-width: 600px;}
.info_day{  
    color: #000;
	text-align: center;
	margin:  0 auto 1em;
    font-size: 1.2em;
    max-width: 600px;
    font-weight: bold;}

.info_box .btn_b{height: 2.8em;}
.info_box .btn_wb{height: 2.5em;}
.info_box img{max-width: 600px;width: 90%;margin: 1em auto 0;display: block;}

/* ==========================================================================
campaign
========================================================================== */
#app .inner{background: #222;padding: 1.5em 0;position: relative;margin: 10px auto 0;border: #d2d1d2b3 solid 2px;}
#app h5{margin-top: 2em;font-size: 1.3em;font-weight: bold;}
#app ul{display: flex;margin: 1em auto 0;width: 80%;}
#app ul li{    width: 50%;
    margin: 2em auto;}
#app ul li a{display: block;margin: 1em;}
#app ul li img{max-width: 250px;height: 60px;width: auto;}
#app h3{ background: -webkit-linear-gradient(45deg, hsl(0deg 100% 50%) 0%, hsl(0deg 0% 13.33% / 31%) 100%);
    font-size: 1.2em;
    color: #ffffff;
    font-weight: bold;
    text-align: left;
    padding-left: 1em;
    font-style: italic;
    margin: 0 0 1em 0;
    width: 20em;
    position: absolute;
    top: -0.5em;
    left: -0.5em;
	
}
#app h4{font-weight: bold;margin: 1em auto;;
    font-size: 2em;
    line-height: 130%;}
#app p.ad_h{    font-weight: bold;
    font-size: 1.5em;
    margin: 0.5em auto;
    background: #f50303d1;
    padding: 0.5em;}

/*goods*/
#goods{padding-bottom: 2em;}
#goods .btn_area{margin-top: 1em;}
#goods h3{      font-weight: bold;margin-top: 1em;text-align: center;
    font-size: 1.2em;
    margin-bottom: 2em;}

/* ==========================================================================
sns
========================================================================== */
.sns {
	margin-top: 50px;
}
.sns dt {
	font-size: 20px;
	text-align: center;
	color: #ee0000;
	font-weight: bold;
}
.sns dd {
	margin-top: 20px;
}
.sns dd > ul {
	display: flex;
	justify-content: center;
	    margin: 0 0 2em;
}
.sns ul li {
	margin-left: 20px;
}
.sns ul li:first-child {
	margin-left: 0;
}
header .sns {
	margin-top: 0;
	margin-left: 30px;
}
header .sns ul li {
	margin: 0 0 0 10px;
	max-width: 33px;
}
/* ==========================================================================
fix-content
========================================================================== */
.fix-content {
	bottom: 0;
	left: 0;
	z-index: 998;
	width: 100%;
	text-align: center;
	background-color: rgba(0, 0, 0, 0.7);
	margin: 0 auto;
	padding-top: 10px;
}
.fix-content_bl {
	position: fixed;
	opacity: 1;
	display: block;
}
.fix-content img {
	width: auto;
}
.scrollTop {
	position: fixed;
	right: 0;
	bottom: 130px;
	z-index: 998;
	display: none;
}
.fix-content .fix-btn {
	/* background-color: rgba(0, 0, 0, 0.7);*/

}

.under_btn p{    font-size: 1em;
    color: #fff;
    font-weight: bold;
    padding: 0.5em 0 3px;}
.fix-content .fix_ul {
	display: flex;
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 10px;
}

.fix-content .fix_ul li {
	width: 50%;
	margin: 0 auto;
	padding: 0 .3em;
}

.blue-btn a {
 line-height: 100%;
 background: linear-gradient(90deg, #3ccdc4 0%, #2871fa 100%)!important;
}
.btn_purple {
	background-image: -moz-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%) !important;
	background-image: -webkit-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%) !important;
	background-image: -ms-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%) !important;
}
.btn_orange {
	background-image: -moz-linear-gradient(0deg, rgb(246 117 7) 0%, rgb(236 0 64) 100%);
	background-image: -webkit-linear-gradient(0deg, rgb(246 117 7) 0%, rgb(236 0 64) 100%);
	background-image: -ms-linear-gradient(0deg, rgb(246 117 7) 0%, rgb(236 0 64) 100%);
}
.btn_gold {
	    background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);
    color: #262626;
}
@media screen and (max-width: 812px) {
	.fix-content{padding: 5px 0 10px;}
	.fix-content .fix-btn a {
		font-size: 0.8em;
		height: 3.5em;
	}
	.fix-content .fix-btn a.btn_max{height: 5em;}
	.fix-content .fix-btn a span.btn-s {
		font-size: 1em;
	}
	.fix-content .fix_ul {
		display: block;
		width: 100%;
		padding: 0;
	}
	.fix-content .fix_ul li {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	.fix-content .fix-btn a.btn_max{height: 4.5em;}
}

@media screen and (max-width: 812px) {
	.sp {
		display: block;
	}
	body {
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		-webkit-text-size-adjust: 100%;
		-webkit-touch-callout: none;
		-webkit-user-select: none;
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic", Helvetica, sans-serif;
	}
	.pc {
		display: none;
	}
	.sp_center {
		text-align: center;
	}
	.mt80-25 {
		margin-top: 25px !important;
	}
	.mt50-25 {
		margin-top: 25px !important;
	}
	.method_title {
		font-size: 20px;
		margin-bottom: 25px;
	}
	.btn a {
		margin-top: 20px;
		padding-right: 0.5em;
		font-size: 13px;
		font-weight: bold;
	}
	.btn a span {
		margin-left: 5px;
	}
	.btn.small {
		margin-left: auto;
		margin-right: auto;
	}
	section#osusume .inner, section#method .inner {
		padding: 0 5%;
		;
	}
	
	.premium {
		width: 60%;
		margin: 30px auto;
	}
		
	.btn.small {
		margin-top: 20px;
	}
	h2 picture img {
		width: 85%;
	}
	
/* ==========================================================================
sp header
========================================================================== */
	footer {
		height: auto;
		min-height: 55px;
	}
	.bgOuter {
		padding: 0;
		background-image: url(../../images/bg_outer_sp.png);
	}
	.border-txt {
		padding: 5%;
		margin-top: 35px;
		margin-bottom: 30px;
	}
	.border-txt dt {
		font-size: 17px;
	}

	.sp-left {
		text-align: left !important;
	}
	
	.cpr.en{font-size:0.8em;}
/* ==========================================================================
sp btn
========================================================================== */
	.btn_b{font-size: 1em;height: 3.2em;}
	.btn_max{height: 4em;}
/* ==========================================================================
sp section
========================================================================== */
	section {
		position: relative;
		background-size: 100% auto;
		background-repeat: no-repeat;
	}
	
	.inner {
		width: 100%;
		padding: 0 5%;
	}
	
	.bg_block .inner,.bg_block02 .inner {
		padding: 0;
		margin-top: 10px;
		font-size: 0.9em;
	}
	section.bg_block {
		        padding: 2% 2% 5%;
        margin-bottom: 0;
        width: 96%;
	}
	section.bg_block02 {
		padding: 2%;
		margin-bottom: 0;
		width: 96%;
	}
	.contents section h2 {
		width: 100%;
		        margin: 0.5em auto 0;
        z-index: 999;
		font-size: 1.2em;
		background: #fff;
	}
	
	.contents {
		padding-top: 10px;
		padding-bottom: 30px;
		margin-top: 0px;
		background-image: url(../../images/bg_sp_01.png);
		background-size: 100% auto;
	}
	.contents + .contents{padding: 20px 0 50px;;}
/* ==========================================================================
sp mv_area
========================================================================== */
	.mv_area .kv{max-width: 1000px;margin: 0.5em auto;}
	.mv_area {
		background-image: url(../../images/mv_area_sp.png);
		background-size: cover;
		background-position: left bottom;
		padding-top: 1px;
		padding-bottom: 30px;
	}
	.mv_area h1 {              
		margin-top: 20px;
        margin-bottom: 0.5em;
        font-size: 0.95em;
        padding: 0 5px;
	}
	span.bubble {
    bottom: -3.5em;
    max-width: 300px;
		width: 100%;padding-right: 0;
		right: 0;top: unset;}
	p.lead_txt{font-size: 0.8em;}
	.lead_txt_s{text-align: left;margin: 1em 1em 0;}
	.info_box{font-size: 0.9em;        padding: 2em 1em;text-align: left;}
	.info_box .btn_b{height: 3.5em;font-size: 1.2em;}
	.info_box .btn_wb{height: 2.5em;}
	.info_cate02{    display: flex;
    flex-flow: column;
    height: 2.8em;
    align-items: center;
    justify-content: center;
    width: 80%;
    margin: 0 auto;}
	.info_day{background: none;color: #000;font-size: 1.1em;}
	.highlights{    padding: 10px 5px 20px;}
	.notes{font-size: 11px;text-align: left;padding: 0 5px;width: 90%;}
	
	#about .lead{font-size: 0.95em;
        text-align: justify;
        letter-spacing: 0;
        width: 90%;
        margin: 0 auto;}
	#about .notes{width: 100%;text-align: justify;}
/* ==========================================================================
  sp step
  ========================================================================== */
	#step{padding-bottom: 30px;}
	#step h3,#step02 h3,#goods h3{font-size: 0.9em;margin: 0.5em auto;}
	
	#step p,#step02 p{width: 100%;padding-left: 1em;font-size: 0.9em;text-align: justify;}
	#step p.fc_red, #step02 p.fc_red{font-size: 0.8em;text-align: justify;}
	#step ul li{font-size: 0.9;text-align: justify;}
	#step ul li:nth-child(1){width: 35%;}
	#step ul li:nth-child(2){width: 65%;}
	
	#step h3 + p,#step02 h3 + p{font-size: 0.85em;}
	.info_box h5{font-size: 1.3em;text-align: center;width: 100%;}
	.info_box h5 span{font-size: 1.2em;}
	
/* ==========================================================================
  sp app
  ========================================================================== */
	#app h5{margin: 0 auto;font-size: 1.05em;}
	#app ul{    flex-flow: row;width: 100%;}
	#app ul li{margin: 1em auto;width: 50%;font-size: 0.9em;}
	#app ul li img{height: 45px;}
	#campaign .inner{padding: 2%;}
	#campaign .btn_b{width: 100%;}
	#campaign .btn_max{height: 4em;}
	#campaign h4{font-size: 1.1em;margin-top: 2em;}
	#campaign p.ad_h{font-size: 1.2em;}
	#campaign dd.d_max_lead{font-size: 1em;}
/* ==========================================================================
  sp fix-content
  ========================================================================== */
	.scrollTop img {
		width: 80px;
		display: none;
	}
	.scrollTop a img:hover {
		opacity: 1;
	}
	.scrollTop {
		text-align: right;
		bottom: 90px;
	}
	.fix-content .fix-btn {
		/*  background-color: rgba(0, 0, 0, 0.9);*/
		padding: 5px 2% 0;
	}
	.under_btn p {
    font-size: 0.7em;
    padding: 0.5em 0 0;
}
}
@media screen and (min-width: 813px) {
	.is-sp {
		display: none;
	}
}
@media screen and (max-width: 1200px) {
	header {
		padding: 10px 6%;
	}
	header .inner {
		padding: 0;
	}
	.navbar {
		background-color: unset;
		height: 40px;
		width: 40px;
		border-radius: 5px;
		align-items: center;
		justify-content: center;
	}
	.menu {
		width: 100%;
		max-width: unset;
		padding: 3% 5%;
		position: absolute;
		top: 77px;
		right: -100%;
		z-index: 999;
	}
	.menu a {
		display: block;
		padding-bottom: 15px;
	}
	.menu.active {
		display: block;
		right: 0;
		height: 100vh;
		text-align: center;
		background-color: rgba(0, 0, 0, 0.9);
		overflow-y: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.menu.active::-webkit-scrollbar {
		display: none;
	}
	.menu.active > li {
		margin: 20px 0 0;
		border-bottom: 2px solid #ee0000;
		font-size: 20px;
		padding-bottom: 0;
	}
	.menu.active > li:last-child {
		border: none;
	}
	.menu.active li img {
		width: auto;
	}
	.menu-toggle {
		display: flex;
	}
	.menu-toggle.active .bar:nth-child(1) {
		transform: rotate(-45deg) translate(-7px, 7px);
	}
	.menu-toggle.active .bar:nth-child(2) {
		opacity: 0;
	}
	.menu-toggle.active .bar:nth-child(3) {
		transform: rotate(45deg) translate(-5px, -5px);
	}
	.title {
		margin: 15% 0 5%;
		font-size: 20px;
	}
	header nav ul li a:hover img {
		transform: scale(1);
	}
	header nav ul.head_sns {
		width: 150px;
		margin: 0 auto;
		justify-content: space-between;
	}
	header .menu.active .sns {
		max-width: 220px;
		margin: 0 auto;
	}
	header .menu.active .sns ul li:first-child {
		margin-left: 0;
	}
	header .menu.active .sns ul li {
		max-width: unset;
		margin-left: 20px;
	}
}
@media (orientation: landscape) {
	.menu.active {
		height: calc(100vh - 70px);
	}
}

@media screen and (max-width: 812px) {
.js-fixed-area {
  position: relative;
}
.js-fixed-elm {
  position: absolute;
  top: 0;
	right: 0;
  left: 0;
}
	.bg_block02 .is-fixed{background: #d0d0d0;}
	.bg_block .is-fixed{ background: #3f3f3f;}
.js-fixed-elm.is-fixed {
  position: fixed;
        z-index: 998;        padding-bottom: 10px;
       
	}
	.is-fixed h2{padding-top: 80px;}
}
.is-hidden{display: none !important;}
.under_btn .hide {
 display: none;
}