﻿@charset "utf-8";
/* CSS Document */

/* 目次(TOC)用CSS */
.singlePage #toc_container {
	min-width: 30%;
	padding: 1em 1.5em .5em;
	border: 1px solid var(--color-gray);
}

.singlePage #toc_container .toc_title {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: 1.4em;
	position: relative;
	padding-left: 1.3em;
	margin-bottom: .5em;
}

.singlePage #toc_container .toc_title::before {
	font-family: "Font Awesome 5 Free";
	content: '\f022';
	font-size: 1em;
	margin-right: 3px;
	color: var(--color-gray);
	font-weight: 400;
	position: absolute;
	left: 0;
}

.singlePage #toc_container .toc_title .toc_toggle {
	font-size: 1.2rem;
}

.singlePage #content #toc_container .toc_list {
	padding: 0;
}

.singlePage #content #toc_container .toc_list li {
	list-style: none;
	border-bottom: 1px dotted var(--color-lightgray);
	padding-bottom: .5em;
	margin-bottom: .5em;
	position: relative;
}

.singlePage #content #toc_container .toc_list li:last-child {
	border: 0;
	padding-bottom: 0;
}

.singlePage #content #toc_container .toc_list li ul {
	border-top: 1px dotted var(--color-lightgray);
	padding: 1em 0 0 0;
	margin: 0;
}

.singlePage #content #toc_container .toc_list li ul li {
	margin-left: 1.5em;
}

.singlePage #content #toc_container .toc_list li .toc_number {
	color: var(--color-gray);
}

/* ビジュアルエディタ用CSS */
.singlePage #content p {
	margin-bottom: 10px;
	margin-bottom: 1em;
}

.singlePage #content h1,
.singlePage #content h2,
.singlePage #content h3,
.singlePage #content h4,
.singlePage #content h5,
.singlePage #content h6 {
	font-weight: bold;
	margin: 1em 0;
}

.singlePage #content h1 {
	font-size: clamp(2rem, 1.7rem + 1vw, 2.3rem);
	border-left: 5px solid var(--color-main);
	padding: 0 0 0 .5em;
}

.singlePage #content h2 {
	font-size: clamp(1.4rem, 1.3rem + 1vw, 2rem);
	border-bottom: 3px solid var(--color-main);
	padding: 0 0 .5em;
}

.singlePage #content h3 {
	font-size: clamp(1.3rem, 1.1rem + 1vw, 1.8rem);
	background: var(--color-palegray);
	padding: .5em;
}

.singlePage #content h4 {
	font-size: clamp(1.1rem, 0.9rem + 1vw, 1.6rem);
	border-top: 1px solid var(--color-lightgray);
	border-bottom: 1px solid var(--color-lightgray);
	padding: .5em 0;
}

.singlePage #content h5 {
	font-size: clamp(1rem, 0.8rem + 0.9vw, 1.4rem);
	border-bottom: 1px dashed var(--color-lightgray);
	padding: 0 0 .5em;
}

.singlePage #content h6 {
	font-size: clamp(0.9rem, 0.7rem + 0.7vw, 1.1rem);
	color: var(--color-black);
}

.singlePage #content blockquote {
	padding: 1em;
	background: var(--color-palegray);
	margin: 1em 0;
}

.singlePage #content blockquote p {
	margin-bottom: 0;
}

.singlePage #content ul,
.singlePage #content ol {
	padding-left: 1.5em;
}

.singlePage #content ul li {
	list-style: disc;
	line-height: 1.6;
	margin-bottom: 1em;
}

.singlePage #content ol li {
	list-style: decimal;
	line-height: 1.6;
	margin-bottom: 1em;
}

.singlePage #content table {
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
	border-top: 1px solid var(--color-lightgray);
	border-left: 1px solid var(--color-lightgray);
}

.singlePage #content table th {
	border-right: 1px solid var(--color-lightgray);
	border-bottom: 1px solid var(--color-lightgray);
}

.singlePage #content table td {
	border-right: 1px solid var(--color-lightgray);
	border-bottom: 1px solid var(--color-lightgray);
}

.singlePage #content table th,
.singlePage #content table td {
	padding: .5em;
}

.singlePage #content a {
	text-decoration: underline;
	color: var(--color-main);
}

.singlePage #content .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.singlePage #content .alignright {
	float: right;
	margin-left: 1.5em;
}

.singlePage #content .alignleft {
	float: left;
	margin-right: 1.5em;
}

.singlePage #content {
	display: flow-root;
	/* float の解除 */
}

.singlePage #content pre {
	white-space: pre-wrap;
	word-wrap: break-word;
}

/* ビジュアルエディタ用CSSここまで */

/*==================================================
 assessmentPage
==================================================*/
.assessmentPageWrap img {
	max-width: 100%;
	height: auto;
}

/*****bread*****/
.assessmentPageWrap .breadWrap {
	position: relative;
	top: 0;
	background: none;
}

/*
.assessmentPageWrap #bread,
.assessmentPageWrap #bread a {
	color: #fff;
}*/

/*****ttl*****/
.assessmentPageWrap .ttlWrap {
	margin-top: -43px;
	padding-top: 50px;
	padding-bottom: 20px;
	background: url(../img/page/assessment/ttlWrap_bg.webp) no-repeat center;
	background-size: cover;
}

.assessmentPageWrap .ttlWrap h2.mainTtl {
	height: inherit;
}

.assessmentPageWrap .strengthBox_start_btn {
	margin: var(--gutter-narrow) auto var(--gutter-wide);
}

/*****strengthBox*****/
.assessmentPage .strengthBox {
	margin-top: 60px;
}

.assessmentPage .strengthBox__inner {
	background: var(--color-paleyellow);
	padding: 60px 0;
	margin-top: -60px;
}

.assessmentPage .strengthBox__inner__item {
	background: #fff;
	border: 1px solid var(--color-main);
	margin: 4% auto;
	padding: 2%;
}

.assessmentPage .strengthBox__inner__item__ttl {
	font-size: 2em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 4%;
}

.assessmentPage .strengthBox__inner__ttl__head {
	display: block;
	text-align: center;
	margin-bottom: 0.5em;
}

.assessmentPage .strengthBox__inner__ttl__head .num {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: var(--color-main);
	color: #ff0;
	font-size: 1.5em;
	width: 2em;
	height: 2em;
	border-radius: 2em;
	margin-left: 0.25em;
}

.assessmentPage .strengthBox__inner__item p {
	margin: 1em 0;
}

.assessmentPage .strengthBox__inner__item__methodList {
	border: 2px solid #ccc;
	background: #fff;
	border-radius: 4px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	position: relative;
	margin: 70px 5% 0;
}

/*.assessmentPage .strengthBox__inner__item__methodList::before {
	content:"";
	display:block;
	width:100%;
	height:50px;
	background:url(../img/page/assessment/strengthBox_item02_arrow.webp) no-repeat right 32% center;
	background-size:contain;
	position:absolute;
	top:-60px;
}*/
.assessmentPage .strengthBox__inner__item__methodItem {
	width: 48%;
	min-width: 380px;
	margin: 1em 1%;
	display: flex;
	align-items: center;
}

.assessmentPage .strengthBox__inner__item__methodItem p {
	margin-top: 0;
	margin-bottom: 0;
}

.assessmentPage .strengthBox__inner__item__methodItem p.image {
	width: 140px;
	flex-shrink: 0;
}

.assessmentPage .strengthBox__inner__item__methodItem p.text {
	margin-left: 1em;
	font-weight: bold;
	text-align: left;
}

.assessmentPage .strengthBox__inner__item__methodItem .methodItem__notice {
	font-weight: normal;
	font-size: 12px;
	display: block;
	line-height: 120%;
}

.assessmentPage .strengthBox__inner__item__text p {
	text-align: center;
}

/*item03とitem04*/
.strengthBox__inner__item.item03 .strengthBox__inner__item__text {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 1em;
	background: #fff;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.08));
}

.strengthBox__inner__item.item03 .strengthBox__img--tenant,
.strengthBox__inner__item.item04 .strengthBox__img--tenant {
	width: min(100%, 340px);
	flex-shrink: 0;
	margin: 0;
}

.strengthBox__inner__item.item03 .strengthBox__img--tenant img,
.strengthBox__inner__item.item04 .strengthBox__img--tenant img {
	aspect-ratio: 340 / 227;
}

.strengthBox__inner__item.item03 .strengthBox__txt,
.strengthBox__inner__item.item04 .strengthBox__txt {
	text-align: left;
}

