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

/*-- 追随ボタンの制御 --*/

.move_contact{
	display:none;
}

/*----- PAGE-CAPTION -----*/

.page-caption{
	font-size:1.25rem;
	line-height:35px;
	font-weight:bold;
	
	color:#000;
	
	text-align: left;
	margin-bottom:10px;
}

.page-caption br{
	display:none;
}

@media only screen and (min-width: 768px){
	
	.page-caption{
		font-size:1.5rem;
		line-height:40px;
		
		text-align: center;
		margin-bottom:15px;
	}
	
	.page-caption br{
		display:inline;
	}
	
}

@media only screen and (min-width: 1024px){
	
	.page-caption{
		font-size:2.0rem;
		line-height:50px;
		
		margin-bottom:20px;
	}
	
}

/*----- CONTACT_TEL -----*/

.contact_tel{
	width:100%;
	margin:0 auto;
	max-width: 480px;
	
	position: relative;
}

.contact_tel span.lattice{
	display:block;
	
	width:30px;
	height:30px;
	
	position: absolute;
}

.contact_tel span.lattice.top_left{
	top:0;
	left:0;
}

.contact_tel span.lattice.top_right{
	top:0;
	right:0;
	
	transform: rotate(90deg);
}

.contact_tel span.lattice.bottom_left{
	bottom:0;
	left:0;
	
	transform: rotate(-90deg);
}

.contact_tel span.lattice.bottom_right{
	bottom:0;
	right:0;
	
	transform: rotate(180deg);
}

.contact_tel span.lattice::before{
	display:block;
	content:"";
	
	width:100%;
	height:1px;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	left:0;
}

.contact_tel span.lattice::after{
	display:block;
	content:"";
	
	width:1px;
	height:100%;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	left:0;
}

.contact_tel div.inner{
	box-sizing: border-box;
	padding:15px;
	
	font-size:0.8rem;
	line-height:25px;
	
	text-align: center;
}

.contact_tel p.note{
	font-size:1.25rem;
	line-height:40px;
	font-weight:bold;
	
	color:#000;
}

.contact_tel p.number{
	font-size:1.75rem;
	line-height:40px;
	font-weight:bold;
	
	margin-bottom:5px;
	
	color:#0ac;
}

@media only screen and (min-width: 768px){
	
	.contact_tel div.inner{
		padding:20px;
	}
	
	.contact_tel p.note{
		font-size:1.5rem;
		line-height:45px;
	}
	
	.contact_tel p.number{
		font-size:2.0rem;
		line-height:45px;
	}
	
}

/*----- CONTACT_MAILFORM -----*/

.inner-header h3 span{
	padding:0 40px;
}

.inner-header h3 span::before{
	width:30px;
}

.inner-header h3 span::after{
	width:30px;
}

.contact_mailform{
	width:100%;
	
	box-sizing: border-box;
	padding:5px;
	border:solid 5px #f0f0f0;
}

.contact_mailform div.row{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	margin-bottom:5px;
}

.contact_mailform div.row:last-child{
	margin-bottom:0;
}

.contact_mailform div.row div.que{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	padding-left:60px;
	position: relative;
	
	border-bottom:solid 5px #fff;
	
	background-color:#f0f0f0;
	color:#444;
}

.contact_mailform div.row div.que span.stump{
	display:block;
	
	width:45px;
	height:15px;
	
	background-color:#444;
	color:#fff;
	
	font-size:0.6rem;
	line-height:15px;
	font-weight:bold;
	
	text-align: center;
	
	position: absolute;
	top:18.5px;
	left:10px;
}

.contact_mailform div.row div.que span.stump.must{
	background-color:#f44;
}

.contact_mailform div.row div.que span.stump.must::before{
	content:"必須";
}

.contact_mailform div.row div.que span.stump.extra{
	background-color:#48c;
}

.contact_mailform div.row div.que span.stump.extra::before{
	content:"任意";
}

.contact_mailform div.row div.ans{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	color:#444;
}

