@charset "UTF-8";
/*============================================ Base ============================================*/
/*Reset-----------------*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,ins,kbd,
q,samp,small,strong,sub,sup,var,b,i,a,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,
thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,
mark,audio,video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; font-weight: normal; }
img { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: bottom; background: transparent; }
/* HTML5 display-role reset for older browsers */
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display: block; }
ol,ul { list-style: none; }
blockquote,q { quotes: none; }
blockquote:before,blockquote:after,
q:before,q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
ol,ul { list-style: none; }

/*Base-----------------*/
*,:before,:after { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }
html { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; height: 100%; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; text-size-adjust: 100%; }

body { height: 100%; text-rendering: optimizeLegibility;
		font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	 line-height: 1.6; }
img { max-width: 100%; height: auto; vertical-align: bottom; }
a { text-decoration: none; color: #373737; transition: all 0.3s;}

/*============================================ Common ============================================*/
/*header-------*/
#header .container{
	position: relative;
}
.head_wrap .head_menu .btn_mail a{
	display: inline-block;
	vertical-align: middle;
	background: #f39700;
	color: #FFF;
}
.head_wrap .head_menu li{
	display: inline-block;
	vertical-align: middle;
}
@media screen and (min-width: 737px){
	.main_v{
		background: url(../img/bg_mv.jpg) no-repeat;
		background-size: 100%;
		padding: 1px 0;
	}
	.logo_main_v{
		width: 34%;
		margin: 10% 0 10% 10%;
	}
	.head_wrap{
		width: 94%;
		max-width: 1100px;
		height: 80px;
		margin: 0 auto;
		overflow: hidden;
		background: #FFF;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.head_wrap .header_logo{
		margin-left: 2%;
	}
	.head_wrap .head_menu .btn_mail{
		margin-left: 20px;
	}
	.head_wrap .head_menu .btn_mail a{
		height: 80px;
		padding: 0 30px;
		line-height: 80px;
	}
	.head_wrap .head_menu .btn_mail a img{
		margin-right: 13px;
		vertical-align: middle;
	}
	.head_wrap .head_menu .btn_mail a:hover{
		background: #8fc31f;
	}
}
@media screen and (max-width: 736px){
	.header_container{
		display: flex;
		flex-direction: column-reverse;
	}
	.logo_main_v{
		width: 38%;
		margin: 15% 0 15% 5%;
	}
	.main_v{
		background: url(../img/bg_mv_sp.jpg) no-repeat;
		background-size: cover;
		padding: 1px 0;
		margin-top: 40px;
	}
	.head_wrap{
		width: 100%;
		height: 44px;
		background: #FFF;
		position: fixed;
		overflow: hidden;
		z-index: 100;
		top: 0;
		left: 0;
	}
	.form_page .head_wrap{
		position: static;
	}
	.head_wrap .header_logo{
		width: 36%;
		float: left;
		margin: 2.5% 0 0 3%;
	}
	.head_wrap .head_menu{
		width: 60%;
		float: right;
		text-align: right;
	}
	.head_wrap .head_menu .btn_tel{
		max-width: 110px;
	}
	.head_wrap .head_menu .btn_tel img{
		vertical-align: middle;
	}
	.head_wrap .head_menu .btn_mail{
		margin-left: 10px;
	}
	.head_wrap .head_menu .btn_mail img{
		display: block;
		width: 14px;
		margin: 9px auto 5px;
	}
	.head_wrap .head_menu .btn_mail a{
		height: 44px;
		padding: 0 10px;
		font-size: 9px;
		font-weight: bold;
	}
}

/*footer-------*/
.footer {
	text-align: center;
}
@media screen and (min-width: 737px){
	.footer{
		font-size: 13px;
		padding: 30px 0 25px;
	}
	.footer .logo_footer{
		margin: 40px  0 30px;
	}
	.footer .copyright{
		margin-bottom: 10px;
	}
	.footer p a:hover{
		text-decoration: underline;
	}
}
@media screen and (max-width: 736px){
	.footer {
		font-size: 10px;
		padding: 20px 0 15px;
		background: #FFF;
	}
	.footer .logo_footer{
		margin: 0 auto 15px;
		max-width: 100px;
	}
	.footer .copyright{
		margin-bottom: 5px;
	}
}

