@charset "utf-8";


/*==========================================

===========================================*/


.entry_txt{
	padding:50px 0 20px;
	width:960px;
	margin:0 auto;
	text-align: center;
	line-height:1.6;
	color:#fff;
}
@media screen and (max-width: 767px){
	.entry_txt{
width:90%;
margin:0 auto;
}
}
/*==========================================

===========================================*/
.contact {
margin: 0 auto 50px;
 padding:0 0 50px 0;
  background: linear-gradient(#356190,#36BCD9);
}
.head_ttl{
	padding:30px 0 50px;
	text-align: center;
	color:#fff;
	font-weight: bold;
	font-size: 20px;
	line-height: 33px;
}
.contact_inner{
 /*width: 78%;*/
 max-width: 1400px;
 margin: 0 auto 50px;
 position:relative;
 background-color: #EBEEF3;
}


@media screen and (max-width: 767px) {
.contact_inner{
 width: 98%;
}
.head_ttl{
	font-size: 18px;
	line-height: 30px;
}
}


input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px white inset;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance:textfield;
}
.content.form{
 width:100%;
 line-height: 1.5;
 font-weight: 500;
 padding: 55px 0 126px;
}
.content.form a{
 color: #000;
 font-size: 1.6rem;
 border-bottom: 1px solid #000;
 transition: .3s;
}

.txt_privacy,
.txt_bottom{
 width: 100%;
 max-width: 1140px;
 text-align: center;
 margin: 80px auto;
 line-height: 2;
 font-size: 2.0rem;
}
.txt_bottom p{
	line-height: 1.8;
}

@media screen and (min-width: 768px) {
.content.form a:hover{
 color: #ffa660;
 border-bottom: 1px solid #ffa660;
}
}
@media screen and (max-width:959px) {
.txt_privacy,
.txt_bottom{
 text-align: left;
 width:96%;
 margin: 50px auto;
 font-size: 18px;
}
.txt_privacy br,
.txt_bottom br{
 display: none;
}
.txt_hurry a{
 max-width: 150px;
 width: 100%;
 display: block;
 margin: 20px auto 0;
 text-align: center;
}
}
@media screen and (max-width:480px) {
.content.form{
 padding: 15px 0 86px;	
}
.txt_privacy, .txt_bottom {
 margin: 30px auto 35px;
}
.txt_privacy p,
.txt_bottom p,
.content.form a{
 font-size: 1.5rem;
}
.txt_privacy{
 margin: 0 auto 55px;
}
.txt_hurry a {
 margin: 10px auto 0;
}
}


/*=====ナビゲーション==========================*/

.rec_cat_nav{
	display: flex;
	justify-content: center;
	padding-top: 50px;
}
.rec_cat_nav p{
	font-weight: bold;
	margin-right:40px;
	display: flex;
	align-items: center;
}
.rec_cat_nav_inner{
	display: flex;
	justify-content: space-between;
}
.rec_cat_nav_inner li{
}
.rec_cat_nav_inner li a{
	display: block;
	transform: skewX(-20deg);
	max-width: 100%;
	min-width:270px;
	padding:8px;
	text-align: center;
	transition:.5s all;
	border:1px solid #000;
	color:#fff;
	margin-right:20px;
	background-color: #000;
}
.rec_cat_nav_inner li a:hover,
.rec_cat_nav_inner li a.current{
	background-color: #fff;
	color:#000;
}
.rec_cat_nav_inner li a.current:hover{
	background-color: #000;
	color:#fff;
}
.rec_cat_nav_inner li a span{
	display: flex;
	transform:skewX(20deg);
	align-items: center;
	justify-content: center;
}

@media screen and (max-width: 767px) {
	.rec_cat_nav{
	display: block;
	width: 100%;
	margin:30px auto 0;
}
.rec_cat_nav p{
	font-weight: bold;
	margin-right:0;
	margin-bottom: 20px;
	text-align: center;
}
.rec_cat_nav_inner{
	display: flex;
	width:90%;
	margin:auto;
	flex-wrap:wrap;
}
.rec_cat_nav_inner li a{
	display: block;
	transform: skewX(-20deg);
	width: 100%;
	padding:5px 10px;
	text-align: center;
	transition:.5s all;
	border:1px solid #000;
	color:#fff;
	margin:10px auto;
	min-width:0;
}
}
@media screen and (min-width:768px) and ( max-width:1107px) {
.rec_cat_nav_inner li a{
	margin-right:10px;
}
.rec_cat_nav p{
	margin-right:20px;
}
}
@media screen and (max-width: 767px) {

}



/*==========================================
 フォーム
===========================================*/
.form_block{
	padding-top: 75px;
}
.form_control_wrap label{
 font-size: 1.6rem;
 /*margin: 0 0 2rem;*/
 display:inline-block;
}
.gray_bg{
 background: #f5f5f5;
}
.form_container{
 max-width: 1000px;
 width:100%;
 margin:0 auto;
 padding: 0;
}

