@charset "utf-8";
/* *************************************************************************************************************
 *	file name:		default.css
 *	Alteration:		2026.06		（2022新テンプレ合わせ。< COMMON >更新、各種調整）
 *	style info:		全ページ共通のデフォルトCSS（物件用ベースCSS）
----------------------------------------------------------------------------------------------------------------
 *	< load >
 *	< COMMON > -  Normalize - Reset - CssCustomProperties - Setting - AddParts - etc
 *	< @KEYFRAMES >
 *	< STYLE_CSS >
 *	< BASE > - OuterWide - Module_Wrapper - Framework_Wrapper - Framework_Elements - Module_Elements
 *	< COMMON_LAST > - etc
----------------------------------------------------------------------------------------------------------------
 * {A}	物件メニューが入らないページもあるので余白設定は注意。margin,paddingは基本設定不可。設定する場合は物件メニューが入らない場合のことも考慮すること。
----------------------------------------------------------------------------------------------------------------
 * 01	「.contents」はバッティングするため使用不可。「.contbox」を使用する。
 * 02	カスタムプロパティ名「--ファイル名-要素クラス名等-内容-種類: xxx;」（例：--default-pageTheme-color-light: #ccc;）
----------------------------------------------------------------------------------------------------------------
@media screen and (min-width: 736.02px) {}
@media screen and (min-width: 1200.02px) {}
@media screen and (max-width: 1200px) {}
@media screen and (min-width: 736.02px) and (max-width: 1200px) {}
@media screen and (max-width: 736px) {}
@media screen and (max-width: 480px) {}
@media screen and (max-width: 320px) {}
************************************************************************************************************* */

/* ***************************************************************************************************
	load | @importより上にコード記述不可。
*************************************************************************************************** */
/* ----------------------------------------------------------------------------
 * フォント読込はHTMLにて。
-------------------------------------------------------------------------------
 * [ Zen Old Mincho (400,500,700) ]
 * [ Noto Sans JP (100..900) ]
 * [ Noto Sans (100..900) ]
 * [ Noto Serif JP (200..900) ]
 * [ Noto Serif (100..900) ]
 * [ Cinzel (400..900) ]
 * [ EB Garamond (400..800,i) ]
 * [ YakuHanJP ]
 * [ YakuHanMP ]
 *
 * URL	:
 * 		https://fonts.google.com/share?selection.family=Cinzel:wght@400..900|EB+Garamond:ital,wght@0,400..800;1,400..800|Noto+Sans+JP:wght@100..900|Noto+Sans:wght@100..900|Noto+Serif+JP:wght@200..900|Noto+Serif:wght@100..900|Zen+Old+Mincho:wght@400;500;700
 * 		https://yakuhanjp.qranoko.jp
 * CODE	:
 * 		font-family: YakuHanJP, 'Noto Sans JP', 'Noto Sans', sans-serif;
 * 		font-family: YakuHanMP, 'Zen Old Mincho', 'Noto Serif JP', 'Noto Serif', serif;
 * 		font-family: 'Cinzel', YakuHanMP, 'Noto Serif JP', 'Noto Serif', serif;
 * 		font-family: 'EB Garamond', YakuHanMP, 'Noto Serif JP', 'Noto Serif', serif;
 * 		font-weight: 400;
 * 		font-style: italic;
 */


/* ***************************************************************************************************
	COMMON
*************************************************************************************************** */

/* ============================================================================
	Normalize (ress v1.1.2 - v1.2.2)
-------------------------------------------------------------------------------
	[ress.css • v1.1.2]
	Author 	: Filipe Linhares
	License	: MIT License(https://opensource.org/licenses/mit-license.php)
	URL		: github.com/filipelinhares/ress
-------------------------------------------------------------------------------
	[2022.04] Adding | Several styles have been used and tuned.
============================================================================ */
/*html {box-sizing:border-box;-webkit-text-size-adjust:100%;}
*, ::before, ::after {background-repeat:no-repeat;box-sizing:inherit;}
::before, ::after {text-decoration:inherit;vertical-align:inherit;}
* {padding:0;margin:0;}
a {background-color:transparent;-webkit-text-decoration-skip:objects;}*/

/*input {border-radius:0;}
button,[type="button"],[type="reset"],[type="submit"],[role="button"] {cursor:pointer;}
[disabled] {cursor:default;}
textarea {overflow:auto;resize:vertical;}
button,input,optgroup,select,textarea {font:inherit;}
button {overflow:visible;}*/

/*img {border-style:none;}
progress {vertical-align:baseline;}
svg:not(:root) {overflow:hidden;}
audio, canvas, progress, video {display:inline-block;}*/

/*::-moz-selection {background-color:#b3d4fc;color:#000;text-shadow:none;}
::selection {background-color:#b3d4fc;color:#000;text-shadow:none;}
::-moz-selection {background-color:#2184f2;color:#fff;text-shadow:none;}
::selection {background-color:#2184f2;color:#fff;text-shadow:none;}*/


/* ============================================================================
	Reset 															2024.07
-------------------------------------------------------------------------------
	[2024.07]	*{min-inline-size:0;}を追加（grid時の文字のオーバーフロー対策）
				（子要素があふれたときに横スクロールさせる機構で、子要素を重ねたくない場合は要リセット解除。［横スクロールパンくずの[例]：.breadcrumbBox{overflow-x:scroll;} .breadcrumbBox li{min-inline-size:revert;}］）
============================================================================ */
	/*details, main, menu, summary  {display:block;}*/			/* for IE11 */
	/*img {vertical-align:bottom;}*/							/* 余白対策 | base.cssとバッティングするためここは非表示 */
	/*ul, ol {list-style:none;}
	h1, h2, h3, h4, h5, h6 {font-size:1em;font-weight:normal;}
	table {border-collapse:collapse;border-spacing:0;}
	b, strong {font-weight:inherit;}
	small, figcaption {font:inherit;}*/
html {box-sizing:border-box;-webkit-text-size-adjust:100%;/*overflow-y:scroll;*/}
:where(main),
:where(main) * {min-inline-size:0;}
:where(main) ::before,
:where(main) ::after {text-decoration:inherit;vertical-align:inherit;box-sizing:inherit;}
:where(main) i,
:where(main) em {font-style:normal;}
:where(main) sub,
:where(main) sup {min-height:0.001vw;font-size:max(.9rem,63%);line-height:0;position:relative;vertical-align:baseline;}		/* for safari | font-sizeにclamp()使用時必須 */
:where(main) sub {bottom:-.25em;}
:where(main) sup {top:-.5em;}
:where(main small) sub {bottom:-.05em; font-size:max(.9rem,.91em);}
:where(main small) sup {top:-.1em; font-size:max(.9rem,.91em);}

:where(main) :is(h1, h2, h3, h4, h5, h6, b, strong, i, em) {
	font-weight: inherit;
}


/* ============================================================================
	CssCustomProperties 											2022.04
============================================================================ */
/* SITE
---------------------------------------------------- */
	:root {
		--site-font_family-sans: YakuHanJP, 'Noto Sans JP', 'Noto Sans', YuGothic,'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;
		--site-font_family-serif: YakuHanMP, 'Zen Old Mincho', 'Noto Serif JP', 'Noto Serif', YuMincho,'Hiragino Mincho ProN','Yu Mincho',serif;
		--site-font_family-en_1: 'Cinzel', var(--site-font_family-serif);
		--site-font_family-en_2: 'EB Garamond', var(--site-font_family-serif);
		--site-font_family-basic: var(--site-font_family-serif);
		--site-font_family-caption: var(--site-font_family-sans);
		
		/* テーマカラー */
		--site-themeColor-base:						255, 255, 255;	/* rgb | #ffffff | White */
		--site-themeColor-base_text:				51, 51, 51;		/* rgb | #333333 | Dark_gray */
		--site-themeColor-main:						244, 243, 242;	/* rgb | #f4f3f2 | Pale_gray */
		--site-themeColor-main_text:				51, 51, 51;		/* rgb | #333333 | Dark_gray */
	/*	--site-themeColor-sub:						0, 0, 0;*/		/* rgb | #000000 | Black */
	/*	--site-themeColor-sub_text:					0, 0, 0;*/		/* rgb | #000000 | Black */
		--site-themeColor-accent_1:					151, 125, 88;	/* rgb | #977d58 | Dull_camel */
		--site-themeColor-accent_1_text:			255, 255, 255;	/* rgb | #ffffff | White */ /* ※ accent_1 を背景に使った場合の文字色 */
		--site-themeColor-accent_2:					175, 144, 106;	/* rgb | #af906a | Soft_camel */
		--site-themeColor-accent_2_text:			255, 255, 255;	/* rgb | #ffffff | White */
		--site-themeColor-accent_3:					253, 240, 208;	/* rgb | #fdf0d0 | Pale_camel */
		--site-themeColor-accent_3_text:			0, 0, 0;		/* rgb | #333333 | Dark_gray */
		
		/* カラーバリエーション */
		--site-variationColor-pattern_veil_PC-url:	url("../images/share/bg_01.webp");
		--site-variationColor-pattern_veil_PC:		var(--site-variationColor-pattern_veil_PC-url) center calc(max(250px, (250 / 1920 * 100vw)) * -1) / max(1920px, 100%) auto no-repeat; /* ベールPCパターン */
		--site-variationColor-pattern_veil_SP-url:	url("../images/share/bg_01@sp.webp");
		--site-variationColor-pattern_veil_SP:		var(--site-variationColor-pattern_veil_SP-url) center calc(max(40px, (40 / 375 * 100vw)) * -1) / max(750px, 100%) auto no-repeat; /* ベールSPパターン */
		--site-variationColor-pattern_gray:			url("../images/share/bg_02.jpg") center center / 560px 420px repeat; /* 灰パターン */
		/* リンク用カラー */
		/*--site-linkColor-basic:						255, 255, 255;
		--site-linkColor-basic-reverse:				0, 0, 0;*/
		
		/* 幅 */
		--site-sizeContentWide-XL:	100%;
		--site-sizeContentWide-L:	94%;	/* Lは736以下からXLと同じ幅にする */
		--site-sizeContentWide-XM:	94%;	/* XMは736以下からSと同じ幅にする */
		--site-sizeContentWide-M:	88%;	/* Mは1200以下からSと同じ幅にする */
		--site-sizeContentWide-S:	86.111%;
		--site-sizeMaxWidth-XL:		1900px;
		--site-sizeMaxWidth-L:		1600px;
		--site-sizeMaxWidth-XM:		1400px;
		--site-sizeMaxWidth-M:		1260px;	/* Mは1200以下からSと同じ幅にする */
		--site-sizeMaxWidth-S:		1000px;
		
		/* 余白 */
	/*	--site-marpad-XXXXL:		220px;
		--site-marpad-XXXL:			170px;
		--site-marpad-XXL:			150px;	// 736以下の下げ幅大 //
		--site-marpad-XL:			120px;
		--site-marpad-L:			100px;
		--site-marpad-M:			80px;
		--site-marpad-S:			60px;
		--site-marpad-XS:			40px;
		--site-marpad-XXS:			20px;*/
		--site-marpad-XXXXL:		clamp(140px, (220 / 1600 * 100vw), 220px);
		--site-marpad-XXXL:			clamp(110px, (170 / 1600 * 100vw), 170px);
		--site-marpad-XXL:			clamp(100px, (150 / 1600 * 100vw), 150px);
		--site-marpad-XL:			clamp(80px, (120 / 1600 * 100vw), 120px);
		--site-marpad-L:			clamp(65px, (100 / 1600 * 100vw), 100px);
		--site-marpad-M:			clamp(50px, (80 / 1600 * 100vw), 80px);
		--site-marpad-S:			clamp(40px, (60 / 1600 * 100vw), 60px);
		--site-marpad-XS:			40px;
		--site-marpad-XXS:			20px;
	}
	/* hover, focus, current */
	/*@media (hover: hover) and (pointer: fine) {
		a[href]:hover {
			--site-linkColor-basic: var(--site-linkColor-basic-active);
			--site-linkColor-basic-reverse: var(--site-linkColor-basic-reverse-active);
		}
	}
	a[href]:focus-visible,
	.is_current > a[href] {
		--site-linkColor-basic: var(--site-linkColor-basic-active);
		--site-linkColor-basic-reverse: var(--site-linkColor-basic-reverse-active);
	}*/
@media screen and (max-width: 1200px) {
	:root {
		/* 幅 */
		--site-sizeContentWide-M:	86.111%;	/* Mは1200以下からSと同じ幅にする */
		--site-sizeMaxWidth-M:		1000px;		/* Mは1200以下からSと同じ幅にする */
		
		/* スティッキーヘッダー分の余白 ※数値は要確認（ざっくり対応ver ※厳密にする場合はJSで） */
		--site-stickyHeader-height:	64px;
	}
}
@media screen and (max-width: 736px) {
	:root {
		/* 幅 */
		--site-sizeContentWide-L:	100%;		/* Lは736以下からXLと同じ幅にする */
		--site-sizeContentWide-XM:	86.111%;	/* XMは736以下からSと同じ幅にする */
		/* 余白 */
	/*	--site-marpad-XXXXL:		120px;
		--site-marpad-XXXL:			120px;
		--site-marpad-XXL:			100px;	// 736以下の下げ幅大 //
		--site-marpad-XL:			100px;
		--site-marpad-L:			80px;
		--site-marpad-M:			60px;
		--site-marpad-S:			40px;
		--site-marpad-XS:			30px;
		--site-marpad-XXS:			20px;*/
		--site-marpad-XXXXL:		clamp(100px, (100 / 375 * 100vw), 140px);
		--site-marpad-XXXL:			clamp(70px, (70 / 375 * 100vw), 120px);
		--site-marpad-XXL:			clamp(60px, (60 / 375 * 100vw), 110px);
		--site-marpad-XL:			clamp(50px, (50 / 375 * 100vw), 100px);
		--site-marpad-L:			clamp(40px, (40 / 375 * 100vw), 80px);
		--site-marpad-M:			clamp(40px, (40 / 375 * 100vw), 60px);
		--site-marpad-S:			clamp(30px, (30 / 375 * 100vw), 40px);
		--site-marpad-XS:			30px;
		--site-marpad-XXS:			20px;
	}
}

/* MODULE
---------------------------------------------------- */
	:root {
		/* イージング */
		--M-easing-easeInOutQuint:		cubic-bezier(.83, 0, .17, 1);
		--M-easing-easeInOutCubic:		cubic-bezier(.65, 0, .35, 1);
		--M-easing-easeOutQuint:		cubic-bezier(.22, 1, .36, 1);
	}

/* 文字サイズ可変CSS
------------------------------------------------------
- [--M-fluidFontSize-fontSize:]と[font-size:]は書き換えなしでそのまま使用する。
------------------------------------------------------
[例]：文字サイズ[1.85rem~2.4rem]・ビューポート[320~980]
font-size: clamp(最小文字, calc(最小文字 + (1vw - ビューポート最小幅のrem値) * (100 * (文字可変量) / (ビューポート可変量))), 最大文字);
font-size: clamp(1.85rem, calc(1.85rem + (1vw - .32rem) * (100 * (24 - 18.5) / (980 - 320))), 2.4rem);
	↓
.xxxxx {
	--M-fluidFontSize-max-fontsize: 24;
	--M-fluidFontSize-min-fontsize: 18.5;
	--M-fluidFontSize-max-viewport: 980;
	--M-fluidFontSize-min-viewport: 320;
	--M-fluidFontSize-fontSize: clamp( var(--M-fluidFontSize-min-fontsize) * .1rem, (var(--M-fluidFontSize-min-fontsize) * .1rem) + (1vw - (var(--M-fluidFontSize-min-viewport) / 100 * .1rem)) * (100 * (var(--M-fluidFontSize-max-fontsize) - var(--M-fluidFontSize-min-fontsize)) / (var(--M-fluidFontSize-max-viewport) - var(--M-fluidFontSize-min-viewport))), var(--M-fluidFontSize-max-fontsize) * .1rem );

	min-height: 0.001vw;	// for safari | font-sizeにclamp()使用時必須 //
	font-size: var(--M-fluidFontSize-fontSize);
}
---------------------------------------------------- */

/* サイズ可変CSS（width・margin・paddingなど）
------------------------------------------------------
- [--M-fluidSize-size:]はそのまま使用し、適用先のプロパティ（width/margin/paddingなど）に代入する。
- font-sizeに使う場合は文字サイズ可変CSSの方を使用すること（remで計算している/min-height対策が別途必要）。
------------------------------------------------------
[例]：サイズ[40px~130px]・ビューポート[1350~1920]
padding: clamp(最小サイズ, calc(最小サイズ + (1vw - ビューポート最小幅のpx値) * (100 * (サイズ可変量) / (ビューポート可変量))), 最大サイズ);
padding: clamp(40px, calc(40px + (1vw - 13.5px) * (100 * (130 - 40) / (1920 - 1350))), 130px);
	↓
.xxxxx {
	--M-fluidSize-max-size: 130;
	--M-fluidSize-min-size: 40;
	--M-fluidSize-max-viewport: 1920;
	--M-fluidSize-min-viewport: 1350;
	--M-fluidSize-size: clamp( var(--M-fluidSize-min-size) * 1px, (var(--M-fluidSize-min-size) * 1px) + (1vw - (var(--M-fluidSize-min-viewport) / 100 * 1px)) * (100 * (var(--M-fluidSize-max-size) - var(--M-fluidSize-min-size)) / (var(--M-fluidSize-max-viewport) - var(--M-fluidSize-min-viewport))), var(--M-fluidSize-max-size) * 1px );

	width: var(--M-fluidSize-size);
	margin: var(--M-fluidSize-size);
	padding: var(--M-fluidSize-size);
}
---------------------------------------------------- */


/* ============================================================================
	Setting
============================================================================ */
/* html */
	html {
		/*font-size:.625em;*/											/* base.cssとバッティングするためここは非表示 ※問題があれば再検討 */
		scrollbar-gutter: stable;										/* モーダル展開時のがたつき対策 */
	}

/* Img */
	:where(main) img,
	:where(main) object[data-obj-roleimg*="roleImg"] {					/* base.cssとバッティングするためmain要素の中のimg,objectとする */
		max-width: 100%;
		/*height: auto;*/												/* base.cssとバッティングするためここは非表示 */
		vertical-align: bottom;											/* 余白対策 */
	}
	:where(main) a object[data-obj-roleimg*="_link"] {					/* リンクが効かなくなる仕様の解除 | 例：<a href="#"><object data="xxx.svg" data-obj-roleimg="roleImg_link"></object></a> */
		pointer-events: none;
	}

/* svg */
	:where(main) svg:not(:root) {
		overflow: hidden;
	}
	:where(main) img[src$=".svg"],
	:where(main) img[src$=".svgz"],
	:where(main) object[data-obj-roleimg*="roleImg"][data$=".svg"],
	:where(main) object[data-obj-roleimg*="roleImg"][data$=".svgz"] {	/* for IE11 | ※親要素に幅指定必須 (Width specification is mandatory for parent element.) */
		width: 100%;
	}

/* form */
:where(main) :is(button, input, select, textarea) {
	font: inherit;
}

/* ---------------------------------
	Text Base
--------------------------------- */
	main {
		--default-main-bg-url: var(--site-variationColor-pattern_veil_PC-url);
		--default-main-bg-position: center calc(max(185px, (185 / 1920 * 100vw)) * -1);	/* .mainElementHeaderWrap のpadding計算に影響があります */
		--default-main-bg-size: max(min(1920 / 1500 * 100%, 1920px), 100%) auto;		/* .mainElementHeaderWrap のpadding計算に影響があります */
		
		min-height: 0.001vw;		/* for safari | font-sizeにclamp()使用時必須 */
		line-height: 1.92;
		color: rgba(var(--site-themeColor-base_text), 1);
		font-family: var(--site-font_family-basic);
		/*font-size: clamp(1.3rem, (15 / 1000 * 100vw), 1.5rem);*/ /* ww1000以下から小さくなる */
		font-size: 1.4rem;
		letter-spacing: .24em;
		/*background: rgba(var(--site-themeColor-base), 1);*/
		background: rgba(var(--site-themeColor-base), 1) var(--default-main-bg-url) var(--default-main-bg-position) / var(--default-main-bg-size) no-repeat;
	}
	.fontSizeReset {
		min-height: 0.001vw;		/* for safari | font-sizeにclamp()使用時必須 */
		font-size: 1.4rem;
	}
	small, figcaption {
		line-height: 1.875;
		color: inherit;
		font-family: var(--site-font_family-caption);
		font-size: 1.1rem;
		letter-spacing: .06em;
	}
@media screen and (max-width: 1200px) {
	main {
		--default-main-bg-position: center calc(min(110px, (185 / 1000 * 100vw), 185px) * -1);
		--default-main-bg-size: clamp(1550px, (1800 / 1000 * 100%), 1800px) auto;
	}
}
@media screen and (max-width: 736px) {
	main {
		--default-main-bg-url: var(--site-variationColor-pattern_veil_SP-url);
		--default-main-bg-position: center top;
		--default-main-bg-size: max(750px, 100%) auto;
		font-size: 1.3rem;
	}
	.fontSizeReset {
		font-size: 1.3rem;
	}
	small, figcaption {
		font-size: 1rem;
	}
}

/* Font Family */
	.fontFamilyInherit {
		font-family: inherit !important;
	}
	.fontSerif,
	.fontSerifBox * {
		font-family: var(--site-font_family-serif);
	}
	.breadcrumbBox,
	.fontSans,
	.fontSansBox * {
		font-family: var(--site-font_family-sans);
	}
	.fontEn01,
	.fontEn01Box * {
		font-family: var(--site-font_family-en_1);
	}
	.fontEn02,
	.fontEn02Box * {
		font-family: var(--site-font_family-en_2);
	}

