@charset "utf-8";

/* =======================================================================================
	COMMON
======================================================================================= */
	
/*	.vbox-content {
	  align-items: normal!important;
	}*/
.vbox-container {
  padding: 0!important;
}
.venoratio,
.venoratio::before{
  height: 90vh;
}

/* =======================================================================================
	PAGE 
======================================================================================= */
	
/* ------------------------------------------------------------------------
 mainVisualWrap
------------------------------------------------------------------------ */
	.mainVisualWrap {
		background: #fff;
	}
	.mainVisualWrap .mainVisual {
		overflow: hidden;
		position: relative;
	}
	.mainVisualWrap .mainVisual .flare,
	.mainVisualWrap .mainVisual .txtBox [class*="txt0"] {
		position: absolute;
		z-index: 2;
	}
	.mainVisualWrap .mainVisual .txtBox .txt01 {
		left: 16%;
		width: 3.014%;
		top: 5.5%;
	}
	.mainVisualWrap .mainVisual .txtBox .txt02 {
		left: 11.6%;
		top: 12.5%;
		width: 3.014%;
	}
	.mainVisualWrap .mainVisual .txtBox .txt03 {
		left: 6.795%;
		top: 12.8%;
		width: 2.07%;
	}
	.mainVisualWrap .mainVisual .flare {
left: 36.795%;
top: 28.8%;
width: 12.07%;
	}




	.mainVisualWrap .mainVisual .bg {
		position: relative;
		z-index: 1;
	}
	.mainVisualWrap .mainVisual .imgcapkeep{z-index: 5;}

@media screen and (max-width: 1200px) { /*{belowTB}*/		.mainVisualWrap { /**/
		margin-top:62px;
	}
}

@media screen and (max-width: 736px) { /*{SP}*/
	.mainVisualWrap .mainVisual .txtBox .txt01 {
		left: 21.6%;
		width: 5.5%;
		top: 5.3%;
	}
	.mainVisualWrap .mainVisual .txtBox .txt02 {
		left: 15%;
		top: 10.5%;
		width: 5.5%;
	}
	.mainVisualWrap .mainVisual .txtBox .txt03 {
		left: 8.2%;
		top: 10.5%;
		width: 4.1%;
	}
}



	/*animeation*/
	.mainVisual.js_showTarget .bg {
		transform: scale(1.2);
		filter:  brightness(1.5);
		opacity: 0;
	}
	.mainVisual.js_showTargetAnimate .bg {
		transform: scale(1);
		filter:  brightness(1);
		transition: all 2.5s ease ;
		opacity: 1;
	}
	.mainVisual.js_showTarget .txtBox [class*="txt0"] {
		opacity: 0;
		transform: translateY(10%);
		filter:blur(5px);
	}
	.mainVisual.js_showTargetAnimate .txtBox [class*="txt0"] {
		opacity: 1;
		transform: translateY(0%);
		filter:blur(0);
		transition: all 1.4s ease-out ;
	}
	.mainVisual.js_showTargetAnimate .txtBox .txt01 {
		transition-delay: 1.8s;
	}
	.mainVisual.js_showTargetAnimate .txtBox .txt02 {
		transition-delay: 3.3s;
	}
	.mainVisual.js_showTarget .txtBox .txt03 {
		transform: translateY(0%);
	}
	.mainVisual.js_showTargetAnimate .txtBox .txt03 {
		transition-delay: 4.8s;
	}

/*	.mainVisual.js_showTargetAnimate .flare {
		opacity: 0;
		filter: brightness(100%);
	}
	.mainVisual.js_showTargetAnimate .flare {
		filter: brightness(200%);
		animation:2s cubic-bezier(0.61, 1, 0.88, 1) 5.2s forwards;
		animation-name:flare;
		opacity: 0;
	}
    @keyframes flare {
      0%     { transform: rotate(0deg)  scale(0); opacity:0;} 
      50%     { transform: rotate(45deg)  scale(0); opacity:.8;} 
      100%   {  transform: rotate(0deg) scale(3.5); opacity:0;} 
    }	*/

	

	
	





	