/*item04*/
.strengthBox__inner__item.item04 .strengthBox__item {
	display: flex;
	flex-direction: column;
	/*width: 90%;
	margin: 0 auto;*/
	padding: 1em;
	background: #fff;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.08));
}

.strengthBox__inner__item.item04 .strengthBox__item .strengthBox__itemTtl {
	background: var(--color-main);
	color: #fff;
	font-size: 1.3em;
	font-weight: bold;
	padding: 0.5em;
}

.assessmentPage .strengthBox__inner__item.item04 .strengthBox__inner__item__text {
	display: flex;
	align-items: center;
}

.assessmentPage .strengthBox__inner__item.item04 .strengthBox__item:not(:last-child) {
	margin-bottom: var(--gutter-narrow);
}

.assessmentPage .strengthBox__inner__item.item04 .strengthBox__inner__item__text p:nth-of-type(1) {
	flex-shrink: 0;
}

.assessmentPage .strengthBox__inner__item.item04 .strengthBox__inner__item__text p:nth-of-type(2) {
	padding-left: 3%;
}

/*****fotmTtl*****/
.assessmentPageWrap .formTtlBox {
	padding-top: 20px;
	padding-bottom: 20px;
	margin-bottom: 2%;
	background: url(../img/page/assessment/ttlWrap_bg.webp) no-repeat center;
	background-size: cover;
}

/***** shopInfoBox *****/
.assessmentPageWrap .shopInfoBox {
	margin: var(--gutter) auto var(--gutter-narrow);
}

/*==================================================
 pointPage
==================================================*/
.pointPageWrap img {
	max-width: 100%;
	height: auto;
}

.pointPage .contentWrap {
	margin-top: 3%;
}

/*****bread*****/
.pointPageWrap .breadWrap {
	position: relative;
	top: 0;
	background: none;
}

/*****ttl*****/
.pointPageWrap .ttlWrap {
	margin-top: -43px;
	padding-top: 50px;
	padding-bottom: 20px;
	background: url(../img/page/point/ttlWrap_bg.webp) no-repeat center bottom;
	background-size: cover;
	text-align: center;
}

.pointPageWrap .ttlWrap h2.mainTtl {
	height: inherit;
}

.pointPageWrap .ttlWrap p {
	display: inline-block;
	border: 2px solid #111;
	background: rgba(255, 255, 255, 0.8);
	padding: 0.5em 1em;
	margin: 2% auto;
	text-align: center;
	font-size: 1.2em;
}

/*****introduction*****/
.pointPage .introBox__pointList {
	display: flex;
	justify-content: center;
	margin: 0 auto 8%;
}

.pointPage .introBox__pointList__item {
	margin-right: 2%;
	max-width: 23%;
}

.pointPage .introBox__pointList__item:last-of-type {
	margin-right: 0;
}

.pointPage .introBox__pointList__item a {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	border: 1px solid #111;
	width: 100%;
	height: 100%;
	padding: 5% 0;
}

.pointPage .introBox__pointList__item img {
	width: 25%;
	height: auto;
}

.pointPage .introBox__pointList__item__text {
	display: block;
	font-size: 1.2em;
	font-weight: bold;
	margin-left: 1em;
}

/*****content*****/
.pointPage .pointBox {
	padding-top: 15%;
	margin-top: -12%;
}

.pointPage .pointBox__ttlBox {
	text-align: center;
	background: var(--color-main);
	font-size: 3em;
	margin-bottom: 3%;
}

.pointPage .pointBox__ttl {
	display: inline-block;
	background: #fff;
	border: 1px solid #fff;
	color: var(--color-main);
	text-shadow: 2px 2px 0 var(--color-palegray);
	padding: 0 3em;
	line-height: 160%;
	font-weight: bold;
	position: relative;
}

.pointPage .pointBox__ttl::before,
.pointPage .pointBox__ttl::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 2em 0.5em;
	border-color: transparent transparent #fff transparent;
	position: absolute;
}

.pointPage .pointBox__ttl::before {
	top: -1px;
	left: -0.5em;
}

.pointPage .pointBox__ttl::after {
	bottom: -1px;
	right: -0.5em;
	transform: scale(-1, -1);
}

/*****flow*****/
.pointPage .flowBox {
	padding-top: 12%;
	margin-top: -14%;
}

.pointPage .flowBox__inner__stepList {
	display: flex;
	justify-content: center;
	margin: 3% 0;
}

.pointPage .flowBox__inner__stepList li {
	width: 20vw;
	height: 20vw;
	max-width: 200px;
	max-height: 200px;
	font-size: 1.6em;
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 100%;
	position: relative;
	margin: 0 2%;
}

.pointPage .flowBox__inner__stepList li:not(:last-of-type)::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 8px;
	border-color: transparent transparent transparent #999;
	position: absolute;
	top: 50%;
	right: -12.5%;
	transform: translateY(-50%);
}

.pointPage .flowBox__inner__stepList li.step1 {
	background: var(--color-main);
}

.pointPage .flowBox__inner__stepList li.step2 {
	background: var(--color-orange);
}

.pointPage .flowBox__inner__stepList li.step3 {
	background: var(--color-main);
}

.pointPage .flowBox__inner__stepList li.step4 {
	background: var(--color-red);
}

.pointPage .flowBox__inner__itemList {
	display: flex;
	flex-wrap: wrap;
}

.pointPage .flowBox__inner__item {
	width: 31%;
	padding: 1em;
	border: 1px solid #ccc;
	position: relative;
	margin-top: 5%;
}

.pointPage .flowBox__inner__item:nth-of-type(3n-1) {
	margin-right: 2%;
	margin-left: 2%;
}

/*.pointPage .flowBox__inner__item:last-of-type{
	color:#E81733;
	font-weight:bold;
	font-size:1.2em;
	display:flex;
	justify-content: center;
	align-items: center;
}*/

.pointPage .flowBox__inner__item::before {
	content: "";
	width: 60px;
	height: 60px;
	position: absolute;
	top: -1em;
	left: -1em;
}

.pointPage .flowBox__inner__item.step1::before {
	background: url(../img/page/point/flowBox_icon_step1.webp) no-repeat;
	background-size: contain;
}

.pointPage .flowBox__inner__item.step2::before {
	background: url(../img/page/point/flowBox_icon_step2.webp) no-repeat;
	background-size: contain;
}

.pointPage .flowBox__inner__item.step3::before {
	background: url(../img/page/point/flowBox_icon_step3.webp) no-repeat;
	background-size: contain;
}

.pointPage .flowBox__inner__item.step4::before {
	background: url(../img/page/point/flowBox_icon_step4.webp) no-repeat;
	background-size: contain;
}

.pointPage .flowBox__inner__item::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 2em 0 2em 2em;
	border-color: transparent transparent transparent #ccc;
	position: absolute;
	top: 50%;
	right: -2em;
	transform: translateY(-50%);
}

.pointPage .flowBox__inner__item:last-of-type::after {
	content: none;
}

.pointPage .flowBox__inner__item h4 {
	font-size: 1.2em;
	font-weight: bold;
	padding-left: 2.2em;
}

.pointPage .flowBox__inner__item p {
	margin: 1em;
}

.pointPage .flowBox__inner__link a {
	display: block;
	padding: 0.5em;
	text-align: center;
	font-weight: bold;
	color: #fff;
}

.pointPage .step1 .flowBox__inner__link a {
	background: var(--color-main);
}

.pointPage .step2 .flowBox__inner__link a {
	background: var(--color-orange);
}

