@charset "UTF-8";

:root {
	--color_main: 0, 143, 70; /* #008f11 */
	--color_text: 30, 30, 30; /* #1e1e1e */
	--color_gray: 220, 220, 220; /* #dcdcdc */
	--color_red: 255, 00, 00; /* #ff0000 */
	--color_blue: 91, 193, 216; /* #5bc1d8 */
	--color_green: 0, 143, 70; /* #008f11 */
	--color_yellow: 255, 255, 0; /* #ffff00 */
	--color_orange: 248, 207, 122; /* #f8cf7a */
	--color_pink: 236, 64, 122; /* #ec407a */
	--color_gold: 181, 149, 74; /* #b5954a */

	--font_serif: "Noto Serif JP", serif;
	--font_sans: "Noto Sans JP", serif;

	--text_size_small: 12px;
	--text_size_medium: 16px;
	--text_size_large: 20px;

	--contents_width_l: 1200px;
	--contents_width_m: 990px;
	--contents_width_s: 780px;
	--contents_width_sp: 90%;
	--col_main: 615px;
	--col_side: 220px;
}

/*
// カラー
*/
/* テキストカラー */
.color_text {
	/* ベーステキストカラー */
	color: rgb(var(--color_text));
}
.color_main {
	/* メインカラー */
	color: rgb(var(--color_main));
}
.color_gray {
	/* グレイ */
	color: rgb(var(--color_gray));
}
.color_red {
	/* 赤 */
	color: rgb(var(--color_red));
}
.color_blue {
	/* 青 */
	color: rgb(var(--color_blue));
}
.color_green {
	/* 緑 */
	color: rgb(var(--color_green));
}
.color_yellow {
	/* 黄色 */
	color: rgb(var(--color_yellow));
}
.color_orange {
	/* オレンジ */
	color: rgb(var(--color_orange));
}
.color_pink {
	/* ピンク */
	color: rgb(var(--color_pink));
}
.color_gold {
	/* ゴールド */
	color: rgb(var(--color_gold));
}


/*
// FONT-VARIABLE

JP
font-family: noto-sans-cjk-jp, sans-serif;
font-weight: R400,B700;
font-style: normal;

EN
font-family: aktiv-grotesk-georgian, sans-serif;
font-weight: R400,B700;
font-style: normal;
*/
.font_serif {
	font-family: var(--font_serif);
	font-optical-sizing: auto;
	font-style: normal;
}
.font_serif strong,
strong.font_serif {
	font-family: var(--font_serif);
	font-weight: 700;
	font-optical-sizing: auto;
	font-style: normal;
}
.font_sans {
	font-family: var(--font_sans);
	font-optical-sizing: auto;
	font-style: normal;
}
.font_sans strong,
strong .font_sans {
	font-family: var(--font_sans);
	font-weight: 700;
	font-optical-sizing: auto;
	font-style: normal;
}

/*
// 左右中央寄せ
*/
/* 画像 左右中央寄せ */
.img_center,
.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.img_left,
.alignleft {
	float: left;
	margin: 0 1em 1em 0;
}
.img_right,
.alignright {
	float: right;
	margin: 0 0 1em 1em;
}

/* テキスト 左右中央寄せ */
.center {
	text-align: center;
}
.left {
	text-align: left !important;
}
.right {
	text-align: right !important;
}

/* 画像はスマホでは全幅 */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.img_left,
	.img_right,
	.img_center,
	.aligncenter,
	.alignleft,
	.alignright {
		clear: both;
		display: block;
		width: 100%;
		height: auto;
		margin: 0 0 1em;
	}
}

/*
// 表示設定
*/
.none,
.is_hide {
	display: none;
}
.is_active {
	display: block;
}

/*
// 各デバイスのみ表示
*/
/* スマホでPC用非表示 */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.pc_only {
		display: none !important;
	}
	.sp_only {
		display: inherit;
	}
}
/* PCでスマホ用非表示 */
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.pc_only {
		display: inherit;
	}
	.sp_only {
		display: none !important;
	}
}
/* TABも含めるかどうか */
@media screen and (min-width: 769px) and (max-width: 1180px) { /* Tablet用 メディアクエリー */ 
	.and_tab {
		display: inherit !important;
	}
	.not_tab {
		display: none !important;
	}
}


/* 周囲にシャドウ */
.shadow {
	-webkit-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
	box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
}

/*	改行しない */
.nowrap {
	white-space: nowrap;
}

/*
// リストスタイル
*/
.list {
	margin-left: 2.5em;
	margin-bottom: 1.5em;
}
ul.list {
	list-style-type: disc;
}
ol.list {
	list-style-type: decimal;
}

.list li {
	margin-bottom: 1em;
}

