@charset "utf-8";




/* fonts	**************************************************************************************************************************************************************************************************************************************************************************** */
@font-face{
  font-display: swap;
  font-weight:  100;
  font-style: normal;
  font-family: 'Poppins';
  src: url("../_fonts/Poppins-Thin.woff") format("woff");
}
@font-face{
  font-display: swap;
  font-weight:  400;
  font-style: normal;
  font-family: 'Poppins';
  src: url("../_fonts/Poppins-Regular.woff") format("woff");
}
@font-face{
  font-display: swap;
  font-weight:  700;
  font-style: normal;
  font-family: 'Poppins';
  src: url("../_fonts/Poppins-Bold.woff") format("woff");
}
@font-face{
  font-display: swap;
  font-weight:  100;
  font-style: normal;
  font-family: 'M PLUS 1p';
  src: url("../_fonts/MPLUS1p-Thin.woff") format("woff");
}
@font-face{
  font-display: swap;
  font-weight:  400;
  font-style: normal;
  font-family: 'M PLUS 1p';
  src: url("../_fonts/MPLUS1p-Regular.woff") format("woff");
}
@font-face{
  font-display: swap;
  font-weight:  700;
  font-style: normal;
  font-family: 'M PLUS 1p';
  src: url("../_fonts/MPLUS1p-Bold.woff") format("woff");
}




/* common	**************************************************************************************************************************************************************************************************************************************************************************** */
:root {
	--colorText: #444;
	--colorText50p: #44444480;
	--colorText25p: #44444440;
	--colorMain: #c8161d;
	--colorSub: #007754;
	--colorSub10p: #00775419;
	--colorSec: #34770019;
	--colorSec50p: #3477000c;
	--colorEnt: #34770033;
	--colorGold: #a68b62;
}
*,::before,::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html {
	font-size: calc(10vw / 16);
	/* scroll-behavior: smooth; */
}
body {
	font-family: "Poppins", "M PLUS 1p", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .05em;
	color: var(--colorText);
}
h1,h2,h3,h4,h5,h6 {
	font-size: 1em;
}
img {
	max-width: 100%;
	max-height: 100%;
	vertical-align: bottom;
}
a {
	color: inherit;
	text-decoration: none;
}
.awesome::before,
.awesome::after {
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
}
ul.btn {
	list-style: none;
	display: flex;
	justify-content: center;
	margin-top: 5%;
	position: relative;
	z-index: 1;
}
ul.btn li a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 700;
	background: #fff;
	border: 1px solid var(--colorSub);
	border-radius: 9999px;
	padding: 1.5rem 2.5rem;
	position: relative;
	top: 0;
	box-shadow: 0 .15em .375em #0003;
	transition: .5s;
}
ul.btn li a:hover {
	background: var(--colorSub);
	color: #fff;
	top: .125em;
	box-shadow: none;
}
ul.btn li a span {
	font-size: 1.125em;
	margin-right: 1em;
}
ul.btn li a::after {
  font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
	font-weight: 900;
	content: '\f178';
}
.awesome {
  font-family: "Font Awesome 5 Free";
  font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
	font-weight: 900;
}
a[href^="tel:"],
span.fax {
	display: flex;
	align-items: center;
}
/* free dial */
a[href^="tel:"]::before {
	content: '';
	display: block;
	width: 1em;
	aspect-ratio: 300/197;
	margin-right: .125em;
	background: url(../_img/fd.webp) no-repeat center/cover;
}
footer a[href^="tel:"]::before {
	background: url(../_img/fd_w.webp) no-repeat center/cover;
}
/* normal phone */
/* a[href^="tel:"]::before {
	content: '\f2a0';
  font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
	font-weight: 900;
	font-size: .75em;
	margin-right: .125em;
	color: var(--colorSub);
} */
span.fax::before {
	content: '\f1ac';
  font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
	font-weight: 900;
	font-size: .75em;
	margin-right: .125em;
	color: var(--colorSub);
}
.sp {
	display: none;
}
p.soon {
	text-align: center;
	line-height: 1.75;
}
.fade {
  opacity : 0;
  transition : 1s;
}
.fade.toTop {
  transform : translate(0, 3rem);
}
.fade.toBottom {
  transform : translate(0, -3rem);
}
.fade.toRight {
  transform : translate(-3rem, 0);
}
.fade.toLeft {
  transform : translate(3rem, 0);
}
.fade.fadeIn{
  opacity : 1;
  transform : translate(0, 0) !important;
}
a[href="#Top"] {
	display: flex;
	justify-content: center;
	align-items: center;
	background: var(--colorMain);
	width: 4em;
	aspect-ratio: 1/1;
	position: fixed;
	right: -4em;
	bottom: 0;
	z-index: 9999;
	overflow: hidden;
	transition: .5s;
}
a[href="#Top"].in {
	right: 0;
}
a[href="#Top"]::before {
	content: '';
	display: block;
	width: 2em;
	aspect-ratio: 1/1;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	animation: pageTopBtnMove 2s infinite both;
}
a[href="#Top"] span {
	color: #fff;
	font-size: .625em;
	letter-spacing: 0;
	position: absolute;
	left: 0;
	right: 0;
	bottom: .25em;
	text-align: center;
}
@keyframes pageTopBtnMove {
	0% {
		transform: translateY(4em) rotate(-45deg);
		animation-timing-function: ease-out;
	}
	33% {
		transform: translateY(.5em) rotate(-45deg);
	}
	66% {
		transform: translateY(.5em) rotate(-45deg);
		animation-timing-function: ease-in;
	}
	100% {
		transform: translateY(-3.5em) rotate(-45deg);
	}
}
/* max 800px	************************************************************************************************ */
@media (max-width: 800px) {
	html {
		font-size: calc(10vw / 8);
	}
	body {
		font-size: 1.6em;
	}
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	html {
		font-size: calc(10vw / 6);
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	br.sp,
	span.sp {
		display: inline;
	}
}
/* max 480px	************************************************************************************************ */
@media (max-width: 480px) {
	html {
		font-size: calc(10vw / 4.8);
	}
}




/* body>header	**************************************************************************************************************************************************************************************************************************************************************************** */
body>header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	padding: 1vw 5%;
	background: linear-gradient(0deg,#fff9,#fffd 20%,#fffffff0 40%,#fff);
	backdrop-filter: blur(.25em);
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.6rem;
}
body>header .logo {
	width: 15%;
}
body>header address {
	font-style: normal;
	margin-left: 2.5%;
}
body>header address ul {
	list-style: none;
}
body>header address ul li {
}
body>header address ul li:nth-child(1) {
	font-size: 1.75em;
	font-weight: 700;
}
body>header address ul li:nth-child(2) {
	font-size: .75em;
	margin-top: .25em;
}
/* max 800px	************************************************************************************************ */
@media (max-width: 800px) {
	body>header {
		flex-flow: wrap;
		padding: 1vw 5% 0;
	}
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	body>header {
		padding: 1.5vw 5% 0;
		justify-content: flex-start;
	}
	body>header .logo {
		width: 40%;
	}
	body>header address {
		margin-top: 1em;
		margin-left: 5%;
		font-size: 1.5rem;
	}
}
/* max 480px	************************************************************************************************ */
@media (max-width: 480px) {
	body>header {
		padding: 3vw 5% 0;
	}
	body>header address {
		font-size: .6875em;
	}
}



/* nav.global	**************************************************************************************************************************************************************************************************************************************************************************** */
#Hbg,
#Hbg+label,
#NavSub {
	display: none;
}
nav.global {
	flex-grow: 1;
}
nav.global a:hover,
nav.global label:hover {
	text-decoration: underline;
}
nav.global>ul {
	font-size: .875em;
	list-style: none;
	display: flex;
	justify-content: flex-end;
	gap: 1.5%;
}
nav.global>ul>li {
}
nav.global>ul>li>a,
nav.global>ul>li label {
	outline: 1px solid transparent;
	padding: 0 .25em;
	border-radius: 9999px;
	transition: .5s;
}
nav.global>ul>li>a:hover,
.index nav.global>ul>li:nth-child(1)>a,
.pages.biz nav.global>ul>li:nth-child(2) label,
.pages.case nav.global>ul>li:nth-child(3)>a,
.pages.blog nav.global>ul>li:nth-child(4)>a,
.pages.voice nav.global>ul>li:nth-child(5)>a,
.pages.point nav.global>ul>li:nth-child(6)>a,
.pages.faq nav.global>ul>li:nth-child(7)>a,
.pages.company nav.global>ul>li:nth-child(8)>a {
	outline: 1px solid var(--colorText);
	outline-offset: .375em;
}
nav.global>ul>li:last-child>a {
	background: var(--colorMain);
	color: #fff;
	padding: .25em .75em;
	outline: 1px solid transparent;
	outline-offset: -1px;
}
nav.global>ul>li:last-child>a:hover,
.pages.contact nav.global>ul>li:last-child>a {
	outline-color: var(--colorMain);
	outline-offset: .375em;
}
nav.global>ul>li dl {
	position: relative;
}
nav.global>ul>li dl dt {
}
nav.global>ul>li dl dt label {
	cursor: pointer;
}
nav.global>ul>li dl dd {
	position: absolute;
	top: 100%;
	left: 0;
	white-space: nowrap;
	height: 0;
	/* height: 20em; */
	display: flex;
	flex-flow: column;
	overflow: hidden;
	transition: .5s;
}
#NavSub:checked+dl dd {
	height: 20em;
}
nav.global>ul>li dl dd::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	margin-left: .5em;
	border-bottom: 1em solid #fffd;
	border-right: .5em solid transparent;
	border-left: .5em solid transparent;
}
nav.global>ul>li dl dd ul {
	list-style: none;
	background: #fffd;
	flex-grow: 1;
	display: flex;
	flex-flow: column;
	justify-content: space-evenly;
	padding: 0 1em;
}
/* max 800px	************************************************************************************************ */
@media (max-width: 800px) {
	nav.global {
		order: 1;
		width: 100%;
		margin-top: 1.25%;
	}
	nav.global>ul {
		font-size: .75em;
		justify-content: space-between;
		gap: 0;
	}
	nav.global>ul>li {
		flex-grow: 1;
		padding: 1em 0;
	}
	nav.global>ul>li:last-child {
		padding: .75em 0;
	}
	nav.global>ul>li>a,
	nav.global>ul>li label {
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0;
	}
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	#Hbg+label {
		display: flex;
		align-items: center;
		width: 6rem;
		aspect-ratio: 5/3;
		position: absolute;
		top: 4vw;
		right: 4vw;
	}
	#Hbg+label span,
	#Hbg+label span::before,
	#Hbg+label span::after {
		width: 100%;
		height: .375rem;
		background: var(--colorText);
		transition: .5s;
	}
	#Hbg+label span::before,
	#Hbg+label span::after {
		content: '';
		position: absolute;
	}
	#Hbg+label span::before {
		top: 0;
	}
	#Hbg+label span::after {
		bottom: 0;
	}
	#Hbg:checked+label span {
		background: transparent;
	}
	#Hbg:checked+label span::before {
		top: calc(50% - .1875rem);
		transform: rotate(-315deg);
	}
	#Hbg:checked+label span::after {
		bottom: calc(50% - .1875rem);
		transform: rotate(315deg);
	}
	nav.global {
		margin-top: 3vw;
	}
	nav.global>ul {
		background: #0009;
		color: #fff;
		font-size: 1.25em;
		flex-flow: column;
		width: 50vw;
		/* height => js */
		padding: 5vh 0;
		position: absolute;
		right: -50vw;
		transition: .5s;
	}
	#Hbg:checked~ul {
		right: 0;
	}
	nav.global>ul>li {
		display: flex;
	}
	nav.global>ul>li>dl {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	nav.global>ul>li>a,
	nav.global>ul>li>dl {
		width: calc(100% - 2rem);
		margin: auto;
		border: 1px solid #fff;
		padding: .5em 0 !important;
	}
	nav.global>ul>li>dl dt {
		width: 100%;
		height: 100%;
		display: flex;
	}
	nav.global>ul>li>dl dt label {
		width: 100%;
	}
	nav.global>ul>li dl dd {
		color: var(--colorText);
		white-space: initial;
		top: 0;
		left: auto;
		right: 100%;
		width: 0;
		height: 30em;
		flex-flow: row-reverse;
	}
	#NavSub:checked+dl dd {
		width: 50vw;
		height: 30em;
	}
	nav.global>ul>li dl dd::before {
		border-right: none;
		border-left: 2.5rem solid #fffd;
		border-top: 1rem solid transparent;
		border-bottom: 1rem solid transparent;
		margin-left: 0;
	}
}