/* ------------------------------------------------------------------------
 meritSection
------------------------------------------------------------------------ */
	.meritSection {
		/*padding: 0 0 10px;*/
		background: linear-gradient(to right, #313131 0%, #3d3d3d 50%, #313131 100%);
		color: rgba(var(--site-themeColor-base_text-reverse), 1);
	}


/* 共通*/
	.meritSection .meritWrap .txtUnit .txtColor {
		color: #d3cebd;
	}
	.meritSection .meritWrap .txtUnit small {
		font-size: 1.2rem;
	}	
	.meritSection .meritWrap .txtUnit .en{
		font-family: var(--site-font_family-en);
		line-height: 1;
	}
	.meritSection .meritWrap .txtUnit .kana {
		letter-spacing: -.05em;
	}


/* mainMeritBox --------------------*/
	.meritSection .mainMeritBox{
		display: block;
		margin: 0 auto;
		background: url("../images/share/bg_bk.jpg") top center / 100% repeat-y;
	}
	.meritSection .mainMeritBox .txtUnit{
		display: block;
		text-align: center;
		--M-fluidFontSize-max-fontsize: 28;
		--M-fluidFontSize-min-fontsize: 24;
		--M-fluidFontSize-max-viewport: 1920;
		--M-fluidFontSize-min-viewport: 1050;
				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;
		letter-spacing: 0.1em;
		padding: .2em 0 .5em;
	}
	.meritSection .mainMeritBox .txtUnit .txtSizeS{
		font-size: 0.75em
	}
	.meritSection .mainMeritBox .txtUnit .txtSizeLLLL{
		font-size: 2.287em;
	}
@media screen and (max-width: 900px) { 
	.meritSection .mainMeritBox .txtUnit{
		--M-fluidFontSize-max-fontsize: 24;
		--M-fluidFontSize-min-fontsize: 18;
		--M-fluidFontSize-max-viewport: 900;
		--M-fluidFontSize-min-viewport: 480;
		padding: .2em 1em .5em;
	}
}




/* meritListBox --------------------*/
	.meritSection .meritListBox {
		display: flex;
		justify-content:space-between;
		padding: .8em 0;
		width: 95%;
	}
	.meritSection .meritListBox .meritItem  {
		display: flex;
		align-items: center;
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 18;
		--M-fluidFontSize-max-viewport: 1400;
		--M-fluidFontSize-min-viewport: 900;
		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;
		padding:10px 0;
        text-align: left;
		display: block;
	}
	.meritSection .meritListBox .meritItem .ttl {
		color: #d3cebd;
		border-bottom: 1px solid #d3cebd;
		font-family: var(--site-font_family-en);
		line-height: .8;
		font-style: italic;
		margin-bottom: .3em;
		opacity: .75;
	}

@media screen and (max-width: 900px) {
	.meritSection .meritListBox {
		display: block;
	}
	.meritSection .meritListBox .meritItem {
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 16;
		--M-fluidFontSize-max-viewport: 900;
		--M-fluidFontSize-min-viewport: 480;
		display: block;
		position: relative;
		width: 100%;
		text-align: center;
		padding: 8px 0;
	}
}	
@media screen and (max-width: 736px) { 
	.meritSection{
	}
}	





	

/* ------------------------------------------------------------------------
 informationSection
------------------------------------------------------------------------ */
/* informationWrap
-------------------------------------------------------------*/
	.informationSection .informationWrap .ttl,
	.informationSection .informationWrap .informationBox {
		width: 100%;
		text-align: center;
	}
	.informationSection .informationWrap .ttl {
		margin-bottom:3.5em;
	}

/*ttl---------------*/
	.informationSection .informationWrap .ttl {
		margin-top:0.3em;
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 18;
		--M-fluidFontSize-max-viewport: 1300;
		--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-en);
		line-height: 1;
	}
	
