@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

@font-face {
	font-family: "UDShinGoProBold";
	src: url("../../assets/fonts/A-OTF-UDShinGoPro-Bold.otf") format("opentype");
}

/* !HTML5 elements
---------------------------------------------------------- */
header,
footer,
nav,
section,
aside,
article {
	display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
	border: none;
}

ul,
ol,
li {
	list-style: none;
}

img {
	max-width: 100%;
	vertical-align: top;
}

table {
	border-collapse: collapse;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}

select::-ms-expand {
	display: none;
}

input[type="radio"]::-ms-check,
input[type="checkbox"]::-ms-check {
	display: none;
}

select,
input[type="radio"],
input[type="checkbox"],
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="reset"],
input[type="button"],
input[type="submit"],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

input[type="text"]::-ms-clear,
input[type="tel"]::-ms-clear,
input[type="number"]::-ms-clear {
	display: none;
}

input[type="reset"],
input[type="button"],
input[type="submit"] {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	cursor: pointer;
}

*,
*:before,
*::after {
	box-sizing: border-box;
}
/* !Clearfix
---------------------------------------------------------- */
.clearfix {
	display: block;
	min-height: 1%;
}

.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}

* html .clearfix {
	height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
	overflow-y: scroll;
	font-size: 62.5%;
}

/*** タブレット 751x ~ 1200px***/
@media screen and (min-width: 751px) and (max-width: 1200px) {
	html {
		font-size: 0.83vw;
	}
}

body {
	font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.6rem;
	-webkit-text-size-adjust: none;
	line-height: 1.5;
	font-weight: normal;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.eng-font {
	font-family: "Lato", sans-serif;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
	color: #000;
	text-decoration: none;
	transition: all 0.5s;
}

a:hover {
	text-decoration: none;
	transition: all 0.5s;
}

.op img,
.op input,
.op button {
	transition: opacity 0.5s ease-out;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media screen and (min-width: 960px) {
	.op:hover img,
	.op:hover input,
	.op:hover button {
		opacity: 1;
		transition: opacity 0.5s ease-out;
	}
}

.is-hide {
	display: none;
}

.is-pc {
	display: block;
}

.is-sp {
	display: none;
}

/* !wrapper
---------------------------------------------------------- */
#wrapper {
	overflow: hidden;
}

.price_table_scroll {
	padding-bottom: 3rem;
}

/* !header
---------------------------------------------------------- */
#header {
	padding-top: 3rem;
}

.header-inner {
	max-width: 150rem;
	padding: 0 2rem;
	width: 100%;
	margin: 0 auto;
}

.header-logo img {
	display: block;
	width: 29.4rem;
}

@media screen and (max-width: 1500px) {
	.header-inner {
		padding: 0 5rem;
	}
}

.back-img {
	background: url(../img/top/common_bg.jpg) repeat;
	background-size: 100% auto;
}

/* !main Visual
---------------------------------------------------------- */
#main-visual {
	padding: 2.5rem 0 10rem;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1;
}

.main-visual__info {
	width: 53rem;
	margin: 30px auto 0;
}

.main-visual__info .info-words {
	border-bottom: dashed #6d5335 0.3rem;
	padding-bottom: 2.1rem;
}

.main-visual__info .green {
	max-width: 39.8rem;
	width: 100%;
	margin: 0 auto 1rem;
}

.main-visual__info .sotoiko {
	max-width: 53.5rem;
	width: 100%;
	margin: 0 auto;
}

.main-visual__info .info-list {
	display: flex;
	gap: 1.1rem;
	margin-top: 3rem;
}

.main-visual__info .info-list li {
	width: 33.33%;
}

.main-visual__info .info-list li img {
	width: 100%;
}

.main-visual__image {
	width: 100%;
	min-width: 5.78vw;
	max-width: 646px;
	max-height: 422px;
	position: relative;
	z-index: 3;
	margin: 0 auto;
}

.main-visual__image .image {
	width: 100%;
	border-radius: 3rem;
	overflow: hidden;
	height: 422px;
}

.main-visual__image .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.main-visual-wrap {
	display: flex;
	width: 100%;
	max-width: 1513px;
	padding: 0 63px;
	margin: 0 auto;
}

.main-visual-wrap-contents-left {
	width: 50%;
}
.main-visual-wrap-contents-right {
	width: 50%;
	margin-left: 6px;
	margin-top: -64px;
}
@media screen and (max-width: 1050px) {
	.main-visual-wrap-contents-right {
		margin-top: 0;
	}
}

.main-visual-wrap-contents-right h2 {
	text-align: center;
}
@media screen and (max-width: 1050px) {
	.main-visual-wrap-contents-right h2 {
		max-width: 200px;
		margin: 0 auto;
	}
}

.main-visual-wrap-contents-right #contact .form-wrap tr th {
	width: 27rem;
	font-size: 1.5rem;
}

.main-visual-wrap-contents-right #contact .form-wrap tr {
	width: 100%;
}
.main-visual-wrap-contents-right #contact .form-wrap tr + tr {
	margin-top: 13px;
}
.main-visual-wrap-contents-right #contact .form-wrap tr td {
	width: 100%;
	margin-top: 4px;
	padding-left: 13px;
}

.main-visual-wrap-contents-right #contact input[type="text"] {
	height: 4.3rem;
	padding: 1rem 2.4rem 1.2rem;
}

.main-visual-wrap-contents-right #contact textarea {
	min-height: 13rem;
}

.main-visual-wrap-contents-right #contact .overscroll {
	margin-top: 2rem;
	background-color: #ffffff;
}

/* !contents
---------------------------------------------------------- */
.inner {
	max-width: 1450px;
	padding: 0 15rem;
	width: 100%;
	margin: 0 auto;
}

@media screen and (max-width: 1500px) {
	.inner {
		padding: 0 5rem;
	}
}

/* !footer
---------------------------------------------------------- */
#footer {
	padding: 5rem 0;
	background: #fff;
}

#copyright {
	font-size: 1.4rem;
	color: #422d1c;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.04em;
	font-weight: 400;
}

/* !about
---------------------------------------------------------- */

.about-btn {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	max-width: 48rem;
	width: 100%;
}

.about-btn::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -100%);
	width: 20.5rem;
	height: 2.4rem;
	background: url("../img/top/24hour.svg") no-repeat;
	background-size: cover;
	margin-top: -1.5rem;
}

.about-btn a {
	display: inline-block;
	width: 100%;
	position: relative;
	transition-duration: 0.4s;
	opacity: 1;
}

.about-btn a:hover {
	opacity: 1;
	transform: scale(1.1);
}

.about-btn a img {
	width: 100%;
}
.about-section-precious-time {
	position: relative;
	background-image: url(../img/top/about-bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.about-section-precious-time .arrow {
	position: absolute;
	left: calc(50% - 100px);
	bottom: -61px;
	height: 114px;
	width: 202px;
}

.about-section .about-section-inner-top {
	padding: 100px 63px 130px;
}

.about-contents-wrap {
	display: flex;
	justify-content: space-between;
	position: relative;
	overflow: visible;
	background-color: #ffffff;
	box-shadow: 6px 6px 29px rgb(126 80 31 / 10%);
}
.about-contents-wrap-sp {
	display: none;
}
.about-item__img-bg-deco {
	position: absolute;
	right: -115px;
	bottom: -110px;
	background-image: url(../img/top/about-deco-tree01.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 100%;
	max-width: 182px;
	max-height: 465px;
}

.about-item__img-box {
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 10;
}

.about-item__img {
	position: relative;
	width: 50%;
}

.about-contents-text-box {
	padding: 72px 60px 100px 0px;
	width: 47.5%;
}

.about-item__img-box img {
	width: 100%;
	height: auto;
}

.about-heading-en {
	color: #52340a;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	padding-left: 3px;
}

.about-heading-2 {
	position: relative;
	color: #f29330;
	font-size: 4.6rem;
	font-weight: 700;
	margin-top: 7px;
	padding-bottom: 33px;
	font-feature-settings: "palt";
	letter-spacing: 0em;
}

.about-heading-2::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: repeating-linear-gradient(to right, #444444 0 3px, transparent 3px 4px);
}
.about-list {
	position: relative;
	margin-top: 35px;
}
.about-list-item {
	display: flex;
	align-items: flex-start;
}
.about-list-item:not(:first-child) {
	margin-top: 26px;
}
.about-list-item p {
	font-size: 2.5rem;
	color: #52340a;
	font-weight: 700;
}
.about-list-item svg {
	margin-right: 15px;
	transform: translateY(5px);
}

.about-section .about-section-inner-under {
	text-align: center;
	padding: 78px 0px;
}

.about-space {
	background-image: url(../img/top/about-bg02.png);
	background-repeat: no-repeat;
	color: #ffffff;
	border-radius: 120px 0 120px 0;
	text-align: center;
	padding: 77px 40px 100px;
}

.about-space-contents-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	margin-top: 45px;
	margin-right: 36px;
}

.about-space-tag {
	position: relative;
	display: inline-block;
	background-color: #d3d0c3;
	color: #422d1c;
	min-width: 360px;
	padding: 10px 24px 10px 5px;
	transform: translateY(36px);
	font-size: 3.8rem;
	font-weight: 700;
	border-radius: 100px;
	text-align: center;
}

.about-space-tag svg {
	position: absolute;
	bottom: -21px;
	left: calc(50% - 14px);
}

.about-space-heading-2 {
	font-size: 5.2rem;
}

.about-space-contents-list {
	position: relative;
	text-align: left;
	padding: 33px 20px 37px 36px;
	font-weight: 500;
	max-width: 685px;
	margin-top: 10px;
}

.about-space-contents-list::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 74px;
	height: 64px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNzQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA3NCA2NCI+IDxpbWFnZSB3aWR0aD0iNzQiIGhlaWdodD0iNjQiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRW9BQUFCQUNBWUFBQUM5UytFWEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBd1VsRVFWUjRuTzNRc1UwREFRQUV3UU81S0dlbUErcWhPN3V5UjI3QTJ1eEJub2t2T08zSGNSelhiYmZ4MG1YYjE3YnZiWS9YMC9mMkRQVjAzL1p6OHBjLzdmUHNBLytGVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZCcmZnRTdhZ2FCRFpEM0tnQUFBQUJKUlU1RXJrSmdnZz09Ii8+PC9zdmc+");
}
.about-space-contents-list::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 74px;
	height: 64px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNzQiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA3NCA2NCI+IDxpbWFnZSB3aWR0aD0iNzQiIGhlaWdodD0iNjQiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRW9BQUFCQUNBWUFBQUM5UytFWEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFBdjBsRVFWUjRuTzNRc1FrQ1VSUUYwYWVZaXhWWjF0cWVIV2hGWHd4TWw4a1VQQ2Urd1dVT2E2MWgxMjFtenNmOURSOUNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1ZDUlVKRlFrVkNSVUpGUWtWQ1JVSkZRa1dubWRucStFOWRaK2J4RG5YNTlwUDViYytadWI4QXdYb0hNY29aVmVrQUFBQUFTVVZPUks1Q1lJST0iLz48L3N2Zz4=");
}
.about-space-contents-list-item {
	font-size: 2.35rem;
}