/*****tax*****/
.pointPage .taxBox__inner .image {
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.pointPage .taxBox__inner .image img {
	margin-bottom: 1em;
}

/*****difference*****/
.pointPage .differenceBox__head__com01 {
	text-align: center;
	font-size: 1.2em;
}

.pointPage .differenceBox__head__imgList {
	display: flex;
	justify-content: space-between;
	margin: 3% auto;
}

.pointPage .differenceBox__head__imgList li {
	width: 45%;
	margin: 0 2%;
}

.pointPage .differenceBox__inner table {
	width: 96%;
	margin: 3% auto;
	border: 2px solid #ccc;
}

.pointPage .differenceBox__inner table thead th {
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	color: #fff;
	padding: 0.5em;
}

.pointPage .differenceBox__inner table thead th.chukai {
	background: var(--color-orange);
}

.pointPage .differenceBox__inner table thead th.kaitori {
	background: var(--color-red);
	width:45%;
}

.pointPage .differenceBox__inner table tbody th,
.pointPage .differenceBox__inner table tbody td {
	padding: 1em;
	vertical-align: middle;
	border-bottom: 1px solid #ccc;
}

.pointPage .differenceBox__inner table tbody th {
	background: #eee;
	white-space: nowrap;
}

.pointPage .differenceBox__inner table tbody td {
	border-left: 1px solid #ccc;
}

.pointPage .differenceBox__inner table tbody td.chukai {
	background: var(--color-paleyellow);
}

.pointPage .differenceBox__inner table tbody td.kaitori {
	background: var(--color-paleorange);
}

/*==================================================
 reasonPage
==================================================*/
.reasonPageWrap img {
	max-width: 100%;
	height: auto;
}

.reasonPage .contentWrap {
	margin-top: 3%;
}

/*****bread*****/
.reasonPageWrap .breadWrap {
	position: relative;
	top: 0;
	background: none;
}

/*****ttl*****/
.reasonPageWrap .ttlWrap {
	margin-top: -43px;
	padding-top: 20px;
	padding-bottom: 20px;
	background: url(../img/page/reason/ttlWrap_bg.webp) no-repeat center;
	background-size: cover;
	text-align: center;
}

/*****introduction*****/
.reasonPage .introBox__pointList {
	display: flex;
	flex-wrap: wrap;
}

.reasonPage .introBox__pointList__item {
	width: 31%;
	margin: 1%;
}

.reasonPage .introBox__pointList__item a {
	display: flex;
	align-items: center;
	position: relative;
	border: 2px solid #111;
	padding: 1em;
	height: clamp(50px, 13vw, 6rem);
}

.reasonPage .introBox__pointList__item a:hover {
	background: #ff0;
	opacity: 1;
}

.reasonPage .introBox__pointList__item img {
	width: 20%;
	max-width: 48px;
	height: auto;
}

.reasonPage .introBox__pointList__item__text {
	font-size: clamp(0.9em, 1.8vw, 1.2em);
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	padding-left: 1em;
	margin-left: 1em;
	border-left: 1px solid #111;
}

@media only screen and (min-width: 768px) and (max-width: 818px) {
	.reasonPage .introBox__pointList__item__text .pc_wide_hidden {
		display: none;
	}
}

/*****content*****/
.reasonPage .pointBox {
	padding-top: 15%;
	margin-top: -12%;
}

.reasonPage .pointBox__ttlBox {
	text-align: center;
	font-size: 2em;
	margin-bottom: 3%;
	background: var(--color-main) url(../img/common/bg_stripe_15p.webp);
	padding: 1em;
}

.reasonPage .pointBox__ttl {
	font-weight: bold;
	text-align: center;
	padding: 1em;
	background: #fff;
	border: 2px solid var(--color-main);
}

.reasonPage .pointBox__ttl__img {
	width: 50px;
	height: auto;
}

.reasonPage .pointBox__ttl__text {
	display: block;
	margin-top: 1em;
	padding-top: 1em;
	position: relative;
}

.reasonPage .pointBox__ttl__text::before {
	content: "";
	display: block;
	width: 30px;
	height: 3px;
	background: var(--color-main);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

/*****jisseki*****/
.reasonPage .strengthBox__inner__item__text p {
	margin-top: 1em;
	font-size: 1.2em;
	text-align: center;
}

/*****value*****/
.reasonPage .valueBox__inner__modelroomBox {
	display: flex;
	align-items: center;
	margin-bottom: 3%;
}

.reasonPage .valueBox__inner__modelroomBox__photo {
	width: 50%;
	flex-shrink: 0;
	margin-right: 3%;
}

.reasonPage .valueBox__inner__modelroomBox__text {
	font-size: 1.2em;
	padding-bottom: 2em;
}

.reasonPage .valueBox__inner__modelroomBox__ttl {
	display: inline-block;
	font-size: 1.4em;
	font-weight: bold;
	background: var(--color-main);
	color: #fff;
	padding: 0.5em;
	margin-bottom: 1em;
}

.reasonPage .valueBox__inner img {
	width: 100%;
	height: auto;
}

/*****support*****/
.reasonPage .supportBox__inner__text {
	text-align: center;
	font-size: 1.2em;
	margin-bottom: 3%;
	font-weight: bold;
}

.reasonPage .supportBox__inner__photo {
	margin-bottom: 3%;
}

/*****kaitori*****/
.reasonPage .kaitoriBox .pointBox__ttlBox {
	margin-bottom: 0;
}

/*staffCom*/
.reasonPage .pointBox__inner__staffCom {
	padding-right: 20%;
	text-align: right;
	background: url(../img/page/reason/reasonPage_staff01.webp) no-repeat right center;
	background-size: 16% auto;
	min-height: 200px;
	display: flex;
	align-items: center;
}

.reasonPage .pointBox__inner__staffCom p {
	position: relative;
	display: inline-block;
	margin: 1.5em 0 1.5em auto;
	padding: 2em;
	background: var(--color-waterblue);
	text-align: left;
	font-weight: normal;
}

.reasonPage .pointBox__inner__staffCom p:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -15px;
	border: 15px solid transparent;
	border-left: 15px solid var(--color-waterblue);
}

/*理由1　メリットリスト*/
.reasonPage .pointBox__inner__staffCom:has(.pointBox__meritList) {
	padding-right: 0;
	background: none;
}

.reasonPage .pointBox__meritList {
	width: 90%;
	margin: 5% auto;
	padding: 2em;
	background: var(--color-paleyellow);
}

.pointBox__meritListTtl {
	margin-bottom: 15px;
	font-size: 1.2em;
}

.pointBox__meritTtl {
	display: flex;
	/*font-weight: normal;*/
}

.pointBox__meritTtl::before {
	content: "■";
	color: var(--color-main);
	margin-right: .25em;
}

.pointBox__meritTxt {
	margin-bottom: 15px;
	padding-left: 1.25em;
}

/*理由2*/
.pointBox__subTtl {
	font-weight: bold;
	font-size: 1.2em;
	margin-bottom: 1em;
}

/*比較表*/
.supportBox__inner__table {
	border: 1px solid var(--color-gray);
	margin-bottom: vaR(--gutter-narrow);
}

.supportBox__inner__table th,
.supportBox__inner__table td {
	padding: 1em;
}

.supportBox__inner__table thead th {
	background: var(--color-paleyellow);
	border: 1px solid var(--color-gray);
	width: 40%;
	font-size: 1.2em;
	text-align: center;
}

.supportBox__inner__table thead th:first-child {
	width: 20%;
}

.supportBox__inner__table tbody th,
.supportBox__inner__table tbody td {
	border: 1px solid var(--color-gray);
}

.supportBox__inner__table tbody th {
	text-align: center;
}

/*****kaitori*****/
.reasonPage .kaitoriBox .pointBox__ttlBox {
	margin-bottom: 0;
}

.kaitoriBox__inner__ttl {
	background: var(--color-main);
	color: #fff;
	text-align: center;
	font-size: 1.4em;
	font-weight: bold;
	padding: .5em;
	margin-bottom: 1em;
}

.kaitoriBox__inner {
	padding: 3%;
	background: var(--color-paleyellow);
}

.kaitoriBox__inner__meritTtl {
	font-size: 2em;
	font-weight: bold;
	position: relative;
	text-align: center;
	color: var(--color-main);
}

.kaitoriBox__inner__meritTtl::before {
	content: "/";
	color: var(--color-main);
	display: inline-block;
	transform: scale(-1, 1) translateX(1em);
}

.kaitoriBox__inner__meritTtl::after {
	content: "/";
	color: var(--color-main);
	display: inline-block;
	transform: translateX(1em);
}

.kaitoriBox__inner__meritList {
	/*display: flex;
	flex-wrap: wrap;
	justify-content: center;*/
	margin-top: 3%;
}

.kaitoriBox__inner__meritList__item {
	/*width: 46%;*/
	margin: 1% 2%;
	font-size: 1.4em;
	font-weight: bold;
	padding: 1em 1em 1em 3em;
	background: #fff url(../img/page/reason/icon_check.webp) no-repeat left 0.5em center;
	background-size: 1.6em auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/*理由4*/
.pointBox__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 1em;
	background: #fff;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.08));
}

.pointBox__imgBox {
	width: min(100%, 340px);
	flex-shrink: 0;
	margin: 0;
}

.pointBox__imgBox {
	aspect-ratio: 340 / 227;
}

.pointBox__itemTxt {
	text-align: left;
}

/*理由5*/
.pointBox__itemWrap {
	display: flex;
	flex-direction: column;
	padding: 1em;
	background: #fff;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.08));
}

.pointBox__itemTtl {
	background: var(--color-main);
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
	padding: 0.5em;
	margin: 1em 0;
}

.pointBox__item:not(:last-child) {
	margin-bottom: 20px;
}

/*==================================================
 purchasePage
==================================================*/
.purchasePageWrap .ttlWrap {
	margin-top: -43px;
	padding-top: 50px;
	padding-bottom: 20px;
	background: url(../img/page/purchase/ttlWrap_bg.webp) no-repeat center bottom;
	background-size: cover;
	text-align: center;
}

.purchasePageWrap .breadWrap {
	position: relative;
	top: 0;
	background: none;
}

.purchasePage .contentWrap {
	margin-top: 3%;
}

.purchasePage .purchase_catchBox {
	background-color: var(--color-paleyellow);
	border-radius: 10px;
	width: 910px;
	max-width: 100%;
	margin: 0 auto;
	overflow: hidden;
}

.purchasePage .purchase__flame {
	display: flex;
	justify-content: center;
	font-size: 1.2em;
	padding: 15px;
}

.purchasePage .font_yellow {
	color: #ffff00;
}

.purchasePage .purchase_catch_ttl {
	font-size: 1.6em;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background-color: var(--color-red);
	padding: 5px 0;
}

.purchasePage .purchaseBox__ttlBox {
	text-align: center;
	background: var(--color-main);
	font-size: clamp(1.2rem, 4vw, 3rem);
	margin-bottom: 3%;
	overflow: hidden;
}

.purchasePage .purchaseBox__ttl {
	display: inline-block;
	background: #fff;
	border: 1px solid #fff;
	color: var(--color-main);
	text-shadow: 2px 2px 0 var(--color-palegray);
	padding: 0 1em;
	line-height: 160%;
	font-weight: bold;
	position: relative;
	max-width: 80%;
}

.purchasePage .purchaseBox__ttl::before,
.purchasePage .purchaseBox__ttl::after {
	content: "";
	display: inline-block;
	width: .5em;
	height: calc(100% + 4px);
	background: #fff;
	clip-path: polygon(0 100%, 100% 100%, 100% 0);
	position: absolute;
}

.purchasePage .purchaseBox__ttl::before {
	top: -2px;
	bottom: -2px;
	left: -0.5em;
}

.purchasePage .purchaseBox__ttl::after {
	top: -2px;
	bottom: -2px;
	right: -0.5em;
	transform: scale(-1, -1);
}

.purchasePage .purchase_reasonBox {
	background: var(--color-paleyellow);
	padding: 0 0 60px;
	margin-bottom: 50px;
}

.purchasePage .purchase_reasonList .item {
	display: flex;
	background-color: #fff;
	margin-bottom: 30px;
	padding: 40px 60px;
}

.purchasePage .item_photo {
	width: 298px;
	height: auto;
	flex-shrink: 0;
}

.purchasePage .purchase_reasonList .item_info {
	margin-right: 30px;
}

.purchasePage .purchase_reasonList .item_info .ttl {
	font-size: 1.6em;
	font-weight: bold;
	letter-spacing: 0.025em;
	display: inline-block;
	margin-bottom: 15px;
}

.purchasePage .purchase_reasonList .item_info .ttl span {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.025em;
	color: #fff;
	background-color: var(--color-main);
	padding: 6px 22px 8px 23px;
	margin-right: 25px;
}

.purchasePage .purchase_reasonList .item_info .txt {
	font-size: 1.2em;
}

.purchasePage .purchase_flowArea {
	display: flex;
	justify-content: space-between;
}

.purchasePage .purchase_flowChukai {
	width: calc((100% - 40px) / 2);
	flex-shrink: 0;
	border: 5px solid var(--color-orange);
	background: var(--color-paleyellow);
	position: relative;
}

.purchasePage .purchase_flowChukai_sp_openWrap {
	padding-bottom: 200px;
}

.purchasePage .purchase_flowChukai_ttl {
	background-color: var(--color-orange);
	color: #fff;
	text-align: center;
	font-size: 1.4em;
	font-weight: bold;
	padding: 5px 10px 10px;
}

.purchasePage .purchase_flowKaitori {
	width: calc((100% - 40px) / 2);
	flex-shrink: 0;
	/*margin-left: 40px;*/
	border: 5px solid var(--color-red);
	background: var(--color-paleorange);
	position: relative;
	padding-bottom: 200px;
}

.purchasePage .purchase_flowKaitori_ttl {
	background-color: var(--color-red);
	color: #fff;
	text-align: center;
	font-size: 1.4em;
	font-weight: bold;
	padding: 5px 10px 10px;
	position: relative;
}

.purchasePage .purchase_flowKaitori_ttl::before {
	position: absolute;
	content: '';
	background: url(../img/page/purchase/before_flowKaitori_ttl.webp) center/100% no-repeat;
	width: 20px;
	height: 23px;
	left: calc(50% - 4em);
}

.purchasePage .purchase_flowKaitori_ttl::after {
	position: absolute;
	content: '';
	background: url(../img/page/purchase/after_flowKaitori_ttl.webp) center/100% no-repeat;
	width: 20px;
	height: 23px;
	left: calc(50% + 3em);
}

.purchase_flowChukai .step_num {
	color: var(--color-orange);
}

.purchase_flowKaitori .step_num {
	color: var(--color-red);
}

.purchase_flowArea .step_num {
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 8px;
}

.purchase_flowChukai .step_ttl {
	background-color: var(--color-orange);
}

.purchase_flowKaitori .step_ttl {
	background-color: var(--color-red);
}

.purchase_flowArea .step_ttl {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.025em;
	text-align: center;
	color: #fff;
	padding: 5px 0;
	margin-bottom: 9px;
}

.purchase_flowArea .step {
	padding: 0 40px 40px;
	position: relative;
}

.purchase_flowArea .purchase_flowChukai .step:first-of-type,
.purchase_flowArea .purchase_flowKaitori .step:first-of-type {
	padding-top: 30px;
}

.purchase_flowChukai .step::after {
	border-color: #f6c376 transparent transparent transparent;
}

.purchase_flowKaitori .step::after {
	border-color: #f97777 transparent transparent transparent;
}

.purchase_flowArea .step::after,
.step_onlyKaitori::after {
	content: '';
	position: absolute;
	bottom: 3px;
	left: 50%;
	right: 50%;
	transform: translateX(-50%);
	border-style: solid;
	border-width: 24px 24px 0 24px;
}

.step_onlyKaitori {
	background-color: #f97777;
	position: relative;
	margin: 30px 0;
}

.step_onlyKaitori_img {
	position: absolute;
	width: 100%;
	max-width: 416px;
	height: auto;
	top: -5%;
	left: 50%;
	transform: translateX(-50%);
}

.step_onlyKaitori_img img {
	max-width: 100%;
	width: 414px;
}

.step_onlyKaitori_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 80%;
	margin: 0 auto;
	padding: 120px 0 41px;
}

