/*
Theme Name:有限会社ケアセンターほっと広場
Theme URI:
Version:1.0.0
Description:有限会社ケアセンターほっと広場
Author:ARCKLY
Author URI: http://arckly.com/
*/

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


/* Reset
------------------------------------------------------------*/
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0;min-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{vertical-align:top;padding:0;text-align:left;font-weight:normal}

input[type="radio"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #088FDB;
  content: '';
}
input[type="checkbox"] {
  position: relative;
  width: 16px;
  height: 16px;
  border: 1px solid #000;
  vertical-align: -1px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input[type="checkbox"]:checked:before {
  position: absolute;
  top: -5px;
  left: 4px;
  transform: rotate(50deg);
  width: 10px;
  height: 16px;
  border-right: 4px solid #088FDB;
  border-bottom: 2px solid #088FDB;
  content: '';
}

a:hover.link img{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	display: inline-block;
	transition:all 0.5s;
}

img{
	max-width: 100%;
	height: auto;
	width /***/:auto;
	vertical-align:middle;
	image-rendering: -webkit-optimize-contrast;
}



/* 共通CSS
------------------------------------------------------------*/
body{
	font-family:"ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic ProN, Hiragino Sans, "ヒラギノ角ゴシック", "游ゴシック体", Yu Gothic, YuGothic, "メイリオ", sans-serif;
	color: #1b1b1b;
	font-size: 14px;
	background-color:#F5F7F4;
	line-height: 1.8em;
	background-image: url("images/bg.jpg");
}

body a{
	color:#1b1b1b;
	text-decoration:underline;
} 

body a:hover{
	opacity: 0.7;
	text-decoration:underline;
	transition:all 0.5s;
}


.float_l{
	float:left;
}

.float_r{
	float:right;
}

.clear{
	clear:both;
}

.red{
	color:#F00;
}

.blue{
	color:#00F;
}

.bold{
	font-weight:bold;
}

.pagination {
clear:both;
padding:20px 0;
position:relative;
font-size:11px;
line-height:13px;
}
 
.pagination span, .pagination a {
display:block;
float:left;
margin: 2px 2px 2px 0;
padding:6px 9px 5px 9px;
text-decoration:none;
width:auto;
color:#1b1b1b;
background: #F8AC71;
}
 
.pagination a:hover{
	color:#fff;
	background-color:#AA6C32;
}
 
.pagination .current{
	padding:6px 9px 5px 9px;
	background-color:#AA6C32;
	color:#FFF;
}


/*===============================================
●iOS submitリセット
===============================================*/

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


/*フォーム系
.contact_btn{
	text-align:center;
}

.contact_btn input{
	padding:20px 50px;
	background-color:#F8AC71;
	border:none;
	color:#1b1b1b;
	text-align:center;
	margin:10px 0;
}
.contact_btn input:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

.contact_main{
	margin-bottom:10px;
}


.info_box5 input[type="text"]{
	width:90%;
	background-color: #fff;
	border: 1px solid #F8AC71;
}

.info_box5 input[type="email"]{
	width:90%;
	background-color: #fff;
	border: 1px solid #F8AC71;
}


.info_box5 input[type="tel"]{
	width:90%;
	background-color: #fff;
	border: 1px solid #F8AC71;
}

.info_box5 input[type="url"]{
	width:90%;
	background-color: #fff;
	border: 1px solid #F8AC71;
}

.info_box5 textarea{
	width:90%;
	background-color: #fff;
	border: 1px solid #F8AC71;
}

.zip_box input[type="text"]{
	width:100px;
	background-color: #fff;
	border: 1px solid #F8AC71;
}


.hissu{
	background-color:#B20000;
	color:#FFF;
	font-size:12px;
	padding:2px 5px;
	margin-right:20px;
}

.nini{
	background-color:#888888;
	color:#FFF;
	font-size:12px;
	padding:2px 5px;
	margin-right:20px;
}

.info_chui{
	color:#B20000;
	display:block;
}
*/

/*===============================================
●マージンボトム設定
===============================================*/

.mb0{
	margin-bottom:0px!important;
}
.mb5{
	margin-bottom:5px!important;
}
.mb10{
	margin-bottom:10px!important;
}
.mb15{
	margin-bottom:15px!important;
}
.mb20{
	margin-bottom:20px!important;
}
.mb25{
	margin-bottom:25px!important;
}
.mb30{
	margin-bottom:30px!important;
}
.mb35{
	margin-bottom:35px!important;
}
.mb40{
	margin-bottom:40px!important;
}
.mb45{
	margin-bottom:45px!important;
}
.mb50{
	margin-bottom:50px!important;
}
.mb55{
	margin-bottom:55px!important;
}
.mb60{
	margin-bottom:60px!important;
}
.mb65{
	margin-bottom:65px!important;
}
.mb70{
	margin-bottom:70px!important;
}
.mb75{
	margin-bottom:75px!important;
}
.mb80{
	margin-bottom:80px!important;
}
.mb85{
	margin-bottom:85px!important;
}
.mb90{
	margin-bottom:90px!important;
}
.mb95{
	margin-bottom:95px!important;
}
.mb100{
	margin-bottom:100px!important;
}
.mb200{
	margin-bottom:200px!important;
}


/*===============================================
●Googleマップ
===============================================*/

.ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/*===============================================
●ページトップ
===============================================*/

#PageTopBtn{
  position: fixed;
  right: 0px;
  bottom: 30px;
  z-index:100;
	width: 50px;
	height: 50px;
}
#PageTopBtn:hover{
  bottom: 40px;
	transition:all 0.5s;
}

/*===============================================
●フォント
===============================================*/

