@charset "utf-8";

/*▼▼▼あとから変更予定範囲▼▼▼*/
body{
	width: 100%;
	margin: 0 auto;
	font-size: 16px;
	font-family: "Helvetica Neue",
	Arial,
	"Hiragino Kaku Gothic ProN",
	"Hiragino Sans",
	Meiryo,
	sans-serif;
	}
ul,
ul li,
p,
dl,dl dt,dl dd{
	margin: 0;
	padding: 0;
	}
h1,h2,h3,h4,h5,h6{
	margin: 0;
	padding: 0;
	font-weight: normal;
	font-size: 1rem;
	}

header,
footer{
	text-align: center;
	padding: 3rem;
	}

/*▲▲▲あとから変更予定範囲▲▲▲*/

/*base*/
#entry_form{
	max-width: 1100px;
	width: 80vw;
	margin: 0 auto;
	color: #252525;
	}
#entry_form ul{
	margin-left: 1rem;
	}
.base_gray{
	padding: 5rem 6rem;
	border-radius: 20px;
	background: #e5e5e5;
	}
.block_line,
.block_white{
	padding: 2.5rem 4rem;
	border-radius: 15px;
	margin: 0 0 2rem 0;
	}
.block_line{
	border: 2px solid #ffffff;
	}
.block_white{
	background: #ffffff;
	}
.block_white_inner{
	padding: 0 2rem;
	}
.block_white_inner p{
	margin-bottom: 1.5rem;
	}
.block_white_inner ul{
	margin-bottom: 1.5rem;
	}
.p_single{
	margin-bottom: 2rem;
	}
.holiday{
	color: #e55858;
	}

	@media screen and (min-width:501px) and (max-width:1024px) {
		.base_gray{
			padding: 4rem;
			}
		.block_line,
		.block_white{
			padding: 2.5rem;
			}
		.block_white_inner{
			padding: 0 1rem;
			}
		}


	@media screen and (max-width:500px) {
		#entry_form{
			width: 90vw;
			}
		.base_gray{
			padding: 2rem 1.5rem;
			}
		.block_line,
		.block_white{
			padding: 1.5rem 1.5rem;
			}
		.block_white_inner{
			padding: 0 .8rem;
			}
		.p_single{
			margin-bottom: 1rem;
			}
		}

/*見出し*/
#entry_form h2{
	font-size: 3.5rem;
	font-weight: bold;
	color: #192e49;
	letter-spacing: .3rem;
	margin-bottom: .5rem;
	font-family: "NewRodinPro-DB";
	text-decoration: none;
	}
#entry_form h2 span{
	font-size: 1rem;
	display: inline-block;
	margin-left: 1.5rem;
	}
#entry_form h3{
	border-left: 5px solid #5db3c7;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 2rem;
	font-family: "NewRodinPro-DB";
	text-decoration: none;
	}
#entry_form h3 span{
	display: block;
	border-bottom: 1px solid #5db3c7;
	padding: .3rem 0 .3rem 0;
	margin-left: .8rem;
	color: #5db3c7;
	}

	@media screen and (max-width:500px) {
		#entry_form h2{
			font-size: 2rem;
			}
		#entry_form h2 span{
			font-size: .8rem;
			margin-left: 0;
			display: block;
			}
		}

/*問い合わせフロー*/
.flow{
	list-style: none;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 3rem;
	color: #192e49;
	font-weight: bold;
	font-size: 1.2rem;
	font-family: "NewRodinPro-DB";
	text-decoration: none;
	}
.flow .current span{
	border-bottom: 3px solid #5db3c7;
	color: #5db3c7;
	}
.flow li::after{
	content: '';
	border-top: 2px solid #a9afb7;
	width: 3.5rem;
	height: .3rem;
	display: inline-block;
	margin: 0 3rem;
	}
.flow li:last-child::after{
	display: none;
	}

	@media screen and (min-width:931px) and (max-width:1240px) {
		.flow li::after{
			width: 1.5rem;
			height: .3rem;
			margin: 0 2.5rem;
			}
		}
	@media screen and (max-width:930px) {
		.flow li::after{
			width: .5rem;
			height: .3rem;
			margin: 0 .5rem;
			}
		#entry_form ul.flow{
			margin: 0 0 2rem 0;
			}
		}

/*ボタン*/
.block_btn{
	text-align: center;
	margin-top: .8rem;
    width: 400px;
    margin: 0 auto;
	}
.block_btn .btn_return,
.block_btn .btn_blue,
.block_btn .btn_gray,
.btn_s_navy{
	display: block;
	width: 100%;
	box-sizing: border-box;
	letter-spacing: 0.1em;
	color: #fff;
	border-radius: 10px;
	text-decoration: none;
	transition: all 0.3s ease;
	}
.block_btn .btn_return,
.block_btn .btn_blue,
.block_btn .btn_gray{
	font-weight: bold;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	border: none;
	outline: none;
	box-shadow: .2rem .4rem 0 #1e2f4a;
	padding: 1rem 5rem;
	margin-top: 2rem;
	}
.block_btn .btn_return {
	background: #ddf4f9;
	color: #010101;
}
.block_btn .btn_blue{
	background: #5db3c7;
	}
