/*
Theme Name: Thema DAIM
Theme URI: https://example.com/
Author: DAIM
Version: 2.0.0
Requires at least: 6.5
Requires PHP: 7.4
Description: Block theme rewrite of the Thema DAIM site.
Text Domain: thema-daim
Tags: full-site-editing, block-patterns
*/

:root {
	--pc-max-width: 1328px;
	--pc-max-width-inner: 1000px;
	--pc-max-width-contact-inner: 744px;
	--main-color: #00297C;
	--main-font-size-pc: 14px;
	--main-font-size-sp: 14px;
	--sec-margin-pc: 100px;
	--sec-margin-sp: 60px;
	--sec-padding-sp: 1.06vw;
	--sec-inner-padding-sp: 4.26vw;
	--sec-contact-padding-sp: 7.33vw;

}

:root *, :root *:before, :root *:after {
	transition-timing-function: cubic-bezier(.8,0,.3,1);
	transition: all .5s cubic-bezier(.8,0,.3,1);
}

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(0.5rem, calc(0.1rem + 1vw), 1rem); /* min: 16px, max: 8px */;
	font-feature-settings: "palt";
	line-height: 1.8;
	color: #333;
	letter-spacing: -0.02em;
}

img {
	max-width: 100%;
	height: auto;
	image-rendering: -webkit-optimize-contrast;

}

.responsive-bg {
    display: block;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 90%;
}

a {
	color: inherit;
	text-decoration: none;
}

a:active {
	color: #fff
}

a:hover {
	opacity: 0.6;
}

ul,
li {
	list-style: none;

}

h1 {
	margin: 0;
}

.pc-br {
	display: block;
}

.sp-br {
	display: none;
}


.container {
	max-width: var(--pc-max-width);
	margin-inline: auto;

}

.header-phone-number {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.phone-icon {
	width: 24px;
	height: 24px;
	margin-right: 8px;
}

.phone-number {
	font-size: 20px;
	font-weight: bold;
	margin-right: 1em;
}

.office-hours {
	font-size: 14px;
}

.pdf-icon {
	width: 40px;
}

header {
	font-size: 15px;
	padding-top: 16px;
}

.header-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: var(--pc-max-width);
	width: 100vw;
	margin-inline: auto;
}

.header-container {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 16px;
}


.header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 0 20px 0;
	margin-top: -12px;
}

.header-logo {
	width: 225px;
	height: auto;
	margin-right: clamp(0px, 5vw, 50px);
}

.header-nav-pc {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0;

	gap: 20px;
}

.header-nav-pc ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #523F30;
}


.header-nav-pc li {
	border-right: 1px solid #717071;
	line-height: 1.2;
	padding: 0 16px 0 16px;
}


.header-nav-pc li:nth-last-of-type(1) {
	border-right: none;

}

.header-contact-btn {
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 24px;
	color: #fff;
	background-color: #E18A3B;
	border-radius: 30px;
	padding: 0.2em 1.4em 0.2em 1.4em;
}

/* ----------ナビゲーションメニューCSS------------ */

/* ハンバーガーメニューここから */

.header-nav-sp ul {
	font-size: 16px;
}

.header-nav-sp li span {
    font-size: 12px;
    color: #75A24B;
    padding-left: 10px;
    letter-spacing: -0.02em;
}

.accordion.active {
    height: 270px;
}


.accordion.active .header-nav-sub-menu {
	max-height: 500px; /* 十分な高さを指定 */
	transform: scaleY(1); /* 拡大して表示 */
}

.accordion > a {
	cursor: pointer;
}
.accordion > a:focus,
.accordion > a:active {
    outline: none;
    background-color: transparent; /* 背景色を透明に設定 */
		-webkit-tap-highlight-color: transparent; /* タップ時のハイライトを無効化 */
}

.accordion > a::after {
    padding-top: 10px;
    content: "›";
    display: inline-flex;
    padding-bottom: 5px;
    padding-top: 0px;
    padding-left: 4px;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    margin-left: 8px;
    background-color: #E18A3B;
    color: white;
    border-radius: 50%;
    font-size: 18px;
    transition: transform 0.3s ease;
    rotate: 90deg;
    margin-left: auto;
}
.accordion.active > a::after {
	content: "-";

	    transition: transform 0.3s ease;
		    rotate: 0deg;
				padding-left: 0px;
}

.icon-arrow-right,
.icon-arrow-top,
.icon-arrow-bottom {
	display: inline-block;
	box-sizing: border-box;
	width: 14px;
	height: 14px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	border-color: #E18A3B;
	transform: rotate(45deg);
}

.icon-arrow-right {
	transform: rotate(45deg);
}

.icon-arrow-right-white{
	border-color: #ffffff;
}

.icon-arrow-top {
	transform: rotate(-45deg);
}

.icon-arrow-bottom {
	transform: rotate(135deg);
}


.sp-nav {
	position: fixed;
	z-index: 999;
	top: 0;
	right: -120%;
	/* right: 0; */
	width: 100%;
	height: 100vh;
	height: 100dvh; /* モダンブラウザ対応 */
	background: #ffffff;
	transition: all 0.6s;
}



.sp-nav.panelactive {
	right: 0;
}
.sp-nav ul {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    z-index: 999;
    /* top: 34%; */
    /* left: 50%; */
    /* transform: translate(-50%, -50%); */
    padding: 4vw 8vw 0 8vw;
    margin-bottom: 20px;
}
.header-nav-sp-menu-inner {
	top:28%;
}

.header-nav-sp-menu-inner li a::before {
    content: "▶";
    display: inline-block;
    margin-right: 6px;
    color: #E18A3B;
    font-size: 6px;
    vertical-align: middle;
}

.header-nav-sp-menu-inner li:nth-of-type(3) span {
    display: block;
    margin-top: 6px;
    margin-bottom: 6px;
}

.header-nav-sp-menu-inner.active {
top:41%;
}
.sp-nav li {
    margin-inline: auto;
    width: 98%;
    background-color: transparent;
    list-style: none;
    text-align: left;
    padding: 0 10px 10px 10px;
    border-bottom: 2px solid #e18a3b;
}
.sp-nav li a {
    display: flex;
    /* justify-content: space-between; */
    align-items: center;
    color: #523F30;
    text-decoration: none;
    padding: 0 10px 0 10px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: inherit;
    line-height: 1.2;
}

.sp-open-btn {
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	cursor: pointer;
	width: 50px;
	height: 50px;
	display: none;
	    background-color: #66A33C;
}

.sp-open-btn span {
	display: inline-block;
	transition: all 0.4s;
	position: absolute;
	left: 14px;
	height: 3px;
	border-radius: 2px;
	background-color: #fff;
	width: 45%;
}

.sp-open-btn span:nth-of-type(1) {
	top: 15px;
}

.sp-open-btn span:nth-of-type(2) {
	top: 23px;
}

.sp-open-btn span:nth-of-type(3) {
	top: 31px;
}

.sp-open-btn.active span:nth-of-type(1) {
    top: 18px;
    left: 15px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.sp-open-btn.active span:nth-of-type(2) {
	opacity: 0;
}

.sp-open-btn.active span:nth-of-type(3) {
    top: 30px;
    left: 15px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
.sp-nav-contact-button-container {
    /* padding: 6vw 8vw 0 8vw; */
    width: 80%;
    margin-inline: auto;
}


.sp-nav-contact-button {
	width: 100%;
	display: block;
	text-align: center;
	background: white;
	border-radius: 17px;
	border: 3px solid #333;
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 1);
	text-decoration: none;
	/* position: relative; */
	overflow: hidden;
}

.icon-toggle {
    display: inline-block;
    font-style: normal;
    font-weight: bold;
    color: #ffffff;
    margin-right: 6px;
    font-size: 1rem;
    line-height: 1;
}

.sp-nav-contact-button-container.active {
	bottom: 13%;
}
.sp-nav-contact-button-container::after {
	content: "";
	display: block;
	border-top: 1px solid #333;
	margin-top: 28px;
}

.sp-nav-contact-text {
  display: block;
  font-size: 19px;
	padding-top: 4px;
  color: #769E4C;
  font-weight: bold;
}

.sp-nav-sub-text {
	position: relative;
	display: block;
	font-size: 10px;
	color: #ffffff;
	background: #DF873B;
	padding: 5px 0 5px 30px;
	border-radius: 0 0 14px 14px;
	margin-top: 5px;
}

.sp-nav-sub-text::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -1px;
	left: 50%;
	transform: translate(-90px, 0);
	width: 24px;
	height: 18px;
	background-image: url(./img/sp-nav-contact-click.svg);
	background-repeat: no-repeat;
	border-radius: 0 0 14px 14px;
}

.sp-nav-botom-container {
    background-color: #f7f5f1;
    padding-top: 20px;
    padding-bottom: 20px;
}

li.accordion {
	position: relative;
}

ul.header-nav-sub-menu {
    position: absolute;
    top: 60px;
    left: 0;
    list-style: none;
    padding: 0;
    margin: 0;
    overflow: hidden;
    max-height: 0;
    transform: scaleY(0);
    transform-origin: top;
    transition: max-height 0.5s ease, transform 0.5s ease;
    background-color: #E18A3B;
    margin-bottom: 20px;
}

ul.header-nav-sub-menu li {
    display: flex;
    /* background-color: #EF841E; */
    color: #fff;
    padding-top: 10px;
}

.sp-nav-logo {
	width: 180px;
	height: auto;
	margin-left: 8px;
	margin-top: 16px;
}


.sp-nav-telephone {
    font-size: 36px;
    font-weight: bold;
    color: #563E2E;
    width: max-content;
    padding-left: 40px;
}
.sp-nav-office-hours {
	font-size: 15px;
	color: #523F30;
}

.sp-nav-telephone{
position: relative;
}

.sp-nav-contact-button-wrapper {
	margin-top: 100px;
}



.sp-nav-telephone::before {
    content: "";
    display: block;
    position: absolute;
    top: 14px;
    left: 7px;
    width: 26px;
    height: 40px;
    background-image: url(./img/sp-nav-telephone.webp);
    background-repeat: no-repeat;
    background-size: 26px;
}

.sp-nav-telephone-container {
	position: relative;
	left: 53%;
	transform: translate(-53%, 0);
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 20px;
}

body.active {
	height: 100%;
	overflow: hidden;
}

/* コンテンツフェードインここから */
.effect-fade {
	opacity: 0;
	transform: translate(0, 100px);
	transition: all 2000ms;
}

.effect-scroll {
	opacity: 1;
	transform: translate(0, 0);
}

.swiper2 {
	width: 100%;
	overflow: hidden;
	/* 見切れ部分の調整 */
}


.swiper2 ul li {
	display: grid;
	grid-template-rows: auto auto auto;
	/* 各行の高さを自動調整 */
	gap: 10px;
	/* 各要素間のスペース */
	justify-items: center;
	/* 中央揃え */
	text-align: center;
	padding: 10px;
	background: #f9f9f9;
	background-color: #fff;
	height: 400px;
}


/* 写真のスタイル */
.card-image {
	width: 100%;
	/* 写真の幅をカード内に収める */
	height: 150px;
	/* 高さを固定 */
	object-fit: cover;
	/* 写真を縦横比を保ってトリミング */
	border-radius: 4px;
}

/* .card-description {
	font-size: 14px;
	line-height: 1.5;
	min-height: 42px;
	max-height: 42px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.card-address {
	font-size: 12px;
	color: #555;
	min-height: 20px;
	line-height: 1.5;
} */




/* .swiper2 ul li {
flex-direction: column;
background-color : #fff;
} */


.swiper-wrapper {
	display: flex;
	transition: transform 0.3s ease;
		height: 55.55vw;
	max-height: 800px;
}

.swiper-slide {
  width: calc(100% / 4); /* コンテナ幅の1/4にする */
	text-align: center;
	font-size: 18px;
	background: #ddd;
	height: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: transform 0.3s ease, opacity 0.3s ease;
}


/* ---------------page01-top---------------*/

.top-hero-sec {
	max-width: 1864px;
	margin-inline: auto;
	position: relative;
	width: 100%;
	height: 55.55vw;
	overflow: hidden;
	max-height: 800px;
	margin-bottom: clamp(40px, 6vw, 80px);
}

.top-hero-swiper .top-hero-slide {
	position: relative;
	display: block;
	background: transparent;
	max-height: 800px;
		height: 55.55vw;
}

.top-hero-swiper .top-hero-sec-bg-img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 0;
}

.top-hero-swiper .top-hero-sec-bg-img-sp {
	display: none;
	width: 100%;
	height: auto;
	margin-bottom: 0;
}

.top-hero-pagination-wrapper {
    width: 100%;
    position: static;
    /* bottom: 0;
    left: 50%; */
    transform: translate(-50%, 0);
    display: flex;
    justify-content: center;
    margin-top: clamp(20px, 3vw, 40px);
}



/* .top-hero-pagination {
	display: flex;
	align-items: center;
	gap: 14px;
} */



.top-hero-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ffffff;
    border: 2px solid #C4C4C4;
    opacity: 1;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    margin-right: 30px !important;
}




.top-hero-pagination .swiper-pagination-bullet-active {
	background-color: #5C5C5C;
	border-color: #5C5C5C;
}



.top-news-sec {
	margin-bottom: 40px;
}

.top-news-h2 {
	font-size: 24px;
	color: #523F30;
	margin-bottom: 60px;
	border-left: 6px solid #75A04B;
	padding-left: 12px;
	margin-bottom: 28px;
	letter-spacing: -0.01em;
	font-weight: 500;
}

.top-news-h2 span {
	font-size: 18px;
	color: #B9B9B9;
	margin-left: 12px;

}