.about-space-contents-list-item:not(:first-child) {
	margin-top: 28px;
}

.pc-br {
	display: none;
}

/* !about end
---------------------------------------------------------- */

.about-space-contents-img {
	width: 455px;
	height: auto;
}
.about-space-contents-img img {
	width: 100%;
	margin-left: 37px;
	background-color: #cbcbcb;
}
/* !solution
---------------------------------------------------------- */
.solition-section {
	position: relative;
	margin-top: 23%;
}
@media screen and (max-width: 1350px) {
	.solition-section {
		margin-top: 35%;
	}
}

.solition-section-box {
	position: relative;
	background-color: #f2f1eb;
	transform: translateY(-80px);
}
.solition-section::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: -30%;
	left: 0;
	background-image: url(../img/top/solution-bg.png);
	background-repeat: no-repeat;
	background-size: cover;
}
.solition-section-box::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	background-image: url(../img/top/solution-bg-under.png);
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
}

.solition-section .inner {
	padding: 0px 0px 25px;
}
@media screen and (max-width: 1450px) {
	.solition-section .inner {
		padding: 0px 94px 25px;
	}
}
.solition-section-container {
	position: relative;
	overflow: visible;
	background-color: #ffffff;
	margin: 0 auto;
	padding: 60px 40px 76px;
	z-index: 1;
}
.solition-section-container::before {
	content: "";
	position: absolute;
	background-image: url(../img/top/solition-deco-tree01.png);
	left: -70px;
	bottom: -50px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 100%;
	max-width: 235px;
	max-height: 515px;
}
@media screen and (max-width: 1450px) {
	.solition-section-container::before {
		max-width: 135px;
		max-height: 315px;
	}
}
.solition-section-container::after {
	content: "";
	position: absolute;
	right: 0;
	top: -3px;
	background-image: url(../img/top/solution-box-deco01.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 94px;
	height: 97px;
}

.solition-section-heading-2 {
	font-size: 6.4rem;
	transform: translateY(-197px);
	text-align: center;
	color: #422d1c;
	max-width: 1450px;
	margin: 0 auto;
}
.solition-section-heading-2 .font-size-up {
	font-size: 9.4rem;
}
.solition-section-heading-2 .deco-line {
	display: inline-block;
	transform: translateY(-50px);
	font-size: 3.4rem;
}

.solition-section-heading-2 .deco-line-sp {
	display: none;
}

.solition-section-contents-wrap {
	display: flex;
	justify-content: center;
	padding-bottom: 40px;
	padding-top: 30px;
}

.solition-section-img-contents {
	width: 50%;
}

.solition-section-img {
	position: absolute;
	width: 56.2%;
	aspect-ratio: 16/11;
	left: -85px;
	top: -122px;
	z-index: 10;
}
.solition-section-img img {
	width: 100%;
	height: 100%;
}

.solition-section-deco {
	padding-top: 50px;
	padding-left: 19px;
	width: 50%;
	text-align: center;
}

.solition-section-deco .sp {
	display: none;
}

.solition-section-deco-en {
	color: #f29330;
	display: block;
	font-size: 5rem;
	font-weight: 700;
}

.solition-section-deco-ja {
	color: #f29330;
	display: block;
	font-size: 3rem;
	font-weight: 700;
}

.solition-section-contents-text-field {
	text-align: center;
	margin-top: 106px;
	font-weight: 700;
}
@media screen and (max-width: 1050px) {
	.solition-section-contents-text-field {
		margin-top: 30px;
	}
}

.solition-section-contents-text-en-deco {
	color: #d3d0c3;
	font-size: 2.8rem;
	font-weight: 700;
}

.solition-section-heading-3 {
	font-size: 5.4rem;
	color: #422d1c;
	margin-bottom: 26px;
	font-weight: 700;
}

.solition-section-heading-3::after {
	content: "";
	display: block;
	margin: 13px auto 0px;
	background-color: #231815;
	width: 43px;
	height: 6px;
}

.solition-section-contents-text-strong {
	color: #f29330;
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 13px;
}

.solition-section-contents-text {
	font-size: 2.2rem;
	font-weight: 600;
	color: #412c1b;
	font-feature-settings: "palt";
	letter-spacing: 0.03em;
	line-height: 2;
}

/* !solution end
---------------------------------------------------------- */

/* !point
---------------------------------------------------------- */

.ponint-area-sp {
	display: none;
}

.point-section {
	padding-top: 7.8rem;
	overflow: hidden;
}

.point-section .inner {
	padding: 40px 0 36px;
}
@media screen and (max-width: 1050px) {
	.point-section .inner {
		padding: 67px 0 36px;
	}
}

.point-heading__box {
	text-align: center;
	transform: translateY(-27px);
}
@media screen and (max-width: 1050px) {
	.point-heading__box {
		transform: translateY(-15px);
	}
}

.point-heading__box-sp {
	display: none;
}

.point-heading-2::before {
	content: "";
	position: absolute;
	background-image: url(../img/top/point-title-deco01.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 99px;
	height: 160px;
	left: -136px;
	top: -38px;
}
.point-heading-2::after {
	content: "";
	position: absolute;
	background-image: url(../img/top/point-title-deco02.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 130px;
	height: 126px;
	right: -149px;
	top: -42px;
}

.point-heading-2 {
	position: relative;
	display: inline-flex;
	align-items: flex-start;
}
@media screen and (max-width: 1050px) {
	.point-heading-2 img {
		width: 300px;
	}
}

.point-heading-strong-text {
	font-size: 5.2rem;
	font-weight: 700;
}

.point-heading__box .title01 {
	display: inline-block;
	font-size: 3.74rem;
	line-height: 1;
	color: #422d1c;
	font-weight: 700;
	padding-bottom: 1.4rem;
	background: linear-gradient(to right, #231815 50%, rgba(255, 255, 255, 0) 0%) 20% 100%/0 3px repeat-x;
	background-position: left bottom;
	background-size: 1.4rem 0.15rem;
}

.point-heading__box .title01 font {
	color: #f29330;
	font-size: 6.6rem;
	position: relative;
}

.point-heading__box .title01 font::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 1;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 100%;
	background: #f29330;
	transform: translate(-50%, -100%);
}

.point-heading__box .title02 {
	color: #422d1c;
	margin-top: 1.5rem;
	font-size: 3.7rem;
	font-weight: 700;
	line-height: 1.7;
}

.point-heading__box .title03 {
	max-width: 51.2rem;
	width: 100%;
	margin: 2rem auto 0;
}

.point-heading__box .title03 img {
	width: 100%;
}

.ponint-area {
	padding: 0px 0 0;
	position: relative;
	z-index: 1;
}

.ponint-area::after {
	content: "";
	position: absolute;
	left: -100%;
	top: 0;
	width: calc(100% + 100vw);
	background: #fff;
	height: 100%;
	z-index: -2;
}

/*
.point-sotoiko {
	max-width: 81.4rem;
	width: 100%;
	height: 13.5rem;
	margin: 0 auto 8rem;
	border: 4px solid #6d5335;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	background: url('../img/top/title_bg.jpg') repeat;
	background-size: 100% auto;
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 2;
	transform: translate(-50%,-50%);
}
*/

.point-sotoiko {
	max-width: 81.4rem;
	width: 100%;
	height: 13.5rem;
	margin: 0 auto 8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 2;
	transform: translate(-50%, -50%);
}

.point-sotoiko .dots01,
.point-sotoiko .dots02 {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.point-sotoiko .dots01:before,
.point-sotoiko .dots02:before,
.point-sotoiko .dots01:after,
.point-sotoiko .dots02:after {
	content: "";
	position: absolute;
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 100%;
	background: #6d5335;
}

.point-sotoiko .dots01:before {
	left: 1.1rem;
	top: 1.1rem;
}

.point-sotoiko .dots01::after {
	right: 1.1rem;
	top: 1.1rem;
}

.point-sotoiko .dots02:before {
	left: 1.1rem;
	bottom: 1.1rem;
}

.point-sotoiko .dots02::after {
	right: 1.1rem;
	bottom: 1.1rem;
}

/*
.point-sotoiko::before,
.point-sotoiko::after {
	content: '';
	position: absolute;
	z-index: 2;
	width: 11.9rem;
	height: 12.2rem;
	background: url('../img/top/title_tree.svg') no-repeat;
	background-size: cover;
}
*/

.point-sotoiko::before {
	right: -4.2rem;
	top: -3.3rem;
}

.point-sotoiko::after {
	left: -4.2rem;
	bottom: -3.3rem;
	transform: scale(-1);
}

.point-sotoiko .eng {
	width: 22.8rem;
	display: inline-block;
}

.point-sotoiko .eng img {
	width: 100%;
}

.point-sotoiko .head-inner {
	display: inline-flex;
	align-items: center;
	padding-bottom: 0.1rem;
}

.point-sotoiko .jap {
	font-size: 3.74rem;
	line-height: 1;
	color: #513922;
	font-weight: 700;
	display: inline-block;
}

.point-sotoiko .jap font {
	font-size: 6.4rem;
	line-height: 1;
}

.point-item {
	display: flex;
}

.point-item + .point-item {
	margin-top: 27px;
}

.point-item:nth-of-type(3) .point-item__image {
	transform: translateY(-67px);
}

.point-item:nth-child(even) {
	flex-direction: row-reverse;
	margin-top: 93px;
}

.point-item__image {
	width: 61rem;
	border-radius: 1rem;
	background: #fff;
	position: relative;
}

.point-item__image .image {
	border-radius: 1rem;
	overflow: hidden;
}

.point-item:nth-child(even) .point-item__image .image {
	transform: translateY(-64px);
}

.point-item__box {
	position: relative;
	width: calc(100% - 63.2rem);
}

.point-item__box .eng-font {
	font-size: 3.6rem;
}

.point-item:nth-child(1) .point-item__box::before {
	content: "";
	position: absolute;
	background-image: url(../img/top/point-deco01.png);
	width: 73px;
	height: 117px;
	left: calc(50% - 102.5px);
	top: -89px;
}
@media screen and (max-width: 1200px) {
	.point-item:nth-child(1) .point-item__box::before {
		left: inherit;
		right: 160px;
	}
}
.point-item:nth-child(2) .point-item__box {
	padding-left: 83px;
}
.point-item:nth-child(3) .point-item__box {
	padding-left: 18px;
	padding-right: 90px;
}
.point-item:nth-child(1) .point-item__box {
	padding-right: 95px;
	padding-left: 13px;
	margin-top: 65px;
}
.point-item:nth-child(2) .point-item__box::before {
	content: "";
	position: absolute;
	background-image: url(../img/top/point-deco02.png);
	width: 156px;
	height: 141px;
	right: 55px;
	top: -82px;
}
.point-item:nth-child(3) .point-item__box::before {
	content: "";
	position: absolute;
	background-image: url(../img/top/point-deco03.png);
	width: 83px;
	height: 98px;
	left: calc(50% - 50px);
	top: -100px;
}

.point-item__box .number {
	display: inline-flex;
	align-items: center;
	font-size: 3.2rem;
	line-height: 1;
	font-weight: 700;
}

.point-item__box .point-deco {
	padding-right: 15px;
	padding-left: 10px;
}

.point-item__box .title {
	position: relative;
	font-size: 3rem;
	letter-spacing: 0em;
	font-weight: 700;
	line-height: 1.75;
	color: #422d1c;
	margin-bottom: 22px;
	padding: 8px 0 19px 18px;
	font-feature-settings: "palt";
	letter-spacing: 0.07em;
}

.point-item__box .title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: repeating-linear-gradient(to right, #444444 0 6px, transparent 6px 12px);
}

.point-item__box .text {
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	color: #422d1c;
	padding-left: 18px;
}

/* !veramping
---------------------------------------------------------- */

.veramping-continer-sp {
	display: none;
}

.veramping-section .inner {
	width: 100%;
	max-width: initial;
	padding: 0;
}

.veramping-continer {
	position: relative;
}

.veramping-continer::before {
	content: "";
	position: absolute;
	background-image: url(../img/top/veramping-deco01.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 217px;
	height: 144px;
	right: 170px;
	top: -38px;
	z-index: 3;
}
@media screen and (max-width: 1050px) {
	.veramping-continer::before {
		width: 143px;
		height: 95px;
		right: 70px;
	}
}
.veramping-continer::after {
	content: "";
	position: absolute;
	background-image: url(../img/top/veramping-deco02.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 189px;
	height: 233px;
	right: 30px;
	bottom: -72px;
	z-index: 3;
}
@media screen and (max-width: 1050px) {
	.veramping-continer::after {
		width: 100px;
		height: 123px;
		right: 30px;
		bottom: -72px;
	}
}

.veramping-continer-wrap {
	display: flex;
	position: relative;
	background-color: #759165;
}

.veramping-continer-wrap::before {
	content: "";
	position: absolute;
	background-image: url(../img/top/veramping-bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 256px;
	bottom: 0px;
	z-index: 1;
}
@media screen and (min-width: 1800px) {
	.veramping-continer-wrap::before {
		background-size: cover;
	}
}

.veramping-continer-img {
	width: 100%;
	max-width: 773px;
	z-index: 2;
}

.veramping-continer-img img {
	width: 100%;
	height: 100%;
	background-color: #888075;
}

.veramping-continer-text-field {
	position: relative;
	background-color: #759165;
	color: #ffffff;
	padding: 77px 129px 83px 94px;
}
@media screen and (max-width: 1050px) {
	.veramping-continer-text-field {
		padding: 28px 9px 20px 20px;
		line-height: 1.3;
		width: 70%;
	}
	.veramping-continer-wrap::before {
		height: 118px;
		background-size: cover;
		bottom: 0px;
	}
	.veramping-continer-img {
		min-width: 300px;
	}
}
.veramping-continer-text::after {
	content: "";
	width: 100%;
	height: auto;
	bottom: 0;
	right: 0;
}

.veramping-continer-heading-2 {
	font-size: 4.8rem;
	font-weight: 700;
}

.veramping-continer-strong-text {
	display: flex;
	align-items: center;
	font-size: 3.2rem;
	font-weight: 700;
	margin-top: 24px;
}
.veramping-continer-strong-text span {
	display: inline-block;
	min-width: 290px;
}
.veramping-continer-strong-text-line {
	display: inline-block;
	background-color: #ffffff;
	width: 100%;
	height: 2px;
}
.veramping-continer-text {
	position: relative;
	font-size: 2rem;
	font-weight: 500;
	line-height: 2.15;
	margin-top: 15px;
	z-index: 2;
}

/* !veramping end
---------------------------------------------------------- */

/* !products
---------------------------------------------------------- */
.products-section {
	padding: 9.1rem 0 7rem;
	position: relative;
	background: url(../img/top/common_bg.jpg) repeat;
	background-size: 100% auto;
}

.products-head {
	text-align: center;
	margin-bottom: 10rem;
}

.products-head__inner {
	display: inline-block;
	position: relative;
}

.products-head__inner::before,
.products-head__inner::after {
	content: "";
	position: absolute;
	bottom: 0;
	z-index: 1;
	width: 8.4rem;
	height: 10.3rem;
	background: url("../img/top/icon_title_line.svg") no-repeat center;
	background-size: cover;
}

.products-head__inner::before {
	left: 0;
	margin-left: -2.6rem;
	transform: translateX(-100%);
}

.products-head__inner::after {
	right: 0;
	margin-right: -2.6rem;
	transform: scale(-1, 1) translateX(-100%);
}

.products-head span {
	font-size: 4.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	color: #422d1c;
}

.products-head span.small {
	font-size: 5.6rem;
	display: block;
}

.products-area__body {
	display: flex;
	align-items: flex-end;
	padding: 0 1.5rem;
}

.products-title__item {
	width: 24.4rem;
	margin-right: 1.3rem;
}

.products-title__item dt {
	height: 7.7rem;
}

.products-title__item dd {
	padding: 1rem 0;
	display: flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.31;
	color: #422d1c;
	border-bottom: 0.1rem solid #d6d6d6;
	height: 5.5rem;
}

.products-title__item dd small {
	font-size: 1.2rem;
	line-height: 1.75;
}

.products-item {
	text-align: center;
	width: calc(33.33% - 8.56rem);
	border-radius: 2.5rem;
	box-shadow: 0 0 0.5rem rgba(196, 196, 196, 0.75);
	margin-left: 1rem;
	overflow: hidden;
}

.products-item dt {
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	color: #fff;
	background: #6d5335;
	line-height: 1.75;
	font-weight: 700;
	border-radius: 2.5rem 2.5rem 0 0;
	height: 7.7rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.products-item dd {
	color: #80633e;
	font-size: 1.7rem;
	line-height: 1.75;
	letter-spacing: 0.05em;
	font-weight: 700;
	height: 5.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.products-item dd.mark01::before {
	content: "";
	width: 2rem;
	height: 2rem;
	background: url("../img/top/icon_mark_brown01.svg") no-repeat center center;
	background-size: cover;
}

.products-item dd.mark02::before {
	content: "";
	width: 2.5rem;
	height: 1.8rem;
	background: url("../img/top/icon_mark_brown02.svg") no-repeat center center;
	background-size: cover;
}

.products-item dd.mark03::before {
	content: "";
	width: 2.7rem;
	height: 2.7rem;
	background: url("../img/top/icon_mark_brown03.svg") no-repeat center center;
	background-size: cover;
}

.products-item.sotoiko dd.mark03::before {
	content: "";
	width: 2.7rem;
	height: 2.7rem;
	background: url("../img/top/icon_mark_orange03.svg") no-repeat center center;
	background-size: cover;
}

.products-item dd small {
	font-size: 1.4rem;
	line-height: 1.75;
}

/*
.products-item dd.font-small {
	font-size: 1.4rem;
}
*/

.products-item dd:nth-child(odd) {
	background: #fff;
}

.products-item dd:nth-child(even) {
	background: #fafafa;
}

.products-item.sotoiko dt {
	background: #ea8f3d;
	padding: 1rem;
	height: 10.6rem;
}

.products-item.sotoiko dd {
	color: #ea8f3d;
}

/* !common head-box
---------------------------------------------------------- */
.head-box {
	text-align: center;
}

.head-box .eng-font {
	color: #b6a188;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.75;
	display: block;
}

.head-box .jap {
	font-size: 4.4rem;
	font-weight: 700;
	line-height: 1.75;
	color: #422d1c;
	display: block;
	margin-top: -1rem;
}

.head-box .head-box__inner {
	position: relative;
	display: inline-block;
}

.head-box .head-box__inner::before,
.head-box .head-box__inner::after {
	content: "";
	position: absolute;
	bottom: -2.8rem;
	z-index: 3;
	left: -2.8rem;
	transform: translateX(-100%);
	width: 8.7rem;
	height: 9.7rem;
	background: url("../img/top/title_tree02.png") no-repeat;
	background-size: cover;
}

.head-box .head-box__inner::after {
	left: auto;
	right: -2.8rem;
	transform: translateX(100%) scale(-1, 1);
}

/* !price
---------------------------------------------------------- */

.price-section {
	padding-bottom: 120px;
	background: url(../img/top/common_bg.jpg) repeat;
	background-size: 100% auto;
	color: #422d1c;
}

.price-section .inner {
	max-width: 1550px;
	padding: 0 50px;
}

.price-container-deco-text {
	display: block;
	font-weight: 700;
	font-size: 2.8rem;
	text-align: center;
	color: #d3d0c3;
}
.price-container-heading-2 {
	position: relative;
	text-align: center;
	font-size: 4.7rem;
	transform: translateY(10px);
	letter-spacing: 0.02em;
	z-index: 1;
}
.price-container-heading-2 .font-size-up {
	font-size: 4.8rem;
}

.colorーchange {
	color: #f29330;
}

.price-container {
	position: relative;
	padding: 39px 124px 99px;
	text-align: center;
	background-color: #f8f7f0;
	line-height: 1.6;
}
@media screen and (max-width: 1050px) {
	.price-container {
		padding: 34px 40px 72px;
	}
}

.price-container-bg-deco-top-left {
	position: absolute;
	background-image: url(../img/top/price-bg-deco.png);
	background-repeat: no-repeat;
	left: 0;
	top: 0;
	height: 90px;
	width: 100px;
	transform: rotate(180deg);
}

.price-container-bg-deco-top-right {
	position: absolute;
	background-image: url(../img/top/price-bg-deco.png);
	background-repeat: no-repeat;
	right: -6px;
	top: 0;
	height: 90px;
	width: 100px;
	transform: rotate(-90deg);
}

.price-container-bg-deco-under-right {
	position: absolute;
	background-image: url(../img/top/price-bg-deco.png);
	background-repeat: no-repeat;
	right: 0;
	bottom: 0;
	height: 90px;
	width: 100px;
}
.price-container-bg-deco-under-left {
	position: absolute;
	background-image: url(../img/top/price-bg-deco.png);
	background-repeat: no-repeat;
	left: -6px;
	bottom: 0;
	height: 90px;
	width: 100px;
	transform: rotate(90deg);
}

.price-container-lead-text {
	text-align: center;
	font-size: 2.8rem;
	font-weight: 700;
}
.price-container-lead-text .font-size-up {
	font-size: 4.8rem;
}

.price-container-lead-text .under-line.font-size-up {
	position: relative;
	display: inline-block;
	font-size: 4rem;
	z-index: 2;
}
.price-container-lead-text .under-line.font-size-up::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 8px;
	width: 100%;
	height: 15px;
	background: #ead2b9;
	z-index: -1;
}

.price-container-case-contents {
	background-color: #ffffff;
	text-align: center;
	border-radius: 100px 0 100px 0;
	padding: 39px 10px 46px;
	margin-top: 50px;
	font-weight: 700;
}

.price-container-case-contents .deco {
	display: block;
}

.price-container-more-info-strong .deco svg {
	transform: translateY(3px) translateX(-28px);
}

.price-container-more-info-strong .deco:nth-last-of-type(1) svg {
	transform: translateY(3px) translateX(15px);
}

.price-container-case-contents-text01 {
	font-size: 3.8rem;
	padding-bottom: 27px;
}
.price-container-case-contents-text02 {
	display: inline-block;
	font-size: 4.8rem;
	border-bottom: solid 2px #f29330;
	line-height: 1.35;
	margin-top: 10px;
}
.price-container-case-contents-text02 .font-size-up {
	font-family: "UDShinGoProBold";
	font-size: 8.8rem;
	font-weight: 700;
}

.price-container-case-contents-text02 .colorーchange {
	font-style: italic;
}

.price-container-add-on-text {
	font-size: 3.8rem;
	font-weight: 700;
	text-align: center;
	margin-top: 34px;
	line-height: 1.2;
}

.price-container-add-on-text .font-size-up {
	font-size: 5.6rem;
}

.price-container-add-on-text .font-size-down {
	font-family: "UDShinGoProBold";
	font-size: 3.6rem;
}

.price-container-more-info-strong {
	position: relative;
	font-size: 5.4rem;
	font-weight: 700;
	text-align: center;
	margin: 22px 0 0px;
	padding-left: 14px;
}

.price-container-more-info-contents {
	width: 130%;
	margin-left: -15%;
	margin-top: -10px;
}

.price-container-more-info-contents .sp {
	display: none;
}

.price-container-more-info-contents-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 50px 0;
}
.price-container-more-info-contents-list-item {
	width: 50%;
	max-width: 500px;
}
.price-container-more-info-contents-list-item.pc,
.price-container-more-info-contents-list-item.sp {
	width: 100%;
	max-width: inherit;
}
.price-container-more-info-contents-list-item:nth-child(1) {
	transform: rotate(-3deg);
	margin-right: 30px;
	padding: 46px 42px 63px 67px;
}
.price-container-more-info-contents-list-item:nth-child(2) {
	transform: rotate(5deg) translateY(38px);
}
.price-container-more-info-contents-list-item {
	position: relative;
	background-color: #f8f7f0;
	text-align: left;
	width: 100%;
	padding: 46px 50px 63px 58px;
	line-height: 1.7;
}

.price-container-more-info-contents-list-item.sp {
	display: none;
}

.price-container-more-info-contents-list-item.pc {
	padding: 56px 40px 40px;
	margin-top: 37px;
}

.price-container-more-info-contents-list-item .price-container-more-info-contents-list-item-text {
	border-bottom: 2px dotted #e7d3a9;
	text-align: left;
}
.price-container-more-info-contents-list-item.pc .img {
	position: absolute;
	right: 39px;
	top: 57px;
}
@media screen and (max-width: 1050px) {
	.price-container-more-info-contents-list-item.pc .img {
		right: -11px;
		top: -2px;
		max-width: 200px;
	}
}

.price-container-more-info-contents-list-item-text {
	font-size: 2.8rem;
	font-weight: 700;
	color: #422d1c;
}

.price-container-more-info-contents-list-item.pc .price-container-more-info-contents-list-item-text {
	font-size: 3rem;
}

.price-container-more-info-contents-list-item.pc .price-container-more-info-contents-list-item-text .font-size-down {
	font-size: 2.6rem;
}

.price-container-more-info-contents-list-item::before {
	content: "";
	position: absolute;
	top: -21px;
	left: calc(50% - 17px);
	width: 34px;
	height: 43px;
	background-image: url(../img/top/pin.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.price-container-more-info-contents-list-item.pc::before {
	content: "";
	position: absolute;
	top: -37px;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(../img/top/masking-tape.png);
	background-repeat: no-repeat;
	background-size: contain;
}
@media screen and (max-width: 1050px) {
	.price-container-more-info-contents-list-item.pc::before {
		top: -32px;
	}
}

.price-container-extra-info {
	margin-top: -25px;
}

.price-container-extra-info-text .sp {
	display: none;
}

/* !price end
---------------------------------------------------------- */

/* !contact
---------------------------------------------------------- */
.contact-section {
	padding: 7.5rem 0 8rem;
	background: url("../img/top/contact_bg.jpg") no-repeat center;
	background-size: cover;
}

.contact-section .head-box {
	margin-bottom: 3.6rem;
}

.contact-section .head-box .head-box__inner::before,
.contact-section .head-box .head-box__inner::after {
	content: unset;
}

.contact-section .head-box .jap {
	color: #fff;
	font-size: 3.6rem;
}

.contact-section .contact-links {
	display: flex;
	justify-content: center;
}

.contact-section .contact-links a {
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 40rem;
	width: 100%;
	height: 8.4rem;
	border-radius: 4rem;
	font-size: 2.4rem;
	line-height: 2;
	transition: opacity 0.5s ease-out;
}

.contact-section .contact-links a + a {
	margin-left: 2.5rem;
}

.contact-section .contact-links a.line {
	background: #39a44a;
	color: #fff;
	box-shadow: 0 4px 0 #33633f;
	transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
}

.contact-section .contact-links a.email {
	background: #fff;
	color: #80633e;
	box-shadow: 0 4px 0 #6d5335;
	transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
	opacity: 1;
}

.contact-section .contact-links a.email:hover,
.contact-section .contact-links a.line:hover {
	transform: translateY(4px);
	box-shadow: none;
	transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
	opacity: 1;
}

.contact-section .contact-links a span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.contact-section .contact-links a span:before {
	content: "";
	width: 5.1rem;
	height: 5.1rem;
	background: url("../img/common/icon_line.svg") no-repeat;
	background-size: cover;
	margin-right: 2.5rem;
}

.contact-section .contact-links a.email span:before {
	background: url("../img/common/icon_email.svg") no-repeat;
	background-size: cover;
}

@media screen and (min-width: 960px) {
	.contact-section .contact-links a:hover {
		opacity: 0.7;
		transition: opacity 0.5s ease-out;
		text-decoration: none;
	}
}

/* !case
---------------------------------------------------------- */
.case-section {
	background: #d3d0c3;
	position: relative;
	z-index: 1;
	padding: 10rem 0 8rem;
	overflow: hidden;
}

.case-section::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 49.5rem;
	background: #fff;
}

.case-slick {
	position: relative;
	margin-top: 6rem;
	padding-bottom: 9rem;
}

.case-slick .slick-list {
	overflow: visible;
}

.case-slick .slick-slide {
	width: calc(100vw - 20rem);
	max-width: 1050px;
	transform: scale(0.9);
}

.case-slick .slick-slide.slick-current {
	transform: scale(1);
}

.case-slick .slick-slide a {
	display: block;
	padding: 2.3rem;
	border-radius: 1rem;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.75);
}

.case-slick .slick-prev,
.case-slick .slick-next {
	position: absolute;
	background: url("../img/top/icon_arrow.svg") no-repeat #fff center;
	background-size: 1rem 1.8rem;
	width: 5.2rem;
	height: 5.2rem;
	border-radius: 100%;
	text-indent: -9999rem;
	bottom: 0;
	left: 35%;
	transform: translateX(-50%);
	z-index: 3;
	transition: background 0.3s ease-in-out;
	margin-left: -11.5rem;
}

.case-slick .slick-next {
	left: auto;
	right: 35%;
	background: url("../img/top/icon_arrow.svg") no-repeat #fff center;
	background-size: 1rem 1.8rem;
	transform: scale(-1) translateX(-50%);
	margin-right: -11.5rem;
}

.case-slick .slick-dots {
	display: flex;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	margin-bottom: 1.6rem;
}

.case-slick .slick-dots li {
	width: 1.5rem;
	height: 1.5rem;
	background: #fff;
	border-radius: 100%;
	position: relative;
	margin: 0 1.4rem;
}

.case-slick li.slick-active {
	background: #6d5335;
}

.case-slick .slick-dots button {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 100%;
	text-indent: -999rem;
}

.case-slide__image {
	border-radius: 1rem;
	position: relative;
	overflow: hidden;
	padding-top: 65.35%;
	transition: opacity 0.5s ease;
}

.case-slide__image img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.case-slide__info {
	margin-top: 1.7rem;
	text-align: center;
}

.case-slide__info dl {
	display: flex;
	align-items: center;
	justify-content: center;
}

.case-slide__info dt {
	font-size: 3.4rem;
	font-weight: 700;
	line-height: 1.5;
	color: #6d5335;
}

.case-slide__info dd {
	font-size: 3rem;
	line-height: 1.75;
	font-weight: 700;
	margin-left: 5rem;
	color: #6d5335;
}

.case-area {
	margin-top: 11.2rem;
}

.case-item {
	padding: 6rem 7.2rem 6.4rem;
	background: #fff;
	border-radius: 1rem;
	box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.75);
	position: relative;
}

.case-item::before,
.case-item::after {
	content: "";
	position: absolute;
	z-index: 2;
	width: 12.5rem;
	height: 11.8rem;
	background: url("../img/top/case_tree.svg") no-repeat;
	background-size: cover;
}

.case-item::before {
	left: -4rem;
	top: -2rem;
}

.case-item::after {
	right: -2rem;
	bottom: -4rem;
}

.case-item + .case-item {
	margin-top: 9rem;
}

.case-item .case-item__here {
	position: absolute;
	top: -3rem;
	z-index: -1;
	pointer-events: none;
}

.case-item__head {
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 3;
	transform: translate(-50%, -50%);
	width: 42.1rem;
	height: 7.2rem;
	background: url(../img/top/title_bg.jpg) no-repeat center;
	background-size: cover;
	border-radius: 1rem;
}

.case-item__head .case-head__inner {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.case-item__head .jap {
	display: inline-block;
	font-size: 2.6rem;
	line-height: 1.75;
	font-weight: 700;
	color: #6d5335;
	margin-left: 4rem;
}

.case-item__head .eng-font {
	height: 3.8rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.6rem;
	background: #6d5335;
	padding: 0 1.1rem;
	font-size: 2.2rem;
	line-height: 1;
	color: #fff;
}

.case-item__head:before,
.case-item__head:after,
.case-item__head .case-head__inner:before,
.case-item__head .case-head__inner:after {
	content: "";
	position: absolute;
	width: 0.9rem;
	height: 0.9rem;
	border-radius: 100%;
	background: #6d5335;
}

.case-item__head:before {
	left: 0.55rem;
	top: 0.55rem;
}

.case-item__head:after {
	right: 0.55rem;
	top: 0.55rem;
}

.case-item__head .case-head__inner:before {
	left: 0.55rem;
	bottom: 0.55rem;
}

.case-item__head .case-head__inner:after {
	right: 0.55rem;
	bottom: 0.55rem;
}

.case-item__image {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 20px;
}
.case-item__image img.before {
	width: 38%;
}
.case-item__image img.after {
	width: 55%;
}
.case-item__image img.arrow {
	width: 21px;
	height: auto;
	margin-top: 3%;
	margin-left: 0.5%;
}
.case-item__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.case-item__info .info-text {
	color: #422d1c;
	font-size: 1.6rem;
	line-height: 2;
	font-weight: 500;
	margin-bottom: 2.3rem;
}

.case-item__box {
	display: flex;
}

.case-item__box .case-box {
	width: 50%;
}

.case-item__box .case-box + .case-box {
	margin-left: 8.2rem;
}

.case-item__box .case-box .case-body {
	box-shadow: 0 0 0.5rem rgba(196, 196, 196, 0.75);
	border-radius: 2rem;
}

.case-item__box .case-box .box-inner__head {
	font-size: 2.4rem;
	line-height: 1.75;
	color: #fff;
	font-weight: 700;
	padding: 0.9rem 0 1rem;
	text-align: center;
	border-radius: 2rem 2rem 0 0;
}

.case-item__box .case-box.box01 .box-inner__head {
	background: #422d1c;
}

.case-item__box .case-box.box02 .box-inner__head {
	background: #ea8f3d;
}

.case-item__box .box-inner__info {
	font-size: 1.6rem;
	line-height: 1.75;
	font-weight: 500;
	color: #422d1c;
	padding: 2.3rem 4rem 6rem;
}

.case-item__box .box-inner__info .font-bold {
	font-weight: 700;
}

@media screen and (min-width: 960px) {
	.case-slick .slick-prev:hover {
		background: url("../img/top/icon_arrow_white.svg") no-repeat #6d5335 center;
		background-size: 1rem 1.8rem;
		transition: background 0.3s ease-in-out;
	}

	.case-slick .slick-next:hover {
		background: url("../img/top/icon_arrow_white.svg") no-repeat #6d5335 center;
		background-size: 1rem 1.8rem;
		transition: background 0.3s ease-in-out;
	}

	.case-slide a:hover .case-slide__image {
		opacity: 0.5;
		transition: opacity 0.5s ease;
	}
}

/* !flow
---------------------------------------------------------- */
.flow-section {
	padding: 9.6rem 0 10rem;
	background: url("../img/top/flow_bg.jpg") no-repeat center;
	background-size: cover;
}

.flow-list {
	max-width: 105rem;
	width: 100%;
	margin: 5.7rem auto 0;
}

.flow-item {
	position: relative;
	border-radius: 1rem;
	background: #fff;
}

.flow-item + .flow-item {
	margin-top: 4rem;
}

.flow-item dl {
	width: 100%;
	display: flex;
	align-items: center;
	position: relative;
	padding: 3rem 5.4rem;
}

.flow-item dt {
	width: 8.6rem;
	padding-right: 3rem;
	position: relative;
	text-align: center;
}

.flow-item dt span {
	font-size: 4.8rem;
	color: #422d1c;
	font-weight: 700;
	line-height: 1;
}

.flow-item dt font {
	display: block;
	font-size: 1.8rem;
}

.flow-item dd {
	font-size: 2.6rem;
	line-height: 1.75;
	font-weight: 700;
	color: #422d1c;
	width: calc(100% - 8.6rem);
	padding-left: 3rem;
	position: relative;
}

.flow-item dd::before {
	content: "";
	position: absolute;
	width: 0.1rem;
	min-height: 6.6rem;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	background: #513922;
}

.flow-item dd span {
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.6;
}

.flow-item:before,
.flow-item:after,
.flow-item dl:before,
.flow-item dl:after {
	content: "";
	position: absolute;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 100%;
	background: #888075;
}

.flow-item:before {
	left: 0.84rem;
	top: 0.8rem;
}

.flow-item:after {
	right: 0.84rem;
	top: 0.8rem;
}

.flow-item dl:before {
	left: 0.84rem;
	bottom: 0.8rem;
}

.flow-item dl:after {
	right: 0.84rem;
	bottom: 0.8rem;
}

/* !faq
---------------------------------------------------------- */
.faq-section {
	background: #fff;
	padding: 9rem 0 10rem;
}

.faq-list {
	max-width: 105rem;
	width: 100%;
	margin: 8.1rem auto 0;
	border-radius: 2rem;
	box-shadow: 0 0 0.5rem rgba(196, 196, 196, 0.75);
	padding: 4rem 7rem 4.7rem;
}

.faq-item {
	border-bottom: 0.15rem solid #d6d6d6;
	padding: 4rem 0;
	cursor: pointer;
}

.faq-item dt {
	font-size: 2rem;
	line-height: 1.75;
	font-weight: 700;
	color: #422d1c;
	padding-left: 8rem;
}

.faq-item dt {
	position: relative;
}

.faq-item dt::before,
.faq-item dt::after {
	content: "";
	position: absolute;
	right: 0;
	top: 1.8rem;
	z-index: 2;
	width: 2.7rem;
	height: 0.4rem;
	background: #6d5335;
}

.faq-item dt::after {
	transform: rotate(90deg);
	transition: transform 0.3s ease;
}

.faq-item.is-active dt::after {
	transform: rotate(0);
	transition: transform 0.3s ease;
}

.faq-item dt span {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: -0.5rem;
	left: 0;
	width: 4.6rem;
	height: 4.6rem;
	border-radius: 100%;
	background: #6d5335;
	font-size: 2rem;
	line-height: 1;
	font-weight: 700;
	color: #fff;
}

.faq-item dd {
	margin-top: 2.8rem;
	font-size: 1.6rem;
	line-height: 1.75;
	font-weight: 500;
	color: #422d1c;
	padding-left: 8rem;
}

.faq-list .category {
	font-size: 2rem;
	line-height: 1.75;
	font-weight: 700;
	color: #422d1c;
	padding: 2rem 8rem;
	position: relative;
	cursor: pointer;
	border-bottom: 0.15rem solid #d6d6d6;
}

.faq-list .sub {
	font-size: 2rem;
	padding: 2rem 8rem;
	position: relative;
	cursor: pointer;
	border-bottom: 0.15rem solid #d6d6d6;
}

.faq-list .sub2 {
	font-size: 2rem;
	padding: 2rem 11rem;
	position: relative;
	cursor: pointer;
	border-bottom: 0.15rem solid #d6d6d6;
}

.faq-list .sub3 {
	font-size: 2rem;
	padding: 2rem 8rem;
	position: relative;
	cursor: pointer;
	border-bottom: 0.15rem solid #d6d6d6;
}

.faq-area-main {
	cursor: pointer;
}

.category .eng-font {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 1.5rem;
	left: 0;
	width: 4.6rem;
	height: 4.6rem;
	border-radius: 100%;
	background: #6d5335;
	font-size: 2rem;
	line-height: 1;
	font-weight: 700;
	color: #fff;
}

ul.faqList li .openBtn {
	font-size: 2rem;
	color: #422d1c;
	padding: 2rem 8rem;
	font-weight: bold;
	position: relative;
	border-bottom: 0.15rem solid #d6d6d6;
	cursor: pointer;
}

.orange_txt {
	color: #ea8f3d !important;
}

ul.faqList li .openBtn.open {
	border-bottom: none;
}

ul.faqList li .openArea {
	font-size: 1.6rem;
	padding: 0 8rem 1rem;
	line-height: 2;
	border-bottom: 0.15rem solid #d6d6d6;
}

.faq-list .category::before,
.faq-list .category::after {
	content: "";
	position: absolute;
	right: 0;
	top: 3.5rem;
	z-index: 2;
	width: 2.7rem;
	height: 0.4rem;
	background: #6d5335;
}

.faq-list .sub::before,
.faq-list .sub::after {
	content: "";
	position: absolute;
	right: 0;
	top: 3.5rem;
	z-index: 2;
	width: 2.7rem;
	height: 0.4rem;
	background: #6d5335;
}

.faq-list .sub2::before,
.faq-list .sub2::after {
	content: "";
	position: absolute;
	right: 0;
	top: 3.5rem;
	z-index: 2;
	width: 2.7rem;
	height: 0.4rem;
	background: #6d5335;
}

ul.faqList li .openBtn::before,
ul.faqList li .openBtn::after {
	content: "";
	position: absolute;
	right: 0;
	top: 3.5rem;
	z-index: 2;
	width: 2.7rem;
	height: 0.4rem;
	background: #6d5335;
}

.faq-list .sub3::before,
.faq-list .sub3::after {
	content: inherit;
}

ul.faqList li .openBtn::after,
.faq-list .category::after {
	transform: rotate(90deg);
	transition: transform 0.3s ease;
}

ul.faqList li .openBtn.open::after,
.category.open::after {
	transform: rotate(0);
	transition: transform 0.3s ease;
}

#faq .openBtn.block::after {
	display: none;
}
#faq .openArea {
	position: relative;
	display: none;
}

@media screen and (min-width: 960px) {
	.faq-item:hover dt::before,
	.faq-item:hover dt::after {
		opacity: 0.7;
	}
}

/* !contact
---------------------------------------------------------- */
.contact-wrap {
	padding: 10rem 0;
	position: relative;
}

.contact-area {
	position: absolute;
	z-index: -1;
	top: -3rem;
}

.contact-wrap .form-wrap > p {
	font-size: 1.8rem;
	color: #422d1c;
	line-height: 1.5;
	font-weight: 500;
	margin-bottom: 5rem;
}

.contact-wrap .head-box {
	margin-bottom: 7rem;
}

.main-visual-form .form-wrap {
	background-color: transparent;
	padding: 0;
	box-shadow: none;
	max-width: 725px;
	padding-left: 35px;
	padding-top: 27px;
}

.form-wrap {
	max-width: 105rem;
	width: 100%;
	margin: 0 auto;
	border-radius: 2rem;
	box-shadow: 0 0 0.5rem rgba(196, 196, 196, 0.75);
	padding: 6.3rem 6.8rem 5rem;
	background: #fff;
}

.error {
	color: #cc0303;
	display: block;
	margin: 0.7rem 0 0;
	font-size: 1.6rem;
	font-weight: 500;
}

#contact button,
#contact input[type="button"],
#contact input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
	background: transparent;
}

#contact textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	resize: none;
	padding: 0;
	outline: none;
	border: 0.1rem solid #e2e2e2;
	border-radius: 0.3rem;
	background: #fff;
	padding: 1rem 2.4rem;
	font-size: 1.8rem;
	colr: #000;
	line-height: 1.5;
	font-weight: 500;
	min-height: 18rem;
	width: 100%;
}

#contact input[type="text"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: 0.1rem solid #e2e2e2;
	border-radius: 0.3rem;
	background: #fff;
	height: 5rem;
	width: 100%;
	padding: 1rem 2.4rem;
	font-size: 1.8rem;
	color: #422d1c;
	line-height: 1.5;
	font-weight: 500;
}

#contact textarea::placeholder,
#contact input[type="text"]::placeholder {
	color: #bbbbbb;
	font-weight: 500;
}

#contact .select-box__wrap {
	max-width: 39.7rem;
	width: 100%;
	position: relative;
}