.font_mincho{
	font-family:"游明朝体", "Yu Mincho", YuMincho, "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}

/*===============================================
●フォントサイズ・カラー設定
===============================================*/
.font_10px{
	font-size: 10px;
	line-height:1.7em;
}
.font_11px{
	font-size: 11px;
	line-height:1.7em;
}
.font_12px{
	font-size: 12px;
	line-height:1.7em;
}
.font_13px{
	font-size: 13px;
	line-height:1.7em;
}
.font_14px{
	font-size: 14px;
	line-height:1.7em;
}
.font_15px{
	font-size: 15px;
	line-height:1.7em;
}
.font_17px{
	font-size: 17px;
	line-height:1.7em;
}
.font_18px{
	font-size: 18px;
	line-height:1.7em;
}
.font_20px{
	font-size: 20px;
	line-height:1.7em;
}
.font_22px{
	font-size: 22px;
	line-height:1.7em;
}
.font_24px{
	font-size: 22px;
	line-height:1.7em;
}
.font_27px{
	font-size: 27px;
	line-height:1.7em;
}
.font_28px{
	font-size: 28px;
	line-height:1.7em;
}
.font_34px{
	font-size: 34px;
	line-height:1.7em;
}
.font_30px{
	font-size: 30px;
	line-height: 1.4em;
}
.font_32px{
	font-size: 32px;
	line-height:1.7em;
}
.font_36px{
	font-size: 36px;
	line-height:1.7em;
}
.font_40px{
	font-size: 40px;
	line-height:1.7em;
}
.font_50px{
	font-size: 50px;
	line-height:1.7em;
}
.font_52px{
	font-size: 52px;
	line-height:1.7em;
}
.font_56px{
	font-size: 56px;
	line-height:1.7em;
}
.color_wh{
	color: #FFF;
}
.color_brown{
	color: #442f19;
}


/*===============================================
●ローディング
===============================================*/
#loading {
  /*ローディング画面の縦横幅を画面いっぱいになるように指定*/
  width: 100vw;
  height: 100vh;
  /*ローディング画面の表示位置を固定*/
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  /*ローディング画面を0.5秒かけて非表示にする*/
  transition: all 0.5s linear;
	z-index: 1000;
}

/*ローディング画面を非表示にする*/
#loading.loaded {
  opacity: 0;
  visibility: hidden;
}
/*===============================================
●画面の横幅が768px以上
===============================================*/
@media screen and (min-width: 768px){

body{
	line-height:1.7em;
}

.pc_none{
	display:none;
}

.pc_float_l{
	float:left;
}

.pc_float_r{
	float:right;
}

.pc_center{
	text-align:center;
}

.pc_right{
	text-align:right;
}

	.d_flex_pc{
		display: flex;
	}
	.flex_wrap_pc{
		flex-wrap: wrap;
	}
	.j_content_c_pc{
		justify-content: center;
	}
	.j_content_en_pc{
		justify-content: flex-end;
	}
	.j_content_sb_pc{
		justify-content: space-between;
	}
	.a_items_c_pc{
		align-items: center;
	}
	.a_items_en_pc{
		align-items: flex-end;
	}
	.f-direction_re_pc{
		flex-direction: row-reverse;
	}

a.link_disabled_pc{
	pointer-events: none;
}
	
/*ヘッダー設定
------------------------------------------------------------*/
	.main_header{
		position: absolute;
		top:20px;
		left: 0;
		width: 100%;
		z-index: 2;
	}
	.main_header_innner{
		max-width: 1080px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		box-sizing: border-box;
		padding: 0 1%;
	}
	.header_logo{
		max-width: 395px;
		width: 40%;
	}
	.header_r{
		font-size: 13px;
		line-height: 1.5;
		text-align: right;
		padding: 1px 0 0;
		color: #333;
        font-weight: bold;
        text-shadow: 0 0 3px #FFF, 0 0 3px #FFF, 0 0 3px #FFF, 0 0 3px #FFF, 0 0 3px #FFF, 0 0 3px #FFF;
	}
	.main_nav{
		width: 100%;
		background-image: url("images/navi_bg.png");
		height: 110px;
		background-repeat: repeat-x;
		background-position: center top;
		margin-bottom: 80px;
	}
	.nav_wrap{
		max-width: 1000px;
		margin: 0 auto;
	}
ul#menu{
	display: flex;
	justify-content:center;
	max-width: 874px;
	margin: 0 auto;

}

ul#menu li{
	position:relative;
	margin:0 0px;
	width: 11.54%;
}
ul#menu li:nth-child(2){
	width: 26.43%;
}
ul#menu li:nth-child(3){
	width: 15.44%;
}
ul#menu li:nth-child(4){
	width: 14.41%;
}
ul#menu li:nth-child(5){
	width: 14.41%;
}
ul#menu li:nth-child(6){
	width: 17.5%;
}
ul#menu li a{
	display:flex;
	align-content: center;
	justify-content: center;
	text-decoration: none;
	box-sizing: border-box;
	height: 75px;
	width: 100%;
	opacity: 1;
}
ul#menu li a:hover{
	opacity: 1;
}
	ul#menu li a img{
		width: 100%;
		height: 75px;
		object-fit: cover;
	}
	.nav_sub{
		display: block;
	}
	
ul#menu li a:after{
	 position: absolute;
	 bottom: 0;
	 left: 0;
	 content: '';
	 width: 100%;
	 height: 3px;
	 background-color:#AF7337;
	 transform: scale(0, 1);
	 transform-origin: center top;
	 transition: transform .3s;
}
ul#menu li a:hover::after
{
 transform: scale(1, 1);
}
	ul#menu li.main_nav_current a:after{
	 transform: scale(1, 1);
	}
ul#menu ul{
	z-index:100;
	display:none;
	position:absolute;
	top:75px;
	left:50%;
	transform: translate(-50%, 0%);
}

