@charset "UTF-8";
/* CSS Document */

input[type="text"],input[type="email"],input[type="password"],select,textarea{
font-size: 1rem;
line-height: 1.8;
padding: 0 10px;
font-family: inherit;
border: 1px solid #387ebe;
display: block;
width: 100%;
border-radius: 10px;
background-color: #ffffff;
transition: border 100ms ease;
}
*+input[type="text"],*+input[type="email"],*+input[type="password"],*+select,*+textarea{
/*margin-top: 10px;*/
}
input[type="text"],input[type="email"],input[type="password"],select{
height: 48px;
}
input[type="text"],input[type="email"],input[type="password"],textarea{
}
input[type="text"],input[type="email"],input[type="password"]{
}
input[type="checkbox"], input[type="radio"]{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
position: relative;
width: 20px;
height: 20px;
border: 1px solid #387ebe;
margin-right: 10px;
transition: background 100ms ease;
}
input[type="checkbox"]{
border-radius: 5px;
}
input[type="checkbox"]:checked{
background-color: #387ebe;
}
input[type="checkbox"]::before{
content: '';
display: block;
position: absolute;
top: 3px;
right: 3px;
bottom: 3px;
left: 3px;
background-image: url(../images/check_white.png);
background-repeat: no-repeat;
background-position: center center;
background-size: 100% auto;
opacity: 0;
transsition: opacity 100ms ease;
}
input[type="checkbox"]:checked::before{
opacity: 1;
}
input[type="radio"]{
border-radius: 50%;
}
select{
/*-webkit-appearance: none;
-moz-appearance: none;
appearance: none;*/
}
option{
/*padding-top: 5px;
padding-bottom: 5px;*/
}
optgroup::before{
/*padding-top: 10px;
padding-bottom: 5px;*/
}
textarea{
resize: vertical;
padding: 10px;
}
button{
font-family: inherit;
padding: 0;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, select:focus, textarea:focus{
border: 1px solid #67cecc;
}
input:focus, select:focus, textarea:focus, button:focus{
outline: none;
}
label{
display: block;
cursor: pointer;
position: relative;
}





.form .add{
display: flex;
flex-wrap: wrap;
margin: -10px 0 0 -10px;
}
.form .add>label{
width: 100%;
margin: 10px 0 0 10px;
}
.form .add>label:first-child{
max-width: 200px;
}
.form .add>label:nth-child(2){
max-width: 300px;
}





#mfp_hidden{
overflow: hidden;
width: 1px;
height: 0;
}



/*------------------------
ボタン
------------------------*/
.formBtn{
margin-top: 60px;
}
.formBtn ul{
display: flex;
justify-content: center;
align-items: center;
margin: 0 0 0 -20px;
}
.formBtn ul li{
margin-left: 20px;
}
.formBtn ul li button{
position: relative;
display: flex;
justify-content: center;
align-items: center;
width: 200px;
border-style: none;
cursor: pointer;
overflow: hidden;
font-size: 1rem;
line-height: 1.5;
font-weight: 700;
text-align: center;
color: #ffffff;
background-color: #387ebe;
padding: 10px 50px;
border-radius: 100rem;
transition: background 100ms ease, filter 100ms ease, opacity 100ms ease;
}
.formBtn ul li button::before{
content: '';
display: block;
position: absolute;
top: 50%;
right: 15px;
width: 14px;
height: 14px;
background-color: #ffffff;
border-radius: 50%;
transform: translateY(-50%);
background-image: url(../images/arrow_blue.png);
background-repeat: no-repeat;
background-position: center center;
background-size: 8px auto;
}
#formConfirm{
width: 380px;
height: 90px;
font-size: 1.5rem;
padding: 10px 60px;
}
#formConfirm::before{
right: 30px;
width: 24px;
height: 24px;
background-size: 12px auto;
}
#formSend{}
#formReset{}
#formCancel{
background-color: #888888;
}
#formCancel::before{
background-image: url(../images/cancel_gray.png);
}
.formBtn ul li button:hover{}
#formConfirm:hover, #formSend:hover{
background-color: #67cecc;
}
#formReset:hover, #formCancel:hover{
background-color: #b1b1b1;
}
#formConfirm[disabled]{
filter: grayscale(1);
opacity: 0.5;
cursor: default;
}
#formConfirm[disabled]:hover{
background-color: #387ebe;
}