#contact .select-box__wrap::before {
	content: "";
	position: absolute;
	right: 1.4rem;
	top: 2.2rem;
	z-index: 3;
	width: 1.4rem;
	height: 0.8rem;
	background: url("../img/top/icon_down.svg") no-repeat;
	background-size: cover;
	pointer-events: none;
}

#contact select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: 0.1rem solid #e2e2e2;
	border-radius: 0.3rem;
	background: #fff;
	height: 5rem;
	padding: 1rem 2.4rem;
	width: 100%;
	font-size: 1.8rem;
	color: #422d1c;
	line-height: 1.5;
	font-weight: 500;
}

#contact .form-wrap tr {
	display: flex;
	align-items: flex-start;
}

#contact .form-wrap tr + tr {
	margin-top: 2.4rem;
}

#contact .form-wrap tr th {
	width: 25rem;
	font-size: 1.8rem;
	line-height: 1.75;
	color: #422d1c;
	font-weight: 700;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 1rem;
}

#contact .form-wrap tr td {
	width: calc(100% - 25rem);
	padding-left: 2rem;
	font-size: 1.8rem;
	line-height: 1.75;
	color: #422d1c;
	font-weight: 500;
	position: relative;
}

#contact .form-wrap .need {
	font-size: 1.4rem;
	line-height: 1;
	color: #fff;
	background: #ea8f3d;
	letter-spacing: -0.04em;
	border-radius: 0.2rem;
	width: 5rem;
	height: 2.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