.top-about-text-wrapper, .top-service-text-wrapper, .top-works-text-wrapper {
      display: flex;
    align-items: center;
}
.top-news-h2-2 {
    font-size: 46px;
    color: #523F30;
    margin-bottom: 60px;
    border-left: 12px solid #66a33c;
    padding-left: 12px;
    margin-bottom: 28px;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.top-news-h2-2+p {
    font-size: 34px;
    color: #B9B9B9;
    margin-left: 21px;
    line-height: 1.2;
    margin-bottom: 20px;
}


.top-news-item li {
	display: flex;
	font-size: 14px;
	color: #523F30;
	padding-top: 36px;
	padding-bottom: 36px;
	border-top: 1px solid #B9B9B9;
	letter-spacing: -0.01em;
}

.top-news-item li:nth-last-of-type(1) {
	border-bottom: 1px solid #B9B9B9;
}

.top-news-category {
    border: 1px solid #717071;
    padding: 0.1em 2.5em 0.1em 2.5em;
    margin: 0 10px 0 10px;
}

.top-news-text {
	font-size: 16px;
}


.hero-font-container {
	position: absolute;

	left: 100px;
	bottom: 70px;
}

.top-service-img-wrapper {
	display: none;

}

.hero-font-container img {
width: 41.66vw;
}

.hero-font {
	font-size: clamp(36px, 4.72vw, 68px);
	font-weight: 800;
	color: #4BA04B;
	padding: 12px 32px 20px 32px;
	letter-spacing: -0.06em;
	background-color: rgba(255, 255, 255, 0.88);
	width: fit-content;
	line-height: 1;
}

.hero-font {
	font-size: clamp(4px, 4.72vw, 68px);
	font-weight: 900;
	color: #01A23E;
	padding: 12px 32px 20px 32px;
	margin-bottom: clamp(20px, 0.9375vw, 18px);
	letter-spacing: -0.02em;
	background-color: rgba(255, 255, 255, 0.88);
	width: fit-content;
	line-height: 1;
	text-shadow: 2px 2px 0 white,
		-2px 2px 0 white,
		2px -2px 0 white,
		-2px -2px 0 white;
}

.hero-font-container {
	overflow: hidden; /* マスク効果 */
	display: inline-block; /* コンテンツのサイズを制限 */
}

.hero-font {
	display: block;
	padding: 10px 20px;
	background-color: rgba(255, 255, 255, 0.8); /* 背景のボックス */
	width: 0; /* 初期状態で幅ゼロ */
	white-space: nowrap; /* テキスト折り返しを防ぐ */
	overflow: hidden; /* はみ出し部分を隠す */
	opacity: 0; /* 初期状態で透明 */
	transition: width 0.8s ease-out, opacity 0.3s ease-in;
}

.hero-font:nth-of-type(1) {
	margin-bottom: 20px;

}


.hero-font span {
	margin-right: -0.1em;
} */



.sp-nav li.accordion a:hover {
	background-color: inherit;
	opacity: 1;
}

ul.header-nav-sub-menu li:hover {
	background-color: #E45700;
	}

a.service-accordion-name {
padding: 0;
margin-top: -6px;
}
a.service-accordion-name:hover {
	background-color: none;
	opacity: 1;
}
.top-about-sec {
	max-width: var(--pc-max-width);
  margin-inline: auto;
	padding-top: 40px;
	padding-bottom: 70px;
	margin-bottom: 0;
}

section.top-service-sec {
	max-width: var(--pc-max-width);
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 83px;
	background: #F7F5F1;
	padding-bottom: 70px;
	margin-bottom: 56px;
}


.top-about-wrapper {
	background-color: #F7F5F1;

}

.top-about-box {
	    max-width: var(--pc-max-width);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 83px;
}




.top-about-010302-img {
	width: 500px;
	justify-self: end;
	padding-right: 10px;
}



.top-news-p-1 {
    border-bottom: 1px dotted #717071;
    font-size: 28px;
    font-weight: bold;
    color: #523F30;
    margin-bottom: 40px;
    line-height: 1.5;
    padding-bottom: 20px;
}

.top-news-p-2 {
	color: #523F30;
	letter-spacing: -0.03em;
	margin-bottom: 30px;
}

.view-more-btn {
	position: relative;
	font-size: 18px;
	color: #523F30;
	border: 2px dotted #717071;
	background-color: #ffffff;
	padding: 6px 50px 6px 20px;
	letter-spacing: -0.01em;
}

.view-more-btn::after {
	position: absolute;
	top: 30%;
	right: 10%;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
	border-left: 14px solid #A2A1A2;
	border-right: 0;
}

.top-works-sec {
	padding-bottom: 220px;
	position: relative;
}

.top-works-sec ul {
	display: flex;
	gap: 0;
}

.top-works-slider img {
	width: 406px;
	height: 230px;
	object-fit: cover;
	object-position: center;
	margin-bottom: 10px;
}

.top-works-box {
	margin-bottom: 50px;
}

.top-works-slider {
	width: 100%;
	margin-inline: auto;
}

.top-works-p-1 {
	font-size: 16px;
	font-weight: bold;
	color: #75A24B;
	line-height: 1.3;
	margin-bottom: 18px;
}

.top-works-p-2 {
	font-weight: 400;
	font-size: 12px;
	letter-spacing: 0;
}

.top-works-p-2 span {
	position: relative;
	padding-left: 1.6em;
	margin-right: 2em;
}

.top-works-p-2 span::before {
	content: "";
	background-image: url(./img/map-ping.svg);
	position: absolute;
	top: 0;
	left: 0;
	width: 14px;
	height: 20px;
}

.top-customer-voice {
	display: flex;
	gap: 40px;
	align-items: center;
	border: 10px solid #7C6E63;
	width: clamp(300px, 69.4vw, var(--pc-max-width-inner));
	margin-inline: auto;
	padding: 30px 60px 30px 60px;
	background-color: #ffffff;

}

.top-customer-voice div {
	text-align: center;
	width: 100%;
}

.top-works-slider-wrapper {
	width: 100vw;
	margin-inline: auto;
	margin-bottom: 50px;
	height: 420px;
}

.top-customer-voice-p-1 {
	font-size: 12px;
	color: #948372;
	margin-bottom: 14px;
	line-height: 1;
}

.top-customer-voice-p-2 {
    font-size: 45px;
    color: #523F30;
    border-bottom: 2px dotted #717071;
    margin-bottom: 40px;
    line-height: 1;
    padding-bottom: 16px;
    letter-spacing: -0.01em;
}

.top-customer-voice-p-3 {
	font-size: 12px;
	color: #3D1F00;
	margin-bottom: 40px;
	line-height: 1.5;
}

.top-customer-voice-img {
	width: 290px;
}

.top-faq-img img {
	width: 300px;
}



.top-instagram-faq-wrapper {
	position: relative;
	padding-bottom: 220px;
}

.top-instagram-faq-inner {
	position: relative;
	background-color: #F7F5F1;
	padding-top: 35px;
	padding-bottom: 83px;
}

#sbi_mod_link, #sbi_mod_error {
	float: none !important;
}

.top-instagram-sec {
	margin-bottom: 100px;
}

.top-instagram-text-wrapper, .top-faq-text-wrapper {
    display: flex;
    align-items: center;
}

.top-works-sec::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	background-image: url(./img/background-building-img.svg);
	background-repeat: repeat-x;
	background-position-x: 35vw;
	background-position-y: bottom;
	background-size: cover;
	display: block;
	width: 100%;
	height: 200px;
}

/*
.top-instagram-faq-wrapper::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	background-image: url(./img/background-building-img.svg);
	background-repeat: repeat-x;
	background-position-x: 117vw;
	background-position-y: bottom;
	background-size: cover;
	display: block;
	width: 100%;
	height: 250px;
} */

/* ---------------page02-about---------------*/

.about-sec-1 {
	margin-bottom: 117px;
}

.about-sec-1 h2 {
	border-bottom: 1px dotted #717071;
	font-size: 16px;
	color: #523F30;
	line-height: 1.5;
	padding-bottom: 12px;
	margin-bottom: 40px;
	text-align: center;
	width: 220px;
	margin-inline: auto;
}

.about-hero-sec {
	height: 363px;
	background-image: url(./img/020101-img.webp);
	background-size: cover;
	background-position-x: 0;
	background-position-y: 104%;
	background-repeat: no-repeat;
	margin-bottom: 54px;
}
.about-sec-1-p-1 {
    font-size: 36px;
    text-align: center;
    line-height: 1.3;
    margin-bottom: 35px;
    font-weight: 400;
    color: #523f30;
}

.about-sec-1-p-2 {
	font-size: 18px;
	text-align: center;
	line-height: 2;
}

.about-sec-1-p-3 {
	width: 890px;
	margin-inline: auto;
	text-align: right;
}



.about-sec-1-p-3 span {
	font-size: 12px;
	margin-right: 1em;

}

.representative-director-sign {
	width: 120px;
}

.about-sec-2 {
	max-width: 1118px;
	margin-inline: auto;
	margin-bottom: 70px;
}

.about-sec-h2 {
	font-size: 24px;
	color: #523F30;
	margin-bottom: 60px;
	border-left: 6px solid #75A04B;
	padding-left: 12px;
	margin-bottom: 28px;
	line-height: 1.5;
}

.about-sec-h2 span {
	font-size: 18px;
	color: #B9B9B9;
	margin-left: 12px;
}

.about-sec-2 dl {
	max-width: 1118px;
	color: #A0968E;
	display: flex;

}

.about-sec-2 dt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 135px;
	padding: 0;
	border-top: 1px solid #A0968E;
	border-right: 1px solid #A0968E;

}


.about-sec-2 dl:nth-of-type(5) dt {
	width: 135px;
	border-bottom: 1px solid #A0968E;
}

.about-sec-2 dd {
	color: #523F30;
	width: 100%;
	padding: 2em;
	border-top: 1px solid #A0968E;
}

.about-sec-2 dl:nth-of-type(5) dd {
	border-bottom: 1px solid #A0968E;
}


.about-sec-3 {
	max-width: 1118px;
	margin-inline: auto;
	margin-bottom: 200px;
}

.about-sec-3-p-1 {
	font-size: 18px;
	color: #523F30;
}

.about-sec-3 img {
    display: block;
    width: 90%;
    margin-inline: auto;
    margin-bottom: 20px;
}
/* ---------------page03-service---------------*/


.service-hero-sec {
	height: 363px;
	background-image: url(./img/030101-img.webp);
	background-size: cover;
	background-position-x: 0;
	background-position-y: 80%;
	background-repeat: no-repeat;
}


.sub-hero-sec h2 {
	font-size: 72px;
	color: #ffffff;
	text-shadow:
		2px 2px 2px #8297B9, -2px -2px 2px #8297B9,
		-2px 2px 2px #8297B9, 2px -2px 2px #8297B9,
		2px 0px 2px #8297B9, -2px -0px 2px #8297B9,
		0px 2px 2px #8297B9, 0px -2px 2px #8297B9;
	line-height: 1;
	text-align: center;
	margin: 0 0 30px 0;
}

.sub-hero-sec p {
	font-size: 32px;
	color: #ffffff;
	text-shadow:
		2px 2px 2px #8297B9, -2px -2px 2px #8297B9,
		-2px 2px 2px #8297B9, 2px -2px 2px #8297B9,
		2px 0px 2px #8297B9, -2px -0px 2px #8297B9,
		0px 2px 2px #8297B9, 0px -2px 2px #8297B9;
	line-height: 1;
	text-align: center;

}

.sub-hero-sec {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 20px;
}


.service-description-sec {
	background-color: #F6F4F0;
	padding-top: 40px;
	padding-bottom: 40px;
	margin-bottom: 20px;

}

.service-description-sec h2 {
	font-size: 16px;
	color: #523F30;
	text-align: center;
	border-bottom: 1px dotted #717071;
	width: 227px;
	margin-inline: auto;
	margin-bottom: 40px;
}

.service-description-sec-p-1 {
	font-size: 30px;
	color: #523F30;
	margin-bottom: 30px;
	text-align: center;
	line-height: 1;
}

.service-description-sec-p-2 {
    font-size: 16px;
    color: #523F30;
    text-align: center;
    line-height: 2.2;
    width: 70%;
    margin-inline: auto;
}

.service-description2-sec-p-1 {
	font-size: 16px;
	color: #523F30;
	margin-bottom: 20px;
	text-align: center;
}

.service-description2-sec {
	margin-bottom: 60px;
}

.service-description2-sec ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 42px;
}

.service-description2-sec li {
	width: 305px;
	height: 273px;
	padding: 25px;
	align-self: end;
	display: grid;
	grid-template-rows: 1fr 1fr;
}

.service-description2-sec li img {
	width: 105px;
}

.service-description2-sec li:nth-of-type(1) {
    border: 1px solid #F2B894;
    box-shadow: 7px 7px 0 #F2B894;
}

.service-description2-sec li:nth-of-type(2) {
	border: 1px solid #F3D550;
	box-shadow: 7px 7px 0 #F3D550;
}

.service-description2-sec li:nth-of-type(3) {
	border: 1px solid #CFD2E8;
	box-shadow: 7px 7px 0 #CFD2E8;
}

.service-description2-sec li:nth-of-type(4) {
    border: 1px solid #F8D0D3;
    box-shadow: 7px 7px 0 #F8D0D3;
}

.service-description2-sec-item {
	display: flex;
	justify-content: center;
	align-items: end;
	gap: 16px;
	border-bottom: 1px solid #B1B0B1;
	padding-bottom: 20px;
	margin-bottom: 10px;
}

.service-description2-sec-item p {
	font-size: 20px;
	letter-spacing: -0.06em;
}

.service-description2-sec-item+p {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 15px;
	line-height: 1.6;
	text-align: center;
}

.service-description3-sec h2 {
	position: relative;
	font-size: 46px;
	width: fit-content;
	background-color: #EFB692;
	color: #ffffff;
	padding: 4px 27px 4px 10px;
	margin-left: 40px;
	margin-bottom: 63px;
}

.service-description3-sec h2::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -40px;
    width: 27px;
    height: 91px;
    background-color: #F2B894;
}

.service-description-h3 {
	font-size: 46px;
	color: #523F30;
	border-left: 12px solid #75A04B;
	padding-left: 12px;
	margin-bottom: 40px;
	line-height: 1.5;
}

.service-description3-p-1 {
	font-size: 26px;
	color: #523F30;
	width: max-content;
}

.service-description3-p-2 {
	font-size: 18px;
	color: #523F30;
	margin-bottom: 65px;
}

.service-description3-sec-box h4 {
	font-size: 30px;
	font-weight: bold;
	color: #5BAC79;
	position: relative;
	width: fit-content;
	padding-left: 1em;
	padding-right: 1em;
	margin-inline: auto;
}

.service-description3-sec-box h4::before {
	position: absolute;
	top: -7px;
	left: 0;
	content: "";
	display: block;
	width: 45px;
	height: 45px;
	border-left: 3px solid #717071;
	transform: rotate(-40deg);

}

.service-description3-sec-box h4::after {
	position: absolute;
	top: -7px;
	right: 0;
	content: "";
	display: block;
	width: 45px;
	height: 45px;
	border-left: 3px solid #717071;
	transform: rotate(220deg);

}

.service-description3-sec-box {
    position: relative;
    width: 578px;
    height: 407px;
    border-radius: 24px;
    border: 3px solid #717071;
    padding: 50px;
    margin-top: 64px;
    margin-inline: auto;
}

.service-description3-sec-box div {
	position: absolute;
	top: -27px;
	left: 37px;
	background-color: #ffffff;
	width: 500px;
}

.service-description3-sec-box ul {
	font-size: 21px;
}

.service-description3-sec-box li span:nth-of-type(1) {
	font-size: 27px;
	color: #5BAC79;
}

.service-description3-sec-box li span:nth-of-type(2) {
	font-size: 21px;
	color: #5BAC79;
	font-weight: 400;
}

.service-description3-sec-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5%;
    margin-bottom: 100px;
}
.service-description3-sec-sp-wrapper {
	color: #4d4d4d;
}

.service-description3-sec-sp-wrapper p {
	position: relative;
	display: inline-block;
	background-color: #cbe7d3;
	color: #4d4d4d;
	padding: 0.35em 1.4em;
	border-radius: 6px;
}

.service-description3-sec-sp-wrapper p::before {
	content: "";
	position: absolute;
	top: -12px;
	left: 22px;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 12px solid #cbe7d3;
}

.service-description3-sec-sp-wrapper,.service-description3-sec-sp-wrapper2,.service-description4-sec-sp-wrapper2
 {
	display: none;
}

.service-description3-sec-container img {
    max-width: 526px;
    height: 567px;
}

.service-description3-p-3 {
	font-size: 16px;
	color: #717071;
	margin-bottom: 20px;
}

.service-description3-p-3 span:nth-of-type(1) {
	text-decoration: underline;
	text-decoration-color: #5BAC79;
	text-underline-offset: 6px;
}

.service-description3-p-3 span:nth-of-type(2) {
	color: #F2972C;
	text-decoration: underline;
	text-decoration-color: #F2972C;
	text-underline-offset: 6px;
}

.service-description3-sec-container2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5%;
    margin-bottom: 80px;
}
.service-description3-sec-container2 div {
	align-self: center;
}

.service-description3-sec-container2 img {
	max-width: 526px;
}

.img-030304 {
	margin-top: 30px;
	filter: drop-shadow(5px 5px 5px #523F30);
	margin-bottom: 90px;
}

.img-030305-sp {
	display: none;
}

.service-description-h3-3 {
	font-size: 46px;
	color: #523F30;
	border-left: 12px solid #75A04B;
	padding-left: 12px;
	margin-bottom: 16px;
	line-height: 1.5;
}

.bg-wrapper--gray {
	background-color: #F6F4F0;
	padding-top: 60px;
	padding-bottom: 60px;
	margin-bottom: 100px;
}

.service-description4-sec-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 85px;
	margin-bottom: 80px;
}

.service-description4-sec ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 35px;
	margin-bottom: 100px;
}


.service-description4-sec li {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 25px;
}

.service-description4-sec ul li div p:nth-of-type(1) {
	width: fit-content;
	border-bottom: 1px solid #9ebfd8;
	margin-bottom: 5px;
}

.service-description4-sec ul li div p:nth-of-type(2) {
	line-height: 1.4;
}

.img-030401 {
	padding-top: 39.7%;
	background-image: url("img/030401-img.webp");
}




.service-description4-sec-icon {
	width: 90px;
	place-self: center;
}

.service-description5-wrapper {
    position: relative;
    padding-bottom: 290px;
}

.service-description5-sec {
	max-width: 1098px;
}

.service-description5-sec-img-1 {
	margin-bottom: 145px;
	padding-top: 108%;
	background-image: url("img/030501-img.webp");
}

.service-description5-wrapper::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	background-image: url(./img/background-building-img.svg);
	background-repeat: repeat-x;
	background-position-x: 88vw;
	background-position-y: bottom;
	background-size: cover;
	display: block;
	width: 100%;
	height: 220px;
}

.img-030502 {
	padding-top: 75%;
	background-image: url("img/030502-img.webp");
}


.service-description6-sec h2 {
    position: relative;
    font-size: 46px;
    width: fit-content;
    background-color: #F3D550;
    color: #ffffff;
    padding: 4px 27px 4px 10px;
    margin-left: 40px;
    margin-bottom: 63px;
}

.service-description6-sec h2::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -40px;
    width: 27px;
    height: 91px;
    background-color: #F3D550;
}

.service-description6-wrapper {
    position: relative;
    padding-bottom: 170px;
}

.service-description6-sec {
	background-color: #FEFCF4;
	padding-top: 60px;
	padding-bottom: 85px;
	color: #523F30;
}