.step_onlyKaitori_list_item {
	width: calc((100% - 20px) / 2);
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	border-radius: 10px;
	font-size: clamp(13px, 1.6vw, 20px);
	font-weight: bold;
	color: var(--color-red);
	text-align: center;
	margin-bottom: 10px;
	padding: 5px;
}

.step_onlyKaitori_list_item:last-child {
	width: 100%;
}

.step_onlyKaitori::after {
	border-color: #f97777 transparent transparent transparent;
	bottom: -54px;
}

.step_onlyKaitori+.step {
	padding-top: 30px;
}

.purchase_flowChukai .step_end {
	background: var(--color-orange) url(../img/page/purchase/img_flowChukai_end.webp) no-repeat right 46px bottom 0/122px auto;
}

.purchase_flowKaitori .step_end {
	background: var(--color-red) url(../img/page/purchase/img_flowKaitori_end.webp) no-repeat right 46px bottom 0/92px auto;
}

.purchase_flowArea .step_end {
	width: 100%;
	height: 185px;
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	display: table;
}

.purchase_flowArea .step_end_tx {
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.025em;
	line-height: 1.5;
	color: #fff;
	padding-left: 10%;
	display: table-cell;
	vertical-align: middle;
}

.purchase_flowArea .step_end_tx span {
	font-size: 28px;
	color: #ff0;
}