/* .start	**************************************************************************************************************************************************************************************************************************************************************************** */
.start {
	width: 100%;
	height: 100vh;/* for CLS */
	display: flex;
	flex-flow: column;
	align-items: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
	z-index: 1;
}
.start.comparison::before,
.start.comparison::after {
	display: block;
	color: #fff;
	font-size: .75em;
	letter-spacing: .125em;
	line-height: 1;
	padding: .375em .75em;
	position: absolute;
	bottom: 0;
}
.start.comparison::before {
	content: 'Before';
	background: var(--colorSub);
	right: 50%;
}
.start.comparison::after {
	content: 'After';
	background: var(--colorGold);
	left: 50%;
}
.index .start {
	background-image: url(../_img/top1.webp);
}
.pages .start {
	height: 50vh;
}
.pages.biz.top .start {
	background-image: url(../_img/top1.webp);
}
.pages.biz.wall .start {
	background-image: url(../_img/pages_wall.webp);
}
.pages.biz.functionality .start {
	background-image: url(../_img/pages_functionality.webp);
	background-position: center 10%;
}
.pages.biz.waterproof .start {
	background-image: url(../_img/pages_waterproof.webp);
}
.pages.biz.roof .start {
	background-image: url(../_img/pages_roof.webp);
}
.pages.biz.renovation .start {
	background-image: url(../_img/pages_renovation.webp);
}
.pages.biz.interior .start {
	background-image: url(../_img/pages_interior.webp);
}
.pages.biz.solar .start {
	background-image: url(../_img/pages_solar.webp);
}
.pages.case .start {
	background-image: url(../_img/pages_case.webp);
	background-position: center 10%;
}
.pages.blog .start {
	background-image: url(../_img/ent_blog.webp);
}
.pages.voice .start {
	background-image: url(../_img/image_ws.webp);
}
.pages.faq .start {
	background-image: url(../_img/image_ent.webp);
	background-position: center 30%;
}
.pages.point .start {
	background-image: url(../_img/ent_point.webp);
}
.pages.company .start {
	background-image: url(../_img/ent_company.webp);
}
.pages.contact .start {
	background-image: url(../_img/image_wb.webp);
}
.pages.news .start {
	background-image: url(../_img/top4.webp);
}
.start h1,
.start .catch {
	font-size: 1.625em;
	line-height: 1.375;
	font-weight: 400;
	text-align: center;
	letter-spacing: .1em;
	color: #fff;
	padding: .25em .75em;
	position: absolute;
	top: calc(50% - .5em);
	z-index: 1;
}
.start h1::before,
.start .catch::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--colorMain);
	opacity: .75;
}
.start h1 span,
.start .catch span {
	position: relative;
}
.start h1 span.genre,
.start .catch span.genre {
	font-size: 1.375em;
	font-weight: 700;
	margin-left: .5em;
}
.start .link {
	width: 100%;
	height: 100%;
	border: 1px solid #fff8;
	display: flex;
}
.start .link li {
	width: 25%;
	display: flex;
}
.start .link li:nth-child(n+2) {
	border-left: 1px solid #fff8;
}
.start .link li a {
	width: 100%;
	position: relative;
}
.start .link li a:hover {
}
.start .link li a::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: var(--colorSub);
	mix-blend-mode: multiply;
	opacity: 0;
	transition: .5s;
}
.start .link li a:hover::before {
	opacity: .375;
}
.start .link li a>span {
	color: #fff;
	font-size: 4.5rem;
	font-weight: 100;
	padding: .25em 0;
	position: absolute;
	bottom: 20%;
	left: 0;
	width: 0;
	text-align: center;
	overflow: hidden;
	transition: .5s;
}
.start .link li a:hover>span {
	padding: .25em .5em;
	width: 100%;
}
.start .link li a>span::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	background: var(--colorSub);
	opacity: .75;
}
.start .link li a>span>span {
	position: relative;
}
.start .bgImg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0;
	transition: .5s;
}
.start .bgImg.look {
	opacity: 1;
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
}




/* main	**************************************************************************************************************************************************************************************************************************************************************************** */
main>*:not(div.start) {
	padding: 7.5vw 0;
	position: relative;
}
main>.breadCrumb {
	padding: 0;
	width: 100%;
	padding: .25em 5% !important;
	background: var(--colorSec);
  list-style: none;
	line-height: 1.5;
  display: flex;
	flex-flow: wrap;
}
main>.breadCrumb li {
}
main>.breadCrumb li:nth-child(n+2)::before {
  content: '>';
  margin: 0 .5em;
}
main>.breadCrumb li a {
  font-size: .75em;
  text-decoration: underline;
}
main>.breadCrumb li a:hover {
  text-decoration: none;
}
main>.breadCrumb li span {
  font-size: .875em;
  font-weight: 700;
}
main>.sentence {
	line-height: 1.75;
	display: flex;
	justify-content: center;
	padding: 7.5vw 5%;
	position: relative;
}
main>.sentence>div {
	display: flex;
	flex-flow: column;
	align-items: center;
	padding: 0 5%;
}
main>.sentence>div h2 {
	font-size: 2.25em;
	letter-spacing: 0;
}
main>.sentence>div p {
	margin-top: .75em;
}
main>div.read {
	line-height: 1.75;
	width: 75%;
	padding: 7.5vw 0 0;
	margin: 0 auto;
}
main>section:nth-of-type(even) {
	background: var(--colorSec50p);
}
main>section .wrap {
	width: 90%;
	margin: 5% auto 0;
}
main>section h2 {
	width: 90%;
	margin: 0 auto;
	display: flex;
	align-items: center;
}
main>section h2 span {
	font-size: 1.75em;
	line-height: 1.375;
	font-weight: 700;
	margin-right: .5em;
}
main>section h2::after {
	content: '';
	display: block;
	flex-grow: 0;
	height: .0625em;
	background: var(--colorText);
	transition: 1.5s;
}
main>section h2.fadeIn::after {
	flex-grow: 1;
}
main>section .wrap .read {
	width: 75%;
	margin: 2.5% auto 0;
}
main>section .wrap .read p {
	line-height: 1.75;
	text-align: justify;
}
main>section .wrap .box {
	background: var(--colorSec50p);
}
main>section:nth-of-type(even) .wrap .box {
	background: #fff;
}
main>section .wrap .box .box,
main>section .wrap .paint .box {
	background: none;
}
main>section .wrap .paint .box:nth-of-type(n+2) {
	margin-top: 3.75%;
}
main>section .wrap .yt {
}
main>section .wrap .yt iframe {
	display: block;
	width: 75%;
	aspect-ratio: 16/9;
	margin: 0 auto;
}
/* max 800px	************************************************************************************************ */
@media (max-width: 800px) {
	main>section .wrap .yt iframe {
		width: 100%;
	}
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	main>section .wrap .read {
		width: 100%;
	}
	main>.sentence>div h2 {
		text-align: center;
	}
}




