@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800&display=swap');

/*==============================
基本
==============================*/
*,
*::before,
*::after {
	box-sizing: border-box
}

* {
	margin: 0
}

p {
	margin-bottom: 0;
}

button, input, optgroup {
	line-height: 0;
}

select {
	line-height: normal;
}

html {
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
	overflow-y: scroll;
	scroll-behavior: smooth
}

body {
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "kern";
	font-kerning: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 2;
	letter-spacing: .05em;
	color: #1c1c1e;
	background-color: #fff;
	overflow-x: hidden
}

a {
	color: inherit;
	word-break: break-all;
	text-decoration: none;
	cursor: pointer
}

img,
picture,
video,
canvas,
svg {
	max-width: 100%;
	height: auto
}

img,
svg {
	vertical-align: middle
}

ul,
ol {
	list-style: none;
	padding: 0
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

th {
	text-align: inherit;
	text-align: -webkit-match-parent
}

thead,
tbody,
tfoot,
tr,
td,
th {
	border-color: inherit;
	border-style: solid;
	border-width: 0
}

select,
textarea {
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

iframe {
	border: 0
}

[hidden] {
	display: none !important
}

@media screen and (min-width: 769px) {
	.sp {
		display: none;
	}

	.pc {
		display: inline;
	}
}

@media screen and (max-width: 768px) {
	.sp {
		display: inline;
	}

	.pc {
		display: none;
	}
}

.container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 0 20px
}

@media screen and (min-width: 1140px) {
	.container {
		max-width: 1140px;
	}
}

@media screen and (max-width: 1140px) {
	.container {
		max-width: auto;
		width: 100%;
	}
}

main {
	background: #F9F9F9;
}

@media screen and (min-width: 769px) {
	main {
		padding: 2.5rem 0 3.625rem;
	}
}

@media screen and (max-width: 768px) {
	main {
		padding: 0;
	}
}

/*==============================
ヘッダとフッタ
==============================*/

/*--------------------------
ヘッダ
--------------------------*/
.hd {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	z-index: 999;
}

.hd-logo {
	width: 144px
}

.hd-menuitem {
	font-size: .8125rem;
	font-weight: 700
}


@media screen and (min-width: 769px) {
	html {
		scroll-padding-top: 4.5rem
	}

	.hd-in {
		display: flex;
		justify-content: space-between;
		align-items: center;
		min-height: 4.5rem;
		padding-left: 1.875rem
	}

	.hd {
		border-bottom: 2px solid #00a0e9;
	}
}

@media screen and (max-width: 768px) {
	html {
		scroll-padding-top: 100px;
		font-size: 14px;
	}

	body {
		padding-top: 3rem
	}

	.hd {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 3rem;
		border-bottom: 1px solid #00a0e9;
	}

	.hd-logo {
		padding-left: 20px;
		line-height: 2.5rem
	}

}

/*--------------------------
フッター
--------------------------*/

.ft {
	padding: 3rem 0;
	font-size: .6875rem;
	line-height: 1.75;
	background-color: #f2f2f2
}

.ft a {
	color: #00a2f0;
	font-weight: 700;
	font-size: .8125rem;
	text-decoration: none
}

.ft-copyright {
	display: flex
}

.ft-logo-bandai {
	width: 58px;
	margin-right: 1.25rem
}

.ft-note {
	margin-top: .5rem
}

.ft-logo-bandainamco {
	width: 171px;
	margin-right: 0;
	margin-left: auto
}

@media screen and (max-width: 768px) {
	.ft-copyright {
		flex-flow: column wrap
	}

	.ft-logo-bandai {
		margin-bottom: 1.25rem
	}

	.ft-logo-bandainamco {
		margin-top: 2.5rem;
		margin-left: 0;
		margin-right: auto
	}
}

/*==============================
共通
==============================*/
/*--------------------------
margin
--------------------------*/
.mt-1rem {
	margin-top: 1rem;
}

.mt-1em {
	margin-top: 1em;
}
.mt-2rem {
    margin-top: 2rem;
}

.mt-10 {
	margin-top: .625rem;
}

.mt-20 {
	margin-top: 1.25rem;
}

.mb-1rem {
	margin-bottom: 1rem;
}

.mb-1em {
	margin-bottom: 1em;
}

.mb-10 {
	margin-bottom: .625rem;
}

.mb-20 {
	margin-bottom: 1.25rem;
}

/*--------------------------
メイン
--------------------------*/

main .container {
	background: #Fff;
	margin: 0 auto;
}

@media screen and (min-width: 769px) {
	main .container {
		padding: 3.625rem;
	}
}

@media screen and (max-width: 768px) {
	main .container {
		padding: 3.625rem 1.25rem 5em 1.25rem;
	}
}

/*--------------------------
タイトル
--------------------------*/
main .titleArea {
	overflow: hidden;
	text-align: center;
	margin: 0 auto 3.625rem;
}

main .titleArea .title {
	margin: 0 auto;
	line-height: 1;
}

main .titleArea .title img {
	width: 100%;
}

main .titleArea .pageTitle {
	color: #000;
	font-weight: 700;
	line-height: 1.1;
	margin: .5em auto 0;
}

@media screen and (min-width: 769px) {
	main .titleArea .title {
		width: 43.84%;
	}

	main .titleArea .pageTitle {
		font-size: 2rem;
	}
}

@media screen and (max-width: 768px) {
	main .titleArea .title {
		width: 67.69%;
	}

	main .titleArea .pageTitle {
		font-size: 1.14rem;
		margin: 1.24em auto 0;
	}
}


/*--------------------------
前置き
--------------------------*/
section.preface {
	margin: 0 auto 2em;
	text-align: center;
	font-size: .9375rem;
}


/*--------------------------
フォーム
--------------------------*/
.shape01 {
	background: #fff;
	border: 1px solid #919191;
	border-radius: .25em;
	font-size: .9375rem;
	overflow: hidden;
}

select.shape01 {
	position: relative;
	padding: 1em 2.2em 1em 1em;
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 12 9"><path fill="%23000000" d="M6 9L0.803849 -9.78799e-07L11.1962 -7.02746e-08L6 9Z" /></svg>') center right .8em / .8em auto no-repeat #fff;
}

textarea.shape01,
input[type="text"].shape01,
input[type="email"].shape01 {
	padding: 1em;
	width: 100%;
}

input[type="checkbox"] {
	border: 1px solid #919191;
}

input[type="tel"].shape01 {
	padding: 1em;
	width: 5.4em;
}

input[type="radio"]:disabled+label {
	opacity: .5
}

.hyphen {
	margin: 0 1em;
}

select[id*="Year"],
select[id*="Month"] {
	margin-right: .5em;
}

/*フォームレイアウト*/
.formDL {
	font-size: .9375rem;
	overflow: hidden;
}

.formDL dt {
	font-weight: 700;
}

.formDL dt.require::after {
	display: inline-block;
	padding: .32em .72em;
	margin-left: 1.45em;
	background: #EB0000;
	font-size: .6875rem;
	line-height: 1.45;
	color: #fff;
	content: "\5FC5\9808";
}

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

	.formDL {
		width: 100%;
	}

}