@media screen and (max-width: 1050px) { /*{belowTBs}*/
	.informationSection .informationWrap .ttl {
		margin-bottom:2.5em;
	}
}

/* subTxtBox
--------------------------*/
	.subTxtBox .txt {
		text-align: center;
	}
@media screen and (max-width: 1200px) { /*{belowTB}*/
	.subTxtBox .txt {
		margin-inline: auto;
		max-inline-size: max-content;

	}
	
}





/* ------------------------------------------------------------------------
 entryMeritSection
------------------------------------------------------------------------ */
	.entryMeritSection .entryMeritWrapper {
	}
	.entryMeritSection .entryMeritWrap{
		width: 88%;
	}
	.entryMeritSection .entryMeritWrap .ttl {
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 18;
		--M-fluidFontSize-max-viewport: 1200;
		--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-en);
		line-height: 1;
	}


/*entryMeritSwipeWrap
-------------------------------*/
	.entryMeritlistWrap  {
		position: relative;
		max-width: 1000px;
		margin: var(--site-marpad-S) auto var(--site-marpad-XS);
	}
	.entryMeritlistWrap .entryMeritItem .txtBox {
		text-align: center;
		font-size:1.1em;
		margin-top:1.2em;
		line-height: 1.4;
		position: relative;
	}
	.entryMeritlistWrap .entryMeritItem .txtBox .num {
		font-family: var(--site-font_family-en);
		color: rgba(255,255,255,0.6);
		line-height: 1;
		text-align: center;
		font-size: 5em;
		display: block;
		font-style: italic;
	}

@media print, screen and (min-width: 736.02px) {
	.entryMeritlistWrap ul{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 5px;
	}
	.entryMeritlistWrap .entryMeritItem .txtBox .num {
		margin-top: -1em;
	}
}
@media screen and (max-width:736px) { 
	.entryMeritlistWrap ul li{
		display: flex;
		justify-content: space-between;
		margin-bottom: 1em;
	}
	.entryMeritlistWrap ul li > *{
		width: 50%;
	}
	.entryMeritlistWrap ul li > * img {
		width: 100%;
		height: calc(42vw * 0.5);
		object-fit: cover;
		object-position: 50% 100%;
	}
	.entryMeritlistWrap ul li .txtBox{
		background: rgba(0,0,0,0.69);
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		margin-top: 0!important;
		padding: 0.1em 0.5em 0.5em;
	}
	.entryMeritlistWrap .entryMeritItem .txtBox .num {
		font-size: clamp(1.6em, 9vw, 5em);
	}
}
@media screen and (max-width:480px) { 
	.entryMeritlistWrap ul li > * img {
		height: calc(52vw * 0.5);
	}
}






/* guideBtnWrap
----------------------*/
	.entryMeritWrap .guideBtnWrap {
		padding-top: 3em;
	}	/* btn_guide */
	.guideBtnWrap .btn_guide {
		text-align: center;
	}
	.guideBtnWrap .btn_guide [class*="generalBtnUnit"]  {
		text-align: left;
		padding: 0.6em 30px 0.6em 15px;
		color: rgba(var(--site-themeColor-base_text-reverse), 1); 
		border:1px solid rgba(var(--site-themeColor-base_text-reverse), .5);
		--M-fluidFontSize-max-fontsize: 15;
		--M-fluidFontSize-min-fontsize: 13;
		letter-spacing: 0.05em;
		display: inline-block;
		width: 95%;
		max-width: 550px;
		background:none;
	}
	.guideBtnWrap .btn_guide [class*="generalBtnUnit"] .en {
		padding-right:0.3em;
		font-size:1.5em;
		font-family: var(--site-font_family-en);
		line-height: 1;
		letter-spacing: 0.06em;
	}

