@charset "utf-8";



html     ,
body     ,
article  ,
section  ,
div      ,
h1       ,
h2       ,
h3       ,
h4       ,
h5       ,
dl       ,
dt       ,
dd       ,
ul       ,
ol       ,
li       ,
p        ,
input    ,
select   ,
textarea {
	margin:0;
	padding:0;
	font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", serif;
	color:#fff;
	font-size:18px;
	line-height:2;
	letter-spacing:0.02em;
	font-feature-settings:"palt"1;
	-webkit-text-size-adjust:100%;
	border:none;
}

@media only screen and (max-width:640px){
    
    html     ,
    body     ,
    article  ,
    section  ,
    div      ,
    h1       ,
    h2       ,
    h3       ,
    h4       ,
    h5       ,
    dl       ,
    dt       ,
    dd       ,
    ul       ,
    ol       ,
    li       ,
    p        ,
    input    ,
    select   ,
    textarea {
        font-size:17px;
        line-height:1.8;
    }
}

html {overflow-y:scroll; margin-bottom:1px; height:100%;}
body {background:#060504 url("../../index/img/op-bg.jpg") center top no-repeat fixed;}

img {
	margin: 0;
	padding:0;
	vertical-align:bottom;
	line-height:0;
	border:none;
    -webkit-backface-visibility: hidden;}

ul,ol {list-style:none;}
li {list-style-position:outside;}

table {border-collapse:collapse;}
th,td {padding:0; text-align:left; vertical-align:top;}

a {color:#323232; text-decoration:none; transition: .2s;}
a:hover {opacity:.6;}

p {text-align:justify; text-justify:inter-ideograph;}

* {-webkit-appearance: none;}

::selection {background:#ddd;}
::-moz-selection {background:#ddd;}

@media only screen and (min-width:641px){

    .sp ,
    .SPnav { display:none !important;}
}

@media only screen and (max-width:640px){
    
    .pc ,
    .PCnav { display:none !important;}
}



/* header */

header {
    width:100%;
    margin:100px auto 0;
	padding:0 0 50px;
}
header h1 {
    display:block;
    font-size:2.5rem;
    font-weight:700;
    line-height:1.5;
    text-align:center;
}
header h1 span {
	margin:0 auto 10px;
	display:block;
	font-size:1rem;
}

@media only screen and (max-width:640px){
    
    header {margin:80px auto 0;}
    header h1 {font-size:2rem;}
}



/* nav */

.menu-btn {
    width: 100px;
    height:100px;
    position:fixed; top:0; right:0;
    display:flex; justify-content:center; align-items:center;
    z-index:20000;
    cursor:pointer;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 4px;
    width: 35px;
    background:#907e77;
    position:absolute;
    transition: .3s;
}
.menu-btn span:before {bottom:14px;}
.menu-btn span:after {top:14px;}

#menu-btn-check:checked ~ .menu-btn span {background-color:rgba(255, 255, 255, 0);}
#menu-btn-check:checked ~ .menu-btn span::before {bottom:0; transform:rotate(45deg);}
#menu-btn-check:checked ~ .menu-btn span::after {top:0; transform:rotate(-45deg);}
#menu-btn-check {display:none;}
#menu-btn-check:checked ~ .menu-content {opacity:1; z-index:10000;}

.menu-content {
    width: 100%;
    height:100%;
    position:fixed; top:0; left:0;
    opacity:0;
    z-index:-1;
    transition:all 0.5s;
}
.menu-content > div {
    width:80%;
    margin: 30px auto 0;
    padding:50px 5%;
    border-radius:3px;
    border:solid 1px #9e8a7e;
    background:rgba(0,0,0,0.8);
    position:relative;
    z-index:2000;
}
.menu-content > div a {
    display: block;
    font-size:1.1rem;
    color:#fff;
    text-decoration:none;
}
.menu-content > div ul.navMenu {
    width:100%;
    margin:0 auto;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
.menu-content > div ul.navMenu li {
    width:100%;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
.menu-content > div ul.navMenu li a {
    padding:5px 0;
    border-bottom:solid 1px #9e8a7e;
}
.menu-content > div ul.navBanner {
    width:100%;
    margin:50px auto 0;
    display:flex; flex-flow:row wrap; justify-content:space-between; align-content:center; align-items:center;
}
.menu-content > div ul.navBanner li {width:24.5%; margin:5px 0;}
.menu-content > div ul.navBanner li a {width:100%;}
.menu-content > div ul.navBanner li a img {max-width:100%;}

@media only screen and (max-width:640px){
    
    .menu-btn {width:80px; height:80px;}
	.menu-content > div {width:85%; margin:8px auto 0; padding:30px 5%;}
    .menu-content > div ul.navMenu li a {padding:5px 0;}
    .menu-content > div ul.navBanner {margin:30px auto 0;}
    .menu-content > div ul.navBanner li {width:49%;}
}


/* .mf */

.mf {
	width:88%;
	max-width:700px;
    margin:0 auto 40px;
	display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center; flex-direction:column;
}
.mf p {width:100%;}
.mf p.notes {text-align:center;}
.mf b.hissu {
	height:20px;
    margin-right:8px;
    padding:0 6px;
    display:inline-block;
	font-size:0.88rem;
    font-weight:500;
	color:#fff;
    line-height:1.2;
    vertical-align:middle;
    border-radius:3px;
	background:#da1212;
}
.mf p.okotowari {
	width:100%;
    margin:20px auto 0;
    padding:8px 0;
	color:#da1212;
	font-family: "Noto Sans JP", sans-serif;
	text-align:center;
	line-height:1.4;
    border-radius:6px;
    border:solid 3px #da1212;
	background:#fff;
}

.mf form {width:100%;}
.mf form[target="_blank"] {width:140px;}

.mf table {width:100%; margin:80px 0 0;}
.mf table th ,
.mf table td {display:block;}
.mf th {padding:20px 0 10px; border-top:solid 1px #fff;}
.mf td {padding:0 0 30px;}

.mf th.hissu {
	padding-left:55px;
	position:relative;
}
.mf th.hissu::after {
	content:"必須";
    height:20px;
    margin-right:8px;
    padding:0 6px;
	position:absolute; top:29px; left:0;
    display:inline-block;
	font-size:0.88rem;
    font-weight:500;
	color:#fff;
    line-height:1.2;
    vertical-align:middle;
    border-radius:3px;
	background:#da1212;
}

@media only screen and (max-width:640px){

	.mf th.hissu::after {top:25px;}
}


.mf input ,
.mf textarea ,
.mf select {
    width:96.6%;
    margin:5px 0;
    padding:2px 10px;
	color:#060503;
	font-family: "Noto Sans JP", sans-serif;
    border:solid 2px #b4b4b4;
	background:#fff;
}
.mf input.text.outFocus {color:#a39084;}
.mf select {width:150px;}
.mf textarea {min-height:200px;}

input.p-postal-code {width:140px;}
input.p-region {width:120px;}
.h-adr small {
    margin:5px 0;
	display:block;
    font-size:0.8rem;
    line-height:1.5;
}


/* kubun_check */

.kubun_check label {
    margin:10px 30px 0 0;
    padding:0 0 0 30px;
    display:inline-block;
	position:relative;
	cursor: pointer;
    transition: .2s;
	line-height:1.4;
}

/* checkbox */

.kubun_check label:hover {color:#a0a0a0;}
.kubun_check [type="checkbox"] {
    position:absolute; top:2%; left:0;
	cursor:pointer;
}
.kubun_check [type="checkbox"]:before {
	position: absolute;
	z-index: 1;
	top:-5px;
	left:0;
	width:20px;
	height:10px;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	        transition:         transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: rotate(-45deg) scale(0, 0);
	        transform: rotate(-45deg) scale(0, 0);
	border: 6px solid #da1212;
	border-top-style: none;
	border-right-style: none;
}
.kubun_check [type="checkbox"]:checked:before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	        transform: rotate(-45deg) scale(1, 1);
}
.kubun_check [type="checkbox"]:after {
	position: absolute;
	top:-3px;
	left:0;
	width: 18px;
	height:18px;
	content: '';
	cursor:pointer;
    border-radius:3px;
	border:solid 2px #b4b4b4;
	background:#ffffff;
}
.kubun_check input {border:none; background:none;}


/* back-advance */

.back-advance {
    width:100%;
    margin:20px auto 80px;
    display:flex; flex-flow:row wrap; justify-content:center; align-content:center; align-items:center;
}
.back-advance a ,
.back-advance input {
	width:260px;
    margin:0 5px;
	padding:10px 0;
    display:block;
	color:#fff;
	font-family:"Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", serif;
    font-size:1.2rem;
	text-align:center;
	border:solid 5px #765b4b;
    background:#765b4b;
	transition: .3s;
	cursor: pointer;
}
.back-advance a {border-color:#646464; background:#646464;}
.back-advance a:hover ,
.back-advance input:hover {border-color:#000; opacity:1;}

@media only screen and (max-width:640px){
    
	.mf table td {padding-bottom:30px;}
    
	.mf input ,
	.mf textarea ,
	.mf select {
		width:94%;
		padding:2px 10px;
	}
	.mf select {width:150px;}
	input.p-postal-code {width:120px;}
	input.p-region {width:100px;}
	
	.back-advance {
		margin:20px auto 80px;
	}
	.back-advance a ,
	.back-advance input {
		width:45%;
		margin:0 3px;
		padding:6px 0;
		font-size:1rem;
	}
}



/* footer */

footer small {
    width:100%;
    margin:0 auto;
	padding:0 0 80px;
    display:block;
    font-size:0.8rem;
    font-family:"Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", serif;
    text-align:center;
}



.errorText {
    width:100%;
    margin:20px auto 0;
    color: #C40D23;
    text-align:center;
}
#wait {
	display: none;
	position: fixed;
	z-index: 999999;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	padding-top: 70px;
	text-align: center;
}
#loading_icon {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}
