@charset "UTF-8";
:root {
	--color_main: 46, 36, 34; /* #2e2422 メインのブラウン */
	--color_text: 36, 25, 23; /* #241917 通常テキスト */
	--color_gray: 198, 195, 194; /* #c6c3c2 背景グレー */
	--color_beige: 221, 213, 193; /* #ddd5c1 背景ベージュ */
	--color_gold: 151, 112, 64; /* #977040 ゴールド */

	--color_red: 205, 38, 38; /* #ff0000 レッド*/
	--color_blue: 18, 180, 254; /* #12b4fe スカイブルー*/
	--color_green: 20, 165, 59; /* #14a53b グリーン*/
	--color_yellow: 255, 255, 0; /* #ffff00 イエロー*/
	--color_orange: 248, 207, 122; /* #f8cf7a オレンジ*/
	--color_pink: 236, 64, 122; /* #ec407a ピンク*/

	--font_jp: "source-han-serif-jp-variable", "Source Han Sans JP","Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif; /*源ノ明朝 Variable R400 M500 B700 Adobe Fontsで読み込む名前を先頭にしておく*/
	--font_en: adobe-garamond-pro, serif; /*Adobe Garamond Pro R400*/
	--font_allura: allura, sans-serif; /*Allura R400*/

	--text_size_small: 12px;
	--text_size_medium: 16px;
	--text_size_large: 22px;

	--contents_width_l: 1280px;
	--contents_width_m: 1160px;
	--contents_width_s: 850px;
	--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_beige {
	/* 背景ベージュ */
	color: rgb(var(--color_beige));
}
.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
*/
.font_jp {
	font-family: var(--font_jp);
	font-style: normal;
	font-weight: 400;
	font-variation-settings: "wght" 400;
}
.font_jp,strong,
strong {
	font-family: var(--font_jp);
	font-style: normal;
	font-weight: 600;
	font-variation-settings: "wght" 600;
}
.font_en {
	font-family: var(--font_en);
	font-weight: 400;
	font-style: normal;
}
.font_allura {
	font-family: var(--font_allura);
	font-weight: 400;
	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,.tab_only {
		display: none !important;
	}
	.sp_only {
		display: inherit;
	}
}
/* PCでスマホ用非表示 */
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* .not_tab {
		display: none !important;
	} */
	.pc_only {
		display: inherit;
	}
	.sp_only,.tab_only {
		display: none !important;
	}
	.and_tab {
		display: inherit !important;
	}
}
/* TABも含めるかどうか */
@media screen and (min-width: 769px) and (max-width: 1180px) { /* Tablet用 メディアクエリー */ 
	.tab_only {
		display: inherit !important;
	}
	.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;
}

.list li:not(:first-of-type) {
	margin-top: 0.3em;
}

.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;
}

/*
// マーカー
*/
.marker{
	display: inline;
	background: linear-gradient(transparent 60%, rgba(var(--color_blue),0.2) 0%);
	padding: 0 1px 0px;
}

/*
// 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 {
	background-color: rgba(var(--color_gray), 0.12);
	border: solid 1px var(--color_gray);
	width: 100vw;
	margin: 0 calc(50% - 50vw) 5%;
	padding: 20px calc(50vw - 50%);
}
.box_important {
	border: solid 1px var(--color_red);
	background-color: rgba(var(--color_red), 0.12);
	padding: 2% 5%;
}

.box_warning {
	border: solid 1px var(--color_yellow);
	background-color: rgba(var(--color_yellow), 0.15);
	padding: 2% 5%;
}

.box_info {
	border: dotted 1px rgba(var(--color_text)) ;
	padding: 2% 5%;
}

.box_success {
	border: solid 1px var(--color_green);
	background-color: rgba(var(--color_green), 0.12);
	padding: 2% 5%;
}
.box_gray {
	background-color: rgba(var(--color_text), 0.12);
	padding: 2% 5%;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.box_wide {
		margin: 0 calc(50% - 50vw) 40px;
	}
	.box_important,
	.box_warning,
	.box_info,
	.box_success,
	.box_gray {
		padding: 20px 25px;
	}
}

/*
// 注釈
*/
.annotation{
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
}
.annotation li{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0 5px;
	font-weight: 400;
	line-height: 1.5;
}
.annotation li .head{
	font-size: 0.687rem;
	flex: 0 0 auto;
}
.annotation li .txt{
	flex: 1;
}
.annotation li .txt p{
	font-size: 0.687rem;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
}