/*==================================================
 techniquePage
==================================================*/
.techniquePageWrap .ttlWrap {
	margin-top: -43px;
	padding-top: 50px;
	padding-bottom: 20px;
	background: url(../img/page/technique/ttlWrap_bg.webp) no-repeat center bottom;
	background-size: cover;
	text-align: center;
}

.techniquePageWrap .breadWrap {
	position: relative;
	top: 0;
	background: none;
}

.techniquePage .contentWrap {
	margin-top: var(--gutter-narrow);
}

/*イントロ*/
.technique__introBox {
	margin: var(--gutter-narrow) auto;
}

.technique__introTtl {
	font-size: clamp(1.2em, 2vw, 1.8em);
	font-weight: bold;
	margin-bottom: var(--gutter-supernarrow);
}

.technique__introTtl--orange {
	color: var(--color-orange);
}

.technique__introTxt {
	font-size: clamp(1em, 2vw, 1.2em);
}

.technique__itemWrap {
	display: flex;
	justify-content: space-between;
	padding-top: 60px;
	flex-wrap: wrap;
}

.technique__item {
	border: 1px solid #111;
	/*width: calc((100% - 40px) / 2);
	flex-shrink: 0;*/
	width: 100%;
	position: relative;
	padding: 40px 20px;
	margin-bottom: 90px;
}

/*.technique__item:nth-child(even) {
	margin-left: 40px;
}*/

.technique__item__ttl {
	display: flex;
	justify-content: space-between;
	font-size: 1.6em;
	font-weight: bold;
	border-bottom: 1px solid var(--color-orange);
	margin-bottom: 14px;
	padding-right: 10px;
	padding-left: 10px;
}

.technique__item__ttl span {
	font-size: 0.8em;
	font-weight: normal;
}

.technique__item__text {
	font-size: 1.2em;
	/*margin-bottom: 30px;*/
	padding-right: 10px;
	padding-left: 10px;
}

.technique__flame {
	font-size: 1.2em;
	text-align: center;
	position: relative;
	padding-top: 20px;
}

.technique__flame__ttl {
	font-size: 1.1em;
	font-weight: bold;
	background: url(../img/page/technique/bg_stripe.webp) repeat;
	padding: 4px;
	display: inline-block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.technique__flame__ttl span {
	background-color: #fff;
	display: inline-block;
	padding: 3px 15px;
	white-space: nowrap;
}

.technique__flame__text {
	background-color: var(--color-paleorange);
	padding: 34px 10px 20px;
}

.technique__item::before {
	position: absolute;
	content: '';
	width: 138px;
	height: 80px;
	left: 0;
	top: -52px;
}

.technique__item:nth-child(1)::before {
	background: url(../img/page/technique/technique_num01.webp) center/100% no-repeat;
}

.technique__item:nth-child(2)::before {
	background: url(../img/page/technique/technique_num02.webp) center/100% no-repeat;
}

.technique__item:nth-child(3)::before {
	background: url(../img/page/technique/technique_num03.webp) center/100% no-repeat;
}

.technique__item:nth-child(4)::before {
	background: url(../img/page/technique/technique_num04.webp) center/100% no-repeat;
}

.technique__item:nth-child(5)::before {
	background: url(../img/page/technique/technique_num05.webp) center/100% no-repeat;
}

.technique__item:nth-child(6)::before {
	background: url(../img/page/technique/technique_num06.webp) center/100% no-repeat;
}

.technique__item:nth-child(7)::before {
	background: url(../img/page/technique/technique_num07.webp) center/100% no-repeat;
}


/*==================================================
 meritPage
==================================================*/
.meritPageWrap .breadWrap {
	position: relative;
	top: 0;
	background: none;
}

.meritPage .ttlWrap {
	margin-top: -43px;
	padding-top: 50px;
	padding-bottom: 20px;
	background: url(../img/page/merit/ttlWrap_bg.webp) no-repeat center bottom;
	background-size: cover;
	text-align: center;
}

.meritPage .contentWrap {
	margin-top: 3%;
}

.meritPage__ttlBox {
	text-align: center;
	background: var(--color-main);
	font-size: clamp(1.2rem, 4vw, 3rem);
	margin-bottom: 3%;
	overflow: hidden;
}

.meritPage__meritTtl {
	display: inline-block;
	background: #fff;
	border: 1px solid #fff;
	color: var(--color-main);
	text-shadow: 2px 2px 0 var(--color-palegray);
	padding: 0 1em;
	line-height: 160%;
	font-weight: bold;
	position: relative;
	max-width: 80%;
}

.meritPage__meritTtl::before,
.meritPage__meritTtl::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 4em 0.5em;
	border-color: transparent transparent #fff transparent;
	position: absolute;
}

.meritPage__meritTtl::before {
	top: -1px;
	left: -0.5em;
}

.meritPage__meritTtl::after {
	bottom: -1px;
	right: -0.5em;
	transform: scale(-1, -1);
}

.meritPage__meritWrap {
	display: flex;
	justify-content: space-between;
	margin-top: var(--gutter-narrow);
}

.meritPage__meritBox {
	width: calc((100% - 40px) / 2);
	border: solid 2px var(--color-main);
	background: var(--color-paleyellow);
}

.meritPage__listTtl {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 500;
	color: #fff;
	background: var(--color-main);
	text-align: center;
	padding: 0.2em;
}

.meritPage__meritList {
	padding: var(--gutter-narrow)
}

.meritPage__meritItemTtl {
	font-size: clamp(1.1em, 3vw, 1.3em);
	color: var(--color-red);
}

.meritPage__meritItemTtl--num {
	color: var(--color-black);
	margin-right: 3px;
}

.meritPage__meritItem {
	font-size: clamp(1em, 2vw, 1.2em);
	padding-left: var(--gutter-supernarrow);
}

.meritPage__meritItemTtl--ttlOnly,
.meritPage__meritItem {
	margin-bottom: var(--gutter-supernarrow);
}

/*デメリット*/
.meritPage__meritBox--demerit {
	border-color: #444;
	background: #fff;
	position: relative;
	overflow: hidden;
}

.meritPage__meritBox--demerit::before {
	content: "";
	position: absolute;
	background: url(../img/page/merit/illust_merit_01.webp) no-repeat center / contain;
	aspect-ratio: 324 / 546;
	width: clamp(100px, 8vw, 120px);
	bottom: -2%;
	right: 2%;
}

.meritPage__meritBox--demerit .meritPage__listTtl {
	background: #444;
}

.meritPage__meritBox--demerit .meritPage__meritItem {
	line-height: 2;
}

/*==================================================
 contactPage
==================================================*/

/*****content*****/
.contactPage .contentWrap .secTtl {
	margin: var(--gutter-narrow) 0;
}

.contactPage .contentWrap .attentionBox .text_c {
	margin-bottom: var(--gutter-narrow);
}

.contactPage h2.mainTtl.contact_entry {
	height: auto;
	padding: var(--gutter-narrow) 0;
	margin-bottom: var(--gutter-narrow);
	background: var(--color-palegreen);
}

.contactPage h2.mainTtl.contact_entry img {
	width: min(96%, 1140px);
	height: auto;
}

/* フォーム入力画面のみ */
.contactEntryPage .breadWrap {
	top: 0;
	background: none;
}

/*==================================================
 companyPage
==================================================*/
/*****president*****/
.companyPage .presidentBox__inner {
	display: flex;
	flex-wrap: wrap;
}

.companyPage .presidentBox__inner__text {
	width: 58%;
}

.companyPage .presidentBox__inner__text p {
	margin: 2%;
}

.companyPage .presidentBox__inner__photo {
	width: 40%;
	margin-left: 2%;
}

.companyPage .presidentBox__inner__name {
	width: 100%;
	margin-top: 1em;
	text-align: right;
	font-weight: bold;
}

.companyPage .presidentBox__inner__name .name {
	font-size: 1.2em;
}

/*****tab*****/
.companyPage .tabBox {
	margin: 3% 0;
	border-bottom: 3px solid var(--color-main);
}

.companyPage .tabBox__tabList {
	display: flex;
	justify-content: center;
}