@media (hover: hover) and (pointer: fine) {
	.guideBtnWrap .btn_guide [class*="generalBtnUnit"] {
		transition: all 0.5s ease-in-out 0s;
	}
	.guideBtnWrap .btn_guide [class*="generalBtnUnit"]:hover {
		color: rgba(var(--site-themeColor-base_text), 1); 
	}
	.guideBtnWrap .btn_guide [class*="generalBtnUnit"]:hover::before {
		background:rgba(var(--site-themeColor-base_text-reverse), 1); 
	}
	.guideBtnWrap .btn_guide [class*="generalBtnUnit"]:hover .ico.wh {
	  background-image: url("../images/share/ico_arr_bk.svg");	
	}
}
@media screen and (max-width:736px) { 
	.entryMeritWrap .guideBtnWrap {
	  padding-top: 2em;
	}
}


/* ------------------------------------------------------------------------
 conceptSection
------------------------------------------------------------------------ */
	.conceptSection {
		background:url("../images/index/concept_deco.png") right top no-repeat;
	}

/*conceptWrap--------------------*/
	.conceptSection .conceptWrap {
		width: 90%;
		max-width: 1660px;
	}
	
/*conTxtBox----------*/
	.conceptWrap .conTxtBox .en {
		display: block;
		--M-fluidFontSize-max-fontsize: 16;
		--M-fluidFontSize-min-fontsize: 14;
		--M-fluidFontSize-max-viewport: 1400;
		--M-fluidFontSize-min-viewport: 1000;
		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);
		line-height: 1;
		text-orientation: mixed;
		letter-spacing: 0.15em;
	}
	.conceptWrap .conTxtBox .ja {
		display: block;
		--M-fluidFontSize-max-fontsize: 22;
		--M-fluidFontSize-min-fontsize: 18;
		--M-fluidFontSize-max-viewport: 1600;
		--M-fluidFontSize-min-viewport: 1000;
		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.8;
		letter-spacing: 0.18em;
	}
	.conceptWrap .conTxtBox .ja > *{
		display: block;
	}
	.conceptWrap .conTxtBox .ja .txt01{
		font-size: 1.545em;
		margin-left: .3em;
	}
	.conceptWrap .conTxtBox .ja .txt02{
		display: flex;
		position: relative;
		align-items: center;
	}
	.conceptWrap .conTxtBox .ja .txt02::before {
		background-color: #000;
		content: '';
		display: block;
		height: 39px;
		margin: 11px auto;
		width: 1px;
	}
	.conceptWrap .conTxtBox .row {
		display: block;
		margin-right: clamp(40px, (80 / 1600 * 100vw), 80px);
		font-size: 1.143em;
		letter-spacing:  0.25em;
	}

@media screen and (min-width: 1000.02px) { 
	.conceptSection .conceptWrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items:flex-start;
		flex-direction: row-reverse;
	}
	.conceptSection .conceptWrap .conPicBox {
		width: 59.699%;
	}
	.conceptWrap .conTxtBox {
		margin-top: -7%;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		text-orientation: upright;
	}
	.conceptWrap .conTxtBox .text-combine { /* 縦中横 */
		-webkit-text-combine: horizontal;
		-ms-text-combine-horizontal: all;
		text-combine-upright: all;
		right: -9px;
	}
}
@media screen and (max-width: 1000px) { 
	.conceptSection {
		background-size: max(58%, 350px) auto;
	}
/*conTxtBox----------*/
	.conceptWrap .conTxtBox {
		margin: 0 0 5em 3em
	}
	.conceptWrap .conTxtBox .en {
		display: block;
		--M-fluidFontSize-max-fontsize: 14;
		--M-fluidFontSize-min-fontsize: 11;
		--M-fluidFontSize-max-viewport: 1000;
		--M-fluidFontSize-min-viewport: 480;
	}
	.conceptWrap .conTxtBox .ja {
		  margin-bottom: 1.5em;
		--M-fluidFontSize-max-fontsize: 18;
		--M-fluidFontSize-min-fontsize: 16;
		--M-fluidFontSize-max-viewport: 1000;
		--M-fluidFontSize-min-viewport: 480;
	}
	.conceptWrap .conTxtBox .ja .txt01 {
	  margin-left: 0;
		margin-bottom: .5em;
	}
	.conceptWrap .conTxtBox .ja .txt02::before {
		height: 1px;
		margin: 0 0.5em 0 0;
		width: 24px;
	}
	.conceptWrap .conTxtBox .row {
	  margin-right: 0;
	}
}