/* .frontNews	**************************************************************************************************************************************************************************************************************************************************************************** */
.frontNews {
}
.frontNews ul.newsList {
	list-style: none;
	line-height: 1.25;
	width: 75%;
	margin: 2.5% auto 0;
}
.frontNews ul.newsList li {
	display: flex;
	align-items: baseline;
	border-bottom: 1px dotted var(--colorSub);
	padding-bottom: .5em;
	position: relative;
}
.frontNews ul.newsList li:nth-child(n+2) {
	margin-top: 1.5em;
}
.frontNews ul.newsList li time {
	margin-right: 2.5%;
}
.frontNews ul.newsList li>span:nth-of-type(1) {
	display: flex;
	align-items: baseline;
}
.frontNews ul.newsList li>span:nth-of-type(1)>span {
	color: #fff;
	font-size: .75em;
	font-weight: 700;
	padding: .25em .75em;
	border-radius: 9999px;
	margin-right: .5em;
	white-space: nowrap;
}
.frontNews ul.newsList li>span:nth-of-type(1)>span.news {
	background: var(--colorMain);
}
.frontNews ul.newsList li>span:nth-of-type(1)>span.blog {
	background: var(--colorGold);
}
.frontNews ul.newsList li>span:nth-of-type(1)>span.case {
	background: var(--colorSub);
}
.frontNews ul.newsList li>span:nth-of-type(1) a:hover {
	text-decoration: underline;
}
.frontNews ul.newsList li>span:nth-of-type(2) {
	background: var(--colorMain);
	color: #fff;
	font-size: .75em;
	font-weight: 900;
	padding: .25em .75em;
	border-radius: 9999px;
	position: absolute;
	top: -1.5em;
	left: -5em;
}
.frontNews ul.newsList li>span:nth-of-type(2)::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 1em solid var(--colorMain);
	border-left: 1em solid transparent;
	transform-origin: right bottom;
	transform: skewX(40deg);
	position: absolute;
	top: calc(100% - 1px);
	right: 0;
}
.frontNews .bnr {
	margin: 5% auto 0;
	text-align: center;
}
.frontNews .bnr img {
	max-height: none;
	height: auto;
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	.frontNews ul.newsList {
		width: 100%;
	}
	.frontNews ul.newsList li {
		padding-bottom: 1.5em;
	}
	.frontNews ul.newsList li>span:nth-of-type(2) {
		top: 2em;
		left: 0;
	}
	.frontNews ul.newsList li>span:nth-of-type(2)::after {
		rotate: -75deg;
		top: -1.25em;
		right: -1em;
	}
}




/* .frontCase	**************************************************************************************************************************************************************************************************************************************************************************** */
.frontCase {
}
.frontCase ul.btn {
	font-size: 1.5em;
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
}




/* .frontBiz	**************************************************************************************************************************************************************************************************************************************************************************** */
.frontBiz .btn {
	flex-flow: wrap;
	justify-content: space-between;
}
.frontBiz .btn li {
	width: 48.5%;
}
.frontBiz .btn li:nth-child(1) {
	width: 100%;
}
.frontBiz .btn li:nth-child(n+2) {
	margin-top: 3%;
}
.frontBiz .btn li p {
	margin: 1.5em 1.5em 0;
	line-height: 1.75;
	font-size: .875em;
}
/* max 800px	************************************************************************************************ */
@media (max-width: 800px) {
	.frontBiz .btn {
	}
	.frontBiz .btn li,
	.frontBiz .btn li:nth-child(7)  {
		width: 47.5%;
	}
	.frontBiz .btn li:nth-child(n+3) {
		margin-top: 3.5%;
	}
	.frontBiz .btn li a::after {
		height: 100%;
	}
	.frontBiz .btn li a span {
		font-weight: 700;
	}
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	.frontBiz .btn {
	}
	.frontBiz .btn li {
		width: 100% !important;
		margin-top: 0 !important;
		aspect-ratio: auto;
	}
	.frontBiz .btn li:nth-child(n+2) {
		margin-top: 5% !important;
	}
}




/* .askBox	**************************************************************************************************************************************************************************************************************************************************************************** */
.askBox {
	position: relative;
}
.askBox::before {
	content: '';
	display: block;
	position: absolute;
	top: 2em;
	bottom: 2em;
	right: 2em;
	left: 2em;
	border: 3px solid #fff;
	background: var(--colorSec);
	border-radius: 2em;
}
.askBox h2 {
	display: flex;
	flex-flow: column;
	align-items: center;
}
.askBox h2 span {
	font-size: 1em;
	margin-right: 0;
}
.askBox h2 span:nth-child(1) {
	background: var(--colorMain);
	color: #fff;
	font-size: 1.25em;
	padding: .125em .75em;
	border-radius: 9999px;
	margin-bottom: .5em;
}
.askBox h2 span:nth-child(2) {
	font-size: 2em;
	margin-bottom: 1em;
}
.askBox p {
	width: 90%;
	margin: 0 auto;
	text-align: center;
}
.askBox .btn {
	gap: 1em;
}
.askBox .btn li:nth-child(2) a::after {
	display: none;
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
}




/* .ent	**************************************************************************************************************************************************************************************************************************************************************************** */
.ent {
	border-top: 1px dotted var(--colorSub);
}
.ent ul {
	width: 90%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 1px;
}
.ent ul li {
	aspect-ratio: 2/1;
	display: flex;
}
.ent ul li a {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	color: #fff;
	width: 100%;
	padding: 0 15%;
	position: relative;
	display: flex;
	flex-flow: column;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.ent ul li:nth-child(1) a {
	background-image: url(../_img/ent_blog.webp);
}
.ent ul li:nth-child(2) a {
	background-image: url(../_img/image_ws.webp);
}
.ent ul li:nth-child(3) a {
	background-image: url(../_img/ent_point.webp);
}
.ent ul li:nth-child(4) a {
	background-image: url(../_img/image_ent.webp);
}
.ent ul li:nth-child(5) a {
	background-image: url(../_img/ent_company.webp);
}
.ent ul li:nth-child(6) a {
	background-image: url(../_img/image_wb.webp);
}
.ent ul li a h2,
.ent ul li a p {
	position: relative;
	z-index: 1;
	opacity: .5;
	transition: .5s;
}
.ent ul li a h2 {
	font-size: 1.25em;
}
.ent ul li a p {
	font-size: .875em;
	line-height: 1.375;
	margin-top: 1em;
}
.ent ul li a:hover h2,
.ent ul li a:hover p {
	opacity: 1;
}
.ent ul li a::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0%;
	background: #0006;
	transition: .5s;
}
.ent ul li a:hover::after {
	height: 100%;
}
/* max 800px	************************************************************************************************ */
@media (max-width: 800px) {
	.ent ul {
		grid-template-columns: repeat(2,1fr);
	}
	.ent ul li {
		aspect-ratio: 7/3;
	}
	.ent ul li a h2,
	.ent ul li a p {
		opacity: 1;
	}
	.ent ul li a::after {
		height: 100%;
	}
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	.ent ul {
		font-size: 1em;
	}
	.ent ul li a {
		padding: 0 1em;
	}
}
/* max 480px	************************************************************************************************ */
@media (max-width: 480px) {
	.ent ul {
		grid-template-columns: 1fr;
	}
	.ent ul li {
		aspect-ratio: 3/1;
	}
}




