@charset "utf-8";
/* *************************************************************************************************************
 *	file name:		default.css
 *	Alteration:		2025.12
 *	style info:		物件コンテンツ用CSS（主にmain要素のスタイル）
----------------------------------------------------------------------------------------------------------------
 *	< BASE > - main - OuterWide - Module_Wrapper - Framework_Wrapper - Framework_Elements - Module_Elements
----------------------------------------------------------------------------------------------------------------
 * {A}	
----------------------------------------------------------------------------------------------------------------
 * 01	カスタムプロパティ名「--ファイル名-要素クラス名等-内容-種類: xxx;」（例：--base-pageTheme-color-light: #ccc;）
 * 02	バッティング対策：「.contents」→「.contbox」。
************************************************************************************************************* */

/* ***************************************************************************************************
	BASE
*************************************************************************************************** */

/* ============================================================================
	main
-------------------------------------------------------------------------------
	メインの初期値設定。
============================================================================ */


	/* //////////////////////////////////////////////////////////////////////////////////
	 * スティッキーヘッダー分の余白（ざっくり対応ver ※厳密にする場合はJSで）|（メインビジュアルをスティッキーヘッダーと重ねる場合「margin-top:0;」にする）
	////////////////////////////////////////////////////////////////////////////////// */
	main {
		margin-top: var(--site-stickyHeader-height);
	}

@media screen and (max-width: 900px) {
/*	main {
		margin-top: var(--site-stickyHeader-height);
	}*/
}


/* ============================================================================
	OuterWide
-------------------------------------------------------------------------------
	ヘッダー、ページテーマ、フッター、コンテナ、コンテンツ類の初期値設定。
============================================================================ */

	/* ---------------- margin */
	.pageThemeWrap,
	/*.pageThemeWrapHeader,*/
	.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%;
	}
	.contbox {
		width: var(--site-sizeContentWide-M);		/* 90% */	/* Mは600以下からSと同じ値になる */
		max-width: var(--site-sizeMaxWidth-M);		/* 1200px */
	}
	/* OVERWRITE */ /* 上書き指定の為必ず最後に記述する。 */
	.sizeContentWideXL {
		width: var(--site-sizeContentWide-L);		/* 100% */
		max-width: var(--site-sizeMaxWidth-XL);		/* 1920px */
	}
	.sizeContentWideL {
		width: var(--site-sizeContentWide-L);		/* 100% */
		max-width: var(--site-sizeMaxWidth-L);		/* 1600px */
	}
	.sizeContentWideM {
		width: var(--site-sizeContentWide-M);		/* 90% */	/* Mは600以下からSと同じ値になる */
		max-width: var(--site-sizeMaxWidth-M);		/* 1200px */
	}
	.sizeContentWideS {
		width: var(--site-sizeContentWide-S);		/* 82.5% */
		max-width: var(--site-sizeMaxWidth-S);		/* 1000px */
	}
	.sizeContentWideXS {
		width: var(--site-sizeContentWide-XS);		/* 82.5% */
		max-width: var(--site-sizeMaxWidth-XS);		/* 900px */
	}
	.sizeMaxWidthL {
		max-width: var(--site-sizeMaxWidth-XL);		/* 1920px */
	}
	.sizeMaxWidthL {
		max-width: var(--site-sizeMaxWidth-L);		/* 1600px */
	}
	.sizeMaxWidthM {
		max-width: var(--site-sizeMaxWidth-M);		/* 1200px */
	}
	.sizeMaxWidthS {
		max-width: var(--site-sizeMaxWidth-S);		/* 1000px */
	}
	.sizeMaxWidthXS {
		max-width: var(--site-sizeMaxWidth-XS);		/* 900px */
	}
	/* 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;
	}

	/* stickoutFullbox SPのみ固定幅のボックスをはみ出して、ウィンドウ幅いっぱいに広げる*/ 
@media screen and (max-width: 600px) { /*{SP}*/
	.stickoutFullbox_SPonly {
		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_SPonly img.stickoutFullboxPic,
	.stickoutFullbox_SPonly .stickoutFullboxPic img {
		width: 100%;
		max-width: none;
	}
}	
	


/* ------------------------ reset */ /* contents類の入れ子は100%にリセットする。 */
	.contbox .contbox {
		width: 100%;
		max-width: none;
	}


/* ============================================================================
	Module_Wrapper
-------------------------------------------------------------------------------
	コンテナ、コンテントボックス、
	フィーチャーコンテント(特別)、背景色チェンジ
============================================================================ */

	/* container
	----------------------- */
	.container {
		padding: var(--site-marpad-XXXL) 0;
	}


	/* contbox
	----------------------- */

	/* sentens style.
	----------------------- */
	.sentensBox {
		margin: 50px auto;
		width: var(--site-sizeContentWide-XS);	
		max-width: var(--site-sizeMaxWidth-XS);	
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		line-height: 2.6;
	}

	/* featuredContent
	----------------------- */
	.featuredContent_01 {
		padding: clamp(80px, (80 / 737 * 100vw), 120px) 0;
	}
	.featuredContent_02 {
		padding: clamp(60px, (60 / 737 * 100vw), 80px) 0;
	}
	.featuredContent_03 {
		padding: clamp(30px, (30 / 737 * 100vw), 50px) 0;
	}	

	/* bgColor
	----------------------- */
	.bgColorWh {		background: rgba(var(--site-variationColor-whitish), 1);}	/* 白 */
	.bgColorWhOpa {		background: rgba(var(--site-variationColor-whitish), .3);}	/* 白（透過） */
	.bgColorBk {		background: rgba(var(--site-variationColor-blackish), 1);}	/* 黒 */
	.bgColorBkOpa {		background: rgba(var(--site-variationColor-blackish), .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);}

	.bgPattern01 {		
		background: #f8f8f8 var(--site-pattern-lightGray); 
		padding: var(--site-marpad-XXXL) 0;
}	


@media screen and (max-width: 900px) {
	/* featuredContent
	----------------------- */
	.featuredContent_01 {
		padding: clamp(30px, (30 / 320 * 100vw), 60px) 0;
	}
	.featuredContent_02 {
		padding: clamp(34px, (34 / 320 * 100vw), 40px) 0;
	}
	.featuredContent_03 {
		padding: clamp(25px, (25 / 737 * 100vw), 30px) 0;
    }
}

@media screen and (max-width: 600px) {

	/* container
	----------------------- */
	.container {
		padding: var(--site-marpad-L) 0;
	}

	/* sentens style.
	----------------------- */
	.sentensBox {
		margin: 25px auto;
		text-align: left;
		width: 90%;
	}
	.sentensBox br {
		display: none;
	}
		.sentensBox .inbl {
		display: inline;
	}
}



.imgMultiply {
  mix-blend-mode: multiply;
}



/* ============================================================================
	Framework_Wrapper
============================================================================ */

/* ------------------------------------------------------------------------
mainElementHeaderWrap
------------------------------------------------------------------------ */
	.mainElementHeaderWrap {
	}


/* mainElementHeaderBox
------------------------------------------------------------------------ */
	.mainElementHeaderBox {
		position: relative;
        overflow: hidden;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
	}
	
	/*pTtlPic--------*/
	.mainElementHeaderBox .pTtl {
		position: absolute;
		text-align: center;
		z-index: 1;
		/*width: 90%;*/
		bottom: 0;
		line-height: .7;
		left: 50%;
	  transform: translateX(-50%);
	}

	.mainElementHeaderBox .pTtl h2 {
		--M-fluidFontSize-max-fontsize: 200;
		--M-fluidFontSize-min-fontsize: 160;
		--M-fluidFontSize-max-viewport: 1920;
		--M-fluidFontSize-min-viewport: 1200;
		min-height: 0.001vw; /* for safari | font-sizeにclamp()使用時必須 */
		font-size: clamp(
			calc(var(--M-fluidFontSize-min-fontsize) * .1rem),
			calc(calc(var(--M-fluidFontSize-min-fontsize) * .1rem) + (1vw - calc(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)))),
			calc(var(--M-fluidFontSize-max-fontsize) * .1rem)
		);
		font-family: var(--site-font_family-en_2);
		font-weight: 100;
		letter-spacing: 0.05em;
		text-align: center;
		color:#fff;
        text-shadow: 0px 0px 4px rgba(0,0,0,0.2), 0px 0px 8px rgba(0,0,0,0.5);
	}