@media screen and (max-width: 480px) { 
	.conceptWrap .conTxtBox .ja .txt01 {
	 font-size: 1.375em;
	}
	.conceptWrap .conTxtBox .row span.bl{
		display: inline!important;
	}
}








/* ------------------------------------------------------------------------
innerpageLinkWrap
------------------------------------------------------------------------ */
	.innerpageLinkWrap {
		padding:var(--site-marpad-L) 0; 
		margin-top: 0;
	}
	.innerpageLink {
		max-width:1800px;
		margin: 0 auto;
		width: 100%;
	}
	.innerpageLinkUnit {
		display: block;
		text-decoration: none;
		pointer-events: none;
	}
	.innerpageLinkUnit:not(:first-of-type) {
		margin-top: clamp(80px, (200 / 1260 * 100vw), 200px);
	}
	.innerpageLinkUnit {
		position: relative;
		width: 90%;
		max-width:1760px;
															/*background-color: rgba(255,121,123,0.27);*/
	}
	.innerpageLinkUnit:nth-of-type(3n) {
		margin-left:auto;
		margin-right:0;
	}



/*col共通---------------------------------*/
	.innerpageLinkUnit .innerpageLinkTxt{
		pointer-events: auto;
	}
	.innerpageLinkUnit .innerpageLinkTxt .txtBox .heading,
	.innerpageLinkUnit .innerpageLinkTxt .txtBox .detail {
		color: rgba(var(--site-themeColor-base_text-accent), 1);
		line-height: 1;
	}
	.innerpageLinkUnit .innerpageLinkTxt .txtBox .heading {
		--M-fluidFontSize-max-fontsize: 80;
		--M-fluidFontSize-min-fontsize: 50;
		--M-fluidFontSize-max-viewport: 1600;
		--M-fluidFontSize-min-viewport: 900;
		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);
		background:linear-gradient(1800deg, #cecece 25%, #ffffff 50%, #cecece 75%);
		background-clip: text;
		-webkit-background-clip: text;
		color: transparent;
		letter-spacing: 0.07em;
	}
	.innerpageLinkUnit .innerpageLinkTxt .txtBox .txt {
		line-height: 1.6;
		letter-spacing: 0.05em;
		padding-top:15px;
		
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 16;
		--M-fluidFontSize-max-viewport: 1900;
		--M-fluidFontSize-min-viewport: 1000;
		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)
		);
	}
	.innerpageLinkUnit .innerpageLinkTxt .txtBox .detail {
		display: flex;
		align-items: center;
		font-family: var(--site-font_family-en);
		line-height: 1;
		color: #d3cebd;
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 16;
		--M-fluidFontSize-max-viewport: 1200;
		--M-fluidFontSize-min-viewport: 480;
		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)
		);
	}
	.innerpageLinkUnit .innerpageLinkTxt .txtBox .detailLine {
		display: inline-block;
		margin-left:10px;
		height:1px;
		width:100px;
		background:#d3cebd;
		/*opacity: 0;*/
		animation: pTtlLine 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s infinite;
	}	
@media screen and (max-width: 900px) {
	.innerpageLinkUnit .innerpageLinkTxt .txtBox .heading {
		--M-fluidFontSize-max-fontsize: 50;
		--M-fluidFontSize-min-fontsize: 40;
		--M-fluidFontSize-max-viewport: 900;
		--M-fluidFontSize-min-viewport: 480;
	}
	
}