/* footer	**************************************************************************************************************************************************************************************************************************************************************************** */
footer {
	background: var(--colorSub);
}
footer .wrap {
	width: 90%;
	margin: 0 auto;
	display: flex;
	flex-flow: wrap row-reverse;
	justify-content: space-between;
	color: #fff;
}
footer .wrap h2 {
	width: 100%;
	text-align: center;
	padding: 5% 0;
}
footer .wrap h2 img {
	width: 25%;
}
footer .wrap .sitemap {
	flex-grow: 1;
	white-space: nowrap;
}
footer .wrap .sitemap>ul {
	list-style: disc;
	display: flex;
	justify-content: flex-end;
	gap: 7.5%;
}
footer .wrap .sitemap>ul>li {
}
footer .wrap .sitemap>ul>li dl {
}
footer .wrap .sitemap>ul>li dl dt {
}
footer .wrap .sitemap>ul>li dl dd {
}
footer .wrap .sitemap>ul>li dl dd ul {
	margin-left: 1.25em;
	list-style: circle;
}
footer .wrap .sitemap>ul>li dl dd ul li {
	margin-top: .75em;
}
footer .wrap .sitemap>ul>li>ul {
	list-style: disc;
}
footer .wrap .sitemap>ul>li>ul>li:nth-child(n+3) {
	margin-top: .75em;
}
footer .wrap .text {
	/* width: 40%; */
}
footer .wrap .text ul {
	list-style: none;
	line-height: 1.375;
}
footer .wrap .text ul li:nth-child(n+2) {
	margin-top: .75em;
}
footer .wrap .text ul li span {
	display: inline-block;
	margin-right: .5em;
}
footer .wrap .text ul li a[href^="tel:"]::before {
	color: #fff;
}
footer .wrap .text ul li dl {
	display: flex;
	gap: .75em;
}
footer .wrap .text ul li dl dt {
	width: 6.5em;
}
footer .wrap .text ul li dl dt::before {
	content: "■";
}
footer .wrap .text ul li dl dd {
	width: calc(100% - 7.25em);
}
footer .wrap .text .bnr {
	margin-top: 1em;
	background: #fff;
}
footer .wrap .text .bnr a,
footer .wrap .text .bnr a picture {
	display: block;
	vertical-align: bottom;
}
footer .wrap .text .bnr a:hover {
	opacity: .8;
}
footer .wrap .text .bnr a img {
	width: 100%;
	height: auto;
}
footer iframe {
	width: 100%;
	height: 20em;
	border: none;
	margin-top: 2.5%;
}
footer small {
	display: block;
	text-align: center;
	color: #fff;
	font-size: 10px;
	padding: 2em 0;
}
/* max 1150px	************************************************************************************************ */
@media (max-width: 1150px) {
	footer .wrap .sitemap,
	footer .wrap .text {
		width: 100%;
	}
	footer .wrap .text {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin-top: 2em;
	}
	footer .wrap .text .bnr {
		margin-top: 0;
	}
	footer .wrap .sitemap>ul {
		justify-content: center;
		gap: 5%;
		white-space: nowrap;
	}
	footer .wrap .sitemap>ul>li dl {
		display: flex;
		flex-flow: column;
	}
	footer .wrap .sitemap>ul>li dl dd ul {
		display: flex;
		flex-flow: wrap;
	}
	footer .wrap .sitemap>ul>li dl dd ul li {
		width: 50%;
	}
	footer .wrap .sitemap>ul>li>ul {
		display: flex;
		flex-flow: wrap;
	}
	footer .wrap .sitemap>ul>li>ul>li {
		width: 50%;
	}
	footer .wrap .sitemap>ul>li>ul>li:nth-child(n+2) {
		margin-top: 0;
	}
	footer .wrap .sitemap>ul>li>ul>li:nth-child(n+3) {
		margin-top: .75em;
	}
}
/* max 800px	************************************************************************************************ */
@media (max-width: 800px) {
	footer .wrap h2 img {
		width: 40%;
		min-width: 250px;
	}
	footer .wrap .sitemap>ul {
		font-size: 10px;
	}
	footer .wrap .text {
		margin-top: 5%;
	}
	footer .wrap .text br {
		display: none;
	}
	footer .wrap .text ul li:nth-child(n+2) {
		display: inline-block;
		margin-top: .5em;
	}
	footer .wrap .text ul li:nth-child(n+3) {
		margin-left: 5%;
	}
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	footer .wrap .text {
		flex-flow: column;
		margin-top: 2em;
	}
	footer .wrap .text .bnr {
		margin-top: 1em;
		width: 100%;
	}
	footer .wrap .sitemap>ul {
		font-size: 1.6rem;
		line-height: 1.75;
		white-space: normal;
		justify-content: flex-start;
		gap: 0;
	}
	footer .wrap .sitemap>ul>li:first-child {
		white-space: nowrap;
		margin-left: 1.25em;
		margin-right: 1em;
	}
	footer .wrap .sitemap>ul>li:last-child {
		list-style: none;
	}
	footer .wrap .sitemap>ul>li>ul {
		justify-content: flex-start;
	}
	footer .wrap .sitemap>ul>li>ul>li {
		width: auto;
		display: list-item;
		margin-left: 1.25em;
		margin-right: 1em;
	}
	footer .wrap .sitemap>ul>li>ul>li:nth-child(n+2) {
		margin-top: 0;
	}
	footer .wrap .sitemap>ul>li>ul>li:nth-child(n+3) {
		margin-top: 0;
	}
}




/* .pages	**************************************************************************************************************************************************************************************************************************************************************************** */
.parallel {
  display: flex;
  justify-content: space-between;
}
.parallel.fRight {
  flex-flow: row;
}
.parallel.fLeft {
  flex-flow: row-reverse;
}
.parallel>figure {
  width: 40%;
}
.parallel>*:not(figure) {
  width: 57.5%;
}
.parallel>figure img {
  width: 100%;
}
.parallel>figure figcaption {
  font-size: .75em;
  margin-top: .75em;
  line-height: 1.375;
}
.parallel.half {
	flex-flow: wrap;
	margin-top: 3.75% !important;
}
.parallel.half>div {
  width: 48.75%;
	display: flex;
	flex-flow: wrap row-reverse;
	justify-content: space-between;
	align-content: flex-start;
}
.parallel.half>div:nth-child(n+3) {
	margin-top: 2.5%;
}
.parallel.half>div .halfTitle {
	width: 100%;
	padding: 0 0 .25em 1em;
}
.parallel.half>div figure {
	width: 40%;
}
.parallel.half>div figure img {
	width: 100%;
}
.parallel.half>div p {
	width: 57.5%;
	margin-top: 0 !important;
}
.parallel.half.list {
	counter-reset: halfListNum 0;
}
.parallel.half.list>div {
	counter-increment: halfListNum 1;
	position: relative;
}
.parallel.half.list>div:nth-of-type(n+3) {
	margin-top: 5%;
}
.parallel.half.list>div::before {
	content: counter(halfListNum);
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: var(--colorSub);
	font-size: 1.375em;
	font-weight: 700;
	width: 1.375em;
	aspect-ratio: 1/1;
	border-radius: 50%;
	position: absolute;
	top: -.5em;
	left: -.5em;
}
.parallel.half.list>div::after {
	display: block;
	font-size: .75em;
	letter-spacing: 0;
	font-weight: 700;
	color: #fff;
	background: var(--colorSub);
	padding: .25em .5em;
	border-radius: 9999px;
	position: absolute;
	top: -2em;
	left: -1.5em;
}
.parallel.half.list.check>div::after {
	content: 'チェック';
}
.parallel.half.list.level>div::after {
	content: '修復レベル';
}
/* dl.table	**************************************************************************************************************************************************** */
dl.table {
	display: grid !important;
	grid-template-columns: 1fr 3fr;
	line-height: 1.375;
	padding: 0 !important;
}
dl.table>* {
	padding: .75em 1em;
}
dl.table>*:nth-of-type(even) {
	background: var(--colorSec50p);
}
dl.table dt {
	font-weight: 700;
}
dl.table dd {
}
dl.table dd ul {
	list-style: none;
}
dl.table dd ul li:nth-child(n+2) {
	/* margin-top: .25em; */
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
}