#contact .form-wrap .construction span {
	font-size: 1.4rem;
	font-weight: 700;
}

#contact .form-wrap .birth-wrap {
	display: flex;
	max-width: unset;
	align-items: flex-start;
}

#contact .form-wrap .birth-wrap input[type="text"].error {
	margin-top: 0;
	/* margin-bottom: 0.7rem; */
}

#contact .birth-wrap.select-box::before {
	content: unset;
}

#contact .form-wrap .birth-wrap p {
	width: 12rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
}

#contact .form-wrap .birth-wrap p.year {
	width: 20rem;
}

#contact .form-wrap .birth-wrap p + p {
	margin-left: 1rem;
}

#contact .form-wrap .birth-wrap span {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

#contact .form-wrap .birth-wrap input[type="text"] {
	width: 8rem;
	margin-right: 1rem;
}

#contact .form-wrap .birth-wrap .year input[type="text"] {
	width: 16rem;
}

#contact .form-wrap .file td span {
	display: block;
	position: relative;
}

#contact .form-wrap .file label {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #d3d0c3;
	position: relative;
	height: 5rem;
	width: 19.8rem;
	border-radius: 0.3rem;
	cursor: pointer;
	transition: opacity 0.5s ease;
}

#contact .form-wrap input[type="file"] {
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	height: 5rem;
	width: 19.8rem;
	opacity: 0;
}

