@charset "utf-8";

/* =======================================================================================
	TEMPLATE
======================================================================================= */



/* =======================================================================================
	COMMON
======================================================================================= */

/* equContbox
------------------------------------------------------------------------ */
	.equContbox {
		--_equContbox-width: var(--site-sizeContentWide-M);
		width: var(--_equContbox-width);
		max-width: var(--site-sizeMaxWidth-M);
		margin-left: auto;
		margin-right: auto;
	}



/* equCategory
------------------------------------------------------------------------ */
	.equCategory {
		--equCategoryNavWrap-mt: calc(clamp(40px, (50 / 1400 * 100vw), 50px) * -1);
		--equCategoryContent-pt: clamp(145px, (160 / 1400 * 100vw), 160px);
		--equCategoryContent-pb: clamp(170px, (200 / 1400 * 100vw), 200px);
	}
	/* 余白管理 */
	.equCategoryNavWrap {
		margin-bottom:	var(--equCategoryNavWrap-mt); /* 下にはみ出す */
	}
	.equCategoryContent {
		padding-top:	var(--equCategoryContent-pt);
		padding-bottom:	var(--equCategoryContent-pb);
	}

/* equCategoryNavWrap
---------------------------------------------------- */
	.equCategoryNavWrap {} /* margin,paddingは前述'余白管理'参照 */
	.equCategoryNav {}
	.equAncNavList {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0 clamp(6px, (25 / 1100 * 100%), 25px);
		width: 95.5%;
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}
	.equAncNavList li {
		display: grid;
	}
	.equAncNavList a {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 1fr auto;
		gap: .9rem 0;
		line-height: 1.15;
		color: #fff;
		font-family: var(--site-font_family-en_1);
		font-size: clamp(1.6rem, (25 / 1400 * 100vw), 2.5rem);
		text-align: center;
		letter-spacing: .18em;
		background: #444;
		padding: .88em .3em .5em;
		transition: background .13s ease;
	}
	.equAncNavList .label {
		display: grid;
		align-items: center;
		align-content: center;
	}
	.equAncNavList .label .ja {
		color: #fdf0d0;
		font-size: max(1.3rem, .6em);
		letter-spacing: .22em;
	}
	.equAncNavList .label .en {
		font-weight: 500;
	}
	.equAncNavList .ico {}
	.equAncNavList .ico::before {
		--_ico: 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>');
		content: "";
		display: block;
		width: .84em;
		aspect-ratio: 1 / 1;
		background-color: #fff;
		margin-left: auto;
		margin-right: auto;
		-webkit-mask: center center / contain no-repeat;
				mask: center center / contain no-repeat;
		-webkit-mask-image: var(--_ico);
				mask-image: var(--_ico);
		transition: translate .13s ease;
	}
	/* hover */
	@media (hover: hover) and (pointer: fine) {
		.equAncNavList :not(.is-current) a:hover {
			background: #666;
		}
		.equAncNavList :not(.is-current) a:hover .ico::before {
			translate: 0 13%;
		}
	}
	.equAncNavList :not(.is-current) a:focus-visible {
			background: #666;
	}
	.equAncNavList :not(.is-current) a:focus-visible .ico::before {
			translate: 0 13%;
	}
	/* current */
	.equAncNavList .is-current a {
		color: #444;
		background: #e8e8e8;
	}
	.equAncNavList .is-current .label .ja {
		color: #a58535;
	}
	.equAncNavList .is-current .ico::before {
		background-color: #000;
	}
@media screen and (max-width: 736px) {
	.equAncNavList a {
		font-size: clamp(1.3rem, (16 / 375 * 100vw), 1.6rem);
		letter-spacing: .06em;
	}
	.equAncNavList .label .ja {
		font-size: max(1.175rem, .8125em);
		letter-spacing: .12em;
		margin-top: .15em;
	}
	.equAncNavList .ico::before {
		width: .92em;
	}
}

/* equCategoryContent
---------------------------------------------------- */
	.equCategoryContent {} /* margin,paddingは前述'余白管理'参照 */
	
	.bgPattern02.equCategoryContent {
		background-position: center top;
	}
	.bgPattern03.equCategoryContent {
		background-position: center top;
	}



