/*--------------------------------------------------------*/

/*  メールフォーム　*/

/*--------------------------------------------------------*/

@media print, screen and (min-width: 768px){

#formBox{
	max-width:1000px;
	margin:40px auto 0;
	padding:0 20px;
}

#formBox .formBox_inner{
	background: #FFF;
	box-sizing: border-box;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
	padding-bottom:60px;
}

#formBox .formBox_inner .form_titBox{
	background:#211763;
	padding:2px;
}

#formBox .formBox_inner .form_titBox .form_titBox_inner{
	border:1px solid #FFF;
	padding:24px 10px;
}

#formBox .formBox_inner .form_titBox h2.form_tit_name{
	text-align:center;
	font-size:20px;
	color:#FFF;
	font-weight:600;
	line-height:1.6em;
	letter-spacing:0.1em;
	font-feature-settings : "palt";
}

#formBox .formBox_inner .form_titBox h2.form_tit_name br{
	display:none;
}

#formBox .formBox_inner p.form_message{
	margin:40px 0;
	text-align:center;
	font-size:15px;
	color:#555;
	font-weight:400;
	line-height:1.6em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
}

#formBox .formBox_inner p.form_message br{
	display:none;
}

form{
}

#formBox dl.contact_form {
	padding: 0 80px;
	display: grid;
	grid-template-columns: 200px 1fr;
	row-gap: 28px; /* 上下の間隔 */
}

#formBox dl.contact_form dt {
	font-size:17px;
	color:#222;
	font-weight:500;
	line-height:1.6em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
}

#formBox dl.contact_form dd {
	font-size:16px;
	color:#222;
	font-weight:400;
	line-height:1.6em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
}

#formBox dl.contact_form dd ul.list01{
}

#formBox dl.contact_form dd ul.list01 li{
	margin-bottom:9px;
}

#formBox dl.contact_form dd ul.list01 li:last-child{
	margin-bottom:0;
}

#formBox dl.contact_form dd ul.list02{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#formBox dl.contact_form dd ul.list02 li{
	width:50%;
	margin-bottom:8px;
}

#formBox dl.contact_form dd ul.list02 li:last-child{
	margin-bottom:0;
}

#formBox p.policy_txt{
	margin-bottom:10px;
}

#formBox p.policy_txt a{
	color:#2477B8;
}

}

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

#formBox{
	margin-top:32px;
	padding:0 10px;
	background: #FFF;
}

#formBox .formBox_inner{
	box-sizing: border-box;
	padding: 0 0 45px;
	border:1px solid #EEE;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}

#formBox .formBox_inner .form_titBox{
	background:#211763;
	padding:2px;
}

#formBox .formBox_inner .form_titBox .form_titBox_inner{
	border:1px solid #FFF;
	padding:15px 10px;
}

#formBox .formBox_inner .form_titBox h2.form_tit_name{
	text-align:center;
	font-size:17px;
	color:#FFF;
	font-weight:600;
	line-height:1.6em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
}

#formBox .formBox_inner p.form_message{
	padding:22px 0;
	background: #FFF;
	text-align:center;
	font-size:12px;
	color:#555;
	font-weight:400;
	line-height:1.6em;
	letter-spacing:0.07em;
	font-feature-settings : "palt";
}

#formBox dl.contact_form {
	padding: 0 20px;
}

#formBox dl.contact_form dt {
	font-size:15px;
	color:#222;
	font-weight:500;
	line-height:1.6em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
	margin-bottom:8px;
}

#formBox dl.contact_form dd {
	font-size:15px;
	color:#222;
	font-weight:500;
	line-height:1.6em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
	margin-bottom:28px;
}

#formBox dl.contact_form dt br{
	display:none;
}

#formBox dl.contact_form dd ul{
	padding-top:6px;
}

#formBox dl.contact_form dd ul li{
	margin-bottom:10px;
}

#formBox dl.contact_form dd ul li:last-child{
}

#formBox dl.contact_form dd ul.list02{
}

#formBox dl.contact_form dd ul.list02 li{
	margin-bottom:10px;
}

#formBox dl.contact_form dd ul.list02 li:last-child{
	margin-bottom:0;
}

#formBox p.policy_txt{
	margin-bottom:10px;
}

#formBox p.policy_txt a{
	color:#2477B8;
}

}

/*--------------------------------------------------------*/

/*  入力覧　*/

/*--------------------------------------------------------*/

@media print, screen and (min-width: 768px){

input{
	font-size:16px;
	font-weight:400;
	line-height:1.6em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
	padding:10px;
	border:1px solid #BBB;
	color:#222;
	border-radius: 8px;
}

input.inp[type="text"] {
	width:100%;
}

input.inp2[type="text"] {
	width:100%;
}

input.telphone[type="tel"] {
	width:100%;
}

input[type="email"] {
	width:100%;
}

textarea{
	width:100%;
	font-size:16px;
	font-weight:400;
	line-height:1.6em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
	padding:10px;
	border:1px solid #BBB;
	color:#222;
	border-radius: 8px;
}

select {
	width:50%;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6em;
	letter-spacing: 0.08em;
	font-feature-settings: "palt";
	padding:10px;
	border: 1px solid #BBB;
	color: #222;
	background: #fff;
	border-radius: 8px;
	box-sizing: border-box;
}

}

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

input{
	font-size:14px;
	font-weight:400;
	line-height:1.6em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
	padding:10px;
	border:1px solid #BBB;
	color:#222;
	border-radius: 8px;
}

input.inp[type="text"] {
	width:95%;
}

input.inp2[type="text"] {
	width:95%;
}

input.telphone[type="tel"] {
	width:95%;
}

input[type="email"] {
	width:95%;
}