.contact_mailform div.row div.ans ul{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.contact_mailform div.row div.ans ul li{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	padding-left:35px;
	position: relative;
}

.contact_mailform div.row div.ans ul li input{
	display:none;
}

.contact_mailform div.row div.ans ul li label{
	display:block;
	cursor: pointer;
}

.contact_mailform div.row div.ans ul li label::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#f0f0f0;
	border-radius:30px;
	
	position: absolute;
	top:10px;
	left:0;
}

.contact_mailform div.row div.ans ul li label::after{
	display:none;
	content:"";
	
	width:20px;
	height:20px;
	
	background-color:#0ac;
	border-radius:20px;
	
	position: absolute;
	top:15px;
	left:5px;
}

.contact_mailform div.row div.ans ul li input:checked ~ label::after{
	display:block;
}

input[type="text"]{
	width:100%;
	max-width: 480px;
	
	box-sizing: border-box;
	padding: 10px;
	border:none;
	box-shadow: 0 0 1px #aaa;
	border-radius: 2.5px;
	
	background-color:#fff;
	color:#444;
	
	font-size:0.85rem;
	line-height:25px;
	font-weight:normal;
	
	vertical-align: bottom;
}

input[type="tel"]{
	width:100%;
	max-width: 240px;
	
	box-sizing: border-box;
	padding: 10px;
	border:none;
	box-shadow: 0 0 1px #aaa;
	border-radius: 2.5px;
	
	background-color:#fff;
	color:#444;
	
	font-size:0.85rem;
	line-height:25px;
	font-weight:normal;
	
	vertical-align: bottom;
}

input[type="email"]{
	width:100%;
	max-width: 480px;
	
	box-sizing: border-box;
	padding: 10px;
	border:none;
	box-shadow: 0 0 1px #aaa;
	border-radius: 2.5px;
	
	background-color:#fff;
	color:#444;
	
	font-size:0.85rem;
	line-height:25px;
	font-weight:normal;
	
	vertical-align: bottom;
}

textarea{
	width:100%;
	
	max-width: 480px;
	min-height: 120px;
	
	font-size:0.85rem;
	line-height:25px;
	font-weight:normal;
	
	vertical-align: bottom;
	
	box-sizing: border-box;
	padding: 10px;
	border:none;
	box-shadow: 0 0 1px #aaa;
	
	border-radius: 2.5px;
	outline: none;
	
	background-color:#fff;
	color:#444;
	
	resize: vertical;
	
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.btn_submit{
	width:100%;
	text-align: center;
	
	box-sizing: border-box;
	padding:10px 0;
}

input[type="submit"]{
	display:inline-block;
	width:240px;
	
	transition:0.25s;
	
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	
	border:none;
	border-radius:2.5px;
	
	background-color:#f80;
	color:#fff;
	
	font-size:1.25rem;
	line-height:50px;
	font-weight:bold;
	
	vertical-align: bottom;
}

input[type="submit"]:hover, button:hover{
	opacity: 0.75;
	text-decoration: none;
	
	cursor: pointer;
}

.contact_mailform div.row div.single{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	color:#444;
}

.contact_mailform div.row p.note{
	font-size:0.8rem;
	line-height:25px;
	
	text-align: center;
}

.contact_mailform div.row p.confirm{
	width:100%;
	text-align: center;
}

.contact_mailform div.row p.confirm span{
	display:inline-block;
	width:auto;
	
	box-sizing: border-box;
	padding:10px;
	padding-left:35px;
	position: relative;
}

.contact_mailform div.row p.confirm input{
	display:none;
}

.contact_mailform div.row p.confirm label{
	display:block;
	cursor: pointer;
}

.contact_mailform div.row p.confirm label::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#f0f0f0;
	border-radius:2.5px;
	
	position: absolute;
	top:10px;
	left:0;
}