.companyPage .tabBox__tabList__item {
	width: 41%;
	max-width: 380px;
	margin: 0 1%;
	padding: 1em 0;
	background: #ccc;
	color: #999;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}

.companyPage .tabBox__tabList__item.active {
	background: var(--color-main);
	color: #fff;
}

.companyPage .tabBox__tabList__item:hover {
	opacity: 0.7;
}

.companyPage .sectionWrap section:not(:first-of-type) {
	display: none;
}

/*****shopInfo*****/
.companyPage .shopInfoBox__shopList__item {
	/*width:49%;*/
	width: 60%;
	margin: 0 auto 2%;
}

.companyPage .shopInfoBox__ttl {
	background: var(--color-main);
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
	padding: 1em;
	text-align: center;
}

.companyPage .shopInfoBox__imageBox {
	height: 280px;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 3%;
}

.companyPage .shopInfoBox__imageBox img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

/***** 実績table *****/
.indexPage .recordBox__table table,
.companyPage .recordBox__table table {
	width: 100%;
	border: 2px solid var(--color-main);
}

.indexPage .recordBox__table table th,
.companyPage .recordBox__table table th {
	background-color: var(--color-main);
	color: #fff;
	border: 1px solid #ccc;
	border-bottom: 1px solid transparent;
}

.indexPage .recordBox__table table th,
.indexPage .recordBox__table table td,
.companyPage .recordBox__table table th,
.companyPage .recordBox__table table td {
	text-align: center;
	padding: 20px;
	font-size: 18px;
}

.indexPage .recordBox__table table td,
.companyPage .recordBox__table table td {
	border: 1px solid #ccc;
	background: #fff;
}

/*==================================================
 privacyPage
==================================================*/
.privacyPage dl dt {
	font-size: 1.2em;
	font-weight: bold;
	margin-top: 2em;
}

.privacyPage dl dd {
	margin-top: 1em;
}

.privacyPage ul {
	margin: 1em;
}

.privacyPage ul li {
	margin-bottom: 1em;
	list-style: disc outside;
}


/*==================================================
 sitemapPage
==================================================*/
.sitemapPage .contentWrap {
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.sitemapPage ul {
	width: 30%;
}

.sitemapPage ul li {
	margin: 20px 0;
}

.sitemapPage ul li dl dt {
	font-weight: normal;
}

.sitemapPage ul li dl dd {
	margin-left: 2em;
	margin-top: 1em;
}

.sitemapPage ul li a {
	display: block;
	padding: 20px 0 20px 20px;
	background-size: 5px auto;
	border: 1px solid #ccc;
	position: relative;
	padding-right: 20px;
}

.sitemapPage ul li a::after {
	content: "";
	width: 8px;
	height: 8px;
	display: block;
	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;
	position: absolute;
	top: 50%;
	right: 5%;
	transform: rotate(45deg) translateY(-50%);
}

.sitemapPage ul li a:hover {
	border: 1px solid #111;
}

/*
===== 予約モーダル ==========================================
*/
.yoyaku_modal_overlay {
	position: fixed;
	z-index: 1000;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 100%;
	background: rgba(0, 0, 0, .5);
	display: none;
}

#yoyaku_modal {
	width: 800px;
	max-width: 90%;
	height: 65vh;
	overflow-y: scroll;
	background: #FFF;
	display: none;
	text-align: center;
	padding-bottom: 15px;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 11000;
}

#yoyaku_modal .modal_btn p {
	text-align: right;
	padding: 5px 0;
}

#yoyaku_modal .modal_btn p span {
	display: inline-block;
	padding: 5px 10px;
	background: #999;
	color: #FFF;
	margin-right: 5px;
	cursor: pointer;
}

#yoyaku_modal .modal_item {
	border: 1px solid var(--color-main);
	cursor: pointer;
	margin: 0 5px 10px;
}

#yoyaku_modal .modal_item dl {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}

#yoyaku_modal .modal_item .photo {
	width: 220px;
	height: 130px;
	aspect-ratio: 220 / 130;
	overflow: hidden;
	border: 1px solid #CCC;
	margin: 10px;
	position: relative;
}

#yoyaku_modal .modal_item .photo img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}

#yoyaku_modal .modal_item dd {
	width: 80%;
}

#yoyaku_modal .modal_item .ttl {
	font-size: 1.2em;
	font-weight: bold;
	padding: 5px 0;
	margin: 0 5px;
	border-bottom: 1px solid #CCC;
}

#yoyaku_modal .modal_item .data {
	margin: 10px;
	font-size: 0.9em;
	text-align: left;
}

#yoyaku_modal .modal_item .btn {
	padding: 10px 0;
	background: var(--color-main);
	color: #FFF;
	margin: 10px 20px 10px 10px;
	text-align: center;
	font-size: 1em;
	font-weight: bold;
}

#yoyaku_modal .modal_item:hover {
	opacity: 0.6;
}

#lean_overlay {
	position: fixed;
	z-index: 100;
	top: 0px;
	left: 0px;
	height: 100%;
	width: 100%;
	background: #000;
	display: none;
}

#yoyaku_modal .modal_item.kengaku {
	background: var(--color-main);
	padding: 10px;
	margin-bottom: 10px;
}

#yoyaku_modal .modal_item.kengaku .ttl {
	border: 1px solid #fff;
	margin: 0 0 10px;
	padding: 5px;
	color: #FFF;
	font-size: clamp(1.7rem, 2vw, 2rem);
}

#yoyaku_modal .modal_item.kengaku p {
	color: #fff;
	font-size: 0.9em;
}

/*==================================================
 err404Page
==================================================*/
.err404Page .preparationBox {
	margin-top: 10%;
}