ul#menu ul li a{
	display:block;
	color:#FFF;
	text-decoration:none;
	padding:10px 5px;
	height:auto;
	line-height:1.4em;
	border-bottom:1px dashed #FFF;
    opacity: 0.9;
    filter: alpha(opacity=90);
    -ms-filter: "alpha( opacity=90 )";
	background-color:#AF7337;
	text-align:center;
	width:130px;
 transform-origin: center top;
	transition: transform .3s;
	position: relative;
	font-size: 14px;
}
ul#menu ul li:last-child a{
border: none;
	}	
	.taser_area_wrap{
		position: relative;
		width: 100%;
		background-color: #E9C4BB;
	}
	.taser_area_title{
		position: absolute;
		top:25%;
		left: 50%;
		transform: translate(-50%, 0%);
	}
	.taser_area_img img{
		width: 100%;
	}
	.next_taser{
		height: 300px;
	}
	.next_taser .taser_area_title{
		position: absolute;
		top:60%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.next_taser .taser_area_img{
		max-width: 1920px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.next_taser .taser_area_img img{
		height: 300px;
		width: 100%;
		object-fit: cover;
	}
	
/*wrap設定
------------------------------------------------------------*/

#wrapper{
/*
	min-width:1200px;
	margin-left:auto;
	margin-right:auto;
*/
}

.wrap{
	max-width:1080px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
}
	.path a{
		text-decoration:none;
	}
	.next_title{
		background-image:url(images/next_title.png);
		background-repeat:no-repeat;
		background-position:center center;
		min-height:117px;
		box-sizing:border-box;
		padding-top:30px;
	}


/*フッター設定
------------------------------------------------------------*/
	.main_footer{
		margin-top: 100px;
		background: url("images/bg_deco.jpg")center top repeat-x, url("images/bg_light.jpg") left top repeat;
		padding: 100px 0 80px;
	}
	.main_footer a{
		text-decoration: none;
	}
	.footer_txt{
		color: #442f19;
		font-size: 23px;
	}
	.footer_box1_wrap{
		gap:40px 30px;
	}
	.footer_box1{
		width: 312px;
		text-align: center;
	}
	.footer_box1_title{
		font-size: 15px;
		background: #ffaaae;
		padding: 6px 0 5px;
		border-radius: 8px;
	}
	.footer_box1_title2{
		background: #ffb77d;
	}
	.footer_box1_title3{
		background: #7fbfeb;
	}
	.footer_box1_tel{
		font-size: 35px;
		line-height: 1em;
		gap:0 10px;
	}
	.footer_box1_fax{
		font-size: 24px;
		line-height: 1em;
		gap:0 10px;
	}
	.footer_box1_fax span:nth-child(1){
		display: flex;
		align-items: center;
        justify-content: center;
		font-size: 14px;
		color: #fff;
		background: #af7337;
		padding: 4px 10px;
		width: 60px;
	}
	.footer_bt{
		font-size: 16px;
		line-height: 1.8;
		padding: 18px 25px;
		box-shadow: none;
		background:url( "images/icon_arrow_right_fff.png") right 15px center no-repeat, #af7337;
		border-radius: 8px;
		font-weight: bold;
		text-align: center;
		color: #fff;
		text-decoration: none;
		max-width: 500px;
		width: 100%;
		margin: 0 auto;
		gap:0 10px;
	}
	:hover.footer_bt{
		text-decoration: none;
	}
	.footer_nav{
		padding: 40px 0;
		gap:5px;
	}
	.footer_copyright_area{
		padding: 10px 0;
		background:url("images/bg_light.jpg") left top repeat;
		background-repeat:repeat-x;
		background-position:center bottom;
	}
	.footer_copyright_wrap{
		text-align: center;
	}
	.footer_copyright_wrap small{
		font-size: 13px;
	}
	.sp_bnr{
		display: none;
	}
	
	
	/* ホーム設定
------------------------------------------------------------*/
	.top_contents{
		margin-bottom: 100px;
	}
	.top_news_area{
		margin-bottom: 80px;
		gap:50px;
	}
	.top_news_area_l{
		background-image: url("images/deco_shape_org.png");
		width: 213px;
		height: 169px;
		background-repeat: no-repeat;
		background-size: cover;
		gap:10px;
	}
	.top_news_area_r{
		width: calc(100% - 263px);
		height: 250px;
		overflow-y: scroll;
	}
	.top_news_area_list li{
		display: block;
		padding: 0px 0 24px;
		border-bottom: 1px dotted #af7337;
		margin-bottom: 24px;
	}
	.top_news_day{
		color: #ef1c25;
		font-weight: bold;
		width: 110px;
	}
	.top_news_title{
		font-size: 14px;
		color: #1b1b1b;
		font-weight: bold;
		width: calc(100% - 110px);
	}
	.top_area2{
		padding-left: 11.5%;
		padding-right: 11.5%;
		background: url("images/top_greeting_deco_left.png")left top 10px no-repeat, url("images/top_greeting_deco_right.png") right top no-repeat;
		background-size: 11.2% auto, 14% auto;
		padding-top: 20px;
		padding-bottom: 80px;
	}
	.top_area2_title div{
		display: inline-block;
		vertical-align: top;
		padding: 0 0 13px;
		background: url("images/deco_dot_green.png") left bottom repeat-x;
		font-size: 23px;
		line-height: 1.8em;
	}
	.top_area3_box{
		width: 48%;
	}
	
	/* ブログ 設定
------------------------------------------------------------*/
	
	.blog_list_wrap{
		gap:50px 2.66%;
	}
	.blog_list_box{
		width: 23%;
	}
	.blog_img_wrap{
		margin-bottom: 40px;
	}
	.blog_list_img a img{
		width: 100%;
		aspect-ratio: 4 / 3;
		object-fit: cover;
		border-radius: 10px;
	}
	.blog_list_day{
		color: #ef1c25;
		font-weight: bold;
		margin: 0 0 2px;
	}
	.blog_list_title a{
		font-weight: bold;
	}
	.blog_list_title a:hover{
		text-decoration: none;
	}
	.blog_title{
		font-size: 16px;
		color: #1b1b1b;
		padding: 12px 20px 11px;
		background: #ffefa2 url("images/bg_yel.jpg") left top repeat;
	}
	.blog_txt{
		margin-bottom: 70px;
	}
	a.blog_bt1{
		text-decoration: none;
		font-weight: bold;
		text-align: center;
		background-color: #F8AC71;
		width: 200px;
		height: 50px;
		line-height: 50px;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	a:hover.blog_bt1{
		text-decoration: none;
	}
/* 問い合わせ 設定
------------------------------------------------------------*/
	
.info_box5{
	display:flex;
	justify-content: space-between;
	margin-bottom:10px;
}

.info_box5 div:nth-child(1){
	width:30%;
}
.info_box5 div:nth-child(2){
	width:70%;
}
/* 下層 設定
------------------------------------------------------------*/
	.table_area1{
		width: 100%;
	}
	.table1{
		min-width: 1000px;
		width: 100%;
		text-align: center;
		vertical-align: middle;
		border-right: 1px solid #EF9F60;
		border-top: 1px solid #EF9F60;
		font-size: 17px;
		line-height: 1.8em;
}
	.table1 th{
		background-image: url("images/bg_org.jpg");
		padding: 20px 0;
		width: 27%;
		box-sizing: border-box;
		text-align: center;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
	}
	.table1 th:first-child{
		width: 19%;
	}
	.table1 td{
		padding: 20px 0;
		width: 27%;
		box-sizing: border-box;
		text-align: center;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
	}
	.table2{
		min-width: 1000px;
		width: 100%;
		vertical-align: middle;
		border-right: 1px solid #EF9F60;
		border-top: 1px solid #EF9F60;
		font-size: 17px;
		line-height: 1.8em;
	}
	.table2 th{
		background-image: url("images/bg_org.jpg");
		padding: 20px 0;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
	}
	.table2 td{
		padding: 20px 20px;
		width: 20%;
		box-sizing: border-box;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
	}
	.table2 td:nth-child(2){
		width: 40%;
	}
	.table2 td:nth-child(3){
		width: 40%;
	}
	.table3{
		min-width: 1000px;
		width: 100%;
		vertical-align: middle;
		border-right: 1px solid #EF9F60;
		border-top: 1px solid #EF9F60;
		font-size: 17px;
		line-height: 1.8em;
	}
	.table3 th{
		background-image: url("images/bg_org.jpg");
		padding: 20px 0;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
	}
	.table3 td{
		padding: 20px 20px;
		width: 40%;
		box-sizing: border-box;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
	}
	.table3 td:nth-child(2){
		width: 60%;
	}
	.table3_div{
		gap:0 30px;
	}

	.privacy_policy{
		height: 300px;
		padding-right: 15px;
		overflow-y: scroll;
	}
	.name{
		margin-top: 15px;
	}

}


/*===============================================
●画面の横幅が767pxまで
===============================================*/
@media screen and (max-width:767px){

body{
}

.body_fixed{
  position: fixed;
  width:100%;
}
	
.sp_none{
	display:none;
}

.sp_center{
	text-align:center;
}

.sp_left{
	text-align:left;
}

.sp_right{
	text-align:right;
}

.sp_float_l{
	float:left;
}

.sp_float_r{
	float:right;
}


	.d_flex_sp{
		display: flex;
	}
	.flex_wrap_sp{
		flex-wrap: wrap;
	}
	.j_content_c_sp{
		justify-content: center;
	}
	.j_content_en_sp{
		justify-content: flex-end;
	}
	.j_content_sb_sp{
		justify-content: space-between;
	}
	.a_items_c_sp{
		align-items: center;
	}
	.a_items_en_sp{
		align-items: flex-end;
	}
	.f-direction_re_sp{
		flex-direction: row-reverse;
	}

a.link_disabled_sp{
	pointer-events: none;
}


/*===============================================
●マージンボトム設定
===============================================*/

.mb0_sp{
	margin-bottom:0px!important;
}
.mb5_sp{
	margin-bottom:5px!important;
}
.mb10_sp{
	margin-bottom:10px!important;
}
.mb15_sp{
	margin-bottom:15px!important;
}
.mb20_sp{
	margin-bottom:20px!important;
}
.mb25_sp{
	margin-bottom:25px!important;
}
.mb30_sp{
	margin-bottom:30px!important;
}
.mb35_sp{
	margin-bottom:35px!important;
}
.mb40_sp{
	margin-bottom:40px!important;
}
.mb45_sp{
	margin-bottom:45px!important;
}
.mb50_sp{
	margin-bottom:50px!important;
}
.mb55_sp{
	margin-bottom:55px!important;
}
.mb60_sp{
	margin-bottom:60px!important;
}
.mb65_sp{
	margin-bottom:65px!important;
}
.mb70_sp{
	margin-bottom:70px!important;
}
.mb75_sp{
	margin-bottom:75px!important;
}
.mb80_sp{
	margin-bottom:80px!important;
}
.mb85_sp{
	margin-bottom:85px!important;
}
.mb90_sp{
	margin-bottom:90px!important;
}
.mb95_sp{
	margin-bottom:95px!important;
}
.mb100_sp{
	margin-bottom:100px!important;
}
.mt15_sp{
	margin-top:15px!important;
}
	
	
/*===============================================
●ボタン
===============================================*/
	.bt_center_sp{
		margin-left: auto;
		margin-right: auto;
	}


/*===============================================
●フォントサイズ・カラー設定
===============================================*/

	.font_28px_sp{
		font-size: 28px;
		line-height:1.7em;
	}
	.font_40px_sp{
		font-size: 40px;
		line-height:1.7em;
	}
	
/*ヘッダー設定
------------------------------------------------------------*/
	.header{
		background-color: #EDD6C1;
	}
.main_header{
	position: relative;
}
.header_logo{
	position: absolute;
	top: 20px;
	left: 15px;
	width: 260px;
	height: 36px;
	filter: drop-shadow(0 0 5px #FFF) drop-shadow(0 0 5px #FFF);
	z-index: 1;
}
	.header_r{
		display: none;
	}

nav{
	z-index:1000;
}

#humberger{
	position: fixed;
	top:10px;
	right:10px;
	z-index: 999;
	width:46px;
	height:46px;
	box-sizing:border-box;
	padding: 15px 10px 0;
	cursor:pointer;
	background-color:#AF7337;
	border: 1px solid rgba(255, 255, 255, 0.5);
}
.iconBar{
	height: 2px;
	background: #FFF;
	display: block;
	margin-bottom: 3px;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); 
	   -moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); 
		 -o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); 
			transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */

	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); 
	   -moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); 
		 -o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); 
			transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	z-index:1000;
}

