/*-------------------------------------------------------------

Parts -- 共通パーツ

-------------------------------------------------------------*/
/*-------------------------------------------------------------
  見出し H3
-------------------------------------------------------------*/
.headline_h3 {
	position: relative;
	padding-bottom: 5px;
	padding-left: 10px;
	border-bottom: 4px solid #b4cfca;
	font-size: 24px;
	margin: 30px 0 30px 0;
}
.headline_h3::after {
	position: absolute;
	bottom: -4px;
	left: 0;
	z-index: 2;
	content: '';
	width: 20%;
	height: 4px;
	background-color: #00826d;
}

/*-------------------------------------------------------------
  見出し H4
-------------------------------------------------------------*/
.headline_h4{
	width:100%;
	padding: 8px 8px 8px 35px;
	margin-bottom:20px;
	margin-top:50px;
	border-bottom: 2px solid #00826d;
/*	background-color: #daedea; */
	position: relative;
}

.headline_h4:before {
    border-radius: 50%;
    width: 25px;
    height: 25px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.6em;
    content: "";
    background: #00826d;
}

@media screen and (max-width: 768px) {
	.headline_h4{
		margin-bottom:15px;
		margin-top:20px;
	}
}

/*-------------------------------------------------------------
  見出し H5
-------------------------------------------------------------*/
.headline_h5{
	width:100%;
	margin-bottom:10px;
	margin-top:30px;
	font-weight: bold;
}

/*-------------------------------------------------------------
  見出し H5 下に緑の点線
-------------------------------------------------------------*/
.hd_h5_underline{
	width:100%;
	margin-bottom:10px;
	font-weight: bold;
	border-bottom: #00826d dashed 1px;
}

/*-------------------------------------------------------------
  リストタグ（数字なし）
-------------------------------------------------------------*/
ul.list_style{
    width: 100%;
    list-style: none;
    padding:0;
    margin:10px 0;
}
ul.list_style li{
    list-style-type: none;
    position: relative;
    padding-left: 0.6em;
}
ul.list_style li:before{
    border-radius: 50%;
    width: 5px;
    height: 5px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.6em;
    content: "";
    background: #00826d;
}

/*-------------------------------------------------------------
  リストタグ（数字あり）
-------------------------------------------------------------*/
ol.list_number_style{
	counter-reset:list;
	list-style-type:none;
	padding: 20px 0;
}
ol.list_number_style li{
	position:relative;
	padding: 7px 5px 7px 40px;
	margin: 7px 0 10px 10px;
}
ol.list_number_style li:before{
	counter-increment: list;
	content: counter(list);
	position: absolute;
	left: 0px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	color: #fff;
	background: #00826d;
	border-radius: 50%;
	top: 5px;
	font-weight: bold;
}

/*-------------------------------------------------------------
  囲み
-------------------------------------------------------------*/
.greenline_box{
	width:100%;
	margin:30px 0;
	padding: 30px;
	background-color: #F5F3EB;
}

@media screen and (max-width: 768px) {
	.greenline_box{
		margin:20px 0;
		padding: 15px;
	}
}

/*-------------------------------------------------------------
  リンクボタン（中央に大きく配置）
-------------------------------------------------------------*/
.green_link_btn{
	width: 100%;
	margin: 50px 0;
	text-align: center;
}
.green_link_btn a{
	display: inline-block;
	width: 50%;
	text-align: center;
	padding: 15px 10px;
	background-color: #083b10;
	color: #fff;
	border-radius: 10px;
}
.green_link_btn a:hover{
	background-color: #006666;
}
@media screen and (max-width: 768px) {
	.green_link_btn a{
		width: 80%;
	}
}