.form_item{
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 align-items: center; 
 /*margin: 0 auto 30px;*/
 border-top:1px solid #ccc;
 background-color: #fff;
 align-items: stretch;
}
.form_item.flex_ai_fs{
  border-bottom:1px solid #ccc;
}
.form_bb{
 /*border-bottom: 1px dotted #c8c8c8;*/
 /*padding:30px 0 0;*/
 width: 100%;
}
.form_label{
 font-size: 1.8rem;
 font-weight: 500;
 display: -webkit-flex;
 display: -moz-flex;
 display: -ms-flex;
 display: -o-flex;
 display: flex;
 padding-top:7px;
 line-height:1.4;
}

.form_head{
	background-color: #D7DFEA;
	padding:24px;
	display:flex;
	flex-basis:29%;
}
.form_head > p{
	flex: 1;
}
.form_req_wrap{
     -ms-flex: 0 0 21%;
    flex: 0 0 21%;
    max-width: 21%;
}
.form_req{
 font-weight: bold;
 color: #fff;
 background: #ec8e26;
 -webkit-border-radius: 2px;
 -moz-border-radius: 2px;
 border-radius: 2px;
 padding: 5px;
 text-align: center;
}
@media all and (-ms-high-contrast: none){
 .form_req{
	padding:8px 5px 5px;
}
}

.form_control_wrap{
 margin: 0;
 padding-left:2%;
 flex: 0 0 66.666667%;
 max-width: 66.666667%;
 display:flex;
 align-items:center;
 background-color: #fff;
}
.form_control_wrap p{
 align-items:center;
 margin:0 1%;
}
.control_flex01{
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
 flex-wrap: wrap;
 align-items: center; 
}
.kentikunen p{
 display: inline-block;
 margin: 0 0% 0 0;
  padding: 0 2% 0 0;
}
.kentikunen .fl_01{
      flex-basis: 23%;
}
.kentikunen .fl_02{
      flex-basis: 31%;
}
.kentikunen .fl_03{
      flex-basis: 46%;
}
.kentikunen span{
 display: inline-block;
padding-right: 2%;
}
.form_control{
 font-family: "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
 display: block;
 width: 60%;
 min-width:380px;
 padding: 1rem 1.5rem;
 font-size: 1.6rem;
 line-height: 1.5;
 color: #495057;
 background-color: #f9f5f1;
 background-image: none;
 background-clip: padding-box;
 border: 1px solid #999;
 transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
 border-radius:6px;
 margin:30px 0;
}
.bg_w{
	background-color: 	#fff;
}

textarea.form_control{
 height: 150px;
 width:81%;
}
.control_01{
 max-width: 223px;
}
.control_02{
 max-width: 120px;
}
@media screen and (max-width: 767px) {
	textarea.form_control{
 height: 150px;
 width:91%;
}
.form_control_wrap{
 margin: 0 0 0 2%;
 flex: 0 0 100%;
 max-width: 100%;
 display:inherit;
 align-items:center;
}
.form_control{
	margin:0;
}
}
/*プレースホルダー*/
::-webkit-input-placeholder {
  color: #aaa;
}
::-moz-placeholder {
  color: #aaa; opacity: 1;
}
:-ms-input-placeholder {
  color: #aaa;
}

.item_radio{
 font-size: 1.6rem;
 margin: 0 3% 0 0;
}
.item_radio input{
 vertical-align: inherit;
}



/*===住所===*/
.addparts01,
.addparts02,
.addparts03{
	display:flex;
	margin:-15px 0;
}
.addparts01{
	margin-top:5px;
}
.addparts03:last-child{
	margin-bottom:5px;
}
.add_txt{
	width:150px;
	display:flex;
	align-items: center;
	position:relative;
}
.add_txt span{
	position:absolute;
	right:0;
}
.addparts01 .form_control{
	min-width:inherit;
	width:60%;
}
.addparts02 .form_control{
	min-width:inherit;
	width:80%;
}
/*=== 送信ボタン ===*/
.btn_submit_wrap{
 max-width: 520px;
 width: 100%;
margin:0 auto 80px;
position:relative;
}
.btn_submit{
 background-color:#415F8F;
	border:1px solid #415f8f;
 width: 500px;
 padding: 3% 0;
 text-align: center;
 border: none;
 margin: 0 auto;
 color: #fff;
 font-size: 2.4rem;
 font-weight: bold;
 letter-spacing: 2rem;
 cursor:pointer;
 transition: .3s;
 outline: none;
 position:relative;
}
.btn_submit:hover{
	color:#000;
	background-color: #fff;
	border:1px solid #000;
}
.btn_submit:hover+i{
	color:#000;
}
.angle{
	color:#fff;
	position:absolute;
	right:50px;
	top:20px;
	color:#fff;
	font-size: 24px;
}
@media screen and (max-width: 767px) {
.addparts01,
.addparts02,
.addparts03{
	display:block;
}
.addparts01 p{
	margin-top: 20px;
}
.add_txt{
	width:80%;
	display:block;
	margin-left:20px!important;
}
.addparts01 .form_control{
	min-width:inherit;
	width:60%;
	margin-top: 5px;
	margin-left:50px;
	margin-bottom: 50px;
}
.addparts02 .form_control{
	min-width:inherit;
	width:80%;
	margin-top: 5px;
	margin-bottom: 50px;
}
.addparts03 .form_control{
	margin-top: 5px;
	margin-bottom: 50px;
}
.add_txt span{
	position:absolute;
	left:0px;
	bottom:-40px;
}
.btn_submit_wrap{
 max-width: 96%;
 width: 100%;
margin:0 auto 50px;
position:relative;
text-align: center;

}
.btn_submit{
	width:90%;
	margin:30px auto;
}
.angle{
	top:47px;
}
}