/*///////////////////////////////////////////////////////////

スマホ版（0px～767px）

///////////////////////////////////////////////////////////*/
@media only screen and (max-width: 767px) {

	/*==================================================
	 スマホ版 assessmentPage
	==================================================*/
	.assessmentPageWrap img {
		width: 100%;
		height: auto;
	}

	.assessmentPageWrap .ttlWrap h2.mainTtl {
		margin: auto;
	}

	/*****strengthBox*****/
	.assessmentPage .strengthBox {
		margin-top: 4%;
	}

	.assessmentPage .strengthBox__inner {
		padding: 5% 0;
		margin-top: -5%;
	}

	.assessmentPage .strengthBox__inner__item__ttl {
		font-size: 1.2em;
	}

	.strengthBox__inner__item.item03 .strengthBox__inner__item__text {
		flex-direction: column;
	}

	.assessmentPage .strengthBox__inner__item p {
		font-size: 1em;
	}

	.assessmentPage .strengthBox__inner__item__methodList {
		display: block;
		position: relative;
		margin: 50px 0 0;
		padding: 0 2%;
	}

	.assessmentPage .strengthBox__inner__item__methodList::before {
		height: 30px;
		top: -40px;
		background-position: right 5% center;
	}

	.assessmentPage .strengthBox__inner__item__methodItem {
		width: 90%;
		min-width: inherit;
		margin: 1em auto;
	}

	.assessmentPage .strengthBox__inner__item__methodItem p.image {
		max-width: 30%;
	}

	.assessmentPage .strengthBox__inner__item__text p {
		text-align: left;
	}

	/*item04*/
	.assessmentPage .strengthBox__inner__item.item04 .strengthBox__inner__item__text {
		/*display: block;*/
		flex-direction: column;
		width: 100%;
	}

	/*.assessmentPage .strengthBox__inner__item.item04 .strengthBox__inner__item__text p:nth-of-type(1){
		width:60%;
		margin-right:auto;
		margin-left:auto;
	}*/
	.assessmentPage .strengthBox__inner__item.item04 .strengthBox__inner__item__text p:nth-of-type(2) {
		padding-left: 0;
		padding-bottom: 0;
	}

	/*****fotmTtl*****/
	.assessmentPageWrap .formTtlBox {
		padding-top: 10px;
		padding-bottom: 10px;
		margin-bottom: 4%;
	}

	/*==================================================
	 スマホ版 pointPage
	==================================================*/
	.pointPage .contentWrap {
		margin-top: 5%;
	}

	.pointPageWrap .ttlWrap p {
		margin: 2% 5%;
		font-size: 0.85em;
	}

	/*****introduction*****/
	.pointPage .introBox__pointList {
		flex-wrap: wrap;
		justify-content: center;
		margin: 0 auto 8%;
	}

	.pointPage .introBox__pointList__item,
	.pointPage .introBox__pointList__item:nth-of-type(even) {
		margin-right: 2%;
		margin-bottom: 2%;
		width: 46%;
		max-width: 46%;
	}

	.pointPage .introBox__pointList__item a {
		flex-direction: column;
		justify-content: flex-end;
	}

	.pointPage .introBox__pointList__item img {
		width: 60%;
	}

	.pointPage .introBox__pointList__item__text {
		font-size: 1em;
		text-align: center;
		margin-left: 0;
	}

	/*****content*****/
	.pointPage .pointBox__ttlBox {
		text-align: center;
		background: var(--color-main);
		font-size: 1.4em;
		margin-bottom: 3%;
	}

	.pointPage .pointBox__ttl {
		padding: 0 1em;
	}

	.pointPage .pointBox__ttl::before,
	.pointPage .pointBox__ttl::after {
		border-width: 0 0 2em 0.5em;
		border-color: transparent transparent #fff transparent;
	}

	.pointPage .secTtl01 {
		font-size: 1em;
	}

	/*****flow*****/
	.pointPage .flowBox__inner__stepList {
		display: flex;
		justify-content: center;
		margin: 3% 0;
	}

	.pointPage .flowBox__inner__stepList li {
		font-size: 1em;
		flex-direction: column;
		line-height: 100%;
	}

	.pointPage .flowBox__inner__stepList li:not(:last-of-type)::after {
		border-width: 6px 0 6px 4px;
	}

	.pointPage .flowBox__inner__itemList {
		display: block;
	}

	.pointPage .flowBox__inner__item,
	.pointPage .flowBox__inner__item:nth-of-type(3n-1) {
		width: 96%;
		margin-top: 5%;
		margin-right: auto;
		margin-left: auto;
	}

	.pointPage .flowBox__inner__item::before {
		width: 45px;
		height: 45px;
		top: -0.5em;
		left: -0.5em;
	}

	.pointPage .flowBox__inner__item::after {
		border-width: 1.2em 0 1.2em 1.2em;
		border-color: transparent transparent #ccc transparent;
		top: calc(100% - 1.4em);
		left: 50%;
		transform: translateX(-50%) rotate(45deg);
	}

	.pointPage .flowBox__inner__item:last-of-type::after {
		content: none;
	}

	.pointPage .flowBox__inner__item p.image {
		text-align: center;
	}

	/*****cost*****/
	.pointPage .costBox__head__com01 {
		font-size: 1em;
		text-align: left;
	}

	.pointPage .costBox__head__inner {
		font-size: 1em;
	}

	.pointPage .costBox__headTtl {
		font-size: 1em;
	}

	.pointPage .costBox__headTtl__check {
		display: inline-block;
		background: #E81733;
		color: #fff;
		margin-right: 5px;
		padding: 0 0.5em;
	}

	.pointPage .costBox__headList {
		flex-wrap: wrap;
	}

	.pointPage .costBox__headList li {
		width: 48%;
		text-align: left;
		justify-content: flex-start;
		padding: 0.5em;
		margin-bottom: 1%;
	}

	.pointPage .costBox__inner {
		font-size: 1em;
		padding: 1em;
	}

	.pointPage .costBox__inner__item {
		margin-bottom: 5%;
	}

	.pointPage .costBox__inner__item p {
		margin: 1em;
	}

	.pointPage .costBox__inner__calcBox {
		padding: 0.5em;
	}

	/*****tax*****/
	.pointPage .taxBox__inner .image {
		width: 100%;
	}

	/*****difference*****/
	.pointPage .differenceBox__head__com01 {
		font-size: 1em;
	}

	.pointPage .differenceBox__head__imgList {
		display: block;
	}

	.pointPage .differenceBox__head__imgList li {
		width: 96%;
		margin: 3% auto;
		text-align: center;
	}

	.pointPage .differenceBox__inner table {
		font-size: 0.8em;
	}

	.pointPage .differenceBox__inner table thead tr {
		display: flex;
	}

	.pointPage .differenceBox__inner table thead th {
		width: 50%;
	}

	.pointPage .differenceBox__inner table tbody tr {
		display: flex;
		flex-wrap: wrap;
	}

	.pointPage .differenceBox__inner table tbody th {
		font-size: 1.1em;
		background: #fff;
		width: 100%;
		text-align: center;
	}

	.pointPage .differenceBox__inner table tbody td {
		width: 50%;
	}

	.pointPage .differenceBox__inner table tbody td.chukai {
		border-left: none;
	}

	/*==================================================
	 スマホ版 reasonPage
	==================================================*/
	.reasonPageWrap .ttlWrap {
		padding-top: 50px;
	}

	/*****introduction*****/
	.reasonPage .introBox__pointList__item {
		width: 48%;
		margin: 1%;
		font-size: 0.85rem;
	}

	.reasonPage .introBox__pointList__item a {
		padding: 2%;
	}

	.reasonPage .introBox__pointList__item img {
		width: 18%;
		max-width: 36px;
	}

	.reasonPage .introBox__pointList__item__text {
		font-size: 1em;
		padding-left: 0.5em;
		margin-left: 0.5em;
		line-height: 120%;
	}

	/*****content*****/
	.reasonPage .pointBox__ttlBox {
		font-size: 1.2em;
	}

	/*****jisseki*****/
	.reasonPage .strengthBox__inner__item__text p {
		font-size: 1em;
		text-align: left;
	}

	.reasonPage .supportBox__inner p {
		font-size: 1em;
		text-align: left;
	}

	/*****value*****/
	.reasonPage .valueBox__inner__modelroomBox {
		flex-direction: column;
	}

	.reasonPage .valueBox__inner__modelroomBox__photo {
		width: 100%;
		margin-right: 0;
	}

	.reasonPage .valueBox__inner__modelroomBox__text {
		font-size: 1em;
		font-weight: normal;
		padding-bottom: 3%;
	}

	.reasonPage .valueBox__inner__modelroomBox__ttl {
		display: block;
		text-align: center;
		font-size: 1em;
	}

	.reasonPage .valueBox__inner img {
		width: 100%;
		height: auto;
	}

	/*比較表*/
	.supportBox__inner__table tr {
		display: flex;
		flex-wrap: wrap;

	}

	.supportBox__inner__table th,
	.supportBox__inner__table td {
		display: block;
		padding: .5em;
	}

	.supportBox__inner__table thead th,
	.supportBox__inner__table tbody td {
		width: 50%;
	}

	.supportBox__inner__table thead th:first-child,
	.supportBox__inner__table tbody th {
		width: 100%;
		background: var(--color-main);
		color: #fff;
	}

	.supportBox__inner__table tbody td {
		font-size: .85rem;
	}


	/*****kaitori*****/
	.kaitoriBox__inner__ttl {
		font-size: 1.1em;
	}

	.reasonPage .supportBox__inner .kaitoriBox__inner__meritTtl {
		text-align: center;
	}

	.kaitoriBox__inner__meritList {
		display: block;
	}

	.kaitoriBox__inner__meritList__item {
		width: 98%;
		margin: 1% auto;
		font-size: 1rem;
	}

	/*staffCom*/
	.reasonPage .pointBox__inner__staffCom {
		padding-right: 0;
		padding-bottom: 10vw;
		background: none;
		display: block;
		min-height: auto;
	}

	.reasonPage .pointBox__inner__staffCom p {
		position: relative;
		display: block;
		font-size: 1em;
		margin: 1em;
		padding: 1em;
	}

	.reasonPage .pointBox__inner__staffCom p::before {
		border: 10px solid transparent;
		border-top: 10px solid var(--color-waterblue);
		border-right: 10px solid var(--color-waterblue);
		top: calc(100% + 15px);
		left: calc(100% - 25vw);
	}

	.reasonPage .pointBox__inner__staffCom p::after {
		content: "";
		display: block;
		width: 16vw;
		height: 16vw;
		background: url(../img/page/reason/reasonPage_staff01.webp) no-repeat right center;
		background-size: contain;
		position: absolute;
		right: -2vw;
		bottom: -12vw;
	}

	/*理由1　メリットリスト*/
	.reasonPage .pointBox__meritList {
		padding: 1em;
	}

	/*理由4*/
	.pointBox__item {
		flex-direction: column;
	}


	/*==================================================
 スマホ版 purchasePage
==================================================*/
	.purchasePage .purchase_catch_ttl {
		padding: 5px 10px;
		font-size: 1.2em;
	}

	.purchasePage .purchase__flame {
		font-size: 1em;
		flex-direction: column;
	}

	.purchase_catch_tx {
		order: 2;
		width: 100%;
		text-align: center;
	}

	.purchase_catch_img {
		order: 1;
		width: 30%;
		margin: 0 auto;
		text-align: center;
	}


	.purchasePage .purchaseBox__ttlBox {
		text-align: center;
		background: var(--color-main);
		/*font-size: 1.4em;*/
		margin-bottom: 3%;
	}

	.purchasePage .purchaseBox__ttl {
		padding: 0 1em;
		max-width: 90%;
	}

	.purchasePage .purchaseBox__ttl::before,
	.purchasePage .purchaseBox__ttl::after {
		border-width: 0 0 5em 0.5em;
		border-color: transparent transparent #fff transparent;
	}

	.purchasePage .purchase_reasonList .item {
		padding: 20px;
		flex-direction: column;
	}

	.purchasePage .purchase_reasonList .item_info {
		margin: 0 0 20px 0;
	}

	.purchasePage .purchase_reasonList .item_info .ttl {
		font-size: 1.2em;
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}

	.purchasePage .purchase_reasonList .item_info .ttl span {
		font-size: 1em;
		display: block;
		width: 30%;
		text-align: center;
		margin: 0 auto 5px;
		padding: 3px 0;
	}

	.purchasePage .purchase_reasonList .item_info .txt {
		font-size: 1em;
	}

	.purchasePage .item_photo {
		width: 100%;
		text-align: center;
	}

	.purchasePage .purchase_flowArea {
		flex-direction: column;
	}

	.purchasePage .purchase_flowChukai {
		width: 100%;
		margin-bottom: 10px;
	}

	.purchasePage .purchase_flowKaitori {
		width: 100%;
		margin: 0;
		padding-bottom: 0;
	}

	.purchasePage .purchase_flowChukai_ttl {
		font-size: 1.2em;
		padding: 0;
		position: relative;
		transition: .6s all;
	}

	.purchasePage .open .purchase_flowChukai_ttl {
		padding: 0 0 5px;
	}

	.purchasePage .purchase_flowChukai_ttl::after {
		display: inline-block;
		width: 7vw;
		height: 7vw;
		position: absolute;
		right: 5%;
		top: 50%;
		bottom: 50%;
		transform: translateY(-50%);
		background-color: #fff;
		color: var(--color-main);
		font-size: 1em;
		border-radius: 50%;
		line-height: 7vw;
	}

	.purchasePage .close .purchase_flowChukai_ttl::after {
		content: "+";
	}

	.purchasePage .open .purchase_flowChukai_ttl::after {
		content: "－";
	}

	.purchasePage .purchase_flowChukai_sp_openWrap {
		display: none;
		padding-bottom: 0;
	}

	.purchasePage .purchase_flowArea .step {
		padding: 0 20px 30px;
	}

	.purchasePage .purchase_flowArea .purchase_flowChukai .step:first-of-type,
	.purchasePage .purchase_flowArea .purchase_flowKaitori .step:first-of-type {
		padding-top: 20px;
	}

	.purchasePage .purchase_flowArea .step_num,
	.purchasePage .purchase_flowArea .step_ttl {
		font-size: 1em;
	}

	.purchasePage .purchase_flowArea .step_tx {
		font-size: 0.9em;
	}

	.purchasePage .purchase_flowArea .step_end {
		height: unset;
		padding: 15px;
	}

	.purchasePage .purchase_flowArea .step_end_tx {
		padding: 0;
	}

	.purchasePage .purchase_flowChukai .step_end {
		background: var(--color-orange) url(../img/page/purchase/img_flowChukai_end.webp) no-repeat right 0 bottom/23% auto;
		position: static;
	}

	.purchasePage .step_onlyKaitori_img {
		width: 90%;
	}

	.purchasePage .step_onlyKaitori_list {
		width: 90%;
		padding: clamp(90px, 25vw,120px) 0 20px;
	}

	.purchasePage .purchase_flowKaitori .step_end {
		background: var(--color-red) url(../img/page/purchase/img_flowKaitori_end.webp) no-repeat right 0 bottom/20% auto;
		position: static;
	}

	/*==================================================
 スマホ版 techniquePage
==================================================*/
	.technique__itemWrap {
		flex-direction: column;
	}

	.technique__item {
		width: 100%;
		padding: 20px;
		margin-bottom: 60px;
	}

	.technique__item:nth-child(even) {
		margin-left: 0;
	}

	.technique__item::before {
		width: 27vw;
		height: 15vw;
		top: -10vw;
	}

	.technique__item__ttl {
		flex-direction: column;
		font-size: 1.3em;
		padding-bottom: 2%;
		line-height: 1.5;
		margin-bottom: 3%;
	}

	.technique__item__text {
		font-size: 1em;
	}

	.technique__flame {
		font-size: 1.1em;
	}

	.technique__flame__text {
		padding: 8% 3% 5%;
	}

	.technique__flame__ttl {
		font-size: 1em;
	}

	/*==================================================
 スマホ版　meritPage
==================================================*/

	.meritPage__ttlBox {
		text-align: center;
		background: var(--color-main);
		font-size: 1.4em;
		margin-bottom: 3%;
	}

	.meritPage__meritTtl {
		padding: 0 1em;
		max-width: 90%;
	}

	.meritPage__meritTtl::before,
	.meritPage__meritTtl::after {
		border-width: 0 0 5em 0.5em;
		border-color: transparent transparent #fff transparent;
	}

	.meritPage__meritWrap {
		flex-direction: column;
		justify-content: center;
		gap: 20px;
	}

	.meritPage__meritBox {
		width: 100%;
	}

	/*デメリット*/
	.meritPage__meritBox--demerit .meritPage__meritList {
		padding-bottom: 150px;
	}

	/*==================================================
	 スマホ版 companyPage
	==================================================*/
	/*****president*****/
	.companyPage .presidentBox__inner {
		flex-direction: column-reverse;
	}

	.companyPage .presidentBox__inner__text,
	.companyPage .presidentBox__inner__photo {
		width: 100%;
		margin: 0 0 2%;
	}

	.companyPage .presidentBox__inner__photo {
		text-align: center;
	}

	.companyPage .presidentBox__inner__photo img {
		width: 60%;
	}

	.companyPage .presidentBox__inner__name {
		order: -1;
		margin-bottom: 5%;
	}

	.companyPage .presidentBox__inner__name .name {
		display: inline-block;
		text-align: right;
		margin-right: 0.8em;
	}

	/*****tab*****/
	.companyPage .tabBox__tabList__item {
		font-size: 1em;
	}

	/*****shopInfo*****/
	.companyPage .shopInfoBox__shopList {
		display: block;
	}

	.companyPage .shopInfoBox__shopList__item,
	.companyPage .shopInfoBox__shopList__item:nth-of-type(even) {
		width: 100%;
		margin: 0 0 4%;
	}

	.companyPage .entrytbl {
		border-bottom: 1px solid #eee;
	}

	/***** 実績table *****/
	.indexPage .recordBox__tablettl,
	.companyPage .recordBox__tablettl {
		font-size: 2em;
	}

	.indexPage .recordBox__table,
	.companyPage .recordBox__table {
		overflow: scroll;
	}

	.indexPage .recordBox__table table,
	.companyPage .recordBox__table table {
		width: 700px;
	}

	.indexPage .recordBox__table table th,
	.indexPage .recordBox__table table td,
	.companyPage .recordBox__table table th,
	.companyPage .recordBox__table table td {
		padding: 10px;
		font-size: 0.8em;
	}

	/*==================================================
	 スマホ版 sitemapPage
	==================================================*/
	.sitemapPage .contentWrap {
		display: block;
	}

	.sitemapPage ul {
		width: 100%;
	}

	/*
===== 予約モーダル ==========================================
*/
	#yoyaku_modal .modal_item dl {
		display: inline-block;
		position: relative;
		padding-bottom: 60px;
		width: 100%;
	}

	#yoyaku_modal .modal_item dd {
		width: calc(100% - 115px);
		display: inline-block;
	}

	#yoyaku_modal .modal_item .ttl {
		font-size: 1.1em;
	}

	#yoyaku_modal .modal_item .data {
		margin: 5px;
	}

	#yoyaku_modal .modal_item .photo {
		display: inline-block;
		vertical-align: top;
		margin-right: 0;
		width: 100px;
		height: 80px;
	}

	#yoyaku_modal .modal_item .btn {
		position: absolute;
		left: 50%;
		bottom: 10px;
		transform: translateX(-50%);
		width: calc(100% - 20px);
		margin: 0;
		white-space: nowrap;
		font-size: 0.9em;
	}

	/*==================================================
	 スマホ版 err404Page
	==================================================*/
	.err404Page .preparationBox {
		margin-top: 15%;
	}
}