/* ==========
	ANIME
========== */
@media screen {
	[data-js_show_target="mainElement__txt"] h2{
		opacity: 0;
        transform: translate(0, 40px);
        clip-path: inset(0 100% 0 0); 
	}
	[data-js_show_target-passed="mainElement__txt"] h2 {
		opacity: 1;
        transform: translate(0, 0);
        clip-path: inset(0 0 0 0);
		transition: all 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s;
	}
	[data-js_show_target="mainElement__txtS"] h2{
		opacity: 0;
        transform: translate(0, 40px);
        clip-path: inset(0 100% 0 0); 
	}
	[data-js_show_target-passed="mainElement__txtS"] h2 {
		opacity: 1;
        transform: translate(0, 0);
        clip-path: inset(0 0 0 0);
		transition: all 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.1s;
	}
}


@media screen and (min-width: 600.02px) and (max-width: 1200px) { /*{TB}*/
	.mainElementHeaderBox .pTtl h2 {
		--M-fluidFontSize-max-fontsize: 160;
		--M-fluidFontSize-min-fontsize: 70;
		--M-fluidFontSize-max-viewport: 1200;
		--M-fluidFontSize-min-viewport: 600;
	}
    
}
@media screen and (max-width: 600px) { /*{SP}*/
    .mainElementHeaderBox .pTtl {
       
    }
	.mainElementHeaderBox .pTtl h2 {
		--M-fluidFontSize-max-fontsize: 90;
		--M-fluidFontSize-min-fontsize: 60;
		--M-fluidFontSize-max-viewport: 600;
		--M-fluidFontSize-min-viewport: 480;
	}
}	
	
	
	
	/*pTtlPic--------*/
	.mainElementHeaderBox .pPic {
		position: relative;
	}
	.mainElementHeaderBox .pPic::before {
		content: "";
		position: absolute;
		display: block;
		width: 100%;
		height: 50%;
		background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.2) 100%);
		z-index: 1;
		bottom: 0;
	}

/* =============
	ANIME
============= */
@media screen {
	/* 親リセット */
	[data-js_show_target="mainElement__pic"] {
		opacity: 1;
	}
	[data-js_show_target="mainElement__pic"]::before{
		opacity: 0;
	}
	[data-js_show_target-passed="mainElement__pic"]::before{
		opacity: 1;
		transition: opacity 800ms ease-out 400ms;
        
	}
	[data-js_show_target="mainElement__pic"] img {
		opacity: 0;
        filter: blur(10px); 
		transform: scale(1.1);
	}
	[data-js_show_target-passed="mainElement__pic"] img {
		opacity: 1;
        filter: blur(0px);
		transform: scale(1);
		transition: opacity 2000ms ease 200ms, transform 2000ms ease 200ms;
	}

}

/*animation*/
	.mainElementHeaderBox .pPic,
	.mainElementHeaderBox .pPic::before{
        animation: mainHeaderVisualWrap 3s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
    }
	@keyframes mainHeaderVisualWrap {
	  0%   { transform: scale(1.1);filter: blur(10px); }
	  100% { transform: scale(1);filter: blur(0px);}
	}	

@media screen and (min-width: 600.02px) and (max-width: 1200px) { /*{TB}*/
	/*.mainElementHeaderBox .pPic {
		width:100%;
		height:100%;
	}*/
	/*.mainElementHeaderBox .pPic img {
		object-fit: cover;
		min-height:400px;
		object-position: 100% 0;
	}*/

}

@media screen and (max-width: 600px) {

}


	.mainElementHeaderBox.height_S .pTtl {
		bottom: auto;
		top: 50%;
		left: 50%;
	  transform: translate(-50%, -50%);
	}

	.mainElementHeaderBox.height_S .pTtl h2 {
		--M-fluidFontSize-max-fontsize: 80;
		--M-fluidFontSize-min-fontsize: 50;
		--M-fluidFontSize-max-viewport: 1920;
		--M-fluidFontSize-min-viewport: 1200;
	}


@media screen and (max-width: 1200px) {
    /* ショートver */
    .mainElementHeaderBox.height_S .pPic img {
		object-fit: cover;
		min-height: 140px;
		object-position: 100% 0;
    }

}