/*col1---------------------------------*/
	.innerpageLinkUnit.col1 {
		max-width:1800px;
		margin: 0 auto;
		width: 100%;
	}
	.innerpageLinkUnit.col1 .innerpageLinkTxt {
		max-width:1000px;
		margin-left: 0;
		padding-left: 50px;
		margin-top: -35px;
		margin-top:clamp(-44px, -3vw, -20px);
		position: relative;
		z-index: 2;
	}
	.innerpageLinkUnit.col1 .innerpageLinkTxt .txtInnerUnit {
		display: flex;
		flex-wrap: wrap;
		justify-content:flex-start;
		align-items: center;
	}
	.innerpageLinkUnit.col1 .innerpageLinkTxt .detail {
		padding-top:15px;
		margin-left:10%;
	}

@media screen and (max-width: 1200px) { /*{belowTB}*/
	.innerpageLinkUnit.col1 .picBox {
		width:100%;
		height:100%;
	}
	.innerpageLinkUnit.col1 .picBox img {
		object-fit: cover;
		min-height: clamp(220px, (500 / 1000 * 100vw), 500px);
	}
}

@media screen and (max-width: 900px) {
	.innerpageLinkUnit.col1 .innerpageLinkTxt .txtInnerUnit > * {
		width: 100%;
	}
	.innerpageLinkUnit.col1 .innerpageLinkTxt .detail {
		margin-left:0;
	}
}






/*col2---------------------------------*/
	.innerpageLinkUnit.col2 .innerpageLinkInner{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-end;
	}
	.innerpageLinkUnit:nth-child(2) .innerpageLinkInner{
		flex-direction: row-reverse;
	}
	.innerpageLinkUnit.col2 .innerpageLinkTxt {
		width: 42%;
							/*background-color: rgba(36,55,255,0.21);*/
	}
	.innerpageLinkUnit.col2 .innerpageLinkTxt .txtBox .txt {
		color: #fff;
	}
	.innerpageLinkUnit:nth-of-type(3n) .innerpageLinkTxt {
		text-align: right;
	}


	/*picBox*/
	.innerpageLinkUnit.col2 .picBox {
		width: 54%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-end;
	}
	.innerpageLinkUnit.col2  .picBox li.p01 { width: 53%;} 
	.innerpageLinkUnit.col2  .picBox li.p02 { width: 43%;} 

	.innerpageLinkUnit:nth-of-type(3n) .picBox {
		margin-left:auto;
		margin-right:0;
		flex-direction: row-reverse;
	}

	/*detail*/
	.innerpageLinkUnit.col2 .innerpageLinkTxt .txtBox .detail {
		margin-top: clamp(15px, (25 / 1260 * 100vw), 25px);
		margin-left:0.2em;
	}
	.innerpageLinkUnit:nth-of-type(3n) .innerpageLinkTxt .txtBox .detail {
		justify-content: flex-end;
	}


@media screen and (min-width: 900.02px) and (max-width: 1200px) {
	.innerpageLinkUnit.col2 .innerpageLinkTxt {
		width: 36%;
	}
	.innerpageLinkUnit.col2 .picBox {
		width: 60%;
	}
}
@media screen and (max-width: 900px) { /*{belowTB}*/
	.innerpageLinkUnit.col2 .picBox {
		width: 90%;
	}
	.innerpageLinkUnit.col2 .innerpageLinkTxt {
		width: 100%;
		margin: 0 auto 2em;
	}
	.innerpageLinkUnit:nth-of-type(2n) .innerpageLinkTxt  {
	 text-align: right;
	}
	.innerpageLinkUnit:nth-of-type(2n) .innerpageLinkTxt .txtBox .detail {
	  justify-content: flex-end;
	}
	.innerpageLinkUnit:nth-of-type(2n) .picBox {
	  margin-left: 0;
	  margin-right: auto;
	}
	.innerpageLinkUnit:nth-of-type(3n) .innerpageLinkTxt  {
	 text-align: left;
	}
	.innerpageLinkUnit:nth-of-type(3n) .innerpageLinkTxt .txtBox .detail {
	  justify-content: flex-start;
	}
	
}



	/*hover*/
	.innerpageLinkUnit .picBox li {
		overflow: hidden;
	}
	.innerpageLinkUnit .picBox li img {
		transition: all 0.5s ease-in-out 0s;
	}
	.innerpageLinkUnit .picBox li.p02 img { transition-delay: 0.1s;}
	.innerpageLinkUnit .picBox li.p03 img { transition-delay: 0.2s;}
	
	@media (hover: hover) and (pointer: fine) {
		a:hover.innerpageLinkUnit .picBox li img {
			transform: scale(1.1);
			opacity: .7;
	}
}


	a:active.innerpageLinkUnit,
	a:active.innerpageLinkUnit {
		color: inherit!important;
	}