.list li:last-child {
	margin-bottom: 0;
}

.list_none {
	/*リストスタイル 無し*/
	list-style-type: none !important;
	margin-left: 0;
}

.list_disc {
	/*黒丸*/
	list-style-type: disc;
}

.list_decimal {
	/*数字*/
	list-style-type: decimal;
}

.list_circle {
	/*白丸*/
	list-style-type: circle;
}

.list_square {
	/*黒四角*/
	list-style-type: square;
}

.list_upper_latin {
	/*大文字アルファベット*/
	list-style-type: upper-latin;
}

.list_upper_roman {
	/*大文字のローマ数字*/
	list-style-type: upper-roman;
}

/*
// iframeレスポンシブ対応
*/
iframe {
	max-width: 100%;
}

.gmap {
	position: relative;
	aspect-ratio: 6/3;
}

.gmap iframe {
	width: 100%;
	height: 100%;
}

/*
// CLEARFIX
*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/*
// 重要度BOX
*/
.box_wide {
	border: solid 1px var(--color_gray);
	width: 100vw;
	margin: 0 calc(50% - 50vw) 2em;
	padding: 20px calc(50vw - 50%);
}

.box_important {
	border: solid 1px var(--color_red);
	background-color: rgba(var(--color_red), 0.03);
	max-width: 100%;
	padding: 5%;
}

.box_warning {
	border: solid 1px var(--color_yellow);
	background-color: rgba(var(--color_yellow), 0.03);
	max-width: 100%;
	padding: 5%;
}

.box_info {
	background-color: #e3f6e9;
	max-width: 100%;
	padding: 5%;
}

.box_success {
	border: solid 1px var(--color_green);
	background-color: rgba(var(--color_green), 0.03);
	max-width: 100%;
	padding: 5%;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.box_wide {
		padding: 20px calc(50vw - 50%);
	}

	.box_important {
		padding: 50px;
	}

	.box_warning {
		padding: 50px;
	}

	.box_info {
		padding: 50px;
	}

	.box_success {
		padding: 50px;
	}
}

/*
// TEXT SIZE
*/
.text_size_base {
	font-size: var(--text_size_medium);
}

.text_size_large {
	font-size: 150%;
}

.text_size_small {
	font-size: 75%;
}

.text_size_sub {
	font-size: 10px;
}

/*
// LINK
*/
.contents a {
	text-decoration: none;
}

.contents a:hover {
	color: rgba(var(--color_text), 1);
	text-decoration: underline;
}
.wp-block-button__link{
	/*ボタンブロック用*/
	text-decoration: none;
	font-size: 0.875rem !important;
}
.wp-block-button__link:hover{
	/*ボタンブロック用*/
	background-color: #43484d !important;
	color: #fff !important;
	text-decoration: none !important;
}

/*
// コンテンツBASE
*/
body, html {
	position: relative;
	height: 100%;
	z-index: 0;
	-webkit-text-size-adjust: 100%;
}
html{
	/*
	固定ヘッダーのページ内リンクズレ対策
	※JSのFIXEDヘッダーのページ内リンク位置のズレ調整も併せて必要
	*/
	scroll-padding-top: 60px;
	/* スムーススクロール */
	/* scroll-behavior: smooth; */
}
html.text_size_small {
	font-size: var(--text_size_small);
}
html.text_size_medium {
	font-size: var(--text_size_medium);
}
html.text_size_large {
	font-size: var(--text_size_large);
}
body {
	position: relative;
	color: rgb(var(--color_text));
	line-height: 2;
	font-family: var(--font_sans);
	font-weight: 500;
	letter-spacing: 0.05em;
}
body.js-nav-active{
	/*ナビやモーダルオープン時の背景スクロール停止用*/
	height: 100%;
	overflow: hidden;
}
#wrapper{
	position: relative;
	overflow: hidden;
}
.contents {
	padding: 0;
}
/* body:has(#wpadminbar) header{
	margin-top: 32px;
} */
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	html{
		/*
		固定ヘッダーのページ内リンクズレ対策
		※JSのFIXEDヘッダーのページ内リンク位置のズレ調整も併せて必要
		*/
		scroll-padding-top: 110px;
	}
}