/* pageThemeWrap
------------------------------------------------------------------------ */
	/* pageThemeWrap
	----------------------- */
	.pageThemeWrap {}
	
	/* pageTheme
	----------------------- */
	.pageTheme {}




/* breadcrumbBox
------------------------------------------------------------------------ */
/*	.breadcrumbBox {
		line-height: 1.8;
		color: inherit;
		font-family: var(--site-font_family-sans);
		font-size: 1rem;
		letter-spacing: .05em;
		padding: 0;
	}
	.breadcrumbBox ol {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		margin: 0;
		padding: .7em 1em;
	}
	.breadcrumbBox li {
		opacity: .6;
	}
	.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[href]:hover {
			border-bottom-color: currentColor;
		}
	}
@media screen and (max-width: 900px) {
	.breadcrumbBox {
		word-break: break-all;
		letter-spacing: .02em;
	}
	.breadcrumbBox ol {
		display: block;
		padding: 1.1em .8em;
	}
	.breadcrumbBox li {
		display: inline;
	}
}*/


/* pageThemeIntroContainer
------------------------------------------------------------------------ */
	.pageThemeIntroContainer {
		padding-top: var(--site-marpad-L);
	}
	.pageThemeHeader {
	}
	.pageThemeIntroLeadTxtBox {
		text-align: center;
		font-size: 1.10345em;
	}
@media screen and (max-width: 600px) {
	.pageThemeIntroContainer {
		padding-top: calc(var(--site-marpad-L) - 20px);
	}
	.pageThemeIntroLeadTxtBox {
		text-align: left;
	}
}



/* mainElementFooterWrap
------------------------------------------------------------------------ */
	.mainElementFooterWrap {}




/* -------------------------------------------------------------------
pageBottomFreeSpaceWrap
----------------------------------------------------------------------*/
	.pageBottomFreeSpaceWrap{
		line-height: 1.35;
		font-family: var(--site-font_family-serif);
		font-size: 1.4rem;
		letter-spacing: .09em;
		text-align: center;
		background: var(--site-pattern-lightGray);
		position: relative;
		padding: var(--site-marpad-XL) 0;
	}
	.pageBottomFreeSpaceWrap::before {
		content: "";
		position: absolute;
		z-index: 0;
		inset: 0;
		background:rgba(0,0,0,0.05);
	}
	.pageBottomFreeSpaceWrapn .ttl {
		font-family: var(--site-font_family-en_1);
	}
	.pageBottomFreeSpaceWrap .ttl span{
		font-family: var(--site-font_family-en_1);
		margin-bottom: var(--site-marpad-S);
		text-align: center!important;
	}

@media screen and (max-width: 600px) {
	.pageBottomFreeSpaceWrap{
		padding: var(--site-marpad-S) 0;
	}
	.pageBottomFreeSpaceWrap .ttl span{
		margin-bottom: 0;
	}
}


/* pageBottomBtnWrap
---------------------------------------------------- */
	.pageBottomBtnWrap {
		text-align: center;
		margin: 0 auto  var(--site-marpad-S);
		padding: 20px 1vw;
	}
	.pageBottomBtnBox {
		display: flex;
		flex-wrap: wrap;
		/*justify-content: center;*/
		margin: 0 auto;
	}
	.pageBottomBtnBox > * {
		position: relative;
		display: flex;
		flex-basis: 25%;
		margin-bottom: 1px;
	}
	.pageBottomBtnBox a {
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		overflow: hidden;
		width: calc(100% - 1px);
		background: rgba(var(--site-themeColor-text_dark), 1);
		transition: all 1.5s ease;
		z-index: 0;
	}
	.pageBottomBtnBox a::before {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background:rgba(37,31,7,0.7);
	}
	.pageBottomBtnBox > li .txtbox {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 2;
		width: 100%;
		font-family: var(--site-font_family-en_1);
		transition-duration: 0.8s;
		 color: rgba(var(--site-variationColor-whitish), 1);
	}
	.pageBottomBtnBox > li .txtbox .txt {
		display: block;
		color: rgba(var(--site-variationColor-whitish), 1);
		margin-bottom: 0;
		--M-fluidFontSize-max-fontsize: 30;
		--M-fluidFontSize-min-fontsize: 18;
		text-align: center;
	}
	.pageBottomBtnBox > li .txtbox .btn {
		font-size: 1.3rem;
		letter-spacing: 0.1em;
		color: rgba(var(--site-variationColor-whitish), 1);
		display: block;
		position: relative;
		max-width: 147px;
		text-align: left;
		margin-inline: auto;
		transition: all 0.3s;
	}
	.pageBottomBtnBox > li .txtbox .btn::before {
		content: "";
		display: block;
		position: absolute;
		width: 147px;
		height: 1px;
		background: rgba(var(--site-variationColor-whitish), 1);
		bottom: 0;
		transition: all 0.3s;
	}
	.pageBottomBtnBox > li .txtbox .btn::after {
		content: "";
		display: block;
		position: absolute;
		width: 18px;
		height: 1px;
		background: rgba(var(--site-variationColor-whitish), 1);
		rotate: 40deg;
		right: -2px;
		bottom: 6px;
		transition: all 0.3s;
	}

	.pageBottomBtnBox > li .pic img {
		opacity: .2;
		transform: scale(1.1);
		position: relative;
		z-index: 1;
		transition: all 1.5s ease;
	}
	.pageBottomBtnBox > li small {
		z-index: 1;
		opacity: .8;
		font-size: 1rem;
	}

	/*hover*/
	.pageBottomBtnBox > li a[href]:not(.is-current):hover {
		background: rgba( var(--site-themeColor-main_text), 1);
	}
	.pageBottomBtnBox > li a[href]:not(.is-current):hover .pic img {
		opacity: .6;
		transform: scale(1.0);
		transition-duration: 0.8s;
	}
	.pageBottomBtnBox > li a[href]:hover .txtbox .btn {
	  translate:10px 0 ;
	  transition: all 0.3s;
	}

	/*is-current*/
	.pageBottomBtnBox > li a[href].is-current {
		cursor: default;
		background: none;
	}
	.pageBottomBtnBox > li a[href].is-current  .txtbox .btn{
		display: none;
	}
	.pageBottomBtnBox > li a[href].is-current .pic img {
		opacity: 1;
	}

	/*nolink*/
	.pageBottomBtnBox > li a:not([href]) .txtbox {
		opacity: .3;
	}
	.pageBottomBtnBox > li a:not([href])  .pic img {
		filter: grayscale(100%);
	}