dl.accordion_spnav dt.open3 #humberger .iconBar{
	background: #FFF;
	box-shadow:none;
}
dl.accordion_spnav dt.open3 #humberger :nth-child(1){
	transform:translate(0,8px) rotate(45deg);
	-webkit-transform:translate(0,8px) rotate(45deg);
	margin-bottom:9px;
	margin-top:-2px;
}
dl.accordion_spnav dt.open3 #humberger :nth-child(2){
	transform:translate(-20px ,0);
	-webkit-transform:translate(-20px ,0);
	opacity:0;
}
dl.accordion_spnav dt.open3 #humberger :nth-child(3){
	transform:translate(0,-8px) rotate(-45deg);
	-webkit-transform:translate(0,-8px) rotate(-45deg);
}

.spnav_logo{
	width: 260px;
	margin-bottom: 30px;
}
.spnav_logo > a{
	padding: 0 !important;
	border-bottom: none !important;
}

.accordion_spnav dd{
	display:none;
	position:fixed;
	top:0px;
	left:0px;
	background-color:#EED8C3;
	width:100%;
	opacity: 0.95;
	z-index:997;
	padding-top:70px;
	height:100%;
	-webkit-overflow-scrolling: touch;
	overflow-y: auto;
	box-sizing:border-box;
	padding: 20px 15px 40px;
}