/*
// コンテンツ幅
//
//L：1200px
//M：1000px
//S：800px
//SP：90%
//FULL：100%
*/
.contents_width_l,
.contents_width_m,
.contents_width_s {
	width: 100%;
}
.contents_width_sp {
	width: var(--contents_width_sp);
	margin-left: auto;
	margin-right: auto;
}
.contents_width_sp img {
	max-width: 100%;
}
.contents_width_full {
	width: 100%;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.contents_width_l {
		width: var(--contents_width_l);
		margin-left: auto;
		margin-right: auto;
	}
	.contents_width_m {
		width: var(--contents_width_m);
		margin-left: auto;
		margin-right: auto;
	}
	.contents_width_s {
		width: var(--contents_width_s);
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (min-width: 961px) and (max-width: 1200px) { /* Tablet用 メディアクエリー */ }
/* デバイス共通マージン */
.mt0,
.mt_none {
	margin-top: 0;
}

.mt10 {
	margin-top: 10px;
}

.mt20 {
	margin-top: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mt40 {
	margin-top: 40px;
}

.mt50 {
	margin-top: 50px;
}

.mt60 {
	margin-top: 60px;
}

.mt70 {
	margin-top: 70px;
}

.mt80 {
	margin-top: 80px;
}

.mt90 {
	margin-top: 90px;
}

.mt100 {
	margin-top: 100px;
}

.mb0,
.mb-none {
	margin-bottom: 0;
}

.mb10 {
	margin-bottom: 10px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb60 {
	margin-bottom: 60px;
}

.mb70 {
	margin-bottom: 70px;
}

.mb80 {
	margin-bottom: 80px;
}

.mb90 {
	margin-bottom: 90px;
}

.mb100 {
	margin-bottom: 100px;
}

/* スマホ用マージン */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_mt0,
	.sp_mt_none {
		margin-top: none;
	}
	.sp_mt10 {
		margin-top: 10px;
	}
	.sp_mt20 {
		margin-top: 20px;
	}
	.sp_mt30 {
		margin-top: 30px;
	}
	.sp_mt40 {
		margin-top: 40px;
	}
	.sp_mt50 {
		margin-top: 50px;
	}
	.sp_mt60 {
		margin-top: 60px;
	}
	.sp_mt70 {
		margin-top: 70px;
	}
	.sp_mt80 {
		margin-top: 80px;
	}
	.sp_mt90 {
		margin-top: 90px;
	}
	.sp_mt100 {
		margin-top: 100px;
	}
	.sp_mb0,
	.sp_mb-none {
		margin-bottom: 0;
	}
	.sp_mb10 {
		margin-bottom: 10px;
	}
	.sp_mb20 {
		margin-bottom: 20px;
	}
	.sp_mb30 {
		margin-bottom: 30px;
	}
	.sp_mb40 {
		margin-bottom: 40px;
	}
	.sp_mb50 {
		margin-bottom: 50px;
	}
	.sp_mb60 {
		margin-bottom: 60px;
	}
	.sp_mb70 {
		margin-bottom: 70px;
	}
	.sp_mb80 {
		margin-bottom: 80px;
	}
	.sp_mb90 {
		margin-bottom: 90px;
	}
	.sp_mb100 {
		margin-bottom: 100px;
	}
}
/* PC用マージン */
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.pc_mt0,
	.pc_mt_none {
		margin-top: none;
	}
	.pc_mt10 {
		margin-top: 10px;
	}
	.pc_mt20 {
		margin-top: 20px;
	}
	.pc_mt30 {
		margin-top: 30px;
	}
	.pc_mt40 {
		margin-top: 40px;
	}
	.pc_mt50 {
		margin-top: 50px;
	}
	.pc_mt60 {
		margin-top: 60px;
	}
	.pc_mt70 {
		margin-top: 70px;
	}
	.pc_mt80 {
		margin-top: 80px;
	}
	.pc_mt90 {
		margin-top: 90px;
	}
	.pc_mt100 {
		margin-top: 100px;
	}
	.pc_mb0,
	.pc_mb-none {
		margin-bottom: 0;
	}
	.pc_mb10 {
		margin-bottom: 10px;
	}
	.pc_mb20 {
		margin-bottom: 20px;
	}
	.pc_mb30 {
		margin-bottom: 30px;
	}
	.pc_mb40 {
		margin-bottom: 40px;
	}
	.pc_mb50 {
		margin-bottom: 50px;
	}
	.pc_mb60 {
		margin-bottom: 60px;
	}
	.pc_mb70 {
		margin-bottom: 70px;
	}
	.pc_mb80 {
		margin-bottom: 80px;
	}
	.pc_mb90 {
		margin-bottom: 90px;
	}
	.pc_mb100 {
		margin-bottom: 100px;
	}
}

/*
// FLEXBOX
*/
.flex {
	clear: both;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
			flex-wrap: wrap;
	-webkit-box-pack: justify;
			-ms-flex-pack: justify;
					justify-content: space-between;
	margin-bottom: 1.5em;
}

.flex_item:nth-last-of-type(1) {
	margin-bottom: 0;
}

.flex_item img {
	max-width: 100%;
	height: auto;
}

.flex_1 .flex_item {
	width: 100%;
	margin-right: 0;
}

.flex_2 .flex_item {
	width: 48%;
	margin-right: 4%;
}

.flex_2 .flex_item:nth-of-type(even) {
	margin-right: 0;
}

.flex_3 .flex_item {
	width: 30%;
	margin-right: 5%;
}

.flex_3 .flex_item:nth-of-type(3n) {
	margin-right: 0;
}

.flex_4 .flex_item {
	width: 22%;
	margin-right: 4%;
}

.flex_4 .flex_item:nth-of-type(4n) {
	margin-right: 0;
}

.flex_5 .flex_item {
	width: 18.4%;
	margin-right: 2%;
}

.flex_5 .flex_item:nth-of-type(5n) {
	margin-right: 0;
}

/*
// SP FLEXBOX
*/
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_flex_1 .flex_item {
		width: 100% !important;
	}
	.sp_flex_1 .flex_item:last-of-type {
		margin-right: 0;
	}
	.sp_flex_2 .flex_item {
		width: 46% !important;
		margin-right: 7% !important;
	}
	.sp_flex_2 .flex_item:nth-of-type(even) {
		margin-right: 0 !important;
	}
	.sp_flex_3 .flex_item {
		width: 30%;
		margin-right: 5%;
	}
	.sp_flex_3 .flex_item:nth-of-type(3n) {
		margin-right: 0;
	}
	.sp_flex_4 .flex_item {
		width: 23.5%;
		margin-right: 2%;
	}
	.sp_flex_4 .flex_item:nth-of-type(4n) {
		margin-right: 0;
	}
}
/*
// PC FLEXBOX
*/
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.pc_flex_2 .flex_item {
		width: 48%;
		margin-right: 4%;
	}
	.pc_flex_2 .flex_item:nth-of-type(even) {
		margin-right: 0;
	}
	.pc_flex_3 .flex_item {
		width: 30%;
		margin-right: 5%;
	}
	.pc_flex_3 .flex_item:nth-of-type(3n) {
		margin-right: 0;
	}
	.pc_flex_4 .flex_item {
		width: 22%;
		margin-right: 4%;
	}
	.pc_flex_4 .flex_item:nth-of-type(4n) {
		margin-right: 0;
	}
	.pc_flex_5 .flex_item {
		width: 18.4%;
		margin-right: 2%;
	}
	.pc_flex_5 .flex_item:nth-of-type(5n) {
		margin-right: 0;
	}
}
/*
// 共通デバイス 表示順序
*/
.order_1 {
	-webkit-box-ordinal-group: 2;
			-ms-flex-order: 1;
					order: 1;
}