.service-description6-sec h4 {
    font-size: 26px;
    margin-bottom: 24px;
}

.service-description6-sec h4+p {
	line-height: 2.1;
	margin-bottom: 42px;
}

.service-description7-wrapper {
	position: relative;
	padding-bottom: 170px;
}

.service-description6-wrapper::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	background-image: url(./img/background-building-img.svg);
	background-repeat: repeat-x;
	background-position-x: 88vw;
	background-position-y: bottom;
	background-size: cover;
	display: block;
	width: 100%;
	height: 220px;
}

.service-description7-wrapper::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	background-image: url(./img/background-building-img.svg);
	background-repeat: repeat-x;
	background-position-x: 88vw;
	background-position-y: bottom;
	background-size: cover;
	display: block;
	width: 100%;
	height: 220px;
}

.service-description7-sec {
    background-color: #f6f6f9;
    color: #523F30;
    padding-top: 60px;
    padding-bottom: 70px;
}

.service-description7-sec h2 {
    position: relative;
    font-size: 46px;
    width: fit-content;
    background-color: #CFD2E8;
    color: #ffffff;
    padding: 4px 27px 4px 10px;
    margin-left: 40px;
    margin-bottom: 63px;
}

.service-description7-sec h2::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: -40px;
	width: 27px;
	height: 91px;
	background-color: #CFD2E8;
}

.service-description7-sec h4 {
	font-size: 26px;
}

.service-description8-sec {
	padding-top: 60px;
	background-color: #FEFAFA;
}

.service-description8-sec ul img {
	width: 34px;
}

.service-description8-sec h2 {
    position: relative;
    font-size: 46px;
    width: fit-content;
    background-color: #F8D0D3;
    color: #ffffff;
    padding: 4px 27px 4px 10px;
    margin-left: 40px;
    margin-bottom: 63px;
}

.service-description8-sec h2::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -40px;
    width: 27px;
    height: 91px;
    background-color: #F8D0D3;
}

.service-description8-sec h3 {
	font-size: 40px;
	margin-bottom: 30px;
	text-align: center;
}

.service-description7-sec h4 {
	font-size: 26px;
	color: #523F30;
	margin-bottom: 30px;
}




.service-description7-sec h4+p {
	line-height: 2.1;
	margin-bottom: 42px;
	width: 62%;
}


.service-description8-sec {
	padding-top: 60px;
	padding-bottom: 70px;
	background-color: #FEFAFA;
}

.service-description8-sec h4 {
	font-size: 26px;
	margin-bottom: 30px;
}



.service-description8-sec h4+p {
	line-height: 2.1;
	margin-bottom: 42px;
	width: 62%;
}

.service-description8-box {

	display: grid;
	grid-template-columns: 30% 70%;
	gap: 70px;
	background-color: #F4F0F0;
	width: var(--pc-max-width-inner);
	margin-inline: auto;
}

.bg-wrapper-gray2-inner::after {
	/* 下向きの二等辺三角形 */
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: -70px;
	transform: translateX(-50%);
	height: 70px;
	border-style: solid;
	border-right: 237px solid transparent;
	border-left: 237px solid transparent;
	border-top: 50px solid #f4f0f0;
	border-bottom: 0;
}

.service-description8-box ul {
	font-size: 26px;
	line-height: 2.2;
}

.img-030601 {
    max-width: 1327px;
    width: 100%;
    margin-top: 30px;
    filter: drop-shadow(5px 5px 5px #523F30);
    margin-bottom: 20px;
    padding-top: 59.2%;
    background-image: url("img/030601-img.webp");
}


.bg-wrapper-gray2-inner {
	position: relative;
	background-color: #F4F0F0;
	padding: 40px 0;
	margin-bottom: 70px;
}

.img-030701 {
    display: block;
    max-width: var(--pc-max-width-inner);
    width: 100%;
    margin: 30px auto 0 auto;
    filter: drop-shadow(5px 5px 5px #523F30);
    padding-top: 60%;
    background-image: url("img/030701-img.webp");
}

.img-030801 {
	width: 162px;
	place-self: end;
}



.img-030802 {
	display: block;
	margin-inline: auto;
	margin-bottom: 50px;
	padding-top: 27%;
	background-image: url("img/030802-img.webp");

}

.img-030803 {
	display: block;
	max-width: var(--pc-max-width);
	width: 100%;
	margin: 30px auto 50px auto;
	filter: drop-shadow(5px 5px 5px #523F30);
	padding-top: 34.4%;
	background-image: url("img/030803-img.webp");
}

.service-description8-sec-p {
    font-size: 26px;
    color: #523F30;
    line-height: 2;
    text-align: center;
    width: 57%;
    margin-inline: auto;
}
.service-description8-wrapper {
	position: relative;
	padding-bottom: 300px;
}

.service-description8-wrapper::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	background-image: url(./img/background-building-img.svg);
	background-repeat: repeat-x;
	background-position-x: 88vw;
	background-position-y: bottom;
	background-size: cover;
	display: block;
	width: 100%;
	height: 220px;
}




/* ---------------page04-case-list---------------*/


.case-list-hero-sec {
	height: 363px;
	background-image: url(./img/040101-img.webp);
	background-size: cover;
	background-position-x: 0;
	background-position-y: 104%;
	background-repeat: no-repeat;
}


.case-list-sec-1-h2-box {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #F6F4F0;
	margin-bottom: 100px;
	height: 106px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.case-list-sec-1 h2 {
	border-bottom: 1px dotted #717071;
	font-size: 16px;
	color: #523F30;
	line-height: 1.5;
	padding-bottom: 12px;
	text-align: center;
	width: 220px;
	margin-inline: auto;

}

.case-list-sec-1-inner {
	max-width: 1334px;
	margin-inline: auto;
}



.case-list-sec-1 ul {
	display: grid;
	align-items: start;
	grid-template-columns: 380px 380px 380px;
	gap: 100px;
}

.case-list-sec-1 li {
	position: relative;
	height: 100%;
}

.case-list-sec-1 li::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -50px;
	transform: translate(0, -50%);
	border-right: 2px solid #523F30;
	width: 10px;
	height: 710px;
}

.case-list-sec-1 li:nth-of-type(3n)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -50px;
	transform: translate(0, -50%);
	border-right: none;
	width: 10px;
	height: 710px;
}

.case-list-sec-1 img {
	width: 378px;
	height: 468px;
	object-fit: cover;
	object-position: center;
}

.case-list-item-11 img {
	object-position: 10%;
}
.case-list-item-12 img {
	object-position: 40%;
}

.case-list-sec-1-p-1 {
    position: absolute;
    padding: 8px 16px 8px 16px;
    top: 10px;
    left: 0;
    font-size: 20px;
    font-weight: bold;
    color: #699A3C;
    text-align: left;
    line-height: 1.3;
    background-color: #ffffff;
    opacity: 0.85;
    letter-spacing: 0.03em;
    width: 366px;
    height: auto;
}


.case-list-sec-1-p-2 {
	font-size: 20px;
	color: #75A24B;
	margin-bottom: 60px;
	border-left: 6px solid #D48D4C;
	padding-left: 8px;
	margin-bottom: 16px;
	line-height: 1.5;
}

.case-list-sec-1-p-3 {
	position: relative;
	font-size: 12px;
	color: #211815;
	padding-left: 1em;
	margin-bottom: 14px;
	line-height: 0;
}

.case-list-sec-1-p-4 {
	font-size: 16px;
	color: #523F30;
	line-height: 1.8;
}

.case-list-sec-1-p-3::before {
	content: "";
	position: absolute;
	top: -6px;
	left: 0;
	font-size: 12px;
	color: #211815;
	background-image: url(./img/map-ping.svg);
	background-repeat: no-repeat;
	width: 8px;
	height: 13px;
}

.building-category-container {
	display: flex;
	gap: 16px;
	margin-bottom: 12px;
}

.case-list-building-category {
	font-size: 12px;
	width: fit-content;
	text-align: center;
	color: #818181;
	background-color: #DAD9D9;
	padding: 2px 8px 2px 8px;
}

.case-list-pagination {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 40px;
	margin-bottom: 160px;
}

section.case-list-pagination-sec.container {
	margin-bottom: 240px;
}

.case-list-pagination li {
    list-style: none;
}

.pagination-button {
    width: 40px;
    height: 40px;
    border: 2px solid #D48D4C;
    border-radius: 50%;
    background: none;
    color: #D48D4C;
    font-size: 19px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
		font-weight: bold;
}

.pagination-button:hover {
    background-color: #D48D4C;
    color: #fff;
}

.pagination-button.active {
    background-color: #D48D4C;
    color: #fff;
}

/* ---------------page05-case-study---------------*/

.case-study-wrapper {
	display: flex;
	gap: 60px;
	max-width: var(--pc-max-width);
	margin-inline: auto;
	margin-bottom: 50px;
	padding-left: 50px;
	padding-right: 50px;
}

/* .case-study-wrapper-inner {
	width: var(--pc-max-width);
	margin-inline: auto;
} */

.case-study-sec-1-heading-p-box {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	background-color: #F6F4F0;
	margin-bottom: 100px;
	height: 384px;
	padding-top: 50px;
}

.case-study-sec-1-heading-p {
	border-bottom: 1px dotted #717071;
	font-size: 16px;
	color: #523F30;
	line-height: 1;
	padding-bottom: 12px;
	text-align: center;
	width: 220px;
	margin-inline: auto;
	margin-bottom: 24px;

}

.case-study-sec-1-heading-p-box h2 {
	font-size: 40px;
	color: #699A3C;
	margin-bottom: 45px;
	text-align: center;
	border-bottom: 1px solid #699A3C;
	line-height: 50px;
	letter-spacing: 0.8px;
	position: relative;
	padding-left: 42px;
	font-weight: 600;
}

.case-study-sec-1-heading-p-box h2::before {
	content: "";
	display: block;
	background-image: url(./img/heading-building-icon.svg);
	background-repeat: no-repeat;
	position: absolute;
	bottom: -22px;
	left: 0;
	transform: translate(0, -50%);
	width: 30px;
	height: 43px;
}


.case-study-sec-1 h2 {
	position: relative;
	font-size: 24px;
	height: 52px;
	width: 648px;
	background-color: #75A24B;
	border-radius: 0px 26px 26px 0px;
	color: #ffffff;
	display: flex;
   justify-content: flex-start;
	align-items: center;
   padding-left: 4em;
	margin-bottom: -26px;
	z-index: 2;
}

h2.case-study-building-name-small {
	font-size: 20px;
}

.case-study-sec-1 h2 span:nth-of-type(1) {
	font-size: 14px;
	margin-right: 9px;

}

.case-study-sec-1 h2 span:nth-of-type(2) {
	padding-left: 6px;
	border-left: 6px solid #D48D4C;
	line-height: 1.3;
}


.case-study-sec-1 h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: -1100px;
	background-color: #75A24B;
	width: 1100px;
	height: 52px;
}

.case-study-main-building-img-box {
	position: relative;
	background-color: #DEE9D4;
	padding: 54px 90px 54px 90px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-right: -60px;
}

.case-study-main-building-img-box::before {
	content: "";
	position: absolute;
	top: 0;
	left: -1100px;
	background-color: #DEE9D4;
	width: 1107px;
	height: 567px;
}


.case-study-main-building-img {
	width: 677px;
	height: 459px;
	object-fit: cover;
	object-position: center;
}

.case-study-sub-building-img-box {
	position: relative;
	width: 677px;
	display: flex;
	justify-content: flex-start;
	gap: 25px;
	margin-top: -30px;
	padding-left: 90px;
}

.case-study-sub-building-img-box img {
	width: 188px;
	height: 132px;
	object-fit: cover;
	object-position: center;
}

.case-study-sec-1-container {
	max-width: 1240px;
	margin-inline: auto;
	margin-top: -220px;
}

.case-study-sec-2 {
	padding-left: 86px;
}

.case-study-sec-2-box.small{
	height: 168px;
}

.case-study-sec-2-box h3 {
	font-size: 30px;
	font-weight: 500;
	color: #523F30;
	position: relative;
	width: fit-content;
	padding-left: 1em;
	padding-right: 1em;
	margin-inline: auto;
}

.case-study-sec-2-box h3::before {
	position: absolute;
	top: -7px;
	left: 0;
	content: "";
	display: block;
	width: 45px;
	height: 45px;
	border-left: 3px solid #523F30;
	transform: rotate(-40deg);

}

.case-study-sec-2-box h3::after {
	position: absolute;
	top: -7px;
	right: 0;
	content: "";
	display: block;
	width: 45px;
	height: 45px;
	border-left: 3px solid #523F30;
	transform: rotate(220deg);

}

.case-study-sec-2-box {
	position: relative;
	width: 677px;
	height: 233px;
	border: 1px solid #523F30;
	padding: 50px 20px 50px 20px;
	margin-top: 64px;
}

.case-study-sec-2-box.text-box--2lines {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;

}

.case-study-sec-2-box.text-box--2lines li {
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 1em;
    display: flex;
    flex-direction: column;
}



.case-study-sec-2-box div {
	position: absolute;
	top: -27px;
	left: 80px;
	background-color: #ffffff;
	width: 500px;
}




.case-study-sec-2-box li img {
	position: absolute;
	top: -8px;
	width: 32px;
}

.case-study-sec-2-box li::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 32px;
	height: 40px;
	background-color: #ffffff;
	padding-left: 37px;
	background-repeat: no-repeat;
}

.case-study-sec-2-box li:nth-of-type(1):before {
	background-image: url(./img/050201-img.svg);
}

.case-study-sec-2-box li:nth-of-type(2):before {
	background-image: url(./img/050202-img.svg);
}

.case-study-sec-2-box li:nth-of-type(3):before {
	background-image: url(./img/050203-img.svg);
}

.case-study-sec-2-box.text-box--2lines li:nth-of-type(1):before {
bottom: 0;
}

.case-study-sec-2-box.text-box--2lines li:nth-of-type(2):before {
bottom: 17%;
}

.case-study-sec-2-box.text-box--2lines li:nth-of-type(3):before {
bottom: 0;
}





/* .case-study-sec-2-box li::after {
	content: "";
	position: absolute;
	bottom: 5px;
	right: 0;
	width: 100%;
	height: 10px;
	background-color: #F5E7D4;
	z-index: -1;
} */



.case-study-sec-3 {
	font-size: 11px;
	position: relative;
	max-width: 496px;
	margin-left: -20px;
}

.case-study-sec-3.case-study-12{
	padding-top: 15%;
}

.case-study-sec-3 dl {
	display: flex;

}

.case-study-sec-3 dt {
	text-align: center;
	border-left: 1px solid #523F30;
	border-right: 1px solid #523F30;
	border-bottom: 1px solid #523F30;
	width: 160px;
	padding: 15px 15px 15px 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.2;
}

.case-study-sec-3 dl:nth-of-type(1) dt {
	border-top: 1px solid #523F30;

}

.case-study-sec-3 dt:nth-last-of-type(1) dt {
	border-top: none;
	border-bottom: 1px solid #523F30;
}