.nav_wrap_sp{
	margin-bottom: 30px;
}

.accordion_spnav dd a{
	display:block;
	color: #442f19;
	text-decoration:none;
	border-bottom:1px solid rgba(27, 27, 27, 0.3);
	padding: 15px 5px 13px;
	font-size:16px;
	font-weight: bold;
}

.accordion_spnav2 div{
	display:block;
	color: #442f19;
	text-decoration:none;
	border-bottom:1px solid rgba(27, 27, 27, 0.3);
	padding:15px 40px 13px 5px;
	font-size:16px;
	font-weight: bold;
	position:relative;
}

.accordion_spnav2 ul{
	display:none;
}

.accordion_spnav2 ul li{
	background-color:rgba(255, 255, 255, 0.6);
}

.accordion_spnav2 > ul > li a{
	position: relative;
	padding-left:30px;
	color:#1b1b1b;
	font-size:15px;
	font-weight: normal;
}
.accordion_spnav2 > ul > li a::before{
	position: absolute;
	content: '';
	top: 43%;
	left: 10px;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background: #DB9B86;
}

.humberger2{
	width:20px;
	position:absolute;
	right:10px;
	top:17px;
	z-index:1000;
}

.iconBar2{
	height: 2px;
	background: #442f19;
	display: block;
	margin-bottom: 6px;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); 
	   -moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); 
		 -o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); 
			transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */

	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); 
	   -moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); 
		 -o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); 
			transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}

.iconBar2:nth-child(1){
	transform:translate(0,8px) rotate(90deg);
	-webkit-transform:translate(0,8px) rotate(90deg);
}

div.accordion_spnav2 div.open2 span.iconBar2:nth-child(1){
	transform:translate(-20px ,0);
	-webkit-transform:translate(-20px ,0);
	opacity:0;
}