.order_2 {
	-webkit-box-ordinal-group: 3;
			-ms-flex-order: 2;
					order: 2;
}

.order_3 {
	-webkit-box-ordinal-group: 4;
			-ms-flex-order: 3;
					order: 3;
}

.order_4 {
	-webkit-box-ordinal-group: 5;
			-ms-flex-order: 4;
					order: 4;
}

.order_5 {
	-webkit-box-ordinal-group: 6;
			-ms-flex-order: 5;
					order: 5;
}

.order_6 {
	-webkit-box-ordinal-group: 7;
			-ms-flex-order: 6;
					order: 6;
}

.order_7 {
	-webkit-box-ordinal-group: 8;
			-ms-flex-order: 7;
					order: 7;
}

.order_8 {
	-webkit-box-ordinal-group: 9;
			-ms-flex-order: 8;
					order: 8;
}

.order_9 {
	-webkit-box-ordinal-group: 10;
			-ms-flex-order: 9;
					order: 9;
}

.order_10 {
	-webkit-box-ordinal-group: 11;
			-ms-flex-order: 10;
					order: 10;
}

.order_11 {
	-webkit-box-ordinal-group: 12;
			-ms-flex-order: 11;
					order: 11;
}

.order_12 {
	-webkit-box-ordinal-group: 13;
			-ms-flex-order: 12;
					order: 12;
}