#contact .overscroll {
	border-radius: 0.2rem;
	margin-top: 4rem;
	padding: 0.7rem 0.4rem 2.5rem;
	background: #f7f7f7;
	height: 16.1rem;
}

.overscroll-inner {
	height: 100%;
	overflow-y: scroll;
	padding: 2.5rem 3.5rem;
}

.overscroll-inner h3 {
	margin-bottom: 10px;
}
.overscroll-inner p + p {
	margin-top: 20px;
}

#contact .overscroll-inner::-webkit-scrollbar {
	background: transparent;
	width: 0.4rem;
}

#contact .overscroll-inner::-webkit-scrollbar-thumb {
	border-radius: 1.5rem;
	background: #80633e;
}

#contact .overscroll li + li {
	margin-top: 3rem;
}

#contact .overscroll strong {
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.75;
	font-weight: 700;
	color: #422d1c;
	margin-bottom: 1.4rem;
}

#contact .overscroll p {
	font-size: 1.4rem;
	line-height: 2;
	color: #333;
}

#contact .agree-area {
	text-align: center;
	margin-top: 3rem;
}

#contact .agree-area a {
	position: relative;
	background: linear-gradient(#422d1c, #422d1c) 0 100%/0 0.1rem no-repeat;
	transition: background 0.4s ease;
	background-position: left bottom;
	background-size: 100% 0.1rem;
}