@media screen and (max-width: 736px) { /*{SP}*/
	a:active.innerpageLinkUnit,
	a:active.innerpageLinkUnit {
		color: inherit!important;
	}
}

	
    @keyframes pTtlLine {
		0% {
			opacity: 0;
			transform: scaleX(0);
			transform-origin: left;
		}
		20% {
			opacity: 1;
		}
		60% {
			opacity: 1;
			transform: scaleX(1);
			transform-origin: left;
		}
		60.1% {
			opacity: 1;
			transform: scaleX(1);
			transform-origin: right;
		}
		100% {
			opacity: 1;
			transform: scaleX(0);
			transform-origin: right;
		}
    }




















/* ------------------------------------------------------------------------
apologyBox
------------------------------------------------------------------------ */
	.apologyWrap {
		padding: 20px 0;
        border: 1px solid rgba(0,0,0,0.62);
	}
	.apologyBox {
		max-width: 1000px;
		line-height: 1.65;
		font-size: 1.4rem;
		font-family: var(--site-font_family-sans, 'Hiragino Kaku Gothic ProN',Meiryo,sans-serif);
		letter-spacing: .03em;
		margin-left: auto;
		margin-right: auto;
	}
	.apologyBoxTtl {
		font-weight: bold;
	}
@media screen and (max-width: 1200px) {
	.apologyBox {
		font-size: 1.3rem;
	} 
}
@media screen and (max-width: 736px) {
	.apologyWrap {
        margin-bottom: var(--site-marpad-XS) ;
	}
	.apologyBox {
		font-size: 1.2rem;
	}
}