.case-study-sec-3 dd {
	border-bottom: 1px solid #523F30;
	border-right: 1px solid #523F30;
	width: 100%;
	line-height: 1.2;
	padding: 15px 15px 15px 15px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.case-study-sec-3 dl:nth-of-type(1) dd {
	border-top: 1px solid #523F30;
}

.case-study-sec-3 dl:nth-last-of-type(1) dd {
	border-bottom: 1px solid #523F30;
	;
}

.case-study-sec-3-p {
	font-size: 18px;
	color: #523F30;
	margin-bottom: 44px;
}

.case-study-sec-3 h3 {
	font-size: 12px;
	color: #523F30;
	margin-bottom: 6px;
	border-left: 6px solid #523F30;
	padding-left: 6px;
}

.btn-case-list-container {
	border-bottom: 1.6px solid #D48D4C;
	margin-inline: auto;
	margin-bottom: 250px;
	width: 140px;
	padding-right: 35px;
	padding-bottom: 5px;
}

.btn-case-list {
	font-size: 16px;
	color: #523F30;
	width: fit-content;
	display: block;
	position: relative;
	margin-inline: auto;

}

.btn-case-list::before {
	position: absolute;
	content: "";
	top: 4px;
	right: -35px;
	width: 20px;
	height: 20px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #D48D4C;
}

.btn-case-list::after {
	position: absolute;
	content: "";
	top: 10.5px;
	right: -27px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}




.case-study-sec-2-box li {
	position: relative;
	padding-left: 1.5em;
	margin-bottom: 2.3em;
	display: flex;
	flex-direction: column;
}

.case-study-sec-2-box li span:nth-of-type(1) {
	font-size: 18px;
	color: #523f30;
}

.case-study-sec-2-box li span:nth-of-type(2) {
	font-size: 21px;
	color: #5BAC79;
	font-weight: 400;
}

.case-study-sec-2-box li:nth-last-of-type(1) {
margin-bottom: 0;
}

.case-study-sec-2-box li p {
	position: relative;
	padding-left: 1.5em;
	margin-bottom: 0.5em;
}



.case-study-sec-2-box li p:last-child {
    margin-bottom: 0;
}

.highlight-text {
  background: linear-gradient(transparent 70%, #F7E7D3 70%);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

/* ---------------page06-voice---------------*/
.voice-hero-sec {
	height: 363px;
	background-image: url(./img/060101-img.webp);
	background-size: cover;
	background-position-x: 0;
	background-position-y: 57%;
	background-repeat: no-repeat;
	margin-bottom: 70px;
}

.voice-sec-1-box {
	display: flex;
	gap: 15%;
	justify-content: center;
	align-items: center;
	width: 1000px;
	margin-inline: auto;
	margin-top: 67px;
	margin-bottom: 90px;
}

.voice-sec-1 ul {
	max-width: 1000px;
	margin-inline: auto;
}

.voice-sec-1 ul li div {
	display: grid;
	grid-template-rows: 1fr 1fr;
}
.voice-sec-1-p-1 {
    font-size: 70px;
    color: #523F30;
    margin-bottom: 16px;
    text-align: center;
}

.voice-sec-1-p-2 {
	font-size: 24px;
	color: #523F30;
	line-height: 1.6;
	text-align: center;
}

.voice-sec-1-img {
	width: 227px;
}

.voice-sec-1 ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	color: #523F30;
	gap: 50px;
	margin-bottom: 80px;
}

.voice-sec-1 li {
	display: flex;
	gap: 7px;
}

.voice-sec-1 li p:nth-of-type(1) {
	font-size: 14px;
}

.voice-sec-1 li p:nth-of-type(2) {
	font-size: 12px;
}

.voice-sec-1 li img {
	width: 96px;
	height: 96px;
	object-fit: cover;
	object-position: center;
}

.voice-customer-sec {
	margin-bottom: 240px;
}

.voice-customer-sec-bg-wrapper {
	background-color: #F3F6EF;
	padding-top: 60px;
	padding-bottom: 60px;
}


.voice-customer-sec-bg-wrapper.reverse {
	background-color: #ffffff;
}



.voice-customer-sec-main-img {
	width: 160px;
	margin-bottom: 16px;
}

.voice-customer-sec-sub-img {
	display: flex;
	justify-content: space-between;
	margin-bottom: 26px;
}

.voice-customer-sec-sub-img img {
	width: 55px;
	height: 55px;
	object-fit: cover;
	object-position: center;
}

.voice-customer-sec-name {
	font-size: 26px;
	color: #523F30;
	border-left: 2px solid #523F30;
	padding-left: 20px;
}

.voice-customer-sec-container {
	max-width: 1000px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: 320px 1fr;
	column-gap: 60px;
	align-items: start;
}

.voice-customer-sec-bg-wrapper.reverse .voice-customer-sec-container {
	grid-template-columns: 1fr 320px;
}

.voice-customer-sec-bg-wrapper.reverse .voice-customer-sec-img-container {
	grid-column: 2;
}

.voice-customer-sec-bg-wrapper.reverse .voice-customer-sec-data-wrapper {
	grid-column: 1;
}
/*
.voice-customer-sec-data p:nth-of-type(1) {
	font-size: 38px;
	font-weight: bold;
	color: #523F30;
	line-height: 1.4;
	margin-bottom: 1em;
} */

/* .voice-customer-sec-data p:nth-of-type(2) {
	font-size: 24px;
	font-weight: bold;
	color: #523F30;
	line-height: 1.6;
	margin-bottom: 50px;
} */

.voice-customer-sec-img-container {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 24px;
}

.voice-customer-sec-data-wrapper {
	grid-column: 2;
	display: flex;
	flex-direction: column;
	row-gap: 32px;
}
.voice-customer-sec-data-heading {
    margin: 0;
    font-size: clamp(24px, 2vw, 28px);
    font-weight: 600;
    color: #523F30;
    line-height: 1.6;
}

.voice-customer-sec-data {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	color: #523F30;
	line-height: 2.2;
}

.voice-customer-sec-message {
    position: relative;
    color: #563e2e;
}

/* .voice-customer-sec-message::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 24px;
	bottom: 24px;
	width: 4px;
	background-color: #523F30;
} */

.voice-customer-sec-message-heading {
	margin: 0;
	display: block;
  background-color: #dbdbdb;
	padding: 8px 16px;
	margin-bottom: 16px;
	font-size: 16px;
	font-weight: 600;
}

.voice-customer-sec-message-body {
	margin: 0;
	font-size: 16px;
	line-height: 2;
}

h3.voice-customer-sec-data-heading-sp {
	display: none;
    margin: 0;
    font-size: clamp(24px, 2vw, 28px);
    font-weight: 600;
    color: #523F30;
    line-height: 1.6;
}

/* ---------------page07-faq---------------*/

body.faq-page{
	background-color: #F7F6F2;
}

.faq-hero-sec {
	height: 363px;
	background-image: url(./img/070101-img.webp);
	background-size: cover;
	background-position-x: 0;
	background-position-y: 57%;
	background-repeat: no-repeat;
	margin-bottom: 64px;
}

.faq-sec-1 {
	max-width: var(--pc-max-width-inner);
	margin-inline: auto;
	margin-bottom: 52px;
}

.faq-sec-1 h2 {
	font-size: 70px;
	color: #523F30;

}

.faq-sec-1 p:nth-of-type(1) {
	font-size: 24px;
	color: #523F30;
	margin-bottom: 40px;
}
.faq-sec-1 img {
    width: 26%;
    flex: none;
    margin-top: -7%;
    padding-bottom: 5%;
}
.faq-sec-1 ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 1vw;
}

.faq-sec-1-box {
    display: flex;
    justify-content: center;
    margin-bottom: 34px;
}

.faq-sec-1 li {
	font-size: 14px;
	line-height: 20px;
	width: 100%;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #E18A3B;
	border: 2px solid #E18A3B;
	border-radius: 28px;
	text-align: center;
	/* padding: 0 10px 0 10px; */
	letter-spacing: -0.03em;
}



.faq-sec-2 {
	max-width: var(--pc-max-width-inner);
	margin-inline: auto;
	margin-bottom: 130px;
}

.faq-sec-2-container {
	margin-bottom: 160px;
}

.faq-category-title {
	background-color: transparent;
	color: #E18A3B;
	font-size: 60px;
	margin-bottom: 0.5em;
}

.question-category-2 .faq-category-title {
	color: #66a33c;
}
.question-category-3 .faq-category-title {
	color: #f9c000;
}
.question-category-4 .faq-category-title {
	color: #00aeec;
}
.question-category-5 .faq-category-title {
	color: #b8b9b9;
}
.faq-question-title {
	font-size: 40px;
	color: #ffffff;
	margin-bottom: 40px;
	background-color: #E18A3B;
	border-radius: 40px;
	padding-top: 5px;
	padding-bottom: 10px;
	padding-left: 28px;
}

.faq-sec-2.question-category-2 .faq-sec-2-container h3 {
	background-color: #66a33c;
}

.faq-sec-2.question-category-3 .faq-sec-2-container h3 {
	background-color: #f9c000;
}

.faq-sec-2.question-category-4 .faq-sec-2-container h3 {
	background-color: #00aeec;
}

.faq-sec-2.question-category-5 .faq-sec-2-container h3 {
	background-color: #b8b9b9;
}

.faq-sec-2 img {
	width: 100px;
}




	/* FAQカテゴリー切り替え */
	.question-items {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		justify-content: center;
		margin-bottom: 40px;
		overflow: visible;
	}

	.question-items li {
		cursor: pointer;
		transition: all 0.3s ease;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 15px 30px;
		border: 2px solid #E18A3B;
		border-radius: 30px;
		text-align: center;
		font-size: 12px;
		line-height: 1.5;
		position: relative;
		z-index: 1;
	}

	.question-items li:nth-of-type(2){
		color: #66a33c;
		border: 2px solid #66a33c;
	}
	.question-items li:nth-of-type(3){
		color: #f9c000;
		border: 2px solid #f9c000;
	}

		.question-items li:nth-of-type(4){
		color: #00aeec;
		border: 2px solid #00aeec;
	}
	.question-items li:nth-of-type(5){
		color: #b8b9b9;
		border: 2px solid #b8b9b9;
	}



		.question-items li {
			padding: 20px;
		}

		.question-items li:nth-of-type(1).active {
	background-color: #E18A3B;
	color: #fff;
	border-color: #E18A3B;
}

		.question-items li:nth-of-type(2).active {
	background-color: #66a33c;
	color: #fff;
	border-color: #66a33c;
}

		.question-items li:nth-of-type(3).active {
	background-color: #f9c000;
	color: #fff;
	border-color: #f9c000;
}

		.question-items li:nth-of-type(4).active {
	background-color: #00aeec;
	color: #fff;
	border-color: #00aeec;
}

		.question-items li:nth-of-type(5).active {
	background-color: #b8b9b9;
	color: #fff;
	border-color: #b8b9b9;
}

.question-items li::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -12px;
    transform: translateX(-50%);
    display: block;
    width: 0;
    height: 0;
    border-width: 12px 12px 0 12px;
    border-style: solid;
    border-color: #E18A3B transparent transparent transparent;
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: -1;
}
.question-items li:nth-of-type(2)::after {
		border-color: #66a33c transparent transparent transparent;

}
.question-items li:nth-of-type(3)::after {
		border-color: #f9c000 transparent transparent transparent;

}
.question-items li:nth-of-type(4)::after {
		border-color: #00aeec transparent transparent transparent;

}
.question-items li:nth-of-type(5)::after {
		border-color: #b8b9b9 transparent transparent transparent;
}

	.question-items li.active::after {
		opacity: 1;
	}





.comment {
    padding: 10px;
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 40px;
    margin-bottom: 35px;
    min-height: 120px; /* 最小の高さを設定 */
}

.comment-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    background-color: #a1a1a1;
    border-radius: 50%;
    color: #fff;
    margin: auto;
    flex-shrink: 0; /* アイコンの縮小を防止 */
}

.comment-text {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border: 3px solid #201614;
    padding: 10px 15px;
    z-index: 0;
    border-radius: 10px;
    font-size: 20px;
    font-weight: 500;
    min-height: 100px; /* 最小の高さを設定 */
		color: #201614;
}

.comment-right-icon {
    display: flex;
    align-items: center;
}

.comment-text::before {
    position: absolute;
    z-index: -2;
    top: 50%;
    left: -11px;
    width: 30px;
    height: 30px;
    background-color: #fff;
    border: 3px solid #000;
    content: '';
    transform: translateY(-50%) rotate(-45deg) skew(24deg, 24deg);
    border-radius: 10px;
}

.comment:nth-of-type(2n) .comment-text::before {
    left: auto;
    right: -11px;
}

.comment-text::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: #fff;
    width: 100%;
    height: 100%;
    content: '';
    border-radius: 10px;
}

.comment-right {
    padding: 10px;
    display: grid;
    grid-template-columns: 1fr 100px;
    gap: 40px;
    min-height: 120px; /* 最小の高さを設定 */
}

.comment-icon-right {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    background-color: #a1a1a1;
    border-radius: 50%;
    color: #fff;
    margin: auto;
    flex-shrink: 0; /* アイコンの縮小を防止 */
}

.comment-right:nth-of-type(2n) .comment-icon {
    order: 2;
}

.comment-right-text {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    border: 3px solid #201614;
    padding: 10px 15px;
    z-index: 0;
    border-radius: 10px;
    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
    min-height: 100px;
    color: #201614;
}

.comment-right-text::before {
	position: absolute;
	z-index: -2;
	top: 50%;
	right: -11px;
	width: 30px;
	height: 30px;
	background-color: #ffffff;
	border: 3px solid #201614;
	content: '';
	transform: translateY(-50%) rotate(45deg) skew(-24deg, -24deg);
	border-radius: 10px;
}

.comment-right:nth-of-type(2n) .comment-text::before {
    right: auto;
    left: -11px;
    transform: translateY(-50%) rotate(-45deg) skew(24deg, 24deg);
    /* 左辺のコメントは元のスタイル */
}

.comment-right-text::after {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background-color: #fff;
	width: 100%;
	height: 100%;
	content: '';
	border-radius: 7px;
}

.faq-additional-info {
	font-size: 24px;
	color: #523F30;
	text-align: center;
	margin-bottom: 270px;
}


/* ---------------page08-contact---------------*/

.input-postal-code dd,.input-postal-code-property-location dd{
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 5px;
}

.input-property-location dd label,
.input-property-location-land-area dd label,
.input-property-location-building-area dd label,
.relationship-with-property dd label,
.property-status-container dd label {
	display: flex;
	align-items: center;
	gap: 6px;
}

.contact-hero-sec {
	height: 363px;
	background-image: url(./img/080101-img.webp);
	background-size: cover;
	background-position-x: 0;
	background-position-y: 6%;

}

.contact-form-sec {
	background-color: #F7F6F2;
	padding-top: 40px;
	padding-bottom: 120px;
	font-size: 18px;
	color: #523F30;
}


.contact-form-p-1 {
	font-size: 48px;
	color: #523F30;
}

.contact-form-p-2 {
	font-size: 24px;
	color: #523F30;
	text-align: center;
}

.contact-form-p-3 {
	display: block;
	font-size: 16px;
	color: #523F30;
	text-align:center
}

.contact-form-p-3-sp {
	display: none;
}

/*
.contact-form-box-1 {
	max-width: 856px;
	padding-bottom: 60px;
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 70px;

} */

.contact-form-box-1-wrapper {
	max-width: var(--pc-max-width-inner);
	margin-inline: auto;
	border-bottom: 1px solid #E5E5E5;
}

input {
	font-size: 16px;
	border-radius: 0px;
	border: 1px solid #b7ada4;
}

select {
	border-radius: 0px;
	border: 1px solid #b7ada4;
}

input::placeholder {
	color: #D3D3D3;

}

input[type="text"],
input[type="tel"],
input[type="email"],
select {
	padding: 0.5em;
	width: 100%;
	height: 40px;
}

input[type="radio"] {
	width: 20px;
	height: 20px;

}

.inquiry-type {
	width: var(--pc-max-width-contact-inner);
	display: flex;
	align-items: center;
	gap: 70px;
	margin-inline: auto;

}

.contact-form-container {
	position: relative;
	max-width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
	border-bottom: 1px solid #E5E5E5;
	padding: 20px 0;
}




.inquiry-type ul {
	line-height: 2;
}

.required-mark {
	color: #FF6100;
	margin-left: 0.5em;
}

.input-name,
.input-kana,
.input-telephone-number,
.input-email {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
	margin-bottom: 50px;
}

.input-municipality,
.input-postal-code,
.input-building-name,
.input-prefecture,
.building-name,
.input-municipality-property-location,
.input-postal-code-property-location,
.input-building-name-property-location,
.input-prefecture-property-location {
	width: calc(var(--pc-max-width-contact-inner) - 130px);
	margin-bottom: 50px;
	display: grid;
	align-items: baseline;
	grid-template-columns: 22% 78%;
	gap: 18px;
}

.input-name dt,
.input-kana dt,
.input-postal-code dt,
.input-telephone-number dt,
.input-building-name dt,
.input-email dt {
	font-size: 18px;
	color: #523F30;
	margin-bottom: 16px;
}


.input-municipality dt {
	font-size: 18px;
	color: #523F30;
}

select#prefecture {
	margin-top: 16px;
}


.input-address-container {
	width: var(--pc-max-width-contact-inner);
	display: grid;
	grid-template-columns: 60px 1fr;
	margin-inline: auto;
	gap: 70px;
}

select:invalid {
	color: #606060;
}

.input-address-p {
	width: 60px;
	font-size: 18px;
}

.input-address-inner {
	width: 100%;
}

.property-location-dt {
	font-size: 20px;
	margin-bottom: 32px;
}

.property-area-dt {
	font-size: 20px;
	margin-bottom: 16px;
}

.property-area-dd {
    display: flex;
    gap: 30px;
    font-size: 20px;
    margin-bottom: 16px;
}

.property-location-dd {
	display: flex;
	gap: 58px;
}


.input-property-location {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
	padding-top: 50px;
	margin-bottom: 35px;
}




.input-property-location-land-area {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
	padding-top: 50px;
	margin-bottom: 35px;
}