#contact .agree-area input[type="checkbox"] + label {
	padding-left: 4.8rem;
	position: relative;
	cursor: pointer;
	font-size: 1.8rem;
	line-height: 1.75;
	color: #422d1c;
	font-weight: 700;
	display: inline-block;
	justify-content: center;
	align-items: center;
}

#contact .agree-area input[type="checkbox"] + label::before {
	content: "";
	display: block;
	position: absolute;
	top: 0.5rem;
	left: 0;
	z-index: 1;
	width: 2.4rem;
	height: 2.4rem;
	border: 0.1rem solid #a2a2a2;
	border-radius: 0.2rem;
}

#contact .agree-area input[type="checkbox"] + label::after {
	content: "";
	opacity: 0;
	position: absolute;
	left: 0.2rem;
	top: -0.1rem;
	z-index: 2;
	width: 1rem;
	height: 1.8rem;
	border-right: 0.2rem solid #422d1c;
	border-bottom: 0.2rem solid #422d1c;
	transform-origin: left bottom;
	transform: rotate(45deg);
}

#contact .agree-area input[type="checkbox"]:checked + label::after {
	opacity: 1;
}

#contact .submit-area {
	text-align: center;
	margin-top: 3.8rem;
}

#contact .submit-area span {
	display: block;
	max-width: 40rem;
	width: 100%;
	height: 8rem;
	margin: 0 auto;
	background: #6d5335;
	transition: opacity 0.5s ease;
	border-radius: 4.1rem;
	box-shadow: 0 4px 0 #333;
	transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
	opacity: 1;
}