.spnav_box1_wrap .footer_box1 {
	width: 100%;
	max-width: 400px;
}
.spnav_box1_wrap a.footer_box1_tel{
	margin-bottom: 10px;
	padding: 0;
	border-bottom: none;
	font-size: 26px;
}
a.footer_box1_tel span.tel_icon img{
	width: 18px;
	padding: 0 5px 2px 0;
}
.spnav_box1_wrap .footer_box1_fax{
	align-items: anchor-center;
	font-size: 18px;
}
.spnav_box1_wrap .footer_box1_fax span:nth-child(1){
	font-size: 13px;
	padding: 3px 0 0;
    width: 46px;
}


	.taser_area{
		margin-bottom: 40px !important;
	}
	.taser_area_wrap{
		position: relative;
		width: 100%;
		background-color: #E9C4BB;
	}
	.taser_area_title{
		position: absolute;
		top:20%;
		left: 50%;
		transform: translate(-50%, 0%);
		width: 86%;
		max-width: 400px;
		filter: drop-shadow(0 0 5px #FFF) drop-shadow(0 0 5px #FFF);
	}
	.taser_area_img img{
		width: 100%;
		height: calc(100svh - 55px);
        object-fit: cover;
        font-family: "object-fit: cover;";
		object-position: bottom;
	}
	.next_taser .taser_area_title{
		position: absolute;
		top:60%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
	}
	.next_taser .taser_area_img{
		max-width: 1600px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.next_taser .taser_area_img img{
		height: 220px;
		width: 100%;
		object-fit: cover;
	}

/*wrap設定
------------------------------------------------------------*/

.wrap{
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 60px !important;
	padding-left: 10px;
	padding-right: 10px;
	box-sizing:border-box;
}
.next_mv{
	height:200px;
	background-image:url(images/next_taser.jpg);
	background-repeat:no-repeat;
	background-position:center center;
	background-color:#9FCAE2;
}
	.path a{
		text-decoration:none;
	}
	.next_title{
		background-image:url(images/next_title.png);
		background-repeat:no-repeat;
		background-position:center center;
		min-height:117px;
		box-sizing:border-box;
		padding-top:30px;
	}


	/*フッター設定
	------------------------------------------------------------*/
		.main_footer{
			margin-top: 50px;
			border-top: 5px solid #E7C5BB;
			background: url("images/bg_light.jpg") left top repeat;
			padding: 50px 0;
		}
		.main_footer a{
			text-decoration: none;
		}
		.main_footer .wrap{
			margin-bottom: 0 !important;
		} 
		.footer_logo{
			width: 150px;
    		margin-inline: auto;
		}
		.footer_txt{
			color: #442f19;
			font-size: 16px;
			margin-top: -20px;
			margin-bottom: 25px !important;
		}
		.footer_box1{
			width: 100%;
			max-width: 400px;
			text-align: center;
			margin-left: auto;
			margin-right: auto;
		}
		.footer_box1_title{
			font-size: 16px;
			background: #ffaaae;
			padding: 6px 0 5px;
			border-radius: 8px;
		}
		.footer_box1_title2{
			background: #ffb77d;
		}
		.footer_box1_title3{
			background: #7fbfeb;
		}
		.footer_box1_tel{
			font-size: 26px;
			line-height: 1em;
			margin-bottom: 10px;
			font-weight: bold;
		}
		.footer_box1_tel span.tel_icon img{
			width: 18px;
			padding: 0 5px 4px 0;
		}
		.footer_box1_fax{
			font-size: 18px;
			line-height: 1em;
			gap:0 10px;
			align-items: anchor-center;
		}
		.footer_box1_fax span:nth-child(1){
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 13px;
			color: #fff;
			background: #af7337;
			padding: 3px 0 0;
			width: 46px;
		}
		.footer_bt{
			font-size: 14px;
			line-height: 1.8;
			padding: 14px 0;
			box-shadow: none;
			background:url( "images/icon_arrow_right_fff.png") right 15px center no-repeat, #af7337;
			border-radius: 8px;
			font-weight: bold;
			text-align: center;
			color: #fff;
			text-decoration: none;
			max-width: 500px;
			width: 100%;
			max-width: 300px;
			margin: 0 auto;
			gap:0 10px;
		}
		:hover.footer_bt{
			text-decoration: none;
		}
		.footer_nav{
			padding: 30px 10px 35px;
			background: url("images/sp_footer_nav_bg_top.png") right 10px top 10px no-repeat, url("images/sp_footer_nav_bg_bottom.png") left bottom no-repeat;
			gap: 10px 4%;
		}
		.footer_nav a{
			display: block;
			width: 48%;
			padding: 0 5px 8px;
			border-bottom: 1px solid rgba(27, 27, 27, 0.3);
			text-align: center;
			text-decoration: none;
		}
		.footer_nav a.w100{
			width: 100%;
		}
		.footer_nav span{
			display: none;
		}

		.footer_copyright_area{
			padding: 10px 0 63px;
			background:url("images/bg_light.jpg") left top repeat;
			background-repeat:repeat-x;
			background-position:center bottom;
		}
		.footer_copyright_wrap{
			text-align: center;
		}
		.footer_copyright_wrap small{
			font-size: 13px;
		}
		#PageTopBtn{
			bottom: 50px;
			width: 40px;
			right: 0;
		}

		/* ----sp フローティングバナー---- */
		.sp_bnr{
			display: flex;
			justify-content: space-between;
			position: fixed;
			width: 100%;
			height: 55px;
			bottom: 0;
			left: 0;
			z-index: 4;
		}
		.sp_bnr_parts{
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			position: relative;
			width: 25%;
			background: #442f19;
			border-top: 1px solid #FFF;
		}
		.sp_bnr_parts:last-child{
			background: #ffaaae;
		}
		.sp_bnr_parts:not(:last-child){
			border-right: 1px solid #FFF;
		}
		.sp_bnr_parts img{
			width: auto;
			margin-bottom: 7px;
		}
		.sp_bnr_parts p{
			color: #FFF;
			font-size: 11px;
			line-height: 1;
			text-align: center;
		}
		.sp_bnr_parts a{
			position: absolute;
			width: 100%;
			height: 100%;
			text-decoration: none;
		}
	
	
	/* ホーム設定
------------------------------------------------------------*/
	.top_contents{
		margin-bottom: 60px;
	}
	.top_news_area{
		margin-bottom: 50px;
	}
	.top_news_area_l{
		width: 100%;
        height: auto;
		margin-bottom: 25px;
        background: #F6B888;
        border-radius: 6px;
        padding: 10px 0 10px 20px;
        justify-content: flex-start;
	}
	.top_news_area_r{
		width:100%;
		height: 250px;
		overflow-y: scroll;
	}
	.top_news_area_list li{
		display: block;
		padding: 0px 0 24px;
		border-bottom: 1px dotted #af7337;
		margin-bottom: 24px;
	}
	.top_news_day{
		color: #ef1c25;
		font-weight: bold;
		width: 110px;
	}
	.top_news_title{
		font-size: 16px;
		color: #1b1b1b;
		font-weight: bold;
		width: 100%;
	}
	.top_news_area_list .mb20{
		margin-bottom: 15px !important;
	}
	.top_area2{
		margin-bottom: 50px;
	}
	.top_area2_title div{
		display: inline-block;
		vertical-align: top;
		padding: 0 0 20px;
		background: url("images/deco_dot_green.png") left bottom repeat-x;
		font-size: 20px;
		line-height: 1.5em;
	}
	.top_area3_box{
		width: 100%;
	}
	.top_area3_box img{
		width: 100%;
		max-width: 480px;
	}
	
	/* ブログ 設定
------------------------------------------------------------*/
	
	.blog_list_wrap{
		gap:30px 4%;
	}
	.blog_list_box{
		width: 48%;
	}
	.blog_img_wrap{
		margin-bottom: 20px;
	}
	.blog_list_img a img{
		width: 100%;
		aspect-ratio: 4 / 3;
		object-fit: cover;
		border-radius: 8px;
	}
	.blog_list_day{
		color: #ef1c25;
		font-weight: bold;
		margin: 0 0 2px;
	}
	.blog_list_title a{
		font-weight: bold;
	}
	.blog_list_title a:hover{
		text-decoration: none;
	}
	.blog_title{
		font-size: 16px;
		color: #1b1b1b;
		padding: 12px 20px 11px;
		margin-bottom: 20px !important;
		background: #ffefa2 url("images/bg_yel.jpg") left top repeat;
	}
	.blog_txt{
		margin-bottom: 50px;
	}
	a.blog_bt1{
		text-decoration: none;
		font-weight: bold;
		text-align: center;
		background-color: #F8AC71;
		width: 200px;
		height: 50px;
		line-height: 50px;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	a:hover.blog_bt1{
		text-decoration: none;
	}
/* 問い合わせ 設定
------------------------------------------------------------*/

.info_box5{
	margin-bottom:10px;
}

.info_box5 div:nth-child(1){
	margin-bottom:5px;
}
/* 下層 設定
------------------------------------------------------------*/
	.table_area1{
		width: 100%;
		overflow-x: scroll;
	}
	.table1{
		min-width: 600px;
		width: 100%;
		text-align: center;
		vertical-align: middle;
		border-right: 1px solid #EF9F60;
		border-top: 1px solid #EF9F60;
		font-size: 14px;
		line-height: 1.6em;
	}
	.table1 th{
		background-image: url("images/bg_org.jpg");
		padding: 12px 5px;
		width: 27%;
		box-sizing: border-box;
		text-align: center;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
		font-weight: bold;
	}
	.table1 th:first-child{
		width: 25%;
	}
	.table1 td{
		padding: 12px 5px;
		width: 25%;
		box-sizing: border-box;
		text-align: center;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
	}
	.table2{
		width: 100%;
		vertical-align: middle;
		border-right: 1px solid #EF9F60;
		border-top: 1px solid #EF9F60;
		font-size: 14px;
		line-height: 1.6em;
	}
	.table2 th{
		background-image: url("images/bg_org.jpg");
		padding: 15px;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
		font-weight: bold;
	}
	.table2 td{
		display: block;
		padding: 12px;
		width: 100%;
		box-sizing: border-box;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
	}
	.table2 td:nth-child(2){
		width: 100%;
	}
	.table2 td:nth-child(3){
		width: 100%;
	}
	.table3{
		width: 100%;
		vertical-align: middle;
		border-right: 1px solid #EF9F60;
		border-top: 1px solid #EF9F60;
		font-size: 14px;
		line-height: 1.6em;
	}
	.table3 th{
		background-image: url("images/bg_org.jpg");
		padding: 12px;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
		font-weight: bold;
	}
	.table3 td{
		display: block;
		padding: 15px;
		width: 100%;
		box-sizing: border-box;
		vertical-align: middle;
		border-left: 1px solid #EF9F60;
		border-bottom: 1px solid #EF9F60;
	}
	.table3 td:nth-child(2){
		width: 100%;
	}
	.table3_div{
		gap:0 30px;
	}

	h2.elementor-heading-title{
		font-size: 20px !important;
		line-height: 1.5 !important;
	}
	.sp_txt_left{
		text-align: left !important;
	}
	.txt_small{
		font-size: 13px;
	}
	.saiyokan_gallery_tit{
		margin-bottom: 10px;
		border-bottom: 1px dashed #442f19;
	}
	.privacy_policy{
		height: 220px;
		padding-right: 10px;
		overflow-y: scroll;
	}
	.name{
		margin-top: 15px;
		text-align: right;
	}
}


/****************************************

Contact Form7

*****************************************/

.wpcf7 {
    width: 100%;
    margin-top: 40px !important;
}

.wpcf7-form textarea {
    width: 100%;
    /*本文*/
    max-width: 100%;
    padding: 3px 5px;
    border: 1px solid #CCC;
    border-radius: 3px;
	background-color: #FFF;
    transition: 0.3s;
}
.wpcf7-form select {
    width: auto;
    padding: 3px 5px;
    border: 1px solid #CCC;
    border-radius: 3px;
    transition: 0.3s;
}
.wpcf7-form input {
    padding: 10px;
    border: 1px solid #CCC;
    border-radius: 3px;
	background-color: #FFF;
    transition: 0.3s;
}

/* 送信ボタン */
.tc {
    text-align: center;
}

.wpcf7 .tc input[type=submit] {
    cursor: pointer;
    width: 410px;
    max-width: 100%;
    padding: 18px;
    box-shadow: none;
    border: 1px #442f19 solid;
    background-color: #442f19;
    color: #fff;
    font-size: 18px;
    text-align: center;
    box-sizing: border-box;
    transition: all 0.25s;
    appearance: none;
    margin-top: 30px;
    font-family: inherit;
}

.wpcf7 .tc input[type=submit]:disabled {
    cursor: not-allowed;
    box-shadow: none !important;
    border: 1px solid #f8f8f8 !important;
    background-color: #f8f8f8 !important;
    color: #929292 !important;
}
.wpcf7 .tc input[type=submit]:hover {
    box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.3);
    background-color: #fff;
    color: #442f19;
    transition: all 0.25s;
}
.wpcf7 .tc input[type=submit]:focus {
    outline: 0;
    border: 1px #F6B888 solid;
    box-shadow: 0 0 2px 2px rgba(0, 93, 59, 0.5);
}