@media screen and (min-width: 600.02px) and (max-width: 1000px) {
	.pageBottomBtnBox {
		justify-content: center;
	}
	.pageBottomBtnBox > * {
		flex-basis: calc(100% / 3);
	}
}
@media screen and (max-width: 1000px) {
	.pageBottomBtnBox > li .txtbox .btn {
		font-size: 1.1rem;
		max-width: 122px;
	}
	.pageBottomBtnBox > li .txtbox .btn::before {
		width: 120px;
	}
	.pageBottomBtnBox > li .txtbox .btn::after {
		width: 13px;
		right: 0px;
		bottom: 4px;
	}
}
@media screen and (max-width: 600px) {
	.pageBottomBtnBox {
		justify-content: center;
	}
	.pageBottomBtnBox > * {
		flex-basis: 50%;
	}
/*	.pageBottomBtnBox a::before {
		background: rgba(65, 91, 89, .5);
	}*/
}



/* footerNavCaptionWrap
-------------------------------------*/
/*	.footerNavCaptionWrap {
		padding:0.5em 0;
		text-align: left;
	}
	.footerNavCaption small > span {
		margin-right:1em;
	}*/
	/*.indexP .footerNavCaption .capKome1,
	.conceptP .footerNavCaption .capKome1 {
		display: none;
	}
	body:not(.indexP,.locationP) .footerNavCaption .capKome2 {
		display: none;
	}*/





/* articleContentFooterWrap
------------------------------------------------------------------------ */
	.articleContentFooterWrap {}






/* pageLastCaptionWrap
---------------------------------------------------- */
	.pageLastCaptionWrap {
		background: #fff;
		padding: 40px 0;
	}
	.pageLastCaptionWrap .captionWrap a {
		text-decoration: underline;
		transition: background .13s ease-out;
		padding-left: .1em;
		padding-right: .1em;
	}
	.pageLastCaptionWrap .captionWrap small {
		line-height: 1.75;
	}
	@media (hover: hover) and (pointer: fine) {
		.pageLastCaptionWrap .captionWrap a:hover {
			text-decoration: underline;
			background: rgba(150, 150, 150, .15);
		}
	}
	.pageLastCaptionWrap .captionWrap a:focus-visible {
		text-decoration: underline;
		background: rgba(150, 150, 150, .15);
	}
@media screen and (max-width: 736px) {
	.pageLastCaptionWrap {
		background: transparent;
	}
}








/* ============================================================================
	Framework_Elements
============================================================================ */

/* ptHeading
------------------------------------------------------------------------ */
	.ptHeading .hTxt,
	[class*="hTxtStyh"] {
		--M-fluidFontSize-max-fontsize: 23;
		--M-fluidFontSize-min-fontsize: 19;
		--M-fluidFontSize-max-viewport: 1200;
		--M-fluidFontSize-min-viewport: 600;
		--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 );
		
		display: block;
		min-height: 0.001vw;				/* for safari | font-sizeにclamp()使用時必須 */
		line-height: 1.6;
		color: #212121;
		/*color: inherit;*/
		/*color: rgba(var(--site-variationColor-heading-light), 1);*/
		font-size: var(--M-fluidFontSize-fontSize);
		text-align: center;
		letter-spacing: .1em;
		padding: 0;
	}

	.ptHeading .hTxt .txt {
		display: block;
	}
	.ptHeading .hTxt .kana,
	[class*="hTxtStyh"] .kana {
		letter-spacing: -.05em;
		margin-right: .05em;
	}
	/* -- */
	:where(h3).ptHeading .hTxt,
	.hTxtStyh3 {
		--M-fluidFontSize-max-fontsize: 30;
		--M-fluidFontSize-min-fontsize: 23;
		margin-bottom: 1.8em;
	}
	:where(h4).ptHeading .hTxt,
	.hTxtStyh4 {
		--M-fluidFontSize-max-fontsize: 22;
		--M-fluidFontSize-min-fontsize: 19.5;
		margin-bottom: .75em;
	}
	:where(h5).ptHeading .hTxt,
	.hTxtStyh5 {
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 17;
		margin-bottom: .75em;
	}
	:where(h6).ptHeading .hTxt,
	.hTxtStyh6 {
		--M-fluidFontSize-max-fontsize: 18;
		--M-fluidFontSize-min-fontsize: 15.75;
		margin-bottom: .75em;
	}
	.ptHeading .hTxt .enTxt,
	[class*="hTxtStyh"] .enTxt {
		font-family: var(--site-font_family-en_1);
		font-size: 1.15em;
	}

@media screen and (max-width: 600px) {
	.ptHeading .hTxt,
	[class*="hTxtStyh"] {
		/*line-height: 1.55;*/
		text-align: left;
		letter-spacing: .05em;
	}

}



/* enHeading* 													2024.11
---------------------------------------------------------------------------
h3.enHeading
------------------------------------------------------------------------ */
		[class*="enHeading_"] {
		--M-fluidFontSize-max-viewport: 1200;
		--M-fluidFontSize-min-viewport: 480;
		--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 );       
		
		display: block;
		min-height: 0.001vw;				/* for safari | font-sizeにclamp()使用時必須 */
		line-height: 1.1;
		font-family: var(--site-font_family-en_1);
		font-size: var(--M-fluidFontSize-fontSize);
		text-align: center;
		letter-spacing: .05em;
		margin-bottom: .2em;
    }
    .enHeading_L {
		--M-fluidFontSize-max-fontsize: 80;
		--M-fluidFontSize-min-fontsize: 40;
        background: var(--site-variationColor-gradient_text);
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent;
        display: inline-block;
	}

	.enHeading_M {
		--M-fluidFontSize-max-fontsize: 60;
		--M-fluidFontSize-min-fontsize: 30;
        display: 
	}
	.enHeading_S {
		--M-fluidFontSize-max-fontsize: 30;
		--M-fluidFontSize-min-fontsize: 18;
	}
	.enHeading_XS {
		--M-fluidFontSize-max-fontsize: 18;
		--M-fluidFontSize-min-fontsize: 13;
        color:rgba(var(--site-themeColor-accent_3), 1);
	}