/* Text */
	.txtSizeInherit {	font-size: inherit;}
	.txtSizeLLL {		font-size: 1.5em;}
	.txtSizeLL {		font-size: 1.35em;}
	.txtSizeL {			font-size: 1.15em;}
	.txtSizeS {			font-size: 0.93em;}
	.txtSizeSS {		font-size: 0.85em;}
	.txtSizeSSS {		font-size: 0.65em;}
	.txtSize1rem {		font-size: 1rem;}
	.txtSize1_05rem {	font-size: 1.05rem;}
	.txtSize1_1rem {	font-size: 1.1rem;}
	.txtSize09rem {		font-size: .9rem;}

	.txtColorInherit {color:inherit;}
	.txtColorBk {color: #000 !important;} /*黒系*/
	.txtColorWh {color: #fff !important;} /*白系*/
	.txtColorGr {color: #767676 !important;} /*灰系*/
	.txtColor01 {color: #990011 !important;} /*暗赤系*/
	.txtColor02 {color: #c7000a !important;} /*明赤系*/
	.txtColor03 {color: #dec774 !important;} /*明黄系*/
	.txtColor04 {color: #aa9477 !important;} /*暗黄系*/

	.txtColor_basetxt {	color: rgba(var(--site-themeColor-base_text), 1) !important;}
	.txtColor_maintxt {	color: rgba(var(--site-themeColor-main_text), 1) !important;}
/*	.txtColor_subtxt {	color: rgba(var(--site-themeColor-sub_text), 1) !important;}*/
	.txtColor_accent_1 {color: rgba(var(--site-themeColor-accent_1), 1) !important;}
	.txtColor_accent_2 {color: rgba(var(--site-themeColor-accent_2), 1) !important;}
	.txtColor_accent_3 {color: rgba(var(--site-themeColor-accent_3), 1) !important;}

	.emphasis {font-weight:bold;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

	.EmParentheses {margin-left:-.5em;margin-right:-.5em;}
	.EmParenthesesL {margin-left:-.5em;}
	.EmParenthesesR {margin-right:-.5em;}
	.EmParenthesesH {margin-left:-.25em;margin-right:-.25em;}/* Half */
	.EmParenthesesHL {margin-left:-.25em;}
	.EmParenthesesHR {margin-right:-.25em;}

	.ptHeading sub {bottom:-.1em;margin-right:.1em; font-size:max(.9rem,.55em);}
	.ptHeading sup {top:-.6em;margin-right:.1em; font-size:max(.9rem,.55em);}

	.urlWordBreak {word-break: break-all;}

/* Small Text */
	small.bl,
	small.bltr,
	small.blPCtrSPtl {display:block;/*line-height:1.4;*/margin-top:.35em;}
	small.bltr,
	small.blPCtrSPtl {text-align:right;}
	small .punc {margin-right:-.5em;}/* punctuation mark（約物）｜※inline-block内の文末使用は不可。inline-block自身への使用は可。 */
	
	.captionWrap {display:block;/*line-height:1.7;*/}
	.captionWrap small {display:inline-block;line-height: 1.7;/*font-size:1.1rem;*/letter-spacing:.06em;}
@media screen and (max-width: 736px) {
	small.blPCtrSPtl {text-align:left;}
	/*.captionWrap small {font-size:1rem;}*/
}

/* Imgcap | 例:	 <p class="imgcapParent"><img><small class="imgcap bk">caption</small></p>	 <p class="imgcapParent"><img><small class="imgcap"><span class="wh">caption</span></small></p> */
	.imgcapParent {
		position: relative;
	}
	.imgcap, .imgcapkeep {
		display: block;
		position: absolute;
		bottom: 0;
		right: 0;
		line-height: 1.5;
		padding: 5px 10px;
	}
	.imgcap.bg, .imgcapkeep.bg {
		padding: 2px 6px;
	}
	.imgcap > span,
	.imgcapkeep > span {
		display: inline-block;
	}
	.imgcap.is_imgcap_top_left,		.imgcapkeep.is_imgcapkeep_top_left {	inset: 0 auto auto 0;}
	.imgcap.is_imgcap_top_right,	.imgcapkeep.is_imgcapkeep_top_right {	inset: 0 0 auto auto;}
	.imgcap.is_imgcap_bottom_left,	.imgcapkeep.is_imgcapkeep_bottom_left {	inset: auto auto 0 0;}
	.imgcap.is_imgcap_bottom_right,	.imgcapkeep.is_imgcapkeep_bottom_right {inset: auto 0 0 auto;}
	.imgcap.wh, .imgcapkeep.wh {color:#ffffff;text-shadow:0 0 3px rgba(0,0,0,.3);}
	.imgcap.bk, .imgcapkeep.bk {color:#000000;text-shadow:0 0 3px rgba(255,255,255,.3);}
	.imgcap.gr, .imgcapkeep.gr {color:#767676;text-shadow:0 0 3px rgba(255,255,255,.3);}
	.imgcap .wh, .imgcapkeep .wh {color:#ffffff;text-shadow:0 0 5px rgba(0,0,0,.9), 0 0 4px rgba(0,0,0,.9), 0 0 3px rgba(0,0,0,1), 0 0 2px rgba(0,0,0,1);}
	.imgcap .bk, .imgcapkeep .bk {color:#000000;text-shadow:0 0 9px rgba(255,255,255,.9), 0 0 9px rgba(255,255,255,.9), 0 0 5px rgba(255,255,255,.5), 0 0 2px rgba(255,255,255,.5), 0 0 1px rgba(255,255,255,.5), 0px 1px 1px rgba(255,255,255,.5), 0px -1px 1px rgba(255,255,255,.5), 1px 0px 1px rgba(255,255,255,.5), -1px 0px 1px rgba(255,255,255,.5), 1px 1px 1px rgba(255,255,255,.5), -1px 1px 1px rgba(255,255,255,.5), 1px -1px 1px rgba(255,255,255,.5), -1px -1px 1px rgba(255,255,255,.5), .5px .5px .5px rgba(255,255,255,.7);}
	.imgcap .gr, .imgcapkeep .gr {color:#767676;text-shadow:0 0 9px rgba(255,255,255,.9), 0 0 9px rgba(255,255,255,.9), 0 0 5px rgba(255,255,255,.5), 0 0 2px rgba(255,255,255,.5), 0 0 1px rgba(255,255,255,.5), 0px 1px 1px rgba(255,255,255,.5), 0px -1px 1px rgba(255,255,255,.5), 1px 0px 1px rgba(255,255,255,.5), -1px 0px 1px rgba(255,255,255,.5), 1px 1px 1px rgba(255,255,255,.5), -1px 1px 1px rgba(255,255,255,.5), 1px -1px 1px rgba(255,255,255,.5), -1px -1px 1px rgba(255,255,255,.5), .5px .5px .5px rgba(255,255,255,.7);}
	.imgcap.wh.bg, .imgcapkeep.wh.bg {background-color:rgba(0,0,0,.5);text-shadow:none;}
	.imgcap.bk.bg, .imgcapkeep.bk.bg {background-color:rgba(255,255,255,.6);text-shadow:none;}
	.imgcap.gr.bg, .imgcapkeep.gr.bg {background-color:rgba(255,255,255,.6);text-shadow:none;}
@media screen and (max-width: 736px) {
	.imgcap {
		position: static;
		padding: .3em .5em 0;
	}
	.imgcap.wh,
	.imgcap.bk,
	.imgcap.gr,
	.imgcap > span {
		display: block;
		color: inherit;
		text-shadow: none!important;
		margin: .3em 0 0;
	}
	.imgcap.wh.bg,
	.imgcap.bk.bg,
	.imgcap.gr.bg {
		background-color: transparent;
	}
	.imgcapkeep.is_imgcapkeep_top_left_SP {		inset: 0 auto auto 0;}
	.imgcapkeep.is_imgcapkeep_top_right_SP {	inset: 0 0 auto auto;}
	.imgcapkeep.is_imgcapkeep_bottom_left_SP {	inset: auto auto 0 0;}
	.imgcapkeep.is_imgcapkeep_bottom_right_SP {	inset: auto 0 0 auto;}
}

/* Bgcap | （~=スペース区切り毎の正確な値） | content 内に「\A」で改行可能。 white-space:pre; 必須 | [例] div[data-bgcap-parent][data-bgcap-text="xxxxx"] */
	[data-bgcap-parent] {
		position: relative;
		/*background-image: ; 各ページ用CSSで設定*/
		background-position: center center;
		background-size: cover;
		background-repeat: no-repeat;
	}
	[data-bgcap-parent]::after {
		content: attr(data-bgcap-text); /*データ属性から取得 or 各ページ用CSSで設定(image photo)*/
		display: block;
		position: absolute;
		bottom: 0;
		right: 0;
		line-height: 1.5;
		font-family: var(--site-font_family-caption);
		color: inherit;
		font-size: 1.1rem;
		letter-spacing: .06em;
		white-space: pre;
		padding: 5px 10px;
		opacity: .8; /* 気持ち軽くする(不要なら削除) */
	}
	[data-bgcap-parent~="topLeft"]::after {		top: 0;	left: 0;}
	[data-bgcap-parent~="topRight"]::after {	top: 0; right: 0;}
	[data-bgcap-parent~="bottomLeft"]::after {	bottom: 0; left: 0;}
	[data-bgcap-parent~="bottomRight"]::after {	bottom: 0; right: 0;}
	[data-bgcap-parent~="wh"]::after {
		color:#ffffff;text-shadow:0 0 3px rgba(0,0,0,.3);
	}
	[data-bgcap-parent~="bk"]::after {
		color:#000000;text-shadow:0 0 3px rgba(255,255,255,.3);
	}
	[data-bgcap-parent~="bg"]::after {
		text-shadow:none; padding: 2px 6px;
	}
	[data-bgcap-parent~="wh"][data-bgcap-parent~="bg"]::after {
		background-color:rgba(0,0,0,.5);
	}
	[data-bgcap-parent~="bk"][data-bgcap-parent~="bg"]::after {
		background-color:rgba(255,255,255,.6);
	}
	[data-bgcap-parent~="1rem"]::after {
		font-size: 1rem;
	}
	[data-bgcap-parent~="09rem"]::after {
		font-size: .9rem;
	}
	[data-bgcap-parent~="08rem"]::after {
		font-size: .8rem;
	}
@media screen and (max-width: 736px) {
	[data-bgcap-parent]::after {
		font-size: 1rem;
	}
	[data-bgcap-parent~="1rem"]::after {
		font-size: 1rem;
	}
	[data-bgcap-parent~="09rem"]::after {
		font-size: .9rem;
	}
	[data-bgcap-parent~="08rem"]::after {
		font-size: .8rem;
	}
}

/* Symbol List */
	/* ul.symList>li.symItem*2>div.sym+div.symItemText */
	.symList > .symItem {display:flex;width:100%;}
	.symList > .symItem::before,
	.symList > .symItem .sym {display:block;white-space:nowrap;padding-right:.25em;}
	.symList > .symItem .symItemText {flex:1 1;display:block;}
	.symList[data-star-symlist-styletype="circleFill"] > .symItem::before { content: "●";}
	.symList[data-star-symlist-styletype="squareFill"] > .symItem::before { content: "■";}
	.symList[data-star-symlist-styletype="squareLine"] > .symItem::before { content: "□";}
	
	/* small.symList-kome>span.symItem*2>span.sym{※}+span.symItemText{xxx}>br */
	.symList-kome {display:block!important;}
	.symList-kome .symItem {display:flex;width:100%;}
	.symList-kome .sym {display:block;white-space:nowrap;padding-right:.25em;}
	.symList-kome .symItemText {flex:1 1;display:block;}
	
	/* small.symList-kome>span.symItem.legendBox>(i*3>img[src="xxx"][alt="xxx色"][width="000"][height="000"])+(i*3>{XXXxxxxxx})+br */
	.symList-kome .legendBox {display:flex;flex-wrap:wrap;justify-content:flex-start;margin-top:.2em;margin-bottom:.2em;}
	.symList-kome .legendBox i {display:inline-block;margin-right:1.5em;}
	.symList-kome .legendBox img {vertical-align:middle;line-height:1;margin-right:4px; margin-top:-3px; height:1em;}
	.symList-kome .legendBox img.outframe {margin-right:6px;}
	.symList-kome .legendBox br:last-child {display: none;}

/* ---------------------------------
	Link
--------------------------------- */
	/* ----- tmplリセット ----- */
	:where(main) a {
		color: inherit;
		text-decoration: none;
	}
	:where(main) a .inbl {
		color: inherit;
		text-decoration: inherit;
	}
	:where(main) a:hover {
		text-decoration: none; /* base.cssのリセット */
	}
	/* ----- 汎用：文字色青・下線付き ----- */
	a.txtLink,
	.txtLink a {
		/*color: #4d92ff!important;*/
		text-decoration: underline !important;
	}
	/* ----- 汎用：hover時_透過フェード ----- */
	a.hover,
	.hover a,
	.hoverItem {
		transition: opacity .15s ease-out;
	}
	@media (hover: hover) and (pointer: fine) {
		a.txtLink:hover,
		.txtLink a:hover {
			text-decoration: none !important;
		}
		a.hover:hover,
		.hover a:hover,
		.hoverItem:hover {
			opacity: .63;
		}
	}
	a.txtLink:focus-visible,
	.txtLink a:focus-visible {
		text-decoration: none !important;
	}
	a.hover:focus-visible,
	.hover a:focus-visible,
	.hoverItem:focus-visible {
		opacity: .63;
	}

/* ---------------------------------
	Button
--------------------------------- */
	/* ボタン要素のスタイルリセット | button.M_btnReset */
	.M_btnReset {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		color: inherit;
		font: inherit;
		text-align: inherit;
		background: transparent;
		border: none;
		border-radius: 0;
	}
	.M_btnReset:not([disabled]) {
		cursor: pointer;
	}


/* ============================================================================
	AddParts
-------------------------------------------------------------------------------
	* generalButton				// 2024.06 NEW
	- btn_XXX
	* [data-buttonicon]
	- arrow_ku
	- arrow_tri
	- arrow_ya
	- ico_plus
	- ico_ya
	* M_shinyEffect
	* generalColBoxFlex
	* jsSwipeIt_v2
============================================================================ */

/* generalButton													2024.06
---------------------------------------------------------------------------
- 汎用ボタン（::before,::afterはアイコンエリアとして使用）
- ラベルエリア中央配置、アイコンエリア両端配置
- テキスト中央揃え
- 例：<a href="xxx" class="generalButton"><span class="label">XXX</span></a>
- 例：<a href="xxx" class="generalButton"><span class="label">XXX</span><span class="btnBg">//背景色など</span></a>
- 例：<button type="button" class="generalButton"><span class="label">XXX</span></button>
------------------------------------------------------------------------ */
	[class*="generalButton"] {
		--default-generalButton-boxShadow: 0 0 0 0 rgba(0, 0, 0, 0);
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		position: relative;
		/*z-index: 0;*/								/* for Safari.（border-radius時必須） */
		width: 90%;
		max-width: 500px;
		min-height: 55px;							/* 初期値: 55px（非表示可） */
		line-height: 1.3;
		font-size: 1.8rem;
		text-align: center;							/* 初期値: center */
		text-decoration: none;
		letter-spacing: .12em;
		margin: 0 auto;
		padding: calc(7px + .4em) 20px;
		box-shadow: var(--default-generalButton-boxShadow);
						/*	background: tan;*/
							/*writing-mode: vertical-rl;*/
	}
	/* アイコンエリア */
	[class*="generalButton"]::before,
	[class*="generalButton"]::after {
		content: "";
							/*background: linen;*/
							/*background: linen;
							box-shadow: 0 0 0 1px rgba(255, 0, 0, .5);*/
	}
	/* ラベルエリア */
	[class*="generalButton"] .label {
		display: block;
							/*background: pink;*/
	}
	/* hover（共通） */
	[class*="generalButton"][href],
	button:not([disabled])[class*="generalButton"] {
		transition: color .12s ease-out, background .12s ease-out, border .12s ease-out, box-shadow .12s ease-out, opacity .12s ease-out;
	}
	
	/* 細かいパーツ
	----------------------- */
	[class*="generalButton"] .en {
		display: block;
		line-height: 1.1;
		color: #fdf0d0;
		font-family: var(--site-font_family-en_1);
		font-size: max(1rem, .777778em);
		/*font-style: italic;*/
		letter-spacing: .2em;
		margin-bottom: .15em;
	}
	[class*="generalButton"] .ja {}
	[class*="generalButton"] .inbl {	text-decoration: inherit;}
	[class*="generalButton"] .kana {	letter-spacing: -.06em;}
	[class*="generalButton"] .kochira {}
	

	/* ---------------------------------
		btn000
	--------------------------------- */
	[class*="generalButton"].btnL {
		max-width: 700px;
		/*font-size: 1.3em;*/
	}
	[class*="generalButton"].btnS {
		max-width: 300px;
		/*font-size: inherit;*/
	}

	/* ---------------------------------
		start配置
	------------------------------------
	- ラベルエリア先頭配置、アイコンエリア末尾配置
	- テキスト先頭揃え
	- 例：<a href="xxx" class="generalButton_start"><span class="label">XXX</span></a>
	--------------------------------- */
	.is_generalButton_inlineStart {
		grid-template-columns: auto 1fr;
		text-align: left;
	}
	.is_generalButton_inlineStart::before {
		content: none;
	}

	/* ---------------------------------
		角丸
	--------------------------------- */
	.is_generalButton_round {
		overflow: hidden;
		border-radius: 10em;
	}

	/* ---------------------------------
		単色
	--------------------------------- */
	.generalButton {
		background: #444;
	}
	.generalButton,
	.generalButton:active,
	.generalButton:focus {							/* base.cssのリセット */
		color: #fff;
	}
	@media (hover: hover) and (pointer: fine) {
		.generalButton[href]:hover,
		button:not([disabled]).generalButton:hover {
			background: #666;
		}
	}
	.generalButton[href]:focus-visible,
	button:not([disabled]).generalButton:focus-visible {
			background: #666;
	}
	/* ---------------------------------
		枠線
	--------------------------------- */
	.generalButton_border {
		background: transparent;
		box-shadow: 0 0 0 1px #444 inset, var(--default-generalButton-boxShadow);
	}
	.generalButton_border,
	.generalButton_border:active,
	.generalButton_border:focus {					/* base.cssのリセット */
		color: #333;
	}
	@media (hover: hover) and (pointer: fine) {
		.generalButton_border[href]:hover,
		button:not([disabled]).generalButton_border:hover {
			color: #fff;
			background: #666;
		}
	}
	.generalButton_border[href]:focus-visible,
	button:not([disabled]).generalButton_border:focus-visible {
			color: #ddd;
			background: #666;
	}
	/* ---------------------------------
		グラデーション
	------------------------------------
		- 例：<a href="xxx" class="generalButton_bgGradient"><span class="label">XXX</span><span class="btnBg">//背景色など</span></a>
	--------------------------------- */
	/*.generalButton_bgGradient {
		background: #939393;						// ベースカラー(ONカラー) //
	}
	.generalButton_bgGradient,
	.generalButton_bgGradient:active,
	.generalButton_bgGradient:focus {				// base.cssのリセット //
		color: #fff;
	}
	.generalButton_bgGradient .btnBg {
		display:block;position:absolute;top:0;right:0;z-index:0;width:100%;height:100%;
		background: linear-gradient(to right, rgba(0,0,0, .34) 0%, rgba(0,0,0,0) 45% 55%, rgba(0,0,0, .34) 100%);
		opacity: 1;
		transition: opacity .12s ease-out;
	}
	.generalButton_bgGradient .label {
		position: relative;
		z-index: 3;
	}
	@media (hover: hover) and (pointer: fine) {
		.generalButton_bgGradient[href]:hover .btnBg,
		button:not([disabled]).generalButton_bgGradient:hover .btnBg {
			opacity: .33;
		}
	}
	.generalButton_bgGradient[href]:focus-visible .btnBg,
			button:not([disabled]).generalButton_bgGradient:focus-visible .btnBg {
			opacity: .33;
	}*/
	/* ---------------------------------
		グラデーション | hover時にグラデをスライドさせる場合
	------------------------------------
		- 例：<a href="xxx" class="generalButton_bgGradient"><span class="label">XXX</span></a>
	--------------------------------- */
	.generalButton_bgGradient {
		/*background: 100% 0% / 300% 100% no-repeat;
		background-image: linear-gradient(135deg, #444 0% 33%, #555 67%, #777 83%, #888 96% 100%);*/
		background: 0% 0% / 300% 100% no-repeat;
		background-image: linear-gradient(135deg, #000 0%, #444 16%, #555 29% 33%, #666 67% 100%);
		transition: background .13s ease, box-shadow .13s ease-out;
	}
	.generalButton_bgGradient,
	.generalButton_bgGradient:active,
	.generalButton_bgGradient:focus {				/* base.cssのリセット */
		color: #fff;
	}
	@media (hover: hover) and (pointer: fine) {
		.generalButton_bgGradient[href]:hover,
		button:not([disabled]).generalButton_bgGradient:hover {
			/*background-position: 0% 0%;*/
			background-position: 100% 0%;
		}
	}
	.generalButton_bgGradient[href]:focus-visible,
	button:not([disabled]).generalButton_bgGradient:focus-visible {
			/*background-position: 0% 0%;*/
			background-position: 100% 0%;
	}

@media screen and (max-width: 1200px) {
	[class*="generalButton"] {
		letter-spacing: .07em;
	}
	/*[class*="generalButton"].btnL {
		font-size: 1.2em;
	}*/
}
@media screen and (max-width: 736px) {
	[class*="generalButton"] {
		font-size: 1.6rem;
		letter-spacing: .03em;
		padding-top:	calc(9px + .4em);
		padding-bottom:	calc(9px + .4em);
	}
	[class*="generalButton"].btnL {
		max-width: 500px;
		/*font-size: 1.11em;*/
	}
	[class*="generalButton"] .en {
		letter-spacing: .07em;
	}
}
@media screen and (max-width: 480px) {
	[class*="generalButton"] {
		width: 100%;
		/*max-width: 280px;*/
		/*font-size: 1em;*/
	}
	/*[class*="generalButton"] .en {
		font-size: 1rem;
	}
	[class*="generalButton"] .ja {
		font-size: 1.3rem;
	}*/
}

/* btn_XXX | 特定のボタンカラー
---------------------------------------------------- */
	/* -- req, res, lim, att, gMap -- */
	/*:is(.btn_req, .btn_res, .btn_lim, .btn_att, .gMapLink) [class*="generalButton"][href] {
		color: #fff;
		transition: color .12s ease-out, background .12s ease-out, border .12s ease-out, box-shadow .12s ease-out, opacity .12s ease-out;
	}*/
	
	/* -- req,res,lim,att,gMap -- */
	/* ベースカラー */
	.btn_req [class*="generalButton"] {			background-image: linear-gradient(135deg, #957a56 0%, #b19967 16%, #bca56e 29% 33%, #c3ab70 67% 100%); }
	.btn_res [class*="generalButton"] {			background-image: linear-gradient(135deg, #574238 0%, #836d63 16%, #937d73 29% 33%, #9c8377 67% 100%); }
	.btn_lim [class*="generalButton"] {			background-image: linear-gradient(135deg, #ff0000 0%, #ff5555 16%, #ff8888 29% 33%, #ff9393 67% 100%); }
	.btn_att [class*="generalButton"] {			background-image: linear-gradient(135deg, #ff0000 0%, #ff5555 16%, #ff8888 29% 33%, #ff9393 67% 100%); }
	/*.gMapLink [class*="generalButton"] {		background-image: linear-gradient(135deg, #3f3f3f 0%, #626262 16%, #707070 29% 33%, #7b7b7b 67% 100%); } ※これはmap.cssで設定する */
	.btn_entryGuide [class*="generalButton"] {	background-image: linear-gradient(135deg, #957a56 0%, #b19967 16%, #bca56e 29% 33%, #c3ab70 67% 100%); }
	.btn_planDetail [class*="generalButton"] {	background-image: linear-gradient(135deg, #574238 0%, #836d63 16%, #937d73 29% 33%, #9c8377 67% 100%); }

	/* hover */
	/*@media (hover: hover) and (pointer: fine) {
			.btn_req [class*="generalButton"][href]:hover {		color: #000; background: #fcc; }
			.btn_res [class*="generalButton"][href]:hover {		color: #000; background: #cfc; }
			.btn_lim [class*="generalButton"][href]:hover {		color: #000; background: #ccf; }
			.btn_att [class*="generalButton"][href]:hover {		color: #000; background: #ffc; }
			.gMapLink [class*="generalButton"][href]:hover {	color: #000; background: #fcf; }
	}
	.btn_req [class*="generalButton"][href]:focus-visible {		color: #000; background: #fcc; }
	.btn_res [class*="generalButton"][href]:focus-visible {		color: #000; background: #cfc; }
	.btn_lim [class*="generalButton"][href]:focus-visible {		color: #000; background: #ccf; }
	.btn_att [class*="generalButton"][href]:focus-visible {		color: #000; background: #ffc; }
	.gMapLink [class*="generalButton"][href]:focus-visible {	color: #000; background: #fcf; }*/
	
	/* -- noticeBtn -- */
	.btn_touroku [class*="generalButton"] {		background-image: linear-gradient(135deg, #4c553d 0%, #6a7556 16%, #778262 29% 33%, #818c6a 67% 100%); }

@media screen and (max-width: 480px) {
	/*.btn_req [class*="generalButton"] .kochira,
	.btn_res [class*="generalButton"] .kochira,
	.btn_lim [class*="generalButton"] .kochira,
	.btn_att [class*="generalButton"] .kochira,
	.gMapLink [class*="generalButton"] .kochira {
		display: block;
	}*/
}

/* アイコンエリア | シンプルアロー
-------------------------------------------------------
- 例：<a href="xxx" class="generalButton" data-buttonicon="arrow_ku"><span class="label">XXX</span></a>
- 例：<a href="xxx" class="generalButton" data-buttonicon="arrow_tri"><span class="label">XXX</span></a>
- 例：<a href="xxx" class="generalButton" data-buttonicon="arrow_ya"><span class="label">XXX</span></a>
---------------------------------------------------- */
	[class*="generalButton"][data-buttonicon*="arrow_ku"] {
		column-gap: 1em;	/* ラベルエリアとアイコンエリアの要素間余白 */
	}
	[class*="generalButton"][data-buttonicon*="arrow_ku"]::before,
	[class*="generalButton"][data-buttonicon*="arrow_ku"]::after {
		display: inline-block;
		height: 1em;	/* 初期値: 1em */
		aspect-ratio: 1;
		scale: 1 1;	/* scale: 1 1; | scale: .8 1; */
		transform: rotate(45deg);
	}
	[class*="generalButton"][data-buttonicon*="arrow_ku"]::before {
		/*justify-self: start;*/
	}
	[class*="generalButton"][data-buttonicon*="arrow_ku"]::after {
		justify-self: end;
		border: 0 solid;
		border-width: 1px 1px 0 0;
	}
	[class*="generalButton"][data-buttonicon="arrow_ku_S"]::before,
	[class*="generalButton"][data-buttonicon="arrow_ku_S"]::after {		height: .5em;}
	[class*="generalButton"][data-buttonicon="arrow_ku_M"]::before,
	[class*="generalButton"][data-buttonicon="arrow_ku_M"]::after {		height: .8em;}
	[class*="generalButton"][data-buttonicon="arrow_ku_L"]::before,
	[class*="generalButton"][data-buttonicon="arrow_ku_L"]::after {		height: 1.4em;}
	[class*="generalButton"][data-buttonicon="arrow_ku_L"]::before {	margin-right: -.4em;}	/* 微調整 */
	[class*="generalButton"][data-buttonicon="arrow_ku_L"]::after {		margin-left: -.4em;}	/* 微調整 */
	
	
	[class*="generalButton"][data-buttonicon*="arrow_tri"] {
		column-gap: 1em;	/* ラベルエリアとアイコンエリアの要素間余白 */
	}
	[class*="generalButton"][data-buttonicon*="arrow_tri"]::before,
	[class*="generalButton"][data-buttonicon*="arrow_tri"]::after {
		display: inline-block;
		height: 0;
		aspect-ratio: 1;
		border-top: 1em solid;	/* 初期値: 1em */
		scale: .47 1;			/* scale: .47 1; | scale: .9 1; */
	}
	[class*="generalButton"][data-buttonicon*="arrow_tri"]::before {
		/*justify-self: start;*/
		border-color: transparent;
	}
	[class*="generalButton"][data-buttonicon*="arrow_tri"]::after {
		justify-self: end;
		clip-path: polygon(0 0, 100% 50%, 0% 100%);
	}
	[class*="generalButton"][data-buttonicon="arrow_tri_S"]::before,
	[class*="generalButton"][data-buttonicon="arrow_tri_S"]::after {	border-top-width: .5em;}
	[class*="generalButton"][data-buttonicon="arrow_tri_M"]::before,
	[class*="generalButton"][data-buttonicon="arrow_tri_M"]::after {	border-top-width: .8em;}
	[class*="generalButton"][data-buttonicon="arrow_tri_L"]::before,
	[class*="generalButton"][data-buttonicon="arrow_tri_L"]::after {	border-top-width: 1.4em;}
	
	
	[class*="generalButton"][data-buttonicon*="arrow_ya"] {
		column-gap: 1em;	/* ラベルエリアとアイコンエリアの要素間余白 */
	}
	[class*="generalButton"][data-buttonicon*="arrow_ya"]::before,
	[class*="generalButton"][data-buttonicon*="arrow_ya"]::after {
		display: inline-block;
		height: 1em;	/* 初期値: 1em */
		aspect-ratio: 1;
		scale: 1 1;	/* scale: 1 1; | scale: .8 1; */
	}
	[class*="generalButton"][data-buttonicon*="arrow_ya"]::before {
		/*justify-self: start;*/
	}
	[class*="generalButton"][data-buttonicon*="arrow_ya"]::after {
		justify-self: end;
		--arrow_ya-icon: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="81" height="81" viewBox="0 0 81 81" fill="%23f00"><path d="M47.705,71.5c-.528,0-1.055-.212-1.442-.63-.738-.796-.691-2.04.106-2.777l29.775-27.593-29.775-27.593c-.796-.738-.844-1.981-.106-2.777.738-.797,1.982-.843,2.778-.106l31.33,29.035c.402.372.63.894.63,1.441s-.228,1.07-.63,1.441l-31.33,29.035c-.378.351-.857.524-1.336.524Z"/><path d="M75.639,42.465H1.966c-1.085,0-1.966-.88-1.966-1.965s.88-1.965,1.966-1.965h73.673c1.085,0,1.966.88,1.966,1.965s-.88,1.965-1.966,1.965Z"/></svg>');
		background-color: #fff;
		-webkit-mask: center center / contain no-repeat;
				mask: center center / contain no-repeat;
		-webkit-mask-image: var(--arrow_ya-icon);
				mask-image: var(--arrow_ya-icon);
	}
	[class*="generalButton"][data-buttonicon="arrow_ya_S"]::before,
	[class*="generalButton"][data-buttonicon="arrow_ya_S"]::after {		height: .5em;}
	[class*="generalButton"][data-buttonicon="arrow_ya_M"]::before,
	[class*="generalButton"][data-buttonicon="arrow_ya_M"]::after {		height: .8em;}
	[class*="generalButton"][data-buttonicon="arrow_ya_L"]::before,
	[class*="generalButton"][data-buttonicon="arrow_ya_L"]::after {		height: 1.4em;}


/* ico_plus
-------------------------------------------------------
- ボタン右端に固定した＋アイコン。
- setting.jsの「slideToggleFocus」と連携(.active)。
- カスタムデータ属性（^= と = の違いに注意。^=先頭の値）
- 例：<button type="button" class="generalButton js_slideToggleFocusBtn" aria-controls="xxx" data-buttonicon="ico_plus"><span class="label" data-button-text-show="開く" data-button-text-hide="閉じる">開く</span><span class="ico"></span></button>
---------------------------------------------------- */
	[data-buttonicon^="ico_plus"] {
		--default-dataButtonIcon-icoPlus_-right:			20px;	/* 右端からの距離（初期値） */
		--default-dataButtonIcon-icoPlus_-width:			15px;	/* アイコン幅（初期値） */
		--default-dataButtonIcon-icoPlus_-height:			var(--default-dataButtonIcon-icoPlus_-width); /* アイコン高さ（初期値はアイコン幅と同じ） */
		--default-dataButtonIcon-icoPlus_-padding-adjust:	0px;	/* 微調整 */
	}
	[class*="generalButton"][data-buttonicon^="ico_plus"] {		/* calc(文字からアイコンまでの余白 + 右端からの距離 + アイコン幅 + 微調整); */
		padding-left:	calc(var(--default-dataButtonIcon-padding-lr) + var(--default-dataButtonIcon-icoPlus_-right) + var(--default-dataButtonIcon-icoPlus_-width) + var(--default-dataButtonIcon-icoPlus_-padding-adjust));
		padding-right:	calc(var(--default-dataButtonIcon-padding-lr) + var(--default-dataButtonIcon-icoPlus_-right) + var(--default-dataButtonIcon-icoPlus_-width) + var(--default-dataButtonIcon-icoPlus_-padding-adjust));
	}
	[data-buttonicon^="ico_plus"] .ico {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: auto;
		right: var(--default-dataButtonIcon-icoPlus_-right);
		width: var(--default-dataButtonIcon-icoPlus_-width);
		height: var(--default-dataButtonIcon-icoPlus_-height);
		margin: auto;
		opacity: .89;
	}
	[data-buttonicon^="ico_plus"] .ico::before,
	[data-buttonicon^="ico_plus"] .ico::after {
		content: "";
		display: block;
		position: absolute; top: calc(50% - .5px); left: 0;
		width: 100%;
		height: 1px;
		background: currentColor;
	}
	[data-buttonicon^="ico_plus"] .ico::after {
		transform: rotate(90deg);
		transition: all .3s ease-out;
	}
	.active[data-buttonicon^="ico_plus"] .ico::after {
		transform: scale(.01) rotate(90deg);
	}
@media screen and (max-width: 736px) {
	[data-buttonicon^="ico_plus"] {
		--default-dataButtonIcon-icoPlus_-right:			16px;
		--default-dataButtonIcon-icoPlus_-width:			13px;
	}
}
@media screen and (max-width: 480px) {
	[data-buttonicon^="ico_plus"] {
		--default-dataButtonIcon-icoPlus_-right:			12px;
		--default-dataButtonIcon-icoPlus_-width:			11px;
	}
}

/* ico_ya
-------------------------------------------------------
- 矢印アイコンの設定だけ。
- カスタムデータ属性（^= と = の違いに注意。^=先頭の値）
- 例：<a href="xxx" class="generalButton" data-buttonicon="ico_ya"><span class="label"><span>XXX</span><span class="ico"></span></span></a>
---------------------------------------------------- */
	[data-buttonicon="ico_ya_t"] {
		--ico_ya-icon: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="81" height="81" viewBox="0 0 81 81" fill="%23000"><path d="M71.5,33.295c0,.528-.212,1.055-.63,1.442-.796.738-2.04.691-2.777-.106L40.5,4.857l-27.593,29.775c-.738.796-1.981.844-2.777.106-.797-.738-.843-1.982-.106-2.778L39.059.63C39.43.228,39.953,0,40.5,0s1.07.228,1.441.63l29.035,31.33c.351.378.524.857.524,1.336Z"/><path d="M42.465,5.361v73.673c0,1.085-.88,1.966-1.965,1.966s-1.965-.88-1.965-1.966V5.361c0-1.085.88-1.966,1.965-1.966s1.965.88,1.965,1.966Z"/></svg>');
	}
	[data-buttonicon="ico_ya_b"] {
		--ico_ya-icon: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="81" height="81" viewBox="0 0 81 81" fill="%23000"><path d="M9.5,47.705c0-.528.212-1.055.63-1.442.796-.738,2.04-.691,2.777.106l27.593,29.775,27.593-29.775c.738-.796,1.981-.844,2.777-.106.797.738.843,1.982.106,2.778l-29.035,31.33c-.372.402-.894.63-1.441.63s-1.07-.228-1.441-.63l-29.035-31.33c-.351-.378-.524-.857-.524-1.336Z"/><path d="M38.535,75.639V1.966c0-1.085.88-1.966,1.965-1.966s1.965.88,1.965,1.966v73.673c0,1.085-.88,1.966-1.965,1.966s-1.965-.88-1.965-1.966Z"/></svg>');
	}
	[data-buttonicon="ico_ya_l"] {
		--ico_ya-icon: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="81" height="81" viewBox="0 0 81 81" fill="%23000"><path d="M33.295,9.5c.528,0,1.055.212,1.442.63.738.796.691,2.04-.106,2.777L4.857,40.5l29.775,27.593c.796.738.844,1.981.106,2.777-.738.797-1.982.843-2.778.106L.63,41.941C.228,41.57,0,41.047,0,40.5s.228-1.07.63-1.441L31.96,10.024c.378-.351.857-.524,1.336-.524Z"/><path d="M5.361,38.535h73.673c1.085,0,1.966.88,1.966,1.965s-.88,1.965-1.966,1.965H5.361c-1.085,0-1.966-.88-1.966-1.965s.88-1.965,1.966-1.965Z"/></svg>');
	}
	[data-buttonicon="ico_ya_r"] {
		--ico_ya-icon: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="81" height="81" viewBox="0 0 81 81" fill="%23000"><path d="M47.705,71.5c-.528,0-1.055-.212-1.442-.63-.738-.796-.691-2.04.106-2.777l29.775-27.593-29.775-27.593c-.796-.738-.844-1.981-.106-2.777.738-.797,1.982-.843,2.778-.106l31.33,29.035c.402.372.63.894.63,1.441s-.228,1.07-.63,1.441l-31.33,29.035c-.378.351-.857.524-1.336.524Z"/><path d="M75.639,42.465H1.966c-1.085,0-1.966-.88-1.966-1.965s.88-1.965,1.966-1.965h73.673c1.085,0,1.966.88,1.966,1.965s-.88,1.965-1.966,1.965Z"/></svg>');
	}
	[data-buttonicon^="ico_ya"] .ico {
		display: inline-block;
		width: 1em; /* 1em | 20px */
		aspect-ratio: 1 / 1;
		background-color: #fff;
		-webkit-mask: center center / contain no-repeat;
				mask: center center / contain no-repeat;
		-webkit-mask-image: var(--ico_ya-icon);
				mask-image: var(--ico_ya-icon);
	}
/*@media screen and (max-width: 736px) {
	[data-buttonicon^="ico_ya"] .ico {
		width: 16px;
	}
}
@media screen and (max-width: 480px) {
	[data-buttonicon^="ico_ya"] .ico {
		width: 13px;
	}
}*/


/* M_shinyEffect 													2022.09
---------------------------------------------------------------------------
- 光が走るエフェクト
- 横長コンテンツ専用（横長～正方形まで）（※縦長コンテンツは[padding-top:calc(長辺/短辺*100%);]で個々に設定）
- 親要素に position:relative; 必須。
---------------------------------------------------------------------------
a.generalButton>(span.label{xxx}+span.M_shinyEffect_toRight)
a.generalButton[data-m-shinyeffect="toRight__after"]>(span.label{xxx})
------------------------------------------------------------------------ */
	.M_shinyEffect_toRight {
		display: block;
		position: absolute;
		inset: 0;
		z-index: 0;
		overflow: hidden;
		background: transparent;
		pointer-events: none;
	}
	[data-m-shinyeffect] {
		position: relative;
		overflow: hidden;
	}
	.M_shinyEffect_toRight::before,
	[data-m-shinyeffect="toRight__before"]::before,
	[data-m-shinyeffect="toRight__after"]::after {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 0;
		height: 0;
		width: 100%;
		padding-top: 100%;
		background: rgba(255, 255, 255, .7);
		transform: translate(-100%, -100%) rotate(-45deg) scale(1);
		transform-origin: center center;
		animation: 4.5s ease-out infinite ANIME-M_shinyEffect_toRight;
		pointer-events: none;
	}
@keyframes ANIME-M_shinyEffect_toRight {
	0% {		transform: translate(-100%, -100%) rotate(-45deg) scale(1); opacity: 1;}
	15% {		transform: translate(-100%, -100%) rotate(-45deg) scale(4);}
	30%, 100% {	transform: translate(-100%, -100%) rotate(-45deg) scale(4); opacity: 0;}
}


/* generalColBoxFlex									2022.09, 2026.07
---------------------------------------------------------------------------
- フレックスボックス・gap余白ver
- カスタムデータ属性（~=スペース区切り毎の正確な値）
- 各ページ用CSSで、ユニーククラスに対してであればカスタムプロパティの値を変更可
	- × .generalColBoxFlex {		--default-generalColBoxFlex-rowGap: 30px;}
	- ○ .generalColBoxFlex.xxxBox {	--default-generalColBoxFlex-rowGap: 30px;}
	- ○ .xxxBox {					--default-generalColBoxFlex-rowGap: 30px;}
---------------------------------------------------------------------------
- widthは --default-generalColBoxFlex-columnCount の値から自動計算される（gapを差し引いた「N列ちょうど並ぶ幅」を算出）
- maxCol*   : 無条件の列数指定（PC想定・初期値）
- toCol*_   : ブレークポイント無指定時の上書き用
- toCol*_TB / _TBs / _SP / _SPs : 各ブレークポイントでの上書き用（すべて同じ詳細度のため、下記の記述順（無条件→広い順→狭い順）がそのまま優先順位になる。順序を入れ替えないよう注意）
---------------------------------------------------------------------------
div.generalColBoxFlex[data-colbox-size="maxCol3 toCol1_SP"]>(div.xxx{xxx})*3
------------------------------------------------------------------------ */
	.generalColBoxFlex {
		--default-generalColBoxFlex-rowGap:			30px;
		--default-generalColBoxFlex-columnGap:		60px;
		--default-generalColBoxFlex-columnCount:	3;
		display: flex;
		flex-wrap: wrap;
		gap: var(--default-generalColBoxFlex-rowGap) var(--default-generalColBoxFlex-columnGap);
	}
	[data-colbox-size] > * { /* calc(100% - (余白) / 数量) */
		width: calc((100% - ((var(--default-generalColBoxFlex-columnCount) - 1) * var(--default-generalColBoxFlex-columnGap))) / var(--default-generalColBoxFlex-columnCount));
	}

	/* 無条件（PC / 初期値） */
	[data-colbox-size~="maxCol1"] {	--default-generalColBoxFlex-columnCount: 1;}
	[data-colbox-size~="maxCol2"] {	--default-generalColBoxFlex-columnCount: 2;}
	[data-colbox-size~="maxCol3"] {	--default-generalColBoxFlex-columnCount: 3;}
	[data-colbox-size~="maxCol4"] {	--default-generalColBoxFlex-columnCount: 4;}

	/* ブレークポイント無指定の上書き用 */
	[data-colbox-size~="toCol1_"] {	--default-generalColBoxFlex-columnCount: 1;}
	[data-colbox-size~="toCol2_"] {	--default-generalColBoxFlex-columnCount: 2;}
	[data-colbox-size~="toCol3_"] {	--default-generalColBoxFlex-columnCount: 3;}
	[data-colbox-size~="toCol4_"] {	--default-generalColBoxFlex-columnCount: 4;}

@media screen and (max-width: 1200px) {
	[data-colbox-size~="toCol1_TB"] {	--default-generalColBoxFlex-columnCount: 1;}
	[data-colbox-size~="toCol2_TB"] {	--default-generalColBoxFlex-columnCount: 2;}
	[data-colbox-size~="toCol3_TB"] {	--default-generalColBoxFlex-columnCount: 3;}
	[data-colbox-size~="toCol4_TB"] {	--default-generalColBoxFlex-columnCount: 4;}
}
@media screen and (max-width: 1050px) {
	[data-colbox-size~="toCol1_TBs"] {	--default-generalColBoxFlex-columnCount: 1;}
	[data-colbox-size~="toCol2_TBs"] {	--default-generalColBoxFlex-columnCount: 2;}
	[data-colbox-size~="toCol3_TBs"] {	--default-generalColBoxFlex-columnCount: 3;}
	[data-colbox-size~="toCol4_TBs"] {	--default-generalColBoxFlex-columnCount: 4;}
}
@media screen and (max-width: 736px) {
	[data-colbox-size~="toCol1_SP"] {	--default-generalColBoxFlex-columnCount: 1;}
	[data-colbox-size~="toCol2_SP"] {	--default-generalColBoxFlex-columnCount: 2;}
	[data-colbox-size~="toCol3_SP"] {	--default-generalColBoxFlex-columnCount: 3;}
	[data-colbox-size~="toCol4_SP"] {	--default-generalColBoxFlex-columnCount: 4;}
}
@media screen and (max-width: 480px) {
	[data-colbox-size~="toCol1_SPs"] {	--default-generalColBoxFlex-columnCount: 1;}
	[data-colbox-size~="toCol2_SPs"] {	--default-generalColBoxFlex-columnCount: 2;}
	[data-colbox-size~="toCol3_SPs"] {	--default-generalColBoxFlex-columnCount: 3;}
	[data-colbox-size~="toCol4_SPs"] {	--default-generalColBoxFlex-columnCount: 4;}
}

/* jsSwipeIt_v2
---------------------------------------------------------------------------
- スクロールエリアに、スワイプを促すオーバーレイ（背景カバー＋中央アイコン）を重ねて表示。
- ※基本は画像に用いる想定だが、'div等'の中にテキストやテーブル等も設置可能。
---------------------------------------------------------------------------
- (JS)		setting.jsの「jsSwipeIt」と連携
- (HTML)	スクロールしたい要素の親に「(div).jsSwipeIt」を指定する。「.jsSwipeIt[data-breakpoint="000"]」で横スクロールへ切り替えるウィンドウ幅を設定。省略時は 768。（000＝単位なし数値）
- (CSS)		各ページ用CSSで、画像（直下の子）のサイズを段階指定可（'上書き例'参照）。オーバーレイの背景色、スワイプアイコンのサイズも変更可。
---------------------------------------------------------------------------
div.xxxBox>div.jsSwipeIt[data-breakpoint="1200"][data-role="..."][data-label="..."]>(div.swipeIt__body>div>img[alt="..."])+small.bltr.mt05em{yyy}
div.xxxBox>div.jsSwipeIt[data-label="..."]>(div.swipeIt__body>img[alt="..."])
------------------------------------------------------------------------ */
/* 横スクロール
-------------------------------------------------------
 *	.jsSwipeIt
		- JSのフック対象。
		- 本体とオーバーレイを同じセルに重ねるため Grid 1カラムに。
		- DOM順は __overlay → __body → small要素。__overlay/__body を同じグリッドセル(1/1)へ重ね、small要素は次の行へ自動配置。
 *	.swipeIt__body
		- スクロール領域（本体）。is-swipeReady の時だけスクロール可に。
 *	.swipeIt__body > *
		- 本体直下の単一要素（img / div / table 等）。
		- ※ .swipeIt__body の子要素(直下)には一要素しか置けない。（複数並べると全部200%(規定値)になり崩れる）
		- is-swipeReady 時：本体直下の子を200%(規定値)にして必ずはみ出させる。
		- 基本的にこの要素にはwidth設定が必須なので、min-inline-size:revert; は不要。
 *	.swipeIt__body > div
		- 中間 div を挟む事もできるが、省略も可（div.swipeIt__body>img[alt="..."]と組んでもOK）。
---------------------------------------------------- */
.jsSwipeIt {
	display: grid;
	grid-template-columns: 1fr;
	margin: 0;
}
.swipeIt__body > * {
	display: block;
	width: 100%;
	max-width: none;
}
.swipeIt__body img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
}
.jsSwipeIt.is-swipeReady .swipeIt__body {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}
.jsSwipeIt.is-swipeReady .swipeIt__body > * {
	width: 200%; /* 既定値（★各ページ用CSSで調整可 ※'上書き例'参照） */
}
				/* 上書き例：箇所別に段階指定したい場合（直下の子に対して指定）
				@media (max-width: 768px) { .jsSwipeIt.is-swipeReady .swipeIt__body > * { width: 150%; } }
				@media (max-width: 480px) { .jsSwipeIt.is-swipeReady .swipeIt__body > * { width: 200%; } }
				*/
.jsSwipeIt.is-swipeReady .swipeIt__body > div img {
	width: 100%; /* 中間 div を挟む場合、内側の img はその div にフィット（二重に200%を掛けない） */
}
/* フォーカス可視化（フォーカス可能にした以上、必須／WCAG 2.4.7） */
.swipeIt__body:focus { outline: 1px dotted #767676; outline-offset: 2px; }
.swipeIt__body:focus:not(:focus-visible) { outline: none; } /* マウス時は消す */
.swipeIt__body:focus-visible { outline: 1px dotted #767676; outline-offset: 2px; }

/* スワイプを促すオーバーレイ（背景カバー＋中央アイコン）
-------------------------------------------------------
 *	__overlay/__body を同じグリッドセル(1/1)へ重ね、small要素は次の行へ自動配置。
 *	__overlay は z-index で本体の上に。横スクロール可能時だけ表示し、少しでも横スクロールしたら消す。
---------------------------------------------------- */
.swipeIt__overlay,
.swipeIt__body {
	grid-area: 1 / 1;
}
.swipeIt__overlay {
	display: none; /* 既定は非表示。is-swipeable 時のみ表示 */
	justify-content: center;
	align-items: center;
	z-index: 1;
	background: rgba(0, 0, 0, .28); /* 背景カバー（★各ページ用CSSで調整可） */
	pointer-events: none;
}
.jsSwipeIt.is-swipeable .swipeIt__overlay { /* 横スクロール可能時だけ表示（フェード用に opacity を初期1で持たせる） */
	display: flex;
	opacity: 1;
	transition: opacity .3s ease;
}
.jsSwipeIt.is-swiped .swipeIt__overlay { /* 少しでも横スクロールしたら（JSが .is-swiped を付与）オーバーレイを消す。一度消したら戻さない */
	opacity: 0;
}
.swipeIt__icon {
	display: block;
	width: 42px;	 /* スワイプアイコン（★各ページ用CSSで調整可 ※縦横セットで） */
	height: 60px;
	background: center center / contain no-repeat;
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="42" height="60" viewBox="0 0 42 60"><rect width="42" height="60" fill="none"/><path d="M7.424,13.066c-.302,0-.605-.104-.847-.315L.421,7.464c-.268-.227-.421-.566-.421-.93s.153-.705.422-.933L6.578.314c.523-.455,1.329-.41,1.796.099.228.248.343.567.324.9-.019.334-.169.641-.425.863l-3.649,3.111h25.288l-3.648-3.109c-.257-.224-.408-.531-.426-.865-.018-.333.097-.652.325-.899.468-.508,1.275-.552,1.796-.098l6.155,5.286c.268.228.422.568.421.932,0,.364-.154.703-.422.931l-6.156,5.287c-.521.452-1.329.41-1.795-.099-.228-.248-.343-.567-.325-.9.019-.334.169-.641.425-.863l3.649-3.111H4.624l3.648,3.109c.257.224.408.531.426.865.019.333-.097.652-.325.9-.251.273-.599.413-.949.413Z" fill="%23231815"/><path d="M34.165,6.533c0-.255-.106-.493-.292-.651L27.717.594c-.375-.326-.949-.294-1.283.068-.16.173-.241.397-.228.629.013.234.119.449.299.605l4.028,3.433c.059.05.081.132.054.205-.027.072-.096.121-.173.121H4.122c-.077,0-.147-.048-.173-.121-.027-.073-.005-.154.054-.205l4.029-3.435c.178-.155.284-.37.297-.604.013-.232-.068-.456-.228-.63-.179-.195-.427-.294-.677-.294-.216,0-.432.074-.606.225L.662,5.881c-.186.159-.293.396-.293.652,0,.255.106.492.292.65l6.157,5.288c.375.326.949.295,1.283-.068.16-.174.241-.397.228-.63-.013-.233-.119-.448-.298-.605l-4.028-3.433c-.059-.05-.081-.132-.054-.205.027-.072.096-.121.173-.121h26.291c.077,0,.147.048.173.121.027.073.005.154-.054.205l-4.03,3.434c-.178.155-.284.37-.297.604-.013.232.068.456.228.629.334.363.908.394,1.282.069l6.157-5.289c.186-.158.293-.395.293-.651Z" fill="%23fff"/><path d="M41.861,38.735c-.062-1.861-.121-3.62-.121-5.438,0-1.325-.372-2.439-1.075-3.221-.629-.699-1.474-1.084-2.382-1.084-1.129,0-2.318.624-2.911,1.955v-.7c0-.014-.012-.022-.015-.035v-.765c0-1.23-.403-2.258-1.166-2.975-.675-.633-1.592-.982-2.581-.982-1.552,0-3.118.876-3.69,2.566-.189-.909-.567-1.682-1.117-2.276-.722-.78-1.696-1.209-2.741-1.209-1.244,0-2.5.644-3.104,1.89.008-2.858.034-4.82.058-6.585.022-1.655.042-3.084.042-4.905,0-3.338-1.91-5.084-3.797-5.084-1.821,0-3.781,1.622-3.781,5.183v25.893c-.959-.848-3.928-3.476-5.581-4.968-2.228-2.01-5.579-1.877-6.975-.42-1.094,1.141-.783,2.802.831,4.445,2.298,2.338,7.119,7.025,10.992,10.791,2.202,2.141,4.104,3.99,4.95,4.833,3.059,3.047,6.169,4.358,10.366,4.358.073,0,.147,0,.22-.001,8.334-.089,13.719-5.852,13.719-14.682,0-2.412-.071-4.532-.139-6.582Z" fill="%23231815"/><path d="M20.687,14.97c0-3.239-1.777-4.715-3.428-4.715s-3.412,1.506-3.412,4.814v26.303c0,.073-.042.139-.109.168-.064.029-.144.019-.198-.03-.039-.034-3.909-3.453-5.891-5.242-1.094-.988-2.473-1.428-3.719-1.428-1.121,0-2.136.355-2.742.988-.953.994-.651,2.426.828,3.931,2.295,2.335,7.114,7.021,10.986,10.785,2.203,2.142,4.106,3.992,4.953,4.836,2.983,2.972,6.017,4.25,10.107,4.25.071,0,.142,0,.214,0,8.112-.086,13.354-5.705,13.354-14.313,0-2.405-.071-4.523-.139-6.57-.062-1.865-.121-3.626-.121-5.45,0-1.232-.339-2.261-.981-2.974-.558-.621-1.306-.962-2.107-.962-1.371,0-2.832,1.065-2.911,3.375v3.088c0,.102-.083.185-.185.185s-.185-.083-.185-.185v-2.868c-.003-.013-.015-.022-.015-.035v-3.473c0-1.126-.363-2.061-1.05-2.705-.607-.569-1.433-.883-2.328-.883-1.733,0-3.476,1.215-3.537,3.528,0,.002.002.004.002.006v3.906c0,.102-.083.185-.185.185s-.185-.083-.185-.185v-3.76c-.003-.012-.014-.02-.014-.033,0-1.453-.401-2.655-1.161-3.475-.651-.704-1.529-1.091-2.47-1.091-1.542,0-3.104,1.112-3.106,3.237v3.441c0,.102-.083.185-.185.185s-.185-.083-.185-.185v-3.434s0,0,0-.001c0-3.834.032-6.213.06-8.311.022-1.653.042-3.082.042-4.9Z" fill="%23fff"/></svg>');
	animation: ANIME-swipeIt_iconSwing 1.1s ease-in-out infinite alternate both;
}
/* (prefers-reduced-motion: reduce) = OSで「動きを減らす」設定のときは揺れを止める */
@media (prefers-reduced-motion: reduce) {
	.swipeIt__icon { animation: none; }
}
/* =================================
	@KEYFRAMES
================================= */
@keyframes ANIME-swipeIt_iconSwing {
	from { transform: translateX(-12px); }
	to	 { transform: translateX(12px);	}
}


/* simpleShowTarget_v3 | setting.js									2022.10
---------------------------------------------------------------------------
div[data-js_show_target="blur"]
div[data-js_show_target_suite="blur"]>div[data-js_show_target_suite_descendant="000ms"]
---------------------------------------------------------------------------
- 対象要素とビューポートが交差したら(=要素が画面に入ったら)関数を実行する（≒inview）
	- 動作例：
	- <div data-js_show_target="blur"> → <div data-js_show_target="blur" data-js_show_target-passed="blur">
- カスタムデータ属性（^= と = の違いに注意。^=先頭の値）
---------------------------------------------------------------------------
- 「単独設定（通常通り）」と「一揃い（スイート）」の2種類を用意。
	- 「単独設定」はターゲット（[data-js_show_target]を設定した要素）自身がアニメーションする。
	- 「一揃い」はターゲット（[data-js_show_target_suite]を設定した要素）の“子孫要素”がアニメーションする。
		- 子孫要素のdata属性の値でディレイ秒数を設定できる。設定したくない場合は値を空にする。（[data-js_show_target_suite_descendant="300ms"] ＝ 300ミリ秒遅延）
---------------------------------------------------------------------------
- 2022.04	開始時の opacity を0より少し高くすることでスクロールを促す（但しChromeはバグがあるため0とする。※CSSハック）
------------------------------------------------------------------------ */
@media screen {
	/* ----------------------------------------------------
		共通設定
	---------------------------------------------------- */
	/* 開始時、初期値 ========== */
	[data-js_show_target],
	[data-js_show_target_suite_descendant] {
		--default-jsShowTarget-transition-opacity:		opacity 1300ms ease-out 200ms;
		--default-jsShowTarget-transition-translate:	transform 1100ms ease-out 100ms;
		--default-jsShowTarget-transition-translate2:	transform 1100ms ease 50ms;
		--default-jsShowTarget-transition-blur:			filter 1000ms ease-out 200ms;
		opacity: .05;
	}
	_:lang(x)::-internal-media-controls-overlay-cast-button, /* CSSハック */
	[data-js_show_target],
	[data-js_show_target_suite_descendant] {	/* for Chrome. | Chromeでは「transform + opacity」で「transition (animation) のフェードイン」をするときに、「開始時の opacity が 0 以外」では正しくフェードしないバグがある模様。 */
		opacity: 0;
	}
	/* 終了時 ================== */
	[data-js_show_target-passed],
	[data-js_show_target_suite-passed] :where([data-js_show_target_suite_descendant]) {
		opacity: 1;
	}
	/* ----------------------------------------------------
		単独設定（通常）
	-------------------------------------------------------
	フェードイン、フェードイン_スライド、スライド、ブラー、
	ストレッチ_レフト・ライト・トップ・ボトム、
	---------------------------------------------------- */
	[data-js_show_target="fadeIn"] {				transition: var(--default-jsShowTarget-transition-opacity);}

	[data-js_show_target="fadeIn_slowly"] {			transition: opacity 2500ms ease-out 100ms;}

	[data-js_show_target^="fadeIn_toTop"] {			transition: var(--default-jsShowTarget-transition-opacity), var(--default-jsShowTarget-transition-translate);}
	[data-js_show_target="fadeIn_toTop20"] {		transform: translateY(20px);}
	[data-js_show_target="fadeIn_toTop30"] {		transform: translateY(30px);}
	[data-js_show_target="fadeIn_toTop40"] {		transform: translateY(40px);}
	[data-js_show_target="fadeIn_toTop50"] {		transform: translateY(50px);}
	[data-js_show_target="fadeIn_toTop60"] {		transform: translateY(60px);}
	[data-js_show_target-passed^="fadeIn_toTop"] {	transform: translateY(0);}

	[data-js_show_target^="fadeIn_toBottom"] {			transition: var(--default-jsShowTarget-transition-opacity), var(--default-jsShowTarget-transition-translate);}
	[data-js_show_target="fadeIn_toBottom20"] {			transform: translateY(-20px);}
	[data-js_show_target="fadeIn_toBottom30"] {			transform: translateY(-30px);}
	[data-js_show_target="fadeIn_toBottom40"] {			transform: translateY(-40px);}
	[data-js_show_target="fadeIn_toBottom50"] {			transform: translateY(-50px);}
	[data-js_show_target="fadeIn_toBottom60"] {			transform: translateY(-60px);}
	[data-js_show_target-passed^="fadeIn_toBottom"] {	transform: translateY(0);}

	[data-js_show_target^="fadeIn_toLeft"] {		transition: var(--default-jsShowTarget-transition-opacity), var(--default-jsShowTarget-transition-translate);}
	[data-js_show_target="fadeIn_toLeft20"] {		transform: translateX(20px);}
	[data-js_show_target="fadeIn_toLeft30"] {		transform: translateX(30px);}
	[data-js_show_target="fadeIn_toLeft40"] {		transform: translateX(40px);}
	[data-js_show_target-passed^="fadeIn_toLeft"] {	transform: translateX(0);}

	[data-js_show_target^="fadeIn_toRight"] {		transition: var(--default-jsShowTarget-transition-opacity), var(--default-jsShowTarget-transition-translate);}
	[data-js_show_target="fadeIn_toRight20"] {		transform: translateX(-20px);}
	[data-js_show_target="fadeIn_toRight30"] {		transform: translateX(-30px);}
	[data-js_show_target="fadeIn_toRight40"] {		transform: translateX(-40px);}
	[data-js_show_target-passed^="fadeIn_toRight"] {transform: translateX(0);}

	[data-js_show_target^="toTop"] {				opacity: 1; transition: var(--default-jsShowTarget-transition-translate2);}
	[data-js_show_target="toTop20"] {				transform: translateY(20px);}
	[data-js_show_target="toTop30"] {				transform: translateY(30px);}
	[data-js_show_target="toTop40"] {				transform: translateY(40px);}
	[data-js_show_target-passed^="toTop"] {			transform: translateY(0);}

	[data-js_show_target^="toLeft"] {				opacity: 1; transition: var(--default-jsShowTarget-transition-translate2);}
	[data-js_show_target="toLeft20"] {				transform: translateX(20px);}
	[data-js_show_target="toLeft30"] {				transform: translateX(30px);}
	[data-js_show_target="toLeft40"] {				transform: translateX(40px);}
	[data-js_show_target-passed^="toLeft"] {		transform: translateX(0);}

	[data-js_show_target^="toRight"] {				opacity: 1; transition: var(--default-jsShowTarget-transition-translate2);}
	[data-js_show_target="toRight20"] {				transform: translateX(-20px);}
	[data-js_show_target="toRight30"] {				transform: translateX(-30px);}
	[data-js_show_target="toRight40"] {				transform: translateX(-40px);}
	[data-js_show_target-passed^="toRight"] {		transform: translateX(0);}

	[data-js_show_target="blur"] {					opacity: .7; filter: blur(6px); transition: var(--default-jsShowTarget-transition-opacity), var(--default-jsShowTarget-transition-blur);}
	[data-js_show_target-passed="blur"] {			opacity: 1; filter: blur(0);}

	[data-js_show_target="blur_slowly"] {			opacity: .7; filter: blur(6px); transition: var(--default-jsShowTarget-transition-opacity), filter 2000ms ease-out 600ms;}
	[data-js_show_target-passed="blur_slowly"] {	opacity: 1; filter: blur(0);}

	[data-js_show_target="fadeInStretchLeft"],
	[data-js_show_target="fadeInStretchRight"] {		opacity: 0; transition: opacity 500ms, clip-path 1000ms; transition-delay: 100ms; transition-timing-function: var(--M-easing-easeInOutCubic, ease-in-out);}
	[data-js_show_target="fadeInStretchLeft"] {			clip-path: inset(0 100% 0 0);}
	[data-js_show_target="fadeInStretchRight"] {		clip-path: inset(0 0 0 100%);}
	[data-js_show_target-passed="fadeInStretchLeft"],
	[data-js_show_target-passed="fadeInStretchRight"] {opacity: 1; clip-path: inset(0 0 0 0);}

	[data-js_show_target="fadeInStretchTop"],
	[data-js_show_target="fadeInStretchBottom"] {		opacity: 0; transition: opacity 500ms, clip-path 1000ms; transition-delay: 100ms; transition-timing-function: var(--M-easing-easeInOutCubic, ease-in-out);}
	[data-js_show_target="fadeInStretchTop"] {			clip-path: inset(100% 0 0 0);}
	[data-js_show_target="fadeInStretchBottom"] {		clip-path: inset(0 0 100% 0);}
	[data-js_show_target-passed="fadeInStretchTop"],
	[data-js_show_target-passed="fadeInStretchBottom"] {opacity: 1; clip-path: inset(0 0 0 0);}

	/* ----------------------------------------------------
		一揃い(suite) | 子孫要素にスタイルを設定する
	-------------------------------------------------------
	フェードイン、フェードイン_スライド、スライド
	---------------------------------------------------- */
	[data-js_show_target_suite="fadeIn"] :where([data-js_show_target_suite_descendant]) {			transition: var(--default-jsShowTarget-transition-opacity);}

	[data-js_show_target_suite="fadeIn_slowly"] :where([data-js_show_target_suite_descendant]) {	transition: opacity 2500ms ease-out 100ms;}

	[data-js_show_target_suite^="fadeIn_toTop"] :where([data-js_show_target_suite_descendant]) {		transition: var(--default-jsShowTarget-transition-opacity), var(--default-jsShowTarget-transition-translate);}
	[data-js_show_target_suite="fadeIn_toTop20"] :where([data-js_show_target_suite_descendant]) {		transform: translateY(20px);}
	[data-js_show_target_suite="fadeIn_toTop30"] :where([data-js_show_target_suite_descendant]) {		transform: translateY(30px);}
	[data-js_show_target_suite="fadeIn_toTop40"] :where([data-js_show_target_suite_descendant]) {		transform: translateY(40px);}
	[data-js_show_target_suite-passed^="fadeIn_toTop"] :where([data-js_show_target_suite_descendant]) {	transform: translateY(0);}

	[data-js_show_target_suite^="fadeIn_toBottom"] :where([data-js_show_target_suite_descendant]) {			transition: var(--default-jsShowTarget-transition-opacity), var(--default-jsShowTarget-transition-translate);}
	[data-js_show_target_suite="fadeIn_toBottom20"] :where([data-js_show_target_suite_descendant]) {		transform: translateY(-20px);}
	[data-js_show_target_suite="fadeIn_toBottom30"] :where([data-js_show_target_suite_descendant]) {		transform: translateY(-30px);}
	[data-js_show_target_suite="fadeIn_toBottom40"] :where([data-js_show_target_suite_descendant]) {		transform: translateY(-40px);}
	[data-js_show_target_suite-passed^="fadeIn_toBottom"] :where([data-js_show_target_suite_descendant]) {	transform: translateY(0);}

	[data-js_show_target_suite^="fadeIn_toLeft"] :where([data-js_show_target_suite_descendant]) {			transition: var(--default-jsShowTarget-transition-opacity), var(--default-jsShowTarget-transition-translate);}
	[data-js_show_target_suite="fadeIn_toLeft20"] :where([data-js_show_target_suite_descendant]) {			transform: translateX(20px);}
	[data-js_show_target_suite="fadeIn_toLeft30"] :where([data-js_show_target_suite_descendant]) {			transform: translateX(30px);}
	[data-js_show_target_suite="fadeIn_toLeft40"] :where([data-js_show_target_suite_descendant]) {			transform: translateX(40px);}
	[data-js_show_target_suite-passed^="fadeIn_toLeft"] :where([data-js_show_target_suite_descendant]) {	transform: translateX(0);}

	[data-js_show_target_suite^="toTop"] :where([data-js_show_target_suite_descendant]) {			opacity: 1; transition: var(--default-jsShowTarget-transition-translate);}
	[data-js_show_target_suite="toTop20"] :where([data-js_show_target_suite_descendant]) {			transform: translateY(20px);}
	[data-js_show_target_suite="toTop30"] :where([data-js_show_target_suite_descendant]) {			transform: translateY(30px);}
	[data-js_show_target_suite="toTop40"] :where([data-js_show_target_suite_descendant]) {			transform: translateY(40px);}
	[data-js_show_target_suite-passed^="toTop"] :where([data-js_show_target_suite_descendant]) {	transform: translateY(0);}

	[data-js_show_target_suite^="toBottom"] :where([data-js_show_target_suite_descendant]) {		opacity: 1; transition: var(--default-jsShowTarget-transition-translate);}
	[data-js_show_target_suite="toBottom20"] :where([data-js_show_target_suite_descendant]) {		transform: translateY(-20px);}
	[data-js_show_target_suite="toBottom30"] :where([data-js_show_target_suite_descendant]) {		transform: translateY(-30px);}
	[data-js_show_target_suite="toBottom40"] :where([data-js_show_target_suite_descendant]) {		transform: translateY(-40px);}
	[data-js_show_target_suite-passed^="toBottom"] :where([data-js_show_target_suite_descendant]) {	transform: translateY(0);}

	[data-js_show_target_suite="blur"] :where([data-js_show_target_suite_descendant]) {				opacity: .7; filter: blur(6px); transition: var(--default-jsShowTarget-transition-opacity), var(--default-jsShowTarget-transition-blur);}
	[data-js_show_target_suite-passed="blur"] :where([data-js_show_target_suite_descendant]) {		opacity: 1; filter: blur(0);}

}


/* ============================================================================
	etc
============================================================================ */
.clearfix::after {content:"";display:block;clear:both;}
.clear{clear:both !important;}
.dispNone{display:none;}
.dispNoneImp{display:none!important;}
.dispInline{display:inline;}
.inbl{display:inline-block;}
.bl{display:block;}
.bltc{display:block;text-align:center;}
.blImp{display:block !important;}
.noWrap{white-space:nowrap;}
.ttUppercase{text-transform: uppercase;}
.ttLowercase{text-transform: lowercase;}
.ttCapitalize{text-transform: capitalize;}
.tj{text-align:justify !important;}.tj *{display:inline !important;}
.tc{text-align:center !important}.tl{text-align:left !important}.tr{text-align:right !important}
.fl{float:left !important}.fr{float:right !important}.fn{float:none !important}
/* fontWeight */
.fwNormal{	font-weight: normal;}
.fwBold{	font-weight: bold;}
.fw100{	font-weight: 100;}
.fw150{	font-weight: 150;}
.fw200{	font-weight: 200;}
.fw250{	font-weight: 250;}
.fw300{	font-weight: 300;}
.fw350{	font-weight: 350;} .fw360{	font-weight: 360;} .fw370{	font-weight: 370;} .fw380{	font-weight: 380;} .fw390{	font-weight: 390;}
.fw400{	font-weight: 400;} .fw410{	font-weight: 410;} .fw420{	font-weight: 420;} .fw430{	font-weight: 430;} .fw440{	font-weight: 440;}
.fw450{	font-weight: 450;}
.fw500{	font-weight: 500;}
.fw550{	font-weight: 550;}
.fw600{	font-weight: 600;}
.fw650{	font-weight: 650;}
.fw700{	font-weight: 700;}
.fw750{	font-weight: 750;}
.fw800{	font-weight: 800;}
.fw850{	font-weight: 850;}
.fw900{	font-weight: 900;}
/* lineHeight */
.lh_04	{line-height: .4 !important;}
.lh_05	{line-height: .5 !important;}
.lh_06	{line-height: .6 !important;}
.lh_07	{line-height: .7 !important;}
.lh_08	{line-height: .8 !important;}
.lh_09	{line-height: .9 !important;}
.lh_1	{line-height: 1 !important;}
.lh_1_1	{line-height: 1.1 !important;}
.lh_1_2	{line-height: 1.2 !important;}
.lhXS	{line-height: 1.35 !important}
.lhS	{line-height: 1.5 !important}
.lhM	{line-height: 1.75 !important}
.lhL	{line-height: 2 !important}
.lhXL	{line-height: 2.6 !important}
/* letterSpacing */
.lettsp-007	{letter-spacing: -.07em !important}
.lettsp-006	{letter-spacing: -.06em !important}
.lettsp-005	{letter-spacing: -.05em !important}
.lettsp-004	{letter-spacing: -.04em !important}
.lettsp-003	{letter-spacing: -.03em !important}
.lettsp-002	{letter-spacing: -.02em !important}
.lettsp-001	{letter-spacing: -.01em !important}
.lettsp0	{letter-spacing: normal!important}
.lettsp001	{letter-spacing: .01em !important}
.lettsp002	{letter-spacing: .02em !important}
.lettsp003	{letter-spacing: .03em !important}
.lettsp004	{letter-spacing: .04em !important}
.lettsp005	{letter-spacing: .05em !important}
.lettsp006	{letter-spacing: .06em !important}
.lettsp007	{letter-spacing: .07em !important}
.lettsp008	{letter-spacing: .08em !important}
.lettsp009	{letter-spacing: .09em !important}
.lettsp01	{letter-spacing: .1em !important}
.lettsp011	{letter-spacing: .11em !important}
.lettsp012	{letter-spacing: .12em !important}
.lettsp015	{letter-spacing: .15em !important}
.lettsp02	{letter-spacing: .2em !important}
.lettsp025	{letter-spacing: .25em !important}
.lettsp03	{letter-spacing: .3em !important}
/* margin, padding | Legacy */
.mt001em{margin-top: .01em!important}	.mr001em{margin-right: .01em!important}		.mb001em{margin-bottom: .01em!important}	.ml001em{margin-left: .01em!important}			.pt001em{padding-top: .01em!important}	.pr001em{padding-right: .01em!important}	.pb001em{padding-bottom: .01em!important}	.pl001em{padding-left: .01em!important}
.mt002em{margin-top: .02em!important}	.mr002em{margin-right: .02em!important}		.mb002em{margin-bottom: .02em!important}	.ml002em{margin-left: .02em!important}			.pt002em{padding-top: .02em!important}	.pr002em{padding-right: .02em!important}	.pb002em{padding-bottom: .02em!important}	.pl002em{padding-left: .02em!important}
.mt003em{margin-top: .03em!important}	.mr003em{margin-right: .03em!important}		.mb003em{margin-bottom: .03em!important}	.ml003em{margin-left: .03em!important}			.pt003em{padding-top: .03em!important}	.pr003em{padding-right: .03em!important}	.pb003em{padding-bottom: .03em!important}	.pl003em{padding-left: .03em!important}
.mt004em{margin-top: .04em!important}	.mr004em{margin-right: .04em!important}		.mb004em{margin-bottom: .04em!important}	.ml004em{margin-left: .04em!important}			.pt004em{padding-top: .04em!important}	.pr004em{padding-right: .04em!important}	.pb004em{padding-bottom: .04em!important}	.pl004em{padding-left: .04em!important}
.mt005em{margin-top: .05em!important}	.mr005em{margin-right: .05em!important}		.mb005em{margin-bottom: .05em!important}	.ml005em{margin-left: .05em!important}			.pt005em{padding-top: .05em!important}	.pr005em{padding-right: .05em!important}	.pb005em{padding-bottom: .05em!important}	.pl005em{padding-left: .05em!important}
.mt01em	{margin-top: .1em!important}	.mr01em	{margin-right: .1em!important}		.mb01em	{margin-bottom: .1em!important}		.ml01em	{margin-left: .1em!important}			.pt01em	{padding-top: .1em!important}	.pr01em	{padding-right: .1em!important}		.pb01em	{padding-bottom: .1em!important}	.pl01em	{padding-left: .1em!important}
.mt02em	{margin-top: .2em!important}	.mr02em	{margin-right: .2em!important}		.mb02em	{margin-bottom: .2em!important}		.ml02em	{margin-left: .2em!important}			.pt02em	{padding-top: .2em!important}	.pr02em	{padding-right: .2em!important}		.pb02em	{padding-bottom: .2em!important}	.pl02em	{padding-left: .2em!important}
.mt03em	{margin-top: .3em!important}	.mr03em	{margin-right: .3em!important}		.mb03em	{margin-bottom: .3em!important}		.ml03em	{margin-left: .3em!important}			.pt03em	{padding-top: .3em!important}	.pr03em	{padding-right: .3em!important}		.pb03em	{padding-bottom: .3em!important}	.pl03em	{padding-left: .3em!important}
.mt04em	{margin-top: .4em!important}	.mr04em	{margin-right: .4em!important}		.mb04em	{margin-bottom: .4em!important}		.ml04em	{margin-left: .4em!important}			.pt04em	{padding-top: .4em!important}	.pr04em	{padding-right: .4em!important}		.pb04em	{padding-bottom: .4em!important}	.pl04em	{padding-left: .4em!important}
.mt05em	{margin-top: .5em!important}	.mr05em	{margin-right: .5em!important}		.mb05em	{margin-bottom: .5em!important}		.ml05em	{margin-left: .5em!important}			.pt05em	{padding-top: .5em!important}	.pr05em	{padding-right: .5em!important}		.pb05em	{padding-bottom: .5em!important}	.pl05em	{padding-left: .5em!important}
.mt06em	{margin-top: .6em!important}	.mr06em	{margin-right: .6em!important}		.mb06em	{margin-bottom: .6em!important}		.ml06em	{margin-left: .6em!important}			.pt06em	{padding-top: .6em!important}	.pr06em	{padding-right: .6em!important}		.pb06em	{padding-bottom: .6em!important}	.pl06em	{padding-left: .6em!important}
.mt07em	{margin-top: .7em!important}	.mr07em	{margin-right: .7em!important}		.mb07em	{margin-bottom: .7em!important}		.ml07em	{margin-left: .7em!important}			.pt07em	{padding-top: .7em!important}	.pr07em	{padding-right: .7em!important}		.pb07em	{padding-bottom: .7em!important}	.pl07em	{padding-left: .7em!important}
.mt08em	{margin-top: .8em!important}	.mr08em	{margin-right: .8em!important}		.mb08em	{margin-bottom: .8em!important}		.ml08em	{margin-left: .8em!important}			.pt08em	{padding-top: .8em!important}	.pr08em	{padding-right: .8em!important}		.pb08em	{padding-bottom: .8em!important}	.pl08em	{padding-left: .8em!important}
.mt09em	{margin-top: .9em!important}	.mr09em	{margin-right: .9em!important}		.mb09em	{margin-bottom: .9em!important}		.ml09em	{margin-left: .9em!important}			.pt09em	{padding-top: .9em!important}	.pr09em	{padding-right: .9em!important}		.pb09em	{padding-bottom: .9em!important}	.pl09em	{padding-left: .9em!important}
.mt1em	{margin-top: 1em!important}		.mr1em	{margin-right: 1em!important}		.mb1em	{margin-bottom: 1em!important}		.ml1em	{margin-left: 1em!important}			.pt1em	{padding-top: 1em!important}	.pr1em	{padding-right: 1em!important}		.pb1em	{padding-bottom: 1em!important}		.pl1em	{padding-left: 1em!important}
.mt1_5em{margin-top: 1.5em!important}	.mr1_5em{margin-right: 1.5em!important}		.mb1_5em{margin-bottom: 1.5em!important}	.ml1_5em{margin-left: 1.5em!important}			.pt1_5em{padding-top: 1.5em!important}	.pr1_5em{padding-right: 1.5em!important}	.pb1_5em{padding-bottom: 1.5em!important}	.pl1_5em{padding-left: 1.5em!important}
.mt2em	{margin-top: 2em!important}		.mr2em	{margin-right: 2em!important}		.mb2em	{margin-bottom: 2em!important}		.ml2em	{margin-left: 2em!important}			.pt2em	{padding-top: 2em!important}	.pr2em	{padding-right: 2em!important}		.pb2em	{padding-bottom: 2em!important}		.pl2em	{padding-left: 2em!important}
.mt2_5em{margin-top: 2.5em!important}	.mr2_5em{margin-right: 2.5em!important}		.mb2_5em{margin-bottom: 2.5em!important}	.ml2_5em{margin-left: 2.5em!important}			.pt2_5em{padding-top: 2.5em!important}	.pr2_5em{padding-right: 2.5em!important}	.pb2_5em{padding-bottom: 2.5em!important}	.pl2_5em{padding-left: 2.5em!important}
.mt3em	{margin-top: 3em!important}		.mr3em	{margin-right: 3em!important}		.mb3em	{margin-bottom: 3em!important}		.ml3em	{margin-left: 3em!important}			.pt3em	{padding-top: 3em!important}	.pr3em	{padding-right: 3em!important}		.pb3em	{padding-bottom: 3em!important}		.pl3em	{padding-left: 3em!important}
.mt3_5em{margin-top: 3.5em!important}	.mr3_5em{margin-right: 3.5em!important}		.mb3_5em{margin-bottom: 3.5em!important}	.ml3_5em{margin-left: 3.5em!important}			.pt3_5em{padding-top: 3.5em!important}	.pr3_5em{padding-right: 3.5em!important}	.pb3_5em{padding-bottom: 3.5em!important}	.pl3_5em{padding-left: 3.5em!important}
.mt4em	{margin-top: 4em!important}		.mr4em	{margin-right: 4em!important}		.mb4em	{margin-bottom: 4em!important}		.ml4em	{margin-left: 4em!important}			.pt4em	{padding-top: 4em!important}	.pr4em	{padding-right: 4em!important}		.pb4em	{padding-bottom: 4em!important}		.pl4em	{padding-left: 4em!important}
.mt4_5em{margin-top: 4.5em!important}	.mr4_5em{margin-right: 4.5em!important}		.mb4_5em{margin-bottom: 4.5em!important}	.ml4_5em{margin-left: 4.5em!important}			.pt4_5em{padding-top: 4.5em!important}	.pr4_5em{padding-right: 4.5em!important}	.pb4_5em{padding-bottom: 4.5em!important}	.pl4_5em{padding-left: 4.5em!important}
.mt5em	{margin-top: 5em!important}		.mr5em	{margin-right: 5em!important}		.mb5em	{margin-bottom: 5em!important}		.ml5em	{margin-left: 5em!important}			.pt5em	{padding-top: 5em!important}	.pr5em	{padding-right: 5em!important}		.pb5em	{padding-bottom: 5em!important}		.pl5em	{padding-left: 5em!important}
.mt5_5em{margin-top: 5.5em!important}	.mr5_5em{margin-right: 5.5em!important}		.mb5_5em{margin-bottom: 5.5em!important}	.ml5_5em{margin-left: 5.5em!important}			.pt5_5em{padding-top: 5.5em!important}	.pr5_5em{padding-right: 5.5em!important}	.pb5_5em{padding-bottom: 5.5em!important}	.pl5_5em{padding-left: 5.5em!important}
.mt6em	{margin-top: 6em!important}		.mr6em	{margin-right: 6em!important}		.mb6em	{margin-bottom: 6em!important}		.ml6em	{margin-left: 6em!important}			.pt6em	{padding-top: 6em!important}	.pr6em	{padding-right: 6em!important}		.pb6em	{padding-bottom: 6em!important}		.pl6em	{padding-left: 6em!important}
.mt6_5em{margin-top: 6.5em!important}	.mr6_5em{margin-right: 6.5em!important}		.mb6_5em{margin-bottom: 6.5em!important}	.ml6_5em{margin-left: 6.5em!important}			.pt6_5em{padding-top: 6.5em!important}	.pr6_5em{padding-right: 6.5em!important}	.pb6_5em{padding-bottom: 6.5em!important}	.pl6_5em{padding-left: 6.5em!important}
.mt7em	{margin-top: 7em!important}		.mr7em	{margin-right: 7em!important}		.mb7em	{margin-bottom: 7em!important}		.ml7em	{margin-left: 7em!important}			.pt7em	{padding-top: 7em!important}	.pr7em	{padding-right: 7em!important}		.pb7em	{padding-bottom: 7em!important}		.pl7em	{padding-left: 7em!important}
.mt7_5em{margin-top: 7.5em!important}	.mr7_5em{margin-right: 7.5em!important}		.mb7_5em{margin-bottom: 7.5em!important}	.ml7_5em{margin-left: 7.5em!important}			.pt7_5em{padding-top: 7.5em!important}	.pr7_5em{padding-right: 7.5em!important}	.pb7_5em{padding-bottom: 7.5em!important}	.pl7_5em{padding-left: 7.5em!important}
.mt8em	{margin-top: 8em!important}		.mr8em	{margin-right: 8em!important}		.mb8em	{margin-bottom: 8em!important}		.ml8em	{margin-left: 8em!important}			.pt8em	{padding-top: 8em!important}	.pr8em	{padding-right: 8em!important}		.pb8em	{padding-bottom: 8em!important}		.pl8em	{padding-left: 8em!important}
.mt8_5em{margin-top: 8.5em!important}	.mr8_5em{margin-right: 8.5em!important}		.mb8_5em{margin-bottom: 8.5em!important}	.ml8_5em{margin-left: 8.5em!important}			.pt8_5em{padding-top: 8.5em!important}	.pr8_5em{padding-right: 8.5em!important}	.pb8_5em{padding-bottom: 8.5em!important}	.pl8_5em{padding-left: 8.5em!important}
.mt9em	{margin-top: 9em!important}		.mr9em	{margin-right: 9em!important}		.mb9em	{margin-bottom: 9em!important}		.ml9em	{margin-left: 9em!important}			.pt9em	{padding-top: 9em!important}	.pr9em	{padding-right: 9em!important}		.pb9em	{padding-bottom: 9em!important}		.pl9em	{padding-left: 9em!important}
.mt9_5em{margin-top: 9.5em!important}	.mr9_5em{margin-right: 9.5em!important}		.mb9_5em{margin-bottom: 9.5em!important}	.ml9_5em{margin-left: 9.5em!important}			.pt9_5em{padding-top: 9.5em!important}	.pr9_5em{padding-right: 9.5em!important}	.pb9_5em{padding-bottom: 9.5em!important}	.pl9_5em{padding-left: 9.5em!important}
.mt5	{margin-top: 5px!important}		.mr5	{margin-right: 5px!important}		.mb5	{margin-bottom: 5px!important}		.ml5	{margin-left: 5px!important}			.pt5	{padding-top: 5px!important}	.pr5	{padding-right: 5px!important}		.pb5	{padding-bottom: 5px!important}		.pl5	{padding-left: 5px!important}
.mt10	{margin-top: 10px!important}	.mr10	{margin-right: 10px!important}		.mb10	{margin-bottom: 10px!important}		.ml10	{margin-left: 10px!important}			.pt10	{padding-top: 10px!important}	.pr10	{padding-right: 10px!important}		.pb10	{padding-bottom: 10px!important}	.pl10	{padding-left: 10px!important}
.mt15	{margin-top: 15px!important}	.mr15	{margin-right: 15px!important}		.mb15	{margin-bottom: 15px!important}		.ml15	{margin-left: 15px!important}			.pt15	{padding-top: 15px!important}	.pr15	{padding-right: 15px!important}		.pb15	{padding-bottom: 15px!important}	.pl15	{padding-left: 15px!important}
.mt20	{margin-top: 20px!important}	.mr20	{margin-right: 20px!important}		.mb20	{margin-bottom: 20px!important}		.ml20	{margin-left: 20px!important}			.pt20	{padding-top: 20px!important}	.pr20	{padding-right: 20px!important}		.pb20	{padding-bottom: 20px!important}	.pl20	{padding-left: 20px!important}
.mt25	{margin-top: 25px!important}	.mr25	{margin-right: 25px!important}		.mb25	{margin-bottom: 25px!important}		.ml25	{margin-left: 25px!important}			.pt25	{padding-top: 25px!important}	.pr25	{padding-right: 25px!important}		.pb25	{padding-bottom: 25px!important}	.pl25	{padding-left: 25px!important}
.mt30	{margin-top: 30px!important}	.mr30	{margin-right: 30px!important}		.mb30	{margin-bottom: 30px!important}		.ml30	{margin-left: 30px!important}			.pt30	{padding-top: 30px!important}	.pr30	{padding-right: 30px!important}		.pb30	{padding-bottom: 30px!important}	.pl30	{padding-left: 30px!important}
.mt35	{margin-top: 35px!important}	.mr35	{margin-right: 35px!important}		.mb35	{margin-bottom: 35px!important}		.ml35	{margin-left: 35px!important}			.pt35	{padding-top: 35px!important}	.pr35	{padding-right: 35px!important}		.pb35	{padding-bottom: 35px!important}	.pl35	{padding-left: 35px!important}
.mt40	{margin-top: 40px!important}	.mr40	{margin-right: 40px!important}		.mb40	{margin-bottom: 40px!important}		.ml40	{margin-left: 40px!important}			.pt40	{padding-top: 40px!important}	.pr40	{padding-right: 40px!important}		.pb40	{padding-bottom: 40px!important}	.pl40	{padding-left: 40px!important}
.mtAuto	{margin-top: auto!important}	.mrAuto	{margin-right: auto!important}		.mbAuto	{margin-bottom: auto!important}		.mlAuto	{margin-left: auto!important}			.ptAuto	{padding-top: auto!important}	.prAuto	{padding-right: auto!important}		.pbAuto	{padding-bottom: auto!important}	.plAuto	{padding-left: auto!important}
.mt0	{margin-top: 0!important}		.mr0	{margin-right: 0!important}			.mb0	{margin-bottom: 0!important}		.ml0	{margin-left: 0!important}				.pt0	{padding-top: 0!important}		.pr0	{padding-right: 0!important}		.pb0	{padding-bottom: 0!important}		.pl0	{padding-left: 0!important}

/* cliphidden | 構造上は存在するが表示させない要素 */
.cliphidden { position: absolute; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(0px 0px 99.99% 99.99%); overflow: hidden; width: 1px; height: 1px; white-space: nowrap; padding: 0; border: 0; }




/* ***************************************************************************************************
	@KEYFRAMES
*************************************************************************************************** */

/* ----------------------------------------------------------------------------
	fade
-------------------------------------------------------------------------------
	例	{ animation: .7s ease-out both M_fadeIn__0_1; }
	例	{ animation: 2s cubic-bezier(.25, .46, .45, .94) .3s both M_fadeIn__0_1; }
	例	{ animation: 1.1s ease-out 0s infinite alternate both M_fadeIn__0_1; }
---------------------------------------------------------------------------- */
@keyframes M_fadeIn__0_1 {
	0% {opacity: 0}
	100% {opacity: 1}
}
@keyframes M_fadeIn__1_0 {
	0% {opacity: 1}
	100% {opacity: 0}
}
@keyframes M_fadeInUp__20px {
	0% {opacity: 0; transform: translateY(20px);}
	65% {opacity: 1;}
	100% {opacity: 1; transform: translateY(0);}
}
@keyframes M_width__0_100per {
	0% {	width: 0;}
	100% {	width: 100%;}
}
@keyframes M_height__0_100per {
	0% {	height: 0;}
	100% {	height: 100%;}
}
@keyframes M_stretchLeft {
	0% {	opacity: 0;	clip-path: inset(0 100% 0 0);}
	100% {	opacity: 1;	clip-path: inset(0 0 0 0);}
}
@keyframes M_stretchLeft__0_50_100{
	0% {	opacity: 0;	clip-path: inset(0 100% 0 0);}
	50% {	opacity: 1;}
	100% {	opacity: 1;	clip-path: inset(0 0 0 0);}
}




/* ***************************************************************************************************
	STYLE_CSS | style.css
*************************************************************************************************** */

/* コンタクトエリア、H1タイトル
---------------------------------------------------------- */
	.ttl-property-main .pageName {
		display: inline-block;
	}
	body.indexP .ttl-property-main .pageName {
		display: none;
	}
	.box-bukken-contact {
		letter-spacing: .05em;
	}
@media screen and (max-width: 736px) {
	.ttl-property-main .pageName,
	.ttl-property-main .inbl {
		display: inline;
	}
}

/* holiday | コンタクトエリア内
-------------------------------------------------------------
<p class="box-bukken-contact-text">営業時間xxx<br><small class="holiday"><em>HOLIDAY_ANNOUNCE</em></small></p>
-------------------------------------------------------------
[SAMPLE]
color: #bc254e;	// 赤_明るい背景用
color: #f09ab2;	// 赤_暗い背景用
color: #dec774;	// 黄_暗い背景用
---------------------------------------------------------- */
	.box-bukken-contact-text .holiday {
		display: inline-block;
		line-height: 1.65;
		color: #dec774;
		font-family: inherit;
		font-size: inherit;
		letter-spacing: .03em;
		padding: .5em 1.15em;
		margin-top: 10px;
		border: 1px solid currentColor;
	}
	.box-bukken-contact-text .holiday .kokuchi {
		display: block;
		margin-top: .3em;
		padding-top: .3em;
		border-top: 1px dotted currentColor;
	}
	.box-bukken-contact-text .holiday a {
		color: inherit;
	}
	@media (hover: hover) and (pointer: fine) {
		.box-bukken-contact-text .holiday a[href]:hover {
			text-decoration: underline;
		}
	}
	.box-bukken-contact-text .holiday a[href]:focus-visible {
			text-decoration: underline;
	}
@media screen and (max-width: 736px) {
	.box-bukken-contact-text .holiday {
		line-height: 1.55;
		padding: 4px 5px;
	}
}
@media print {
	.box-bukken-contact-text .holiday {
		margin-bottom: 7px;
	}
}

/* bukkenContactTtl_note | コンタクトエリア内
-------------------------------------------------------------
<p class="box-bukken-contact-title">お問い合わせは○○○<em class="bukkenContactTtl_note">NOTETEXT_NOTETEXT<br>※NOTENOTENOTENOTENOTENOTE</em></p>
---------------------------------------------------------- */
	.box-bukken-contact-title .bukkenContactTtl_note,
	.box-bukken-contact-tel .bukkenContactTel_note {
		display: block;
		line-height: 1.5;
		font-size: 1.1rem;
		margin-top: .25em;
	}
	.box-bukken-contact-tel .bukkenContactTel_note {
		padding-top: 1em;
		padding-bottom: .5em;
	}
@media screen and (max-width: 480px) {
	.box-bukken-contact-title .bukkenContactTtl_note,
	.box-bukken-contact-tel .bukkenContactTel_note {
		font-size: 1rem;
		margin-top: .35em;
	}
	.box-bukken-contact-tel .bukkenContactTel_note {
		padding-top: 1.5em;
	}
}




/* ***************************************************************************************************
	BASE
*************************************************************************************************** */

/* ============================================================================
	ボディ、サイトラッパー、メインの初期値設定。
============================================================================ */
	/*
	main {
		animation: 1s cubic-bezier(.25, .46, .45, .94) .3s both M_fadeIn__0_1;
	}
	*/
@media screen and (max-width: 1200px) {
	/*main { margin-top: var(--site-stickyHeader-height); }*/	/* スティッキーヘッダー分の余白（ざっくり対応ver ※厳密にする場合はJSで） */
}


/* ============================================================================
	OuterWide
-------------------------------------------------------------------------------
	ヘッダー、ページテーマ、フッター、コンテナ、コンテンツ類の初期値設定。
============================================================================ */
	
	/* ---------------- margin */
	.pageThemeWrap,
	/*.pageThemeWrapHeader,*/
	/*.pageThemeHeader,*/
	.breadcrumbBox,
	.container,
	.contbox,
	[class*="sizeContentWide"],
	[class*="sizeMaxWidth"] {
		margin-left: auto;
		margin-right: auto;
	}
	
	/* ---------------- width */
	/* OUTER */
	.pageThemeWrap,
	/*.pageThemeWrapHeader,*/
	.pageTheme,
	.container {
		width: 100%;
	}
	/* INNER */
	.breadcrumbBox {
		width: 100%;
	}
	/*.pageThemeHeader,*/
	.contbox {
		width: var(--site-sizeContentWide-XM);		/* 94% */
		max-width: var(--site-sizeMaxWidth-XM);		/* 1400px */
	}
	/* OVERWRITE */ /* 上書き指定の為必ず最後に記述する。 */
	.sizeContentWideXL {
		width: var(--site-sizeContentWide-XL);		/* 100% */
		max-width: var(--site-sizeMaxWidth-XL);		/* 1900px */
	}
	.sizeContentWideL {
		width: var(--site-sizeContentWide-L);		/* 94% */
		max-width: var(--site-sizeMaxWidth-L);		/* 1600px */
	}
	.sizeContentWideXM {
		width: var(--site-sizeContentWide-XM);		/* 94% */
		max-width: var(--site-sizeMaxWidth-XM);		/* 1400px */
	}
	.sizeContentWideM {
		width: var(--site-sizeContentWide-M);		/* 88% */
		max-width: var(--site-sizeMaxWidth-M);		/* 1260px */
	}
	.sizeContentWideS {
		width: var(--site-sizeContentWide-S);		/* 86.111% */
		max-width: var(--site-sizeMaxWidth-S);		/* 1000px */
	}
	.sizeMaxWidthXL {
		max-width: var(--site-sizeMaxWidth-XL);		/* =1900px */
	}
	.sizeMaxWidthL {
		max-width: var(--site-sizeMaxWidth-L);		/* =1600px */
	}
	.sizeMaxWidthXM {
		max-width: var(--site-sizeMaxWidth-XM);		/* =1400px */
	}
	.sizeMaxWidthM {
		max-width: var(--site-sizeMaxWidth-M);		/* =1260px */
	}
	.sizeMaxWidthS {
		max-width: var(--site-sizeMaxWidth-S);		/* =1000px */
	}
	/* stickoutFullbox */ /* 固定幅のボックスをはみ出して、ウィンドウ幅いっぱいに広げる */
	.stickoutFullbox {
		margin-left:	calc(-50vw + 50%);
		margin-right:	calc(-50vw + 50%);
							/*opacity: .5; box-shadow: 0 0 0 10px red inset, 0 0 5px 10px red;*/
	}
	.stickoutFullbox img.stickoutFullboxPic,
	.stickoutFullbox .stickoutFullboxPic img {
		width: 100%;
		max-width: none;
	}
/* ------------------------ reset */ /* contents類の入れ子は100%にリセットする。 */
	.contbox .contbox/*,
	.contbox [class*="sizeContentWide"],
	[class*="sizeContentWide"] .contbox*/ {
		width: 100%;
		max-width: none;
	}


/* ============================================================================
	Module_Wrapper
-------------------------------------------------------------------------------
	コンテナ、コンテントボックス、
	フィーチャーコンテント(特別)、背景色チェンジ
============================================================================ */

	/* container
	----------------------- */
	/*.container {
		padding: var(--site-marpad-XL) 0;
	}*/
	/*.pageThemeHeaderContainer + .container {
		padding-top: 0;
	}*/
	
	/* contbox
	----------------------- */
	
	/* featuredContent
	----------------------- */
	.featuredContent_01 {
		padding: clamp(40px, (40 / 737 * 100vw), 80px);
	}
	.featuredContent_02 {
		padding: clamp(40px, (40 / 737 * 100vw), 80px); /* SP時上下余白多め */
	}
	
	/* bgColor
	----------------------- */
	.bgColorWh {		background: #fff;}						/* 白 */
	.bgColorWhOpa {		background: rgba(255, 255, 255, .3);}	/* 白（透過） */
	.bgColorBk {		background: #000;}						/* 黒 */
	.bgColorBkOpa {		background: rgba(0, 0, 0, .3);}			/* 黒（透過） */
	
	.bgColor_base {		color: rgba(var(--site-themeColor-base_text), 1); background: rgba(var(--site-themeColor-base), 1);}
	.bgColor_main {		color: rgba(var(--site-themeColor-main_text), 1); background: rgba(var(--site-themeColor-main), 1);}
	/*.bgColor_sub {		color: rgba(var(--site-themeColor-sub_text), 1); background: rgba(var(--site-themeColor-sub), 1);}*/
	.bgColor_accent_1 {	color: rgba(var(--site-themeColor-accent_1_text), 1); background: rgba(var(--site-themeColor-accent_1), 1);}
	.bgColor_accent_2 {	color: rgba(var(--site-themeColor-accent_2_text), 1); background: rgba(var(--site-themeColor-accent_2), 1);}
	.bgColor_accent_3 {	color: rgba(var(--site-themeColor-accent_3_text), 1); background: rgba(var(--site-themeColor-accent_3), 1);}
	
	/*.bgColor01 {		background: #c2cddb;}*/
	/*.bgColor02 {		background: #d4cec8;}*/
	
	.bgPattern01 {	/* [灰パターン] [文字は濃灰] */
		color: rgba(var(--site-themeColor-main_text), 1);
		background: rgba(var(--site-themeColor-main), 1) var(--site-variationColor-pattern_gray);
	}
	.bgPattern02 {	/* [ベールパターン-PC] [文字は濃灰] （SP幅以下でベール差し替え） */
		color: rgba(var(--site-themeColor-base_text), 1);
		background: var(--site-variationColor-pattern_veil_PC);
	}
	.bgPattern03 {	/* [ベールパターン-PC＋灰パターン] [文字は濃灰] （SP幅以下でベール差し替え） */
		color: rgba(var(--site-themeColor-main_text), 1);
		background: var(--site-variationColor-pattern_veil_PC),
					var(--site-variationColor-pattern_gray),
					rgba(var(--site-themeColor-main), 1);
	}

@media screen and (max-width: 736px) {
	/* featuredContent
	----------------------- */
	.featuredContent_01 {
		padding: clamp(28px, (28 / 320 * 100vw), 35px);
	}
	.featuredContent_02 {
		padding: clamp(40px, (40 / 320 * 100vw), 47px) clamp(28px, (28 / 320 * 100vw), 35px);
	}

	.bgPattern02 {	/* [ベールパターン-SP] */
		background: var(--site-variationColor-pattern_veil_SP);	/*（ベールを差し替える）*/
	}
	.bgPattern03 {	/* [ベールパターン-SP＋灰パターン] */
		background: var(--site-variationColor-pattern_veil_SP),	/*（ベールを差し替える）*/
					var(--site-variationColor-pattern_gray),
					rgba(var(--site-themeColor-main), 1);
	}
}


/* ============================================================================
	Framework_Wrapper
============================================================================ */

/* mainElementHeaderWrap
------------------------------------------------------------------------ */
	.mainElementHeaderWrap {
		position: relative;
		z-index: 0;
	}
	.mainElementHeaderBox {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		/*padding: 225px 3vw 85px;*/
		/* //////////////////////////////////////////////////
		 * （注）main要素の背景画像の「--default-main-bg-position」「--default-main-bg-size」によって、ここの計算が変わります。
		 * padding-top: ww1500以下は直線式で減少[基準点(幅1500px → 225px)を通り、傾き0.27（100pxにつき27px減）]。ww1920px超は画面幅に連動して増加。
		 * padding-bottom: 背景画像の縮小に連動。1500基準で縮み、1920超で伸びる（mainの背景画像と同構造）。
		////////////////////////////////////////////////// */
		padding: max(clamp(0px, calc(0.27 * 100vw - (0.27 * 1500px - 225px)), 225px), (225 / 1920 * 100vw))
				 3vw
				 max(min(85 / 1500 * 100vw, 85px), (85 / 1920 * 100vw));
	}
	/* pTtl
	---------------------------------------------------- */
	.pTtlWrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		align-content: center;
		min-height: 0.001vw;				/* for safari | font-sizeにclamp()使用時必須 */
		line-height: 1.35;
		color: rgba(var(--site-themeColor-accent_1), 1);
		font-family: var(--site-font_family-en_1);
		/*font-size: 10rem;*/
		font-size: clamp(8rem, (100 / 1500 * 100vw), 10rem);
		text-align: center;
	}
	.pTtlBox {
	}
	.pTtlBox .pTtl {
	}
	.pTtlBox .pTtl.en {
		line-height: 1.1;
		font-size: inherit;
		/*text-transform: uppercase;*/
		letter-spacing: .1em;
	}
	.pTtlBox .pTtl.ja {
		line-height: 1.2;
		font-size: .78em;
		letter-spacing: .08em;
	}
	.pTtlBox .pTtl.ja .kana {
		letter-spacing: -.04em;
	}
	.pLeadTxtBox {
		width: 100%;
		margin-top: .5em;
	}
	.pLeadTxtBox .pLeadTxt {
		font-size: max(1rem, .24em);
	}
@media screen and (max-width: 1200px) {
	.mainElementHeaderWrap {
		margin-top: var(--site-stickyHeader-height);
	}
	.mainElementHeaderBox {
		/*padding: 205px 3vw 85px;*/
		/* //////////////////////////////////////////////////
		 * （注）main要素の背景画像の「--default-main-bg-position」「--default-main-bg-size」によって、ここの計算が変わります。
		 * padding-top: 150px～205pxの範囲。ww1000以下は直線式で減少[基準点(幅1000px → 205px)を通り、傾き0.4（100pxにつき40px減）]
		 * padding-bottom: 背景画像の縮小に連動。1000基準で縮む（mainの背景画像と同構造）。
		////////////////////////////////////////////////// */
		padding-top: clamp(150px, calc(0.4 * 100vw - (0.4 * 1000px - 205px)), 205px);
		padding-bottom: clamp(76px, (85 / 1000 * 100vw), 85px);
	}
	.pTtlWrap {
		/*font-size: 7.4rem;*/
		font-size: clamp(6.3rem, (74 / 1000 * 100vw), 7.4rem);
	}
}
@media screen and (max-width: 736px) {
	.mainElementHeaderBox {
		padding-top: 77px;
		padding-bottom: 70px;
	}
	.pTtlWrap {
		font-size: 3.5rem;
		/*font-size: clamp(3rem, (35 / 375 * 100vw), 3.5rem);*/
	}
}
/* ==========
	ANIME
========== */
@media screen {
	/*.pTtlBox .pTtl[data-js_show_target="staggerChars"] {
		opacity: 1;
	}*/
	.pTtlBox .pTtl[data-js_show_target="staggerChars"] .char {
		display: inline-block;
		opacity: 0;
	}
	.pTtlBox .pTtl[data-js_show_target-passed="staggerChars"] .char {
		animation: 2000ms ease both ANIME-pTtl__char;
	}
}
@keyframes ANIME-pTtl__char {
/*	0% {	opacity: 0; scale: 1.4;	translate: 0 -45%;	filter: blur(2px);}
	100% {	opacity: 1; scale: 1;	translate: 0 0%;	filter: blur(0px);}*/
	0% {	opacity: 0; scale: 1.3;	translate: 0 -45%;	filter: brightness(1.6) blur(2px);}
	20% {												filter: brightness(1.6) blur(2px);}
	60% {	opacity: 1; scale: 1;	translate: 0 0%;	filter: brightness(1.3) blur(0);}
	100% {	opacity: 1; scale: 1;	translate: 0 0%;	filter: brightness(1) blur(0);}
}
@media (prefers-reduced-motion: reduce) {
	.pTtlBox .pTtl[data-js_show_target="staggerChars"] .char {
		opacity: 1;
		animation: none !important;
	}
}


/* breadcrumbBox
------------------------------------------------------------------------ */
	.breadcrumbBox {
		position: absolute;
		inset: 0 0 auto;
		z-index: 1;
		line-height: 1.8;
		color: inherit;
		font-size: 1rem;
		letter-spacing: .05em;
		padding: 0;
	}
	.breadcrumbBox ol {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		margin: 10px 0 0;
		padding: .7em 1.5em;
	}
	.breadcrumbBox li {
		opacity: .85;
	}
	.breadcrumbBox li:not(:last-child)::after {
		content: "＞";
		margin: 0 .35em 0 .5em;
	}
	/*.breadcrumbBox li.current {
		font-weight: bold;
		opacity: .85;
	}*/
	.breadcrumbBox li a {
		border-bottom: 1px solid transparent;
		transition: border .05s ease-out;
	}
	@media (hover: hover) and (pointer: fine) {
		.breadcrumbBox li a:hover {
			border-bottom-color: currentColor;
		}
	}
	.breadcrumbBox li a:focus-visible {
		border-bottom-color: currentColor;
	}
@media screen and (max-width: 736px) {
	.breadcrumbBox {
		word-break: break-all;
		letter-spacing: .02em;
	}
	.breadcrumbBox ol {
		display: block;
		margin-top: 0;
		padding: 1.1em .8em;
	}
	.breadcrumbBox li {
		display: inline;
	}
}


/* pageThemeWrap
------------------------------------------------------------------------ */
	/* pageThemeWrap
	----------------------- */
	.pageThemeWrap {}
	
	/* pageThemeWrapHeader
	----------------------- */
	/*.pageThemeWrapHeader {}*/
	
	/* pageTheme
	----------------------- */
	.pageTheme {}
	
	/* pageThemeHeader
	----------------------- */
	.pageThemeHeaderContainer {
		padding-top: 20px;
	}
	.pageThemeHeader {}
	
	.pageThemeHeaderLeadTxtBox {
		/*font-size: 1.1em;
		text-align: center;*/
		margin-top: 70px;
	}

@media screen and (max-width: 736px) {
	.pageThemeHeaderContainer {
		padding-top: 10px;
	}
	.pageThemeHeaderLeadTxtBox {
		margin-top: 30px;
	}
}


/* mainElementFooterWrap
------------------------------------------------------------------------ */
	.mainElementFooterWrap {}

/* pageLastCaptionWrap
---------------------------------------------------- */
	.pageLastCaptionWrap {
		/*color: rgba(var(--site-themeColor-base_text), 1);*/
		color: #444;
		background: rgba(var(--site-themeColor-base), 1);
		padding: 55px 0;
	}
	.pageLastCaptionWrap a {
		color: rgba(var(--site-themeColor-accent_1, 132,21,23), 1);
		text-decoration: underline;
		transition:background .08s ease-out, opacity .08s ease-out; /* opacityも設定しておくこと */
	}
	@media (hover: hover) and (pointer: fine) {
		.pageLastCaptionWrap a:hover {
			text-decoration: underline;
			background: rgba(150, 150, 150, .1);
		}
	}
	.pageLastCaptionWrap a:focus-visible {
		text-decoration: underline;
		background: rgba(150, 150, 150, .1);
	}


/* footerPaginationWrap							2022.10
-------------------------------------------------------
- ボタン内の空白文字・インラインブロックによる改行を無効（brは可能）。英字10～13文字程度が上限。
- 左向き矢印を基本設定とし、右向き矢印は「矢印の向きを反転」させて再現
- カスタムプロパティ使用
---------------------------------------------------- */
	.footerPaginationWrap {
		--default-footerPaginationWrap-letterSp: .02em;
		
		line-height: 1.2;
		color: #000;
		font-family: var(--site-font_family-en_1);
		font-size: 1.2em;
		letter-spacing: var(--default-footerPaginationWrap-letterSp);
		white-space: nowrap;				/* 改行無効 */
		background: #fff;
	}
	.footerPagination {
		display: flex;
		justify-content: space-between;
		position: relative;
	}
	.footerPagination::after {
		content: "";
		display: block;
		position: absolute;
		inset: 0;
		z-index: 0;
		width: 0;
		height: 1.14285em;
		margin: auto;
		border-left: 1px solid #999;
		/*transform: rotate(30deg);*/
		pointer-events: none;
	}
	.footerPaginationBtn {
		flex: 0 0 50%;
		display: flex;
	}
	.footerPaginationBtn a {
		flex: 1;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		position: relative;
		z-index: 0;
		padding: 1.25em 40px;
		background: rgba(var(--site-themeColor-main), 1);
		transition: background .18s ease-out;
	}
	.footerPaginationBtn .label {
		position: relative;
		z-index: 1;
		padding: 0 .7em;
		margin-right: calc(var(--default-footerPaginationWrap-letterSp) * -1); /* 微調整 */
	}
	.footerPaginationBtn .arrow {
		--default-footerPaginationBtnArrow-width-clamp_min: 30px;	/* = width: clamp(min, val, max);	*/
		--default-footerPaginationBtnArrow-width-clamp_val: 10vw;
		--default-footerPaginationBtnArrow-width-clamp_max: 120px;
		--default-footerPaginationBtnArrow-hoverWidthDiff: 0;		/* hover時に矢印_水平線が伸びる量（単位不要）（初期値：0） */
		width: clamp(
			( var(--default-footerPaginationBtnArrow-width-clamp_min) + (var(--default-footerPaginationBtnArrow-hoverWidthDiff) * 1px) ),
			( var(--default-footerPaginationBtnArrow-width-clamp_val) + (var(--default-footerPaginationBtnArrow-hoverWidthDiff) * 1px) ),
			( var(--default-footerPaginationBtnArrow-width-clamp_max) + (var(--default-footerPaginationBtnArrow-hoverWidthDiff) * 1px) )
		);
		padding-top: .4em;							/* 微調整 */
		border-bottom: 1px solid currentColor;		/* 矢印_水平線 */
		transition: width .18s ease-out, margin .18s ease-out;
	}
	.footerPaginationBtn .arrow::after {			/* 矢印_矢じり */
		content: "";
		display: block;
		position: relative;
		bottom: -1px;
		width: 23px;
		width: clamp(12px, 2.5vw, 23px);
		border-bottom: 1px solid currentColor;
		transform-origin: left bottom;
		transform: rotate(-35deg);
	}
	
	/* -- Individual -- */
	/* ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	 -	flex-direction: row-reverse;											… 文字・矢印の位置をリバース（nextだけ）
	 -	transform: scale(-1, 1);												… 矢印の向きを反転（nextだけ）
	 -	calc(var(--default-footerPaginationBtnArrow-hoverWidthDiff) * -1px);	… 矢印_水平線が伸びる量を相殺する
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
	.footerPaginationBtn_prev a {		/*padding-left: 0;*/}
	.footerPaginationBtn_next a {		/*padding-right: 0;*/ flex-direction: row-reverse;}
	.footerPaginationBtn_prev .label {	padding-right: 0;}
	.footerPaginationBtn_next .label {	padding-left: 0;}
	.footerPaginationBtn_prev .arrow {	margin-left: calc(var(--default-footerPaginationBtnArrow-hoverWidthDiff) * -1px);}
	.footerPaginationBtn_next .arrow {	margin-right: calc(var(--default-footerPaginationBtnArrow-hoverWidthDiff) * -1px); transform: scale(-1, 1); }

	/* hover */
	@media (hover: hover) and (pointer: fine) {
		.footerPaginationBtn a:hover {
			background-color: rgba(var(--site-themeColor-main), .77);
		}
		.footerPaginationBtn a:hover .arrow {
			--default-footerPaginationBtnArrow-hoverWidthDiff: 10; /* hover時に矢印_水平線が伸びる量（単位不要）（例:「10」を設定すると、矢印_水平線が10px伸びる） */
		}
	}
	.footerPaginationBtn a:focus-visible {
		background-color: rgba(var(--site-themeColor-main), .77);
	}
	.footerPaginationBtn a:focus-visible .arrow {
		--default-footerPaginationBtnArrow-hoverWidthDiff: 10; /* hover時に矢印_水平線が伸びる量（単位不要）（例:「10」を設定すると、矢印_水平線が10px伸びる） */
	}

@media screen and (max-width: 1200px) {
	.footerPaginationWrap {
		font-size: 1em;
	}
}
@media screen and (max-width: 736px) {
	.footerPaginationBtn a {
		padding: 1.25em 10px;
	}
}


/* fNavWrap										2022.10
-------------------------------------------------------
- ul以下はJSで生成（setting.js）
- 物件メニューが入らないページもあるので余白設定は注意（.fNavWrap は {A} margin,paddingは基本設定不可）
- 擬似要素は用途が決まっています（li::before、li::after、a::before、a::after）
-------------------------------------------------------
- 例：<ul><li class="indNav is-new"><a href="../" class="is-current" data-end-date="xxx">トップ</a></li></ul>
---------------------------------------------------- */
/* 共通設定 ----- */
	.fNavWrap {
		min-height: 0.001vw;		/* for safari | font-sizeにclamp()使用時必須 */
		line-height: 1.45;
		color: rgba(var(--site-themeColor-main_text), 1);
		font-family: var(--site-font_family-en_1);
		font-size: clamp(1.4rem, (18 / 1400 * 100vw), 1.8rem);
		font-weight: 450;
		letter-spacing: .04em;
		text-align: center;
		background: rgba(var(--site-themeColor-main), 1) var(--site-variationColor-pattern_gray);
		/* {A} margin,paddingは基本設定不可 */
	}
	.fNav {} /* margin,paddingつけるならココ!! */
	
	.fNav ul {}
	
	.fNav li {
		position: relative;
	}
	.fNav a {
		position: relative;
		color: inherit;
	}
	
/* PC時の設定 ----- */
	.fNavWrap {
	}
	.fNav {
		width: 98%;
		margin: 0 auto;
	}
	.fNav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		padding-top: 22px;
		padding-bottom: 22px;
	}
	.fNav li {
		padding: 2px .7em;
	}
	/*.fNav li::before,
	.fNav li::after { // 区切りライン（｜｜） //
		content: "";
		display: block;
		position: absolute; top: 0; bottom: 0;
		width: 0;
		height: 1.1em;
		margin: auto;
		border-left: 1px solid #3f4672;
	}
	.fNav li::before {	left: -1px; }
	.fNav li::after {	right: 0; }*/
	
	.fNav a {
		display: block;
		padding: 9px .7em;
		transition: color .08s ease-out;
	}
	.fNav li.is-new a::before {} /* NEWマーク */
	.fNav a[href]::after { /* currentライン（＿） */
		content: "";
		display: block;
		/*width: 100%;*/
		width: 40px;
		height: 0;
		margin: 0 auto;
		border-bottom: 2px solid transparent;
		transform: translateY(2px);
	}
	/* -- placeholder, hover, current -- */
	.fNav a:not([href]) {
		color: rgba(0, 0, 0, .15);
	}
	@media (hover: hover) and (pointer: fine) {
		.fNav a[href]:hover {
		color: rgba(var(--site-themeColor-accent_1), 1);
		}
	}
	.fNav a[href]:focus-visible {
		color: rgba(var(--site-themeColor-accent_1), 1);
	}
	.fNav a[href].is-current {
		color: rgba(var(--site-themeColor-accent_1), 1);
	}
	.fNav a[href].is-current::after {
		border-color: currentColor;
	}
	/* -- Individual -- */
	.fNav .braNav br {
		display: none;
	}

/* SP時の設定 ----- */
@media screen and (max-width: 1200px) {
	.fNavWrap {
		font-size: clamp(1.28rem, (15 / 375 * 100vw), 1.6rem);
		/*letter-spacing: .03em;*/
		/* {A} margin,paddingは基本設定不可 */
	}
	.fNav {
		width: auto;
		max-width: none;
		margin: auto;
		padding: clamp(17px, 5.333333vw, 20px) clamp(21px, 6.666667vw, 25px);
	}
	.fNav ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: stretch;
		padding: 0;
		border: 0 solid #cecece;
		border-width: 1px 0 0 1px;
	}
	.fNav li {
		display: flex;
		width: 33.333%;
		padding: 0;
		border: 0 solid #cecece;
		border-width: 0 1px 1px 0;
	}
		/* /////////////////////////////////////////////////////////////////////////////////////
			3カラムで欠けがある場合下線を消す。※2カラムになる場合はメディアクエリを分けること
			li:nth-child(3n+2):last-child			= 1つ欠けの場合の最後の子要素
			li:nth-child(3n+1):nth-last-of-type(2)	= 1つ欠けの場合の最後から2番目の子要素
			li:nth-child(3n+1):last-child			= 2つ欠けの場合の最後の子要素
		///////////////////////////////////////////////////////////////////////////////////// */
		/*.fNav li:nth-child(3n+2):last-child,
		.fNav li:nth-child(3n+1):nth-last-of-type(2),
		.fNav li:nth-child(3n+s1):last-child {
			border-bottom: none;
		}*/
	/*.fNav li::before,
	.fNav li::after {
		display: none;
	}*/
	
	.fNav a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		min-height: 3.5em;
		padding: 15px .75em;
		/*transition: color .18s ease-out, background .18s ease-out;*/
	}
	.fNav li.is-new a::before { /* NEWマーク */
		content: "NEW";
		display: block;
		position: absolute;
		top: 2px;
		right: 3px;
		line-height: 1;
		color: #fff;
		font-size: 10px;
		background: #b42d43;
		padding: .25em;
		transform: scale(.9);
		transform-origin: top right;
	}
	.fNav a[href]::after {
		display: none;
	}
	/* -- placeholder, hover, current -- */
	/*.fNav a:not([href]) {
		color: rgba(0, 0, 0, .15);
	}*/
	@media (hover: hover) and (pointer: fine) {
		.fNav a[href]:hover {
		color: inherit;
		background-color: rgba(var(--site-themeColor-accent_1), .05);
		}
	}
	.fNav a[href]:focus-visible {
		color: inherit;
		background-color: rgba(var(--site-themeColor-accent_1), .05);
	}
	.fNav a[href].is-current {
		color: rgba(var(--site-themeColor-accent_1), 1);
	}
	.fNav a[href].is-current::after {
		border-color: currentColor;
	}
	/* -- プラウドについて・プラウドシーズンについて -- */
	/*.fNav .braNav a {
		color: #fff !important;
		background-color: #000066 !important;
		background-color: #9F8758 !important;
	}
	.fNav .braNav a[href]:not(.is-current):focus-visible {
		background-color: #222299 !important;
		background-color: #bc9852 !important;
	}
	.fNav .braNav a[href].is-current {
		color: #fff !important;
	}
	.fNav .braNav a:not([href]) {
		color: rgba(255, 255, 255, .3) !important;
	}*/
}
@media screen and (max-width: 736px) {
	.fNav li {
		width: 50%;
	}
}
@media screen and (max-width: 480px) {
	/* -- Individual -- */
	.fNav .braNav br {
		display: inline;
	}
}




/* ============================================================================
	Framework_Elements
============================================================================ */

/* ptHeading
------------------------------------------------------------------------ */
	:root {
		/* hTxtのフォントサイズ */
		--default-hTxt-styh2-fs: clamp(2.3rem, (26 / 1000 * 100vw), 2.6rem); /* ww1000以下から小さくなる */
		--default-hTxt-styh3-fs: clamp(2.05rem, (23 / 1000 * 100vw), 2.3rem);
		--default-hTxt-styh4-fs: clamp(1.85rem, (20 / 1000 * 100vw), 2.0rem);
		--default-hTxt-styh5-fs: clamp(1.675rem, (18 / 1000 * 100vw), 1.8rem);
		/*--default-hTxt-styh6-fs: clamp(1.675rem, (18 / 1000 * 100vw), 1.8rem);*/
	}
	.ptHeading .hTxt,
	[class*="hTxtStyh"] {
		display: block;
		min-height: 0.001vw;				/* for safari | font-sizeにclamp()使用時必須 */
		line-height: 1.75;
		color: inherit;
		/*color: rgba(var(--site-variationColor-heading-light), 1);*/
		text-align: center;
		letter-spacing: .1em;
		padding: 0;
	}
	.ptHeading .hTxt .kana,
	[class*="hTxtStyh"] .kana {
		letter-spacing: -.05em;
		margin-right: .05em;
	}
	/* -- */
	:where(h2).ptHeading .hTxt,
	.hTxtStyh2 {
		font-size: var(--default-hTxt-styh2-fs);
		margin-bottom: calc(15px + .7em);
	}
	:where(h3).ptHeading .hTxt,
	.hTxtStyh3 {
		font-size: var(--default-hTxt-styh3-fs);
		margin-bottom: calc(15px + .7em);
	}
	:where(h4).ptHeading .hTxt,
	.hTxtStyh4 {
		font-size: var(--default-hTxt-styh4-fs);
		margin-bottom: calc(15px + .7em);
	}
	:where(h5).ptHeading .hTxt,
	:where(h6).ptHeading .hTxt,
	.hTxtStyh5,
	.hTxtStyh6 {
		font-size: var(--default-hTxt-styh5-fs);
		margin-bottom: .85em;
	}
	/*.ptHeading .hWord + .hTxt,
	.ptHeading .hWord + [class*="hTxtStyh"] {
		margin-top: 16px;
	}*/
	/* hWord
	--------------------------------- */
	/*.ptHeading .hWord {
		display: block;
		line-height: 1.2;
		color: rgba(var(--site-themeColor-accent_1), 1);
		text-align: center;
		margin: 0 auto;
	}
	.ptHeading .hWord.en {
		font-family: var(--site-font_family-en_1);
		font-size: 2.6rem;
		text-transform: uppercase;
		letter-spacing: .15em;
	}
	.ptHeading .hWord.ja {
		font-family: inherit;
		font-size: 2rem;
		letter-spacing: .12em;
	}*/
@media screen and (max-width: 736px) {
	:root {
		/* hTxtのフォントサイズ */
		--default-hTxt-styh2-fs: 1.8rem;
		--default-hTxt-styh3-fs: 1.6rem;
		--default-hTxt-styh4-fs: 1.6rem;
		--default-hTxt-styh5-fs: 1.5rem;
		/*--default-hTxt-styh6-fs: 1.5rem;*/
	}
	.ptHeading .hTxt,
	[class*="hTxtStyh"] {
		/*text-align: left;*/
		letter-spacing: .05em;
	}
	/*:where(h2).ptHeading .hTxt,
	.hTxtStyh2 {
		font-size: 1.8rem;
	}
	:where(h3).ptHeading .hTxt,
	.hTxtStyh3 {
		font-size: 1.6rem;
	}
	:where(h4).ptHeading .hTxt,
	.hTxtStyh4 {
		font-size: 1.6rem;
	}
	:where(h5).ptHeading .hTxt,
	:where(h6).ptHeading .hTxt,
	.hTxtStyh5,
	.hTxtStyh6 {
		font-size: 1.5rem;
	}*/
	/*.ptHeading .hWord + .hTxt,
	.ptHeading .hWord + [class*="hTxtStyh"] {
		margin-top: 11px;
	}*/
	/* hWord
	--------------------------------- */
	/*.ptHeading .hWord.en {
		font-size: 2.05rem;
		letter-spacing: .09em;
	}
	.ptHeading .hWord.ja {
		font-size: 1.6rem;
		letter-spacing: .07em;
	}*/
}


/* subHeading_sideline | 見出しの左右にラインをつける(親幅いっぱい)
---------------------------------------------------------------------------
 * [例]	h4.hTxtStyh4.subHeading_sideline>span>{xxx}
------------------------------------------------------------------------ */
	.subHeading_sideline {
		display: flex;
		align-items: center;
		gap: 1.5em;
		width: 100%;
		overflow-wrap: break-word; /* 長い英語対策 */
	}
	.subHeading_sideline::before,
	.subHeading_sideline::after {
		content: "";
		flex: 1 0 2rem;
		border-top: 1px solid currentColor;
	}
@media screen and (max-width: 736px) {
	.subHeading_sideline {
		gap: 1em;
	}
}


/* ptTextbox | マックスワイドが1000px・センター揃えのボックス
------------------------------------------------------------------------ */
	.ptTextbox {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0 0;
		max-width: var(--site-sizeMaxWidth-S);
		margin-left: auto;
		margin-right: auto;
	}


/* segmentContainer | ベール背景やパターン背景と共に使用することも想定
---------------------------------------------------------------------------
 * [例]	.segmentContainer.bgPattern01>section>div.contbox>h3.segmentHeading(>span.en{Xxxxx})+p.ptTextbox{xxxxx}
 * [例]	.segmentContainer.bgPattern02>section>div.contbox>h3.segmentHeading_border(>span.en{Xxxxx})+p.ptTextbox{xxxxx}
------------------------------------------------------------------------ */
	.segmentContainer {
		padding-top: 0;
		padding-bottom: var(--site-marpad-XXXL);
	}
	:is([class^="segmentHeading"], [class^=" segmentHeading"]) {
		display: grid;
		grid-template-columns: 1fr;
		justify-content: center;
		align-content: start;
		align-items: start;
		gap: 12px;
		min-height: 0.001vw;				/* for safari | font-sizeにclamp()使用時必須 */
		line-height: 1.4;
		color: rgba(var(--site-themeColor-accent_2), 1);
		font-family: var(--site-font_family-en_1); /* ベースは英語表記 */
		font-size: calc(clamp(2.3rem, (26 / 1000 * 100vw), 2.6rem) * 1.538461);
		text-align: center;
		letter-spacing: .12em;
		margin-bottom: 40px;
	}
	:is([class^="segmentHeading"], [class^=" segmentHeading"]) :where(.en) {} /* 基本は英語表記使用 */
	:is([class^="segmentHeading"], [class^=" segmentHeading"]) :where(.ja) { /* 一応日本語設定有 */
		font-family: var(--site-font_family-basic);
		font-size: .83em;
		letter-spacing: .075em;
	}
	:is([class^="segmentHeading"], [class^=" segmentHeading"])::before { /* 縦線：初期値は透明 */
		content: "";
		display: block;
		width: 1px;
		height: clamp(88px, (100 / 1000 * 100vw), 100px);
		margin: 0 auto -.15em;
		border-left: 1px solid transparent;
	}
	.segmentHeading_border::before { /* 縦線有ver */
		border-color: currentColor;
	}
@media screen and (max-width: 736px) {
	:is([class^="segmentHeading"], [class^=" segmentHeading"]) {
		font-family: var(--site-font_family-en_1);
		font-size: calc(1.8rem * 1.555556);
	}
	:is([class^="segmentHeading"], [class^=" segmentHeading"])::before {
		height: 50px;
		margin-bottom: -.1em;
	}
}




/* ============================================================================
	Module_Elements
============================================================================ */

/* swiper共通設定 | swiper.min_v2.css の設定を上書きします。
---------------------------------------------------------------------------
 * swiperOuter：スライダー1セットの共通の親要素。navigation絶対配置の基準になるほか、swiper_setting.js側でもnavigation・paginationの検索基準として使う。
 * is-swiperOn：Swiperが稼働中かどうかの目印クラス。.swiperOuterに対してJS側が付け外しする。
---------------------------------------------------------------------------
div.swiperOuter#xxxxxSwiper>(div.swiper-container>div.swiper-wrapper>(div.swiper-slide.slideItem0$>div{yyy})*3)+div.swiper-pagination+div.swiper-button-prev+div.swiper-button-next
------------------------------------------------------------------------ */
	.swiperOuter.is-swiperOn {
		position: relative;
	}

	/* swiperOuter-btnOverflow | navigationを半分はみ出させるデザイン用の修飾クラス。
	---------------------------------------------------- */
	.swiperOuter-btnOverflow.is-swiperOn {
		--swiperBtnSize: clamp(54px, calc(74 / 1400 * 100vw), 74px);
	}
	@media screen and (max-width: 736px) {
		.swiperOuter-btnOverflow.is-swiperOn {
			--swiperBtnSize: clamp(34px, calc(34 / 375 * 100vw), 54px);
		}
	}
	.swiperOuter-btnOverflow.is-swiperOn .swiper-button-next,
	.swiperOuter-btnOverflow.is-swiperOn .swiper-button-prev {
		display: flex;
		align-items: center;
		justify-content: center;
		width: var(--swiperBtnSize);
		height: auto;
		aspect-ratio: 1 / 1;
		top: 50%;
		color: rgba(var(--site-themeColor-accent_2_text), 1);
		background-color: rgba(var(--site-themeColor-accent_2), 1);
		border-radius: 50%;
	}
	.swiperOuter-btnOverflow.is-swiperOn .swiper-button-prev {
		--icon: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="81" height="81" viewBox="0 0 81 81" fill="%23000"><path d="M33.295,9.5c.528,0,1.055.212,1.442.63.738.796.691,2.04-.106,2.777L4.857,40.5l29.775,27.593c.796.738.844,1.981.106,2.777-.738.797-1.982.843-2.778.106L.63,41.941C.228,41.57,0,41.047,0,40.5s.228-1.07.63-1.441L31.96,10.024c.378-.351.857-.524,1.336-.524Z"/><path d="M5.361,38.535h73.673c1.085,0,1.966.88,1.966,1.965s-.88,1.965-1.966,1.965H5.361c-1.085,0-1.966-.88-1.966-1.965s.88-1.965,1.966-1.965Z"/></svg>');
		left: 0;
		transform: translate(-50%, -50%);
	}
	.swiperOuter-btnOverflow.is-swiperOn .swiper-button-next {
		--icon: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="81" height="81" viewBox="0 0 81 81" fill="%23000"><path d="M47.705,71.5c-.528,0-1.055-.212-1.442-.63-.738-.796-.691-2.04.106-2.777l29.775-27.593-29.775-27.593c-.796-.738-.844-1.981-.106-2.777.738-.797,1.982-.843,2.778-.106l31.33,29.035c.402.372.63.894.63,1.441s-.228,1.07-.63,1.441l-31.33,29.035c-.378.351-.857.524-1.336.524Z"/><path d="M75.639,42.465H1.966c-1.085,0-1.966-.88-1.966-1.965s.88-1.965,1.966-1.965h73.673c1.085,0,1.966.88,1.966,1.965s-.88,1.965-1.966,1.965Z"/></svg>');
		right: 0;
		transform: translate(50%, -50%);
	}
	/* 矢印アイコン：Swiper本体のボーダー矢印（border-width指定・回転）を打ち消し、SVGのmask表示に差し替える */
	.swiperOuter-btnOverflow.is-swiperOn .swiper-button-prev::after,
	.swiperOuter-btnOverflow.is-swiperOn .swiper-button-next::after {
		display: inline-block;
		width: 40%;
		aspect-ratio: 1 / 1;
		margin: 0;
		border: none;
		transform: none;
		background-color: rgba(var(--site-themeColor-accent_2_text), 1);
		-webkit-mask: center center / contain no-repeat;
				mask: center center / contain no-repeat;
		-webkit-mask-image: var(--icon);
				mask-image: var(--icon);
	}



/* ------------------------------------------------------------------------
 * digitalLibraryModal_venobox2 									2026.07
---------------------------------------------------------------------------
 * デジタルライブラリーガイドのモーダル設定 | ※限定サイトボタン等にも使用可
 * 別途「venobox2」「setting.js (digitalLibraryModal_venobox2)」を用意する
---------------------------------------------------------------------------
 * [2025.08] body.myVenobox_digitalLibraryModalOpened の時、モーダルのサイズ調整追加
 * [2026.07] HTML側に data-ratio="full" を加えることでモーダルのサイズ調整しやすくした
---------------------------------------------------------------------------
a[href="campaign/01.html"].digitalLibraryModalOpen[data-vbtype="iframe"][data-maxwidth="1260px"][data-ratio="full"]{xxx}
------------------------------------------------------------------------ */
	body.myVenobox_digitalLibraryModalOpened .venoratio-full {
		--vb-aspect-ratio: calc(100dvh - 60px - 40px); /* 60pxは.vbox-containerの上下padding分、40pxは微調整の余白追加分 */
	}



/* noticeWrap | 全ページ共通用（基本的に書き換えない。調整は後述の「is_noticeWrap_all」へ）
------------------------------------------------------------------------ */
/* noticeItem
---------------------------------------------------- */
	.noticeWrap .noticeItem {
		width: 94%;
		/*max-width: 1200px;*/
		margin: 100px auto 0;
		padding: 1px;
	}
	/*.noticeWrap .noticeItem:not(:first-child)::before {
		content: "";
		display: block;
		width: 100%;
		height: 0;
		border: 0 solid rgba(200,200,200,.2);
		border-width: 1px 0 0;
		border-image: linear-gradient(to right, rgba(200,200,200,0) 0%, rgba(200,200,200,0) 3%, rgba(200,200,200,.3) 25%, rgba(200,200,200,.3) 75%, rgba(200,200,200,0) 97%, rgba(200,200,200,0) 100%) 1;
		transform: translateY(-40px);
	}
	.noticeWrap .is_noticeItem_noBd.noticeItem::before {
		display: none;
	}*/
	.noticeWrap .noticeItem .kana {
		letter-spacing: -.02em;
	}
	.noticeWrap .noticeItem a,
	.noticeWrap .noticeItem a .inbl {
		text-decoration: none;
	}
	/* 文字サイズ調整
	----------------------- */
	/* noticeItem ----- */
	.noticeWrap .noticeItem {
		--default-noticeItem-fontsize:			22;
		--default-noticeItem-fontsize-first:	22; /* --default-noticeItem-fontsize と同じ値を設定する。変数の代入は不可。 */
		line-height: 1.6;
		font-size: calc(var(--default-noticeItem-fontsize) * .1rem);
		text-align: center;
		letter-spacing: .07em; /*.06em|.09em*/
	}
	.noticeWrap .noticeItem small {
		display: inline-block;
		/*line-height: 1.3;*/
		color: inherit;
		/*font-size: .75em;*/
		/*margin-top: .5em;*/
	}
	.noticeWrap .noticeItem :is(.txtLLL, .txtLL, .txtL, .txtM, .txtS, .txtSS, .txtSSS) {
		--default-noticeItem-fontsize-coefficient: 1em; /* 係数（倍率の調整＆単位を付けるための値） */
	}
	.noticeWrap .noticeItem :is(.txtLLL, .txtLL, .txtL, .txtM) {
		font-size: calc(var(--default-noticeItem-txt-fontsize) / var(--default-noticeItem-fontsize) * var(--default-noticeItem-fontsize-coefficient));
	}
	.noticeWrap .noticeItem :is(.txtS, .txtSS, .txtSSS) {
		font-size: max((var(--default-noticeItem-txt-fontsize) / var(--default-noticeItem-fontsize) * var(--default-noticeItem-fontsize-coefficient)), var(--default-noticeItem-txt-min-fontsize));
	}
	/* txtL ----- */
	.noticeWrap .noticeItem .txtLLL {
		--default-noticeItem-txt-fontsize:		38;
		line-height: 1.5;
		letter-spacing: .045em;
	}
	.noticeWrap .noticeItem .txtLL {
		--default-noticeItem-txt-fontsize:		34;
		line-height: 1.5;
		letter-spacing: .045em;
	}
	.noticeWrap .noticeItem .txtL {
		--default-noticeItem-txt-fontsize:		30;
		letter-spacing: .06em;
	}
	/* txtM ----- */
	.noticeWrap .noticeItem .txtM {
		--default-noticeItem-txt-fontsize:		26;
	}
	/* txtS ----- */
	.noticeWrap .noticeItem .txtS {
		--default-noticeItem-txt-fontsize:		19;
		--default-noticeItem-txt-min-fontsize:	1.45rem;
	}
	.noticeWrap .noticeItem .txtSS {
		--default-noticeItem-txt-fontsize:		16;
		--default-noticeItem-txt-min-fontsize:	1.3rem;
	}
	.noticeWrap .noticeItem .txtSSS {
		--default-noticeItem-txt-fontsize:		14;
		--default-noticeItem-txt-min-fontsize:	1.25rem;
	}
	/* letterSpacing ----- */
	.noticeWrap .noticeItem .letterSpacingL {
		letter-spacing: .26em;
	}
	/* color ----- */
	/* base.cssで設定済み。 .txtColor01 等
	*/
@media screen and (max-width: 1200px) {
	.noticeWrap .noticeItem {
		--default-noticeItem-fontsize: 19;
	}
	.noticeWrap .noticeItem :is(.txtLLL, .txtLL, .txtL, .txtM, .txtS, .txtSS, .txtSSS) { /* 親のフォントサイズに合わせた倍率を算出 */
		--default-noticeItem-fontsize-coefficient: calc(var(--default-noticeItem-fontsize) / var(--default-noticeItem-fontsize-first) * 1em);
	}
}
@media screen and (max-width: 736px) {
	.noticeWrap .noticeItem {
		--default-noticeItem-fontsize: 17;
		width: var(--site-sizeContentWide-S);
		margin-top: 80px;
	}
	.noticeWrap .tl_SP {
		text-align: left;
	}
}
@media screen and (max-width: 480px) {
	.noticeWrap .noticeItem {
		--default-noticeItem-fontsize: 16;
	}
	.noticeWrap .noticeItem :is(.txtLLL, .txtLL, .txtL, .txtM, .txtS, .txtSS, .txtSSS) { /* 仕切り直し */
		--default-noticeItem-fontsize-coefficient: 1em;
	}
	.noticeWrap .noticeItem .txtLLL {
		--default-noticeItem-txt-fontsize:		23;
	}
	.noticeWrap .noticeItem .txtLL {
		--default-noticeItem-txt-fontsize:		21.5;
	}
	.noticeWrap .noticeItem .txtL {
		--default-noticeItem-txt-fontsize:		20;
	}
	.noticeWrap .noticeItem .txtM {
		--default-noticeItem-txt-fontsize:		17;
	}
	.noticeWrap .noticeItem .txtS {
		--default-noticeItem-txt-fontsize:		15;
		--default-noticeItem-txt-min-fontsize:	1.27rem;
	}
	.noticeWrap .noticeItem .txtSS {
		--default-noticeItem-txt-fontsize:		14;
		--default-noticeItem-txt-min-fontsize:	1.2rem;
	}
	.noticeWrap .noticeItem .txtSSS {
		--default-noticeItem-txt-fontsize:		13;
		--default-noticeItem-txt-min-fontsize:	1.12rem;
	}
}


/* noticeBtnBox
---------------------------------------------------- */
	.noticeBtnBox {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 18px 20px;
		max-width: 930px; /* feeling. */
		margin-top: clamp(50px, (70 / 1400 * 100vw), 70px);
		margin-left: auto;
		margin-right: auto;
	}
	.noticeBtnBox .noticeBtn {
		flex: 0 0 clamp(300px ,(50% - (7px * 2)), 450px);
	}
	.noticeBtnBox .noticeBtn [class*="generalButton"] {
		width: 100%;
		/*font-size: clamp(1.6rem, (17 / 1200 * 100vw), 1.7rem);*/
	}
	.noticeBtnBox .noticeBtn .lowerPhrase {
		display: inline-block;
	}
	.noticeBtnBox .btn_req.noticeBtn [class*="generalButton"],
	.noticeBtnBox .btn_res.noticeBtn [class*="generalButton"] {
		letter-spacing: .26em; /* feeling. */
	}
	.noticeBtnBox .btn_touroku.noticeBtn [class*="generalButton"] {
		letter-spacing: .2em; /* feeling. */
	}
@media screen and (max-width: 1200px) {
	.noticeBtnBox {
		gap: 12px 5px;
		margin-top: clamp(30px, (35 / 375 * 100vw), 35px);
	}
	.noticeBtnBox .noticeBtn {
		flex-basis: min(100%, 330px);
	}
}
@media screen and (max-width: 736px) {
	.noticeBtnBox {
		margin-top: 15px;
	}
	.noticeBtnBox .noticeBtn {
		margin-top: 10px;
	}
}
@media screen and (max-width: 480px) {
	.noticeBtnBox {
		gap: 10px 0;
	}
}


/* holiday | noticeWrap内
-------------------------------------------------------
[SAMPLE]
color: #bc254e;	// 赤_明るい背景用
color: #f09ab2;	// 赤_暗い背景用
color: #dec774;	// 黄_暗い背景用
---------------------------------------------------- */
	.noticeWrap .holidayWrap .holiday {
		width: 100%;
		color: #a74661;
		font-family: inherit;
		font-size: 1.4rem;
		letter-spacing: .04em;
		margin: 60px auto 0;
		padding: 1.5em 0;
	}
	.noticeWrap .holidayWrap .holiday div.holidayInner {
		display: inline-block;
		/*width: 90%;*/
		margin: auto;
		padding: .75em 1.25em;
		border: 1px solid currentColor;
	}
	.noticeWrap .holidayWrap .holiday .kokuchi {
		display: block;
		margin-top: .65em;
		padding-top: .65em;
		border-top: 1px dotted currentColor;
	}
	@media (hover: hover) and (pointer: fine) {
		.noticeWrap .holidayWrap .holiday div.holidayInner a[href]:hover {
			text-decoration: underline;
		}
	}
	.noticeWrap .holidayWrap .holiday div.holidayInner a[href]:focus-visible {
			text-decoration: underline;
	}
@media screen and (max-width: 1200px) {
	.noticeWrap .holidayWrap .holiday {
		margin-top: clamp(25px, (25 / 375 * 100vw), 30px);
	}
	.noticeWrap .holidayWrap .holiday div.holidayInner {
		padding: .5em 1em;
	}
}
@media screen and (max-width: 736px) {
	.noticeWrap .holidayWrap .holiday {
		font-size: 1.3rem;
	}
	.noticeWrap .holidayWrap .holiday div.holidayInner {
		display: block;
		width: 100%;
		text-align: left;
		padding: .9em max(.76em, (10 / 375 * 100vw));
	}
}


/* is_noticeWrap_all （ページ下部に共通で掲載する場合で、トップページを除外したい場合等）
------------------------------------------------------------------------ */
	/*.is_noticeWrap_all.noticeWrap .noticeItem {
	}
	.is_noticeWrap_all.noticeWrap .noticeItem {
	}*/



/* lNav_Module
------------------------------------------------------------------------ */
/* lNavWrap
---------------------------------------------------- */
	.lNavWrap {}



/* last_yohaku
---------------------------------------------------------------------------
- ページの最後に余白を入れたいときに使用。フッターナビと同一のパターンが続いてしまったとき等。
------------------------------------------------------------------------ */
	.last_yohaku {
		padding-top: 60px;
	}
@media screen and (max-width: 736px) {
	.last_yohaku {
		padding-top: 50px;
	}
}



/* M_marker
---------------------------------------------------------------------------
- テキストマーカー
- 色・太さを変えたい場合は各ページ用CSSで上書き可
---------------------------------------------------------------------------
- mark要素の初期スタイルはcolor:black;background-color:yellow;なので適宜リセットすること。
- アニメーションつける場合は「.M_marker.is-visible{background-position: -100% 1em;}」部分を表示して、「.is-visible」クラスを適宜修正すること。
---------------------------------------------------------------------------
- 例：<mark class="M_marker">xxx</mark>
------------------------------------------------------------------------ */
	.M_marker {
		--default-M_marker-color: #ff0;
		--default-M_marker-sizeH: .5em;
		color: inherit;
		background: linear-gradient(to right, transparent 50%, var(--default-M_marker-color) 50%) 0 1em / 200% var(--default-M_marker-sizeH) repeat-x;
		transition: background-position 1s ease;
	}
	.M_marker/*.is-visible*/ {
		background-position: -100% 1em;
	}



/* premiumPlanBnSection | プレミアムプランバナー
------------------------------------------------------------------------ */
	.premiumPlanBnSection {
		position: relative;
		z-index: 0;
		overflow: hidden;
		color: #fff;
		background: #5a5c59 url("../images/share/bn_premium.jpg") center center / cover no-repeat;
	}
	.premiumPlanBnSection::before { /* 枠線 */
		content: "";
		position: absolute;
		inset: 10px;
		z-index: -1;
		border: 1px solid #d8cdb2;
	}
	.premiumPlanBnSection[data-bgcap-parent]::after { /* キャプション */
		z-index: -1;
		color: #ccc;
		font-size: 1rem;
		letter-spacing: normal;
		padding: 12px 14px;
	}
	.premiumPlanBnLink {
		display: grid;
		grid-template-columns: calc(450 / 1260 * 100%) calc(810 / 1260 * 100%);
		justify-content: space-between;
		color: inherit !important; /* base.cssのリセット */
		text-decoration: none;
		padding: 40px 0;
	}
	.premiumPlanBnLink::before {} /* 光が走るエフェクト用（プレミアムバナー） */
	.premiumPlanBnLink::after { /* hover用 */
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		/*background: rgba(200, 200, 200, .55);*/
		background: rgba(0, 0, 0, .28);
		mix-blend-mode: overlay;
		opacity: 0;
	}

	.premiumPlanBnTtlBox {
		display: grid;
		line-height: 1.3125;
		color: rgba(var(--site-themeColor-accent_3), 1);
		font-family: var(--site-font_family-en_1);
		font-size: clamp(2.5rem, (32 / 1100 * 100vw), 3.2rem);
		text-align: center;
		letter-spacing: .165em;
		padding-top: 10px;
		padding-bottom: 10px;
		padding-left:	calc(65 / 450 * 100%);
		padding-right:	calc(65 / 450 * 100%);
	}
	.premiumPlanBnTtlBox .heading {
		display: grid;
		place-content: center;
		background: linear-gradient(45deg, rgba(0, 0, 0, .7) 5%, rgba(75, 75, 75, .7) 50%, rgba(0, 0, 0, .7) 95%);
		padding: .6em .3em .5em;
		border: 1px solid transparent;
		border-image: linear-gradient(45deg, #99794a, #faebc7, #99794a);
		border-image-slice: 1;
	}

	.premiumPlanBnTxtBox {
		display: grid;
		grid-template-columns: 1fr;
		line-height: 1.35;
		font-size: clamp(1.4rem, (17 / 1100 * 100vw), 1.7rem);
		text-align: center;
		letter-spacing: .085em;
		padding-left:	calc(100 / 810 * 100%);
		padding-right:	calc(100 / 810 * 100%);
	}
	.premiumPlanBnTxtBox .txtL {
		line-height: 2.08;
		font-size: 1.588235em;
		letter-spacing: .13em;
	}
	.premiumPlanBnTxtBox .txtL .num {
		line-height: .55;
		color: rgba(var(--site-themeColor-accent_3), 1);
		font-family: var(--site-font_family-en_2);
		font-size: 2.333333em;
		margin-left: .02em;
		margin-right: .03em;
	}
	.premiumPlanBnTxtBox .txtS {
		line-height: 1.666667;
		margin-top: .2em;
		padding-top: .9em;
		border-top: 1px solid rgba(255, 255, 255, .48);
	}
	.premiumPlanBnTxtBox .btnBox {
		margin-top: 1.75em;
	}
	.premiumPlanBnTxtBox .btnBox .btn {
		display: block;
		position: relative;
		width: 90%;
		max-width: 300px;
		background: 0% 0% / 300% 100% no-repeat;
		background-image: linear-gradient(135deg, #574238 0%, #836d63 16%, #937d73 29% 33%, #9c8377 67% 100%);
		padding: .35em .5em;
		margin: 0 auto;
	}

	.premiumPlanBnSection br.PC {
		display: inline;
	}
	.premiumPlanBnSection br.SP {
		display: none;
	}
	
	/* hover */
	.premiumPlanBnLink::after {
		transition: opacity .3s ease-out;
	}
	.premiumPlanBnTxtBox .btnBox .btn {
		transition: background .13s ease, scale .3s ease;
	}
	@media (hover: hover) and (pointer: fine) {
		.premiumPlanBnLink:hover::after {
			opacity: 1;
		}
		.premiumPlanBnLink:hover .premiumPlanBnTxtBox .btnBox .btn {
			/*background-position: 100% 0%;*/
			scale: 1.04;
		}
	}
	.premiumPlanBnLink:focus-visible::after {
			opacity: 1;
	}
	.premiumPlanBnLink:focus-visible .premiumPlanBnTxtBox .btnBox .btn {
			/*background-position: 100% 0%;*/
			scale: 1.04;
	}

@media screen and (max-width: 900px) {
	.premiumPlanBnSection {
		background-position: center 25%;
	}
	.premiumPlanBnSection[data-bgcap-parent]::after { /* キャプション */
		color: #b3b3b3;
		font-size: .9rem;
	}
	.premiumPlanBnLink {
		grid-template-columns: 1fr;
		gap: 2.25em 0;
		width: 85%;
		margin-left: auto;
		margin-right: auto;
		padding: 40px 0 50px;
	}
	.premiumPlanBnTtlBox {
		font-size: clamp(1.8rem, (22 / 375 * 100vw), 2.25rem);
		letter-spacing: .12em;
		padding: 0;
	}
	.premiumPlanBnTtlBox .heading br {
		display: none;
	}

	.premiumPlanBnTxtBox {
		font-size: clamp(1.3rem, (15 / 375 * 100vw), 1.6rem);
		letter-spacing: .055em;
		padding-left:	0;
		padding-right:	0;
	}
	.premiumPlanBnTxtBox .txtL {
		font-size: 1.333333em;
		letter-spacing: .08em;
	}
	.premiumPlanBnTxtBox .txtL .num {
		font-size: 2.65em;
	}
	.premiumPlanBnTxtBox .btnBox {
		margin-top: 2.25em;
	}
	.premiumPlanBnTxtBox .btnBox .btn {
		padding: .6em .5em;
	}
}
@media screen and (max-width: 736px) {
	.premiumPlanBnSection {
		background-image: url("../images/share/bn_premium@sp.jpg");
	}
	.premiumPlanBnSection[data-bgcap-parent]::after { /* キャプション */
		padding: 8px 10px;
	}
	.premiumPlanBnLink {
		padding: 32px 0 42px;
	}
	.premiumPlanBnSection::before {
		inset: 5px;
	}
	.premiumPlanBnTxtBox .txtL {
		line-height: 1.45;
	}
	.premiumPlanBnTxtBox .txtL .num {
		line-height: .85;
	}
	.premiumPlanBnTxtBox .txtS {
		margin-top: .9em;
		padding-top: 1em;
	}
	.premiumPlanBnSection br.PC {
		display: none;
	}
	.premiumPlanBnSection br.SP {
		display: inline;
	}
}
/* ==========
	ANIME
========== */
@media screen {
	[data-js_show_target="premiumPlanBnSection"] {
		opacity: 1;
		translate: 0 30px;
	}
	[data-js_show_target-passed="premiumPlanBnSection"] {
		animation: 1100ms ease 50ms both ANIME-premiumPlanBnSection;
	}

	/* 光が走るエフェクト用（プレミアムバナー） */
	[data-js_show_target="premiumPlanBnSection"] a::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 0;
		height: 0;
		width: 100%;
		padding-top: 100%;
		background: rgba(255, 255, 255, .9);
		filter: blur(15px);
		transform: translate(-100%, -100%) rotate(-45deg) scale(1);
		transform-origin: center center;
		pointer-events: none;
	}
	[data-js_show_target-passed="premiumPlanBnSection"] a::before {
		animation: 7500ms ease-out 100ms infinite ANIME-premiumPlanBnSection_shinyEffect;
	}
}
@media screen and (max-width: 736px) {
	[data-js_show_target-passed="premiumPlanBnSection"] a::before {
		animation-name: ANIME-premiumPlanBnSection_shinyEffect-SP;
	}
}
@keyframes ANIME-premiumPlanBnSection {
	0% {	translate: 0 30px;}
	100% {	translate: 0 0px;}
}
@keyframes ANIME-premiumPlanBnSection_shinyEffect {
	0% {		transform: translate(-100%, -100%) rotate(-45deg) scale(1); opacity: 1;}
	23% {		transform: translate(-100%, -100%) rotate(-45deg) scale(4);}
	38%, 100% {	transform: translate(-100%, -100%) rotate(-45deg) scale(4); opacity: 0;}
}
@keyframes ANIME-premiumPlanBnSection_shinyEffect-SP {
	0% {		transform: translate(-100%, -100%) rotate(-45deg) scale(1); opacity: 1;}
	15% {		transform: translate(-100%, -100%) rotate(-45deg) scale(5);}
	30%, 100% {	transform: translate(-100%, -100%) rotate(-45deg) scale(5); opacity: 0;}
}










/* ***************************************************************************************************
	COMMON_LAST
*************************************************************************************************** */
/* ============================================================================
	etc
============================================================================ */
/* margin, padding | ~=スペース区切り毎の正確な値 | mt,mr,mb,ml,pt,pr,pb,pl,ptb,plr */
[data-marpad~="mtXXXXL"]	{margin-top:var(--site-marpad-XXXXL)}	[data-marpad~="mrXXXXL"]	{margin-right:var(--site-marpad-XXXXL)}	[data-marpad~="mbXXXXL"]	{margin-bottom:var(--site-marpad-XXXXL)}	[data-marpad~="mlXXXXL"]	{margin-left:var(--site-marpad-XXXXL)}		[data-marpad~="ptXXXXL"]	{padding-top:var(--site-marpad-XXXXL)}	[data-marpad~="prXXXXL"]	{padding-right:var(--site-marpad-XXXXL)}	[data-marpad~="pbXXXXL"]	{padding-bottom:var(--site-marpad-XXXXL)}	[data-marpad~="plXXXXL"]	{padding-left:var(--site-marpad-XXXXL)}	[data-marpad~="ptbXXXXL"]	{padding-top:var(--site-marpad-XXXXL);padding-bottom:var(--site-marpad-XXXXL)}	[data-marpad~="plrXXXXL"]	{padding-right:var(--site-marpad-XXXXL);padding-left:var(--site-marpad-XXXXL)}
[data-marpad~="mtXXXL"]	{margin-top:var(--site-marpad-XXXL)}	[data-marpad~="mrXXXL"]	{margin-right:var(--site-marpad-XXXL)}	[data-marpad~="mbXXXL"]	{margin-bottom:var(--site-marpad-XXXL)}	[data-marpad~="mlXXXL"]	{margin-left:var(--site-marpad-XXXL)}		[data-marpad~="ptXXXL"]	{padding-top:var(--site-marpad-XXXL)}	[data-marpad~="prXXXL"]	{padding-right:var(--site-marpad-XXXL)}	[data-marpad~="pbXXXL"]	{padding-bottom:var(--site-marpad-XXXL)}	[data-marpad~="plXXXL"]	{padding-left:var(--site-marpad-XXXL)}	[data-marpad~="ptbXXXL"]	{padding-top:var(--site-marpad-XXXL);padding-bottom:var(--site-marpad-XXXL)}	[data-marpad~="plrXXXL"]	{padding-right:var(--site-marpad-XXXL);padding-left:var(--site-marpad-XXXL)}
[data-marpad~="mtXXL"]	{margin-top:var(--site-marpad-XXL)}		[data-marpad~="mrXXL"]	{margin-right:var(--site-marpad-XXL)}	[data-marpad~="mbXXL"]	{margin-bottom:var(--site-marpad-XXL)}	[data-marpad~="mlXXL"]	{margin-left:var(--site-marpad-XXL)}		[data-marpad~="ptXXL"]	{padding-top:var(--site-marpad-XXL)}	[data-marpad~="prXXL"]	{padding-right:var(--site-marpad-XXL)}	[data-marpad~="pbXXL"]	{padding-bottom:var(--site-marpad-XXL)}		[data-marpad~="plXXL"]	{padding-left:var(--site-marpad-XXL)}	[data-marpad~="ptbXXL"]		{padding-top:var(--site-marpad-XXL);padding-bottom:var(--site-marpad-XXL)}		[data-marpad~="plrXXL"]		{padding-right:var(--site-marpad-XXL);padding-left:var(--site-marpad-XXL)}
[data-marpad~="mtXL"]	{margin-top:var(--site-marpad-XL)}		[data-marpad~="mrXL"]	{margin-right:var(--site-marpad-XL)}	[data-marpad~="mbXL"]	{margin-bottom:var(--site-marpad-XL)}	[data-marpad~="mlXL"]	{margin-left:var(--site-marpad-XL)}			[data-marpad~="ptXL"]	{padding-top:var(--site-marpad-XL)}		[data-marpad~="prXL"]	{padding-right:var(--site-marpad-XL)}	[data-marpad~="pbXL"]	{padding-bottom:var(--site-marpad-XL)}		[data-marpad~="plXL"]	{padding-left:var(--site-marpad-XL)}	[data-marpad~="ptbXL"]		{padding-top:var(--site-marpad-XL);padding-bottom:var(--site-marpad-XL)}		[data-marpad~="plrXL"]		{padding-right:var(--site-marpad-XL);padding-left:var(--site-marpad-XL)}
[data-marpad~="mtL"]	{margin-top:var(--site-marpad-L)}		[data-marpad~="mrL"]	{margin-right:var(--site-marpad-L)}		[data-marpad~="mbL"]	{margin-bottom:var(--site-marpad-L)}	[data-marpad~="mlL"]	{margin-left:var(--site-marpad-L)}			[data-marpad~="ptL"]	{padding-top:var(--site-marpad-L)}		[data-marpad~="prL"]	{padding-right:var(--site-marpad-L)}	[data-marpad~="pbL"]	{padding-bottom:var(--site-marpad-L)}		[data-marpad~="plL"]	{padding-left:var(--site-marpad-L)}		[data-marpad~="ptbL"]		{padding-top:var(--site-marpad-L);padding-bottom:var(--site-marpad-L)}			[data-marpad~="plrL"]		{padding-right:var(--site-marpad-L);padding-left:var(--site-marpad-L)}
[data-marpad~="mtM"]	{margin-top:var(--site-marpad-M)}		[data-marpad~="mrM"]	{margin-right:var(--site-marpad-M)}		[data-marpad~="mbM"]	{margin-bottom:var(--site-marpad-M)}	[data-marpad~="mlM"]	{margin-left:var(--site-marpad-M)}			[data-marpad~="ptM"]	{padding-top:var(--site-marpad-M)}		[data-marpad~="prM"]	{padding-right:var(--site-marpad-M)}	[data-marpad~="pbM"]	{padding-bottom:var(--site-marpad-M)}		[data-marpad~="plM"]	{padding-left:var(--site-marpad-M)}		[data-marpad~="ptbM"]		{padding-top:var(--site-marpad-M);padding-bottom:var(--site-marpad-M)}			[data-marpad~="plrM"]		{padding-right:var(--site-marpad-M);padding-left:var(--site-marpad-M)}
[data-marpad~="mtS"]	{margin-top:var(--site-marpad-S)}		[data-marpad~="mrS"]	{margin-right:var(--site-marpad-S)}		[data-marpad~="mbS"]	{margin-bottom:var(--site-marpad-S)}	[data-marpad~="mlS"]	{margin-left:var(--site-marpad-S)}			[data-marpad~="ptS"]	{padding-top:var(--site-marpad-S)}		[data-marpad~="prS"]	{padding-right:var(--site-marpad-S)}	[data-marpad~="pbS"]	{padding-bottom:var(--site-marpad-S)}		[data-marpad~="plS"]	{padding-left:var(--site-marpad-S)}		[data-marpad~="ptbS"]		{padding-top:var(--site-marpad-S);padding-bottom:var(--site-marpad-S)}			[data-marpad~="plrS"]		{padding-right:var(--site-marpad-S);padding-left:var(--site-marpad-S)}
[data-marpad~="mtXS"]	{margin-top:var(--site-marpad-XS)}		[data-marpad~="mrXS"]	{margin-right:var(--site-marpad-XS)}	[data-marpad~="mbXS"]	{margin-bottom:var(--site-marpad-XS)}	[data-marpad~="mlXS"]	{margin-left:var(--site-marpad-XS)}			[data-marpad~="ptXS"]	{padding-top:var(--site-marpad-XS)}		[data-marpad~="prXS"]	{padding-right:var(--site-marpad-XS)}	[data-marpad~="pbXS"]	{padding-bottom:var(--site-marpad-XS)}		[data-marpad~="plXS"]	{padding-left:var(--site-marpad-XS)}	[data-marpad~="ptbXS"]		{padding-top:var(--site-marpad-XS);padding-bottom:var(--site-marpad-XS)}		[data-marpad~="plrXS"]		{padding-right:var(--site-marpad-XS);padding-left:var(--site-marpad-XS)}
[data-marpad~="mtXXS"]	{margin-top:var(--site-marpad-XXS)}		[data-marpad~="mrXXS"]	{margin-right:var(--site-marpad-XXS)}	[data-marpad~="mbXXS"]	{margin-bottom:var(--site-marpad-XXS)}	[data-marpad~="mlXXS"]	{margin-left:var(--site-marpad-XXS)}		[data-marpad~="ptXXS"]	{padding-top:var(--site-marpad-XXS)}	[data-marpad~="prXXS"]	{padding-right:var(--site-marpad-XXS)}	[data-marpad~="pbXXS"]	{padding-bottom:var(--site-marpad-XXS)}		[data-marpad~="plXXS"]	{padding-left:var(--site-marpad-XXS)}	[data-marpad~="ptbXXS"]		{padding-top:var(--site-marpad-XXS);padding-bottom:var(--site-marpad-XXS)}		[data-marpad~="plrXXS"]		{padding-right:var(--site-marpad-XXS);padding-left:var(--site-marpad-XXS)}

[data-marpad~="mt1px"]	{margin-top:1px}	[data-marpad~="mr1px"]	{margin-right:1px}	[data-marpad~="mb1px"]	{margin-bottom:1px}	[data-marpad~="ml1px"]	{margin-left:1px}		[data-marpad~="pt1px"]	{padding-top:1px}	[data-marpad~="pr1px"]	{padding-right:1px}	[data-marpad~="pb1px"]	{padding-bottom:1px}	[data-marpad~="pl1px"]	{padding-left:1px}		[data-marpad~="ptb1px"]	{padding-top:1px;padding-bottom:1px}	[data-marpad~="plr1px"]	{padding-right:1px;padding-left:1px}
[data-marpad~="mt1em"]	{margin-top:1em}	[data-marpad~="mr1em"]	{margin-right:1em}	[data-marpad~="mb1em"]	{margin-bottom:1em}	[data-marpad~="ml1em"]	{margin-left:1em}		[data-marpad~="pt1em"]	{padding-top:1em}	[data-marpad~="pr1em"]	{padding-right:1em}	[data-marpad~="pb1em"]	{padding-bottom:1em}	[data-marpad~="pl1em"]	{padding-left:1em}		[data-marpad~="ptb1em"]	{padding-top:1em;padding-bottom:1em}	[data-marpad~="plr1em"]	{padding-right:1em;padding-left:1em}
[data-marpad~="mt2em"]	{margin-top:2em}	[data-marpad~="mr2em"]	{margin-right:2em}	[data-marpad~="mb2em"]	{margin-bottom:2em}	[data-marpad~="ml2em"]	{margin-left:2em}		[data-marpad~="pt2em"]	{padding-top:2em}	[data-marpad~="pr2em"]	{padding-right:2em}	[data-marpad~="pb2em"]	{padding-bottom:2em}	[data-marpad~="pl2em"]	{padding-left:2em}		[data-marpad~="ptb2em"]	{padding-top:2em;padding-bottom:2em}	[data-marpad~="plr2em"]	{padding-right:2em;padding-left:2em}
[data-marpad~="mt0"]	{margin-top:0}		[data-marpad~="mr0"]	{margin-right:0}	[data-marpad~="mb0"]	{margin-bottom:0}	[data-marpad~="ml0"]	{margin-left:0}			[data-marpad~="pt0"]	{padding-top:0}		[data-marpad~="pr0"]	{padding-right:0}	[data-marpad~="pb0"]	{padding-bottom:0}		[data-marpad~="pl0"]	{padding-left:0}		[data-marpad~="ptb0"]	{padding-top:0;padding-bottom:0}		[data-marpad~="plr0"]	{padding-right:0;padding-left:0}