@media screen and (max-width: 999px){
.formBtn{
margin-top: 30px;
}
.formBtn ul{
display: block;
margin: 0;
}
.formBtn ul li{
margin-left: 0;
}
.formBtn ul li+li{
margin-top: 10px;
}
.formBtn ul li button{
width: 100%;
max-width: 240px;
margin: 0 auto;
}
#formConfirm{
width: 100%;
max-width: 380px;
height: 80px;
font-size: min(6vw, 1.5rem);
padding: 10px 50px;
}
#formConfirm::before{
right: 20px;
}
}/*999*/
/*------------------------
／ボタン
------------------------*/



/*------------------------
確認画面
------------------------*/
#mfp_overlay{
position: absolute;
display: none;
z-index: 1001;
}
#mfp_overlay_background{
background-color: #000000;
position: absolute;
display: none;
z-index: 1000;
}
#mfp_overlay_inner{
background-color: #ffffff;
padding: 30px 50px 50px;
margin: 0 auto;
max-width: 800px;
border-radius: 10px;
}
#mfp_overlay_inner .confirm{
text-align: center;
margin-bottom: 1em;
font-size: 1.5rem;
font-weight: 700;
line-height: 1.5;
}
#mfp_confirm_table{}
#mfp_confirm_table tr{}
#mfp_confirm_table tr th{
width: 240px;
border-bottom: 1px dashed #787878;
padding: 20px 0;
text-align: left;
font-weight: 700;
}
#mfp_confirm_table tr td{
border-bottom: 1px dashed #787878;
padding: 20px 0;
}

@media screen and (max-width: 999px){
#mfp_overlay_inner{
padding: 20px 20px 30px;
margin: 0 10px;
}
#mfp_overlay_inner .confirm{
font-size: min(6.5vw, 1.5rem);
}
#mfp_confirm_table tr th{
display: block;
width: auto;
border-bottom: none;
padding: 20px 0 0;
}
#mfp_confirm_table tr td{
display: block;
border-bottom: 1px dashed #787878;
padding: 0 0 20px;
}
}/*999*/
/*------------------------
／確認画面
------------------------*/



/*------------------------
エラー
------------------------*/
.mfp_err{
display: none;
padding-left: 22px;
margin-top: 0.5em;
background-image: url(../images/error.svg);
background-repeat: no-repeat;
background-position: left center;
font-size: 12px;
line-height: 1.5;
color: #c1272d;
background-size: 18px 16px;
}
.problem{
border: 1px solid #c1272d !important;
background-color: #ffe9e9 !important;
}
/*------------------------
／エラー
------------------------*/



/*------------------------
その他
------------------------*/
#mfp_loading_screen{
z-index: 2000;
opacity: 0.8;
display: none;
background-color: #000000;
position: absolute;
}
/*#mfp_loading{
z-index: 2001;
position: absolute;
display: none;
width: 40px;
height: 40px;
background-image: url(../images/contact_loading.gif);
}*/
#mfp_loading_screen::before{
content: '';
display: block;
overflow: visible;
z-index: 2001;
position: absolute;
margin: auto;
left: 0;
top: 0;
bottom: 0;
right: 0;
width: 15px;
height: 15px;
border-radius: 100%;
box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
-o-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
-ms-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
-webkit-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
-moz-box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
animation: cssload-spin ease infinite 2.8s;
-o-animation: cssload-spin ease infinite 2.8s;
-ms-animation: cssload-spin ease infinite 2.8s;
-webkit-animation: cssload-spin ease infinite 2.8s;
-moz-animation: cssload-spin ease infinite 2.8s;
}
@keyframes cssload-spin{
0%,
100%{
box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
}
25%{
box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
}
50%{
box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
}
75%{
box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
}
}

@-o-keyframes cssload-spin{
0%,
100%{
box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
}
25%{
box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
}
50%{
box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
}
75%{
box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
}
}

@-ms-keyframes cssload-spin{
0%,
100%{
box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
}
25%{
box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
}
50%{
box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
}
75%{
box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
}
}

@-webkit-keyframes cssload-spin{
0%,
100%{
box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
}
25%{
box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
}
50%{
box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
}
75%{
box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
}
}

@-moz-keyframes cssload-spin{
0%,
100%{
box-shadow: 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223);
}
25%{
box-shadow: -15px 15px rgb(223,223,223), -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73);
}
50%{
box-shadow: -15px -15px rgb(79,77,73), 15px -15px rgb(223,223,223), 15px 15px rgb(79,77,73), -15px 15px rgb(223,223,223);
}
75%{
box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
}
}
/*------------------------
／その他
------------------------*/