.wpcf7-text {
    width: 100%;
}

.form_row {
    display: flex;
    margin-bottom: 30px;
    padding: 0 20px 30px 20px;
    border-bottom: 1px dotted #ccc;
    font-size: 16px;
}
.form_row .form_label {
    width: 300px;
	display: flex;
    align-items: center;
}
.form_row .form_label .required {
    display: inline-block;
    color: #fff;
    font-weight: normal;
    font-size: 12px;
    padding: 2px 4px 0;
    background: #cc0000;
    margin-right: 10px;
    border-radius: 3px;
}
.form_row .form_label .any {
    display: inline-block;
    color: #444;
    font-weight: normal;
    font-size: 12px;
    padding: 0 4px;
    background: #CCC;
    margin-right: 10px;
    border-radius: 3px;
}
.form_row .form_input {
    width: calc(100% - 300px);
}
.form_row .form_input_post {
    width: 180px;
}
.form_row .form_input_post_txt {
    color: #b20000;
    font-weight: normal;
    font-size: 13px;
}

.form_row.last_row {
    padding-bottom: 0;
    border-bottom: none;
}

.wpcf7 .form_input_post input[type=tel],
.wpcf7 .form_input input[type=email],
.wpcf7 .form_input input[type=tel],
.wpcf7 .form_input input[type=text],
.wpcf7 .form_input_post input[type=text],
.wpcf7 .form_input textarea {
    position: relative;
    border-left: 2px solid #F6B888;
}