.contact_mailform div.row p.confirm label::after{
	display:none;
	content:"";
	
	width:20px;
	height:20px;
	
	background-color:#0ac;
	border-radius:2.5px;
	
	position: absolute;
	top:15px;
	left:5px;
	
	background-image: url("../_assets-common/img/icon/fff/icon_check.webp");
	background-repeat: no-repeat;
	background-size:50%;
	background-position: center;
}

.contact_mailform div.row p.confirm input:checked ~ label::after{
	display:block;
}

@media only screen and (min-width: 768px){
	
	.contact_mailform div.row div.que{
		width:240px;
		margin-bottom:0;
		border-bottom:none;
	}
	
	.contact_mailform div.row div.ans{
		width:calc(100% - 240px);
		margin-bottom:0;
		
		border-left:solid 5px #fff;
	}
	
	.contact_mailform div.row div.ans ul li{
		width:auto;
		margin-right:15px;
	}
	
	.contact_mailform div.row p.note br{
		display:none;
	}
	
}

/*-- WPCF7_警告文のスタイル --*/

.wpcf7-not-valid-tip{
	font-size:0.6rem;
	line-height:15px;
	
	color:#f00;
	margin-top:5px;
}

/*-- WPCF7_ラジオボタンのスタイル --*/

.wpcf7_radio_style{
	width:100%;
}

.wpcf7_radio_style span.wpcf7-form-control{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.wpcf7_radio_style span.wpcf7-list-item{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	margin:0;
}

.wpcf7_radio_style span.wpcf7-list-item label{
	display:block;
	width:100%;
	
	cursor: pointer;
}

.wpcf7_radio_style span.wpcf7-list-item input{
	display:none;
}

.wpcf7_radio_style span.wpcf7-list-item-label{
	display:block;
	
	box-sizing: border-box;
	padding-left:40px;
	position: relative;
}

.wpcf7_radio_style span.wpcf7-list-item-label::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#f0f0f0;
	border-radius:30px;
	
	position: absolute;
	top:0;
	left:0;
}

.wpcf7_radio_style span.wpcf7-list-item-label::after{
	display:none;
	content:"";
	
	width:20px;
	height:20px;
	
	background-color:#0ac;
	border-radius:20px;
	
	position: absolute;
	top:5px;
	left:5px;
}

.wpcf7_radio_style span.wpcf7-list-item input:checked ~ span.wpcf7-list-item-label::after{
	display:block;
}

/*-- WPCF7_チェックボックスのスタイル --*/

.wpcf7_checkbox_style{
	width:100%;
}

.wpcf7_checkbox_style span.confirm{
	width:320px!important;
	margin:0 auto;
}

.wpcf7_checkbox_style span.wpcf7-form-control{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.wpcf7_checkbox_style span.wpcf7-list-item{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	margin:0;
}

.wpcf7_checkbox_style span.wpcf7-list-item label{
	display:block;
	width:100%;
	
	cursor: pointer;
}

.wpcf7_checkbox_style span.wpcf7-list-item input{
	display:none;
}

.wpcf7_checkbox_style span.wpcf7-list-item-label{
	display:block;
	
	box-sizing: border-box;
	padding-left:40px;
	position: relative;
}

.wpcf7_checkbox_style span.wpcf7-list-item-label::before{
	display:block;
	content:"";
	
	width:30px;
	height:30px;
	
	background-color:#f0f0f0;
	border-radius:2.5px;
	
	position: absolute;
	top:0;
	left:0;
}

.wpcf7_checkbox_style span.wpcf7-list-item-label::after{
	display:none;
	content:"";
	
	width:20px;
	height:20px;
	
	background-color:#0ac;
	border-radius:2.5px;
	
	position: absolute;
	top:5px;
	left:5px;
	
	background-image: url("../_assets-common/img/icon/fff/icon_check.webp");
	background-repeat: no-repeat;
	background-size:50%;
	background-position: center;
}

.wpcf7_checkbox_style span.wpcf7-list-item input:checked ~ span.wpcf7-list-item-label::after{
	display:block;
}