/*
// 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 {
	color: rgba(var(--color_main), 1);
}
.contents a:hover {
	color: rgba(var(--color_main), 1);
	text-decoration: underline;
}
.contents a[href^="tel:"]{
	color: rgba(var(--color_text), 1);
	text-decoration: none;
}
.contents a[href^="tel:"]:hover{
	text-decoration: underline;
}

/*
// コンテンツBASE
*/
body, html {
	position: relative;
	height: 100%;
	margin: 0;
	z-index: 0;
	-webkit-text-size-adjust: 100%;
}
html{
	/*
	固定ヘッダーのページ内リンクズレ対策
	※JSのFIXEDヘッダーのページ内リンク位置のズレ調整も併せて必要
	*/
	scroll-padding-top: 65px;
	cursor: inherit;
	/* スムーススクロール */
	/* 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_jp);
	font-weight: 400;
	font-variation-settings: "wght" 400;
	letter-spacing: 0.04em;
}
/* body.js-nav-active{
	height: 100%;
	overflow: hidden;
} */

/*Adobe Fontsラグ対策 読み込み中でも非表示にしない*/
html.wf-loading body {
	visibility: visible;
	opacity: 1;
}
html.wf-active body {
	transition: font 0.2s ease-out;
}

p {
	margin: 1.2em 0 0;
	line-height: 1.8;
	font-size: .875rem;
}
h2,h3,h4 {
	font-weight: 500;
	font-variation-settings: "wght" 500;
	letter-spacing: 0.05em;
}
.body_inner {}

/* body:has(#wpadminbar) header{
	margin-top: 32px;
} */

@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	html{
		/*
		固定ヘッダーのページ内リンクズレ対策
		※JSのFIXEDヘッダーのページ内リンク位置のズレ調整も併せて必要
		*/
		scroll-padding-top: 0;
	}
	.body_inner {
		justify-content: flex-start;
		align-items: flex-start;
		width: 100%;
	}

}