/*--------------------------
ボタン
--------------------------*/
.btnArea {
	text-align: center;
}

.btn {
	display: block;
	position: relative;
	cursor: pointer;
	-webkit-user-select: none;
	user-select: none;
	padding: 1em;
	margin: auto;
	background: #16A335;
	border: 1px solid #16A335;
	border-radius: .3125rem;
	text-align: center;
	text-decoration: none;
	font-size: .9375rem;
	font-weight: 700;
	line-height: 1.5;
	color: #fff;
	transition: .2s ease-in-out;
}

.btn:hover {
	background: #fff;
	color: #16A335;
	border-color: unset;
}

.btn:disabled {
	pointer-events: none;
	cursor: initial;
	background: #B6DEBF;
	border: 1px solid #B6DEBF;
	color: #fff;
}

.btn.next,
.btn.back,
.btn.backtop {
	margin-top: 1em;
	padding: 1em 1.6em;
}

.btn.next+.btn.back {
	margin-top: 2.2em;
}

.btn.back,
.btn.backtop {
	background: #A0A0A0;
	border: 1px solid #A0A0A0;
}

.btn.back:hover,
.btn.backtop:hover {
	background: #fff;
	color: #A0A0A0;
}

.btn.next::after,
.btn.back::after,
.btn.backtop::after {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	width: .6em;
	height: .6em;
	margin: auto;
	content: "";
}

.btn.next::after,
.btn.backtop::after {
	right: .66em;
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 9"><path fill="%23ffffff" d="M7 4.5L0.25 8.39711L0.25 0.602885L7 4.5Z" /></svg>') center / contain no-repeat;
}

.btn.back::after {
	left: .66em;
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 9"><path fill="%23ffffff" d="M-1.96701e-07 4.5L6.75 0.602886L6.75 8.39711L-1.96701e-07 4.5Z" /></svg>') center / contain no-repeat;
}

.btn.next:hover::after {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 9"><path fill="%2316A335" d="M7 4.5L0.25 8.39711L0.25 0.602885L7 4.5Z" /></svg>') center / contain no-repeat;
}

.btn.back:hover::after {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 9"><path fill="%23A0A0A0" d="M-1.96701e-07 4.5L6.75 0.602886L6.75 8.39711L-1.96701e-07 4.5Z" /></svg>') center / contain no-repeat;
}

.btn.backtop:hover::after {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 7 9"><path fill="%23A0A0A0" d="M7 4.5L0.25 8.39711L0.25 0.602885L7 4.5Z" /></svg>') center / contain no-repeat;
}


@media screen and (min-width: 769px) {

	.btn.next,
	.btn.back,
	.btn.backtop {
		width: 255px;
	}
}

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

	.btn.next,
	.btn.back,
	.btn.backtop {
		max-width: 255px;
		width: 64.8%;
	}
}

/*--------------------------
flex
--------------------------*/
.flexlist {
	display: -webkit-box;
	display: flex;
}

.f-flow {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
}

.wrap .f-jc-center {
	-webkit-box-pack: center;
	justify-content: center;
}

.f-jc-start {
	-webkit-box-pack: start;
	justify-content: flex-start;
}

.f-ac-stretch {
	align-content: stretch;
}

.f-ai-stretch {
	-webkit-box-align: stretch;
	align-items: stretch;
}

.f-ai-center {
	-webkit-box-align: center;
	align-items: center;
}

.f-ai-start {
	-webkit-box-align: start;
	align-items: flex-start;
}

/*--------------------------
ol
--------------------------*/
ol.dot {
	list-style-type: disc;
	list-style-position: outside;
	padding-left: 1.5em;
}


/*--------------------------
error
--------------------------*/
select.error,
input[type="email"].error,
input[type="text"].error,
input[type="tel"].error,
button[name="dateSelect"].error {
	border: 1px solid #EB0000;
}

input[type="text"].manual.error {
	border-color: #f2f2f2;
}

p.error {
	font-size: .8125rem;
	color: #EB0000;
	margin-top: .65em;
}