/*============================================ Main ============================================*/
/*STYLE-------*/
.txt_blue{
	color: #2481bc;
}
.font_km{
	color: #2481bc;
	font-family: 'Kosugi Maru', sans-serif;
}
.align_center{
	text-align: center;
}
.container {
	margin: 0 auto;
	background: #FFF;
	padding: 1px 0;
	box-sizing: border-box;
}
.content_inner{
	margin: 0 auto;
}
.container h2{
	text-align: center;
}
.container h3{
	text-align: center;
	background: #dfecf5;
}
.container .lead_tit{
	text-align: center;
}
@media screen and (min-width: 737px){
	.main{
		background: url(../img/bg_body.jpg) center top no-repeat fixed;
		background-size: 100% 100%;
		padding: 50px 0 90px;
	}
	.container {
		max-width: 1040px;
		width: 90%;
		padding: 30px 5% 60px;
	}
	.container h2{
		font-size: 40px;
		margin: 0 0 50px;
	}
	.container h3{
		font-size: 40px;
		margin: 30px 0 50px;
		padding: 20px 0;
	}
	.container .lead_tit{
		font-size: 22px;
		margin-bottom: 30px;
	}
	.container .lead_txt{
		font-size: 16px;
		max-width: 700px;
		margin: 0 auto 30px;
	}
	.pc_none{
		display: none;
	}
	.btn_link:hover{
		background: #4ad93e;
	}
	a[href^="tel:"]{
	pointer-events: none;
	}
}
@media screen and (max-width: 736px){
	.main{
		padding: 20px 0 40px;
	}
	.main:before{
	  content:"";
	  display:block;
	  position:fixed;
	  top:0;
	  left:0;
	  z-index:-1;
	  width:100%;
	  height:100vh;
	  background: url(../img/bg_body_sp.jpg) center top no-repeat;
	  background-size:cover;
	}
	.container {
		width: 94%;
		padding: 25px 4% 15px;
	}
	.container h2{
		font-size: 20px;
		margin: 0 0 15px;
	}
	.container h3{
		font-size: 20px;
		margin: 0 0 25px;
		padding: 10px 0;
	}
	.container .lead_tit{
		font-size: 15px;
		margin-bottom: 15px;
	}
	.container .lead_txt{
		font-size: 14px;
		margin: 0 auto 15px;
	}
	.sp_none{
		display: none;
	}
}

/*about-------*/
@media screen and (min-width: 737px){
	#about .content_inner{
		max-width: 710px;
		width: 90%;
	}
	#about .content_inner .txt{
		max-width: 680px;
		margin: 30px auto 0;
	}
}
@media screen and (max-width: 736px){
	#about .content_inner{
		width: 94%;
	}
	#about .content_inner .txt{
		margin: 15px auto 0;
		font-size: 14px;
	}
}

/*訪問可能の流れ-------*/
#flow .list_flow li{
	background: #f9f9f9;
}
#flow .list_flow li .num{
	background: #f39700;
	border-radius: 50%;
	color: #FFF;
	text-align: center;
	display: inline-block;
}
#flow .list_flow li .tit{
	font-weight: 700;
}
@media screen and (min-width: 737px){
	#flow .content_inner{
		max-width: 890px;
		width: 94%;
	}
	#flow .list_flow li{
		display: flex;
		align-items: center;
		padding: 5% 10%;
		margin-bottom: 15px;
	}
	#flow .list_flow li .icon{
		width: 20%;
	}
	#flow .list_flow li .icon img{
		max-width: 130px;
	}
	#flow .list_flow li h4{
		margin-bottom: 15px;
	}
	#flow .list_flow li .list_flow_content{
		margin-left: 6%;
		width: 74%;
	}
	#flow .list_flow li .num{
		width: 37px;
		height: 37px;
		line-height: 37px;
		font-size: 20px;
		margin-right: 15px;
	}
	#flow .list_flow li .tit{
		font-size: 26px;
	}
}
	@media screen and (max-width: 736px){
	#flow .list_flow li{
		padding: 4% 6%;
		margin-bottom: 12px;
	}
	#flow .list_flow li .icon{
		max-width: 57px;
		margin: 10px auto;
	}
	#flow .list_flow li h4{
		margin-bottom: 10px;
		font-size: 16px;
	}
	#flow .list_flow li .list_flow_content p{
		font-size: 14px;
	}
	#flow .list_flow li .num{
		width: 20px;
		height: 20px;
		line-height: 21px;
		font-size: 12px;
		margin-right: 10px;
		vertical-align: middle;
	}
	#flow .list_flow li .tit{
		vertical-align: middle;
	}
}