/*
// SP 表示順序
*/
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_order_1 {
		-webkit-box-ordinal-group: 2;
				-ms-flex-order: 1;
						order: 1;
	}
	.sp_order_2 {
		-webkit-box-ordinal-group: 3;
				-ms-flex-order: 2;
						order: 2;
	}
	.sp_order_3 {
		-webkit-box-ordinal-group: 4;
				-ms-flex-order: 3;
						order: 3;
	}
	.sp_order_4 {
		-webkit-box-ordinal-group: 5;
				-ms-flex-order: 4;
						order: 4;
	}
	.sp_order_5 {
		-webkit-box-ordinal-group: 6;
				-ms-flex-order: 5;
						order: 5;
	}
	.sp_order_6 {
		-webkit-box-ordinal-group: 7;
				-ms-flex-order: 6;
						order: 6;
	}
	.sp_order_7 {
		-webkit-box-ordinal-group: 8;
				-ms-flex-order: 7;
						order: 7;
	}
	.sp_order_8 {
		-webkit-box-ordinal-group: 9;
				-ms-flex-order: 8;
						order: 8;
	}
	.sp_order_9 {
		-webkit-box-ordinal-group: 10;
				-ms-flex-order: 9;
						order: 9;
	}
	.sp_order_10 {
		-webkit-box-ordinal-group: 11;
				-ms-flex-order: 10;
						order: 10;
	}
}
/*
// PC 表示順序
*/
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.pc_order_1 {
		-webkit-box-ordinal-group: 2;
				-ms-flex-order: 1;
						order: 1;
	}
	.pc_order_2 {
		-webkit-box-ordinal-group: 3;
				-ms-flex-order: 2;
						order: 2;
	}
	.pc_order_3 {
		-webkit-box-ordinal-group: 4;
				-ms-flex-order: 3;
						order: 3;
	}
	.pc_order_4 {
		-webkit-box-ordinal-group: 5;
				-ms-flex-order: 4;
						order: 4;
	}
	.pc_order_5 {
		-webkit-box-ordinal-group: 6;
				-ms-flex-order: 5;
						order: 5;
	}
	.pc_order_6 {
		-webkit-box-ordinal-group: 7;
				-ms-flex-order: 6;
						order: 6;
	}
	.pc_order_7 {
		-webkit-box-ordinal-group: 8;
				-ms-flex-order: 7;
						order: 7;
	}
	.pc_order_8 {
		-webkit-box-ordinal-group: 9;
				-ms-flex-order: 8;
						order: 8;
	}
	.pc_order_9 {
		-webkit-box-ordinal-group: 10;
				-ms-flex-order: 9;
						order: 9;
	}
	.pc_order_10 {
		-webkit-box-ordinal-group: 11;
				-ms-flex-order: 10;
						order: 10;
	}
}
/*
// インプット
*/
input[type=text],
input[type=url],
input[type=search],
input[type=email],
input[type=password],
input[type=date],
input[type=tel] {
	width: 100%;
	max-width: 100%;
	padding: 8px;
	font-size: 16px;
	line-height: 1.8;
}

/*
// テキストエリア
*/
textarea {
	width: 100%;
	max-width: 100%;
	min-height: 4em;
	padding: 5px;
	font-size: 16px;
	line-height: 1.8;
}

/*
// チェックボックス
*/
input[type=checkbox] {
	border: solid 1px rgba(var(--color_main), 1);
	margin: 10px 8px 10px 0;
	vertical-align: -1px;
	overflow: auto;
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
}

/*
// ラジオボックス
*/
input[type=radio] {
	border-radius: 50%;
	border: solid 1px rgba(var(--color_main), 1);
	margin: 10px 8px 10px 0;
	vertical-align: -1px;
	overflow: auto;
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
}

/*
// セレクトボックス
*/
select {
	text-transform: none;
	display: block;
	width: 100%;
	height: 48px;
	padding: 8px 12px;
	font-size: 16px;
	border: solid 1px rgba(var(--color_main), 1);
	border-radius: 0 !important;
	/* -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); */
	/* box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); */
	-webkit-transition: border_color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
	transition: border_color ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
	transition: border_color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
	transition: border_color ease-in-out 0.15s, box-shadow ease-in-out 0.15s, -webkit-box-shadow ease-in-out 0.15s;
}

/*
// ラベル
*/
label {
	margin-right: 14px;
}

/*
// プレイスホルダー
*/
::-webkit-input-placeholder {
	color: rgba(0, 0, 0, 0.4);
}
::-moz-placeholder {
	color: rgba(0, 0, 0, 0.4);
}
:-ms-input-placeholder {
	color: rgba(0, 0, 0, 0.4);
}
::-ms-input-placeholder {
	color: rgba(0, 0, 0, 0.4);
}
::placeholder {
	color: rgba(0, 0, 0, 0.4);
}

/*
// 送信ボタン
*/
.submit_button input[type=submit] {
	background-color: rgb(var(--color_main));
	padding: 10px 40px;
	color: #fff;
}
.submit_button input[type=submit]:hover {
	background-color: rgba(var(--color_main), 0.8);
}

