@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;
}
.mt0{margin-top: 0 !important;}
.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;
}
.mt1em {
	margin-top: 1em !important;
}
.mt2em {
	margin-top: 2em !important;
}
.mb2em {
	margin-bottom: 2em !important;
}
.mb3em {
	margin-bottom: 2em !important;
}
.mb4em {
	margin-bottom: 4em !important;
}
.pt0{padding-top: 0!important;}
.pb0{padding-bottom: 0!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;
}.fw-n {
	font-weight: normal!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_black {
	color: #262626 !important;
}
.fc_white {
	color: #fff !important;
}
.td_under{text-decoration: underline;}

.font01{font-family: "biz-udpgothic", sans-serif;
font-weight: 400;
font-style: normal;}

.font02{font-family: "noto-serif", serif;}
.share-tech-mono-regular {
  font-family: "Share Tech Mono", monospace;
  font-weight: 400;
  font-style: normal;
}

/* ==========================================================================
button
========================================================================== */
.flex_column{flex-flow: column;}
.btn_area.flex_column li + li{margin-top: 1.5em;}
.btn_area{display: flex;max-width: 1000px;padding: 2em 0;margin: 0 auto;}
.btn_area li{width: 45%;margin: 0 auto;}
.bn_area a{display: block;max-width: 800px;text-align: center;margin: 0 auto;width: 95%;}
.bn_area p{color: #fff;font-weight: bold;font-size: 1em;}
.bn_area{margin: 2em auto;width: 90%;}

.button + .button{margin-top: 1em;}
.button.portal a {
       color: #fff;
    border-radius: 50em;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: auto;
    max-width: 450px;
    font-family: "Noto Sans Japanese";
    text-decoration: none;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    width: 90%;
    font-size: 1.2em;
    letter-spacing: 0.05em;
    height: 3.5em;
  transition: .3s;
	transform: translateY(0);
	will-change: transform;
	backface-visibility: hidden;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4);
}
.button.portal a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 1.5rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
	    text-shadow: 2px 2px 2px rgb(0 0 0 / 14%);
}
.button.portal a:hover {
	box-shadow: unset;
  transform: translateY(4px);
}
.button.portal a:hover:after {
  right: 1rem;
}

.button.portal p{font-size: 0.9em;text-align: center;letter-spacing: 0.04em;}

/*赤以外のボタン*/
.btn_ot{position: relative;}
.btn_ot::after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 1rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.btn_ot:hover::after{ right: 0.5rem;}

.btn_area.under .button.portal a{border-radius: 0;}

/* ==========================================================================
MAX系btn
========================================================================== */

.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;}
.js_arrow{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1em;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(135deg);
  box-sizing: border-box;}
.under_btn .js_arrow{transform: rotate(-45deg);}
.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_max .btn-arrow-right::before{transform: rotate(135deg);}
.btn_gr{    background: -webkit-linear-gradient(45deg, hsla(26, 100%, 62%, 1) 0%, hsla(333, 100%, 51%, 1) 100%);
    color: #fff;box-shadow: 0px 5px 0px #e00151;}
.btn_gold{background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #eabb14 70%, #DAAF08 85%, #B67B03 90% 100%);
color: #262626;}
.btn_bl{background:linear-gradient(to right,#00a0e0,#2d69d0);color: #fff;box-shadow: 0px 5px 0px #034098;}
.btn_lv{background: linear-gradient(to right, #6d0e08, #bb2420);
    color: #fff;}

.btn_red{background-image: linear-gradient(90deg, rgb(255 61 0), rgb(236 13 13));box-shadow: 0px 5px 0px #bc0200;}
.btn_dark{background-image: linear-gradient(to right, #686868, #6e6e6e);box-shadow: 0px 5px 0px #3f3f3f;}
.btn_black{background:linear-gradient(to right,#000,#2bcccc);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;box-shadow: 0px 5px 0px #2f8200;
}
.btn_ye{background: #faf61e;color: #000!important;text-shadow: none!important;box-shadow: 0px 5px 0px #676500;}


.btn_max.btn_bl02{background: #0068b7;}
.btn_max.red_bg{background:#cf0808;}
.btn_max{
	/*background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%);*/
	position: relative;height: 4em;}
.btn_gray{pointer-events: none!important;box-shadow: none!important;background: #555555;}
.btn_yet{pointer-events: none!important;box-shadow: none!important;}
.btn_yet::before{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_yet2{pointer-events: none!important;box-shadow: none!important;}
.btn_yet2::before{content: '販売は終了いたしました';
    background: #000000ba;text-shadow: 2px 2px 2px rgb(0 0 0 / 71%);
    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%);}

.btn_area.bn_img{margin-top: 1em;}
.btn_area.bn_img a{        display: block;
    margin: 0 auto;
    max-width: 1000px;}

.button.portal a.btn_max{height: 4em;}
.max00 p img{width: 80%;}
.max00 p {text-shadow: none;color: #262626;}
.max01 p{background-image: url(../images/btn_max01.webp);}
.max02 p{background-image: url(../images/btn_max02.webp);}
.max03 p{background-image: url(../images/btn_max03.webp);}
.max04 p{background-image: url(../images/btn_max04.webp);background-size: 85%;}
.max05 p{background-image: url(../images/btn_max05.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 span.arrow{display: none;}
.btn_yet.btn-arrow-right::before{display: none;}

@media screen and (max-width: 812px) {
	/* ==========================================================================
sp btn
========================================================================== */
	.btn_area{flex-flow: column;padding: 1em 0;}
	.btn_area li{width: 90%;}
	.btn_area li + li{margin-top: 1em;}
	.btn_b{font-size: 1em;height: 3.2em;}
	.button.portal a.btn_max{height: auto;width: 100%;}
	.max00 p{font-size: 0.8em;padding: 0.1em 0;width: 88%;}
	.max00 p img {    width: 90%;}
	
	.btn_area.under li{width: 80%;}
	.btn_area.under li a{height: 3em;font-size: 1em;}
	.button.portal a{font-size: 16px;}
}

/* ==========================================================================
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: unset;
    display: flex;
    justify-content: space-between;
    align-items: center;
	width: 100%;
	padding-left: 1em;
}
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.b_none:hover{border: none!important;}
.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;
}
.head_btn{    background: #fb3800;
    color: #fff;
    border-radius: 6px;
    display: flex;
    background-image: linear-gradient(90deg, rgb(255 61 0), rgb(251 0 0));
    line-height: 1.1em;
    font-size: 0.9em;
    height: 3em;
    align-items: center;
    justify-content: center;
    width: 154px;    position: absolute;
    right: 5%;}

.head_btn_pc{ background: #fb3800;
    color: #fff;
    border-radius: 6px;
    display: flex;
    background-image: linear-gradient(90deg, rgb(255 61 0), rgb(251 0 0));
    line-height: 1.1em;
    font-size: 0.9em;
    height: 3em;
    align-items: center;
    justify-content: center;
    width: 154px;}

@media screen and (min-width: 1200px) {
	.head_btn{display: none;}
}

/* ==========================================================================
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;
}
@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;
	}
	.sp-s{font-size: 0.8em!important;}
	/* ==========================================================================
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;}
	.head_btn{          font-size: 0.7em;
        width: 100px;
        right: 14%;
        margin-bottom: 10px;}
}
@media screen and (max-width: 1200px) {
	header {
		        padding: 10px 0 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);
	}
}