.input-property-location-building-area {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
	margin-bottom: 35px;
}

	.property-location-building-area-dt {
		font-size: 20px;
		 margin-bottom: 16px;
	}

	.property-location-building-area-dd {
    font-size: 20px;
    margin-bottom: 16px;
		display: flex;
    gap: 30px;
	}


.input-building-age {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
	padding-top: 50px;
	margin-bottom: 35px;
}

.input-building-age dt {
	font-size: 20px;
	margin-bottom: 16px;
}

input#building-age {
	width: 253px;
	margin-right: 12px;
	margin-bottom: 35px;
}

.input-building-age {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
}

.relationship-with-property {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
}

.property-status-container {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
	padding-top: 50px;
	margin-bottom: 35px;
}

.property-status-container label {
	font-size: 20px;
	margin-bottom: 16px;
	display: block;
}



.relationship-with-property dt {
	font-size: 20px;
	margin-bottom: 35px;
}

.relationship-with-property dd {
	display: flex;
	flex-wrap: wrap;
	gap: 35px;
}

.contact-textarea {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
	margin-bottom: 50px;
}

textarea {
	width: 100%;
	height: 324px;
}

.contact-textarea-dt {
	font-size: 20px;
	margin-bottom: 16px;
}

.contact-scrollable-text {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
	margin-bottom: 16px;
	height: 150px;
	padding: 18px;
	border: 1px solid #ccc;
	overflow-y: scroll;
	background-color: #f9f9f9;
}

.contact-scrollable-text-detail {
	font-size: 14px;
}

.privacy-agreement {
	width: var(--pc-max-width-contact-inner);
	margin-inline: auto;
	margin-bottom: 50px;
}

.contact-btn {
	display: block;
	padding: 12px 0;
	width: 267px;
	background-color: #396D51;
	border-radius: 20px;
	color: #ffffff;
	border: none;
	margin-inline: auto;

}


.contact-form-wrapper {
	margin-bottom: 200px;
}

select#prefecture,
select#prefecture-property-location,
select#property-status {
	font-size: 15px;
}


/* ----------------------------------- */

footer {
    background-color: #bfb8b3;
    padding-bottom: 30px;
}

.footeropyright {
    color: #ffffff;
    text-align: center;
}

.footer-contact-container {
	position: relative;
	background-color: #DBE6D0;
	padding-bottom: 42px;
}

.footer-contact-container::before {
	position: absolute;
	top: -220px;
	left: 0;
	content: "";
	background-image: url(./img/background-building-img.svg);
	background-repeat: repeat-x;
	background-position-x: 88vw;
	background-position-y: bottom;
	background-size: cover;
	display: block;
	width: 100%;
	height: 220px;
}


.footer-phone-icon {
	width: 80px;
	height: 80px;
}

.footer-contact-heading {
	font-size: 63px;
	color: #75A04B;
	text-align: center;
	padding-top: 55px;
}

.footer-contact-p-1 {
	font-size: 16px;
	color: #727272;
	text-align: center;
	margin-bottom: 80px;
	font-weight: bold;
}

.footer-contact-p-2 {
	font-size: 47px;
	color: #75A04B;
	text-align: center;
	margin-bottom: 90px;
	background-color: #ffffff;
	max-width: var(--pc-max-width-inner);
	margin-inline: auto;
	padding: 50px 0 50px 0;
	border-radius: 48px;
}

.footer-contact-p-3 {
	font-size: 16px;
	color: #523F30;
	text-align: center;

}

.footer-contact-box {
	margin-inline: auto;
	max-width: var(--pc-max-width-inner);
}

.footer-phone-btn-container {
	max-width: var(--pc-max-width-inner);
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
	gap: 35px;
	margin-bottom: 42px;
}

.footer-phone-btn {
	display: flex;
	align-items: center;
	font-size: 37px;
	font-weight: bold;
	color: #fff;
	background-color: #727272;
	border-radius: 30px;
	padding: 30px 60px 30px 60px;
	gap: 15px;
}


.footer-container {
	display: flex;
	width: var(--pc-max-width-inner);
	margin-inline: auto;
	align-items: flex-start;
	gap: 42px;
		padding-top: 56px;
	color: #ffffff;
	padding-bottom: 24px;
}

.footer-info-container {
	margin-bottom: 100px;
}

.footer-info {
	font-size: 15px;
	width: max-content;
}

.footer-logo {
	width: 225px;
	height: auto;
}

.footer-nav ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 24px;
	font-weight: bold;
}

.footer-nav ul li {
	width: max-content;
}

.footer-sns-container p {
	width: max-content;
}



.footer-sns {
	display: flex;
	gap: 15px;
}

.footer-sns li img {
	margin-top: 16px;
	width: 24px;
	height: 24px;
}

.footer-copyright {
	color: #ffffff;
	text-align: center;
}

.archive-news-sec {
	padding-top: 80px;
	padding-bottom: 120px;
	margin-bottom: 200px;
}

.archive-news-sec h1 {
    color: #523F30;
    text-align: center;
}

.single-news-sec {
	padding-top: 80px;
	padding-bottom: 120px;
	margin-bottom: 200px;
}

.single-news-article {
    max-width: var(--pc-max-width-inner);
    margin-inline: auto;
    color: #523F30;
    min-height: 100vh;
}
.single-news-header {
	margin-bottom: 48px;
}

.single-news-meta {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	color: #717071;
	font-size: 14px;
	margin-bottom: 24px;
}

.single-news-date {
	font-variant-numeric: tabular-nums;
}

.single-news-category {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 14px;
	border: 1px solid #75A04B;
	border-radius: 999px;
	color: #75A04B;
	font-size: 13px;
}

.single-news-title {
	margin: 0 0 24px;
	font-size: 36px;
	line-height: 1.4;
	color: #523F30;
}

.single-news-pdf {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--main-color);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}

.single-news-pdf::after {
	content: "↗";
	font-size: 0.9em;
}

.single-news-content {
    font-size: 16px;
    line-height: 2;
    color: #333;
    min-height: 40vh;
}

.single-news-content > * + * {
	margin-top: 1.6em;
}

.single-news-content img {
	max-width: 100%;
	height: auto;
}

.single-news-footer {
	margin-top: 48px;
}

.single-news-back {
    width: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-inline: auto;
    /* gap: 10px; */
    padding: 12px 28px;
    border: 1px solid #523F30;
    border-radius: 999px;
    color: #523F30;
    text-decoration: none;
    font-size: 14px;
    transition: background-color .3s ease, color .3s ease;
}

.single-news-back:hover {
	background-color: #523F30;
	color: #fff;
}

.single-news-empty {
	text-align: center;
	color: #717071;
}
p.u-right {
    font-size: 12px;
    margin-top: 10px;
}

@media screen and (max-width: 720px) {
	.single-news-sec {
		padding: 60px 0 100px;
		margin-bottom: 120px;
	}

	.single-news-article {
		padding: 0 20px;
	}

	.single-news-title {
		font-size: 26px;
	}

	.single-news-content {
		font-size: 15px;
		line-height: 1.9;
	}
}

/* ハンバーガースマートフォン版ここから */

@media (max-width:1328px) {

	.container {
    max-width: 960px;
    margin-inline: auto;
}

}


@media (max-width:1000px) {


	.pc-nav {
		display: none;
	}

	.sp-open-btn {
		display: block;
	}

	.header-phone-number {
		display: none;
	}

	.header-contact-btn {
    font-size: 16px;
}

.sp-nav-contact-button-wrapper {
	display: flex;
}

.top-hero-sec {
	max-height: 480px;
	height: 48vw;
}


.swiper-wrapper {
	max-height: 480px;
	height: 48vw;
}

.top-hero-swiper .top-hero-slide {
    max-height: 480px;
    height: 48vw;
}

}


/* ーーーーーーーーーーーーーーーーーーsp-スマートフォン版ーーーーーーーーーーーーーーーーーー */

@media (max-width:720px) {

	.pc-br {
		display: none;
	}

	.sp-br {
		display: block;
	}

.sp-open-btn {
    top: 0;
    right: 0;
    width: 42px;
    height: 42px;
}
/* .sp-nav-contact-button-container {
	position: relative;
	bottom: 37%;
	padding: 0 8vw 0 8vw;
	width: 100%;
	z-index: 999;
} */

.sp-nav-contact-button {
    width: 100%;
    display: block;
    text-align: center;
    background: white;
    border-radius: 12px;
    border: 2px solid #333;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 1);
    text-decoration: none;
    /* position: relative; */
    overflow: hidden;
}
.sp-nav-contact-button-container.active {
	bottom: 13%;
}
.sp-nav-contact-button-container::after {
	content: "";
	display: block;
	border-top: 1px solid #333;
	margin-top: 28px;
}

.sp-nav-contact-text {
  display: block;
  font-size: 19px;
	padding-top: 4px;
  color: #769E4C;
  font-weight: bold;
}

.sp-nav-sub-text {
    display: block;
    font-size: 10px;
    color: #ffffff;
    background: #DF873B;
    padding: 5px 0 5px 30px;
    border-radius: 0 0 4px 4px;
    margin-top: 5px;
}


.sp-nav-sub-text::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -1px;
	left: 50%;
	transform: translate(-90px, 0);
	width: 24px;
	height: 18px;
	background-image: url(./img/sp-nav-contact-click.svg);
	background-repeat: no-repeat;
	border-radius: 0 0 14px 14px;
}



.top-works-slider-wrapper {
	width: 100%;
}

.swiper-slide {
	width: 50%; /* コンテナの50%幅 */
}

.swiper2 ul li {
	box-shadow:none;
	height: auto;
	object-fit: cover;
	background-color: transparent;
}


.swiper2 ul li img {
	width: 202px;
	height: 115px;
	object-fit: cover;
}

.container {
	padding-left: var(--sec-inner-padding-sp);
	padding-right: var(--sec-inner-padding-sp);
}


.top-works-sec ul {
gap: 0;
}

.sp-open-btn span:nth-of-type(1) {
	top: 12px;
}

.sp-open-btn span:nth-of-type(2) {
	top: 21px;
}

.sp-open-btn span:nth-of-type(3) {
	top: 30px;
}

.sp-open-btn.active span:nth-of-type(1) {
	top: 14px;
}

.sp-open-btn.active span:nth-of-type(3) {
	top: 26px;
}

header {
	height: 42px;
	padding-top: 0;
}
	.header-container {
		width: 100%
	}

	.header-logo {
    width: 112px;
    margin-left: clamp(0px, 5.55vw, 50px);
    margin-right: 0;
    margin-bottom: 0.7vw;
}

.sub-hero-sec h2 {
	font-size: 42px;
	font-weight: 500;
	color: #ffffff;
	text-shadow: 1px 1px 1px #4f5d73;
	line-height: 1;
	text-align: center;
	margin: 0 0 20px 0;
}

.sub-hero-sec div {
	margin-top: -20vw;
}

.card-address {
	text-align: left;
}

.card-address span {
		display: block;
		text-align: left;
	}

	.swiper2 ul li img {
 margin-bottom: 0;
}

	.card-image {
margin-bottom: 0;
}



.top-works-sec {
	background-color: #F7F5F1;
}

	/* .header-nav-pc {
		display: none;
	} */

	/* .top-hero-sec img {
		width: 100vw;
		height: 98.6vw;
		object-fit: cover;
		object-position: center;
	} */
/*
	.top-hero-sec {
    width: 100%;
    height: 80vh;
} */

.top-hero-sec {
    min-height: 730px;
}


.top-hero-swiper .top-hero-sec-bg-img {
	display: none;
		width: 100%;
		height: 80vh;
		object-fit: cover;
		object-position: center;
		background-position: center;
	}