#contact .submit-area span:hover {
	transform: translateY(4px);
	box-shadow: none;
	transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
	opacity: 1 !important;
}

#contact .submit-area span + span {
	margin-top: 30px;
	background: #c00;
}

#contact .submit-area input {
	line-height: 1.75;
	font-weight: 700;
	font-size: 2.4rem;
	color: #fff;
	height: 8rem;
	width: 100%;
}

#contact .submit-area input:hover {
	opacity: 1 !important;
}

/* sfm2 */
#contact.sfm2 .form-wrap tr th {
	padding-top: 0;
}

#contact ul.koumoku {
	display: flex;
	width: 100%;
	justify-content: center;
}

#contact ul.koumoku li {
	max-width: 40rem;
	width: 100%;
}

#contact ul.koumoku li + li {
	margin-left: 2rem;
}

/* thanks */
.contact-thanks {
	margin-top: 10rem;
}

.contact-thanks__title {
	text-align: center;
	color: #422d1c;
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.2em;
}

.contact-thanks__body {
	margin-top: 5rem;
	text-align: center;
}

.contact-thanks__body p {
	font-size: 2rem;
	line-height: 1.75;
	color: #422d1c;
	font-weight: 500;
}

.contact-thanks__button {
	display: flex;
	justify-content: center;
	margin-top: 5rem;
}

.contact-thanks__button a {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 40rem;
	width: 100%;
	height: 8rem;
	margin: 0 auto;
	background: #6d5335;
	transition: opacity 0.5s ease;
	border-radius: 4.1rem;
	line-height: 1.75;
	font-size: 2.4rem;
	color: #fff;
	opacity: 1;
}

.contact-thanks__button a:hover {
	opacity: 1;
}

@media (min-width: 960px) {
	#contact .agree-area a:hover {
		background-size: 0% 0.1rem;
		transition: background 0.4s ease;
	}

	#contact .submit-area span:hover {
		opacity: 0.5;
		transition: opacity 0.5s ease;
	}

	#contact .select-box select:hover {
		cursor: pointer;
	}

	#contact .form-wrap .file label:hover {
		opacity: 0.5;
		transition: opacity 0.5s ease;
	}

	.contact-thanks__button a:hover {
		opacity: 0.5;
		transition: opacity 0.5s ease;
	}
}

/*20250411_金額など更新*/
.fee_area_all_wrapper {
	display: flex;
	gap: 10px !important;
	margin-bottom: 20px !important;
	margin-top: 40px !important;
}
.fee_area_wrapper {
	display: flex;
	width: 50%;
}
.fee_area_all_wrapper .ttl {
	background: #ea8f3d;
	width: 30%;
	padding: 6px !important;
	color: #fff;
	font-weight: 600 !important;
	text-align: center;
	font-size: 20px;
}
.fee_area_all_wrapper .txt {
	width: 70%;
	padding: 6px !important;
	padding-left: 10px !important;
	margin-left: 2px;
	background: #fafafa;
	font-size: 19px;
	font-weight: bold;
}

/* !COLOR
---------------------------------------------------------- */
.point-section .inner {
	padding-bottom: 0px;
}
.color-var-section br.sp {
	display: none;
}
.color-var-section {
	width: 100%;
	position: relative;
	padding-inline: 20px;
	background: #fff;
}
.color-var-inner {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}
.color-var-contents {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	padding-block: 45px 100px;
}
.color-var-ttl-box {
	width: 100%;
	height: 115px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.icon-wood-board {
	width: 108px;
	height: auto;
	aspect-ratio: 108 / 83;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: absolute;
	top: -50px;
	z-index: 1;
}
.color-var-ttl-box > h2 {
	width: 100%;
	text-align: center;
	font-size: 4.6rem;
	font-weight: 700;
	line-height: 1;
	color: #422d1c;
	display: block;
	margin-top: 15px;
	position: relative;
	z-index: 2;
}
.color-var-ttl-box::after {
	content: "COLOR";
	position: absolute;
	z-index: 0;
	color: #f2f1eb;
	font-family: "Lato", sans-serif;
	font-size: 150px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
}
.color-var-bg-area {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 30px;
	background: #f2f1eb;
	padding-inline: 80px;
	padding-block: 30px 63px;
	border-radius: 48px;
}

.color-var-heading {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 5px;
	text-align: center;
}
.color-var-heading h3 {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	position: relative;
	font-size: 3.6rem;
	color: #ea8f3c;
	font-weight: 600;
}
.color-var-heading h3::before,
.color-var-heading h3::after {
	content: "";
	width: 15px;
	height: auto;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	flex-shrink: 0;
	position: relative;
	top: 10px;
}
.color-var-heading h3::before {
	aspect-ratio: 14 / 30;
	background-image: url("../img/top/orange-slash-left.webp");
}
.color-var-heading h3::after {
	aspect-ratio: 14 / 29;
	background-image: url("../img/top/orange-slash-right.webp");
}
.color-var-heading h3 strong {
	font-size: 5.2rem;
}
.color-var-heading > p {
	font-size: 2rem;
	font-weight: 500;
	color: #412c1c;
	line-height: calc(36 / 20);
}

.color-var-grid-area {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 45px;
}
.color-var-grid {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 6.4%;
}
.color-var-grid-item {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 20px;
	min-width: 80px;
}
.color-var-grid-item > figure {
	width: 100%;
	height: auto;
	max-width: 147px;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	overflow: hidden;
}
.color-var-grid-item > figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.color-var-grid-item > h4 {
	font-size: 2rem;
	font-weight: 500;
	color: #412c1c;
	white-space: nowrap;
	text-align: center;
	line-height: 1;
}
.color-var-note {
	font-size: 1.4rem;
	font-weight: 500;
	color: #412c1c;
}

@media only screen and (max-width: 750px) {
	.color-var-section br.sp {
		display: inline;
	}
	.color-var-inner {
		max-width: 500px;
	}
	.color-var-contents {
		width: 100%;
		padding-block: 10px 60px;
	}
	.color-var-ttl-box {
		height: 55px;
	}
	.icon-wood-board {
		width: 50px;
		top: -28px;
	}
	.color-var-ttl-box > h2 {
		font-size: 2.1rem;
		margin-top: 5px;
	}
	.color-var-ttl-box::after {
		font-size: 75px;
	}
	.color-var-bg-area {
		gap: 22px;
		padding-inline: 20px;
		padding-block: 20px 25px;
		border-radius: 24px;
	}
	.color-var-heading {
		gap: 10px;
	}
	.color-var-heading h3 {
		gap: 14px;
		font-size: 2rem;
		line-height: 1.2;
	}
	.color-var-heading h3 strong {
		font-size: 2.7rem;
	}
	.color-var-heading h3::before,
	.color-var-heading h3::after {
		width: 15px;
		top: 10px;
	}
	.color-var-heading h3::before {
		aspect-ratio: 29 / 83;
		background-image: url("../img/top/orange-slash-left-sp.webp");
	}
	.color-var-heading h3::after {
		aspect-ratio: 29 / 83;
		background-image: url("../img/top/orange-slash-right-sp.webp");
	}
	.color-var-heading > p {
		font-size: 1.3rem;
		line-height: calc(48 / 26);
	}

	.color-var-grid-area {
		gap: 16px;
	}
	.color-var-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
		max-width: 340px;
	}
	.color-var-grid-item {
		gap: 10px;
		flex-flow: row;
		min-width: 0;
	}
	.color-var-grid-item > figure {
		width: 63px;
		flex-shrink: 0;
	}
	.color-var-grid-item > h4 {
		font-size: 1.4rem;
		text-align: left;
		line-height: 1.4;
	}
	.color-var-note {
		font-size: 1.2rem;
		text-align: center;
	}
}