/* .company	**************************************************************************************************************************************************************************************************************************************************************************** */
.outline dl.table dd.add {
	display: flex;
	flex-flow: column;
	gap: .75em;
}
.outline dl.table dd.add dl {
	display: flex;
}
.outline dl.table dd.add dl dt {
	width: 6em;
}
.outline dl.table dd.add dl dd {
	width: calc(100% - 6em);
}
.outline dl.table dd.add ul,
.outline dl.table dd.permission ul {
	display: flex;
	flex-flow: wrap;
}
.outline dl.table dd.add ul li:nth-child(1) {
	width: 100%;
}
.outline dl.table dd.add ul li:nth-child(n+2) {
	margin-right: 1em;
}
.outline dl.table dd.permission ul li {
	list-style: disc;
	margin-right: 1em;
	margin-left: 1.25em;
}
.greeting p.name {
	text-align: right !important;
}
.greeting p.name span:nth-child(1) {
	font-size: .875em;
}
.greeting p.name span:nth-child(2) {
	font-size: 1.25em;
	margin-left: .5em;
}
.philosophy .read ul {
	list-style: cjk-decimal;
	line-height: 1.375;
	font-size: 1.125em;
	font-weight: 700;
}
.philosophy .read ul li:nth-child(n+2) {
	margin-top: .75em;
}
.policy .read h3 {
	font-size: 2.25em;
	font-weight: 400;
	letter-spacing: .05em;
	text-align: center;
	color: var(--colorSub);
	border-top: 1px solid var(--colorSub);
	border-bottom: 1px solid var(--colorSub);
	padding: .375em 0;
	margin-bottom: .5em;
	background: linear-gradient(90deg,transparent,#fff 40%,#fff 60%,transparent);
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
}




/* .contact	**************************************************************************************************************************************************************************************************************************************************************************** */
.ask .wrap>ul {
	list-style: none;
	width: 75%;
	margin: 0 auto;
	padding: 2.5% 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5%;
}
.ask:nth-of-type(odd) .wrap>ul {
	background: var(--colorSec);
}
.ask:nth-of-type(even) .wrap>ul {
	background: #fff;
}
.ask .wrap>ul li {
}
.ask .wrap>ul li:nth-child(1) {
	font-size: 3em;
	font-weight: 700;
}
.ask .wrap>ul li:nth-child(2) {
	margin-top: .25em;
}
.form form>div {
	width: 75%;
	margin: 7.5% auto 0;
}
.form form>div h3 {
	font-size: 1em;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1em;
}
.form form>div h3::before,
.form form>div h3::after {
	content: '';
	display: block;
	flex-grow: 1;
	height: .0625em;
	background: var(--colorText50p);
}
.form form>div h3 span {
	font-size: 1.5em;
	margin: 0 .5em;
}
.form form>div input[type="text"],
.form form>div input[type="email"],
.form form>div input[type="tel"],
.form form>div textarea {
	border: 1px solid var(--colorText25p);
	width: 100%;
	font-size: inherit;
	font-family: inherit;
	padding: .25em .5em;
	background: #fff;
	outline: none;
}
.form form>div textarea {
	height: 10em;
}
.form form>div input[type="text"]:focus,
.form form>div input[type="email"]:focus,
.form form>div input[type="tel"]:focus,
.form form>div textarea:focus {
	background: #ffc;
}
.form form>div input#Fzip {
	width: 6em;
}
.form form>div input#Ftel,
.form form>div input#Ffax {
	width: 8em;
}
.form form>div *::placeholder {
	color: var(--colorText25p);
}
.form form>div input[type="radio"],
.form form>div input[type="checkbox"] {
	transform: scale(1.5);
	transform-origin: left center;
	margin-right: .75em;
}
.form form>div dl.table {
	margin-top: 2.5%;
}
.form form>div dl.table dd>span {
	font-size: .75em;
	display: block;
}
.form form>div dl.table dt:has(+ dd input[required]) label::before {
	content: '*';
	color: var(--colorMain);
}
.form form>div dl.table dd>ul li {
	display: inline-block;
}
.form form>div dl.table dd>ul li:nth-child(n+2) {
	margin-left: 1.5em;
}
.formRequest ul {
	list-style: none;
	background: var(--colorSec50p);
	margin-top: 2.5%;
	padding: 1.75% 5%;
	display: flex;
	flex-flow: wrap;
}
.formRequest ul li {
	margin-right: 1.5em;
	line-height: 2;
}
.formAsk dl {
	margin-top: 2.5%;
	background: var(--colorSec50p);
	padding: 2.5% 5%;
	display: flex;
	flex-flow: wrap;
}
.formAsk dl dt {
	font-size: 1.125em;
	font-weight: 700;
	width: 100%;
	margin-bottom: .75em;
	display: flex;
	align-items: center;
}
.formAsk dl dt::after {
	content: '';
	display: block;
	flex-grow: 1;
	height: 1px;
	background: var(--colorText);
	margin-left: .25em;
}
.formAsk dl.table dt {
	display: block;
}
.formAsk dl.table dt::after {
	display: none;
}
.formAsk dl dd:nth-of-type(n+2) {
	margin-left: 1.5em;
}
.formBtn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5%;
}
.formBtn input {
	color: #fff;
	border: none;
	padding: .5em 1em;
	border-radius: 1rem;
	box-shadow: 0 .125em .25em #0006;
	cursor: pointer;
	position: relative;
	top: 0;
	transition: .5s;
}
.formBtn input:hover {
	box-shadow: none;
	top: .125em;
}
.formBtn input[type="submit"] {
	background: var(--colorMain);
	font-size: 1.5em;
	font-weight: 700;
}
.formBtn input:not([type="submit"]) {
	background: var(--colorText);
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
}




/* .biz	**************************************************************************************************************************************************************************************************************************************************************************** */
.bizTop {
	list-style: none;
	width: 75%;
	margin: 0 auto;
	display: flex;
	gap: 1px;
	flex-flow: wrap;
	justify-content: space-between;
}
.bizTop>li {
	width: calc((100% - 1px) / 2);
	padding: 0 0 5%;
	display: flex;
	flex-flow: column;
	position: relative;
}
.bizTop>li:nth-child(4n),
.bizTop>li:nth-child(4n+1) {
	background: var(--colorSec50p);
}
.bizTop>li h3 {
	color: #fff;
	font-size: 1.5em;
	letter-spacing: .1em;
	padding: .5em .75em;
	position: relative;
	z-index: 1;
}
.bizTop>li h3 span {
	position: relative;
	order: 1;
}
.bizTop>li h3::before {
	content: '';
	display: block;
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--colorSub);
	mix-blend-mode: multiply;
}
.bizTop>li a:has(img) {
	display: block;
	width: 100%;
	aspect-ratio: 2/1;
	overflow: hidden;
}
.bizTop>li a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .5s;
}
.bizTop>li a:hover img {
	transform: scale(1.1);
}
.bizTop>li p {
	width: 90%;
	line-height: 1.5;
	margin: 5% auto 2.5%;
}
.bizTop>li dl {
	width: 90%;
	line-height: 1.25;
	margin: 2.5% auto 0;
}
.bizTop>li dl dt {
	font-size: 1.125em;
	font-weight: 700;
	margin-bottom: .125em;
}
.bizTop>li dl.list dd {
	display: list-item;
	list-style: disc;
	margin-left: 1.25em;
}
.bizTop>li ul,
.bizTop>li ol {
	width: 90%;
	line-height: 1.25;
	margin: 2.5% auto 0;
	padding-left: 1.25em;
}
.bizTop>li ul {
	list-style: disc;
}
.bizTop>li ol {
	list-style: decimal;
}
.bizTop>li ul li:nth-child(n+2),
.bizTop>li ol li:nth-child(n+2) {
	margin-top: .375em;
}
.bizTop>li div {
	margin-top: 5%;
	text-align: center;
}
.bizTop>li div a {
	color: #fff;
	background: var(--colorMain);
	font-weight: 700;
	padding: .25em .75em;
	border-radius: 9999px;
	box-shadow: 0 .25em .5em #0006;
	position: relative;
	top: 0;
	transition: .5s;
}
.bizTop>li div a:hover {
	box-shadow: none;
	top: .25em;
}
/* max 800px	************************************************************************************************ */
@media (max-width: 800px) {
	.bizTop>li {
		width: 100%;
	}
}

.biz .textContent {
	width: 80%;
	margin: 0 auto;
}
.biz .textContent>*:nth-child(n+2) {
	margin-top: 3.75%;
}
.biz .textContent p {
	line-height: 1.75;
}
.biz .textContent dl,
.biz .textContent ul,
.biz .textContent ol {
	line-height: 1.5;
}
.biz .textContent dl dt {
	font-size: 1.125em;
	font-weight: 700;
}
.biz .textContent dl dd {
	margin-top: .25em;
}
.biz .textContent dl.list dd {
	display: list-item;
	list-style: disc;
	margin-left: 1.25em;
}
.biz .textContent ul,
.biz .textContent ol {
	padding-left: 1.25em;
}
.biz .textContent ul li:nth-child(n+2),
.biz .textContent ol li:nth-child(n+2) {
	margin-top: .25em;
}