/* ------------------------------------------------------------------------
hikarigaokabanner
------------------------------------------------------------------------ */

	.bnr_hikarigaokasection{
		/*width: 94%!important;*/
	}
	.bnr_hikarigaokasection .ttl {
		margin-top:0.3em;
		--M-fluidFontSize-max-fontsize: 32;
		--M-fluidFontSize-min-fontsize: 26;
		--M-fluidFontSize-max-viewport: 1600;
		--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);
		line-height: 1;
		text-align: center;
		letter-spacing: 0.07em;
	}

	/*bnr_hikarigaokaWrap*/
	.bnr_hikarigaokaWrap .heading {
		margin-top:0.3em;
		--M-fluidFontSize-max-fontsize: 18;
		--M-fluidFontSize-min-fontsize: 14;
		--M-fluidFontSize-max-viewport: 1600;
		--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)
		);
		line-height: 1.6;
	  text-align: center;
	}
	.bnr_hikarigaokaWrap .heading .title {
		display: block;
	}

	/*bnr_hikarigaokaBox*/
	.bnr_hikarigaokaBox {
		margin-top: 2em;
		border: 1px solid #b1b1b1;
		background: rgba(255,255,255,1.00);
	}
	.bnr_hikarigaokaBox a {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		transition: .3s ease;
	}
	.bnr_hikarigaokaTxt {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 1em 2em;
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 18;
		--M-fluidFontSize-max-viewport: 1600;
		--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)
		);
	}
	.bnr_hikarigaokaLogo {
		width: 240px;
	}
	.bnr_hikarigaokaPoint li .txtSS {
		font-size: 0.5em;
		line-height: 1;
	}
	.bnr_hikarigaokaPoint li .txtS {
		font-size: 0.7em;
		display: block;
		line-height: 1;
	}
	.bnr_hikarigaokaPoint li .txtM {
		font-size: 0.8em;
	}
	.bnr_hikarigaokaPoint li .num {
		line-height: 1;
		font-size: 1.8em;
		letter-spacing: 0.01em;
		font-family: var(--site-font_family-en_2);
	}
	.bnr_hikarigaokaPoint li .st {
		font-size: 1.4em;
		line-height: 1;
	}
	.bnr_hikarigaokaPoint li .color {
		color: #106464;
	}
	.bnr_hikarigaokaPoint {
		width: 100%;
		margin-top: 1.2em;
		display: flex;
		flex-direction: column;
		gap: clamp(1px, 0.1041666667vw, 2px);
	}
	.bnr_hikarigaokaPoint li {
		position: relative;
		display: flex;
		align-items: center;
		gap: clamp(1px, 0.625vw, 12px);
		margin-bottom: 0.5em;
	}
	.bnr_hikarigaokaPoint li::before, .bnr_hikarigaokaPoint li::after {
		content: "";
		height: 1px;
		flex-grow: 1;
		background-color:rgba(16,100,100,0.69);
		min-width: clamp(1px, 2.0833333333vw, 40px);
		margin-top: clamp(1px, 0.3125vw, 6px);
	}
	.bnr_hikarigaokaPoint li .inner {
		display: flex;
		align-items: flex-end;
		line-height: 2;
	}
	.bnr_hikarigaokaBtn {
		position: relative;
		margin-top: 0.5em;
		display: block;
		border: 1px solid #8c7f5b;
		border-width: 1px 0;
		width: 100%;
		font-size:0.8em;
		color: #82734a;
		text-align: center;
		transition:background .3s ease;
	}
	.bnr_hikarigaokaBtn::after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 1.5rem;
		margin: auto;
		width: 6px;
		height: 6px;
		border: 0;
		border-top: solid 1px currentColor;
		border-right: solid 1px currentColor;
		transform: scale(1, 1) rotate(45deg) translateY(calc(-50% - 1px));
		transition: all .3s ease-out;
	}

@media (hover: hover) and (pointer: fine) {
	.bnr_hikarigaokaBox a:hover{
		opacity: 0.75;
	}
.bnr_hikarigaokaBox a:hover .bnr_hikarigaokaBtn {
	  background-color: #8c7f5b;
	  color: #fff;
	}
}
@media screen and (min-width: 900.02px) {
	.bnr_hikarigaokaBox a > *{
	  width: 50%;
	}
	.bnr_hikarigaokaPic {
		order: 2;
	}
  .bnr_hikarigaokaTxt {
		order: 1;
	}
}
@media screen and (min-width: 900.02px) and (max-width: 1200px) {
	.bnr_hikarigaokaLogo {
	  width: 180px;
	}
	.bnr_hikarigaokaTxt {
		padding: 0.8em ;
		--M-fluidFontSize-max-fontsize: 20;
		--M-fluidFontSize-min-fontsize: 15;
		--M-fluidFontSize-max-viewport: 1200;
		--M-fluidFontSize-min-viewport: 900;
	}
}

@media screen and (max-width: 900px) {

	.bnr_hikarigaokasection{
		max-width: 700px;
		margin-left: auto;
		margin-right: auto;
	}
	.bnr_hikarigaokaBox a {
		flex-direction: column;
	  }
	.bnr_hikarigaokaBox a > *{
		width: 100%;
	}
	.bnr_hikarigaokaTxt {
	  padding: 1em 2em 1.5em;
		--M-fluidFontSize-max-fontsize: 24;
		--M-fluidFontSize-min-fontsize: 16;
		--M-fluidFontSize-max-viewport: 900;
		--M-fluidFontSize-min-viewport: 480;
	}
}
@media screen and (max-width: 480px) {
	.bnr_hikarigaokaLogo {
	  width: 180px;
	}
	.bnr_hikarigaokaPoint li .inner {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.bnr_hikarigaokaTxt .kakeru{
		display: block;
		line-height: .8;
	}
}