/*
// テーブル
*/
.table {
	border_collapse: collapse;
	border-bottom: solid 1px #787878;
	width: 100%;
	max-width: 100%;
	font-size: 0.875rem;
	line-height: 1.8;
}
.table th,.table td {
	position: relative;
	border-top: solid 1px #787878;
	text-align: left;
	padding: 18px;
}
.table th {
	border-top: solid 1px #787878;
	white-space: nowrap;
	vertical-align: top;
	font-size: 1rem;
	color: rgb(var(--color_main));
}
.table td {
	font-size: .875rem;
	font-weight: 400;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.table {
		font-size: 0.875rem;
	}
	.table th,.table td {
		padding: 22px 50px;
	}
	.table th {
		padding-right: 20px;
		font-size: 1.125rem;
	}
	.table td {
		padding-left: 0;
		font-size: 1rem;
	}
}
/*
// スライドテーブル
*/
.slide_table {
	display: block;
	overflow-x: auto;
	position: relative;
	width: 100%;
}
.slide_table .slide_table_item {
	min-width: 1000px;
}

/* スマホのみテーブルをスライド */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_slide_table {
		display: block;
		overflow-x: auto;
		position: relative;
		width: 100%;
	}
	.sp_slide_table .sp_slide_table_item {
		min-width: 700px;
	}
}
/*
// テーブルの要素を全て縦並びで表示
*/
.block_table,
.block_table tbody,
.block_table tr,
.block_table th,
.block_table td {
	display: block;
}

/* スマホのみテーブルの要素を縦並び */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_block_table,
	.sp_block_table tbody,
	.sp_block_table tr,
	.sp_block_table th,
	.sp_block_table td {
		display: block;
	}
	.sp_block_table {
	}
	.sp_block_table th {
		border-bottom: none;
		padding-top: 12px;
		padding-bottom: 0;
	}
	.sp_block_table td {
		border-top: none;
		border-bottom: none;
		padding-top: 5px;
		padding-bottom: 12px;
	}
}

/* 共通 */
.section_ttl {
	position: relative;
	font-size: 2rem;
	line-height: 1;
	color: rgb(var(--color_main));
	font-family: var(--font_serif);
}
.section_ttl .jp {
	display: block;
	margin: 0 0 8px;
	font-size: .875rem;
	color: rgb(var(--color_text));
	font-family: var(--font_sans);
}
.section_ttl_white,
.section_ttl_white .jp {
	color: #fff;
}

.page_mv{
	position: relative;
}
.page_mv img{
	position: relative;
	width: 100%;
	height: auto;
	z-index: 0;
}
.page_mv h1{
	text-align: center;
	position: absolute;
	inset: 0;
	width: max-content;
	height: max-content;
	margin: auto;
	padding-top: 60px;
	z-index: 1;
}

.page_title{
	padding: 0;
	margin: 0;
	font-weight: 500;
	color: rgb(var(--color_main));
	font-size: 2.375rem;
	line-height: 1;
	letter-spacing: 0.05em;
}
.page_title .jp{
	position: relative;
	display: block;
	padding-left: 1.8em;
	margin-top: 20px;
	color: rgb(var(--color_sub));
	font-size: 1rem;
	letter-spacing: 0;
}
.page_title .jp::before{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	background-color: rgb(var(--color_sub));
	width: 1.2em;
	height: 2px;
	margin: auto 0;
	content: "";
}

.more_btn{
	position: relative;
	width: max-content;
	min-width: 250px;
	margin: 0 auto;
}
button.more_btn[disabled]{
	opacity: 0.5;
}
.more_btn .wrap{
	position: relative;
	display: inline-block;
	border: solid 1px #969696;
	box-sizing: border-box;
	border-radius: 30px;
	text-align: center;
	width: 100%;
	padding: 15px 10px;
	font-size: .8125rem;
	color: rgb(var(--color_text));
	letter-spacing: 0;
}
.more_btn .wrap:hover{
	text-decoration: none;
}
.more_btn .arrow{
	display: inline-block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 12px;
	background-color: #969696;
	width: 30px;
	height: 1px;
	margin: auto 0;
}
.more_btn .arrow::before,
.more_btn .arrow::after{
	display: inline-block;
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #969696;
	width: 8px;
	height: 1px;
	content: "";
}
.more_btn .arrow::before{
	top: -2px;
	transform: rotate(30deg);
}
.more_btn .arrow::after{
	top: 2px;
	transform: rotate(-30deg);
}
.more_btn_white .wrap{
	border-color: #fff;
	color: #fff;
}
.more_btn_white .arrow{
	background-color: #fff;
}
.more_btn_white .arrow::before,
.more_btn_white .arrow::after{
	background-color: #fff;
}

.more_btn_external .wrap {
	position: relative;
}
.more_btn_external .wrap .ico{
	position: absolute;
	top: 18px;
	right: 15px;
	background: url(../images/more_btn_external.svg) 0 0 no-repeat;
	background-size: cover;
	width: 20px;
	height: 20px;
	content: "";
}