/* フォームの装飾ここから */
/* チェックボックス */
.wpcf7 .form_input input[type=checkbox] {
    display: none;
}
.wpcf7 .form_input input[type=checkbox] + span {
    cursor: pointer;
    position: relative;
    margin: 0;
    padding: 0 1em 0 1.8em;
    font-size: inherit;
    box-sizing: border-box;
    transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=checkbox] + span:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.24em;
    height: 1.24em;
    border: 1px solid #F6B888;
    border-radius: 4px;
    background-color: #fefefe;
    box-sizing: border-box;
}
.wpcf7 .form_input input[type=checkbox] + span:after {
    content: "";
    opacity: 0;
    display: block;
    position: absolute;
    top: 0.15em;
    left: 0.44em;
    width: 0.4em;
    height: 0.8em;
    border-bottom: 3px solid #F6B888;
    border-right: 3px solid #F6B888;
    box-sizing: border-box;
    transform: rotate(40deg);
    transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=checkbox]:checked + span {
    color: #666;
    transition: all 0.25s ease;
}
.wpcf7 .form_input input[type=checkbox]:checked + span:before {
    opacity: 1;
    border: 1px solid #F6B888;
    box-shadow: 0 0 2px 2px rgba(0, 93, 59, 0.5);
    background-color: #F6B888;
    transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=checkbox]:checked + span:after {
    opacity: 1;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    transition: opacity 0.25s ease;
}

/* ラジオボタン */
.wpcf7 .form_input input[type=radio] {
    display: none;
}
.wpcf7 .form_input input[type=radio] + span {
    cursor: pointer;
    position: relative;
    margin: 0;
    padding: 0 1em 0 1.8em;
    font-size: inherit;
    box-sizing: border-box;
    transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=radio] + span:before {
    content: "";
    display: block;
    position: absolute;
    top: 0.3em;
    left: 0;
    width: 1em;
    height: 1em;
    border: 1px solid #666;
    border-radius: 50%;
    background-color: #fefefe;
    box-sizing: border-box;
    transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=radio] + span:after {
    content: "";
    display: block;
    opacity: 0;
    position: absolute;
    box-sizing: border-box;
    transition: opacity 0.25s ease;
}
.wpcf7 .form_input input[type=radio]:checked + span:before {
    box-shadow: 0 0 2px 2px rgba(0, 93, 59, 0.5);
}
.wpcf7 .form_input input[type=radio]:checked + span:after {
    opacity: 1;
    top: 0.3em;
    left: 0;
    width: 1em;
    height: 1em;
    background-color: #F6B888;
    border-radius: 50%;
    box-sizing: border-box;
    transition: opacity 0.25s ease;
}

/* セレクト */
.wpcf7 .form_input span.select-wrap {
    position: relative;
    width: 250px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.wpcf7 .form_input span.select-wrap:after {
    content: "";
    pointer-events: none;
    position: absolute;
    display: block;
    width: 0.6em;
    height: 0.6em;
    top: 50%;
    right: 0.8em;
    margin-top: -3px;
    border-bottom: 1px solid #F6B888;
    border-right: 1px solid #F6B888;
    transform: rotate(45deg) translateY(-50%);
    transform-origin: 50% 0;
    box-sizing: border-box;
}
.wpcf7 .form_input span.select-wrap:focus-within::after {
    border-bottom: 1px solid #F6B888;
    border-right: 1px solid #F6B888;
}

.wpcf7 .form_input select {
    cursor: pointer;
    width: 250px;
    max-width: 100%;
    margin: 0;
    padding: 0.5em 3.5em 0.5em 1em;
    border: 1px solid #F6B888;
    border-radius: 4px;
    box-shadow: none;
    background-color: #fefefe;
    background-image: linear-gradient(90deg, rgba(0, 93, 59, 0.7), rgba(0, 93, 59, 0.7));
    background-position: 100% 0;
    background-size: 2em 3.5em;
    background-repeat: no-repeat;
    color: inherit;
    font-size: inherit;
    line-height: 1;
    box-sizing: border-box;
    transition: border-color 0.2s ease, outline 0.2s ease;
    appearance: none;
    position: relative;
}
.wpcf7 .form_input select:-ms-expand {
    display: none;
}

.wpcf7 .form_input span.select-wrap {
    position: relative;
    width: 250px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.wpcf7 .form_input span.select-wrap:after {
    content: "";
    pointer-events: none;
    position: absolute;
    display: block;
    width: 0.6em;
    height: 0.6em;
    top: 60%;
    right: 0.8em;
    margin-top: -3px;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    transform-origin: 50% 0;
    box-sizing: border-box;
}

/* テキストフィールド フォーカス時 */
    .wpcf7 .form_input input[type=text]:focus,
    .wpcf7 .form_input input[type=tel]:focus,
    .wpcf7 .form_input input[type=email]:focus,
    .wpcf7 .form_input input[type=url]:focus,
    .wpcf7 .form_input input[type=date]:focus,
    .wpcf7 .form_input input[type=number]:focus,
    .wpcf7 .form_input_post input[type=text]:focus,
    .wpcf7 .form_input textarea:focus,
    .wpcf7 .form_input_post input[type=tel]:focus {
    outline: 0;
    border: 1px #666 solid;
    box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.3);
}

.wpcf7 .form_input select:focus {
    outline: 0;
    border: 1px #666 solid;
    box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.3);
}

.wpcf7-response-output {
    font-size: 15px;
}
  
@media screen and (max-width: 767px) {
    .wpcf7-form textarea {
        width: 100% !important;
        /*本文*/
    }
    .wpcf7-form input {
        max-width: 100% !important;
        /*ラジオボタン、チェックボタン*/
    }
    .wpcf7-submit {
        width: 100%;
    }
    .form_row {
        flex-direction: column;
        margin-bottom: 20px;
        padding: 0 0 20px;
		font-size: 14px;
    }
    .form_row .form_label {
        width: 100%;
        margin-bottom: 10px;
    }
    .form_row .form_input {
        width: 100%;
    }
    .wpcf7 .tc input[type=submit] {
        padding: 14px;
        font-weight: normal;
        letter-spacing: 0.05em;
        font-size: 16px;
    }
    .wpcf7-radio .wpcf7-list-item,
    .wpcf7-checkbox .wpcf7-list-item {
        margin-left: 0;
        display: block;
    }
    .ajax-loader {
        width: auto;
    }
    .wpcf7-response-output {
        font-size: 14px;
    }
}