.biz .wrap>*:nth-child(n+2) {
  margin-top: 7.5%;
}
.biz .wrap>div h3 {
  font-size: 1em;
  padding: 0 0 .25em .5em;
  margin-bottom: 1.5em;
  border-bottom: 1px solid var(--colorSub);
  border-left: .375em solid var(--colorSub);
  border-radius: 0 0 0 .375em;
}
.biz .wrap>div h3>span {
  font-size: 1.375em;
}
.biz .wrap>div h3>span span {
  display: inline-block;
}
.biz .wrap>div h3>span span.grade {
  font-size: .75em;
  background: var(--colorSub);
  color: #fff;
  padding: .25em .75em;
  border-radius: 9999px;
  margin-right: .5em;
}
.biz .paintType .wrap .box {
	background: #fff;
}
.biz .wrap .box .boxTitle {
  color: var(--colorSub);
  padding: .75em .75em 1em;
  margin-bottom: 0;
  border: none;
  border-radius: 0;
	position: relative;
}
.biz .wrap .box .boxTitle>span {
  font-size: 1.875em;
	font-weight: 400;
	letter-spacing: -.05em;
}
.biz .wrap .box .boxTitle::first-letter {
	font-weight: 700;
	font-size: 1.25em;
}
.biz .wrap .box .boxTitle::after {
	content: '';
	display: block;
	background: var(--colorSub);
	width: 10em;
	height: .25em;
	position: absolute;
	bottom: 0;
}
.biz .wrap .box .boxTitleSub {
  color: var(--colorSub);
	background: #fff;
	text-align: center;
	font-size: 1.25em;
	font-weight: 700;
	padding: .375em 0;
	border: 1px solid var(--colorSub);
	border-radius: 9999px;
}
.biz .wrap .box .boxTitleSub2 {
  border-bottom: 1px solid var(--colorSub);
  border-left: .5em solid var(--colorSub);
	font-size: 1.125em;
	border-radius: 0 0 0 .5em;
	padding: 0 .5em .25em;
}
.biz .wrap .box>figure {
	text-align: center;
	padding: 1.5em 2em;
}
.biz .wrap .box>figure img {
	width: 100%;
}
.biz .wrap .box>div figure {
	float: right;
	width: 30%;
	margin-left: 1em;
}
.biz .wrap .box>div figure.image {
	aspect-ratio: 1/1;
}
.biz .wrap .box>div figure.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.biz .wrap .box>div figure.prdct img {
	width: 100%;
}
.biz .wrap .box>div:has(>figure)::after {
	content: '';
	display: block;
	clear: both;
}
.biz .wrap .box>div dl {
  line-height: 1.5;
}
.biz .wrap .box>div p+dl {
	margin-top: 1.5em;
}
.biz .wrap .box>div dl dt {
	color: var(--colorSub);
	font-weight: 700;
}
.biz .wrap .box>div dl dd {
	font-size: .875em;
}
.biz .wrap .box>div dl dd+dd,
.biz .wrap .box>div dl dd:has(+dd) {
	display: list-item;
	margin-left: 1.25em;
}
.biz .wrap .list ul,
.biz .wrap .list ol {
  list-style: none;
  padding: 1.5em 2em;
  counter-reset: listNum 0;
}
.biz .wrap .list ul li,
.biz .wrap .list ol li {
  line-height: 1.5;
  counter-increment: listNum 1;
  display: flex;
  align-items: flex-start;
	position: relative;
}
.biz .wrap .list ul li:nth-child(n+2),
.biz .wrap .list ol li:nth-child(n+2) {
  margin-top: 1em;
}
.biz .wrap .list ol li:nth-child(n+2) {
  padding-top: 1em;
	border-top: 1px dotted var(--colorSub);
}
.biz .wrap .list ul li::before,
.biz .wrap .list ol li::before {
  content: counter(listNum);
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--colorText);
  color: #fff;
	font-weight: 700;
  width: 1.25em;
  aspect-ratio: 1/1;
  line-height: 1;
  margin: .25em .25em 0 0;
}
.biz .wrap .list ul li::before {
  font-size: .8em;
  border-radius: 50%;
}
.biz .wrap .list ol li::before {
  font-size: 1.25em;
}
.biz .wrap .list ol li dl dt,
.biz .wrap .list ol li strong {
	font-size: 1.125em;
}
.biz .wrap .list ol li:nth-child(n+2)::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 1em solid var(--colorSub);
	border-right: 2em solid transparent;
	border-left: 2em solid transparent;
	position: absolute;
	left: calc(50% - 2em);
	top: -.5em;
}
.biz .wrap .paragraph>div {
  padding: 1.5em 2em;
}
.biz .wrap .paragraph>div>div:not(:last-child),
.biz .wrap .paragraph>div>dl:not(:last-child) {
	margin-bottom: 1em;
  padding-bottom: 1em;
	border-bottom: 1px dotted var(--colorSub);
}
.biz .wrap .paragraph h5 {
	font-size: 1.125em;
}
.biz .wrap .beforeAfter {
	list-style: none;
	width: 75%;
	margin: 2.5% auto 0;
	display: flex;
	justify-content: space-between;
	position: relative;
}
.biz .wrap .beforeAfter:last-child {
	padding-bottom: 5%;
}
.biz .wrap .beforeAfter::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-left: 2em solid var(--colorMain);
	border-top: .75em solid transparent;
	border-bottom: .57em solid transparent;
	position: absolute;
	top: calc(50% - .75em);
	left: calc(50% - 1em);
}
.biz .wrap .beforeAfter li {
	width: 45%;
}
.biz .wrap .beforeAfter li figure {
}
.biz .wrap .beforeAfter li figure img {
	width: 100%;
	aspect-ratio: 3/2;
	object-fit: cover;
}
.biz .wrap .beforeAfter li figure figcaption {
	font-size: .875em;
	text-align: center;
	margin-top: .5em;
}
.biz .wrap>div p {
  line-height: 1.5;
}
.biz .wrap>div.parallel>div dl {
	margin-top: .75em;
  line-height: 1.5;
}
.biz .wrap>div.parallel>div dl dt {
	font-size: 1.125em;
	font-weight: 700;
}
.biz .wrap>div.parallel>div dl dd {
	display: list-item;
	margin-left: 1.25em;
}
.biz .wrap>div p:nth-child(n+2) {
  margin-top: .75em;
}
.biz .wrap>div ul.caution {
  list-style: none;
  margin-top: 1.5em;
  font-size: .75em;
  line-height: 1.375;
}
.biz .wrap>div ul.caution li {
  margin-left: 1em;
  text-indent: -1em;
}
.biz .wrap>div ul.caution li:nth-child(n+2) {
  margin-top: .5em;
}
.biz .wrap>div ul.caution li::before {
  content: '※';
}
.biz .wrap .single>div {
  width: 90%;
  margin: 3.75% auto 0;
}
.biz .wrap .single dl.select {
	display: flex;
	flex-flow: wrap;
	gap: 1px;
}
.biz .wrap .single dl.select dt {
	width: 100%;
	margin-bottom: .5em;
}
.biz .wrap .single dl.select dd {
}
.biz .wrap .single dl.select.s4 dd {
	width: calc((100% - 3px) / 4);
}
.biz .wrap .single dl.select dd a {
	width: 100%;
	aspect-ratio: 3/2;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.biz .wrap .single dl.select dd a img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.biz .wrap .single dl.select dd a span {
	position: relative;
	z-index: 1;
	font-size: 1.5em;
	font-weight: 700;
	color: #fff;
	opacity: .5;
	transition: .5s;
}
.biz .wrap .single dl.select dd a:hover span {
	opacity: 1;
}
.biz .wrap .single dl.select dd a::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0%;
	background: #0006;
	transition: .5s;
}
.biz .wrap .single dl.select dd a:hover::after {
	height: 100%;
}
.biz .wrap .single .photoList {
	list-style: none;
	width: 90%;
	margin: 0 auto;
	display: flex;
	flex-flow: wrap;
	gap: 3.5%;
}
.biz .wrap .single .photoList li {
	width: 31%;
}
.biz .wrap .single .photoList li:nth-child(n+4) {
	margin-top: 3.5%;
}
.biz .wrap .single .photoList.plKitchen li:nth-child(5) {
	width: 65.5%;
}
.biz .wrap .single .photoList li dl {
}
.biz .wrap .single .photoList li dl dt {
	font-size: 1.125em;
	margin-bottom: .25em;
	line-height: 1.25;
}
.biz .wrap .single .photoList li dl dd:has(p) {
	margin-top: .5em;
}
.biz .wrap>div .paint {
  display: grid;
  grid-template-columns: 1fr 2fr;
}
.biz .wrap>div .paint.window {
  display: block;
	border: 1px solid var(--colorSub);
	border-radius: 1.5em;
	padding: 1.5em;
	background: var(--colorSec50p);
}
.biz .wrap>div .paint h4 {
  grid-column: 1/3;
  background: var(--colorSub);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  border-radius: 9999px;
  font-size: 1.25em;
  margin-bottom: .5em;
  text-align: center;
  padding: .375em 0;
}
.biz .wrap>div .paint h4 span.grade {
  background: #fff;
  color: var(--colorSub);
  font-size: .75em;
  padding: .125em .75em;
  border-radius: 9999px;
  margin-right: .5em;
}
.biz .wrap>div .paint figure {
  grid-row: 2/5;
  margin-right: 8%;
}
.biz .wrap>div .paint figure img {
  width: 100%;
}
.biz .wrap>div .paint.tile figure img {
	aspect-ratio: 1/1;
	object-fit: cover;
}
.biz .wrap>div .paint.tile figure figcaption {
	margin-top: .5em;
}
.biz .wrap>div .paint>dl {
	display: flex;
	align-items: baseline;
	padding: .5em 0;
}
.biz .wrap>div .paint>dl dt {
	border: 1px solid var(--colorSub);
	background: #fff;
	padding: .25em .75em;
	border-radius: 9999px;
	margin-right: .5em;
}
.biz .wrap>div .paint .box:has(>dl) {
	counter-reset: dlNum 0;
}
.biz .wrap>div .paint .box dl {
	margin-top: .75em;
	line-height: 1.5;
	counter-increment: dlNum 1;
}
.biz .wrap>div .paint .box dl dt {
	font-size: 1.125em;
	font-weight: 700;
	margin-bottom: .25em;
	display: flex;
	align-items: center;
}
.biz .wrap>div .paint .box dl dt::before {
	content: counter(dlNum);
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: .8em;
	line-height: 1;
	width: 1.25em;
	aspect-ratio: 1/1;
	background: var(--colorText);
	border-radius: 50%;
	color: #fff;
	margin-right: .25em;
}
.biz .wrap>div .paint.window .box dl dt::before {
	display: none;
}
.biz .wrap>div .paint .box dl dd {
}
.biz .wrap>div .paint>.merit {
  display: flex;
  justify-content: space-between;
	margin-top: 2.5%;
}
.biz .wrap>div .paint>.merit+.btn {
	margin-top: 2.5%;
}
.biz .wrap>div .paint>.merit dl {
  width: 48%;
}
.biz .wrap>div .paint>.merit dl dt {
  background: var(--colorSec);
  text-align: center;
  font-size: .875em;
  font-weight: 700;
  padding: .25em 0;
}
.biz .wrap>div .paint>.merit dl dd {
  display: list-item;
  line-height: 1.125;
  margin: .5em 0 0 1.25em;
}
.biz .wrap>div .paint.window ul {
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 1em;
	margin-top: .5em;
	margin-bottom: .5em;
}
.biz .wrap>div .paint.window>ul {
	margin-bottom: 2.5%;
}
.biz .wrap>div .paint.window ul li {
	background: var(--colorGold);
	color: #fff;
	border-radius: 9999px;
	padding: .25em .75em;
}
.biz .wrap>div table.roofType {
	border-collapse: collapse;
	line-height: 1.375;
	margin: 0 auto;
}
.biz .wrap>div table.roofType th,
.biz .wrap>div table.roofType td {
	padding: .5em 1em;
}
.biz .wrap>div table.roofType thead {
	background: var(--colorSub);
	color: #fff;
}
.biz .wrap>div table.roofType thead th:nth-child(n+2) {
	border-left: 1px solid #fff;
}
.biz .wrap>div table.roofType tbody th,
.biz .wrap>div table.roofType tbody td {
	border: 1px solid var(--colorText50p);
	border-top: none;
}
.biz .wrap>div table.roofType tbody th {
	font-weight: 400;
}
.biz .wrap>div table.roofType tbody th strong {
	font-size: 1.125em;
	font-weight: 700;
}
.biz .wrap>div table.roofType tbody td ul li {
	margin-left: 1.25em;
}
.biz .wrap>div table.roofType tbody td ul li:nth-child(n+2) {
	margin-top: .25em;
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
}