/* !campaign bnr
---------------------------------------------------------- */
.campaign-bnr-box {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-block: 65px;
	padding-inline: 20px;
}
.campaign-bnr-box > figure {
	width: 100%;
	max-width: 1200px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	height: auto;
	aspect-ratio: 80 / 21;
}
.campaign-bnr-box > figure > * {
	width: 100%;
	height: 100%;
}
.campaign-bnr-box > figure > * > img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

@media only screen and (max-width: 750px) {
	.campaign-bnr-box {
		padding-block: 40px;
	}
	.campaign-bnr-box > figure {
		aspect-ratio: 355 / 174;
	}
}

/* !MAINTENANCE
---------------------------------------------------------- */
[x-cloak] {
	display: none !important;
}

.maintenance-section {
	width: 100%;
	position: relative;
	padding-inline: 20px;
}
.maintenance-inner {
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
}
.maintenance-contents {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 44px;
	padding-block: 0px 120px;
}
.maintenance-heading {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 38px;
}
.maintenance-ttl-box {
	width: 100%;
	display: flex;
	flex-flow: column;
	gap: 20px;
	align-items: center;
}
.maintenance-ttl-box > span {
	font-family: "Lato", sans-serif;
	color: #b6a188;
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	display: block;
}
.maintenance-ttl-box > h2 {
	font-size: 4.4rem;
	font-weight: 700;
	line-height: 1;
	color: #422d1c;
	display: block;
}
.maintenance-heading > p {
	font-size: 2rem;
	font-weight: 500;
	color: #412c1c;
	line-height: calc(36 / 20);
	text-align: center;
}
.maintenance-tab-area {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
}
.maintenance-tab-btns {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	position: relative;
}
.maintenance-tab-btns {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	position: relative;
	height: 112px;
}
.maintenance-tab-btn {
	width: 100%;
	height: 86px;
	background: #695349;
	align-self: flex-end;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 40px 40px 0 0;
	border: 4px solid #695349;
	font-size: 3.4rem;
	font-weight: 600;
	color: #d3d0c3;
	letter-spacing: -0.02em;
	position: relative;
	transition: all ease 0.2s;
	cursor: pointer;
}
.maintenance-tab-btn.is-active {
	height: 100%;
	background: #fff;
	border-bottom: none;
	color: #422d1c;
}
.maintenance-tab-btn.is-active::after {
	content: "";
	width: 100%;
	height: 6px;
	background: #fff;
	position: absolute;
	bottom: -5px;
	left: 0;
	right: 0;
	margin-inline: initial;
}
.maintenance-tab-panel {
	width: 100%;
	border: 4px solid #695349;
	background: #fff;
}
.maintenance-tab-contents {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 60px;
	padding-inline: 40px;
	padding-block: 45px 40px;
}
.maintenance-tab-head {
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 50px;
	align-items: flex-start;
}
.maintenance-tab-info-img {
	width: 42.1%;
	margin: 0;
	max-width: 506px;
	height: auto;
	border-radius: 12px;
	aspect-ratio: 506 / 275;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	flex-shrink: 0;
}
.maintenance-tab-info-img img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}
.maintenance-tab-info {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 35px;
}
.maintenance-tab-info-group {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 28px;
}
.maintenance-tab-info-ttl {
	width: 100%;
	padding-bottom: 20px;
	background-image: repeating-linear-gradient(to right, #695349 0 7px, transparent 1px 11px);
	background-position: bottom left;
	background-size: 100% 2px;
	background-repeat: repeat-x;
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
}
.maintenance-tab-info-ttl h3 {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
	color: #422d1c;
	padding-bottom: 2px;
}
.maintenance-tab-info-group:first-of-type .maintenance-tab-info-ttl::before {
	content: "";
	width: 30px;
	height: auto;
	aspect-ratio: 1 / 1;
	background-image: url("../img/top/icon-maintenance-target.webp");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.maintenance-tab-info-group:first-of-type .maintenance-tab-info-ttl h3 {
	padding-bottom: 2px;
}
.maintenance-tab-info-group:nth-of-type(2) .maintenance-tab-info-ttl::before {
	content: "";
	width: 28px;
	height: auto;
	aspect-ratio: 28 / 49;
	background-image: url("../img/top/icon-maintenance-tool.webp");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.maintenance-tab-info-list {
	width: 100%;
}
.maintenance-tab-info-list li {
	list-style: disc;
	font-size: 2.4rem;
	color: #422d1c;
	font-weight: 500;
	list-style-position: inside;
	margin-bottom: 5px;
}
.maintenance-tab-info-list li > span {
	font-size: 2rem;
	color: #f59231;
	font-weight: 500;
	margin-left: 22px;
	display: block;
}
.maintenance-tab-info-list li::marker {
	font-size: 1.8rem;
}

.maintenance-tab-howto {
	width: 100%;
	display: flex;
	flex-flow: column;
	align-items: center;
	background: #f2f1eb;
	overflow: hidden;
	border-radius: 12px;
	position: relative;
}
.maintenance-tab-howto-ttl {
	width: 100%;
	height: 60px;
	background: #695349;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 3rem;
	font-weight: 600;
	color: #fff;
	position: relative;
}
.maintenance-tab-howto-group {
	width: 100%;
	padding-inline: 40px;
	padding-block: 30px 40px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
}
.maintenance-tab-howto-group-list {
	width: 100%;
}
.maintenance-tab-howto-group-list > li {
	font-size: 2.4rem;
	color: #422d1c;
	font-weight: 500;
	margin-bottom: 5px;
}
.maintenance-tab-howto-group-list > li > span {
	font-size: 2rem;
	font-weight: 500;
	margin-left: 22px;
	display: block;
}

@media only screen and (max-width: 750px) {
	.maintenance-section {
		padding-inline: 10px;
	}
	.maintenance-contents {
		gap: 22px;
		padding-block: 0px 60px;
	}
	.maintenance-heading {
		gap: 19px;
	}
	.maintenance-ttl-box {
		gap: 14px;
	}
	.maintenance-ttl-box > span {
		font-size: 2.1rem;
	}
	.maintenance-ttl-box > h2 {
		font-size: 2.6rem;
	}
	.maintenance-heading > p {
		font-size: 1.3rem;
	}
	.maintenance-tab-btns {
		gap: 5px;
		height: 56px;
	}
	.maintenance-tab-btn {
		height: 43px;
		border-radius: 20px 20px 0 0;
		border: 2px solid #695349;
		font-size: 1.6rem;
	}
	.maintenance-tab-panel {
		border: 2px solid #695349;
	}
	.maintenance-tab-contents {
		gap: 20px;
		padding-inline: 20px;
		padding-block: 20px 30px;
	}
	.maintenance-tab-head {
		gap: 20px;
		flex-flow: column-reverse;
		align-items: center;
		justify-content: flex-start;
	}
	.maintenance-tab-info-img {
		width: 100%;
		max-width: none;
		border-radius: 6px;
		aspect-ratio: 588 / 372;
	}
	.maintenance-tab-info {
		gap: 20px;
	}
	.maintenance-tab-info-group {
		gap: 14px;
	}
	.maintenance-tab-info-ttl {
		padding-bottom: 10px;
		background-image: repeating-linear-gradient(to right, #695349 0 4px, transparent 1px 8px);
		background-size: 100% 1px;
		gap: 5px;
	}
	.maintenance-tab-info-group:first-of-type .maintenance-tab-info-ttl::before {
		width: 14px;
	}
	.maintenance-tab-info-group:nth-of-type(2) .maintenance-tab-info-ttl::before {
		width: 14px;
	}
	.maintenance-tab-info-ttl h3 {
		font-size: 1.6rem;
	}
	.maintenance-tab-info-list li {
		font-size: 1.4rem;
		margin-bottom: 2px;
	}
	.maintenance-tab-info-list li::marker {
		font-size: 1rem;
	}
	.maintenance-tab-info-list li > span {
		font-size: 1.2rem;
		margin-left: 14px;
	}
	.maintenance-tab-howto {
		border-radius: 6px;
	}
	.maintenance-tab-howto-ttl {
		height: 30px;
		font-size: 1.6rem;
	}
	.maintenance-tab-howto-group {
		padding-inline: 20px;
		padding-block: 15px 20px;
		grid-template-columns: repeat(1, 1fr);
		gap: 0;
	}
	.maintenance-tab-howto-group-list > li {
		font-size: 1.4rem;
		margin-bottom: 2px;
	}
	.maintenance-tab-howto-group-list > li > span {
		font-size: 1.2rem;
		margin-left: 14px;
	}
}