textarea{
	width:95%;
	font-size:14px;
	font-weight:400;
	line-height:1.6em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
	padding:10px;
	border:1px solid #BBB;
	color:#222;
	border-radius: 8px;
}

select {
	width:50%;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6em;
	letter-spacing: 0.08em;
	font-feature-settings: "palt";
	padding:10px;
	border: 1px solid #BBB;
	color: #222;
	background: #fff;
	border-radius: 8px;
	box-sizing: border-box;
}

select {
	width:95%;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6em;
	letter-spacing: 0.08em;
	font-feature-settings: "palt";
	padding:10px;
	border: 1px solid #BBB;
	color: #222;
	background: #fff;
	border-radius: 8px;
	box-sizing: border-box;
}

}

/*--------------------------------------------------------*/

/*  チェックボックス　*/

/*--------------------------------------------------------*/

@media print, screen and (min-width: 768px){

.form_check {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6em;
	letter-spacing: 0.08em;
	font-feature-settings: "palt";
	color: #222;
	cursor: pointer;
}

.form_check input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	flex-shrink: 0;
	accent-color: #2477B8;
	cursor: pointer;
}

}

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

.form_check {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6em;
	letter-spacing: 0.08em;
	font-feature-settings: "palt";
	color: #222;
	cursor: pointer;
}

.form_check input[type="checkbox"] {
	width: 15px;
	height: 15px;
	margin: 0;
	flex-shrink: 0;
	accent-color: #2477B8;
	cursor: pointer;
}

}

/*--------------------------------------------------------*/

/*  ラジオボタン　*/

/*--------------------------------------------------------*/

@media print, screen and (min-width: 768px){

.form_radio {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6em;
	letter-spacing: 0.08em;
	font-feature-settings: "palt";
	color: #222;
	cursor: pointer;
}

.form_radio input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0;
	flex-shrink: 0;
	accent-color: #2477B8;
	cursor: pointer;
	transform: scale(1.08);
}

}

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

.form_radio {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6em;
	letter-spacing: 0.08em;
	font-feature-settings: "palt";
	color: #222;
	cursor: pointer;
}

.form_radio input[type="radio"] {
	width: 15px;
	height: 15px;
	margin: 0;
	flex-shrink: 0;
	accent-color: #2477B8;
	cursor: pointer;
	transform: scale(1.08);
}

}

/*--------------------------------------------------------*/

/*  送信ボタン　*/

/*--------------------------------------------------------*/

@media print, screen and (min-width: 768px){

.formbtBox{
	margin-top:50px;
}

.formbtBox .form_bt{
	width:450px;
	margin-left:auto;
	margin-right:auto;
}

input[type="button"],
input[type="submit"] {
	cursor:pointer;
	width: 100%;
	padding:28px 0 32px;
	border-radius: 18px;
	border:none;
	background: #2d7fbc;
	color: #FFF;
	text-decoration: none;
	font-size: 24px;
	line-height: 1;
	letter-spacing:0.12em;
	font-feature-settings : "palt";
	font-weight: 700;
	transition: opacity .25s ease;
}

input[type="button"]:hover,
input[type="submit"]:hover {
	/* マウスが載ったとき */
	opacity: 0.8;
}

}

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

.formbtBox{
	margin-top:40px;
}

.formbtBox .form_bt{
	padding:0 20px;
}

input[type="button"],
input[type="submit"] {
	cursor:pointer;
	width: 100%;
	padding:28px 0 32px;
	border-radius: 18px;
	border:none;
	background: #2d7fbc;
	color: #FFF;
	text-decoration: none;
	font-size: 20px;
	line-height: 1;
	letter-spacing:0.12em;
	font-feature-settings : "palt";
	font-weight: 700;
	transition: opacity .25s ease;
}

input[type="button"]:hover,
input[type="submit"]:hover {
	/* マウスが載ったとき */
	opacity: 0.8;
}

}

/*--------------------------------------------------------*/

/*  プライバシーポリシー　*/

/*--------------------------------------------------------*/

@media print, screen and (min-width: 768px){

#policyBox{
	margin-top:60px;
}

#policyBox .inner{
	padding:25px;
	border:1px solid #EEE;
}

#policyBox .inner h3.policy_tit{
	font-family: var(--font_title);
	font-size:13px;
	font-weight:400;
	color:#666;
	line-height:1.6em;
	letter-spacing:0.1em;
	font-feature-settings : "palt";
	margin-bottom:8px;
}

#policyBox .inner h3.policy_tit span{
	margin-right:3px;
	font-size:10px;
	color:#DDD;
}

#policyBox .inner p.policy_txt{
	font-family: var(--font_txt);
	font-size:12px;
	font-weight:400;
	color: var(--text_color);
	line-height:2.0em;
	letter-spacing:0.08em;
	font-feature-settings : "palt";
	text-align: justify;
}

}

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

#policyBox{
	margin-top:60px;
}

#policyBox .inner{
	padding:15px;
	border:1px solid #EEE;
}

#policyBox .inner h3.policy_tit{
	font-family: var(--font_title);
	font-size:12px;
	font-weight:400;
	color:#666;
	line-height:1.6em;
	letter-spacing:0.1em;
	font-feature-settings : "palt";
	margin-bottom:8px;
}

#policyBox .inner h3.policy_tit span{
	margin-right:3px;
	font-size:10px;
	color:#DDD;
}

#policyBox .inner p.policy_txt{
	font-family: var(--font_txt);
	font-size:10px;
	font-weight:400;
	color: var(--text_color);
	line-height:1.7em;
	letter-spacing:0.1em;
	font-feature-settings : "palt";
	text-align: justify;
}

}