/* .faq	**************************************************************************************************************************************************************************************************************************************************************************** */
nav.faqNav {
	padding: 2.5vw 0;
	display: flex;
	justify-content: center;
}
nav.faqNav div {
	background: var(--colorSec50p);
}
nav.faqNav div h2 {
}
nav.faqNav div h2 span {
	background: var(--colorSub);
	color: #fff;
	display: inline-block;
	padding: .25em 1em;
	border-radius: 0 0 .75em 0;
}
nav.faqNav div ul {
	padding: 1.25em 2.5em;
}
nav.faqNav div ul li:nth-child(n+2) {
	margin-top: .75em;
}
nav.faqNav div ul li a {
	text-decoration: underline;
}
nav.faqNav div ul li a:hover {
	text-decoration: none;
}
.faq main .wrap {
	width: 75%;
	margin: 0 auto;
}
.faq main .wrap dl {
	border-radius: 1rem;
	font-size: 2.2rem;
	line-height: 1.75;
}
.faqSec:nth-of-type(odd) .wrap dl {
	background: var(--colorSec50p);
}
.faqSec:nth-of-type(even) .wrap dl {
	background: #fff;
}
.faq main .wrap dl:nth-of-type(n+2) {
	margin-top: 3rem;
}
.faq main .wrap dl dt {
	padding: 1em 1.5em;
	cursor: pointer;
	display: flex;
	align-items: center;
}
.faq main .wrap dl dt::before {
	content: 'Q';
	color: var(--colorMain);
	font-size: 3.4rem;
	font-weight: bold;
	margin-top: -.25em;
	margin-right: 1.6rem;
	align-self: flex-start;
}
.faq main .wrap dl dt::after {
	content: '＋';
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	background: var(--colorMain);
	font-size: 3rem;
	line-height: 1;
	width: 1.25em;
	aspect-ratio: 1/1;
	padding-bottom: .125em;
	margin-left: auto;
	border-radius: 50%;
	outline: 2px solid transparent;
	transition: .5s;
}
.faq main .wrap dl dt:hover::after {
	outline-color: var(--colorMain);
	outline-offset: .75rem;
}
.faq main .wrap dl dt.answer::after {
	content: '−';
	background: var(--colorText50p);
	outline-color: var(--colorText50p);
}
.faq main .wrap dl dt span {
	margin-right: 1em;
	font-weight: 700;
	width: calc(100% - 10rem);
}
.faq main .wrap dl dd {
	padding: 1.25em 1.5em 1.25em calc(1.5em + 4.375rem);
	position: relative;
	display: none;
}
.faq main .wrap dl dd::before {
	content: '';
	display: block;
	background: var(--colorSec);
	width: calc(100% - 3em);
	height: 2px;
	position: absolute;
	top: 0;
	left: 1.5em;
}
.faq main .wrap dl dd div {
}
.faq main .wrap dl dd div>*:nth-child(n+2) {
	margin-top: 1.25em;
}
.faq main .wrap dl dd div>ul,
.faq main .wrap dl dd div>ol {
	padding-left: 1.5em;
}
.faq main .wrap dl dd div>*>li:nth-child(n+2) {
	margin-top: .75em;
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	.faq main .wrap {
		width: 95%;
	}
}




/* .point	**************************************************************************************************************************************************************************************************************************************************************************** */
.point main .wrap {
	width: 75%;
	margin: 0 auto;
}
.point main .wrap h2 {
	font-size: 1.75em;
	line-height: 1.375;
	margin-bottom: 1.5em;
}
.point main .wrap>*:not(h2) {
	padding-bottom: 2.5em;
	margin-bottom: 2.5em;
	border-bottom: 1px solid var(--colorSec);
}
.point main .wrap dl {
}
.point main .wrap dl div {
	border-left: .5em solid var(--colorSub);
	padding-left: 1em;
}
.point main .wrap dl div:nth-child(n+2) {
	margin-top: 1.5em;
}
.point main .wrap dl div dt {
	font-size: 1.375em;
	font-weight: 700;
	line-height: 1.375;
	color: var(--colorMain);
}
.point main .wrap dl div dd {
	line-height: 1.625;
}
.point main .wrap>div {
}
.point main .wrap>div p {
	line-height: 1.625;
}
.point main .wrap>div p:nth-child(n+2) {
	margin-top: 1em;
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	.point main .wrap {
		width: 95%;
	}
}




/* .voice	**************************************************************************************************************************************************************************************************************************************************************************** */
.voiceSec .wrap>section {
	width: 81%;
	margin: 0 auto;
}
.voiceSec .wrap>section:nth-of-type(n+2) {
	margin-top: 5%;
}
.voiceSec .wrap>section header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1em 1.5em;
	background: var(--colorSub);
	border-radius: 1em 1em 0 0;
	cursor: pointer;
}
.voiceSec .wrap>section header h3 {
	color: #fff;
}
.voiceSec .wrap>section header div {
	font-size: .75em;
	font-weight: 700;
	background: #fff;
	padding: .25em .75em;
	border-radius: 9999px;
	margin: 0 5% 0 auto;
}
.voiceSec .wrap>section header::after {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-top: 1.5em solid #fff;
	border-right: .5em solid transparent;
	border-left: .5em solid transparent;
	transform: rotate(90deg);
	transition: .5s;
}
.voiceSec .wrap>section header.down::after {
	transform: rotate(0deg);
}
.voiceSec .wrap>section>div {
	border: 1px solid var(--colorSub);
	border-top: none;
	display: none;
	flex-flow: wrap;
	border-radius: 0 0 1em 1em;
}
.voiceSec .wrap>section>div figure:nth-of-type(1) {
	width: 40%;
}
.voiceSec .wrap>section>div figure:nth-of-type(1) img {
	width: 100%;
}
.voiceSec .wrap>section>div p {
	width: 60%;
	padding: 1.5em;
	line-height: 1.75;
}
.voiceSec .wrap>section>div figure:nth-of-type(2) {
	width: 100%;
	padding: 5% 0;
}
.voiceSec .wrap>section>div figure:nth-of-type(2) img {
	display: block;
	width: 90%;
	margin: 0 auto;
	border: 1px solid var(--colorSec);
}
.voiceSec .wrap>section>div figure.movie {
	width: 90%;
	margin: 2.5% 5%;
	position: relative;
}
.voiceSec .wrap>section>div figure.movie figcaption {
	font-size: .75em;
	line-height: 1.375;
	margin-bottom: 1.25em;
}
.voiceSec .wrap>section>div figure.movie figcaption::before {
	content: '※';
}
.voiceSec .wrap>section>div figure.movie video {
	width: 100%;
}
.voiceSec .wrap>section>div figure.movie .mBtn {
	width: 5em;
	aspect-ratio: 1/1;
	position: absolute;
	top: 45%;
	left: 50%;
	translate: -50% 0;
	cursor: pointer;
	transition: .5s;
}
.voiceSec .wrap>section>div figure.movie .mBtn:hover {
	transform: scale(1.1);
}
.voiceSec .wrap>section>div figure.movie .mBtn.playActive {
	opacity: 0;
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	.voiceSec .wrap>section {
		width: 90%;
	}
	.voiceSec .wrap>section header {
		flex-flow: column;
		align-items: flex-start;
		gap: .75em;
		position: relative;
	}
	.voiceSec .wrap>section header div {
		margin: 0;
	}
	.voiceSec .wrap>section header::after {
		position: absolute;
		inset: 50% 5% auto auto;
		translate: 0 -50%;
	}
}




/* body.archive	**************************************************************************************************************************************************************************************************************************************************************************** */
.articleWrap {
	display: flex;
	flex-flow: wrap;
}
.articleWrap article {
	width: 28%;
	border: 1px solid var(--colorText25p);
	margin: 4% 0 0 4%;
}
.articleWrap article header {
	padding: 1em;
	background: var(--colorSec50p);
	display: flex;
	flex-flow: column;
	gap: .5em;
}
.articleWrap article header .entry-title {
	font-size: 1.25em;
	line-height: 1.25;
}
.articleWrap article header .entry-title a:hover {
	text-decoration: underline;
}
.articleWrap article header .entry-date {
	order: -1;
}
.articleWrap article .entry-summary {
	font-size: .875em;
	padding: 1em;
	line-height: 1.375;
}
.pagination {
}
.pagination .nav-links {
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: 1em;
}
.pagination .nav-links .page-numbers {
	border: 1px solid var(--colorGold);
	padding: .5em;
}
.pagination .nav-links .page-numbers:hover {
	border: 1px solid var(--colorMain);
}
.pagination .nav-links .current {
	font-weight: 900;
	border: 1px solid transparent;
}
.pagination .nav-links .prev,
.pagination .nav-links .next {
	border: 1px solid var(--colorGold);
	background: #fff;
	padding: .5em .75em;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	gap: .5em;
	transition: .5s;
}
.pagination .nav-links .prev:hover,
.pagination .nav-links .next:hover {
	translate: 0 -.5em;
	box-shadow: 0 .25em .5em #0003;
}
.pagination .nav-links .prev::before,
.pagination .nav-links .next::after {
	content: '';
	display: block;
	border-top: .5em solid transparent;
	border-bottom: .5em solid transparent;
	transition: .5s;
}
.pagination .nav-links .prev::before {
	border-right: 1em solid var(--colorGold);
}
.pagination .nav-links .prev:hover::before {
	translate: -1em 0;
}
.pagination .nav-links .next::after {
	border-left: 1em solid var(--colorGold);
}
.pagination .nav-links .next:hover::after {
	translate: 1em 0;
}
/* max 800px	************************************************************************************************ */
@media (max-width: 800px) {
	.articleWrap article {
		width: 41%;
		margin: 6% 0 0 6%;
	}
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	.articleWrap article {
		width: 90%;
		margin: 5% 0 0 5%;
	}
}