@media screen and (max-width: 736px) {
	/*[class*="enHeading_"] {
		margin-bottom: .6em;
	}*/

}

/* verticalLineHeading | 上部に1本バーティカルライン付きの見出し
---------------------------------------------------------------------------
div.xxxxxxxxxx.verticalLineHeading>h3>span{xxxxx}+br
------------------------------------------------------------------------ */
	.verticalLineHeading {
		position: relative;
		line-height: 1.4;
		color: rgba(var(--site-themeColor-accent_1), 1);
		font-family: var(--site-font_family-en_1);
		font-size: 2.759em;
		text-align: center;
		letter-spacing: .1em;
		margin-bottom: 1em;
	}

	.verticalLineHeading::before {
		content: "";
		display: block;
		width: 1px;
		height: 50px;
		background: rgba(var(--site-themeColor-accent_1), 1);
		/*opacity: .3;*/
		margin: 0 auto;
	}



/* wLine* 													2024.11
---------------------------------------------------------------------------
h4. wLine
------------------------------------------------------------------------ */
	.wLine{
        position:relative;
        text-align: left!important;  
        padding-bottom: 1em!important;
    }
	.wLine::after {
        content: '';
        width: 30px;
        height: 1px;
        display: inline-block;
        background-color: #000;/* 各指定*/
        position: absolute;
        bottom: 0;
        left: 0;
    }

@media screen and (max-width: 736px) {
}



/* headingbox													2024.11
---------------------------------------------------------------------------
hLine
------------------------------------------------------------------------ */
    [class*="headingbox0"] {
        text-align: center;
    }
    .hLine {
        position: relative;
        display: inline-block;
        padding: 1em 6%;
    }
    .hLine .hTxt {
        color: rgba(var(--site-themeColor-accent_2), 1);
        margin-bottom: 0em;
    }
    .hLine::before, .hLine::after {
        position: absolute;
        display: inline-block;
        content: '';
        height: 100%;
        width: 1px;  
        background:rgba(var(--site-themeColor-accent_2), 1);
        top: 0;
    }
    .hLine::before {
      left: 0;
    }
    .hLine::after {
      left: 100%;
    }

    .hLine .en {

    }
    .hLine .ja {

    }





/* ============================================================================
	Module_Elements
============================================================================ */

/* noticeWrap | 全ページ共通用（基本的に書き換えない。調整は後述の「is_noticeWrap_all」へ）
------------------------------------------------------------------------ */
/* noticeItem
---------------------------------------------------- */
	.noticeWrap .noticeItem {
		margin: 0 auto ;
	}
	.noticeWrap .noticeItem .kana {
		letter-spacing: -0.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: 0.06em;
	}
	.noticeWrap .noticeItem small {
		display: inline-block;
		/*line-height: 1.3;*/
		color: inherit;
		/*font-size: 0.75em;*/
		/*margin-top: 0.5em;*/
	}
	.noticeWrap .noticeItem :is(.txtLLL, .txtLL, .txtL, .txtM, .txtS, .txtSS, .txtSSS, .txtSSSS) {
		--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, .txtSSSS) {
		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:		33;
		line-height: 1.5;
		letter-spacing: 0.045em;
	}
	.noticeWrap .noticeItem .txtLL {
		--default-noticeItem-txt-fontsize:		30;
		line-height: 1.5;
		letter-spacing: 0.045em;
	}
	.noticeWrap .noticeItem .txtL {
		--default-noticeItem-txt-fontsize:		28;
		letter-spacing: 0.06em;
	}
	/* txtM ----- */
	.noticeWrap .noticeItem .txtM {
		--default-noticeItem-txt-fontsize:		26;
	}
	/* txtS ----- */
	.noticeWrap .noticeItem .txtS {
		--default-noticeItem-txt-fontsize:		18;
		--default-noticeItem-txt-min-fontsize:	1.4rem;
	}
	.noticeWrap .noticeItem .txtSS {
		--default-noticeItem-txt-fontsize:		16;
		--default-noticeItem-txt-min-fontsize:	1.3rem;
	}
	.noticeWrap .noticeItem .txtSSS {
		--default-noticeItem-txt-fontsize:		15;
		--default-noticeItem-txt-min-fontsize:	1.25rem;
	}
	.noticeWrap .noticeItem .txtSSSS {
		--default-noticeItem-txt-fontsize:		14;
		--default-noticeItem-txt-min-fontsize:	1.2rem;
	}
	/* 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, .txtSSSS) { /* 親のフォントサイズに合わせた倍率を算出 */
		--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;
		/*margin-top: 80px;*/
	}
}
@media screen and (max-width: 480px) {
	.noticeWrap .noticeItem {
		--default-noticeItem-fontsize: 16;
	}
	.noticeWrap .noticeItem :is(.txtLLL, .txtLL, .txtL, .txtM, .txtS, .txtSS, .txtSSS, .txtSSSS) { /* 仕切り直し */
		--default-noticeItem-fontsize-coefficient: 1em;
	}
	.noticeWrap .noticeItem .txtLLL {
		--default-noticeItem-txt-fontsize:		23;
	}
	.noticeWrap .noticeItem .txtLL {
		--default-noticeItem-txt-fontsize:		20;
	}
	.noticeWrap .noticeItem .txtL {
		--default-noticeItem-txt-fontsize:		18.5;
	}
	.noticeWrap .noticeItem .txtM {
		--default-noticeItem-txt-fontsize:		17;
	}
	.noticeWrap .noticeItem .txtS {
		--default-noticeItem-txt-fontsize:		14;
		--default-noticeItem-txt-min-fontsize:	1.1rem;
	}
	.noticeWrap .noticeItem .txtSS {
		--default-noticeItem-txt-fontsize:		12;
		--default-noticeItem-txt-min-fontsize:	1.05rem;
	}
	.noticeWrap .noticeItem .txtSSS {
		--default-noticeItem-txt-fontsize:		11.5;
		--default-noticeItem-txt-min-fontsize:	.97rem;
	}
	.noticeWrap .noticeItem .txtSSSS {
		--default-noticeItem-txt-fontsize:		11;
		--default-noticeItem-txt-min-fontsize:	.94rem;
	}
}