/*訪問可能エリア-------*/
#area .content_inner{
	width: 90%;
}
@media screen and (min-width: 737px){
	#area .content_inner{
		max-width: 746px;
	}
}

/*費用について-------*/
#price .content_inner{
	max-width: 746px;
	width: 90%;
}
.list_price{
	text-align: center;
}
.list_price p,
.list_price td{
	color: #FFF;
}
.list_price .price01 p{
	background: #80ccdf;
}
.list_price .price02 td{
	background: #f2b43d;
	vertical-align: middle;
}
.list_price h4{
	font-weight: bold;
}
.list_price .price01 h4{
	color: #80ccdf;
}
.list_price .price02 h4{
	color: #f2b43d;
}
@media screen and (min-width: 737px){
	.list_price{
		overflow: hidden;
		max-width: 760px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.list_price h4{
		font-size: 22px;
	}
	.list_price p,
	.list_price td{
		font-size: 22px;
		line-height: 1.2;
	}
	.list_price p span,
	.list_price td span{
		font-size: 18px;
	}
	.list_price .price01 p{
		width: 200px;
		padding: 40px 0;
		margin: 15px 0;
	}
	.list_price .price02 table{
		border-collapse: separate;
	    border-spacing: 15px;
	    width: 400px;
	    margin: 0 auto;
	}
	.list_price .price02 td{
		width: 200px;
		padding: 10px 0;
	}
	.list_price .price02 .row2{
		height: 134px;
	}
	.ico_price{
		margin: 30px 0 0 15px;
	}
}
@media screen and (max-width: 736px){
	.list_price .price01 p{
		width: 94%;
		margin: 10px auto 15px;
		padding: 10px 0;
	}
	.list_price .price02 table{
		border-collapse: separate;
	    border-spacing: 10px;
	    width: 100%;
	    margin: 0 auto;
	}
	.list_price .price02 .row2{
		height: 84px;
	}
	.ico_price{
		margin: 15px auto;
		width: 25px;
	}
}


/*よくあるご質問-------*/
#faq .content_inner{
	max-width: 878px;
	width: 94%;
}
.list_faq dt{
	position: relative;
}
.list_faq dt::before{
	content: "Q";
	background: #2481bc;
	display: block;
	position: absolute;
	box-sizing: border-box;
	color: #FFF;
	text-align: center;
	font-family: 'Kosugi Maru', sans-serif;
}
@media screen and (min-width: 737px){
	.list_faq{
		padding-top: 30px;
	}
	.list_faq dt::before{
		width: 50px;
		height: 50px;
		line-height: 50px;
		font-size: 35px;
		top: 0;
		left: 0;
	}
	.list_faq dt{
		font-size: 22px;
		padding: 5px 0 30px 70px;
	}
	.list_faq dd{
		padding: 0 0 50px 70px;
		border-bottom: 1px solid #d4d6d7;
	}
}
@media screen and (max-width: 736px){
	.list_faq{
		padding-top: 10px;
		border-bottom: 1px solid #d4d6d7;
	}
	.list_faq dt::before{
		width: 27px;
		height: 27px;
		line-height: 27px;
		font-size: 19px;
		top: 0;
		left: 0;
	}
	.list_faq dt{
		font-size: 14px;
		padding: 3px 0 15px 37px;
		cursor: pointer;
	}
	.list_faq dd{
		display: none;
		font-size: 14px;
		padding: 0 0 25px 0;
	}
}