.submit_btn{
	width: max-content;
	min-width: 250px;
	margin: 0 auto;
}
/* .submit_btn a,
.submit_btn input,
.submit_btn button .wrap{
	display: block;
	border: solid 1px #969696;
	border-radius: 30px;
	text-align: center;
	width: 100%;
	padding: 15px 10px;
	font-size: .8125rem;
	color: rgb(var(--color_text));
	letter-spacing: 0;
}
.submit_btn a:hover,
.submit_btn input:hover,
.submit_btn button .wrap:hover{
	text-decoration: none;
} */
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* 共通 PC */
	.page_mv h1{
		padding-top: 70px;
	}
	.section_ttl {
		font-size: 3.75rem;
	}
	.section_ttl .jp {
		margin-bottom: 10px;
		font-size: 1.125rem;
	}

	.page_title{
		font-size: 3.75rem;
	}
	.page_title .jp{
		font-size: 1.5rem;
	}

	.more_btn{
		min-width: 260px;
	}
	.more_btn .wrap{
		position: relative;
		border-color: #969696;
		border-radius: 40px;
		padding: 19px 10px;
		font-size: 1rem;
		overflow: hidden;
		transition: border-color 0.5s cubic-bezier(0.8, 0, 0.2, 1) 0s,
					color 0.5s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	}
	.more_btn .wrap:hover{
		border-color: #fff;
		text-decoration: none;
		color: #fff;
	}
	.more_btn .wrap::before{
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		background: #006411;
		transform: scaleX(0);
		transform-origin: right;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transition-property: transform;
		content: '';
		z-index: 0;
	}

	button.more_btn[disabled] .wrap::before{
		background-color: #aaa;
	}
	.more_btn .wrap:hover::before{
		transform: scaleX(1);
		transform-origin: left;
	}
	.more_btn .arrow,
	.more_btn .arrow::before,
	.more_btn .arrow::after{
		background-color: #969696;
		transition: background-color .1s cubic-bezier(0.8, 0, 0.2, 1) 0.4s;
	}
	.more_btn:hover .arrow,
	.more_btn:hover .arrow::before,
	.more_btn:hover .arrow::after{
		background-color: #fff;
	}
	.more_btn:hover .arrow::before,
	.more_btn:hover .arrow::after{
		background-color: #fff;
	}
	.more_btn .wrap span:not(.arrow){
		position: relative;
		z-index: 1;
	}
	.more_btn img{
		width: 38px;
	}
	.more_btn_white .wrap{
		border-color: #fff;
		background-color: transparent;
	}
	.more_btn_white .wrap:hover{
		border-color: #006411;
	}
	.more_btn_white .wrap .arrow,
	.more_btn_white .wrap .arrow::before,
	.more_btn_white .wrap .arrow::after{
		background-color: #fff;
	}

	.more_btn_external .wrap .ico{
		display: inline-block;
		position: absolute !important;
		top: 24px;
		right: 18px;
		width: 22px;
		height: 22px;
		transition: background .1s cubic-bezier(0.8, 0, 0.2, 1) 0.4s;
	}
	.more_btn_external .wrap:hover .ico{
		background: url(../images/more_btn_external_white.svg) 0 0 no-repeat;
		background-size: cover;
	}

	.submit_btn{
	}
	/* .submit_btn button .wrap{
		box-sizing: border-box;
		width: 100%;
		height: 100%;
	}
	.submit_btn a,
	.submit_btn input,
	.submit_btn button .wrap{
		border-radius: 40px;
		background-size: 20px 13px;
		padding: 19px 10px;
		font-size: 1rem;
	}
	.submit_btn a:hover,
	.submit_btn input:hover,
	.submit_btn button .wrap:hover{
		background-size: 20px 13px;
	} */
}

