@charset "utf-8";/* --------------------------------------------------- *//* Main Visual *//* --------------------------------------------------- */#mv {	position: relative;	box-sizing: border-box;	padding: 0 4%;	width: 100%;	height: 100vh;	min-height: 640px;	overflow: hidden;}#mv > ul {	position: absolute;	top: 0;	bottom: 0;	left: 0;	right: 0;	display: flex;	flex-wrap: wrap;	width: 100%;	height: 100%;}#mv > ul li {	width: 50%;	height: 50%;	background-size: cover;	background-position: 50% 50%;}#mv h1 {	position: absolute;	top: 50%;	left: 50%;	width: 66.66%;	max-width: 480px;	transform: translate(-50%, -50%);}#mv .sitetitle {	position: absolute;	top: 50%;	left: 50%;	margin-left: 272px;	width: 90%;	height: 420px;	transform: translateY(-50%);}#mv .sitetitle p {	display: block;	writing-mode: vertical-rl;	font-size: 3.6rem;	line-height: 1.5;}#mv .sitetitle p span {	margin: 0 0.2em;	padding: 0.5em 0;	background-color: rgba(255, 255, 255, 0.9);	font-weight: 500;}#mv .sitetitle p span:first-child { margin: 0 0 0 0.35em; padding: 0.80em 0.4em; font-size: 66.66%;  }@media screen and (max-width: 1120px) {	#mv h1 { max-width: 420px; }	#mv .sitetitle { margin-left: 240px; }}@media screen and (max-width: 960px) {	#mv h1 { max-width: 320px; }	#mv .sitetitle { margin-left: 176px; }}@media screen and (max-width: 767px) {	#mv { min-height: 560px; }	#mv > ul li {		width: 100%;		height: 50%;	}	#mv > ul li:nth-child(2),	#mv > ul li:nth-child(3) { display: none; }	#mv h1 {		max-width: 240px;		transform: translate(-50%, -20%);	}	#mv .sitetitle {		top: 12%;		left: 8%;		margin-left: 0;		width: 90%;		height: 360px;		transform: none;	}	#mv .sitetitle p { writing-mode: horizontal-tb; }	#mv .sitetitle p span {		margin: 0.15em 0;		padding: 0 0.25em ;	}	#mv .sitetitle p span:first-child { margin: 0 0 0.2em; padding: 0.40em 0.4em; }}@media screen and (max-width: 420px) {	#mv .sitetitle {		top: 12%;		left: 8%;	}	#mv .sitetitle p { font-size: 2.8rem; }	#mv .sitetitle p span:first-child { margin: 0 0 0.25em; }}/* --------------------------------------------------- *//* Intro *//* --------------------------------------------------- */#intro {}#intro .tags {	display: flex;	flex-wrap: wrap;	align-items: center;	justify-content: center;	gap: 0 2%;	margin: 0 auto;	width: 100%;	max-width: 960px;}#intro .tags > div {	display: flex;	align-items: center;	justify-content: center;	gap: 0 5%;}#intro .tags > div:nth-child(odd) { width: 36%; }#intro .tags > div:nth-child(even) { width: 24%; }#intro .tags figure {	padding: 2px;	background-color: #9dc92a;	border-radius: 50%;}#intro .lead h2 {	font-size: 5.6rem;	font-weight: 600;	line-height: 1.5;	text-align: center;}#intro .lead h2 span {	font-family: "Jost", sans-serif;	font-size: 66.66%;}#intro .lead h2 em { position: relative; }#intro .lead h2 em::before {	content: '';	position: absolute;	top: 70%;	left: -1%;	display: block;	width: 102%;	height: 20%;	background-color: #f7ed80;}#intro .lead h2 em strong {	position: relative;	z-index: 1;}#intro .lead h2 span em strong {	color: #9dc92a;	font-size: 200%;}#intro .lead p {	font-size: 1.8rem;	font-weight: 400;	line-height: 2.5;	text-align: center;}@media screen and (max-width: 767px) {	#intro .tags {		width: 100%;	}	#intro .lead h2 { font-size: 7.5vw; }}@media screen and (max-width: 540px) {	#intro .tags {		gap: 0 1%;	}	#intro .tags > div {		flex-direction: column;		align-items: center;		justify-content: center;		gap: 1.0em 0;	}	#intro .tags > div:nth-child(odd) { width: 30%; }	#intro .tags > div:nth-child(even) { width: 38%; }	#intro .lead p { line-height: 2.0; text-align: left; }	#intro .lead p span { display: inline; }	#intro .lead p br { display: none; }}@media screen and (max-width: 420px) {	#intro .tags span {		padding: 0.2em 0.3em;		width: 32%;		font-size: 3.5vw;	}	#intro .lead h2 { font-size: 8.0vw; }	#intro .lead p { font-size: 1.6rem; }}/* --------------------------------------------------- *//* trust *//* --------------------------------------------------- */#trust { position: relative; }#trust .arrow {	position: absolute;	top: 0;	left: 50%;	display: block;	width: 50%;	height: 91%;	background: linear-gradient(to bottom, transparent 5%, #ebf0c4 66%, #d5f0a2 98%);	transform: translateX(-50%);	opacity: 0.5;}#trust .arrow::after {	content: '';	position: absolute;	top: 99.5%;	left: 50%;	display: block;	width: 180%;	height: 320px;	background-color: #d5f0a2;	clip-path: polygon(0 0, 100% 0, 50% 100%);	transform: translateX(-50%);}#trust .block-lm { position: relative; }#trust h2 {	font-size: 4.2rem;	font-weight: 600;	line-height: 1.4;	text-align: center;}#trust .pannels {	position: relative;	display: flex;	justify-content: space-between;}#trust .pannels > div:first-child {	box-sizing: border-box;	padding: 3.0em 2.0em 2.0em 2.0em;	width: 26%;	background-color: #9dc92a;	border-radius: 0 24px 24px 0;}#trust .pannels > div:last-child {	display: flex;	flex-wrap: wrap;	justify-content: space-between;	gap: 1.0em;	width: 72.5%;}#trust .pannels > div:last-child > div {	box-sizing: border-box;	padding: 1.25em  2.0em  2.0em  2.0em;	width: 49%;	background-color: #9dc92a;}#trust .pannels > div:last-child > div:nth-child(odd) {	border-radius: 24px;}#trust .pannels > div:last-child > div:nth-child(even) {	border-radius: 24px 0 0 24px;}#trust .pannels div[data-num] {	position: relative;}#trust .pannels div[data-num='1'] { padding-top: 112px; }#trust .pannels div[data-num='2'],#trust .pannels div[data-num='3'],#trust .pannels div[data-num='4'],#trust .pannels div[data-num='5'] { padding: 20px 0 0 128px; }#trust .pannels div[data-num]::before {	content: attr(data-num)'';	position: absolute;	top: 0;	left: 0;	display: block;	padding-top: 48px;	width: 96px;	background-image: url('../../img/renovation/trust-num.png');	background-repeat: no-repeat;	background-size: contain;	background-position: 50% 0;	color: #fff;	font-family: "Jost", sans-serif;	font-size: 3.6rem;	font-weight: 600;	text-align: center;}#trust .pannels div[data-num] p,#trust .pannels div[data-num] em {	position: relative;	display: inline-block;	color: #fff;	font-size: 2.8rem;	font-weight: 600;	line-height: 1.4;}#trust .pannels div[data-num] em::before {	content: '';	position: absolute;	top: 73%;	left: -2%;	display: block;	width: 104%;	height: 20%;	background-color: #dce045;}#trust .pannels div[data-num] span { position: relative; z-index: 1; }@media screen and (max-width: 1180px) {	#trust .pannels {		flex-direction: column;		gap: 1.0em;		margin-left: auto;		margin-right: auto;		width: 86%;	}	#trust .pannels > div:first-child {		display: flex;		justify-content: center;		padding: 1.25em 2.0em 2.0em 2.0em;		width: 100%;		border-radius: 18px;	}	#trust .pannels > div:last-child {		gap: 1.0em 0;		width: 100%;	}	#trust .pannels > div:last-child > div {		padding: 1.25em  4%  2.0em;		width: 49.0%;	}	#trust .pannels > div:last-child > div:nth-child(odd),	#trust .pannels > div:last-child > div:nth-child(even) { border-radius: 18px; }	#trust .pannels div[data-num='1'],	#trust .pannels div[data-num='2'],	#trust .pannels div[data-num='3'],	#trust .pannels div[data-num='4'],	#trust .pannels div[data-num='5'] { padding: 12px 0 0 104px; }	#trust .pannels div[data-num]::before {		padding-top: 40px;		width: 80px;		font-size: 3.2rem;	}	#trust .pannels div[data-num] p,	#trust .pannels div[data-num] em {		font-size: 2.4rem;		line-height: 1.4;	}}@media screen and (max-width: 860px) {	#trust .arrow { height: 95%; }	#trust .arrow::after {		width: 160%;		height: 240px;	}	#trust .pannels div[data-num='1'],	#trust .pannels div[data-num='2'],	#trust .pannels div[data-num='3'],	#trust .pannels div[data-num='4'],	#trust .pannels div[data-num='5'] { padding: 96px 0 0 0; text-align: center; }	#trust .pannels div[data-num]::before {		left: 50%;		transform: translateX(-50%);	}}@media screen and (max-width: 640px) {	#trust .arrow { height: 97%; }	#trust .arrow::after {		width: 160%;		height: 160px;	}	#trust h2 { font-size: 3.6rem; }	#trust .pannels {		gap: 0.75em;		width: 90%;	}	#trust .pannels > div:last-child {		gap: 0.75em 0;		width: 100%;	}}@media screen and (max-width: 540px) {	#trust .pannels > div:last-child > div {		padding: 1.25em  4%  2.0em;		width: 48.5%;	}	#trust .pannels div[data-num] p,	#trust .pannels div[data-num] em { font-size: 2.1rem; }}@media screen and (max-width: 480px) {	#trust .arrow { height: 99%; }	#trust .arrow::after {		width: 160%;		height: 128px;	}	#trust h2 { font-size: 2.8rem; }	#trust .pannels > div:first-child {		display: block;		padding: 0.8em 4% 1.0em;		width: 100%;		border-radius: 12px;	}	#trust .pannels > div:last-child > div {		padding: 0.5em 4% 1.0em;		width: 100%;	}	#trust .pannels > div:last-child > div:nth-child(odd),	#trust .pannels > div:last-child > div:nth-child(even) { border-radius: 12px; }	#trust .pannels div[data-num]::before {		padding-top: 36px;		width: 72px;		font-size: 2.8rem;	}	#trust .pannels div[data-num='1'],	#trust .pannels div[data-num='2'],	#trust .pannels div[data-num='3'],	#trust .pannels div[data-num='4'],	#trust .pannels div[data-num='5'] {		padding: 12px 0 0 88px;		margin: 0 auto;		width: 100%;		max-width: 336px;		text-align: left;	}	#trust .pannels div[data-num]::before {		left: 0;		transform: none;	}}/* --------------------------------------------------- *//* Warranty *//* --------------------------------------------------- */#warranty {	background: linear-gradient(to bottom, transparent, #f7f9dc 33%);}#warranty .block-lm { position: relative; max-width: 1280px;  }#warranty h2 {	font-size: 4.2rem;	font-weight: 600;	line-height: 1.4;	text-align: center;}#warranty .double {	display: flex;	justify-content: space-between;}#warranty .item { width: 47.5%; }#warranty .item h3 {	position: relative;	display: flex;	justify-content: center;	align-items: center;	gap: 0 0.5em;}#warranty .item h3::before {	content: '';	position: absolute;	top: 50%;	left: 0;	right: 0;	display: block;	width: 100%;	height: 3.0em;	background-color: #9dc92a;	transform: translateY(-50%);}#warranty .item h3 span {	position: relative;	z-index: 1;	color: #fff;	font-size: 2.4rem;	font-weight: 500;}#warranty .item h3 em {	position: relative;	z-index: 1;	display: flex;	flex-direction: column;	justify-content: center;	align-items: center;	width: 96px;	height: 96px;	background-color: #fff;	border: 4px solid #9dc92a;	border-radius: 50%;	color: #9dc92a;	font-size: 3.6rem;	font-weight: 600;	line-height: 1.1;}#warranty .item h3 em::before {	content: attr(data-label)'';	font-size: 2.1rem;}#warranty .item h3 em strong { position: relative; 	font-family: "Jost", sans-serif; }#warranty .item h3 em strong::after {	content: '年';	position: absolute;	left: 100%;	bottom: 0.4em;	font-family: "Noto Sans JP", sans-serif;	font-size: 1.6rem;}#warranty .item p em {	color: #f40;	font-size: 133.33%;	font-weight: 500;}#warranty .item p a { color: #9dc92a; text-decoration: underline; }#warranty .item .marks {	display: flex;	align-items: flex-end;	gap: 0 3%;	margin-left: auto;	margin-right: auto;	max-width: 720px;}#warranty .item .marks > div {	display: flex;	align-items: flex-end;	justify-content: space-between;}#warranty .item .marks > div:first-child { width: 39%; }#warranty .item .marks > div:last-child { width: 58%; }#warranty .item .marks > div:last-child figure {	width: 48%;}#warranty h4 {	position: relative;	box-sizing: border-box;	margin-left: auto;	margin-right: auto;	padding: 1.0em;	max-width: 800px;	background-color: #fff;	color: #9dc92a;	font-size: 3.2rem;	line-height: 1.4;	font-weight: 600;	text-align: center;}#warranty h4::before,#warranty h4::after {	content: '';	box-sizing: border-box;	position: absolute;	top: 0;	bottom: 0;	display: block;	width: 2.0em;	height: 100%;	border-top: 8px solid #9dc92a;	border-bottom: 8px solid #9dc92a;}#warranty h4::before { left: 0; border-left: 8px solid #9dc92a; }#warranty h4::after { right: 0; border-right: 8px solid #9dc92a; }@media screen and (max-width: 960px) {	#warranty .item .marks {		gap: 0 5%;	}	#warranty .item .marks > div {		flex-direction: column;		gap: 0.75em;	}	#warranty .item .marks > div:first-child { width: 63%; }	#warranty .item .marks > div:last-child { width: 32%; }	#warranty .item .marks > div:last-child figure {		width: 100%;	}}@media screen and (max-width: 767px) {	#warranty h2 { font-size: 3.6rem; }	#warranty .double {		flex-direction: column;		gap: 3.0em 0;	}	#warranty .item { width: 100%; }	#warranty .item .marks {		flex-direction: row;		gap: 0 5%;	}	#warranty .item .marks > div {		flex-direction: row;	}	#warranty .item .marks > div:first-child { width: 38%; }	#warranty .item .marks > div:last-child { width: 57%; }	#warranty .item .marks > div:last-child figure {		width: 48%;	}	#warranty h4 { font-size: 2.4rem; }	#warranty h4::before,	#warranty h4::after {		width: 1.75em;		border-top: 6px solid #9dc92a;		border-bottom: 6px solid #9dc92a;	}	#warranty h4::before { border-left: 6px solid #9dc92a; }	#warranty h4::after { border-right: 6px solid #9dc92a; }}@media screen and (max-width: 420px) {	#warranty h2 { font-size: 8.0vw; }	#warranty .item h3 { gap: 0 0.25em; }	#warranty .item h3::before { height: 2.5em; }	#warranty .item h3 span { font-size: 1.8rem; }	#warranty .item h3 em {		width: 80px;		height: 80px;		border: 3px solid #9dc92a;		font-size: 3.2rem;	}	#warranty .item h3 em::before {		font-size: 1.6rem;	}	#warranty .item h3 em strong::after {		bottom: 0.6em;		font-size: 1.3rem;	}	#warranty .item .marks { gap: 0 5%; }	#warranty .item .marks > div {		flex-direction: column;		gap: 0.75em;	}	#warranty .item .marks > div:first-child { width: 63%; }	#warranty .item .marks > div:last-child { width: 32%; }	#warranty .item .marks > div:last-child figure {		width: 100%;	}	#warranty h4 { font-size: 2.1rem; }	#warranty h4::before,	#warranty h4::after {		width: 1.5em;		border-top: 4px solid #9dc92a;		border-bottom: 4px solid #9dc92a;	}	#warranty h4::before { border-left: 4px solid #9dc92a; }	#warranty h4::after { border-right: 4px solid #9dc92a; }}/* --------------------------------------------------- *//* Gallery *//* --------------------------------------------------- */#gallery .case {	display: flex;	justify-content: space-between;	visibility: hidden;	opacity: 0.0;	height: 0.00001px;	transition: all .5s;}#gallery .case.active {	visibility: visible;	height: auto;	opacity: 1.0;}#gallery .case .casehead { width: 40%; }#gallery .case .voice { width: 55%; }#gallery .case .casetitle {	display: flex;	flex-wrap: wrap;	align-items: center;	gap: 0.75em 0;}#gallery .case h3 {	width: 160px;	font-family: "Jost", sans-serif;	font-size: 7.2rem;	font-weight: 600;	line-height: 1.2;}#gallery .case h5 {	width: 100%;	font-size: 2.1rem;	font-weight: 500;	line-height: 1.5;}#gallery .case .labels { width: 160px; }#gallery .case .labels p {	display: block;	padding: 0.2em 0;	color: #fff;	font-size: 1.4rem;	font-weight: 500;	text-align: center;}#gallery .case .labels p:first-child { background-color: #f05a24; }#gallery .case .labels p:last-child { background-color: #9dc92a; }#gallery .case .cover {	position: relative;}#gallery .case .cover .pic {	position: relative;	display: block;	width: 100%;	padding-top: 90%;	background-color: #f9f9f9;}#gallery .case .cover figure {	display: block;	width: auto;	max-width: 97%;	height: auto;	max-height: 97%;}#gallery .case .cover figure img {	position: absolute;	top: 50%;	left: 50%;	width: auto;	max-width: 97%;	height: auto;	max-height: 97%;	transform: translate(-50%, -50%);}#gallery .case .cover p {	position: absolute;	left: 0;	top: 100%;	padding: 6px 0 0 128px;}#gallery .case .cover figure::after {	content: attr(data-type)'';	position: absolute;	top: 100%;	left: -4px;	display: block;	width: 112px;	background-color: #f05a24;	color: #fff;	font-family: "Jost", sans-serif;	font-size: 2.1rem;	font-weight: 500;	text-align: center;	line-height: 2.4;	transform: translateY(-12px);}#gallery .case .cover figure[data-type=After]::after {	background-color: #f05a24;	color: #fff;}#gallery .case .cover figure[data-type=Before]::after {	background-color: #ddd;	color: #555;}#gallery .case .selecter {	display: flex;	flex-wrap: wrap;	gap: 0.75em 2.66%;	font-size: 1.6rem;}#gallery .case .selecter li {	position: relative;	width: 23%;	background-repeat: no-repeat;	background-size: cover;	background-position: 50% 50%;	cursor: pointer;	transition: all .5s;}#gallery .case .selecter li:hover { opacity: 0.5; }#gallery .case .selecter li a {	display: block;	padding-top: 66.66%;	width: 100%;}#gallery .case .voice dl dt {	padding: 0.5em 0.75em;	background-color: #f3f3f3;	border-top: 2px solid #ddd;}#gallery .case .voice dl dd {	padding: 0.75em 0 2.0em;}#gallery .case .voice h4 {	font-size: 1.8rem;	font-weight: 500;}@media screen and (max-width: 960px) {	#gallery .case {		display: flex;		flex-direction: column;		justify-content: space-between;		gap: 4.0em;	}	#gallery .case .casehead,	#gallery .case .voice { width: 100%; }	#gallery .case .pics {		margin-left: auto;		margin-right: auto;		width: 100%;		max-width: 560px;	}}@media screen and (max-width: 420px) {	#gallery .case .casetitle {		justify-content: space-between;		gap: 0.75em 0;	}	#gallery .case h3 {		width: auto;		font-size: 6.4rem;	}	#gallery .case h5 { font-size: 1.8rem; }	#gallery .case .labels { width: 128px; }	#gallery .case .labels p { font-size: 1.3rem; }	#gallery .case .cover p {		top: 100%;		padding: 4px 0 0 88px;	}	#gallery .case .cover figure::after {		top: 100%;		left: -4px;		width: 80px;		line-height: 2.0;		transform: translateY(-12px);	}	#gallery .case .voice h4 { font-size: 1.6rem; }	#gallery .case .voice p { font-size: 1.4rem; }}#gallery .album-tab {	position: relative;	padding-top: 2.0em;}#gallery .btn-wrap {	position: absolute;	top: 0;	left: 50%;	margin: 0 auto;	width: 280px;	background-color: #fff;	border: 2px solid #9dc92a;	border-radius: 12px 12px 12px 12px;	transform: translateX(-50%);}#gallery .btn-wrap .btn-switch {	display: block;	padding: 0.25em 2.0em 0.25em 0.75em;	color: #9dc92a;	font-size: 1.6rem;	font-weight: 500;}#gallery .btn-wrap .btn-switch::after {	content:'+';	position: absolute;	top: 0.10em;	right: 0.5em;	font-size: 2.8rem;	font-weight: 300;	line-height: 1.0;	transition: all .6s;}#gallery .btn-wrap .btn-switch.opened::after {	top: 0.20em;	transform: rotate(225deg);}#gallery .btn-wrap .switcher {	display: flex;	flex-direction: column;	gap: 2px 0;//	padding: 0 0.75em 1.0em;	font-size: 1.6rem;}#gallery .btn-wrap .switcher li {}#gallery .btn-wrap .switcher li a  {	display: block;	padding: 0.5em 0;	background-color: #f6f6f6;	font-size: 1.2rem;	font-weight: 500;}#gallery .btn-wrap .switcher li:last-child a {	border-radius: 0 0 9px 9px;}#gallery .btn-wrap .switcher li a.selected {	background-color: #9dc92a;	color: #fff;}#gallery .btn-wrap .switcher li a span:first-child {	width: 54px;	font-family: "Jost", sans-serif;	font-size: 110%;	text-align: center;}#gallery .btn-wrap .switcher li a span:nth-child(2) { width: 80px; }@media screen and (min-width: 768px) {	#gallery .album-tab { display: none; }}#gallery .album-btn {	position: relative;	display: flex;	flex-wrap: wrap;	gap: 1.0em 2%;}#gallery .album-btn::before {	content: '他のリフォーム事例';	position: absolute;	top: 0;	left: 0;	display: block;	width: 100%;	color: #9dc92a;	font-size: 2.1rem;	font-weight: 500;	text-align: center;	transform: translateY(-150%);}#gallery .album-btn > a {	display: flex;	width: 23.5%;	border-radius: 9px;	box-shadow: 1px 1px 12px rgba(0, 0, 0, 0.1);}#gallery .album-btn > a figure {	width: 25%;	background-size: cover;	background-position: 50% 50%;	border-radius: 8px 0 0 8px;}#gallery .album-btn > a div {	width: 75%;	display: flex;	flex-direction: column;	justify-content: space-between;}#gallery .album-btn > a div p {	display: block;	padding: 0.25em 0.5em;	background-color: #fff;	font-size: 1.3rem;	font-weight: 500;	transition: all .3s;}#gallery .album-btn > a div p span {	margin-right: 0.75em;	font-family: "Jost", sans-serif;	font-size: 1.4rem;}#gallery .album-btn > a div p:first-child {	padding: 0.5em 0.5em 0;	border-radius: 0 8px 0 0;}#gallery .album-btn > a div p:last-child {	padding: 0 0.5em 0.5em;	border-radius: 0 0 8px 0;}#gallery .album-btn > a:hover {	box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.25);}#gallery .album-btn > a.selected div p:first-child,#gallery .album-btn > a:hover div p:first-child {	padding: 0.25em 0.5em;	color: #fff;	background-color: #f05a24;}#gallery .album-btn > a.selected div p:last-child,#gallery .album-btn > a:hover div p:last-child {	padding: 0.25em 0.5em;	color: #fff;	background-color: #9dc92a;}#gallery .album-btn > a.selected div p:first-child { background-color: rgba(240, 90, 36, 0.15 ); color: #f05a24; }#gallery .album-btn > a.selected div p:last-child { background-color: rgba(157, 201, 42, 0.2 ); color: #9dc92a; }@media screen and (max-width: 960px) {	#gallery .album-btn {		display: flex;		flex-wrap: wrap;		gap: 0.75em 1.5%;	}	#gallery .album-btn > a {		display: flex;		width: 32%;		border-radius: 9px;		box-shadow: 1px 1px 12px rgba(0, 0, 0, 0.1);	}}@media screen and (max-width: 767px) {	#gallery .album-btn { display: none; }}@media screen and (max-width: 420px) {}/* --------------------------------------------------- *//* Flow *//* --------------------------------------------------- */#flow {	background: linear-gradient(to bottom, #f8f9ef, #ebf0c4);}#flow .block-lm { max-width: 1280px; }#flow .chart {	display: flex;	justify-content: center;	gap: 2.0em;}#flow .chart > div {	position: relative;	width: 25%;}#flow .chart > div::before {	content: '';	display: block;	padding-top: 100%;	width: 100%;}#flow .chart > div::after {	content: '';	position: absolute;	top: 50%;	left: 100%;	display: block;	margin-left: -0.10em;	width: 0.000em;	height: 0.000em;	border-top: 10px solid transparent;	border-left: 10px solid transparent;	border-right: 10px solid #9dc92a;	border-bottom: 10px solid #9dc92a;	transform: translateY(-50%) rotate(-45deg);}#flow .chart > div:last-child::after { display: none; }#flow .chart dl {	position: absolute;	top: 0;	bottom: 0;	left: 0;	right: 0;	display: flex;	flex-direction: column;	align-items: center;	width: 100%;	background-color: #fff;	border-radius: 50%;}#flow .chart dl dt {	display: flex;	flex-direction: column;	align-items: center;	justify-content: flex-end;	height: 40%;}#flow .chart dl dd {	flex: 1 0 auto;	padding: 0 0.5em;}#flow .chart h4 {	font-size: 2.1rem;	font-weight: 500;	line-height: 1.4;	text-align: center;}#flow .chart dt p {	color: #9dc92a;	font-family: "Jost", sans-serif;	font-size: 2.1rem;	font-weight: 600;}@media screen and (max-width: 1040px) {	#flow .chart { gap: 1.0em; }	#flow .chart > div::after {		border-top: 6px solid transparent;		border-left: 6px solid transparent;		border-right: 6px solid #9dc92a;		border-bottom: 6px solid #9dc92a;	}	#flow .chart h4 { font-size: 1.6rem; }	#flow .chart dt p { font-size: 1.6rem; }}@media screen and (max-width: 767px) {	#flow .chart {		flex-direction: column;		gap: 2.0em;	}	#flow .chart > div { width: 100%; }	#flow .chart > div::before { display: none; }	#flow .chart > div::after {		top: 100%;		left: 50%;		border-top: 8px solid transparent;		border-left: 8px solid transparent;		border-right: 8px solid #9dc92a;		border-bottom: 8px solid #9dc92a;		transform: translateY(25%) rotate(45deg);	}	#flow .chart > div:last-child::after { display: none; }	#flow .chart dl {		position: static;		display: flex;		flex-direction: row;		align-items: initial;		width: 100%;		background-color: transparent;		border-radius: 0;	}	#flow .chart dl dt {		display: flex;		flex-direction: column;		align-items: center;		justify-content: center;		width: 80px;		height: auto;		background-color: #9dc92a;		border-radius: 5px 0 0 5px;	}	#flow .chart dl dd {		padding: 1.0em 64px 1.0em 0;		background-color: #fff;		border-radius: 0 5px 5px 0;	}	#flow .chart h4 { font-size: 1.8rem; }	#flow .chart dt p {		color: #fff;		font-size: 1.6rem;	}}@media screen and (max-width: 420px) {	#flow .chart {		flex-direction: column;		gap: 1.5em;	}	#flow .chart > div::after {		top: 100%;		left: 50%;		border-top: 5px solid transparent;		border-left: 5px solid transparent;		border-right: 5px solid #9dc92a;		border-bottom: 5px solid #9dc92a;		transform: translateY(35%) rotate(45deg);	}	#flow .chart dl dt {		display: flex;		flex-direction: column;		align-items: center;		justify-content: center;		width: 64px;		height: auto;		background-color: #9dc92a;		border-radius: 5px 0 0 5px;	}	#flow .chart dl dd {		padding: 1.0em 0.5em 1.0em 0.5em;	}	#flow .chart h4 {  text-align: left; }	#flow .chart dt p { font-size: 1.4rem; }}/* --------------------------------------------------- *//* FAQ *//* --------------------------------------------------- */#faq .qalist { border-top: 1px dotted #ddd; }#faq .qalist h4,#faq .qalist p { position: relative; }#faq .qalist h4 {	margin-top: 2.0em;	padding: 0 0 0 3.6em;	color: #000;	font-size: 1.8rem;	font-weight: 500;}#faq .qalist p {	margin-top: 2.0em;	padding: 0 0 2.0em 4.0em;	border-bottom: 1px dotted #ddd;	color: #333;}#faq .qalist h4::before,#faq .qalist p::before {	position: absolute;	top: -0.25em;	left: 0;	width: 48px;	border-radius: 50%;	color: #fff;	font-family: "Jost", sans-serif;	font-size: 3.2rem;	font-weight: 600;	line-height: 48px;	text-align: center;}#faq .qalist h4::before { content: 'Q'; background-color: #9dc92a; }#faq .qalist p::before { content: 'A'; background-color: #f7e5ea; color: #b30432; }@media screen and (max-width: 420px) {	#faq .qalist h4 {		margin-top: 1.25em;		padding: 0 0 0 2.4em;		color: #000;		font-size: 1.8rem;		font-weight: 500;	}	#faq .qalist p {		margin-top: 1.25em;		padding: 0 0 1.5em 2.75em;		border-bottom: 1px dotted #ddd;		color: #333;	}	#faq .qalist h4::before,	#faq .qalist p::before {		position: absolute;		top: -0.10em;		left: 0;		width: 36px;		border-radius: 50%;		font-size: 2.4rem;		line-height: 36px;	}}/* --------------------------------------------------- *//* Contact *//* --------------------------------------------------- */#contact { background-color: #f6f6f6; }#contact h2 {	font-size: 3.6rem;	font-weight: 600;	text-align: center;}#contact p a { text-decoration: underline; }#contact .area {	display: flex;	justify-content: center;	margin-left: auto;	margin-right: auto;	width: 100%;	max-width: 560px;}#contact .area > div:first-child {	box-sizing: border-box;	display: flex;	align-items: center;	padding: 0 1.0em;	width: 104px;	background-color: #9dc92a;	border-radius: 128px 0 0 128px;	color: #fff;}#contact .area > div:last-child {	box-sizing: border-box;	display: flex;	align-items: center;	padding: 0.5em 1.0em;	width: calc(100% - 104px);	background-color: #fff;	border-radius: 0 128px 128px 0;	border: 2px solid #9dc92a;}#contact .area h5 {	color: #fff;	font-size: 1.4rem;	font-weight: 600;}#contact .announce {	padding: 1.25em 4% 1.0em;	background-color: #fff;	border: 3px solid #9dc92a;}#contact .step {	display: flex;	justify-content: center;	align-items: center;	gap: 0 0.75em;	margin: 2.0em auto 2.0em;}#contact .step div {	position: relative;	padding: 0.25em;	width: 160px;	background-color: #e9e9e9;	font-size: 1.4rem;	text-align: center;}#contact .step div:nth-child(-n+2)::after {	content: '';	position: absolute;	left: 99.5%;	top: 0;	bottom: 0;	display: block;	width: 0.65em;	height: 100%;	background-color: #e9e9e9;	clip-path: polygon(0 0, 100% 50%, 0 100%);}#contact .step div.active,#contact .step div.active::after {	background-color: #9dc92a;	color: #fff;}#contact.thanks .block-lm { max-width: 800px; }#contact h3 {	font-size: 2.1rem;	font-weight: 500;	line-height: 1.4;	text-align: center;}@media screen and (max-width: 767px) {	#contact h2 { font-size: 3.2rem; }}@media screen and (max-width: 420px) {	#contact h2 { font-size: 2.8rem; }	#contact .area { flex-direction: column; }	#contact .area > div:first-child {		padding: 0.25em 1.0em 0;		width: 100%;		border-radius: 8px 8px 0 0;	}	#contact .area > div:last-child {		padding: 0.75em 1.0em;		width: 100%;		border-radius: 0 0 8px 8px;	}	#contact .step {		gap: 0 0.6em;		margin: 1.5em auto 2.0em;	}	#contact .step div {		padding: 0.25em 0.2em;		font-size: 1.1rem;	}}/* --------------------------------------------------- *//* Form *//* --------------------------------------------------- */#contact form dl {	display: table;	width: 100%;	border-bottom: 1px solid #ddd;}#contact form dl:first-child { border-top: 1px solid #ddd; }#contact form dl dt {	position: relative;	padding: 0 0 0;	width: 160px;	float: left;}#contact form dl dd {	padding: 0 0 1.5em 192px;}#contact form dl dt:first-child,#contact form dl dd:nth-child(2) { padding-top: 1.5em; }#contact form dl dt.required::after {	content: '必須';	position: absolute;	left: 95%;	bottom: 1.0em;	display: block;	width: 32px;	background-color: #d00;	color: #fff;	font-size: 1.0rem;	text-align: center;}#contact form dl dt h4 { display: inline-block; line-height: 2.5; }#contact.confirm form dl dt.required::after { display: none; }#contact.confirm p.note { display: none; }@media screen and (max-width: 767px) {	#contact form dl dt {		position: relative;		padding: 0 0 0;		width: 100%;		float: none;	}	#contact form dl dd {		padding: 0 0 1.5em 0;	}	#contact form dl dd:nth-child(2) { padding-top: 0; }	#contact form dl dt.required::after {		position: static;		display: inline-block;		margin-left: 0.5em;		vertical-align: 0.25em;	}	#contact form dl dt h4 { line-height: 2.5; }}form *:focus { outline: none; }form .selectwrap { position: relative; display: table; }form .selectwrap::after {	content: '';	position: absolute;	top: 15px;	right: 15px;	display: block;	width: 7px;	height: 7px;	border-bottom: 1px solid #333;	border-right: 1px solid #333;	transform: rotateZ(45deg);	pointer-events: none;}.confirm form .selectwrap::after { display: none; }form select {	-webkit-appearance: none;	-moz-appearance: none;	appearance: none;	display: table;	padding: 5px 30px 5px 12px;	width: 100%;	height: 40px;	border: 1px;	font-size: 1.8rem;	line-height: 30px;	background-color: #f2f1f1;	border: 0;	border-radius: 4px;	box-sizing: border-box;	cursor: pointer;}select::-ms-expand {	display: none;}select:-moz-focusring { 	color: transparent; 	text-shadow: 0 0 0 #828c9a;}form input[type=text],form input[type=email],form input[type=password],form input[type=tel] {	-webkit-appearance: none;	-moz-appearance: none;	appearance: none;	padding: 4px 10px;	background-color: #fff;	border: 0;}form input[type=text],form input[type=email],form input[type=password],form input[type=tel] {	display: inline-block;	box-sizing: border-box;	border-radius: 4px;	font-size: 1.8rem;	line-height: 2.2;	height: 2.5em;	border: 1px solid #9dc92a;	transition: all 0.2s;}:placeholder-shown { color: #ddd; }::-webkit-input-placeholder { padding-top: 5px;　color: #ddd; font-size: 1.2rem; line-height: 2.2; }:-moz-placeholder { color: #ddd; font-size: 1.2rem; line-height: 2.2; opacity: 1; }:-ms-input-placeholder { padding-top: -5px; color: #ddd; font-size: 1.2rem; line-height: 2.2; }form textarea {	-webkit-appearance: none;	-moz-appearance: none;	appearance: none;	font-size: 1.6rem;	padding: 4px 10px;	background-color: #fff;	border: 0;	border: 1px solid #9dc92a;	box-sizing: border-box;	border-radius: 4px;	font-size: 1.8rem;	line-height: 2.2;	transition: all 0.2s;}form button,form input[type=button],form input[type=submit],form input[type=reset] {	-webkit-appearance: none;	-moz-appearance: none;	appearance: none;	display: block;	width: 100%;	max-width: 240px;	min-width: 240px;	border: 0;	background-color: #fff;	border: 1px solid #111;	border-radius: 120px;	color: #111;	font-size: 1.8rem;	font-weight: 600;	line-height: 48px;	text-align: center;	transition: all .3s;	cursor: pointer;}form input[type=submit] {	margin: 0 auto;	border-color: #fd8b11;	background-color: #fd8b11;	color: #fff;}.btn-form {position: relative;}.btn-form::after {	content: '';	position: absolute;	top: 50%;	right: 1.25em;	display: block;	width: 9px;	height: 9px;	border-top: 1px solid #007b49;	border-right: 1px solid #007b49;	transform: translateY(-50%) rotate(45deg);}.btn-form.prev::after {	border-top: 1px solid #fff;	border-right: 1px solid #fff;} form .btn-form.prev input[type=submit] {	border-color: #a0a0a0;	background-color: #a0a0a0;	color: #fff;}form input[type=submit].btn-back {	border-color: #bbb;	background-color: #bbb;	color: #fff;}form button:hover,form input[type=button]:hover,form input[type=reset]:hover { opacity: 0.7; }form input[type=submit]:hover,form input[type=submit]:active {	border-color: #ffcc00;	background-color: #fd8b11;	color: #fff;}form input[type=submit].btn-back:hover {	border-color: #bbb;	background-color: #fff;	color: #999;}form label { 	display: inline-block; 	vertical-align: middle;	font-size: 1.6rem;	line-height: 24px; }form label input[type=radio],form label input[type=checkbox] {	display: inline-block;	margin-right: 0.25em;	vertical-align: -1px;}form .w-line label {	display: inline-block;	margin-right: 20px;}form .v-line label { display: block; margin-top: 8px; }form .v-line span {	display: block;	margin-top: 8px;}form .v-line label span { display: inline-block; }form .v-line span:first-child { margin-top: 0; }form .v-line input[type=text] { margin-top: 5px; }form .h-line label {	position: relative;	padding-left: 24px;}form .h-line label input {	position: absolute;	top: 0;	left: 0;}form label em {	display: inline-block;	margin-right: 5px;	width: 18px;	color: #bbb;	text-align: center;}/* フォームサイズ指定 *//* --------------------------------------------------- */.wide-l { width: 98%; }.wide-m { width: 60%; }.wide-s { width: 200px; }form textarea { height: 240px; }@media screen and (max-width: 767px) {	.wide-l { width: 100%; }	form textarea { height: 180px; }}@media screen and (max-width: 420px) {	.wide-m { width: 100%; }	.wide-s { width:100px; }	form textarea { height: 120px; }	form button,	form input[type=button],	form input[type=submit],	form input[type=reset] {		font-size: 1.6rem;		line-height: 42px;	}}/* ContactForm7 *//* --------------------------------------------------- */.wpcf7-form-control-wrap { display: block; }.wpcf7-not-valid-tip { font-size: 1.2rem; }/* --------------------------------------------------- *//* Privacy *//* --------------------------------------------------- */#privacy h2 {	font-size: 3.6rem;	font-weight: 600;	text-align: center;}#privacy h3 {	padding-bottom: 0.25em;	border-bottom: 1px solid #ccc;}#privacy h3 span {	display: block;	text-indent: -1.0em;	padding-left: 1.0em;	font-size: 1.8rem;	font-weight: 500;}#privacy h3 + p,#privacy p + p  { color: #555; }@media screen and (max-width: 767px) {	#privacy h2 { font-size: 3.2rem; }}@media screen and (max-width: 420px) {	#privacy h2 { font-size: 2.8rem; }}/* --------------------------------------------------- *//* BasicBreakPoint *//* --------------------------------------------------- */@media screen and (max-width: 767px) {}@media screen and (max-width: 420px) {}