.block_btn .btn_gray{
	background: #c1c1c1;
	}
.block_btn .btn_return:hover,
.block_btn .btn_blue:hover,
.block_btn .btn_gray:hover{
	animation: gradient 10s ease infinite;
	box-shadow: 0 0 0 #1e2f4a;
	cursor: pointer;
	}
@keyframes gradient{
	background-position: 100% 0;
	}
.btn_s_navy{
	font-weight: normal;
	font-size: .8rem;
	padding: 1rem;
	background: #192e49;
	}
.btn_s_navy img{
	vertical-align: middle;
	width: 15px;
	height: auto;
	margin-left: .5rem;
	}
.btn_s_navy:hover{
	opacity: 0.5 ;
	}

	@media screen and (max-width:500px) {
		.block_btn .btn_blue,
		.block_btn .btn_gray{
			font-size: 1rem;
			padding: .8rem 1rem;
			}
		.block_btn{
			width: auto;
			}
		}

/*問い合わせの前に*/
.block_faq{
	padding-left: 1rem;
	}
#entry_form .block_faq ul{
	margin: 0 0 2rem 0;
	list-style: none;
	}
#entry_form .block_faq ul li{
	margin-bottom: 2rem;
	}
.block_faq .faq-label{
	margin-bottom: .5rem;
	}
.block_faq .faq-label,
.block_faq .faq-content{
	display: flex;
	}
.block_faq .faq-label::before,
.block_faq .faq-content::before{
	width: 2rem;
	}
.block_faq .faq-label::before{
	content: 'Q :';
	}
.block_faq .faq-content::before{
	content: 'A :';
	}
.faq-check{
	display: none;
	}

	@media screen and (min-width:501px) and (max-width:1024px) {
		.block_faq .faq-label::before,
		.block_faq .faq-content::before{
			width: 3rem;
			}
		}
	@media screen and (max-width:767px){
		#entry_form .block_faq ul li{
			margin-bottom: .8rem;
			}
		.faq-label{
			display: block;
			}
		.faq-content{
			height: 0;
			opacity: 0;
			transition: .5s;
			visibility: hidden;
			}
		.faq-check:checked + .faq-label + .faq-content{
			height: auto;
			display: block;
			opacity: 1;
			visibility: visible;
			border-radius: 10px;
			background: #e5e5e5;
			padding: 1rem;
			}
		}

	@media screen and (max-width:500px) {
		.block_faq{
			padding-left: 0;
			}
		.block_faq .faq-label::before,
		.block_faq .faq-content::before{
			width: 6rem;
			}
		}

/*入力ページ*/
.block_form{
	margin-bottom: 2rem;
	}
.block_form p{
	margin-bottom: 1rem;
	}
.block_form dl{
	display: flex;
	margin-bottom: 2rem;
	}
.block_form dl dt{	
	width: 45vw;
	}
.block_form dl dd{
	width: 55vw;
	}
.block_form dl dt span{
	display: inline-block;
	color: #5db3c7;
	margin-left: .8rem;
	}
.block_form label{
	display: flex;
	align-items: center;
	}

	@media screen and (max-width:767px) {
		.block_form dl dt{	
			width: auto;
			}
		.block_form dl dd{
			width: auto;
			}
		.block_form dl{
			flex-direction: column;
			}
		.block_form dl dt{
			margin-bottom: .8rem;
			}
		.block_form dl dt span{
			/*margin-left: 0;*/
			}
		}

/*ラジオボタン*/
.block_form .form_radio dt span{
	margin-left: 0;
	}
.form_radio label{
	margin-bottom: .8rem;
	display: flex;
	}
input[type="radio"]{
	margin: 0 .5rem 0 0;
	}

/*プルダウン*/
.form_select dd div{
	border-radius: 7px;
	padding: .4rem;
	background: #ededed;
	border: none;
	box-sizing: border-box;
	overflow: hidden;
	text-align: center;
	position: relative;
	}
.form_select dd div::before{
	position: absolute;
	top: 1.1rem;
	right: 1rem;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 8px solid #666666;
	pointer-events: none;
	}
.form_select select{
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	padding: 8px 38px 8px 8px;
	/*color: #666666;*/
	}
.form_select select::-ms-expand{
	display: none;
	}
option{
	background: #fff;
	}
	
/*テキスト入力*/
.block_form input[type="text"] ,
.block_form input[type="email"] ,
textarea{
	border-radius: 7px;
	padding: .8rem;
	background: #ededed;
	border: none;
	box-sizing: border-box;
	display: block;
	outline: none;
	}
.block_form input[type="email"]{
	width: 80%;
	}
textarea{
	width: 100%;
	}

	@media screen and (min-width:768px) {
		.block_form.text_form dl{
			align-items: center;
			}
		}

	@media screen and (max-width:500px) {
		.block_form input[type="text"],
		.block_form input[type="email"]{
			width: 100%;
			}
		}

/*チェックボックス*/
.block_form .check{
	justify-content: center;
	margin-top: 2rem;
	}
.block_form .check input{
	margin: 0 .8rem 0 0;
	}

/*エラー表示*/
.block_form .error{
	color: #e55858;
	margin-bottom: .4rem;
	}
