@charset "utf-8";












html {
	/* scroll-behavior: smooth; */
	font-family: sans-serif;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-feature-settings: "palt";
}

h1,h2,h3,menu{
	margin: 0;
	padding: 0;
	font-weight: normal;
}
menu,ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
*{
	position: relative;
}
body {
	padding:0;
	margin: 0;
	overflow-x: hidden;
	font-size: 0.92em;
	background-color: #e2f2ff;
}
address{
	background-color: #001156;
	text-align: center;
	font-style: normal;
	display: flex;
	flex-flow: row;
	align-items: center;
	justify-content: center;
	color: #e6e8e7;
	height: 30px;
	width: 100%;
	font-size: 11px;
	line-height: 100%;
	padding:0;
	position: absolute;
	bottom: 0;
}



div.wrapper{
	background-color: #e2f2ff;
}

main{
	height: auto;
	/* min-height: 100vh; */
	max-width: 480px;
	background-color: #FFFFFF;
	margin: auto;
	overflow: hidden;
	box-shadow: 0 0 12px -2px #00000099;
}

div.hero{
	width: 100%;
	aspect-ratio: 10/9;
	background-image: url(../img/1666121_s.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
}
div.hero.vip{
	background-image: url(../img/hero_v.jpg);
}
div.hero>div{
	width: 70%;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
	color: #f7f6f5;
	color: #000;
	margin: auto;
}
div.logo{
	display: block;
	position: absolute;
	top: 5%;
	left: 50%;
	transform: translateX(-50%);
}
div.mvlogo_st{
	display: block;
	font-weight: bold;
	font-size: 1em;
	text-shadow: 0 0 3px #fff;
	margin-top: -5%;
}
div.hero>div.logo>span{
	font-weight: bold;
	font-size: 1.2em;
	text-shadow: 0 0 3px #fff;
}
div.hero>div.logo>div.mvlogo{
	height: 100px;
	width: 100%;
	background-image: url(../img/logo_t.svg);
	background-repeat: no-repeat;
	background-position: center top 1em;
	background-size: 80%;
}

div.hero>div.herobtm{
	display: block;
	width: 100%;
	height: 200px;
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	background-image: url(../img/herobtm.svg);
	background-size: 102%;
	background-position: center bottom -1px;
	background-repeat: no-repeat;
}
div.hero>a.ball{
	position: absolute;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
	width: 80%;
	height: 10%;
	border-radius: 10px;
	background-color: #0f2a9f;
	left: 50%;
	bottom: 3%;
	transform: translateX(-50%);
	z-index: 2;
	font-weight: bold;

	color: #FFFFFF;
	text-decoration: none;
	box-shadow: 
		0 0 20px -5px #000000,
		-5px -5px 10px inset #00000099,
		5px 5px 10px inset #fff
	;

}

div.hero>a.ball>span.en{
	font-family: "Reddit Sans", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-weight: 700;
	font-size: 1.5em;
	line-height: 100%;
}



div.login_box{
	border-radius: 12px;
	box-shadow: 0 0 7px -2px #00000055;
	width: fit-content;
	box-sizing: border-box;
	margin: 2em auto;
	padding: 1em;
	background-color: #e4e4e4;
}
div.login_box>form{
	margin: 10px;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
	gap: 20px;
	font-size: 1em;
}
div.login_box>form>div.input{
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	gap: 1em;
}
div.login_box>form>div.input>div{
	background-color: inherit;
}
div.login_box>form>div.input>input{
	width: 10em;
	font-size: 16px;
}
div.login_box>form>div.input>div{
	font-weight: bold;
	color: #1b0000;
}

div.login_box>form>div.btn>a{
	display: block;
	background-color: #f08000;
	text-decoration: none;
	color: #000;
	padding: 4px 8px;
	font-weight: 600;
	border-radius: 4px;
	border:solid 2px #f08000;
	font-size: 1.1em;
	box-shadow: 0 2px 10px -5px #00000099;
}

footer{
	background-color: #0f2a9f;
	/* min-height: 450px; */
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	/* gap: 2em; */
	color: #ede6da;
	padding: 30px 0;
	
}
footer>div.logo{
	display: block;
	width: 40%;
	aspect-ratio: 4/1;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../img/logo_w.svg);
	background-position: center;
}
footer>div.logo>span{
	display: none;
}

footer>div.footer_link{
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	row-gap: 1em;
	justify-content: space-evenly;
	padding: 60px 0 0 0;
}

footer>div.footer_link>a{
	display: block;
	text-align: center;
	line-height: 100%;
	padding: 10px 0;
	background-color: #9fc7f5;
	text-decoration: none;
	width: 44%;
	color: #000;
	border-radius: 40px;
}
footer>div.footer_link>a.dummy{
	opacity: 0;
}