/* noticeBtnBox
---------------------------------------------------- */
	.noticeWrap .noticeBtnBox {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		max-width: 900px; /* feeling. */
		margin-top: 30px;
		margin-left: auto;
		margin-right: auto;
        gap: 30px 50px;
	}
	.noticeBtn [class*="generalBtnUnit"] {
		width: 100%;
		/*max-width: 650px;*/
		font-size: 1.6rem;
		margin-left: auto;
		margin-right: auto;
	}
	.noticeWrap .noticeBtn {
		flex: 0 0 clamp(300px ,(50% - 30px), 450px);
	}

@media screen and (max-width: 900px) {
	.noticeWrap .noticeBtnBox {
		margin-top: 20px;
	}
	.noticeWrap .noticeBtn {
		flex: 0 0 100%;
	}
}
@media screen and (max-width: 600px) {
	.noticeWrap .noticeBtn a {
		--M-fluidFontSize-max-fontsize: 12;
		--M-fluidFontSize-min-fontsize: 10;
		--M-fluidFontSize-max-viewport: 736;
		--M-fluidFontSize-min-viewport: 360;
		
		padding-top: 19px;
		padding-bottom: 21px;
		padding-left: 22px;
	}
}
@media screen and (max-width: 480px) {
	.noticeWrap .noticeBtnBox {
		margin-top: 15px;
	}
	.noticeWrap .noticeBtn {
		margin-top: 10px;
	}
}


/* holiday | noticeWrap内
-------------------------------------------------------
[SAMPLE]
color: #bc254e;	// 赤_明るい背景用
color: #f09ab2;	// 赤_暗い背景用
color: #dec774;	// 黄_暗い背景用
---------------------------------------------------- */
	.noticeWrap .holidayWrap .holiday {
		width: 100%;
		color: #c10000;
		font-family: inherit;
		font-size: 1.4rem;
		letter-spacing: .05em;
		margin: auto;
		padding: 1.5em 0;
	}
	.noticeWrap .holidayWrap .holiday div.holidayInner {
		width: 90%;
		margin: auto;
		padding: .75em 1em;
		border: 1px solid #c10000;
	}
@media screen and (max-width: 600px) {
	.noticeWrap .holidayWrap .holiday {
		font-size: 1.3rem;
	}
}


/* is_noticeWrap_all （ページ下部に共通で掲載する場合で、トップページを除外したい場合等）
------------------------------------------------------------------------ */
	/*.is_noticeWrap_all.noticeWrap .noticeItem {
	}
	.is_noticeWrap_all.noticeWrap .noticeItem {
	}*/


/* lNav_Module
---------------------------------------------------------------------------
- [.lNavWrap]は入れ子にしないことが前提です。
- [data-lnav-position=""]で余白を変更可能。
- [data-lnav-option="label"]ラベルフレーム付きはSP時に必ず1カラムになります。
- [data-lnav_name="yyy"]はラベルフレームに表示する文言を入れます。
- 全ボタンの高さを揃えたい場合はJSにて調整を。
- 細かい設定は各ページ用CSSで設定を。
---------------------------------------------------------------------------
div.lNavWrap[data-lnav-option="label" data-lnav-position="top"]>nav.lNav[data-lnav_name="●/ PAGE MENU /" aria-label="●xxxメニュー"]>ul>li.ln01*4>a>span.ln{01lNav}
------------------------------------------------------------------------ */