@media screen and (min-width: 768px) {
}
@media screen and (min-width: 960px){
.form_item.flex_ai_fs{
 align-items: stretch;
}	
}
@media screen and (min-width: 960px) and (max-width:1099px) {
.control_02{
 max-width: 80px;
}
}
@media screen and (min-width: 960px) and (max-width:1139px){
/*.form_label {
 -ms-flex: 0 0 34%;
 flex: 0 0 34%;
 max-width: 34%;
 padding: 0 0 0 2%;
}
.form_req_wrap {
 -ms-flex: 0 0 7.333333%;
 flex: 0 0 7.333333%;
 max-width: 7.333333%;
}
.form_req{
padding: 2px 2%;
}
.form_control_wrap {
 flex: 0 0 56.666667%;
 max-width: 56.666667%;
}*/
}
@media screen and (max-width:959px) {
.form_head{
	flex-basis:100%;
}
.form_item{
 margin: 0 auto;
}
.form_label {
 font-size: 1.8rem;
 font-weight: 500;
 -ms-flex: 0 0 75%;
 flex: 0 0 75%;
 max-width: 75%;
 padding: 0 20px;
}
.form_control_wrap{
 width: 100%;
 flex: auto;
 max-width: 100%;
padding:30px 0;
}
.form_req_wrap {
 -ms-flex: 0 0 20%;
 flex: 0 0 20%;
 max-width: 20%;
}
.form_bb {
 padding: 20px 0 0;
 margin: 0 auto 30px;
}
.form_control{
margin-left:10px;
width:90%;
min-width:0;
}
}
@media screen and (max-width:767px) {
.form_label{
 font-size:1.6rem;
}
.form_control_wrap .control_02:not(:last-child){
 margin: 0 0 30px;
}
.form_control_wrap .control_02 + p{
 margin: 0 2% 30px;
}
.control_02{
 max-width: 100%;
}
.kentikunen .fl_01{
      flex-basis: 100%;
}
.kentikunen .fl_02{
      flex-basis: 100%;
}
.kentikunen .fl_03{
      flex-basis: 100%;
}
.kentikunen span {
  max-width: 50%;
  margin-bottom: 8px;
}
}
@media screen and (max-width: 480px) {
.btn_submit_wrap {
 margin: 15px auto 0;
}
.btn_submit {
 padding: 4% 0 7%;
 font-size: 2.1rem;
}
}
@media screen and (max-width: 380px) {
.btn_submit {
 font-size: 1.8rem;
}
}
/*=== geomark ===*/
.mark_geo{
	display: block;
	/*width:100%;*/
	text-align: center;
	margin-bottom: 50px;
	padding-bottom:50px;
}
.mark_geo table{
margin:0 auto;
}

/*=== 電話での問い合わせ ===*/
.tel_contact p{
	color:#fff;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	margin: 50px auto;
	padding-bottom:60px;
	line-height: 1.6;
}
.form_tel{
	font-size: 24px;
	font-weight: bold;
}
.form_tel i{
	margin-right:3px;
}
.tel{
	font-weight: bold;
}
.form_tel_cap{
	font-size: 16px;
	font-weight: 500;
}

/*==誕生日==*/
.form_birth_wrap{
	display:flex;
	align-items: center;
}
.form_birth_wrap .form_control{
	min-width:0;
	width:100px;
	margin:0 10px;
}


.tel_txt{
	position:relative;
}
.tel_cap{
	position:absolute;
	width:250px;
	top:30px;
}

.short{
	min-width:0;
	width:270px;
}
.short02{
	min-width:0;
	width:100px;
}

.radio_al{
	margin-top:30px;
	display: flex;
	flex-direction:column;
}
@media all and (-ms-high-contrast:none){
	.radio_al span{
		min-height:0%;
	}
}
.radio_al label{
 display: block;
 margin-bottom: 10px;
}


.wpcf7-form-control-wrap.other{
	display: block;
	width: 100%;
	margin-top: -20px;
}
@media screen and (max-width: 767px) {
	.wpcf7-form-control-wrap.other{
	margin-top: 10px;
}
}