footer>p{
	font-size:.84em;
	padding: 2em;
	padding-top: 50px;
	text-align: justify;
	color: #ede6da;
	margin: 0;
}
header{
	height: 80px;
	width: 100%;
	box-sizing: border-box;
	padding: 0 20px;
	background: linear-gradient(to top, #ccc, #fff);
	background-color: #fff;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
header>div.logo{
	width: 160px;
	height: 100%;
	background-image: url(../img/logo.svg);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

header>menu.userinfo{
	display: flex;
	flex-flow: column nowrap;
	gap:10px;
	line-height: 100%;
	align-items: center;
	justify-content: center;
}

header>menu.userinfo>div.uid{
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 4px;
	line-height: 100%;
	font-size: .84em;
}
header>menu.userinfo>div.uid>span{
	display: block;
}
header>menu.userinfo>div.uid>span.title{
	font-weight: bold;
	color: #3a1a02;
}
header>menu.userinfo>div.uid>span.num{
	background-color: #fff;
	padding: 4px 8px;
	box-shadow:
		inset -2px -2px 2px -1px #ffffff99,
		inset 2px 2px 2px -1px #00000055,
		0 0 5px -4px #000000
	;
	border-radius: 3px;
}


header>menu.userinfo>a.mypage{
	display: flex;
	flex-flow: row;
	align-items: center;
	justify-content: center;
	width: fit-content;
	background-color: #f08000;
	padding: 4px 12px;
	border-radius: 12px;
	text-decoration:none;
	color: #000;
	box-shadow:
		inset 2px 2px 2px -1px #ffffff99,
		inset -2px -2px 2px -1px #00000055,
		0 0 5px -3px #00000055
	;
	font-size: .9em;
	font-weight: bold;
}







.flash-message {
	padding: 10px;
	margin-bottom: 10px;
}
.flash-success { background-color: #dff0d8; color: #3c763d; }
.flash-error { background-color: #f2dede; color: #a94442; }
.flash-failure { background-color: #deedf2; color: #a94442; }
.flash-info { background-color: #d9edf7; color: #31708f; }








menu.hmenu{
	background-color: #f08000;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: stretch;
	font-size: .84em;
}
menu.hmenu>a{
	width: 25%;
	padding: 20px 0;
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: #FFFFFF;
	background-color: #557bd3;
	border-right: solid 1px #00000055;
}
menu.hmenu>a:last-child{
	border: 0;
}

menu.hmenu>a>i{
	font-size: 1.4em;
}



section.kaime{
	background: #FFFFFF;
	padding: 50px 0;
	display: flex;
	flex-flow: column nowrap;
	gap: 1em;
	align-items: center;
	justify-content: center;
}

section.kaime>a{
	display: flex;
	flex-flow: column nowrap;
	align-items: center;
	justify-content: center;
	color: inherit;
	padding: .8em 1em;
	background-color: #f08000;
	width: fit-content;
	font-size: 1.6em;
	font-weight: 600;
	text-decoration: none;
	border-radius: 12px;
	box-shadow:
		inset 5px 5px 5px -2px #ffffff99,
		inset -5px -5px 5px -2px #00000055,
		0 0 10px -2px #000000
	;
}
section.kaime>a.out{
	background-color: #ccc;
	color: #333;
	font-size: 1.2em;
	box-shadow:
		inset -3px -3px 3px -2px #ffffff99,
		inset 3px 3px 3px -2px #00000055,
		0 0 10px -2px #000000
	;
}
section.kaime>a>span{
	font-weight: normal;
	display: block;
	font-size: .72em;
}


section.kaime>div.information{
	display: flex;
	flex-flow: column nowrap;

	gap: 1em;
	margin: 2em;
	padding: 3em 1em 1em;
	border: solid 1px #ede6da;
}
section.kaime>div.information>p{
	font-size: 2em;
	color: #e6e8e7;
	font-weight: 400;
	margin: 0;
	text-align: center;
}
section.kaime>div.information>h3{
	display: block;
	position: absolute;
	font-size: .92em;
	background-color: #ede6da;
	color: #3a1a02;
	top: 0;
	left: 0;
	width: 100%;

	box-sizing: border-box;
	padding: 4px;
}

div.news{
	padding: 1em;
}
div.news>h2{
	width: fit-content;
	padding: .5em;
	line-height: 100%;
	font-size: 1em;
	background-color: #f08000;
	box-shadow:
		3px 3px 0 0 #333
	;
	border-radius: 100px;
	margin: auto;
}
div.news>h2>i{
	display: inline-block;
	margin-right: 5px;
}

div.news>a{
	display: flex;
	flex-flow: row-reverse nowrap;
	align-items: center;
	/* justify-content: ; */
	margin: 1em;
	background-color: #ede6da;
	padding: 15px .5em;
	font-size: .92em;
	text-decoration: none;
	color: inherit;
}
div.news>a>span{
	display: flex;
}
div.news>a>span.mail_status{
	width: 8%;
	align-items: center;
	justify-content: center;
	background-color: #ccc;
	color: #555;
	font-size: .75em;
	padding: 0 4px;
}
div.news>a>span.mail_status.midoku{
	color: #fff;
	background-color: #c70404;
}
div.news>a>span.title{
	width: 90%;
	box-sizing: border-box;
	padding: 0 .6em;
}
div.news>a>span.date{
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 2px 5px;
	line-height: 100%;
	height: 13px;
	font-size: 12px;
	background-color: #fff;
}


section>h2{
	width: fit-content;
	padding: .5em 1em;
	line-height: 100%;
	font-size: 1.4em;
	background-color: #0f2a9f;
	/* box-shadow:
		3px 3px 0 0 #d9f6ff
	; */
	border-radius: 10px;
	margin: auto;
	font-weight: bold;
	color: #FFFFFF;
}
section>h2>i{
	display: inline-block;
	margin-right: 5px;
}

section{
	background-color: #e6e8e7;
	padding: 2em 1em ;
}
section>h2>i{
	color: #FFFFFF;
}

section>div.item{
	background-color: #000;
	padding: 1em;
	border-radius: 12px;
	margin: 2em 0;
}
section>div.item>h3{
	background-color: #557bd3;
	color: #fff;
	padding: .5em ;
	font-weight: bold;
}
section>div.item>p{
	background-color: #e6e8e7;
	padding: 1em;
}

section a.btn{
	background-color: #f08000;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	padding: 1em;
	display: block;
	width: fit-content;
	margin: auto;
	border-radius: 12px;
	box-shadow:
		inset 5px 5px 5px -2px #ffffff99,
		inset -5px -5px 5px -2px #00000055,
		0 0 10px -2px #000000
	;
}
section>div.product_detail{
	margin: 2em 1em;	
}
section>div.product_detail>img{
	width: 100%;
	display: block;
	margin-bottom: 1em;
}
section>div.product_detail>div.price{
	background-color: #ffffff55;
	padding: 1em;
	line-height: 100%;
}
section>div.product_detail>div>p>span.price{
	font-size: 2.4em;
	color: #c52d2c;
	font-family: 'Redit Sans';
	font-weight: bold;

}
section>div.product_detail>div>p{
	text-align: right;
}

section>div.product_detail>div>p.description{
	text-align: left;
	line-height: 140%;
	font-size: 1.12em;
}
section>div.product_confirm{
	margin: 2em 1em;	
}
section>div.product_confirm.subbox{
	font-size: .86em;
}
section>div.product_confirm>div.price{
	background-color: #ffffff55;
	padding: 1em;
	line-height: 100%;
}
section>div.product_confirm>div.price small{
	color: #3a1a02;
}
section form button:not(#togglePassword){
	font-size: 1em;
	background-color: #f08000;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	padding: 1em;
	display: block;
	width: fit-content;
	margin: auto;
	border-radius: 8px;
	box-shadow:
		inset 3px 3px 3px -2px #ffffff99,
		inset -3px -3px 3px -2px #00000055,
		0 0 5px -2px #000000
	;
}
section form button:disabled{
	opacity: .5;
}

form.custom_price{
	padding: 1em;
}
form.custom_price>div{
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	margin: 2em 0;
	gap: 1em;
}
form.custom_price>div>input[type="number"]{
	font-size: 1.2rem;
	padding: 4px;
}


div.privacy_agree{
	background-color: #ffffff55;
	height: 10em;
	font-size: .84em;
	overflow-y: scroll;
	margin: 1em;
	border: solid 2px #fff;
}
div.privacy_agree>h4{
	font-weight: bold;
	margin: 1em;
	text-align: center;
	color: #1b0000;
}
div.privacy_agree>p{
	margin: 1em;
}
div.agree{
	width: fit-content;
	margin: 1em auto;
	font-size: 1.4em;
}

div.info_box.confirm h3{
	padding: 0;
	margin: 0;
}
div.info_box.confirm h3:not(:first-child){
	padding-bottom: 0;
	margin-top: 1em;
}


p.btn_box{
	margin: 2em 0;
}


div.back{
	background-color: #555;
	padding: .5em;
	color: #fff;
}
div.back>a{
	display: block;
	text-align: left;
	font-size: .92em;
	color: inherit;
	text-decoration: none;
}




section.osusume{
	background-color: #FFFFFF;
	padding: 2em 1em ;
}
section.osusume>h2>i{
	color: #FFFFFF;
}

section.osusume>div.item{
	background-color: #def3ff;
	padding: 1em;
	border-radius: 12px;
	margin: 2em 0;
}
section.osusume>div.item>h3{
	background-color: #0f2a9f;
	color: #fff;
	padding: .5em ;
	font-weight: bold;
}
section.osusume>div.item>p{
	background-color: #FFFFFF;
	padding: 1em;
}

section.osusume>div.item>a.btn{
	background-color: #f08000;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	padding: 1em;
	display: block;
	width: fit-content;
	margin: auto;
	border-radius: 12px;
	box-shadow:
		inset 5px 5px 5px -2px #ffffff99,
		inset -5px -5px 5px -2px #00000055,
		0 0 10px -2px #000000
	;
}











section.osusume a.item{
	display: flex;
	width: 100%;
	aspect-ratio: 4/3;
	background-color: #555;
	margin: auto;
}
section.osusume a.item>img{
	display: block;
	width: 100%;
}

section>a.btn{
	margin: auto;
	display: block;
	width: fit-content;
}

section.terms>div{
	margin: 1.5em;
}

section.terms>div>h3{
	color: #0f2a9f;
	background-color: #d2e3ec;
	width: 98%;
	padding-left: 2%;
}

form.box{
	background-color: #fff;
	margin: 1em;
	padding: 1em;
}
form.box h3{
	font-weight: bold;
	color: #046060;
}
form.box>p{
	font-size:.84em;
}
form.box>p>strong{
	display: inline-block;
	border:#f08000 solid 1px;
	background-color: #046060;
	color: #f08000;
	padding: 0 4px;
	font-size: 1.4em;
}


form.box b{
	display: block;
}


section>h3{
	font-weight: bold;
	margin: 1em;

}

div.info_box{
	margin: 1em;
	padding: 1em;
	background-color: #ffffff55;
}


div.info_box h3{
	font-weight: 500;
	color: #0f2a9f;
	padding-bottom: 1em;
}
.contact div.info_box h3{
	padding-bottom: .2em;
}

.contact div.info_box input,
.contact div.info_box textarea{
	margin-bottom: 1em;
	font-size: 1.2em;
}

div.info_box>div.btn_box{
	background-color: #ddd;
	text-align: right;
	padding: .5em;
}
div.info_box>div.btn_box>a{
	font-size: .92em;
	display: inline-block;
	background-color: #fff;
	color: #1b0000;
	text-decoration: none;
	padding: 0 .5em;
}


div.info_box table {
	border-collapse: collapse;
	font-size: .92em;
	margin: 0 auto 1em;
}
div.info_box table th{
	font-weight: 500;
	padding: .5em;
	background-color: #0f2a9f;
	border-bottom: 1px solid #ede6da;
	color: #ede6da;
}

div.info_box table td{
	padding: .5em;
	background-color: #fff;
	border-bottom: 1px solid #0f2a9f;
}


.edit div.info_box>form{
	display: flex;
	flex-flow: column nowrap;
	gap: 1em;
}

.edit div.info_box>form input[type="email"],
.edit div.info_box>form input[type="password"],
.edit div.info_box>form input[type="text"]{
	font-size: 1.2em;
}




section.vip div.product_confirm{
	font-size: 1.2em;
}
section.vip>h1{
	background-color: #0f2a9f;
	color: #fff;
	padding: .4em;
	font-weight: 600;
}
section.vip div.product_confirm strong{
	font-size: 1.1em;
}
section.vip div.product_confirm.subbox{
	font-size: .76em;
}


div.pw_reset{
	display: block;
	padding: 30px;
}
div.pw_reset>h1{
	color: #0f2a9f;
}
div.pw_reset>form>button{
	background-color: #f08000;
	color: #000;
	text-decoration: none;
	font-weight: bold;
	padding: 1em;
	display: block;
	width: fit-content;
	margin: auto;
	border-radius: 12px;
	box-shadow:
		inset 5px 5px 5px -2px #ffffff99,
		inset -5px -5px 5px -2px #00000055,
		0 0 10px -2px #000000;
	margin-top: 30px;
}




@media screen and (max-width: 1023px) {


	
}

@media screen and (max-width:767px) {

	
}


@media screen and (max-width:480px) {


	body{
		font-size: calc(100vw * 0.035);
	}
	
}


@media print {
	div.hero{
		height: 900px !important;
	}

}