/* lNavWrap
---------------------------------------------------- */
	.lNavWrap {
		--M-fluidFontSize-max-fontsize: 16;
		--M-fluidFontSize-min-fontsize: 13;
		--M-fluidFontSize-max-viewport: 737;
		--M-fluidFontSize-min-viewport: 360;
		--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 );
		--default-lNavWrap-li-padding-lr: 30px;
		width: 95%;
		min-height: 0.001vw;	/* for safari | font-sizeにclamp()使用時必須 */
		max-width: calc(1260px + (var(--default-lNavWrap-li-padding-lr) * 2)); /* feeling. */
		line-height: 1.3;
		font-size: var(--M-fluidFontSize-fontSize, 1.10345em);
		letter-spacing: .05em;
		margin: 0 auto;
        
		/*padding: 0;*/
	}
	.lNavWrap[data-lnav-position="top"] {		padding: 60px 0 100px;}
	.lNavWrap[data-lnav-position="bottom"] {	padding: 60px 0;}
	
	.lNavWrap ul {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		margin: 0;
		padding: 0;
	}
	.lNavWrap li {
		flex-grow: 0;
		display: flex;
		width: 33.333%;
		text-align: center;
		margin: 0;
		padding: .82em var(--default-lNavWrap-li-padding-lr);
        
		/*transition: padding .2s ease;*/
	}
	.lNavWrap li a {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
        overflow: hidden;
		z-index: 1;
		width: 100%;
		min-height: 70px;
		color: rgba(var(--site-themeColor-base), 1) ;
        box-shadow: 0px 0px 3px rgba(0,0,0,.3);
		text-decoration: none;
		background:  linear-gradient(to right, #273038 0%, #656c72 100%);
		margin: 0 auto;
        border-radius: 0.5em;
		padding: .45em calc(11px + 1em + .65em) .47em;
		transition: color .18s ease-out, background .18s ease-out, border .18s ease-out, box-shadow .18s ease-out, opacity .18s ease-out;
	}
	.lNavWrap li:not(.is-current) a::before { /* hover背景 */
		content: "";
		position: absolute;
		background:  linear-gradient(to right, #273038 0%, #454e55 100%);
        top:0;
        left:0;
        z-index:-1;
        width:100%; 
		height:100%;
        opacity:0;
	}
	/*.lNavWrap li:not(.is-current) a::after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: auto;
		right: 17px;
		width: 0;
		height: 0;
		margin: auto;
		border-style: solid;
		border-width: 8px 0 8px 7px;
		border-color: transparent transparent transparent #fff;
	}*/
	.lNavWrap li a .ln {
		display: inline-block;
		position: relative;
		z-index: 1;
	}
	.lNavWrap li a .ln .en {
		font-family: var(--site-font_family-en_1);
	}
	.lNavWrap li a .ln .sml {
		display: inline-block;
		line-height: inherit;
		color: inherit;
		font-family: inherit;
		font-size: .77em;
		margin-top: 1px;
	}
	/* -- placeholder, hover, current -- */
	.lNavWrap li a:not([href]) {
		color: rgba(255, 255, 255, .4);
		opacity: .32;
	}
		.lNavWrap li:not(.is-current) a[href]::before {
			transition: background .3s ease-out, opacity .2s ease-out;
		}
	/*.lNavWrap li:not(.is-current) a:not([href])::after {
		opacity: 0;
	}*/
	@media (hover: hover) and (pointer: fine) {
		.lNavWrap li:not(.is-current) a[href]:hover {}
		.lNavWrap li:not(.is-current) a[href]:hover::before {
			opacity: 1;
		}
	}
	.lNavWrap li:not(.is-current) a[href]:focus-visible {}
	.lNavWrap li:not(.is-current) a[href]:focus-visible::before {
		opacity: 1;
	}
	.lNavWrap li.is-current a {
		background: #273038;
	}
	
@media screen and (max-width: 1400px) {
	.lNavWrap {
		--default-lNavWrap-li-padding-lr: 1vw;
	}
	.lNavWrap[data-lnav-position="top"] {
		padding-top:	50px;
		padding-bottom:	80px;
	}
	.lNavWrap li {
		width: 50%;
		padding-top: .6em;
		padding-bottom: .6em;
	}
}
@media screen and (max-width: 736px) {
	.lNavWrap[data-lnav-position="bottom"] {
		padding-top:	40px;
		padding-bottom:	40px;
	}
	.lNavWrap ul {
		justify-content: space-between;
	}
	.lNavWrap li {
		width: 50%;
		padding: 5px;
	}
	.lNavWrap li a {
		min-height: 50px;
		/*padding: .75em 26px;*/ /* .75em .4em | .75em 26px; */
	}
	/*.lNavWrap li:not(.is-current) a::after {
		right: 13px;
		border-width: 6px 0 6px 5px;
	}*/
}
@media screen and (max-width: 520px) {
	.lNavWrap {
		font-size: 1.1em;
	}
	.lNavWrap li a {
		padding: .75em 24px;
	}
}

/* is_lNavWrap_labelFrame | SP時ラベルフレーム付き　（透過背景ver）
---------------------------------------------------- */
@media screen and (max-width: 736px) {
	.lNavWrap[data-lnav-option="label"] {
		width: 98%;
		/*font-size: 1.175em;*/
		padding: 0;
	}
	.lNavWrap[data-lnav-option="label"][data-lnav-position="top"] {
		padding-top:	80px;
		padding-bottom:	50px;
	}
	.lNavWrap[data-lnav-option="label"][data-lnav-position="bottom"] {
		padding-top:	80px;
		padding-bottom:	30px;
	}
	.lNavWrap[data-lnav-option="label"] .lNav {
		position: relative;
		text-align: center;
	}
	.lNavWrap[data-lnav-option="label"] .lNav::before {
		content: attr(data-lnav_name); /*content: "PAGE MENU";*/
		display: inline-flex;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		line-height: 1;
		color: #666;
		font-family: var(--site-font_family-en_1);
		font-size: 1.3rem;
		text-align: center;
		text-indent: .2em;
		letter-spacing: .2em;
		margin: auto;
		padding: 1em;
	}
	.lNavWrap[data-lnav-option="label"] ul {
		position: relative;
		width: 100%;
		/*background: #999;*/
		padding: 1.1em 0;
		border: 1px solid #999;
		border-radius: 10px;
	}
	.lNavWrap[data-lnav-option="label"] li {
		width: 94%;
		margin: 0 auto;
		padding: .3em 0;
	}
	.lNavWrap[data-lnav-option="label"] li a {
		padding: .9em 26px; /* .9em .4em | .9em 26px; */
	}
	/*.lNavWrap[data-lnav-option="label"] li:first-child a {
		border-radius: 4px 4px 0 0;
	}
	.lNavWrap[data-lnav-option="label"] li:last-child a {
		border-radius: 0 0 4px 4px;
	}*/
}
@media screen and (max-width: 520px) {
	.lNavWrap[data-lnav-option="label"] {
		/*font-size: 1.1em;*/
	}
	.lNavWrap[data-lnav-option="label"] li a {
		min-height: 1px;
	}
}


/* ancNavWrap
--------------------------------------------------------------------------- */
	.ancNavWrap {
	}
	.ancNav ul {
		width: 90%;
		max-width:1000px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-left:auto;
		margin-right:auto;
        padding:clamp(10px, (15 / 1920 * 100vw), 15px) 0;
	}
	.ancNav ul li a {
        display: block;
        position: relative;
        z-index: 1;
        padding:6px 15px;
        transition: color ease .3s;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
	}
	.ancNav ul .label {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.ancNav ul .label > * {
		min-height: 0.001vw;	/* for safari | font-sizeにclamp()使用時必須 */
	}
	.ancNav ul .txt {
        text-align: center;
    }
	.ancNav ul .en {
		display: block;
		font-family: var(--site-font_family-en_1);
		--M-fluidFontSize-max-fontsize: 28;
		--M-fluidFontSize-min-fontsize: 18;
		--M-fluidFontSize-max-viewport: 1400;
		--M-fluidFontSize-min-viewport: 736;
		min-height: 0.001vw; /* for safari | font-sizeにclamp()使用時必須 */
		font-size: clamp(
			calc(var(--M-fluidFontSize-min-fontsize) * .1rem),
			calc(calc(var(--M-fluidFontSize-min-fontsize) * .1rem) + (1vw - calc(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)))),
			calc(var(--M-fluidFontSize-max-fontsize) * .1rem)
		);
		line-height: 1;
		/*text-transform: uppercase;*/
		letter-spacing: .05em;
        color: #1c4f99;
	}
	.ancNav ul .ja {
		display: block;
		margin-top:0.2em;
		--M-fluidFontSize-max-fontsize: 12;
		--M-fluidFontSize-min-fontsize: 11;
		--M-fluidFontSize-max-viewport: 1400;
		--M-fluidFontSize-min-viewport: 736;
		min-height: 0.001vw; /* for safari | font-sizeにclamp()使用時必須 */
		font-size: clamp(
			calc(var(--M-fluidFontSize-min-fontsize) * .1rem),
			calc(calc(var(--M-fluidFontSize-min-fontsize) * .1rem) + (1vw - calc(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)))),
			calc(var(--M-fluidFontSize-max-fontsize) * .1rem)
		);
		font-family: var(--site-font_family-sans);
		line-height: 1;
		letter-spacing: .01em;
	}
	
	/* hover, focus */
	.ancNav ul [href] {
       transition: all .13s ease-out;
	}
	.ancNav ul li a::before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		background:rgba(255,255,255,0.85);
		clip-path: inset(0 100% 0 0);
		transition: clip-path ease .3s;
	}

	/*current*/
	.ancNav ul li.is-current a::before {
		background:rgba(255,255,255,0.85);
		clip-path: inset(0 0 0 0);
	}
