@charset "utf-8";/* --------------------------------------------------- *//* フォーマット *//* --------------------------------------------------- */body {	color: #111;	background-color: #fff;}/* --------------------------------------------------- *//* Font *//* --------------------------------------------------- */.noto-sans {	font-family: "Noto Sans JP", sans-serif;//	font-weight: 400, 500, 600;}.jost {	font-family: "Jost", sans-serif;//	font-weight: 400, 500, 600;}/* --------------------------------------------------- *//* ローディング *//* --------------------------------------------------- */#loading {	position: fixed;	top: 0;	left: 0;	display: flex;	justify-content: center;	align-items: center;	width: 100%;	height: 100vh;	background-color: #fff;	z-index: 999;}#loading::before {	content: '';	position: absolute;	top: 50%;	left: 50%;	display: block;	width: 160px;	height: 160px;	background-image: url('../../img/renovation/w-security.png');	background-repeat: no-repeat;	background-size: contain;	background-position: 50% 50%;	transform: translate(-50%, -70%);}#loading::after {	content: '';	position: absolute;	top: 50%;	left: 50%;	display: block;	width: 144px;	height: 36px;	background-image: url('../../img/common/logo.svg');	background-repeat: no-repeat;	background-size: contain;	background-position: 50% 50%;	transform: translate(-50%, 130%);}/* --------------------------------------------------- *//* レイアウト *//* --------------------------------------------------- */.wrap {	box-sizing: border-box;	margin: 0;	padding: 0;	display: flex;	flex-direction: column;	width: 100%;	height: auto;	min-width: 320px;	min-height: 100vh;	overflow-x: hidden;}.wrap.fixed { position: fixed; }main {	flex: 1 0 auto;	background-color: #fff;}@media screen and (max-width: 960px) {}@media screen and (max-width: 640px) {}@media screen and (max-width: 420px) {}/* --------------------------------------------------- *//* ヘッダー *//* --------------------------------------------------- */header {  }header .logo {	position: fixed;	top: 1.0em;	left: 3%;	display: block;	width: 256px;	z-index: 777;}header .anv90th::after {	content: '';	position: absolute;	top: 50%;	left: 105%;	display: none;	width: 80px;	height: 150%;	background-image: url('../../img/common/90th.png');	background-repeat: no-repeat;	background-size: contain;	background-position: 50% 50%;	transform: translateY(-45%);}#home header .anv90th::after { display: block; }header nav {	position: fixed;	top: 0;	right: 0;	display: flex;	width: 480px;	z-index: 777;	opacity: 1.0;	transition: all 0.6s;}header nav a {	display: flex;	flex-direction: column;	align-items: center;	justify-content: center;	width: 50%;	height: 3.5em;	color: #fff;	line-height: 1.1;}header nav a:hover { opacity: 0.5; }header a span {	position: relative;	display: inline-block;}header a span::before {	content: '';	position: absolute;	left: 0;	top: 50%;	display: block;	width: 42px;	height: 42px;	background-repeat: no-repeat;	background-size: contain;	transform: translateY(-50%);}header .btn-contact { background-color: #9dc92a; }header .btn-contact span {	padding-left: 3.0em;	font-weight: 500;}header .btn-contact span::before { background-image: url('../../img/renovation/btn-mail.png'); }header .btn-phone { background-color: #b40432; }header .btn-phone span {	padding-left: 4.75em;	font-size: 1.0rem;	font-weight: 500;}header .btn-phone span em {	display: block;	font-family: "Jost", sans-serif;	font-size: 2.1rem;	font-weight: 400;	line-height: 1.2;}header .btn-phone span::before { background-image: url('../../img/renovation/btn-phone.png'); }@media screen and (max-width: 960px) {	header .logo {		top: 0.75em;		width: 224px;	}	header nav { width: 400px; }}@media screen and (max-width: 767px) {	header .logo {		top: 0.75em;		width: 180px;	}	header .anv90th::after {		left: 100%;		width: 72px;	}	header nav {		top: initial;		bottom: 0;		left: 0;		right: 0;		display: flex;		width: 100%;	}	header nav.remove { opacity: 0.0; visibility: hidden; }}@media screen and (max-width: 420px) {	header .logo {		top: 0.5em;		width: 160px;	}	header .anv90th::after { width: 64px; }	header nav a {		display: flex;		flex-direction: column;		align-items: center;		justify-content: center;		width: 50%;		height: 3.5em;		color: #fff;		line-height: 1.1;	}	header a span::before {		content: '';		position: absolute;		left: 0;		top: 50%;		display: block;		width: 32px;		height: 32px;		background-repeat: no-repeat;		background-size: contain;		transform: translateY(-50%);	}	header .btn-contact span {		padding-left: 2.75em;		font-size: 1.4rem;	}	header .btn-phone span {		padding-left: 3.50em;		font-size: 1.0rem;		font-weight: 500;	}	header .btn-phone span em { font-size: 1.8rem; }}/* --------------------------------------------------- *//* フッター *//* --------------------------------------------------- */footer .ft_upper { background-color: #9dc92a; }footer .reception {	display: flex;	justify-content: center;}footer .freedial {	padding-right: 2.0em;	width: 288px;	border-right: 1px solid rgba(255, 255, 255, 0.5);}footer .freedial p {	color: #fff;	font-size: 1.8rem;	font-weight: 500;}footer .freedial a {	color: #fff;	font-family: "Jost", sans-serif;	font-size: 250%;	font-weight: 500;	line-height: 1.2;}footer .area {	padding-left: 2.0em;	width: calc(100% - 320px);	max-width: 480px;}footer .area h3 {	display: inline-block;	margin-bottom: 0.5em;	padding: 0 1.0em;	background-color: #fff;	border-radius: 100px;	color: #9dc92a;	font-weight: 600;	text-align: center;}footer .area p {	color: #fff;	font-size: 1.8rem;}footer .ft_bottom { background-color: #f7f9dc; }footer .credit {	display: flex;	justify-content: space-between;}footer .credit address { padding-right: 4%; }footer .credit .logo {	margin-bottom: 1.0em;	width: 256px;}footer .credit address p {	color: #666;	font-size: 1.2rem;}footer .credit nav ul {	display: flex;	flex-wrap: wrap;	gap: 0 3%;	width: 480px;	font-size: 1.6rem;}footer .credit nav > p {	font-family: "Jost", sans-serif;	font-size: 1.2rem;	font-weight: 500;}footer .credit nav ul li {	padding: 0.15em 0;	width: 31%;	border-bottom: 1px solid rgba(157, 201, 42, 0.4 );	text-align: center;}footer .credit nav ul li:nth-child(-n+3) { border-top: 1px solid rgba(157, 201, 42, 0.4 ); }footer .credit nav ul li a {	color: #666;	font-size: 1.3rem;}footer .copyright {	color: #999;	font-size: 1.0rem;	text-align: center;}@media screen and (max-width: 1040px) {	footer .credit nav ul {		gap: 0 3%;		width: 320px;		font-size: 1.6rem;	}	footer .credit nav ul li {		padding: 0.15em 0;		width: 48.5%;	}	footer .credit nav ul li:nth-child(-n+3) { border-top: none; }	footer .credit nav ul li:nth-child(-n+2) { border-top: 1px solid rgba(157, 201, 42, 0.4 ); }}@media screen and (max-width: 767px) {	footer .reception {		flex-direction: column;		gap: 1.0em 0;	}	footer .freedial {		padding-right: 0;		width: 100%;		border-right: none;		text-align: center;	}	footer .freedial p {		font-size: 1.8rem;	}	footer .area {		padding-left: 0;		width: 100%;		max-width: initial;		text-align: center;	}	footer .area h3 {		width: 256px;		border-radius: 128px;		font-size: 1.4rem;	}	footer .area p { font-size: 1.6rem; }	footer .credit {		flex-direction: column-reverse;		gap: 2.5em 0;		margin: 0 auto;		width: 90%;	}	footer .credit address {		padding-right: 0;		width: 100%;		text-align: center;	}	footer .credit .logo {		margin: 0 auto 1.0em;		width: 256px;	}	footer .credit nav ul {		gap: 0 3%;		width: 100%;		font-size: 1.6rem;	}	footer .credit nav ul li { width: 31%; }	footer .credit nav ul li:nth-child(-n+3) { border-top: 1px solid rgba(157, 201, 42, 0.4 ); }}@media screen and (max-width: 540px) {	footer .credit nav ul li { width: 48.5%; }	footer .credit nav ul li:nth-child(-n+3) { border-top: none; }	footer .credit nav ul li:nth-child(-n+2) { border-top: 1px solid rgba(157, 201, 42, 0.4 ); }}@media screen and (max-width: 420px) {	footer .credit .logo { width: 224px; }	footer .credit nav ul li a { font-size: 1.2rem; }}/* --------------------------------------------------- *//* ボタン *//* --------------------------------------------------- */.btn-area {	margin-left: auto;	margin-right: auto;	width: 90%;}.btn-area p {	margin-bottom: 0.75em;	color: #fd8b11;	font-size: 2.1rem;	font-weight: 500;	text-align: center;}.btn-mail {	margin: 0 auto;	width: 90%;	max-width: 420px;	text-align: center;}.btn-mail a {	display: block;	background: linear-gradient(to right, #f4d455, #fd8b11);	border-radius: 160px;	box-shadow: 2px 2px 16px rgba(0, 0, 0, 0.15);	color: #fff;	font-size: 2.1rem;	font-weight: 600;	line-height: 3.00;}.btn-mail a:hover {	opacity: 0.5;	box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.05);}.btn-back  {	margin: 0 auto;	width: 90%;	max-width: 240px;	text-align: center;}.btn-back a {	display: block;	border-radius: 160px;	background-color: #9dc92a;	color: #fff;	font-size: 1.6rem;	font-weight: 600;	line-height: 2.5;	}.btn-back a:hover { opacity: 0.5; }@media screen and (max-width: 420px) {	.btn-area p { font-size: 1.8rem; }	.btn-mail a { font-size: 1.8rem; }}/* --------------------------------------------------- *//* タイトル *//* --------------------------------------------------- */section h2.engtitle {	font-size: 1.8rem;	font-weight: 500;	text-align: center;}section h2.engtitle::before {	content: attr(data-eng)'';	display: block;	font-family: "Jost", sans-serif;	font-size: 250%;	line-height: 1.3;	font-weight: 600;}@media screen and (max-width: 540px) {	section h2.engtitle { font-size: 1.6rem; }	section h2.engtitle::before { font-size: 8.0vw; }}/* --------------------------------------------------- *//* BasicBreakPoint *//* --------------------------------------------------- */@media screen and (max-width: 767px) {}@media screen and (max-width: 420px) {}