/* HEADER */
header {
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	z-index: 9999;
	transition: background-color 1s ease;
}
.js-scroll header{
	background-color: rgba(0,0,0,0.5);
}
header .inner{
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	height: 100%;
	margin: 0 auto;
}
.header_wrap{
	box-sizing: border-box;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	padding: 0 0 0 5%;
	margin: 0 auto;
}
header .site_logo{
	box-sizing: initial;
	width: auto;
	height: 42px;
	font-size: 1rem;
	letter-spacing: 0.08em;
	color: #fff;
	/* text-shadow: 0 0 8px rgba(0,0,0,0.8); */
}
header .site_logo img{
	width: auto;
	height: 100%;
	margin-right: 10px;
	vertical-align: -15px;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* HEADER PC */
	header {
		height: 70px;
		padding: 0 40px;
	}
	header .inner{
	}
	.header_wrap{
		padding: 0;
	}
	header .site_logo{
		width: auto;
		height: 52px;
		padding: 0;
		font-size: 1.25rem;
		z-index: 1;
	}
	header .site_logo img{
		vertical-align: -18px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1180px) { /* Tablet用 メディアクエリー */ 
	/* HEADER TAB */
	header{
		padding: 0 20px;
	}
	header .site_logo{
		font-size: 1rem;
	}
}

/* FOOTER */
footer {
	position: relative;
	background-color: #dcdcdc;
	padding: 25px 0;
	margin-top: 100px;
}
.home footer{
	margin-top: 20px;
}
footer .inner{
	margin: 0 auto;
}

.footer_left{
	width: 100%;
	margin-bottom: 0;
}
.footer_left_top{
	justify-content: flex-start;
	align-items: center;
	gap: 0 15px;
	margin-bottom: 0;
}
.footer_logo{
	width: 60px;
	height: auto;
}
.address_wrap{
	flex: 1;
	width: 100%;
}
.address_wrap .name{
	font-size: 1.25rem;
	letter-spacing: 0.08em;
	line-height: 1;
}
.address_wrap .address{
	margin-top: 10px;
	font-size: .8125rem;
	line-height: 1.5;
}
.footer_left_bottom{
	text-align: center;
	width: max-content;
	margin: 15px auto 0;
}
.footer_left_bottom .tel{
	font-size: 1.875rem;
	color: #006411;
}
.footer_left_bottom .tel a:hover{
	text-decoration: none;
}
.footer_left_bottom .tel img{
	width: 20px;
	height: auto;
	margin-right: 10px;
	vertical-align: -3px;
}
.footer_left_bottom .copy{
	margin-top: 15px;
	font-size: .8125rem;
}

.pagetop {
	display: none;
	position: fixed;
	/* bottom: 290px; */
	bottom: 40px;
	right: 8%;
	width: 48px;
	z-index: 999;
	/* transition: bottom ease-in-out 0s; */
}
.pagetop img {
	width: 100%;
	height: auto;
}

.pagetop.footer_active{
	position: absolute !important;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* FOOTER PC */
	footer {
		padding: 60px 40px;
		margin-top: 120px;
	}
	.home footer{
		margin-top: 0;
	}
	footer a:hover{
		text-decoration: underline;
	}
	footer .inner{
		justify-content: space-between;
		align-items: flex-start;
		gap: 0 40px;
		max-width: 100%;
	}

	.footer_left{
		width: 440px;
	}
	.footer_left_top{
		gap: 0 20px;
	}
	.footer_logo{
		width: 62px;
	}
	.address_wrap{}
	.address_wrap .name{
		font-size: 1.75rem;
	}
	.address_wrap .address{
		margin-top: 10px;
		font-size: 1rem;
	}
	.footer_left_bottom{
		box-sizing: border-box;
		text-align: left;
		padding: 0 0 0 84px;
		margin: 0;
	}
	.footer_left_bottom .tel{
		font-size: 1.875rem;
	}
	.footer_left_bottom .tel img{
	}
	.footer_left_bottom .copy{
		margin-top: 40px;
		font-size: .875rem;
	}

	.footer_right{
		justify-content: space-between;
		flex: 1;
		width: 49.5%;
	}
	.footer_right ul{
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		gap: 10px 0;
		width: max-content;
		margin: 0;
	}
	.footer_right li{
		font-size: 1rem;
	}
	.footer_right ul .child{
		margin-top: 10px;
	}

	.pagetop {
		right: 40px;
		width: 60px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1180px) { /* Tablet用 メディアクエリー */ 
	/* FOOTER TAB */
	.footer_right{
		gap: 10px 20px;
	}
	.footer_right ul{
		width: max-content;
	}
	.footer_right ul .child{
		margin: 10px 0 0;
	}
}

/* パンくずリスト */
.breadcrumbs{
	margin-top: 30px;
	margin-bottom: 60px;
}
.breadcrumbs .inner{
	margin-left: auto;
	margin-right: auto;
}
.breadcrumb {
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin: 0 auto;
	font-size: 0.875rem;
	line-height: 1.6;
}
.breadcrumb li {
	display: inline;
	position: relative;
	margin-right: 0.5em;
	list-style-type: none;
}
.breadcrumb li::after{
	display: inline;
	padding-left: 6px;
	content: "＞";
}
.breadcrumb li:last-of-type::after{
	display: none;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* パンくずリスト PC */
	.breadcrumbs{
		margin-top: 30px;
		margin-bottom: 90px;
		padding: 0 40px;
	}
}