@media (hover: hover) and (pointer: fine) {
    /*hover*/
	.ancNav ul li:not(.is-current) [href]:hover::before {
		clip-path: inset(0 0 0 0);
	}	
}

@media screen and (max-width: 736px) {
	.ancNav ul {
		margin: 0 auto;
	}
	.ancNav ul .label {
		padding: 10px 0;
		border-bottom-width: 2px
	}
	.ancNav ul .en {
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 17;
		--M-fluidFontSize-max-viewport: 735;
		--M-fluidFontSize-min-viewport: 480;
	}
/*	.ancNav ul .ja {
		--M-fluidFontSize-max-fontsize: 13;
		--M-fluidFontSize-min-fontsize: 11;
		--M-fluidFontSize-max-viewport: 735;
		--M-fluidFontSize-min-viewport: 480;
	}*/
	
}
@media screen and (max-width: 480px) {

}


/* ***************************************************************************************************
swiper-pagination 各ページのスライド共通設定
*************************************************************************************************** */

	.swiperWrap{
		width: 85.625%;
	}
@media print, screen and (min-width: 1050.02px) { /*{overTBl}*/
	.swiperWrap .swiper-pagination,
	.swiperWrap .swiper-button-prev,
	.swiperWrap .swiper-button-next {
		display: none;
	}
}

/* 矢印カスタマイズ */
	.swiperWrap .swiper-button-prev,
	.swiperWrap .swiper-button-next {
		width: 30px;
		height:30px;
		border-radius: 50%;
		background: #185380;
		z-index:1;
		transition: all 0.2s ease;
	}
	.swiperWrap .swiper-button-prev {left: -32px;}
	.swiperWrap .swiper-button-next {right:-32px;}

	.swiperWrap .swiper-button-prev::after,
	.swiperWrap .swiper-button-next::after {
		position: absolute;
		content: "";
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		text-align: center;		
		width: 10px;
		background: url("../images/share/ico_arrow.svg") 50% 50% no-repeat;
		background-size: contain;	
	}
	.swiperWrap .swiper-button-prev::after {right:8%; transform: rotate(-180deg); }
	.swiperWrap .swiper-button-next::after {left:8%;}
	
	.swiperWrap .swiper-slide img {
	  height: auto;
	  width: 100%;
	}
	/*hover*/
	.swiperWrap .swiper-button-prev:hover,
	.swiperWrap .swiper-button-next:hover {
		opacity: 0.8;
	}

/* ドットカスタマイズ */
	.swiperWrap .swiper-pagination-bullets.swiper-pagination-horizontal {
		bottom:-30px;
	}
	
	.swiperWrap .swiper-pagination-bullet-active {
		background: #035647;
	}

@media screen and (max-width: 736px) {
	.swiperWrap .swiper-button-prev {left: -20px;}
	.swiperWrap .swiper-button-next {right:-20px;} 
}

	.swiperPhBox .ttl {
        width: 100%;
		--M-fluidFontSize-max-fontsize: 15;
		--M-fluidFontSize-min-fontsize: 13;
		--M-fluidFontSize-max-viewport: 1920;
		--M-fluidFontSize-min-viewport: 736;
		min-height: 0.001vw; /* for safari | font-sizeにclamp()使用時必須 */

		font-size: clamp(
			calc(var(--M-fluidFontSize-min-fontsize) * .1rem),
			calc(calc(var(--M-fluidFontSize-min-fontsize) * .1rem) + (1vw - calc(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)))),
			calc(var(--M-fluidFontSize-max-fontsize) * .1rem)
		);
		font-family: var(--site-font_family-serif);
		line-height: 1.4;
	}
	.swiperPhBox .ttl .txt {
        padding: 0.5em ;
        text-align: center;
        display: block;
    }   
	.swiper .distance{
        font-size:1.2rem;
        display: block;
    } 
@media print, screen and (min-width: 1050.02px) { /*{overTBl}*/
	.swiperPhBox {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		--default-generalColBox-margin-t:	30px;
		--default-generalColBox-margin-lr:	30px;
		display: flex;
		flex-wrap: wrap;
		margin-top:		calc(var(--default-generalColBox-margin-t) * -2);
		margin-left:	calc(var(--default-generalColBox-margin-lr) * -1);
		margin-right:	calc(var(--default-generalColBox-margin-lr) * -1);
	}
	.swiperPhBox .swiper-slide {
		margin-top:		calc(var(--default-generalColBox-margin-t) * 2);
		margin-left:	var(--default-generalColBox-margin-lr);
		margin-right:	var(--default-generalColBox-margin-lr);
	}
	[data-colbox-size~="maxCol3"] .swiper-slide {		width: calc(33.333% - (var(--default-generalColBox-margin-lr) * 2.01));} 
    [data-colbox-size~="maxCol4"] .swiper-slide {		width: calc(25% - (var(--default-generalColBox-margin-lr) * 2.01));}
}


@media screen and (min-width: 1050.02px) and (max-width: 1200px) {
	.swiperPhBox {
		--default-generalColBox-margin-lr:	15px;
    }
}






/* ***************************************************************************************************
	COMMON_LAST
*************************************************************************************************** */
/* ============================================================================
	etc
============================================================================ */
/* margin, padding | ~=スペース区切り毎の正確な値 | mt,mr,mb,ml,pt,pr,pb,pl,ptb,plr */
[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}