/*-------------------------------------------------------------
  テーブル
-------------------------------------------------------------*/
.info_table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px;
}
.info_table thead th{
	background-color: #083b10;
	padding: 10px;
}
.info_table tbody th{
	background-color: #F5F3EB;
	padding: 10px;
	color: #083b10;
	vertical-align: middle;
	text-align: left;
}
.info_table tbody td{
	padding: 10px;
	border: solid 1px #F5F3EB;
	vertical-align: middle;
}
@media screen and (max-width: 768px) {
	/* テーブルをレスポンシブする場合はこのclassをtableタグの中に入れる */
	.table_width{
		width: 800px;
	}
}

/*-------------------------------------------------------------
  レイアウト：BOXを横に3つに並べる（等幅）
-------------------------------------------------------------*/
.layout_img3{
	width: 100%;
	margin: 20px 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.layout_img3 .box_img3{
	width : 33.33333%;
	width : -webkit-calc(100% / 3);
	width : calc(100% / 3);
	padding: 15px;
}
@media screen and (max-width: 768px) {
	.layout_img3 .box_img3{
		width : 100%;
		padding: 15px 0;
	}	
}

/*-------------------------------------------------------------
  レイアウト：BOXを横に2つに並べる（等幅）
-------------------------------------------------------------*/
.layout_img2{
	width: 100%;
	margin: 20px 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.layout_img2 .box_img2{
	width : 50%;
	padding: 15px;
}
@media screen and (max-width: 768px) {
	.layout_img2 .box_img2{
		width : 100%;
		padding: 15px 0;
	}	
}

/*-------------------------------------------------------------
  レイアウト：BOXを横に2つに並べる（非等幅）
-------------------------------------------------------------*/
.layout_img_nonespace{
	width: 100%;
	margin: 20px 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
/* 横幅20% */
.layout_img_nonespace .box_img20{
	width : 20%;
}
/* 横幅30% */
.layout_img_nonespace .box_img30{
	width : 30%;
}
/* 横幅40% */
.layout_img_nonespace .box_img40{
	width : 40%;
}
/* 横幅60% */
.layout_img_nonespace .box_img60{
	width : 60%;
}
/* 横幅70% */
.layout_img_nonespace .box_img70{
	width : 70%;
}
/* 横幅80% */
.layout_img_nonespace .box_img80{
	width : 80%;
}
/* 間隔を開ける */
.layout_img_nonespace div:nth-child(odd){
	padding-right: 15px;
}
.layout_img_nonespace div:nth-child(even){
	padding-left: 15px;
}
@media screen and (max-width: 768px) {
	.layout_img_nonespace .box_img20, .layout_img_nonespace .box_img30, .layout_img_nonespace .box_img40,
	.layout_img_nonespace .box_img60, .layout_img_nonespace .box_img70, .layout_img_nonespace .box_img80{
		width : 100%;
		padding: 10px 0;
	}
	.layout_img_nonespace div:nth-child(odd){
		padding-right: 0;
	}
	.layout_img_nonespace div:nth-child(even){
		padding-left: 0;
	}

}

/*-------------------------------------------------------------
  メールフォーム
-------------------------------------------------------------*/
.form_style{
	width:100%;
	margin: 20px 0;
}
.form_table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px;
}
.form_table th{
	width: 30%;
	background-color: #daedea;
	padding: 10px;
	color: #00826d;
	vertical-align: middle;
	text-align: left;
}
.form_table td{
	width: 70%;
	padding: 10px;
	vertical-align: middle;
}
/* 必須 */
span.required {
	padding: 3px 5px;
	background-color: #f00;
	border-radius: 5px;
	display: inline-block;
	font-size: 14px;
	margin-right: 10px;
	color: #fff;
}
.form_style .input_txt {
	width:100%;
	padding: 8px;
}
.form_style .input_tel {
	padding: 8px;
}
.form_style .input_select {
	padding: 8px;
}
.form_style .txtarea_cmt {
	width: 100%;
	padding: 8px;
}
.form_style .submit_btn,
.form_style .back_btn {
	margin: 10px 0;
	padding: 10px 20px;
	background-color: #083b10;
	border: 1px solid #083b10;
	color:#fff;
	border-radius: 10px;
	font-size: 16px;
	cursor : pointer;
}
.form_style .submit_btn:hover,
.form_style .back_btn:hover {
	background-color: #fff;
	color: #083b10;
}
/* エラーを赤字に */
.mw_wp_form .error{
	color: #f00 !important;
}

@media screen and (max-width: 768px) {
	.form_table th{
		display: block;
		width: 100%;
	}
	.form_table td{
		display: block;
		width: 100%;
		margin-bottom: 10px;
	}
}
/* tableの中のtable用 */
.form_subtable{
	width: 100%;
	border-collapse: separate;
	border-spacing: 5px;
}
.form_subtable th{
	width: 35%;
	padding: 5px;
	color: #00826d;
	text-align: left;
	background-color: #fff;
}
.form_subtable td{
	width: 65%;
	padding: 5px;
}
@media screen and (max-width: 768px) {
	.form_subtable th{
		width: 100%;
	}
	.form_subtable td{
		width: 100%;
	}
}

/*-------------------------------------------------------------
  動画用
-------------------------------------------------------------*/
/* 動画1つの場合 -------------------------------------- */
.movie_box{
	width:100%;
	margin: 30px auto;
	text-align: center;
}
.movie_box video{
	width:640px;
}
@media screen and (max-width: 768px) {
	.movie_box{
		margin: 20px auto;
	}
	.movie_box video{
		width:100%;
	}	
}
/* 動画1つの場合（ワイド版） -------------------------------------- */
.movie_wide_box{
	width:100%;
	margin: 30px auto;
	text-align: center;
}
.movie_wide_box video{
	width:800px;
}
@media screen and (max-width: 768px) {
	.movie_wide_box{
		margin: 20px auto;
	}
	.movie_wide_box video{
		width:100%;
	}	
}
/* 動画2つ横並びの場合 -------------------------------------- */
.movie_double_area{
	width:100%;
	margin: 20px auto;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.movie_double_area .double_box{
	width:46%;
	margin: 10px 2%;
	text-align: center;
}
.movie_double_area .double_box video{
	width:100%;
}
@media screen and (max-width: 768px) {
	.movie_double_area .double_box{
		width:100%;
		margin: 10px 0%;
	}
}
/* 動画3つ横並びの場合 -------------------------------------- */
.movie_triple_area{
	width:100%;
	margin: 20px auto;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}
.movie_triple_area .triple_box{
	width:31%;
	margin: 10px 1%;
	text-align: center;
}
.movie_triple_area .triple_box video{
	width:100%;
}
@media screen and (max-width: 768px) {
	.movie_triple_area .triple_box{
		width:100%;
		margin: 10px 0%;
	}
}

/*-------------------------------------------------------------
  各ページ下部　前ページに戻るためのリンクボタン
-------------------------------------------------------------*/
.pageback_area{
	width: 100%;
	margin: 50px 0 0 0;
	text-align: center;
}
.pageback_area a.pageback_btn{
	min-width: 300px;
	padding: 10px;
	border:solid 3px #daedea;
	display: inline-block;
	position: relative;
	color: #083b10;
	margin: 0 5px;
}
.pageback_area a.pageback_btn::before{
	position: absolute;
	top:0;
	bottom:0;
	left:15px;
	margin: auto;
    content: "";
    vertical-align: middle;
	width: 8px;
    height: 8px;
    border-bottom: 4px solid #abd4cd;
    border-left: 4px solid #abd4cd;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.pageback_area a.pageback_btn:hover{
	background-color: #daedea;
}

@media screen and (max-width: 768px) {
	.pageback_area a.pageback_btn{
		min-width: initial;
		width: 90%;
		margin: 0 5px 10px 5px;
	}

}

/*-------------------------------------------------------------
  20240816 add 料金表用の税込み表記CSS
-------------------------------------------------------------*/
.price_tax{
	font-size:14px;
	color:#999;
}