/*お問い合わせ-------*/
#contact h2{
	margin-bottom: 40px;
}
#contact input,
#contact textarea{
	border: 1px solid #C8C8C8;
	padding: 10px;
}
.contact_form dl{
	width: 100%;
}
.contact_form dt{
	font-weight: 700;
}
.contact_form dt span{
	background: #f2b43d;
	display: inline-block;
	color: #FFF;
}
#contact .btn_submit button,
#contact .btn_return input{
	display: inline-block;
	font-weight: bold;
	border-radius: 50px;
	border: none;
	cursor: pointer;
	transition: all 0.3s;
	border: none;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
#contact .btn_submit button{
	background: #f2b43d;
	color: #FFF;
}
#contact .btn_return input{
	padding: 15px 64px;
}
#contact .btn_return{
	margin-top: 20px;
}
.radio_input{
  display: none;
}
.radio_input + label{
  position:relative;
}
.radio_input + label::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #C8C8C8;
  border-radius: 50%;
}
.radio_input:checked + label::after{
  content: "";
  display: block;
  position: absolute;
  background: #f2b43d;
  border-radius: 50%;
}

@media screen and (min-width: 737px){
	#contact .content_inner{
		max-width: 770px;
		width: 90%;
	}
	.contact_form dt{
		padding: 40px 0 10px;
	}
	.contact_form dt span{
		margin-left: 15px;
		padding: 2px 15px;
		font-size: 14px;
	}
	#contact .btn_submit{
		margin: 40px 0 60px;
	}
	#contact .btn_submit button{
		font-size: 20px;
		padding: 10px 100px;
	}
	#contact .btn_submit button:hover{
		background: #8fc31f;
	}
	#contact .btn_return input:hover{
		background: #ddd;
	}
	.textarea{
		width: 100%;
	}
	.input_l{
		width: 50%;
	}
	.input_m{
		width: 40%;
	}
	.input_s{
		width: 35%;
	}
	.input_ss{
		width: 20%;
	}
	.radio_input + label{
	  padding-left: 35px;
	  margin-right: 30px;
	}
	.radio_input + label::before{
	  width: 18px;
	  height: 18px;
	}
	.radio_input:checked + label::after{
	  top: 4px;
	  left: 4px;
	  width: 10px;
	  height: 10px;
	}
}
@media screen and (max-width: 736px){
	#contact .content_inner{
		width: 90%;
	}
	.contact_form dl{
		margin: 24px 0 14px;
	}
	.contact_form dt{
		display: inline-block;
		vertical-align: middle;
		font-size: 13px;
	}
	.contact_form dd{
		margin: 10px 0 15px;
		font-size: 13px;
	}
	.contact_form dt span{
		margin-left: 15px;
		padding: 1px 15px;
		font-size: 11px;
	}
	.input_l,
	.input_m,
	.input_s,
	.input_ss,
	.textarea{
		width: 100%;
		border-radius: 0;
		box-shadow: none;
	}
	.radio_input + label{
	  padding-left: 20px;
	  margin-right: 20px;
	}
	.radio_input + label::before{
	  width: 14px;
	  height: 14px;
	}
	.radio_input:checked + label::after{
	  top: 3px;
	  left: 3px;
	  width: 8px;
	  height: 8px;
	}
	#contact .btn_submit{
		margin: 20px 0 30px;
	}
	#contact .btn_submit button{
		font-size: 16px;
		padding: 10px 0;
		width: 80%;
	}
}

.policytxt a {
	width: 200px;
	margin:40px auto 30px auto;
	display: block;
	padding: 13px 0;
	text-align: center;
	color: #ffffff;
	background: #2481bc;
}
@media screen and (min-width: 737px){
	.policytxt a {
		transition: all 0.3s;
	}
	.policytxt a:active , .policytxt a:hover {
		background: #f39700;
	}
}