/* News **************************************************************************************************************************************************************************************************************************************************************************** */
.newsDiv {
	padding: 7.5vw 10% !important;
}
.newsDiv header {
	text-align: center;
	padding-bottom: 1em;
	margin-bottom: 1em;
}
.newsDiv header time {
	display: inline-block;
	border: 1px solid var(--colorSub);
	padding: .375em 1em;
	border-radius: 9999px;
}
.newsDiv .entry-content {
	line-height: 1.75;
}
.newsDiv .entry-content>* {
	margin-top: 1.5em;
}
.footer nav {
	padding: 0 5%;
}
.footer nav .nav-links {
	display: flex;
	justify-content: space-between;
}
.footer nav .nav-links .nav-next:only-child {
	margin-left: auto;
}
.footer nav .nav-links a {
	border: 1px solid var(--colorGold);
	background: #fff;
	font-size: .875em;
	padding: .5em .75em;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	gap: .5em;
	transition: .5s;
}
.footer nav .nav-links a:hover {
	translate: 0 -.5em;
	box-shadow: 0 .25em .5em #0003;
}
.footer nav .nav-links a span::before {
	content: '';
	display: block;
	border-top: .5em solid transparent;
	border-bottom: .5em solid transparent;
	transition: .5s;
}
.footer nav .nav-links .nav-previous a span::before {
	border-right: 1em solid var(--colorGold);
}
.footer nav .nav-links .nav-previous a.hover span::before {
	translate: -1em 0;
}
.footer nav .nav-links .nav-next a span::before {
	border-left: 1em solid var(--colorGold);
}
.footer nav .nav-links .nav-next a.hover span::before {
	translate: 1em 0;
}




/* Case	**************************************************************************************************************************************************************************************************************************************************************************** */
.caseDiv {
	padding: 7.5vw 10% !important;
}
.caseDiv>*:nth-child(n+2) {
	margin-top: 5vw;
}
.bAndA {
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	position: relative;
}
.bAndA:empty {
	display: none;
}
.bAndA li {
	position: relative;
}
.bAndA li:nth-child(1) {
	width: 40%;
}
.bAndA li:nth-child(2) {
	width: 57.5%;
}
.bAndA li figure {
}
.bAndA li figure img {
	max-height: none;
	height: auto;
}
.bAndA li figure figcaption {
	color: #fff;
	padding: .25em .75em;
	position: absolute;
}
.bAndA li:nth-child(1) figure figcaption {
	font-size: 1em;
	font-weight: 700;
	background: var(--colorSub);
	bottom: 0;
	left: 0;
}
.bAndA li:nth-child(2) figure figcaption {
	font-size: 1.5em;
	font-weight: 900;
	background: var(--colorMain);
	top: 0;
	right: 0;
}
.bAndA li:nth-child(1)::before,
.bAndA li:nth-child(1)::after {
	content: '';
	display: block;
	position: absolute;
}
.bAndA li:nth-child(1)::before {
	width: 0;
	height: 0;
	border-left: 1.5em solid var(--colorSub);
	border-top: 1.5em solid transparent;
	border-bottom: 1.5em solid transparent;
	right: -1em;
	top: -6.125em;
}
.bAndA li:nth-child(1)::after {
	width: 10em;
	aspect-ratio: 1/1;
	border: .5em dotted var(--colorSub);
	border-radius: 50%;
	clip-path: inset(0 50% 50% 0);
	right: -5em;
	top: -5em;
}
.caseMovie {
	width: 100%;
	aspect-ratio: 16/9;
	margin: 0 auto;
}
.caseMovie video {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.caseFree {
	line-height: 1.75;
	text-align: justify;
}
.caseFree>*:nth-child(n+2) {
	margin-top: 1.5em;
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	.bAndA {
		flex-flow: column;
		align-items: flex-start;
		gap: 1em;
	}
	.bAndA li:nth-child(1) {
		width: 60%;
	}
	.bAndA li:nth-child(2) {
		width: 100%;
	}
	.bAndA li:nth-child(1)::before {
		border-top: 1.5em solid var(--colorSub);
		border-left: 1.5em solid transparent;
		border-right: 1.5em solid transparent;
		border-bottom: none;
		right: -6.125em;
		top: auto;
		bottom: 0;
	}
	.bAndA li:nth-child(1)::after {
		clip-path: inset(0 0 50% 50%);
		top: auto;
		bottom: -5em;
	}
}
/* max 450px	************************************************************************************************ */
@media (max-width: 450px) {
	.bAndA li:nth-child(1) {
		width: 75%;
	}
}




/* .open	**************************************************************************************************************************************************************************************************************************************************************************** */
.open {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	animation: openDiv .5s 2s linear both;
}
@keyframes openDiv {
	100% {
		background: transparent;
		display: none;
	}
}
.open.active {
	animation: none;
	display: none;
}
.open::before {
	content: '';
	display: block;
	background: var(--colorSec);
	width: 100%;
	height: 100vh;
	position: absolute;
	z-index: -1;
	top: 0;
}
.open img {
	width: 20%;
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	animation: openImg 2.5s linear both;
}
@keyframes openImg {
	0% {
		top: 0;
		translate: -50% -100%;
		animation-timing-function: ease-in;
	}
	25% {
		top: 50%;
		translate: -50% -50%;
	}
	26% {
		transform-origin: center bottom;
		animation-timing-function: ease-out;
		scale: 1 1;
	}
	40% {
		transform-origin: center bottom;
		animation-timing-function: ease-in;
		scale: 1.5 .75;
	}
	50% {
		top: 50%;
		transform-origin: center bottom;
		animation-timing-function: ease-out;
		scale: 1 1;
	}
	60% {
		top: 30%;
		animation-timing-function: ease-in;
	}
	70% {
		top: 50%;
		animation-timing-function: ease-out;
		scale: 1 1;
	}
	80% {
		top: 50%;
		transform-origin: center bottom;
		animation-timing-function: ease-out;
		scale: 1.25 .875;
	}
	85% {
		top: 50%;
		transform-origin: center bottom;
		animation-timing-function: cubic-bezier(0,.35,.65,1);
		scale: 1 1;
		opacity: 1;
	}
	100% {
		top: 0;
		transform-origin: center bottom;
		scale: 3 3;
		opacity: 0;
	}
}

html {
	overflow-y: scroll;
}
.index {
	height: 100vh;
	overflow: hidden;
	animation: indexHeight 0s 2.5s both;
}
.index.active {
	height: auto;
	overflow: visible;
	animation: none;
}
@keyframes indexHeight {
	100% {
		height: auto;
		overflow: visible;
	}
}
.pages main::before {
	content: '';
	display: block;
	width: 15%;
	aspect-ratio: 100/124;
	background: url(../_img/sanmamo.webp) no-repeat center/cover;
	position: absolute;
	right: 5%;
	top: 50vh;
	z-index: 9998;
	translate: 0 -70%;
}
/* body>header .logo {
	position: relative;
} */
body>header .logo::after {
	content: '';
	display: block;
	width: 20%;
	aspect-ratio: 100/124;
	background: url(../_img/sanmamo.webp) no-repeat center/cover;
	position: absolute;
	top: 150%;
	right: 10%;
	transition: .5s;
	animation: logoSanmamo .5s 3s linear both;
}
body.pages>header .logo::after {
	display: none;
}
@keyframes logoSanmamo {
	0% {
		top: -455%;
		animation-timing-function: ease-out;
	}
}
body.active>header .logo::after,
body.pages>header .logo::after {
	animation: none;
}
body.index>header .logo.escape::after {
	right: 0;
	translate: 100% 0;
}
footer .wrap h2 {
	position: relative;
}
footer .wrap h2 img {
	margin-right: 10%;
}
footer .wrap h2::after {
	content: '';
	display: block;
	height: 8em;
	aspect-ratio: 100/124;
	background: url(../_img/sanmamo.webp) no-repeat center/cover;
	position: absolute;
	top: 50%;
	left: 60%;
	translate: 0 -50%;
}
/* max 800px	************************************************************************************************ */
@media (max-width: 800px) {
	.open img {
		width: 40%;
	}
	.pages main::before {
		width: 25%;
	}
	body>header .logo::after {
		width: 40%;
		top: -25%;
		left: 110%;
	}
	footer .wrap h2::after {
		height: 7em;
		left: 67.5%;
	}
}
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
	.open img {
		width: 65%;
	}
	.pages main::before {
		width: 30%;
	}
	body>header .logo {
		width: 40%;
	}
	body>header .logo::after {
		display: none;
	}
	footer .wrap h2::after {
		height: 5em;
		left: calc((100% - 250px) / 2 + 250px);
	}
}




/* .div	**************************************************************************************************************************************************************************************************************************************************************************** */
/* max 600px	************************************************************************************************ */
@media (max-width: 600px) {
}





.form {
	display: none;
}
.form.testOpen {
	display: block;
}