.top-hero-swiper .top-hero-sec-bg-img-sp {
	display: block;
		width: 100%;
		height: 80vh;
		object-fit: cover;
		object-position: center;
		background-position: center;
	}


	.hero-font-container img {
		width: 80vw;
	}

	.top-hero-sec img {
    margin-bottom: 0;
}


	.hero-font {
		font-size: clamp(12px, 6.4vw, 50px);
		padding: 3px 5px 5px 5px;
		opacity: 0; /* 初期状態では非表示 */
		transition: opacity 0.3s ease-in-out;

	}


	.hero-font-container {
		left: 4.8vw;
	}

	.top-about-text-wrapper, .top-service-text-wrapper, .top-works-text-wrapper {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

	.hero-font:nth-of-type(1) {
		margin-bottom: 6px;
	}
	section.top-service-sec {
		padding-top: 30px;
		padding-left: 5.55vw;
		padding-right: 5.55vw;
		grid-template-columns: 1fr;
		background: #ffffff;
		padding-bottom: 0;
		margin-bottom: 10px;
	}
.top-news-h2 {
    font-size: 21px;
    border-left: 6px solid #66a33c;
    padding-left: 8px;
    margin-bottom: 8px;
}

	.top-news-h2 span {
    font-size: 12px;
}

	.top-news-item li {
		font-size: 7px;
	}

	.top-news-text {
    font-size: 12px;
}

	.pdf-icon {
		width: 20px;
	}

.top-news-category {
    font-size: 10px;
    margin: -1px 7px 0 4px;
}

.top-news-item li {
    display: flex;
    flex-direction: column;
    padding-top: 14px;
    padding-bottom: 14px;
    padding: 14px 0 14px 16px;
    row-gap: 10px;
    font-size: 14px;
}

	.top-about-box {
		grid-template-columns: 1fr;
		gap: 0;

	}

.top-about-010301-img {
    margin-bottom: 20px;
}

	.top-about-010302-img {
		display: none;
	}

	.top-about-010302-img-sp {
		display: block;
		width: 250px;
		margin-inline: auto;
		margin-bottom: 15px;
	}

.top-news-h2-2 {
    font-size: 36px;
    color: #523F30;
    border-left: 8px solid #66a33c;
    padding-left: 10px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.top-news-h2-2 span {
    font-size: 20px;
    margin-left: 8px;
}

.top-news-p-1 {
    font-size: 24px;
    margin-bottom: 30px;
    padding-bottom: 30px;
    line-height: 1.7;
}

.top-service-sec .top-news-p-2,.top-works-sec .top-news-p-2 {
		 text-align: left;
}

.top-news-p-2 {
    font-size: 16px;
    margin-bottom: 20px;
    line-height: 30px;
    text-align: center;
}
.top-service-h3 {
    text-align: center;
    font-size: 23px;
    font-weight: normal;
    color: #563e2e;
}
.top-service-img-wrapper {
	display: flex;
	flex-direction: column;
	gap: 20px;

}

.top-service-img-wrapper img {
    width: 184px;
    margin-inline: auto;
}

.top-about-sec {
	padding-left: 5.55vw;
	padding-right: 5.55vw;
	padding-bottom: 24px;
	background-color: #F7F5F1;
}

	.top-about-box__item-1 {
    margin-bottom: 30px;
}

.top-service-img-wrapper {
	display: flex;
	flex-direction: column;
}

.top-service-img-wrapper img:nth-of-type(4) {
	margin-bottom: 20px;
}

	.top-about-box__item-2 {
		margin-bottom: 30px;
	}

	.top-works-p-1 {
    font-size: 16px;
    font-weight: bold;
    color: #75A24B;
    line-height: 1.3;
    margin-bottom: 0;
    text-align: left;
}

	/* .top-about-box__item-2 .view-more-btn {
		display: block;
		margin-inline: auto;
		width: fit-content;
	} */


.view-more-btn {
    width: 140px;
    display: block;
    margin-inline: auto;
    text-align: center;
    font-size: 14px;
    padding: 4px 27px 4px 16px;
    border-radius: 3px;
    filter: drop-shadow(2px 2px 0 rgb(130, 130, 130));
}

.view-more-btn::after {
    top: 22%;
    right: 10%;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #A2A1A2;
}

	/* .top-about-box__item-2 .view-more-btn {
		text-align: center;
		margin-inline: auto;
		display: block;
		width: fit-content;
	} */

.top-works-sec {
    padding-top: 14vw;
    padding-bottom: 9.66vw;
    overflow: hidden;
}
	.top-works-box {
		margin-bottom: 30px;
	}
	.top-news-h2-2 {

    margin-bottom: 10px;
}

.top-news-h2-2+p {
    margin-bottom: 20px;
    margin-left: 23px;
    font-size: 20px;
}

.top-faq-h2-2 {
	display: none;
}

.top-faq-h2-2+p {
	display: none;
}

	.top-works-slider img {
		width: 100%;
		height: 100vw;
	}

.top-voice-sec .container {
padding: 0;
}
.top-customer-voice {
	border: none;
	width: 100%;
}

	.top-customer-voice-img {
		display: none;
	}


.top-customer-voice::before {
    content: "";
    position: absolute;
    left: 25px;
    bottom: 30vw;
    background-image: url(./img/010501-img-sp-1.webp);
    background-repeat: no-repeat;
    background-size: contain;
    height: 85px;
    width: 50px;
}

	.top-customer-voice::after {
    content: "";
    position: absolute;
    right: 20px;
    bottom: 30vw;
    background-image: url(./img/010501-img-sp-2.webp);
    background-repeat: no-repeat;
    background-size: contain;
    height: 85px;
    width: 50px;
}

.top-customer-voice {
    padding: 10.14vw 5.79vw 30vw 5.79vw;
}

.top-customer-voice-p-1 {
    font-size: 20px;
    margin-bottom: 23px;
}

.top-customer-voice-p-2 {
    font-size: 32px;
    padding-bottom: 24px;
    margin-bottom: 24px;
}
	.top-customer-voice-p-3 {
		font-size: 14px;
		margin-bottom: 24px;
	}

	.top-instagram-text-wrapper, .top-faq-text-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

	.top-works-slider-wrapper {
    width: 100vw;
    margin-inline: auto;
    margin-bottom: 50px;
    height: 300px;
}

.top-works-sec::after {
    background-image: url(./img/background-building-img-2.svg);
    background-position-x: -66vw;
    background-position-y: 67vw;
    background-size: 463%;
    height: 350px;
}
	.top-instagram-sec {
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
		margin-bottom: 50px;
	}

	.top-instagram-faq-inner {
    padding-bottom: 0;
}

	.top-faq-sec {
		padding-left:0;
		padding-right: 0;
		 padding: 10.14vw 0 0 0;
	}



	.top-faq {
		color: inherit;
	}


.top-faq::before {
    content: "";
    position: absolute;
    left: 9px;
    bottom: 20vw;
    background-image: url(./img/010601-img-sp-1.webp);
    background-repeat: no-repeat;
    background-size: contain;
    height: 90px;
    width: 80px;
}

.top-faq::after {
    content: "";
    position: absolute;
    right: -1.69vw;
    bottom: 20vw;
    background-image: url(./img/010601-img-sp-2.webp);
    background-repeat: no-repeat;
    background-size: contain;
    height: 90px;
    width: 80px;
}

	.top-instagram-faq-wrapper {
		padding-bottom: 0;
	}

	.swiper2 ul li {

	height: 200px;
}

	/* -----------------sp-footer----------------- */



.footer-info {
    font-size: 10px;
    width: max-content;
    line-height: 2;
}
	.footer-contact-container::before {
		background-image: url(./img/background-building-img-4-sp.svg);
		border: 0;
		background-size: 230vw;
		background-position-x: -13vw;
		width: 100%;
		left: 0;
		bottom: 0;
		z-index: 99;
	}

.footer-contact-container {
    padding-bottom: 34px;
    padding: 0 7vw 10vw 7vw;
}

	.footer-contact-container::before {
		display: none;
	}

	.service-page .footer-contact-container::before {
		background-image: url(./img/background-building-img-4-sp.svg);
	}

.footer-contact-heading {
    font-size: 42px;
    padding-top: 20px;
    line-height: 1;
    margin-bottom: 18px;
}
.footer-contact-p-1 {
    font-size: 14px;
    margin-inline: auto;
    margin-bottom: 17px;
    width: 86%;
		font-weight: normal;
}

.footer-contact-p-2 {
    font-size: 24px;
    padding: 16px 0 16px 0;
    width: 100%;
    letter-spacing: -0.03em;
    filter: drop-shadow(2px 2px 0 rgb(130, 130, 130));
    margin-bottom: 20px;
}

	.footer-phone-btn-container {
    flex-direction: column;
    justify-content: center;
    gap: 20px;
    margin-bottom: 20px;
}

.footer-phone-btn {
    font-size: 26px;
    width: 100%;
    padding: 5px 10px 5px 10px;
    border-radius: 6px;
    gap: 5px;
    letter-spacing: -0.005em;
    font-weight: 500;
    justify-content: center;
    height: 76px;
}

	.footer-contact-p-3 {
    font-size: 12px;
    line-height: 2;
    letter-spacing: -0.01em;
}

.footer-contact-p-3 {
    font-size: 12px;
    letter-spacing: -0.01em;
}

	.footer-phone-icon {
    width: 58px;
}

.footer-logo {
    width: 224px;
    margin-bottom: 24px;
}

.footer-info-container {
    margin-bottom: 24px;
}

	.footer-container {
		width: 100%;
		flex-direction: column;
		gap: 10px;
			padding-top: 9.72vw;
		padding-bottom: 7.5vw;
		padding-left: 5.55vw;
		padding-right: 5.55vw;
	}

	.footer-nav ul {
		grid-template-columns: 1fr;
		row-gap: 10px;
	}



.footer-nav {
    font-size: 16px;
    margin-bottom: 20px;
}
.footer-sns-container {
    width: auto;
    margin-inline: auto;
}

.footer-sns {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.footer-sns li img {
    width: 24px;
    margin-top: 6px;
}

	.footer-sns-container p {
    font-size: 16px;
}

.footer-copyright {
    font-size: 10px;
}



	/* --------------sp-page03-service--------------*/



	/* .sub-hero-sec h1 {
		font-size: 24px;
		color: #ffffff;
		text-shadow: 1px 1px 1px #8297B9, -1px -1px 1px #8297B9,
			-1px 1px 1px #8297B9, 1px -1px 1px #8297B9,
			1px 0px 1px #8297B9, -1px -0px 1px #8297B9,
			0px 1px 1px #8297B9, 0px -1px 1px #8297B9;
		line-height: 1;
		text-align: center;
		margin: 0 0 10px 0;
	} */
	.sub-hero-sec p {
    font-size: 20px;
    color: #ffffff;
    text-shadow: 1px 1px 1px #4f5d73;
    text-align: center;
    line-height: 1;
}

	.service-hero-sec {
		background-image: url(./img/030101-img-sp.webp);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;

	}

	.service-description-sec-p-1 {
    font-size: 32px;
    text-align: left;
    line-height: 1.2;
    letter-spacing: 0;
}

	.service-description-sec-p-2 {
    font-size: 13px;
    width: 89%;
    margin-inline: auto;
    line-height: 2;
    text-align: left;
}

.service-description2-sec-p-1 {
    font-size: 16px;
    font-weight: bold;
    color: #523F30;
    margin-bottom: auto;
    text-align: center;
    text-shadow: 2px 2px 0 #dcd7ce;
}

	.service-description2-sec-item {

		align-items: center;

	}
.service-description2-sec li {
    display: grid;
    grid-template-rows: 1fr 50px;
    width: 100%;
    height: auto;
    padding: 10px;
    align-self: end;
    background: #fff;
}

	.service-description2-sec ul {
    grid-template-columns: 1fr 1fr;
    column-gap: 14px;
    row-gap: 0;
    /* padding-left: var(--sec-inner-padding-sp); */
    /* padding-right: var(--sec-inner-padding-sp); */
}





	.service-description2-sec li img {
		width: 52px;
	}

	.service-description2-sec-item {
		display: flex;
		justify-content: center;
		align-items: end;
		gap: 16px;
		border-bottom: 1px solid #B1B0B1;
		padding-bottom: 0;
		margin-bottom: 10px;
	}

	.service-description2-sec-item p {
		font-size: 10px;
		letter-spacing: -0.06em;
	}

	.service-description2-sec-item+p {
		font-size: 9px;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.service-description3-wrapper {
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
	}

	.service-description3-sec-box ul {
    font-size: 12px;
}

.service-description3-sec-box ul li {
	font-size: 10px;
	margin-bottom: 10px;
	letter-spacing: 0;
	line-height: 1.7;
}

	.service-description3-sec-box li span:nth-of-type(1) {
		font-size: 13px;
	}

	.service-description3-sec-box li span:nth-of-type(2) {
		font-size: 10px;
	}

	.service-description-h3 {
		font-size: 17px;
	}

.service-description2-sec {
  padding-left: 2vw;
    padding-right: 2vw;

}

.service-description2-sec-inner {
    padding-right: 7px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(246, 251, 249, 1) 8.39%, rgba(222, 241, 231, 1) 22.02%, rgba(183, 224, 202, 1) 39.08%, rgba(154, 211, 181, 1) 50.11%, rgba(163, 215, 188, 1) 58.48%, rgba(187, 225, 205, 1) 72.13%, rgba(227, 243, 234, 1) 89.25%, rgba(255, 255, 255, 1) 100%);
    height: 550px;
}
	.service-description3-sec-container2 {
		gap: 0;
	}




	.service-description3-sec {
		padding-left: 3%;
		padding-right: 3%;
		margin-bottom: 30px;
	}



.service-description3-sec-sp-wrapper ul {
    padding-left: 3em;
	line-height: 2.2;
	margin-bottom: 20px;

}

.service-description3-sec-sp-wrapper ul li {
    font-size: 16px;
    list-style-type: disc;
    list-style: disc;
}

.service-description3-sec-sp-wrapper img{
	margin-bottom: 15px;
}

	.service-description3-sec-sp-wrapper p {
		font-size: 12px;
		margin-top: 20px;
		margin-left: -2em;
		padding: 0.35em 1.4em;
	}

	.service-description3-sec-sp-wrapper p::before {
		left: 18px;
	}

.service-description3-sec-sp-wrapper ul:nth-of-type(2) {
    color: #f90000;
}

.service-description3-sec-sp-wrapper ul li::marker {
    font-size: 60%;
}

	.service-description3-sec-box h4 {
		font-size: 16px;
		margin-bottom: 10px;
	}

	.service-description3-sec-box p {
		font-size: 12px;
		line-height: 1.7;
	}

	.service-description3-sec-box div {
		position: absolute;
		top: -6%;
		left: 5.86vw;
		width: 250px;
}

	.img-030304 {
		display: none;
	}

	.img-030305 {
		margin-bottom: 50px;
	}

	.service-description3-sec-container {
		grid-template-columns: 1fr;
	}

	.service-description3-sec-container2 {
		grid-template-columns: 1fr;
		margin-bottom: 40px;
	}
.service-description-h3-3+p {
    font-size: 12px;
    margin-bottom: 20px;
}

	.service-description8-sec h3 {
		font-size: 15px;
	}

	.service-description3-sec-box h4 {
		font-size: 15px;
	}

	.service-description3-sec-box {

		width: 77.3vw;
		padding: 4vw;
	}

.service-description3-sec-sp-wrapper2 {
    position: relative;
    background-color: #d8d9d9;
    padding-left: 5.55vw;
    padding-right: 5.55vw;
    padding-top: 45px;
    padding-bottom: 45px;
}

.service-description3-sec-sp-wrapper2 p {
    position: absolute;
    top: -24px;
    display: inline-block;
    color: #fff;
    font-size: 24px;
    background-color: #717071;
    border-radius: 0 30px 30px 0;
    padding: 0.3em 1em 0.3em 1.3em;
    margin-left: -30px;
}

	.service-description4-sec-sp-wrapper {
		padding-left: var(--sec-padding-sp);
		padding-right: var(--sec-padding-sp);
	}



	.service-description4-sec h4 {
		font-size: 13px;
		margin-bottom: 10px;
		margin-left: 10px;
	}

.service-description4-sec-sp-wrapper2-h2 {
    font-size: 18px;
    color: #fff;
    background-color: #f9b28b;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 35px;
}
.service-description4-sec-sp-wrapper2-h2 span {
    font-size: 32px;
    margin-bottom: 0.3em;
}

.service-description4-sec-sp-wrapper2 p {
	font-size: 12px;
	color: #717071;
	display: flex;
	justify-content: center;
}

.service-description4-sec-sp-wrapper2 img {
    display: block;
    width: 70%;
    margin-inline: auto;
		margin-top: 40px;
}

.service-description4-sec-sp-wrapper2 img:nth-of-type(4) {
    margin-bottom: 80px;
}




	img.img-030406 {
	display: none;
	}

	.bg-wrapper--gray {
		padding-bottom: 0;
		padding-top: 30px;
		margin-bottom: 70px;
		background-color: #fff;
	}

	.service-description2-sec li:nth-of-type(1) {

    margin-bottom: 40px;
}

.service-description2-sec li:nth-of-type(2) {

	margin-top: 70px;
}

.service-description2-sec li:nth-of-type(3) {

	margin-bottom: 40px;
}

.service-description2-sec li:nth-of-type(4) {

    margin-top: 30px;
}



	.service-description8-box {
		display: grid;
		grid-template-columns: 30% 70%;
		gap: 20px;
		background-color: #F4F0F0;
		width: 100%;
		margin-inline: auto;
	}

	.service-description8-sec ul img {
		width: 15px;
	}

	.service-description8-box ul {
		font-size: 11px;
		line-height: 2.2;
	}

	.service-description4-sec-container {
		grid-template-columns: 1fr;
	}

	.service-description4-sec ul {
		grid-template-columns: 1fr;
		margin-bottom: 30px;
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
	}

	.img-030801 {
		width: 72px;
		place-self: end;
	}

.service-description3-sec-box {
    width: 100%;
    height: 58vw;
    padding: 4vw 10vw 4vw 10vw;
    margin: 0 0 20px 0;
}
.service-description3-sec-box div {
    top: -10%;
    left: 5.86vw;
    width: 250px;
}

	.service-description3-p-3 {
		line-height: 2;
	}

.service-description-h3-p {
    margin-left: 8.53vw;
    letter-spacing: 0;
    color: #563e2e;
}

	.service-description3-p-3 span:nth-of-type(1) {
		text-underline-offset: 3px;

	}

	.service-description3-p-3 span:nth-of-type(2) {
		color: inherit;
		text-underline-offset: 3px;
	}


	.service-description3-sec-box h4::before {
		width: 0;
		height: 30px;
		top: -32%;
		left: -3%;
		border-left: 2px solid #717071;
	}

	.service-description3-sec-box h4::after {
		width: 0;
		height: 30px;
		top: -32%;
		right: -3%;
		border-left: 2px solid #717071;
	}

	h2.service-description-h2 {
		font-size: 15px;
		width: 80%;
		margin-left: 20px;
		margin-bottom: 30px;
	}

    h2.subPage-h2-sp {
        font-size: 16px;
        width: 80%;
        padding-bottom: 4px;
        margin-inline: auto;
    }

	.service-description-h3 {
		font-size: 16px;
	}

	.service-description-h3-sp {
		padding-top: 9px;
		height: 26px;
	}


	h2.service-description-h2::before {
    top: 0px;
    left: -20px;
    width: 12px;
    height: 31px;
}

	.service-description-h3 {
		margin-left: 0;
		font-size: 17px;
		color: #523F30;
		border-left: 8px solid #75A04B;
		padding-top: 16px;
		padding-left: 12px;
		margin-bottom: 30px;
		line-height: 1;
		height: 35px;
		letter-spacing: 0;
	}

	.service-description-h3 {
    margin-bottom: 15px;

		margin-left: 12px;
    padding-top: 12px;
    height: 30px;
    font-weight: 500;
}

	.service-description-h3-3 {
		margin-bottom: 15px;
		margin-left: 12px;
		padding-top: 14px;
		padding-top: 12px;
		height: 30px;
	}

	.service-description3-sec-container2 p {
		font-size: 8px;
	}

.service-description3-p-1 {
    width: 100%;
    margin-left: 12px;
    margin-bottom: 10px;
    font-size: 18px;
    letter-spacing: 0;
    text-indent: -1em;
    padding-left: 1em;
}

	.service-description3-p-2 {
    font-size: 12px;
    margin-bottom: 40px;
    margin-left: 24px;
}

	.service-description3-sec-container2 img {
		max-width: 100%;
	}

	.img-030303-sp-box {
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
	}

	.service-description3-sec-container {
		display: block;
		grid-template-columns: 1fr 1fr;
		gap: 0;
		margin-bottom: 30px;
	}



	.service-description3-sec-container2 p {
		font-size: 8px;
		margin-left: 8.53vw;
		letter-spacing: 0;
	}

	.service-description3-sec-container img {
		width: 100%;
		height: auto;
	}

	.service-description3-p-3 {
		font-size: 8px;
		color: #717071;
		margin-bottom: 20px;
	}

	.service-description-h3-3 {
		margin-left: 0;
		font-size: 16px;
		color: #523F30;
		border-left: 8px solid #75A04B;
		padding-top: 16px;
		padding-left: 12px;
		margin-bottom: 20px;
		line-height: 1;
		height: 35px;
	}

	.service-description5-wrapper::after {
		display: none;
	}

	.service-description3-sec-sp-wrapper,.service-description3-sec-sp-wrapper2,.service-description4-sec-sp-wrapper2
 {
	display: block;
}

.service-description4-sec h4 {
    font-size: 18px;
    margin-bottom: 10px;
    margin-left: 4vw;
    color: #563e2e;
}

.service-description4-sec p {
    font-size: 14px;
    color: #563e2e;
}


.service-description4-sec-icon {
    place-self: start;
}



	.service-description4-sec li {
		grid-template-columns: 45px 1fr;
		gap: 16px;
	}

	.service-description4-sec-icon {
		width: 45px;
	}

.service-description4-sec-container h4 {
    font-size: 18px;
		font-weight: normal;
    margin-bottom: 10px;
    margin-left: 10px;
    color: #563e2e;
}
.service-description4-sec-container p {
    font-size: 16px;
    padding-left: 15px;
    color: #563e2e;
}

.service-description4-sec-container p:nth-of-type(2) {
    font-size: 13px;
    padding-left: 15px;
    color: #717071;
}

	.service-description4-sec-container p:nth-of-type(2)::before {
    content: "";
    border-bottom: 1px solid #5BAA79;
    width: 100%;
    height: 20px;
    display: block;
    margin-bottom: 6px;
}

.service-description4-sec-container {
    gap: 10px;
    margin-bottom: 20px;
}

	.service-description5-sec {
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
	}

.service-description-h3-sp {
    font-size: 24px;
    margin-bottom: 24px;
    margin-left: 12px;
    padding-top: 0;
    height: auto;
    line-height: 1.2;
}


	h3.service-description5-h3+p {
		margin-left: 5.79vw;
	}

	.service-description5-sec-img-1 {
		margin-bottom: 30px;
	}

.service-description5-wrapper {
    padding-bottom: 0;
    margin-bottom: 20px;
}
	.service-description5-sec-wrapper {
		padding-bottom: 60px;
	}

.service-description5-sec p {
    font-size: 12px;
    margin-left: 8.79vw;
    margin-bottom: 16px;
    color: #563e2e;

}

.img-030502-description {
	display: none;
}

.service-description5-sec .responsive-bg {
    padding-left: var(--sec-inner-padding-sp);
    padding-right: var(--sec-inner-padding-sp);
    padding-top: 190%;
    background-size: contain;
}

	.service-description5-sec-wrapper::after {
		display: none;
	}

.img-030502-description{
	font-size: 27px;
	color: #717071;
	margin-bottom: 40px;
}


	.img-030601 {
		display: block;
		width: 95%;
		filter: drop-shadow(1px 1px 1px #523F30);
		margin-inline: auto;
		margin-bottom: 80px;
	}

	.img-030305-sp {
		display: block;
	}

	.service-description6-wrapper {
		margin-bottom: 50px;
		padding-bottom: 0;

	}

	.service-description6-wrapper::after {
		position: absolute;
		left: 0;
		bottom: 0;
		content: "";
		background-image: url(./img/background-building-img.svg);
		background-repeat: repeat-x;
		background-position-x: 88vw;
		background-position-y: bottom;
		background-size: cover;
		display: block;
		width: 100%;
		height: 220px;
	}

	.service-description7-wrapper::after {
		position: absolute;
		left: 0;
		bottom: 0;
		content: "";
		background-image: url(./img/background-building-img.svg);
		background-repeat: repeat-x;
		background-position-x: 88vw;
		background-position-y: bottom;
		background-size: cover;
		display: block;
		width: 100%;
		height: 220px;
	}


	.service-description6-sec-container {
		padding-left: var(--sec-padding-sp);
		padding-right: var(--sec-padding-sp);
	}

	.service-description6-sec h4+p {
		line-height: 1.5;
		margin-bottom: 42px;
	}

	.service-description7-sec h4+p {
		line-height: 1.5;
		width: 100%;
	}

	.img-030301-box {
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
	}

	.bg-wrapper-gray2-inner::after {

		border-right: 50px solid transparent;
		border-left: 50px solid transparent;
		border-top: 30px solid #f4f0f0;
	}

	.service-description6-sec {
		padding-top: 30px;
		padding-bottom: 30px;
	}

.service-description6-sec h4 {
    font-size: 18px;
    margin-left: 10px;
    margin-bottom: 6px;
}

.service-description6-sec h4+p {
    width: 100%;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1.8;
    margin-bottom: 0;
    padding-left: 2.5vw;
}


	.service-description6-wrapper::after {
		background-image: url(./img/background-building-img-3.svg);
		border: 0;
		background-size: 230vw;
		background-position-x: -13vw;
		width: 100%;
		left: 0;
		bottom: 0;
		z-index: 99;
	}

	.service-description6-wrapper::before {
		background-image: url(./img/background-building-img-3.svg);
		border: 0;
		background-size: 230vw;
		background-position-x: -13vw;
		width: 100%;
		left: 0;
		bottom: 0;
		z-index: 99;
	}

	.service-description7-wrapper::before {
		background-image: url(./img/background-building-img-3.svg);
		top: -47vw;
		height: 127px;
		background-size: 320vw;
		background-position-x: -39vw;
	}


	.service-description7-wrapper::after {
		background-image: url(./img/background-building-img-3-sp.svg);
		border: 0;
		height: 80px;
		background-size: 230vw;
		background-position-x: -13vw;
		width: 100%;
		left: 0;
		bottom: 47px;
	}

	.service-description7-wrapper {
		padding-bottom: 50px;
	}


	.service-description7-sec {
		margin-top: 50px;
		padding-top: 30px;
	}

.service-description7-sec h4 {
    font-size: 18px;
    margin-left: 10px;
    color: #523F30;
    margin-bottom: 6px;
}

.service-description7-sec h4+p {
    width: 100%;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1.8;
    margin-bottom: 0;
    padding-left: 2.5vw;
}

	.img-030701 {
		width: 98%;
		filter: drop-shadow(1px 1px 1px #523F30);
	}

	.service-description8-sec h3 {
		font-size: 15px;
		margin-bottom: 0;
	}

.service-description8-sec h4 {
    font-size: 18px;
    margin-bottom: 10px;
}

.service-description8-sec h4+p {
    width: 100%;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1.8;
    margin-bottom: 0;
}

.service-description8-sec {
    padding-top: 0;
    padding-bottom: 70px;
    background-color: #ffffff;
}

	.service-description8-sec div {
		padding-top: 20px;
		padding-bottom: 20px;
		margin-bottom: 0;
	}

	.img-030802 {
		width: 95%;
	}

.img-030803 {
    display: block;
    width: 98%;
    margin: 30px auto 30px auto;
    filter: drop-shadow(1px 1px 1px #523F30);
}


	.service-description8-sec-p {
    font-size: 13px;
    width: 90%;
    margin-inline: auto;
}
	.service-description8-wrapper {
		padding-bottom: 0;
	}

	.service-description8-wrapper::after {
		background-image: none
	}
	/* .service-description8-wrapper::before {
		background-image: url(./img/background-building-img-3.svg);
		border: 0;
		background-size: 230vw;
		background-position-x: -13vw;
		width: 100%;
		left: 0;
		bottom: 0;
		z-index: 99;
	} */

	/* ---------------sp-page02-about---------------*/

.sub-hero-sec h1 {
    font-size: 47px;
    color: #ffffff;
    text-shadow: 1px 1px 1px #383838;
    line-height: 1;
    text-align: center;
    margin: 0 0 12px 0;
    letter-spacing: 0.01em;
}


	.about-hero-sec {
    height: 370px;
    /* background-size: 430%; */
    background-position-x: -256vw;
    /* background-position-y: -54vw; */
    margin-bottom: 30px;
    /* padding-bottom: 20vw; */
}

	.about-sec-1 .subPage-h2-sp {
		margin-bottom: 20px;
		letter-spacing: normal;
	}

	.about-sec-1-p-1 {
    font-size: 32px;
    margin-bottom: 12px;
    letter-spacing: 0;
    font-weight: 400;
}
.about-sec-1-p-2 {
    font-size: 16px;
    letter-spacing: 0.01em;
    margin-bottom: 16px;
}

	.about-sec-1 {
		margin-bottom: 25px;
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
	}

	.about-sec-1-p-3 {
		width: 100%;
	}

	.about-sec-1-p-3 span {
		font-size: 12px;
	}

	.about-sec-1-p-3 {
		font-size: 16px;
	}

.representative-director-sign {
    width: 70px;
}

.about-sec-h2 {
    font-size: 24px;
    color: #523F30;
    border-left: 6px solid #75A04B;
    padding-left: 8px;
    margin-bottom: 10px;
    line-height: 1.2;
}
.about-sec-h2 span {
    font-size: 18px;
    margin-left: 6px;
}
	.about-sec-2 {
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
		margin-bottom: 25px;
	}

	.about-sec-2 dl {

		letter-spacing: 0.02em;
	}

	.about-sec-2 dt {
		font-size: 9px;
		width: 65px;
	}

.about-sec-2 dd {
    font-size: 16px;
    padding: 1em;
    line-height: 1.8;
}

	.about-sec-2 dl:nth-of-type(5) dt {
		width: 65px;
	}

	.about-sec-2-h2-box {
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
	}

	.about-sec-3 img {
		display: block;
		padding-left: 3.73vw;
		padding-right: 3.73vw;
	}

	.about-sec-3 {
		max-width: 1118px;
		margin-inline: auto;
		margin-bottom: 30px;
	}

	.about-sec-3-p-1 {
    font-size: 14px;
    padding-left: var(--sec-inner-padding-sp);
    padding-right: var(--sec-inner-padding-sp);
		line-height: 1.8;
}

	/* ---------------sp-page04-case-list---------------*/


	.case-study-sec-1-heading-p-box {
		display: flex;
		justify-content: center;
		align-items: flex-start;
		background-color: #F6F4F0;
		margin-bottom: 20px;
		height: 332px;
		padding-top: 28px;
	}

	.case-list-sec-1 li::after {
		display: none;
	}

	.case-list-sec-1 ul {
		grid-template-columns: 1fr;
	}

	.case-list-hero-sec {
		height: 320px;
		background-image: url(./img/040101-img.webp);
		background-size: 424%;
		background-position-x: 9%;
		background-position-y: 39%;
		background-repeat: no-repeat;
	}

	.case-list-sec-1-h2-box {
		height: 80px;
		margin-bottom: 30px;
}



.case-list-sec-1-p-1 {
    position: absolute;
    padding: 4px 8px 4px 8px;
    top: 4%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 14px;
    width: 92%;
    height: 45px;
}
	/* .case-list-pagination li {
    font-size: 16px;
    width: 26px;
    height: 26px;
    padding-left: 1px;
    padding-bottom: 2px;
} */

.case-list-pagination {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 40px;
	margin-bottom: 160px;
}

	/* ---------------sp-page05-case-study---------------*/

	.case-study-main-building-img-box {
		padding: 0;
		margin-right: 0;
	}

	.case-study-main-building-img {
		width: 100%;
		height: 213px;
	}
	.case-study-sec-1-heading-p-box {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background-color: #F6F4F0;
    margin-bottom: 235px;
    height: 154px;
    padding-top: 26px;
    padding-bottom: 0;
}


.case-study-sec-1-heading-p-box h2 {
	font-size: 18px;
	line-height: 24px;
	margin-bottom: 0;
	padding-left: 35px;
}

	.case-study-sec-1-heading-p {
    border-bottom: 1px dotted #717071;
    font-size: 16px;
    width: 30%;
    padding-bottom: 4px;
    margin-bottom: 18px;
}

.case-study-sec-1-heading-p-box h2::before {
	width: 40px;
	height: 34px;
	bottom: -17px;
}


	.case-study-wrapper {
		display: flex;
		flex-direction: column;
		gap: 15px;
		width: 100%;
		margin-inline: auto;
		margin-bottom: 30px;
		padding-left: 0;
		padding-right: 0;
	}

	.case-study-sec-1 h2 span:nth-of-type(1) {
		font-size: 7px;
		margin-right: 9px;
	}
	.case-study-sec-1 h2 {
    font-size: 14px;
    width: 94vw;
    height: auto;
    padding-right: 7vw;
    margin-bottom: -26px;
    padding-top: 16px;
    padding-bottom: 16px;
}

	.case-study-sec-2 {
		padding-left: 0;
	}


	.case-study-sec-2-box {
    position: relative;
    width: 100%;
    height: auto;
    border: 1px solid #523F30;
    padding: 24px 10px 24px 10px;
    margin-top: 30px;
}

	.case-study-sec-2-box h3 {
		font-size: 24px;
	}

	.case-study-sec-2-box li {
		font-size: 9px;
		margin-bottom: 24px;
		padding-left: 27px;
		letter-spacing: 0;

	}

	.case-study-sec-2-box.text-box--2lines li {
    padding-left: 27px;
}

	.case-study-sub-building-img-box {
		position: relative;
		width: 100%;
		display: flex;
		justify-content: flex-start;
		gap: 14px;
		margin-top: -10px;
		padding-left: var(--sec-contact-padding-sp);
	}


	.case-study-sec-1 h2::before {
		display: none;
	}

	.case-study-main-building-img-box::before {
		display: none;
	}
	.case-study-sec-2-box div {
    position: absolute;
    top: -24px;
    left: 7px;
    background-color: #ffffff;
    width: 95%;
}

	.case-study-main-building-img-box {

		padding: 43px var(--sec-contact-padding-sp) 20px var(--sec-contact-padding-sp);
	}

	.case-study-sub-building-img-box img {
		width: 94px;
		height: 66px;
		object-fit: cover;
		object-position: center;
	}

	.case-study-sec-1 h2 span:nth-of-type(2) {
    padding-left: 4px;
    border-left: 5px solid #D48D4C;
}

	.case-study-sec-1 h2 span:nth-of-type(1) {
    font-size: 10px;
    margin-right: 9px;
}

	.case-study-sec-2 {
		padding-left: 5.55vw;
		padding-right: 5.55vw;
	}

	.case-study-sec-2-box li::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    padding-left: 23px;
    background-repeat: no-repeat;
}

.case-study-sec-2-box h3::before {
	left: 0;
	content: "";
	display: block;
	width: 50px;
	height: 22px;
	border-left: 1px solid #523F30;
	transform: rotate(-48deg);
}


.case-study-sec-2-box h3::after {
	right: 0;
	content: "";
	display: block;
	width: 50px;
	height: 22px;
	border-left: 1px solid #523F30;
	transform: rotate(228deg);
}

	.case-study-sec-2-box li::after {
		bottom: -1px;
		right: 0;
		width: 100%;
		height: 5px;
	}
	.case-study-sec-3 {
    font-size: 11px;
    padding-left: 5.55vw;
    padding-right: 5.55vw;
    margin-left: 0;
}

	.case-study-sec-3-p {
    line-height: 1.8;
    font-size: 16px;
    margin-bottom: 36px;
}

.case-study-sec-3 dt {
	width: 100px;
	padding: 16px 0 16px 0;
}

	.btn-case-list-container {
    width: 135px;
    padding-bottom: 2px;
    padding-right: 10px;
    margin-bottom: 30px;
    border-bottom: 1px solid #D48D4C;
}

.btn-case-list {
	font-size: 16px;
	color: #523F30;
	width: fit-content;
	display: block;
	position: relative;
	margin-left: 12px;
}

	.btn-case-list::before {
    position: absolute;
    content: "";
    top: 3px;
    right: -28px;
    width: 20px;
    height: 20px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #D48D4C;
}

.btn-case-list::after {
	position: absolute;
	content: "";
	top: 10px;
	right: -20px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #ffffff;
	border-right: 1px solid #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

	.case-study-sec-3 h3 {
    font-size: 12px;
    border-left: 2.5px solid #523F30;
    padding-left: 3px;
}
	.case-study-sec-2-box li span:nth-of-type(1) {
    font-size: 16px;
    color: #523f30;
    line-height: 1.4;
}

	/* ---------------sp-page06-voice---------------*/


.voice-sec-1-img {
    width: 100px;
    height: auto;
    margin-top: -10px;
    padding-top: 40px;
}

.voice-sec-1-box {
    display: flex;
    align-items: center;
    gap: 6%;
    width: 100%;
    margin-inline: auto;
    margin-top: -14px;
    margin-bottom: 50px;
    padding-left: 0;
    padding-right: 0;
}

    .voice-sec-1-p-1 {
        font-size: 24px;
    }

    .voice-sec-1-p-2 {
        font-size: 14px;
    }

	.voice-sec-1 ul {
		gap: 10px;
		margin-bottom: 50px;
		padding-left: var(--sec-inner-padding-sp);
    padding-right: var(--sec-inner-padding-sp);
	}

	.voice-sec-1 li p:nth-of-type(1) {
		font-size: 7px;
		line-height: 10px;
	}

	.voice-sec-1 li p:nth-of-type(2) {
		font-size: 6px;
	}

	.voice-sec-1 li img {
		width: 48px;
		height: 48px;
	}

	.voice-customer-sec-bg-wrapper {
    position: relative;
    overflow: hidden;
    background-color: #F3F6EF;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: var(--sec-inner-padding-sp);
    padding-right: var(--sec-inner-padding-sp);
}

	.voice-customer-sec-container {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}


	.voice-customer-sec-img-container {
		row-gap: 16px;
	}

	.voice-customer-sec-data-wrapper {
		row-gap: 24px;
	}

	.voice-customer-sec-data-heading {
		display: none;
		font-size: 20px;
	}
h3.voice-customer-sec-data-heading-sp {
	display: block;
	font-size: 20px;
}


	.voice-customer-sec-data {
		font-size: 14px;
		line-height: 2;
	}

    .voice-customer-sec-message {
        padding: 0;
    }

	.voice-customer-sec-message::before {
		left: 12px;
	}

	.voice-customer-sec-message-heading {
		font-size: 20px;
	}

	.voice-customer-sec-message-body {
		font-size: 14px;
	}


	.voice-customer-sec {
		margin-bottom: 40px;
	}

	/* ---------------sp-page08-contact---------------*/
.contact-form-sec {
    font-size: 9px;
    padding-top: 18px;
    padding-bottom: 30px;
}

form {
    padding-left: 6.55vw;
    padding-right: 6.55vw;
}

select, option {
  font-size: 14px;
}

.contact-form-sec dt {
    font-size: 16px;
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.contact-form-sec dd {
    font-size: 18px;
    padding-top: 0.3em;
    flex-direction: column;
    gap: 0;
}


dt.property-area-dt, dt.property-location-building-area-dt {
	display: flex;
	flex-direction: row;
	gap: 16vw;
	margin-bottom: 0;

}


dd.property-area-dd, dd.property-location-building-area-dd {
	display: flex;
	flex-direction: row;
	gap: 16vw;
	    margin-top:0;

}

dl.inquiry-type dt {
	font-size: 22px;
}

	.contact-form-p-1 {
		display: grid;
		font-size: 20px;
		justify-content: center;
		padding-left: 4vw;

	}
.contact-form-p-2 {
    display: grid;
    font-size: 16px;
    justify-content: center;
    padding-right: 4vw;
    margin-bottom: 1em;
    border-bottom: none;
}

	.contact-form-p-3 {
    font-size: 14px;
    margin-bottom: 0.8em;
}



	.contact-form-p-3-sp {
		grid-row: 2/3;
		grid-column: 1/3;
		display: block;
		font-size: 8px;
		text-align: center;
		letter-spacing: 0;
	}

	.contact-form-container {
		padding: 20px 0 15px 0;
	}

	.contact-form-box-1-wrapper {
    border: none;
}


	.inquiry-type {
		width: 100%;
    display: block;
    margin-right: 0;
}

	input {
		font-size: 8px;
	}

	.input-name dt, .input-kana dt, .input-telephone-number dt, .input-email dt {
 border-bottom: none;
}



input[type="text"], input[type="tel"], input[type="email"], select {
    font-size: 14px;
    padding: 1em;
    width: 100%;
    height: 33px;
    margin-left: 4px;
}


input[type="checkbox"] {
    width: 15px;
    height: 15px;
    border-radius: 1px;
    border: 1px solid #b7ada4;
}

.input-postal-code dt, .input-building-name dt {
    font-size: 12px;
}

	.input-name dt,
	.input-kana dt,
	.input-telephone-number dt,
	.input-email dt {
		font-size: 18px;
		margin-bottom: 0;
		width: fit-content;
	}


	.input-postal-code dt,
	.input-building-name dt {
		font-size: 9px;
		margin-bottom: 0;
		width: fit-content;
	}

	.input-municipality dt {
		font-size: 9px;
		width: fit-content;
	}


	.input-municipality,
	.input-postal-code,
	.input-building-name,
	.input-prefecture,
	.building-name,
	.input-municipality-property-location,
	.input-postal-code-property-location,
	.input-building-name-property-location,
	.input-prefecture-property-location {
		font-size: 12px;
		width: auto;
		gap: 0;
		margin-bottom: 8px;

	}



.input-postal-code dt, .input-municipality dt,.input-building-name dt, .input-prefecture dt, .input-postal-code-property-location dt, .input-municipality-property-location dt, .input-building-name-property-location dt, .input-prefecture-property-location dt {
		font-size: 12px
	}


	select#prefecture {
		margin-top: 0;
	}

	.input-address-container {
		width: auto;
	}

	.sub-page .footer-contact-container::before {
		display: none;
	}

	.input-address-p {
    font-size: 18px;
    width: fit-content;
}

	.input-name,
	.input-kana,
	.input-telephone-number,
	.input-email {
		width: 100%;
		margin-bottom: 24px;
	}


.input-address-container {
    /* grid-template-columns: 60px 1fr; */
    /* gap: 0; */
    display: flex;
    flex-direction: column;
    gap: 0;
}

.input-postal-code dd {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
}
	.select#prefecture {
		font-size: 8px;
	}

	select {
		padding: 0;

	}

	.input-postal-code {
		margin-bottom: 8px;

	}

	.input-prefecture {
		height: auto;
		margin-bottom: 8px;
	}


	.input-municipality {
		margin-bottom: 8px;
	}


	.input-building-name {
		margin-bottom: 24px;

	}

	.select#prefecture {
		margin-top: 14px;
	}

	.input-email {

		margin-bottom: 12px;
	}

	.input-property-location {
		width: 100%;
		padding-top: 24px;
		padding-left: 0;
		padding-right: 0;
	}


	input[type="radio"] {
    width: 16px;
    height: 16px;
}

	.property-location-dt,
	.property-area-dt,
	.input-building-age dt,
	.relationship-with-property dt,
	.property-status-container label,
	contact-textarea-dt {
		font-size: 18px;
		margin-bottom: 12px;
	}

	.property-location-dd {
		letter-spacing: 0.05em;
		gap: 2vw;
	}


	.input-property-location {

		margin-bottom: 0;
	}



	select#prefecture, select#prefecture-property-location, select#property-status, select:invalid {
    font-size: 14px;
		padding: 0;
		height: auto;
		width: auto;
		min-width: 0;
}

select option {
    font-size: 14px;
    padding: 0;
    margin: 0;
    line-height: 1.2;
    width: auto;
    min-width: 0;
    white-space: nowrap;
}

	.input-property-location-land-area {
		width: 100%;
		padding: 24px 0 15px 0;
		margin-bottom: 0;

	}

	.input-property-location-building-area {
		width: 100%
	}


	.property-area-dd {
		margin-top: -16px;
		margin-bottom: 10px;
	}

	.input-property-location-building-area {
		margin-bottom: 10px;
	}

	.input-building-age {
		margin-bottom: 0;
		padding-top: 0;

	}

	input#building-age {
		margin-right: 5px;
		margin-bottom: 12px;

		width: 125px;
	}

	.relationship-with-property {
		width: 100%;
	}

	.relationship-with-property dd {
		gap: 10px 4px;
	}

	.input-building-age dt {
		margin-bottom: 6px;
	}

.input-building-age {
    width: 100%;
    margin-inline: auto;
}

.relationship-with-property dd {
    font-size: 16px;
    gap: 0;
}


label[for="property-status"] {
    font-size: 18px;
    display: block;
    margin-bottom: 8px;
}

	dt.contact-textarea-dt {
		font-size: 18px;
		margin-bottom: 8px;
	}

	.contact-textarea-container {
		padding-top: 20px;
		padding-left: 0;
		padding-right: 0;
	}

	.contact-textarea {
		width: 100%;
		margin-inline: auto;
		margin-bottom: 24px;
	}
textarea {
    width: 100%;
    height: 30vh;
}

	.contact-scrollable-text {
		width: 100%;

	}

	.contact-scrollable-text p {
		font-size: 12px;
	}

	.contact-scrollable-text p span {
		font-size: 14px;
	}

	.contact-scrollable-text p:nth-of-type(1) {
		font-size: 16px;
	}

	.privacy-agreement label {
		display: flex;
		align-items: center;
		gap: 4px;
	}

	.contact-scrollable-text {
		margin-bottom: 10px;
	}

	.privacy-agreement {

		margin-bottom: 36px;
	}



	.contact-form-wrapper {
		margin-bottom: 0;
	}

	.contact-page .footer-contact-container::before {
		display: none;
	}

	.case-list-sec-1-inner {
		padding-left: var(--sec-contact-padding-sp);
		padding-right: var(--sec-contact-padding-sp)
	}
.case-list-sec-1 img {
    width: 100%;
    height: 83.2vw;
    margin-bottom: 10px;
    object-position: 0 10px;
}

.case-list-sec-1-p-2 {
    font-size: 18px;
    color: #75A24B;
    border-left: 3px solid #D48D4C;
    padding-left: 4px;
    margin-bottom: 10px;
    line-height: 1.5;
}

.case-list-sec-1-p-3 {
    font-size: 12px;
}
.case-list-sec-1-p-3::before {
    top: -4px;
    left: 0px;
    font-size: 6px;
    width: 8px;
    height: 12px;
}
.case-list-building-category {
    font-size: 12px;
    padding: 1px 12px 1px 12px;
}

	.building-category-container {
		gap: 8px;
	}

	.building-category-container {
		margin-bottom: 7px;
	}

.case-list-sec-1-p-4 {
    font-size: 14px;
    line-height: 1.6;
}

	.case-list-sec-1 ul {
		gap: 44px;
	}

	.case-study-sec-3 dd {
		padding: 10px 10px 10px 10px;
	}

.faq-sec-1 h2 {
    font-size: 40px;
    margin-bottom: 10px;
    text-align: center;
}

	.faq-hero-sec {
		height: 320px;
		background-image: url(./img/070101-img.webp);
		/* background-size: 184%; */
		background-position-x: 65%;
		background-position-y: 0;
		background-repeat: no-repeat;
		margin-bottom: 20px;
	}

	.faq-sec-1 {
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
}

.faq-sec-1 img {
    width: 30%;
    margin-bottom: -20px;
    margin-top: 0;
}

.faq-sec-1 p:nth-of-type(1) {
    font-size: 14px;
    width: 90%;
}
	.faq-sec-1 ul {
		justify-content: center;
		gap: 5.55vw;
	}

	.faq-sec-1 li {

		font-size: 14px;
		line-height: 1.4;
		height: 56px;
		border: 1px solid #E18A3B;
	}

	.faq-sec-1-box {
      flex-direction: column-reverse;
    gap: 10px;
    margin-bottom: 16px;
}

	.faq-sec-1 p:nth-of-type(1) {
		margin-bottom: 0;
	}

.faq-sec-1 ul {
    grid-template-columns: 1fr 1fr;
}
.faq-category-title{
	font-size: 30px;
	  padding-left: var(--sec-inner-padding-sp);
    padding-right: var(--sec-inner-padding-sp);
}

.faq-question-title {
    font-size: 24px;
    padding-top: 2px;
    padding-bottom: 8px;
    padding-left: 28px;
}

.comment {
	margin-bottom: 18px;
	grid-template-columns: 64px 1fr;
	gap: 18px;
}

	.comment-text {
		font-size: 10px;
	}
	.comment-icon {
    width: 64px;
    height: 64px;
}

	.comment-text {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border: 2px solid #201614;
    padding: 10px 15px;
    z-index: 0;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
}

.comment-text::before {
    position: absolute;
    z-index: -2;
    top: 50%;
    left: -7px;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 2px solid #201614;
    content: '';
    transform: translateY(-50%) rotate(-45deg) skew(24deg, 24deg);
    border-radius: 5px;
}

.comment-right {
	grid-template-columns: 1fr 64px;
	gap: 20px;
	align-items: center;
}
.comment-right-text {
    display: flex;
		flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    border: 2px solid #201614;
    padding: 10px 15px;
    z-index: 0;
    border-radius: 10px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 500;
    height: auto;
		color: #201614;
}

.comment-right-text::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: #fff;
    width: 100%;
    height: 100%;
    content: '';
    border-radius: 7px;
}

.comment-right-text::before {
    position: absolute;
    z-index: -2;
    top: 50%;
    right: -7px;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 2px solid #201614;
    content: '';
    transform: translateY(-50%) rotate(45deg) skew(-24deg, -24deg);
    border-radius: 5px;
}

.comment-right-icon {
	width: 64px;
	height: 64px;
}


	.faq-sec-2 {
		margin-bottom: 0;
	}


	.faq-sec-2 img {
		width: 64px;
	}

	.faq-sec-2-container {
		margin-bottom: 40px;
		padding-left: var(--sec-inner-padding-sp);
		padding-right: var(--sec-inner-padding-sp);
	}
	.faq-additional-info {
		font-size: 11px;
		letter-spacing: 0.02em;
		margin-bottom: 30px;
	}

	/* .pagination-button {
		width: 40px;
		height: 40px;
		border: 2px solid #D48D4C;
		border-radius: 50%;
		background: none;
		color: #D48D4C;
		font-size: 19px;
		cursor: pointer;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: all 0.3s ease;
	} */

	.pagination-button:hover {
		background-color: #D48D4C;
		color: #fff;
	}

	.pagination-button.active {
		background-color: #D48D4C;
		color: #fff;
	}

	.property-list {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
		justify-content: center;
	}

	.property-list li {
		width: calc(33.333% - 20px);
		margin-bottom: 20px;
	}

	@media screen and (max-width: 768px) {
		.property-list li {
			width: calc(50% - 10px);
		}
	}

	@media screen and (max-width: 480px) {

.top-hero-sec {
    min-height: 82vh;
}



		.property-list li {
			width: 100%;
		}

	h2.service-description-h2::before {
    height: 35px;
}
.img-030803 {
    margin: 0 auto 30px auto;
}

	}

		.voice-customer-sec-container {
			grid-template-columns: 1fr;
			grid-template-rows: auto auto auto;
	}

	.voice-customer-sec-data-heading {
			grid-column: 1;
			grid-row: 1;
			font-size: 18px;
			margin-bottom: 0;
	}

	.voice-customer-sec-img-container {
    grid-column: 1;
    grid-row: 2;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 20px;
}

	.voice-customer-sec-data {
			grid-column: 1;
			grid-row: 3;
			font-size: 16px;
			margin-bottom: 0;
	}

	.voice-customer-sec-name {
		font-size: 14px;
		color: #523F30;
		line-height: 1.5;
}
.voice-customer-sec-main-img {
	width: 120px;
	margin-bottom: 0;
}
}




		/* PC版でも最初のカテゴリーのみ表示 */
		/* .faq-sec-2 {
			display: none;
		}

		.faq-sec-2.active {
			display: block;
		}

		.question-category-1 {
			display: block;
		} */




	@media screen and (min-width: 721px) {

.voice-customer-sec-container {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 60px;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 20px;
}
	.voice-customer-sec-img-container {
    grid-column: 1;
    grid-row: 1 / span 2;
    justify-content: center;
}

    .voice-customer-sec-data-heading {
        grid-column: 2;
        grid-row: 1;
    }

    .voice-customer-sec-data {
        grid-column: 2;
        grid-row: 2;
    }

.voice-customer-sec-name {
    display: block;
    width: 100%;
    font-size: 26px;
    color: #523F30;
    line-height: 1.5;
    border-left: 2px solid #523F30;
    padding-left: 20px;
}

    .voice-customer-sec-main-img {
        width: 200px;
        margin-bottom: 16px;
    }
}

@media screen and (max-width: 720px) {
	.img-030401 {
		padding-top: 204%;
		background-image: url("img/030401-img-sp.webp");
	}

	.service-description5-sec-img-1 {
		padding-top: 213%;
		background-image: url("img/030501-img-sp.webp");
	}

	.img-030502 {
		padding-top: 148.4%;
		background-image: url("img/030502-img-sp.webp");
	}

	.img-030601 {
		padding-top: 176.2%;
		background-image: url("img/030601-img-sp.webp");
	}

.img-030701 {
    background-size: 100%;
    padding-top: 120.6%;
    background-image: url("img/030701-img-sp.webp");
}

	.img-030802 {
		padding-top: 36.4%;
		background-image: url("img/030802-img-sp.webp");
		background-size: contain;
    height: 140px;
	}

.img-030803 {
    padding-top: 130%;
    background-image: url("img/030803-img-sp.webp");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    height: 464px;
		margin-bottom: 30px !important;
}
}


.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    left: 50%;
    transform: translate(0, -50%);
}


@media screen and (max-width: 1500px), (min-width: 1000px) {

.top-hero-sec{
	        height: 50vw;
}

}