/*
// コンテンツ幅
//
//L：1280px
//M：1160px
//S：850px
//SP：90%
//FULL：100%
*/
.contents_width_l,
.contents_width_m,
.contents_width_s,
.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);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.contents_width_m {
		width: var(--contents_width_m);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.contents_width_s {
		width: var(--contents_width_s);
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (min-width: 961px) and (max-width: 1200px) { /* Tablet用 メディアクエリー */ }
/* デバイス共通マージン */
.mt0,
.mt_none {
	margin-top: 0 !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mt90 {
	margin-top: 90px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mb0,
.mb-none {
	margin-bottom: 0 !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb90 {
	margin-bottom: 90px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

/* スマホ用マージン */
@media screen and (max-width: 768px) { /* SP用 メディアクエリー */
	.sp_mt0,
	.sp_mt_none {
		margin-top: none !important;
	}
	.sp_mt10 {
		margin-top: 10px !important;
	}
	.sp_mt20 {
		margin-top: 20px !important;
	}
	.sp_mt30 {
		margin-top: 30px !important;
	}
	.sp_mt40 {
		margin-top: 40px !important;
	}
	.sp_mt50 {
		margin-top: 50px !important;
	}
	.sp_mt60 {
		margin-top: 60px !important;
	}
	.sp_mt70 {
		margin-top: 70px !important;
	}
	.sp_mt80 {
		margin-top: 80px !important;
	}
	.sp_mt90 {
		margin-top: 90px !important;
	}
	.sp_mt100 {
		margin-top: 100px !important;
	}
	.sp_mb0,
	.sp_mb-none {
		margin-bottom: 0 !important;
	}
	.sp_mb10 {
		margin-bottom: 10px !important;
	}
	.sp_mb20 {
		margin-bottom: 20px !important;
	}
	.sp_mb30 {
		margin-bottom: 30px !important;
	}
	.sp_mb40 {
		margin-bottom: 40px !important;
	}
	.sp_mb50 {
		margin-bottom: 50px !important;
	}
	.sp_mb60 {
		margin-bottom: 60px !important;
	}
	.sp_mb70 {
		margin-bottom: 70px !important;
	}
	.sp_mb80 {
		margin-bottom: 80px !important;
	}
	.sp_mb90 {
		margin-bottom: 90px !important;
	}
	.sp_mb100 {
		margin-bottom: 100px !important;
	}
}
/* PC用マージン */
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.pc_mt0,
	.pc_mt_none {
		margin-top: none !important;
	}
	.pc_mt10 {
		margin-top: 10px !important;
	}
	.pc_mt20 {
		margin-top: 20px !important;
	}
	.pc_mt30 {
		margin-top: 30px !important;
	}
	.pc_mt40 {
		margin-top: 40px !important;
	}
	.pc_mt50 {
		margin-top: 50px !important;
	}
	.pc_mt60 {
		margin-top: 60px !important;
	}
	.pc_mt70 {
		margin-top: 70px !important;
	}
	.pc_mt80 {
		margin-top: 80px !important;
	}
	.pc_mt90 {
		margin-top: 90px !important;
	}
	.pc_mt100 {
		margin-top: 100px !important;
	}
	.pc_mb0,
	.pc_mb-none {
		margin-bottom: 0 !important;
	}
	.pc_mb10 {
		margin-bottom: 10px !important;
	}
	.pc_mb20 {
		margin-bottom: 20px !important;
	}
	.pc_mb30 {
		margin-bottom: 30px !important;
	}
	.pc_mb40 {
		margin-bottom: 40px !important;
	}
	.pc_mb50 {
		margin-bottom: 50px !important;
	}
	.pc_mb60 {
		margin-bottom: 60px !important;
	}
	.pc_mb70 {
		margin-bottom: 70px !important;
	}
	.pc_mb80 {
		margin-bottom: 80px !important;
	}
	.pc_mb90 {
		margin-bottom: 90px !important;
	}
	.pc_mb100 {
		margin-bottom: 100px !important;
	}
}

/*
// 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;
}

.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_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] {
	border-radius: 8px;
	border: solid 1px rgba(var(--color_main), 1);
	width: 100%;
	max-width: 100%;
	padding: 8px;
	font-size: 0.875rem;
	line-height: 1.8;
	font-weight: 400;
}

/*
// テキストエリア
*/
textarea {
	border-radius: 8px;
	border: solid 1px rgba(var(--color_main), 1);
	width: 100%;
	max-width: 100%;
	min-height: 4em;
	padding: 5px;
	font-size: 0.875rem;
	line-height: 1.8;
	font-weight: 400;
}

/*
// チェックボックス
*/
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 {
	border-radius: 8px;
	text-transform: none;
	display: block;
	width: 100%;
	height: 48px;
	padding: 8px 12px;
	font-size: 0.875rem;
	font-family: var(--font_jp);
	font-weight: 400;
	font-variation-settings: "wght" 400;
	color: rgb(var(--color_text))blockT;
	border: solid 1px rgba(var(--color_main), 1);
	/* -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;
}
select[multiple]{
	height: auto;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	select{
		font-size: 1rem;
	}
}

/*
// ラベル
*/
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: rgb(var(--color_sub));
}

/*
// 必須項目マーク
*/
.required{
	color: rgb(var(--color_red));
	padding-left: 5px;
	font-size: 14px;
}

.table {
	border_collapse: collapse;
	border: none;
	width: 100%;
	font-size: 0.687rem;
	line-height: 1.6;
}
.table th,
.table td {
	text-align: left;
	padding: 8px 5px;
	font-weight: 400;
	font-variation-settings: "wght" 400;
	vertical-align: middle;
}
.table th {
	background-color: rgba(255,255,255,0.2);
	vertical-align: middle;
	white-space: nowrap;
	line-height: 1.4;
}
.table th.head {
	background-color: rgba(var(--color_main),0.2);
	padding: 10px;
	line-height: 1.2;
	vertical-align: top;
	white-space: inherit;
}
.table td {
}
.table th.head {
	background-color: rgba(var(--color_main),0.5);
	padding: 10px;
	line-height: 1.2;
	vertical-align: top;
	white-space: inherit;
}
.table .w1rem {
	/*1文字幅固定用*/
	width: 1em;
}
.table .blank {
	/*空白 白背景*/
	background-color: transparent !important;
	border: none !important;
}

.table_simple {
	border_collapse: collapse;
	border: none;
	width: 100%;
	font-size: .6875rem;
	line-height: 1.6;
}
.table_simple th, .table_simple td {
	border: none;
	background-color: transparent;
	text-align: left;
	padding: 8px 5px;
	font-weight: 400;
	vertical-align: top;
	color: rgb(var(--color_text));
}
.table_simple th {
	white-space: nowrap;
	line-height: 1.4;
}
.table_simple .w1rem {
	/*1文字幅固定用*/
	width: 1em;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	.table {
		line-height: 1.6;
	}
	.table th,
	.table td {
		border: solid 1px #fff;
		padding: 8px 10px;
		font-size: 0.875rem;
	}
	.table th.head {
		padding: 10px;
	}
	.table td {
	}
	.table th.head {
		padding: 10px;
		line-height: 1.2;
		vertical-align: top;
		white-space: inherit;
	}
	.table .w1rem {
		/*1文字幅固定用*/
		width: auto;
	}

	.table_simple {
		font-size: .9375rem;
	}
	.table_simple th, .table_simple td {
		border: none;
		padding: 8px 5px;
	}
}
@media screen and (min-width: 769px) and (max-width: 959px) { /* Tablet用 メディアクエリー */
	.table th,
	.table td {
		font-size: .875rem;
	}

	.table_simple {
		font-size: .875rem;
	}
	.table_simple th, .table_simple td {
		border: none;
		padding: 8px 5px;
		font-size: .875rem;
	}
}

/*
// スライドテーブル
*/
.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;
}
.block_table th {
	border-bottom: none;
}
.block_table td {
	border-top: none;
}

/* スマホのみテーブルの要素を縦並び */
@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_top: none;
		border-bottom: none;
	}
	.sp_block_table td {
		border-top: none;
	}
}

/* 共通 */
.more_btn{
	text-align: center;
	box-sizing: border-box;
	width: max-content;
	margin: 0;
	font-size: 1rem;
	line-height: 1;
	font-family: var(--font_en);
	font-weight: 400;
	font-style: normal;
}
.more_btn a{
	display: inline-block;
	border: solid 1px rgb(var(--color_main));
	padding: 6px 20px;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: rgb(var(--color_main));
}
.more_btn a:hover{
	background-color: rgba(var(--color_main),0.2);
	text-decoration: none !important;
}

.page_title{
	text-align: center;
	margin: 40px auto 0;
}

.section_title{
	position: relative;
	text-align: center;
	padding: 0 0 14px;
	margin: 0 auto;
	font-size: 1.25rem;
	line-height: 1.5;
	font-weight: 500;
	font-variation-settings: "wght" 500;
}
.section_title::before{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgb(var(--color_text));
	width: 50px;
	height: 1px;
	margin: 0 auto;
	content: "";
}
.section_title_sub{
	text-align: center;
	margin: 12px auto 0;
	font-size: 1.0625rem;
	font-weight: 500;
	font-variation-settings: "wght" 500;
}
.section_title_white,
.section_title_sub_white{
	color: #fff;
}
.section_title_white::before{
	background-color: #fff;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* 共通 PC */
	.more_btn{
		font-size: 1.25rem;
	}
	.more_btn a{
		padding: 5px 20px 7px;
	}

	.page_title{
		text-align: center;
		margin: 100px auto 0;
	}

	.section_title{
		padding: 0 0 22px;
		font-size: 1.75rem;
	}
	.section_title_sub{
		margin: 18px auto 0;
		font-size: 1.375rem;
	}
}
@media screen and (min-width: 769px) and (max-width: 959px) {
	/* 共通 Tablet */

}

/* HEADER */
header{
	position: fixed;
	top: 0;
	left: 0;
	box-sizing: border-box;
	background-color: rgb(var(--color_main));
	width: 100%;
	height: 65px;
	padding: 0 4%;
	color: #fefefe;
	z-index: 99;
}
.home header{
	background-color: transparent;
}
.header_inner{
	box-sizing: border-box;
	width: 100%;
}
header h1{
	width: 160px;
	height: 18px;
	padding: 0;
	margin: 22px 0 0;
}
header h1 a{
	display:block;
	width:100%;
	height:100%; 
}
header h1 img{
	width: 100%;
	height: auto;
	vertical-align: top;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* HEADER PC 共通 */
	header{
		height: 140px;
		padding: 0 60px;
	}
	.header_inner{
		margin: 0 auto;
	}
	header h1{
		width: 200px;
		height: 22px;
		padding: 0;
		margin: 54px 0 0;
	}
}
@media screen and (min-width: 769px) and (max-width: 1180px) { /* Tablet用 メディアクエリー */ 
	/* HEADER TAB */

}

/* CONTENTS */
.contents{
	width: 100%;
	max-width: 100%;
	padding-top: 65px;
}
.home .contents{
	padding-top: 0;
}
.contents_inner{
	/*'.box_wide'などの強制全幅要素の横スクロールバー表示対策*/
	overflow: hidden;
}
main img{
	max-width: 100%;
	height: auto;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* CONTENTS PC 共通 */
	.contents{
		width: 100%;
		padding-top: 140px;
	}
}

/* FOOTER */
footer {
	position: relative;
	background-color: rgb(var(--color_main));
	margin-top: 0;
	padding: 20px 5% 40px;
	color: #fff;
}
footer a{
	color: #fff !important;
}
.footer_logo{
	width: 150px;
	margin: 0;
}
.footer_logo img{
	width: 100%;
	height: auto;
}
.footer_menu ul{
	gap: 1em 40px;
	width: 100%;
	margin: 60px auto 0;
	padding: 0;
}
.footer_menu li{
	width: calc((100% - 40px) / 2);
	list-style-type: none;
	font-size: 1rem;
}
.footer_menu li a{
	text-decoration: none;
}
.footer_menu li a:hover{
	color: rgba(255,255,255,0.7) !important;
	text-decoration: none;
}
.footer_menu .mail{
	position: absolute;
	top: 20px;
	right: 10%;
	width: 40px;
}
.footer_menu .mail img{
	width: 100%;
	height: auto;
}

footer .copy{
	text-align: center;
	margin: 55px auto 0;
	line-height: 1.6;
	font-size: .625rem;
}
footer .copy span{
	display: block;
	margin-top: 5px;
	font-size: .75rem;
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	footer {
		margin-top: 0;
		padding: 115px 60px 40px;
	}
	.footer_logo{
		width: 250px;
		margin: 0 auto;
	}
	.footer_menu ul{
		justify-content: center;
		width: 100%;
		margin: 40px auto 0;
	}
	.footer_menu li{
		width: max-content;
		font-size: 1.125rem;
	}
	.footer_menu li:nth-of-type(odd){
		order: 1;
	}
	.footer_menu li:nth-of-type(even){
		order: 2;
	}
	.footer_menu .mail{
		position: relative;
		top: inherit;
		right: inherit;
		background-color: rgb(var(--color_beige));
		width: 300px;
		margin: 40px auto 0;
	}
	.footer_menu .mail a{
		display: flex;
		position: relative;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0 50px;
		padding: 10px 20px 10px 0;
		color: rgb(var(--color_text)) !important;
		text-decoration: none;
	}
	.footer_menu .mail a::before{
		position: absolute;
		top: 0;
		left: 0;
		background-color: rgb(255,255,255,0.5);
		width: 100%;
		height: 100%;
		content: "";
		opacity: 0;
		transition: opacity 0.3s ease;
	}
	.footer_menu .mail a:hover::before,
	.footer_menu .mail a.hover::before{
		opacity: 1;
	}
	.footer_menu .mail a span{
		font-size: 22px;
	}
	.footer_menu .mail img{
		width: 50px;
		height: auto;
	}

	footer .copy{
		margin: 65px auto 0;
		font-size: .875rem;
	}
	footer .copy span{
		margin-top: 10px;
		font-size: .875rem;
	}

	.float_mail_btn{
		position: fixed;
		top: 0;
		bottom: 0;
		right: 0;
		width: 90px;
		height: 90px;
		margin: auto 0;
		z-index: 9997;
	}
	.float_mail_btn a{
		display: block;
		background-color: rgb(var(--color_beige));
		width: 100px;
		padding: 20px;
	}
}
@media screen and (max-width: 1340px){ /* Tablet用 メディアクエリー */ 
	/* FOOTER TABLET */

}

/* パンくずリスト */
.breadcrumb{
	/* display: flex;
	flex-wrap: wrap;
	gap: 10px 20px; */
	width: 100%;
	margin: 0 0 40px;
	line-height: 1;
}
.breadcrumb li{
	position: relative;
	display: inline;
	margin: 0 20px 10px 0;
	vertical-align: top;
	font-size: 0.687rem;
	font-weight: 500;
	color: rgba(var(--color_main), 1);
}
.breadcrumb li:has(a)::before{
	border-bottom: solid 1px rgb(var(--color_gray));
	border-right: solid 1px rgb(var(--color_gray));
	position: absolute;
	bottom: 5px;
	right: -12px;
	width: 6px;
	height: 6px;
	transform: rotate(-45deg);
	content: "";
}
.breadcrumb li a{
	color: rgba(var(--color_text), 0.5);
}
.breadcrumb li a:hover{
	color: rgba(var(--color_text), 0.5);
}
@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/* パンくずリスト PC */
	.breadcrumb{
		gap: 10px 30px;
		margin: 0 0 100px;
		line-height: 1.4;
	}
	.breadcrumb li{
		font-size: 0.937rem;
	}
	.breadcrumb li:has(a)::before{
		right: -11px;
		width: 8px;
		height: 8px;
		content: "";
	}
}


/*下層ページ*/

@media screen and (min-width: 769px) { /* PC用 メディアクエリー */
	/*下層ページPC*/

}
@media screen and (min-width: 769px) and (max-width: 959px) { /* Tablet用 メディアクエリー */
	/* 下層ページTAB */

}
@media (orientation: landscape) and (min-width: 519px) and (max-width: 896px) { /*スマホ横向き用*/
	/* 下層ページ スマホ横向き */

}
