@charset "utf-8";

*,::after,::before { box-sizing:border-box;}
html {	font-family:sans-serif;
	line-height:1.15;
	-webkit-text-size-adjust:100%;
	-webkit-tap-highlight-color:transparent;}
article,aside,figcaption,figure,footer,header,hgroup,main,nav,section { display:block;}
body {	margin:0;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
	font-size:1rem;
	font-weight:400;
	line-height:1.5;
	color:#212529;
	text-align:left;
	background-color:#141213;}
[tabindex="-1"]:focus:not(:focus-visible) { outline:0!important;}
hr {	box-sizing:content-box;
	height:0;
	overflow:visible;}
h1,h2,h3,h4,h5,h6 {
	margin-top:0;
	margin-bottom:.5rem;}
p {	margin-top:0;
	margin-bottom:1rem;}
abbr[data-original-title],abbr[title] {
	text-decoration:underline;
	-webkit-text-decoration:underline dotted;
	text-decoration:underline dotted;
	cursor:help;
	border-bottom:0;
	-webkit-text-decoration-skip-ink:none;
	text-decoration-skip-ink:none;}
address{margin-bottom:1rem;
	font-style:normal;
	line-height:inherit;}
dl,ol,ul {
	margin-top:0;
	margin-bottom:1rem;
	list-style: none;
	padding:0;}
ol ol,ol ul,ul ol,ul ul { margin-bottom:0;}
dt {	font-weight:700;}
dd {	margin-bottom:.5rem;
	margin-left:0;}
blockquote { margin:0 0 1rem;}
b,strong { font-weight:bolder;}
small {	font-size:80%;}
sub,sup{position:relative;
	font-size:75%;
	line-height:0;
	vertical-align:baseline;}
sub {	bottom:-.25em;}
sup {	top:-.5em;}
a {	color:#007bff;
	text-decoration:none;
	background-color:transparent;}
a:hover{color:#0056b3; text-decoration:underline;}
a:not([href]):not([class]) { color:inherit; text-decoration:none;}
a:not([href]):not([class]):hover { color:inherit; text-decoration:none;}
code,kbd,pre,samp {
	font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
	font-size:1em;}
pre {	margin-top:0;
	margin-bottom:1rem;
	overflow:auto;
	-ms-overflow-style:scrollbar;}
figure {margin:0 0 1rem;}
img {	vertical-align:middle; border-style:none;}
svg {	overflow:hidden; vertical-align:middle;}
table {	border-collapse:collapse;}
caption{padding-top:.75rem;
	padding-bottom:.75rem;
	color:#6c757d;
	text-align:left;
	caption-side:bottom;}
th {	text-align:inherit; text-align:-webkit-match-parent;}
label {	display:inline-block; margin-bottom:.5rem;}
button {border-radius:0;}
button:focus:not(:focus-visible) { outline:0;}
button,input,optgroup,select,textarea {
	margin:0;
	font-family:inherit;
	font-size:inherit;
	line-height:inherit;}
button,input { overflow:visible;}
button,select { text-transform:none;}
[role=button] { cursor:pointer;}
select { word-wrap:normal;}
[type=button],[type=reset],[type=submit],button { -webkit-appearance:button;}
[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled) { cursor:pointer;}
[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner { padding:0; border-style:none;}
input[type=checkbox],input[type=radio] { box-sizing:border-box; padding:0;}
textarea {
	overflow:auto;
	resize:vertical;}
fieldset {
	min-width:0;
	padding:0;
	margin:0;
	border:0;}
legend {display:block;
	width:100%;
	max-width:100%;
	padding:0;
	margin-bottom:.5rem;
	font-size:1.5rem;
	line-height:inherit;
	color:inherit;
	white-space:normal;}
progress { vertical-align:baseline;}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button { height:auto;}
[type=search] { outline-offset:-2px; -webkit-appearance:none;}
[type=search]::-webkit-search-decoration {
	-webkit-appearance:none;}
	::-webkit-file-upload-button {
	font:inherit;
	-webkit-appearance:button;}
output {display:inline-block;}
summary{display:list-item; cursor:pointer;}
template { display:none;}
[hidden] { display:none!important;}
header,
header img { width: 100%;}
header { position: relative;}
header img{
    width: 100%;}
.ttl {
    display: flex;
    justify-content: center;}
.ttl img {
    width: 100%;}
section { position: relative;}
section:before {
    content: "";
    background: url(../img/bg.jpg) no-repeat;
    background-size: cover;
    width: 100%;
    height: 100vh;
    display: block;
    position: fixed;
    top: 0;
    z-index: -1;}
.gold {}

.gold:before,
.gold:after {
    content: "";}
.gold:before {
    background: url(../img/bg1.png) no-repeat;
    background-size: cover;
    width: 40.704%;
    height: 69.152%;
    display: block;
    position: fixed;
    top: 0;
    z-index: -1;}
.gold:after {
    background: url(../img/bg2.png) no-repeat;
    background-size: cover;
    width: 31.141%;
    height: 67.19%;
    display: block;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: -1;}
footer {
	text-align: center;
	padding: 10px;}
footer ul {
    list-style: none;
    padding: 0;}
footer ul li a {
    color: #fff;
    font-size: 15px;}
footer small span { color: #ccc;}
.clearfix:after{
	content: "";
	clear: both;
	display: block;}

.sct05 {
    transform: none;
    text-shadow: none;
    position: relative;
    width: 90%;
    max-width: 754px;
    margin: 0 auto;
    padding: 0 min(3vw, 50px);}
.sct05bg {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    background-size: contain;
    background-position-y: 70px;
    position: relative;}
.sct05bg div:nth-child(1) {
    width: 67.459%;
    margin: 5% auto 1.5%;}
.sct05bg div:nth-child(1) img { width: 100%;}
.sct05bg div:nth-child(2) {
	width: 32.2%;
	margin: 0 33.9% 3%;}
.sct05bg div:nth-child(3) {
	width: 27.6%;
	margin: 0 36.2% 2%;}

/*************************************************************** FORM 
*/
.kakunin p {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin: 0 auto 50px;}
form {}
select { cursor: pointer;}
.pkg00,
.pkg00_,
.area00 { display:none;
	position: absolute;
	right: -19px;}
.none,
.areann{width: max-content;
	display: inline-block;
	position: absolute;
	right: 0px;
	top: 10px;}
input + span {
/*    position: relative;
    float: right;*/}
input + span::before {
	position: absolute;
	right: 0px;
	top: 5px;}
.areann::before,
.none::before,
input:invalid + span::before,
.opt-in::before {
	content: '✖';
	color: red;
	font-size: 20px;
	padding: 10px 0;}
.pkg00::before,
.pkg00_::before,
.none.pkg00::before,
.none.pkg00_::before,
.area00::before {
	content: '✓';
    color: green;
    font-size: 20px;
    padding: 10px 0;
    display: inline-block;
    position: absolute;
    top: -17px;
    right: 7px;}
input:checked + label.opt-in { display: inline-block;}
input:valid + span::before,
input:checked + label.opt-in::before {
	content: '✓';
	font-size: 20px;
	padding: 10px 0;
	color: green;
    right: 10px;}
fieldset { border: none;}
.submit{position: relative;
	height: 50px;
	margin: 30px auto;
	width: 100%;}
.submit span,
.submit input { border: solid 1px #ccc;}
.submit span {
	border: solid 1px #ccc;
	display: block;
	position: absolute;
	width: 100%;
	height: 50px;
	text-align: center;
	font-size: 30px;
	line-height: 50px;
	cursor: no-drop;
	background: #fff;}
.submit input {
	border: solid 1px #ccc;
	display: block;
	position: absolute;
	width: 100.5%;
	height: 52px;
	text-align: center;
	font-size: 30px;
	line-height: 50px;
	opacity: 1;
	display: block;
	background: #259873;
	color: #fff;
	font-weight: bold;
	cursor: pointer;}
form input[type="checkbox"] {
	width: 30px;
	height: 30px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 14px;}
.FormBox {
    width: 100%;
    max-width: 960px;
    margin: 0 auto 28px;
    padding: 4%;
    background: #fff;}
form .wid {
	font-size: 0;
	position: relative;
	margin: 0 0 21px;
    display: flex;
    align-items: center;
    justify-content: flex-start;}
.widTtl{font-size: 18px;
	font-weight: bold;
	display: inline-block;
	width: 250px;
	padding: 10px 0;}
.widTtl:after  {
	content: "必須";
	background: #f00;
	color: #fff;
	border-radius: 3px;
	font-size: 17px;
	padding: 2px 5px;
	float: right;
	margin: 0 21px 0 0;}

.widTtl_{font-size: 18px;
	font-weight: bold;
	display: inline-block;
	width: 280px;
	padding: 10px 0;}
.widTtl_:after  {
	content: "任意";
	background: #0089ffd1;
	color: #fff;
	border-radius: 3px;
	font-size: 17px;
	padding: 2px 5px;
	float: right;
	margin: 0 21px 0 0;}
.widTtl2 {
	font-size: 18px;
	font-weight: bold;
	width: 60%;
	padding: 0 7% 0 0;
	display: inline-block;
	position: relative;
	vertical-align: middle;}
.widTtl2:after  {
	content: "必須";
	background: #f00;
	color: #fff;
	border-radius: 3px;
	font-size: 17px;
	margin: 0 21px 0 0;
	padding: 2px 5px;
	position: absolute;
	right: -21px;
	top: calc(50% - 13px);}
.CheB {	width: 33%;
	margin-left: 4%;
    font-size: 18px;
	font-weight: bold;
	vertical-align: middle;
    display: flex;
    align-items: center;
    justify-content: space-between;}
.widArea {
	width: calc(100% - 320px);
	padding: 10px;
	border: solid 1px #ccc;
	border-radius: 3px;
	font-size: 20px;
	box-sizing: border-box;}
.widArea-1 {
	width: calc(100% - 320px);
	padding: 10px;
	border: solid 1px #ccc;
	border-radius: 3px;
	font-size: 20px;
	box-sizing: border-box;
	margin: 0 0 0 280px;}
form .tan {
	font-size: 21px;
	font-weight: bold;
	width: 97%;}
.opt-in { float: right;}
.kiyaku div {
	border: solid 1px #ccc;
	padding: 15px;
	font-size: 13px;
	margin-top: 60px;
	padding: 40px;
	height: 180px;
	overflow-y: scroll;
	background: #fff;
	transform: none;
	text-shadow: none;}
.kiyaku div h3 {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
	transform: none;
	text-shadow: none;}
.kiyaku div h4 {
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 20px;
	transform: none;
	text-shadow: none;}
.kiyaku div .agreement-items { margin-bottom: 30px;
	transform: none;
	text-shadow: none;}
.kiyaku div .agreement-items dt {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 10px;
	transform: none;
	text-shadow: none;}
.kiyaku div .agreement-items dl {
	transform: none;
	text-shadow: none;}
.kiyaku div .agreement-items dd {
	transform: none;
	text-shadow: none;}
.kiyaku div .agreement-items dd p {
	font-size: 16px;
	font-weight: bold;
	transform: none;
	text-shadow: none;}
.kiyaku div .agreement-items dd ul {
    font-size: 16px;
    font-weight: bold;
    transform: none;
    text-shadow: none;}
.dai {	width: 100%;
	height: 100vh;
	position: relative;}
.dai section { position: initial;}
.dai div {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	transform: translateY(-50%) translateX(0%);
	-webkit- transform: translateY(-50%) translateX(0%);}
.dai ul li {
    text-align: center;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: block;
    font-size: 15px;}
.dai ul li img {
    width: 100%;
    margin: 0 auto 21px;}
.dai a {background: #00b305;
	border-radius: 3px;
	padding: 7px 21px;
	margin: 28px auto 0;
	display: block;
	width: max-content;
	font-size: 13px;
	color: #fff;
	font-weight: bold;}
.full {
    border: solid 1px #ccc;
    background: #fff;
    width: 300px;
    margin: 0 auto;
    text-align: center;
    display: block;
    height: 50px;
    border-radius: 7px;
    font-size: 20px;
    cursor: pointer;
    font-weight: bold;}
.full:hover{
    background: #259873;
    color: #fff;
    font-weight: bold;}

.featherlight-sample { display: none;}
#law {}
#law h3 { text-align: center;}
#law table {}
#law table th {
    background: #eee;
    padding: 10px;}
#law table td {
    background: #fff;
    padding: 10px;}
#rule h3,
#privacy h3 { text-align: center;}
#rule h4,
#privacy h4 {
    font-size: 15px;
    line-height: 1.25;
    color: #202231;
    margin: 30px auto 0;}
#rule ol,
#privacy ol {
    margin: 20px 0 0 40px;}
#rule ol li,
#privacy ol li {
    list-style: outside decimal;
    font-size: 13px;
    line-height: 1.25;
    margin: 10px 0 0 0;}
#rule p,
#privacy  p {
    margin: 20px 0;
    font-size: 13px;
    line-height: 1.25;}
.featherlight .featherlight-content {
    width: 80%;
    max-width: 640px;}

.submit #send { display: none;}
.submit span { display: block;}
.submit.cng_ #send { display: block;}
.submit.cng_ span { display: none;}
.zenSelect div { display: inline-block;}

.SpNone { display: none !important;}
.PcNone { display: block !important;}

@media screen and (max-width:1000px) {
	.widTtl2 { width: 60%;}
	.widTtl2:after { right: -7%;}
	.CheB {	margin-left: 5%;
		width: 35%;}
}
@media screen and (max-width:830px) {
	.widTtl2 { font-size: 18px;}
	.CheB { font-size: 18px;}
	.widTtl2 { width: 55%;}
	.widTtl2:after { right: -50px;}
	.widTtl:after,
	.widTtl2:after { font-size: 14px;}
	form .tan { font-size: 18px;}
}
@media screen and (max-width:750px) {
	.widTtl2 { font-size: 15px;}
	.CheB {	font-size: 15px;
		width: 35%;}
	form .tan { font-size: 15px;}
}
@media screen and (max-width:767px) {
	.ttl img { width: 150%;}
}
@media screen and (max-width:640px) {
	.mv {
	    width: 280%;
	    padding-bottom: 86vh;
	    left: -90%;}
	.mv div:nth-child(2) {
	    position: absolute;
	    width: 30%;}
	.FormBox { width: 92%;}

	input + span::before { right: -5px;}
	.tan input + span::before {
		right: -12px;
		top: calc(50% + -10px);}
	.widTtl{font-size: 15px;
		display: block;
		width: 100%;
		padding: 10px 0 7px;}
	.widArea {
		width: 95%;
		font-size: 15px;
		margin: 7px 0 0;}
	.widArea-1 {
		width: 95%;
		font-size: 15px;
		margin: 7px 0 0;}
	.widTtl2 { width: 90%;}
	.none, .areann {
		top: calc(50% + 10px);
		right: -5px;}
	.CheB {	width: 100%;
		margin-left: 0%;
		margin-top: 7px;}
	.submit span,
	.submit input { font-size: 4.25vw;}
	.kiyaku div { padding: 20px;}
	.kiyaku div h3 {
		font-size: 4.4vw;
		margin-bottom: 3%;}
	.kiyaku div h4 {
		font-size: 4vw;
		margin-bottom: 3%;}
	.kiyaku div .agreement-items { margin-bottom: 3%;}
	.kiyaku div .agreement-items dt {
		font-size: 3.6vw;
		margin-bottom: 1%;}
	.kiyaku div .agreement-items dd p { font-size: 3vw;}

	form .wid {
	    font-size: 0;
	    position: relative;
	    margin: 0 0 21px;
	    display: block;
	    align-items: center;
	    justify-content: flex-start;}
	.widTtl {
	    font-size: 21px;
	    font-weight: bold;
	    display: inline-block;
	    width: 100%;
	    padding: 10px 0;}
	.widArea {
	    width: calc(100% - 30px);
	    padding: 10px;
	    border: solid 1px #ccc;
	    border-radius: 3px;
	    font-size: 20px;
	    box-sizing: border-box;
	    display: inline-block;}
	.none, .areann {
	    width: max-content;
	    display: inline-block;
	    position: relative;
	    right: initial;
	    top: initial;}
	.areann::before, .none::before, input:invalid + span::before, .opt-in::before {
	    content: '✖';
	    color: red;
	    font-size: 20px;
	    padding: 10px 0;
	    position: relative;
	    right: initial;
	    top: initial;}
	input:valid + span::before, input:checked + label.opt-in::before {
	    content: '✓';
	    font-size: 20px;
	    padding: 10px 0;
	    color: green;
	    position: relative;
	    top: initial;
	    right: -7px;}
	.CheB {
	    width: 100%;
	    margin-left: 0%;
	    margin-top: 7px;
	    justify-content: flex-start;}
	.opt-in {
	    float: right;
	    margin: 0 0 0.5rem auto;}
	.CheB input:valid + span::before,
	.CheB input:checked + label.opt-in::before { right: 5px;}
	form .tan { font-size: 15px;}
	form .tan span{
	    float: right;
	    margin: 0 0 0.5rem auto;}
	form .tan input:valid + span::before,
	form .tan input:checked + label.opt-in::before { right: 5px;}

	.PcNone { display: none !important;}
	.SpNone { display: block !important;}
}
@media screen and (max-width:470px) {
	.sct05bg { background-position-y: 80px;}
}
@media screen and (max-width:370px) {
	.sct05bg { background-position-y: 60px;}
}
@media screen and (max-width:340px) {
	.widTtl2 { width: 85%;}
	.tan input + span::before { right: -9px;}
	.widTtl { width: 96%;}
	.widArea-1 { width: 90%;}
	input + span::before { right: 0px;}
}


.list { overflow-x: hidden;}
.list ul li {
    width: 90%;
    max-width: 754px;
    margin: 5vw auto;}
.list ul li img { width: 100%;}

.list div {
    background-color: #000;
    padding: 0px 0 0;
    width: 90%;
    max-width: 754px;
    margin: 5vw auto 0;}
.list div img {
    width: 100%;
    max-width: 754px;
    position: relative;
    margin: -30px auto 0;
    left: 50%;
    transform: translateY(0%) translateX(-50%);}
.sct05 h2 {
    width: 70%;
    max-width: 387px;
    margin: 0 auto 3vw;
    padding-top: 7vw;}
.sct05 h2 img {width: 100%;}
@media screen and (max-width:767px) {
.list div {
    margin: 14vw auto 0;
}
}