/* equSection
------------------------------------------------------------------------ */
	.equSection {}
	
	/* イントロ */
	.equSectionIntroBox {}
	.equSectionIntroHeading {
		display: block;
		line-height: 1.35;
		color: rgba(var(--site-themeColor-accent_2), 1);
		font-family: var(--site-font_family-en_1);
		font-size: clamp(3.2rem, (40 / 1000 * 100vw), 4rem);
		text-align: center;
		letter-spacing: .12em;
	}
				/* フォーカス可視化（フォーカス可能にした以上、必須／WCAG 2.4.7）
				--------------------------------------------------------------------
				 * outline表示許可されたら設定すること
				.equSectionIntroHeading:focus { outline: 1px dotted #767676; outline-offset: 2px; }
				.equSectionIntroHeading:focus:not(:focus-visible) { outline: none; } // マウス時は消す //
				.equSectionIntroHeading:focus-visible { outline: 1px dotted #767676; outline-offset: 2px; }
				----------------------------------------------------------------- */
				.equSectionIntroHeading:focus {
					outline: none;
				}

	.equSectionIntroHeading .en {}
	.equSectionIntroText {
		display: block;
		line-height: 1.82;
		color: inherit;
		font-size: clamp(2.05rem, (23 / 1000 * 100vw), 2.3rem);
		text-align: center;
		letter-spacing: .22em;
		margin-top: 1em;
	}
	
	/* ボディ */
	.equSectionBody {}
	.equSectionBody__intro {
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	.equSectionBody__intro .heading {
		padding: 1.1em 0;
		border: 0 solid #696a6b;
		border-width: 1px 0;
	}
	.equSectionBody__intro .txt {
		margin-top: 3.5em;
	}

@media screen and (max-width: 736px) {
	/* イントロ */
	.equSectionIntroHeading {
		font-size: clamp(2.8rem, (28 / 375 * 100vw), 3.2rem);
		letter-spacing: .06em;
	}
	.equSectionIntroText {
		font-size: clamp(1.6rem, (16 / 375 * 100vw), 2.05rem);
		letter-spacing: .2em;
	}
}
@media screen and (max-width: 736px) {
	/* ボディ */
	.equSectionBody__intro .heading {
		text-align: justify;
		overflow-wrap: break-word; /* 長い英語対策 */
	}
	.equSectionBody__intro .heading .inbl {
		display: inline;
	}
	.equSectionBody__intro .heading br {
		display: none;
	}
}



/* eqList
------------------------------------------------------------------------ */
	.eqList {
		overflow-wrap: break-word; /* 長い英語対策 */
	}
	.eqList.generalColBoxFlex {
		--default-generalColBoxFlex-rowGap:			clamp(30px, (60 / 1400 * 100vw), 60px);
		--default-generalColBoxFlex-columnGap:		clamp(30px, (60 / 1400 * 100vw), 60px);
		/*--default-generalColBoxFlex-columnCount:	3;*/
	}
	.eqListItem {
	}
	.eqListItem .pic {
		position: relative;
	}
	.eqListItem .pic img {
		width: 100%;
		max-width: none;
	}
	.eqListItem .ttl {
		line-height: 1.4;
		color: rgba(var(--site-themeColor-accent_1), 1);
		font-size: clamp(1.7rem, (20 / 1400 * 100vw), 2rem);
		letter-spacing: .1em;
		padding: .8em 0 .6em;
	}
	.eqListItem .txt {
		overflow-wrap: break-word; /* 長い英語対策 */
		font-size: clamp(1.3rem, (14 / 1200 * 100vw), 1.4rem);
		/*text-align: justify;*/
		letter-spacing: .18em;
	}
@media screen and (max-width: 900px) {
	.eqList.generalColBoxFlex {
		--default-generalColBoxFlex-columnCount:	2;
	}
	.eqListItem .ttl {
		font-size: clamp(1.7rem, (20 / 900 * 100vw), 1.8rem);
	}
	.eqListItem .txt {
		font-size: clamp(1.3rem, (14 / 900 * 100vw), 1.4rem);
	}
}
@media screen and (max-width: 600px) {
	.eqList.generalColBoxFlex {
		--default-generalColBoxFlex-columnCount:	1;
	}
	.eqListItem .ttl {
		font-size: 1.6rem;
	}
	.eqListItem .txt {
		line-height: 1.7;
		font-size: 1.3rem;
	}
}



/* =======================================================================================
	PAGE
======================================================================================= */

/* ------------------------------------------------------------------------
	equCategory_comfort
------------------------------------------------------------------------ */
	.equCategory_comfort {
		margin-top: calc(var(--site-marpad-L) + 10px);
	}



/* ------------------------------------------------------------------------
	equCategory_storage
------------------------------------------------------------------------ */
	.equCategory_storage {
		margin-top: var(--site-marpad-XXXXL);
	}



/* ------------------------------------------------------------------------
	equCategory_ecology
------------------------------------------------------------------------ */
	.equCategory_ecology {
		margin-top: var(--site-marpad-XS);
	}
	.ecologyContbox {
		width: 94%;
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}
@media screen and (max-width: 1200px) {
	.ecologyContbox {
		width: 100%;
	}
}

/* eneshineMain
---------------------------------------------------- */
	.eneshineMain {
		position: relative;
		margin-top: var(--site-marpad-XL);
	}
	.eneshineMain .logo {
		position: absolute;
		top: 50%;
		left: calc(116 / 1600 * 100%);
		z-index: 1;
		width: calc(508 / 1600 * 100%);
		max-width: 508px;
		min-width: 280px;
		translate: 0 -50%;
	}
	.eneshineMain .bg img {
		display: block;
		width: 100%;
		max-width: none;
		margin: auto;
	}
	.eneshineMain .bg {
		overflow: hidden;
	}
	.eneshineMain .bg img {
		width: 100%;
		max-width: none;
		height: 100%;
		min-height: 250px;
		object-fit: cover;
		object-position: 50% 50%;
	}
	.eneshineMain .imgcapkeep {
		font-size: 1rem;
		letter-spacing: normal;
		opacity: .8;
	}
@media screen and (max-width: 736px) {
	.eneshineMain {
		margin-top: clamp(58px, (80 / 375 * 100vw), 100px);
	}
	.eneshineMain .logo {
		top: auto;
		bottom: calc(35 / 280 * 100%);
		left: 50%;
		width: calc(300 / 375 * 100%);
		max-width: revert;
		min-width: revert;
		translate: -50% 0;
	}
}

/* ----------------------------------------------------
	eneshineSection
---------------------------------------------------- */
	.eneshineSection {}
	.eneshineSectionIntro {}
	.eneshineSectionContent {}
	
	.eneshineSectionContent .featuresTtl {
		display: flex;
		align-items: center;
		gap: 1.25em;
		width: 100%;
		line-height: 1.35;
	}
	.eneshineSectionContent .featuresTtl::after {
		content: "";
		flex: 1 0 2rem;
		border-top: 3px double rgba(var(--site-themeColor-accent_1), 1);
	}
	.eneshineSectionContent .featuresTtl > span {
		color: rgba(var(--site-themeColor-accent_1_text), 1);
		background: rgba(var(--site-themeColor-accent_1), 1);
		padding: .4em 2.25em;
		border-radius: 3px;
	}
	.eneshineSectionContent .featuresTxt {
	}
	.eneshineSectionContent .featuresTxt .txt {
		text-align: left;
		margin-top: 2em;
		margin-bottom: 0;
	}
	.eneshineSectionContent .featuresTxt .txt .marker {
		display: inline-block;
		font-weight: 500;
		background: linear-gradient(to bottom, transparent 65%, #e9d1af 65%);
	}
	.eneshineSectionContent .featuresTxt .note {
		display: block;
		margin-top: 1.3em;
	}
	.eneshineSectionContent .featuresList {
		font-family: var(--site-font_family-sans);
		margin-top: 40px;
	}
	.eneshineSectionContent .featuresList.generalColBoxFlex {
		--default-generalColBoxFlex-rowGap:			clamp(40px, (40 / 375 * 100vw), 50px);
		--default-generalColBoxFlex-columnGap:		clamp(30px, (70 / 1400 * 100vw), 70px);
		/*--default-generalColBoxFlex-columnCount:	3;*/
	}
	.eneshineSectionContent .featuresListItem {
		line-height: 1.45;
		font-size: 1.4rem;
	}
	.eneshineSectionContent .featuresListItem .pic {
		width: calc(264 / 320 * 100%);
		margin-left: auto;
		margin-right: auto;
	}
	.eneshineSectionContent .featuresListItem .ttl {
		color: rgba(var(--site-themeColor-accent_1), 1);
		font-size: 1.285714em;
		text-align: center;
		margin: 1.1em 0 1em;
	}
	.eneshineSectionContent .featuresListItem .txt {
		letter-spacing: .09em;
		text-align: justify;
		overflow-wrap: break-word; /* 長い英語対策 */
	}
@media screen and (max-width: 1050px) {
	.eneshineSectionContent .featuresList {
		max-width: 700px;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 736px) {
	.eneshineSectionContent .featuresList {
		max-width: 450px;
	}
	.eneshineSectionContent .featuresListItem {
		font-size: 1.3rem;
	}
	.eneshineSectionContent .featuresListItem .ttl {
		font-size: 1.230769em;
	}
	.eneshineSectionContent .featuresListItem .pic {
		width: calc(214 / 320 * 100%);
		max-width: 260px;
	}
}

/* ----------------------------------------------------
	solarSection
---------------------------------------------------- */
	.solarSection {}
	.solarSectionIntro {}

	.solarSectionContent {}
	.solarSectionContent.generalColBoxFlex {
		--default-generalColBoxFlex-rowGap:			80px;
		--default-generalColBoxFlex-columnGap:		clamp(30px, (60 / 1400 * 100vw), 60px);
		/*--default-generalColBoxFlex-columnCount:	2;*/
	}
	.solarSectionContent .solarUnit {
		line-height: 1.75;
		font-size: 1.4rem;
		letter-spacing: .08em;
	}
	.solarSectionContent .solarUnitCap {
		color: #767676;
		margin-top: .6em;
	}

	/* -- mechanism -- */
	.solarSectionContent .unit_mechanism {
		background: #fff;
		padding: 1.5em 1.25em;
	}
	.solarSectionContent .mechanismTtl {
		line-height: 1.46;
		color: #fff;
		font-size: clamp(1.6rem, (18 / 1200 * 100vw), 1.8rem);
		text-align: center;
		background: rgba(var(--site-themeColor-accent_1), 1);
		margin-bottom: 1em;
		padding: .3em;
	}
	.solarSectionContent .mechanismPic {}
	.solarSectionContent .mechanismTxt {
		text-align: justify;
		overflow-wrap: break-word; /* 長い英語対策 */
		margin-top: 1.5em;
	}

	/* -- merit -- */
	.solarSectionContent .unit_merit {}
	.solarSectionContent .meritTtl {
		display: grid;
		grid-template-columns: auto 1fr;
		line-height: 1.46;
		color: rgba(var(--site-themeColor-accent_1), 1);
		font-size: clamp(1.6rem, (18 / 1200 * 100vw), 1.8rem);
		letter-spacing: normal;
		margin-bottom: 1.5em;
		padding-bottom: 4px;
		border-bottom: 3px double currentColor;
	}
	.solarSectionContent .meritTtl .label,
	.solarSectionContent .meritTtl .title {
		display: grid;
		align-items: center;
	}
	.solarSectionContent .meritTtl .label {
		font-family: var(--site-font_family-en_2);
		white-space: nowrap;
		padding-top: .3em;
		padding-bottom: .3em;
		padding-left: .2em;
		padding-right: .9em;
		border-right: 1px solid rgba(var(--site-themeColor-accent_1), 1);
	}
	.solarSectionContent .meritTtl .label .num {
		line-height: 1;
		font-size: 1.777778em;
	}
	.solarSectionContent .meritTtl .title {
		padding-top: .1em;
		padding-bottom: .1em;
		padding-left: .9em;
	}
	.solarSectionContent .meritPic {}
	.solarSectionContent .meritTxt {
		text-align: justify;
		overflow-wrap: break-word; /* 長い英語対策 */
		margin-top: 1.5em;
	}
	.solarSectionContent .meritTxt .note {
		display: block;
		margin-top: 1.3em;
	}
@media screen and (max-width: 1050px) {
	.solarSectionContent.generalColBoxFlex {
		--default-generalColBoxFlex-rowGap:			clamp(60px, (80 / 1050 * 100vw), 80px);
	}
	.solarSectionContent .solarUnit {
		max-width: 700px;
		margin-left: auto;
		margin-right: auto;
	}
	/* -- mechanism -- */
	.solarSectionContent .mechanismTtl {
		font-size: clamp(1.5rem, (15 / 375 * 100vw), 1.8rem);
	}
	/* -- merit -- */
	.solarSectionContent .meritTtl {
		font-size: clamp(1.5rem, (15 / 375 * 100vw), 1.8rem);
	}
}
@media screen and (max-width: 736px) {
	.solarSectionContent .solarUnit {
		font-size: 1.3rem;
	}
}







