@charset "UTF-8";
/*
Theme Name: MY THEME 
Author: Zenshin
Description: ZENSHINオリジナルテーマ
Version: 1.10(2023.2 最新版)
*/


/* ===========================================
 メモ（memo）
 * ======================================== */
/*background-image: url("images/arrow_icon.png");*/

/* ===========================================
 共通（common）
 * ======================================== */
body {
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
}

img {
	max-width: 100%;
	height: auto;
}

a,
a:hover,
a:visited {
	color: inherit;
}

/*色*/
.pink_point {
	color: #D37D6F !important;
}

.blue_point {
	color: #2E3192;
}

/*フォントサイズ*/
.font12 {
	font-size: 12px;
}

.font18 {
	font-size: 1.4vw;
}

.font24 {
	font-size: 24px;
}

.fontrem {
	font-size: 2rem;
}

/* フォント重み */
.weight700 {
	font-weight: 700;
}

/* ブロック */
.block {
	display: block;
}


/* 枠組み（container）
------------------------------------------ */
.wrapper {
	width: 100%;
	max-width: 100vw;
}

.container {
	width: 70%;
	margin: auto;
	padding: 30px 10px;
}

.container_2 {
	width: 85%;
	margin: auto;
	padding: 30px 10px;
}

@media screen and (max-width:520px) {

	.container,
	.container_2 {
		width: 95%;
		margin: auto;
	}

	.valley-fold {
		clip-path: polygon(0 0, 100% 0, 100% 95%, 50% 100%, 0 95%) !important;
	}
}

/* レスポンシブ（responsive）
------------------------------------------ */
.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

.br_1550 {
	display: none !important;
}

@media screen and (max-width:1550px) {
	.br_1550 {
		display: block !important;
	}

}

@media screen and (max-width:680px) {
	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}
}


/* FLEX（flex）
------------------------------------------ */
.flex {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.flex_hanyo {
	display: flex;
	flex-wrap: wrap;
}

.gaps_hanyo {
	gap: 3%;
}

.flex-between {
	justify-content: space-between;
}

.flex-center {
	justify-content: center;
}

.flex-start {
	justify-content: start;
}

.flex-align-start {
	align-items: start;
}

.flex-item10 {
	width: 10%;
}

.flex-item20 {
	width: 20%;
}

.flex-item25 {
	width: 25%;
}

.flex-item30 {
	width: 33%;
}

.flex-item30_foot {
	width: 25%;
}

.flex-item40,
.flex-item40_none {
	width: 40%;
}

.flex-item40_foot,
.flex-item40_foot_none {
	width: 50%;
}

.flex-item45 {
	width: 45%;
}

.flex-item45_foot {
	width: 33%;
}

.flex-item45_2 {
	width: 30%;
}

.flex-item50 {
	width: 50%;
}

.flex-item60,
.flex-item60_none {
	width: 60%;
}

.flex-item70 {
	width: 70%;
}

.flex-item100 {
	width: 100%;
}


@media screen and (max-width:520px) {

	.flex-item10,
	.flex-item20,
	.flex-item25,
	.flex-item30,
	.flex-item30_foot,
	.flex-item40,
	.flex-item40_foot,
	.flex-item45,
	.flex-item45_foot,
	.flex-item45_2,
	.flex-item50,
	.flex-item60,
	.flex-item70 {
		width: 100%;
	}

	.flex-item45_2 {
		margin: 1% 0;
	}

	.receive {
		flex-direction: column-reverse;
	}
}

/* POSITION（position）
------------------------------------------ */
.center {
	text-align: center;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

/* WIDTH（width）
------------------------------------------ */
.w-70 {
	width: 70%;
	margin: auto;
}

.w-80 {
	width: 80%;
	margin: auto;
}

.w-90 {
	width: 90%;
	margin: auto;
}

@media screen and (max-width:520px) {

	.w-70,
	.w-80,
	.w-90 {
		width: 100%;
	}
}

/* ===========================================
 ヘッダー（header）
 * ======================================== */
.header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 10vh;
	min-height: 100px;
	background: #fffaf0;
	padding: 10px;
	font-family: 'Noto Sans JP', sans-serif;
}

.header .title {
	text-align: center;
	font-size: 25px;
}

.header .title img {
	width: auto;
	height: 100%;
	max-height: 10vh;
}

.header a {
	text-decoration: none;
	color: black;
	margin: 0 2.1vw;
}

@media only screen and (max-width: 1050px) and (min-width: 870px) {
	.header a {
		margin: 0 1.1vw;
	}
}

@media only screen and (max-width: 869px) {
	.header a {
		margin: 0 3px;
	}
}

.header .menu {
	width: 80%;
	text-align: center;
}

.header .menu a:hover {
	opacity: 0.8;
}

/* ヘッダー上部の高さ分調整 */
.header-height {
	margin-top: 100px;
}

.header-height-for-price {
	margin-top: 11vh;
}

.header-height-for-srvice {
	margin-top: 8vh;
}

/*アイコン*/
.header .menu .service:before,
.hamburger-menu .service:before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-image: url("./images/header_icon_service.png");
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 5px;
}

.header .menu .yen:before,
.hamburger-menu .yen:before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-image: url("./images/header_icon_yen.png");
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 5px;
}

.header .menu .list:before,
.hamburger-menu .list:before {
	content: '';
	display: inline-block;
	width: 32px;
	height: 28px;
	background-image: url("./images/sofa.png");
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 5px;
	margin-top: 5px;
}

.header .menu .person:before,
.hamburger-menu .person:before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-image: url("./images/header_icon_person.png");
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 5px;
}

.header .menu .bloglists:before,
.hamburger-menu .bloglists:before {
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	background-image: url("./images/header_icon_bloglists.png");
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 5px;
}

.header i {
	/*サイズは直接タグに指定*/
	margin: 0 5px;
}

@media screen and (max-width:660px) {
	.header {
		height: 15vh;
		max-height: 250px;
		text-align: center;
		min-height: 50px;
	}

	.header.flex-between {
		justify-content: center;
	}

	.header .menu {
		margin-right: 0;
	}
}

/*サイドメニュー*/
.sidemenu {
	position: fixed;
	top: 35%;
	right: 0;
	margin-left: auto;
	margin-right: 20px;
	z-index: 9999;
	text-align: right;
	writing-mode: vertical-rl;
	text-decoration: none;
	color: #FFFFFF !important;
	padding: 10px;
	background-color: green;
	font-size: 18px;
	border-radius: 20px;
	/* 標準のプロパティ */
	-webkit-writing-mode: vertical-rl;
	/* Safari用のベンダープレフィックス */
	box-shadow: #000;
}

.sidemenu_line {
	position: fixed;
	top: 25%;
	right: 0;
	margin-left: auto;
	margin-right: 18px;
	z-index: 9999;
	text-align: right;
}

.sidemenu_line img {
	width: 55px;
}

.sidemenu:hover {
	color: rgb(105, 253, 89) !important;
	/* ホバー時の色を少し抑える */
}

/*ハンバーガーメニュー
------------------------------------------ */
.hamburger_logo {
	width: 50%;
}

.menu-btn {
	position: fixed;
	top: 90px;
	right: 50px;
	display: flex;
	height: 60px;
	width: 60px;
	justify-content: center;
	align-items: center;
	z-index: 101;
	border-radius: 50%;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
	content: '';
	display: block;
	height: 7px;
	width: 45px;
	background-color: #0071BC;
	position: absolute;
}

.menu-btn span:before {
	bottom: 15px;
}

.menu-btn span:after {
	top: 15px;
}

#menu-btn-check:checked~.menu-btn span {
	background-color: rgba(255, 255, 255, 0);
	/*メニューオープン時は真ん中の線を透明にする*/
}

#menu-btn-check:checked~.menu-btn span::before {
	bottom: 0;
	transform: rotate(45deg);
	background-color: #FFFFFF;
}

#menu-btn-check:checked~.menu-btn span::after {
	top: 0;
	transform: rotate(-45deg);
	background-color: #FFFFFF;
}

#menu-btn-check {
	display: none;
}

.menu-content ul {
	padding: 80px 50px 10px 10%;
}

.menu-content ul li {
	list-style: none;
}

.menu-content ul li:not(.menu_category) {
	padding-left: 30px;
}

.menu-content ul li a {
	display: block;
	width: 100%;
	font-size: 15px;
	box-sizing: border-box;
	color: #ffffff;
	text-decoration: none;
	padding: 9px 15px 10px 0;
	position: relative;
}

.menu-content ul li {
	list-style: none;
}

.menu-content ul li a {
	display: block;
	width: 100%;
	font-size: 15px;
	box-sizing: border-box;
	color: #ffffff;
	text-decoration: none;
	padding: 9px 15px 10px 0;
	position: relative;
}

.menu-content ul .menu_category {
	color: #FFFFFF;
	text-decoration: none;
}

.menu-content ul .menu_title h3::after {
	content: '';
	/*何も入れない*/
	display: inline-block;
	/*忘れずに！*/
	width: 50px;
	/*画像の幅*/
	height: 40px;
	/*画像の高さ*/
	background-image: url("images/arrow_icon.png");
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-left: 15px;
}

.menu-content {
	width: 30%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 100%;
	/*leftの値を変更してメニューを画面外へ*/
	z-index: 100;
	background-color: black;
	opacity: 0.9;
	transition: all 0.5s;
	/*アニメーション設定*/
}

#menu-btn-check:checked~.menu-content {
	left: 70%;
	/*メニューを画面内へ*/
}

@media screen and (max-width:520px) {
	.menu-btn {
		top: 20px;
		right: 20px;
	}

	/*スマホ時は全面表示する*/
	.hamburger_logo {
		width: 100%;
	}

	.menu-content {
		width: 100%;
	}

	#menu-btn-check:checked~.menu-content {
		left: 0;
		/*メニューを画面内へ*/
	}
}

/*ハンバーガーメニューここまで*/

/* ===========================================
 ホームページ（front-page.php）
 * ======================================== */
.beige {
	background-color: #EDEAD9;
}

.valley-fold {
	clip-path: polygon(0 0, 100% 0, 100% 85%, 50% 100%, 0 85%);
	background-color: #E6E5E5;
	padding: 2% 0 10% 0;
	margin-bottom: 3%;
}

.blue {
	background-color: #EBF4FB;
}

.bg_white {
	background-color: white;
	padding: 2% 0;
}

.front {
	font-family: 'Noto Sans JP', sans-serif;
}

.front hr {
	border-top: solid 1px #2E3192;
}

.front-box1 .h2,
.front-box2 .h2,
.front-box3 .h2 {
	display: inline-block;
	font-size: 26px;
	color: #2E3192;
	font-weight: bold;
	line-height: 2.0em;
}

.front-box1 .title,
.front-box2 .title,
.front-box3 .title {
	display: inline-block;
	font-size: 26px;
	color: #2E3192;
	font-weight: bold;
	line-height: 2.0em;
}

.title .large {
	font-size: 40px;
}

/*口コミ*/
.front-box1 .review {
	position: relative;
	margin: 15px 2%;
	padding: 20px;
	background: linear-gradient(225deg, transparent 20px, #FFF 20px);
	background-position: top right;
	background-repeat: no-repeat;
}

.front-box1 .review:before {
	content: '';
	display: block;
	background: linear-gradient(225deg, transparent 20px, #FFF 20px);
	width: 30px;
	height: 30px;
	position: absolute;
	right: 0px;
	top: 0px;
}

.service_box h3 {
	color: #2E3192;
	font-weight: bold;
}

.front .guide {
	font-size: 25px;
	color: #2E3192;
	font-weight: bold;
}

@media only screen and (max-width: 678px) and (min-width: 521px) {
	.front-box1 .title,
	.front-box2 .title {
		font-size: 3.8vw;
	}
	
	.title .large {
		font-size: 5.8vw;
	}
}

@media only screen and (max-width: 520px) {
	.front .guide {
		font-size: 4.6vw;
	}
	
	.front-box1 .title,
	.front-box2 .title {
		font-size: 4.7vw;
	}
	
	.title .large {
		font-size: 5.1vw;
	}
	
	.title h1 {
		font-size: 10.5vw !important;
	}
	
	.title h1 span {
		font-size: 5.7vw !important;
	}
	
	.front-box3 .guide p {
		font-size: 5.1vw !important;
	}
	
	.column {
		flex-direction: column;
	}
	
	.front-box3 .box {
		width: 100% !important;
		margin-right: 0 !important;
	}
}

.front-box3 .gaiyou {
	background-color: #0071BC;
	color: #FFF;
}

.front-box3 .flex-item60 {
	padding-left: 5%;
	margin: auto;
}

.front-box3 .title {
	color: #FFF;
}

.front-box3 .title span {
	font-size: 16px;
}

.front-box3 .logo,
.front-box3 .title {
	float: left;
}

.front-box3 .logo {
	width: 100%;
	max-width: 110px;
	margin-right: 30px;
}

.front-box3 .setsumei {
	clear: both;
	padding-top: 20px;
	font-family: Poppins, Noto Sans JP, sans-serif;
	text-align: left;
}

.front-box3 .guide {
	font-size: 25px;
	color: #2E3192;
	font-weight: bold;
}

.front-box3 .guide p {
	font-size: 18px;
	color: #D37D6F;
	transform: rotate(-5deg);
	margin-bottom: 30px;
}

.front-box3 .ryoukin_guide {
	font-size: 25px;
	color: #2E3192;
	font-weight: bold;
}

.front-box3 .ryoukin_guide p {
	display: inline-block;
	color: #D37D6F;
	transform: rotate(-10deg);
}

.front .syousai_button {
	margin-top: 50px;
}

.front-box3 .box {
	background-color: #FFF;
	padding: 10px 5px;
	border-radius: 10px;
	font-size: 20px;
	color: #2E3192;
	font-weight: bold;
	margin-bottom: 50px;
	margin-right: 5px;
	width: 30%;
}

.front .message_title {
	margin-top: 60px;
}

.padding-left-1 {
	padding-left: 20%;
}

.padding-left-2 {
	padding-left: 10%;
}

.padding-left-3 {
	padding-left: 15%;
}

.padding-right-1 {
	padding-right: 20%;
}

.padding-right-3 {
	padding-right: 15%;
}

.margin-top-1 {
	margin-top: 30px;
}

li.tp-newsEntries__item a {
	text-decoration: none;
}

.tp-newsEntries__list {
	margin: 5rem 0 5rem;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 3.2rem;
}


.tp-newsEntry {
	height: 100%;
}

.tp-newsEntry.is-new .tp-newsEntry__category:before {
	background-color: #d12976
}

.tp-newsEntry__link {
	display: block;
	height: 100%;
	padding: 3.5rem 4rem;
	border-radius: 2rem;
	background-color: #fff;
	text-decoration: none;
}

:where(ul, ol) {
	list-style: none;
}

a[href] {
	cursor: pointer;
}

.tp-newsEntry__meta {
	padding: 0 0 2.1rem;
	margin: 0 0 1.2rem;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 0 1.8rem;
	border-bottom: 1px solid rgba(37, 30, 28, .1);
}

.tp-newsEntry__date {
	font-family: Poppins, Noto Sans JP, sans-serif;
	font-size: 1.2rem;
	font-weight: 600;
	color: #999;
}

.tp-newsEntry__category {
	color: #251E1C;
	font-size: 1.2rem;
	font-weight: 700;
	text-decoration: none;
}

.tp-newsEntry__category:before {
	margin: -0.6rem 0.6rem -0.2rem 0;
	display: inline-block;
	width: 0.8rem;
	height: 0.8rem;
	vertical-align: middle;
	content: "";
	border-radius: 100%;
	background-color: #44b45c;
}

.tp-newsEntry__title {
	font-size: 1.4rem;
	letter-spacing: .04em;
	line-height: 1.785;
}

.tp-newsEntry__titleChild {
	background: linear-gradient(0deg, #000, #000) no-repeat right bottom/0 1px;
	background-size: 100% 1px;
	transition: background-size .3s ease-out;
	color: #999;
}

@media (hover: hover) {
	.tp-newsEntry__link:hover .tp-newsEntry__titleChild {
		background-size: 0 1px;
		background-position-x: right
	}
}

@media not screen and (min-width: 520px) {
	.tp-newsEntries__list {
		display: block;
		margin: 0 0 4rem;
	}

	ul.tp-newsEntries__list {
		padding-inline-start: unset;
	}
}

@media not screen and (min-width: 520px) {
	.tp-newsEntries__item:not(:first-child) {
		margin: 1.2rem 0 0
	}
}



@media screen and (max-width:520px) {

	.front-box3 .title {
		font-size: 22px;
	}

	.front-box3 .flex-item60 {
		padding-left: 0%;
	}

	.front-box3 .logo {
		max-width: 100px;
	}

	.padding-left-1,
	.padding-left-3,
	.padding-right-1,
	.padding-right-3 {
		padding: unset;
	}

	.flex-item60.service {
		padding-left: unset;
		padding: 5% 5%;
	}
}

/* ===========================================
 不用品（unnecessary.php）
 * ======================================== */
.white {
	background-color: #ffffff;
}

.picture_box {
	padding: 30px;
	margin: 30px auto;
}

.front-box4 {
	display: flex;
	flex-flow: column;
	width: 100%;
}

.box1 {
	height: 100px;
	background: #EDEAD9;
}

.box2 {
	height: 0px;
	display: flex;
	justify-content: left;
	align-items: center;
	padding-inline-start: 300px;
}

.box3 {
	width: 10%;
	height: 100px;
	display: inline;
	z-index: 5;
}


.front-box4 .title {
	font-size: 28px;
	color: #2E3192;
	font-weight: bold;
	line-height: 2.0em;
	text-align: left;
}

.containerWithNumber {
	padding-left: 180px;
}

.text {
	margin-top: 30px;
}

#threeReasons {
	position: relative;
}

#threeReasons::after {
	content: "";
	position: absolute;
	bottom: -1rem;
	left: 30%;
	width: 45%;
	/* 半分の横幅 */
	height: 2px;
	/* 下線の高さ */
	background-color: #D37D6F;
	/* 下線の色 */
}

.customer_box {
	text-align: left;
	background-color: #FFF;
	padding: 30px 100px;
	margin: 30px auto;
}

.customer_box .title {
	font-weight: 500;
	color: black;
	border: black solid 1px;
	padding: 10px;
	margin-bottom: 10px;
}

.customer_box .text {
	margin-bottom: 30px;
}

.ask_box,
.plan_box {
	text-align: center;
	background-color: #FFF;
	margin: 30px auto;
	border-radius: 10px;
	border: black solid 1px;
	overflow: hidden;
}

.ask_box .title {
	background-color: #E5E4E3;
	width: 100%;
	border-bottom: black solid 1px;
}

.tel-icon {
	display: inline-block;
	vertical-align: middle;
	/* 垂直方向の中央寄せ */
	width: 10%;
}

.info {
	display: flex;
	vertical-align: top;
	/* 垂直方向の中央寄せ */
	flex-direction: row-reverse;
	justify-content: center;
	align-items: center;
}

.tel_num {
	font-size: 65px;
	font-weight: 700;
	color: #2E3192;
}

.time {
	font-size: 30px;
	font-weight: 700;
	color: #2E3192;
	margin-right: 0;
}

.tel-icon img {
	max-width: 70%;
}

@media only screen and (min-width: 1520px) {
	.tel-icon img {
		max-width: 70px;
	}
}

.button-container {
	display: flex;
	/* ボタンを横並びに配置する */
}

.ask-button {
	padding: 10px 20px;
	/* ボタンの余白を設定（必要に応じて調整） */
	margin-right: 10px;
	/* ボタン間の横の間隔を設定（必要に応じて調整） */
}

.ask-button img {
	cursor: pointer;
}

p.daikohyo {
	color: #D37D6F;
	transform: rotate(-10deg);
	margin-bottom: 0;
	right: 50%;
	position: relative;
}

#throwPlan {
	position: relative;
}

#throwPlan::after {
	content: "";
	position: absolute;
	bottom: -1rem;
	left: 30%;
	width: 45%;
	/* 半分の横幅 */
	height: 2px;
	/* 下線の高さ */
	background-color: #D37D6F;
	/* 下線の色 */
}

.padding1 {
	padding: 0 30px 30px;
}

.plan_box .imgContainer {
	padding: 10px 30px;
}

.planText {
	align-self: flex-start;
	padding-top: 20px
}

#recyclable {
	position: relative;
}

#recyclable::after {
	content: "";
	position: absolute;
	bottom: -1rem;
	left: 30%;
	width: 30%;
	/* 下線の横幅 */
	height: 2px;
	/* 下線の高さ */
	background-color: #D37D6F;
	/* 下線の色 */
}

#non-recyclable {
	position: relative;
}

#non-recyclable::after {
	content: "";
	position: absolute;
	bottom: -1rem;
	left: 30%;
	width: 25%;
	/* 下線の横幅 */
	height: 2px;
	/* 下線の高さ */
	background-color: #D37D6F;
	/* 下線の色 */
}

.recycle {
	font-size: 30px;
	font-weight: 700;
}

.hosoku {
	text-align: center;
	font-weight: normal;
	font-size: 15px;
}

.blog {
	text-align: center;
	position: relative;
}

.blog::after {
	content: "";
	position: absolute;
	bottom: -1rem;
	left: 30%;
	width: 30%;
	/* 下線の横幅 */
	height: 2px;
	/* 下線の高さ */
	background-color: #D37D6F;
	/* 下線の色 */
}

@media screen and (max-width:890px) {
	.tel-icon {
		width: 10%;
		/* スマートフォン表示では幅を自動調整 */
		margin-right: 10px;
		/* アイコンとテキストの間に余白を追加 */
		vertical-align: top;
		display: inline;
		/* インラインブロック要素に変更して、横に配置 */
	}

	.tel_num {
		font-size: 40px;
	}

	.tel-icon img {
		max-width: 70%;
		min-width: 35px;
	}

	.time {
		margin-right: 0;
	}

	.info {
		display: flex;
		/* インラインブロック要素に変更して、横に配置 */
		justify-content: center;
	}

	.padding-top-1 {
		padding-top: 3%;
	}
}

@media only screen and (max-width: 400px) {
	.tel-icon {
		margin-top: 0 !important;
	}
	
	.tel-icon img {
		min-width: 24px !important;
	}
}

@media screen and (max-width:950px) {
	.customer_box {
		padding: 30px 5px;
	}

	.inline-block {
		display: inline-block;
	}
}


@media screen and (max-width:787px) {
	.box2 {
		padding-inline-start: 30px;
		/* Reduced padding for smaller screens */
	}

	.box3 {
		width: 15%;
		/* Larger percentage for smaller screens */
		height: auto;
		/* Maintain aspect ratio */
	}

	.containerWithNumber {
		padding-left: 30px;
		/* Reduced padding for smaller screens */
	}
}

@media screen and (max-width:688px) {
	#non-recyclable::after {
		bottom: initial;
		left: 50%;
		width: 50%;
	}
}

@media screen and (max-width:625px) {
	#recyclable::after {
		bottom: initial;
		left: 50%;
		width: 50%;
	}
}


@media screen and (max-width:520px) {
	.front-box4 .title {
		font-size: 22px;
	}

	.button-container {
		flex-direction: column;
		/* 縦に配置する */
	}

	.ask-button {
		margin-right: 0;
		/* ボタン間の横の間隔をリセット */
		margin-bottom: 10px;
		/* ボタン間の縦の間隔を設定（必要に応じて調整） */
	}
}

/* 草刈り草むしり(mowing.php) */
.mowing-title1 {
	font-size: 40px;
	color: #2E3192;
	font-weight: bold;
	line-height: 1.5em;
}

.mowing-title2 {
	font-size: 45px;
	color: #2E3192;
	font-weight: bold;
}

.mowing-title3 {
	font-size: 40px;
	color: #2E3192;
	font-weight: bold;
	line-height: 1.5em;
}

.mowing-guide {
	font-size: 18px;
	text-align: center;
}

.mowing-container {
	width: 80%;
	margin: auto;
	padding: 30px 10px;
}

@media only screen and (max-width: 833px) and (min-width: 521px) {
	.mowing-title1 {
		font-size: 4.8vw;
		color: #2E3192;
		font-weight: bold;
		line-height: 1.5em;
	}
	
	.mowing-title2 {
		font-size: 5.4vw;
		color: #2E3192;
		font-weight: bold;
	}
	
	.mowing-guide {
		font-size: 2.1vw;
		text-align: center;
	}

	.mowing-title3 {
		font-size: 4.5vw;
		color: #2E3192;
		font-weight: bold;
		line-height: 1.5em;
	}
}

@media only screen and (max-width: 520px) {
	.mowing-title1 {
		font-size: 5.3vw;
		color: #2E3192;
		font-weight: bold;
		line-height: 1.5em;
		padding: 0 20px;
	}
	
	.mowing-title2 {
		font-size: 6.9vw;
		color: #2E3192;
		font-weight: bold;
	}
	
	.mowing-guide {
		font-size: 14px;
		text-align: center;
		padding: 0 35px;
	}

	.mowing-container {
		width: 100%;
	}

	.height-1 {
		height: 50px;
		background-color: #EDEAD9;
	}

	.mowing-title3 {
		font-size: 5vw;
		color: #2E3192;
		font-weight: bold;
		line-height: 1.5em;
	}
}

.height-1 {
	height: 100px;
	background-color: #EDEAD9;
}



/* 遺品整理（estate-cleaning.php）
------------------------------------------ */
.padding2 {
	padding-bottom: 50px;
}

.padding3 {
	padding-top: 50px;
}

.eastate-title1 {
	font-size: 40px;
	color: #2E3192;
	font-weight: bold;
	line-height: 1.5em;
}

.eastate-title2 {
	font-size: 48px;
	color: #2E3192;
	font-weight: bold;
}

.estate-guide {
	font-size: 18px;
	text-align: center;
	padding: 0 50px;
}

#estate-hosoku {
	padding-top: 1em;
	text-align: right;
	font-weight: normal;
	font-size: 15px;
	margin: auto;
}

.margin1 {
	margin-top: 100px;
	margin-bottom: 70px;
}

.customer_box .title-container {
	display: inline-block;
	vertical-align: top;
	/* トップに整列 */
	width: 49%;
	/* または任意の幅に設定 */
}

.title-container.left {
	text-align: left;
}

.title-container.right {
	text-align: right;
}

.right .title {
	border: initial;
	color: #2E3192;
}

.clip {
	clip-path: polygon(0 0, calc(100% - 80px) 0, 100% 80px, 100% 100%, 0 100%);
}

@media screen and (max-width:830px) {
	.customer_box .title-container {
		width: 100%;
	}
}

@media screen and (max-width:520px) {
	.eastate-title1 {
		font-size: 30px;
	}

	.eastate-title2 {
		font-size: 38px;
	}

	.margin1 {
		margin-top: 50px;
		margin-bottom: 35px;
	}
}

@media screen and (max-width:400px) {
	.clip {
		clip-path: polygon(0 0, calc(100% - 50px) 0, 100% 50px, 100% 100%, 0 100%);
	}
}

/* ===========================================
 エアコンクリーニング（aircon-cleaning.php）
 * ======================================== */
.box1-blue {
	height: 100px;
	background: #EBF4FB;
}

.margin2 {
	margin-bottom: 70px;
}

#pricePlan {
	position: relative;
}

#pricePlan::after {
	content: "";
	position: absolute;
	bottom: -1rem;
	left: 20%;
	width: 45%;
	/* 半分の横幅 */
	height: 2px;
	/* 下線の高さ */
	background-color: #D37D6F;
	/* 下線の色 */
}

#dirtDanger {
	position: relative;
}

#dirtDanger::after {
	content: "";
	position: absolute;
	bottom: 0.18em;
	left: 0;
	width: 100%;
	/* 横幅 */
	height: 8px;
	/* 下線の高さ */
	background-color: #FCEE21;
	/* 下線の色 */
}

div.image_circle {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background-image: url("./images/noimage.png");
	background-size: cover;
	margin-top: 30px;
}

.flex-item30:has(.image_circle) {
	display: flex;
	justify-content: center;
	flex-direction: column;
	/* ここを追加 */
	align-items: center;
	/* 子要素を中央揃えにする */
	border-right: solid grey 1px;
}

.margin3 {
	margin: 50px 0;
}

@media screen and (max-width:920px) {
	.flex-item30:has(.image_circle) {
		width: 100%;
		border-right: initial;
		border-bottom: solid grey 1px;
		padding-bottom: 10px;
	}
}

/* ===========================================
 メッセージj（staff_message_guide.php）
 * ======================================== */
.message {
	font-size: 22px;
}

@media screen and (max-width:520px) {
	.message {
		font-size: 14px;
	}
}

/* 投稿一覧（front-post）
------------------------------------------ */
.post .post_item {
	border: solid 1px grey;
	padding: 10px;
}

.post .post_date {
	text-align: right;
}

.post h4 {
	text-align: center;
}

/* ===========================================
 フッター（footer）
 * ======================================== */
.footer {
	width: 100%;
	padding: 20px;
	background: #fffaf0;
	text-align: center;
	margin: auto;
	color: #2E3192;
	font-family: 'Noto Sans JP', sans-serif;
}

.footer .logo {
	width: 50%;
}

.footer .add {
	width: 50%;
	margin: 10px auto;
	text-align: left;
}

.footer .menu {
	width: 50%;
	margin: auto;
	text-align: left;
	line-height: 2.5em;
}

.footer .menu p {
	border-bottom: solid 2px #2E3192;
}

.footer .tel_guide {
	font-size: 17px;
	margin-top: 30px;
}

.tel {
	vertical-align: middle;
	/* 垂直方向の中央寄せ */
}

.footer .tel {
	font-weight: bold;
	font-size: 30px;
}

.footer .sns {
	display: inline-block;
	margin: 15px auto;
}

.footer .sns div {
	float: left;
	margin-right: 15px;
	max-width: 30px;
}

.footer .copyright {
	color: #B3B3B3;
}

@media screen and (max-width:520px) {
	.footer .add {
		width: 70%;
	}
}

/* ===========================================
 お問い合わせ
 * ======================================== */
.alignfull {
	width: 99vw;
	height: auto;
}

.alignwide {
	padding-left: 10%;
	padding-right: 10%;
}

.alignwide h1 {
	text-align: center;
	position: relative;
	font-size: 48px;
	color: #2E3192;
	font-weight: bold;
	margin-top: unset;
	margin-bottom: 60px;
	/* padding-top: 60px; */
}

.alignwide h1::after {
	content: "";
	position: absolute;
	bottom: -2rem;
	left: 45%;
	width: 12%;
	/* 下線の横幅 */
	height: 4px;
	/* 下線の高さ */
	background-color: #D37D6F;
	/* 下線の色 */
}



/*MW WP Form*/
.page-id-42 {
	font-family: 'Noto Sans JP', sans-serif;
}

.confirm {
	text-align: center;
}

.cform tr {
	display: flex;
	flex-direction: column;
}

.cform th {
	font-size: 14px;
	width: 20%;
	/*変なところで改行される場合はここの数字を変更します。*/
	padding: 10px 0 10px 15px;
	background-color: #FBF8E9;
	color: #EA6000;
	font-weight: bold;
	padding-left: 19%;
}

.cform td {
	font-size: 14px;
	line-height: 150%;
	padding: 10px 5px;
	background: #FBF8E9;
	padding-left: 20%;
}

.top_th {
	border-radius: 24px 24px 0 0;
	padding-top: 5% !important;
}

.bottom_td {
	border-radius: 0 0 24px 24px;
	padding-bottom: 5% !important;
}

.cform {
	width: 80%;
	margin: auto;
	margin-top: 50px;
	border-spacing: 0px;
	border-radius: 24px;
}

.cform [type=submit] {
	display: inline-block;
	font-size: 18px;
	padding: 10px 30px;
	text-decoration: none;
	background: #ff8f00;
	color: #FFF;
	border-bottom: solid 4px #B17C00;
	border-radius: 3px;
}

.cform option,
.cform textarea,
.cform input[type=text],
.cform input[type=email],
.cform input[type=search],
.cform input[type=url] {
	width: 80%;
	min-height: 40px;
	padding: 10px;
	background-color: #ffffff;
	border: none;
	border-radius: 14px;
}

.cform input[name=your-name] {
	width: 80%;
}

.cform input[name=zip] {
	width: 20%;
}

.cform input[name=your-tel],
.cform input[name=your-mail],
.cform input[name=adr01],
.cform input[name=adr02],
.cform input[name=addr] {
	width: 80%;
}

.cform input[name=contents] {
	width: 100%;
}

#form {
	background-color: #FBF8E9;
	width: 80%;
	border-radius: 24px;
	margin: 0 auto;
	padding-bottom: 5%;
}

/*.postalcode {
	display: flex !important;
	justify-content: center;
}*/

.required-numbers {
	text-align: center;
}

.required-srt {
	font-size: 9pt;
	padding: 5px;
	color: #ce0000;
	margin-right: 10px;
	vertical-align: middle;
}

.any-srt {
	font-size: 9pt;
	padding: 5px;
	color: white;
	margin-left: 10px;
	vertical-align: middle;
	border: solid 1px white;
}

.mw_wp_form th:not(.post-con) {
	text-align: left;
	padding: 15px;
	padding-left: 19%;
	margin-bottom: 0px;
	font-size: 20px;
	width: auto;
	border-bottom: none;
	font-weight: bold;
}

.otoiawase {
	vertical-align: top;
}

.mw_wp_form .post-con {
	padding: 15px;
	padding-left: 19%;
	margin-bottom: 0px;
	font-size: 20px;
	width: auto;
	border-bottom: none;
	font-weight: bold;
}

.mw_wp_form .jusyo {
	line-height: 1.5;
}

.mw_wp_form .todohuken {
	margin-right: 1px;
}

.mw_wp_form .last {
	border-bottom: none;
}

@media screen and (max-width: 640px) {

	.cform th,
	.cform td {
		width: 100%;
		display: block;
		border-top: none;
	}

	.mw_wp_form th:not(.post-con) {
		text-align: center;
		padding-left: 15px !important;
	}

	.mw_wp_form .post-con {
		text-align: center;
		padding-left: 15px !important;
	}

	.cform td {
		padding-left: 5px !important;
	}

	.cform input[name=your-tel],
	.cform input[name=your-mail],
	.cform input[name=adr01],
	.cform input[name=adr02],
	.cform input[name=addr] {
		width: 100%;
	}
	.cform option,
	.cform textarea,
	.cform input[type=text],
	.cform input[type=email],
	.cform input[type=search],
	.cform input[type=url] {
		width: 100%;
		min-height: 40px;
		padding: 10px;
		background-color: #ffffff;
		border: none;
		border-radius: 14px;
	}

	.cform input[name=your-name] {
		width: 100%;
	}

	.cform input[name=zip] {
		width: 100%;
	}
}

input[type="submit" i] {
	/*もともとの設定変更*/
	border-width: 0px;
}


/*プライバシーポリシー*/

.policy {
	padding: 5%;
	font-size: 20px;
}

.policy span {
	font-size: 40px;
	margin: 1%;
}

@media (max-width: 600px) {
	.alignwide {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/*ブログ一覧*/
.posts-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4%;
}

.work_list {
	flex-basis: 48%;
	/* 各アイテムの幅を設定（2つ並べるために100%の約半分） */
	margin-bottom: 20px;
	/* 任意のマージン */
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-top: 50px;
}

.work_list img {
	width: 100%;
	height: auto;
	object-fit: cover;
	/* 画像をコンテナにフィットさせる */
	overflow: hidden;
	/* 画像の枠外を非表示にする */
	aspect-ratio: 1/1;
}

.work_list .title {
	display: block;
}

/* 画面幅が520px以下の場合 */
@media screen and (max-width: 520px) {
	.work_list {
		flex-basis: 100%;
		/* 画面が狭いときは1列 */
	}
}

.trim-img {
	width: 100%;
	height: auto;
	aspect-ratio: 1/1;
}

/*投稿個別ページ single.php*/
.flex-horizontal {
	display: flex;
	/* Flexコンテナを設定 */
	align-items: flex-start;
	/* アイテムを上端に揃える */
}

.flex-horizontal>div {
	margin-right: 20px;
	/* オプション: アイテム間に間隔を設ける */
}

.image-files {
	display: flex;
	justify-content: center;

	li:nth-child(2) {
		margin: 0 20px;
	}
}

@media only screen and (max-width: 768px) {
	.image-files {
		flex-direction: column;
		align-items: center;

		li:nth-child(2) {
			margin: 20px 0;
		}
	}
}

/* ===========================================
 引っ越し
 * ======================================== */

.moving-price {
	text-align: center;
	font-size: 42px;
	color: #2E3192;
	font-weight: bold;
}

.moving-cyui {
	text-align: center;
	color: #000;
}

/* ===========================================
 対応エリア
 * ======================================== */

.area-container {
	display: flex;
	justify-content: space-between;
	/* 左右の要素を均等に配置 */
	flex-wrap: wrap;
	/* 必要に応じて折り返し */
	margin: 0 10%;
}

.area-text {
	width: 45%;
	/* 横幅を調整 */
	text-align: justify;
	margin-bottom: 20px;
	/* 段落間の余白を追加 */
}

@media only screen and (max-width: 600px) {

	/* スマートフォンサイズの場合 */
	.area-text {
		width: 100%;
		/* 幅を100%に設定して縦に並べる */
	}
}


.title h1 {
	font-size: 45px;
	font-weight: 700;
}

.voice_item-wrapper {
	width: 100%;
	display: flex;
	justify-content: flex-end;
}

.voice_news-item {
	flex: 0 0 32%;
	/* フレックスアイテムのサイズ設定（全体の約25%の幅を取るように調整） */
	padding: 10px;
	margin: 2.5% 1%;
	/* 下マージンを追加、行間調整用 */
}

/* サムネイルのスタイル */
.voice_news-item img {
	width: 100%;
	/* 幅を親要素に合わせる */
	height: auto;
	/* 高さは自動調整 */
	margin-bottom: 10px;
	/* 下にマージン */
}

/* コンテンツ領域のスタイリング */
.voice_content {
	font-size: 0.9em;
	/* フォントサイズ */
}

/* タイトルのスタイリング */
.voice_news-item h2 {
	font-size: 2.4vw;
	/* フォントサイズ大 */
	margin-top: 0;
	margin-bottom: 5px;
	/* 下マージン */
}

/* リンクのスタイリング */
.voice_news-item a {
	text-decoration: none;
	/* リンクの下線を消す */
	color: #333;
	/* 文字色 */
}

.voice_news-item a:hover {
	color: #0056b3;
	/* ホバー時の文字色 */
}

.voice_text {
	margin-top: 5%;
}

/* レスポンシブ対応: 画面サイズが小さい場合 */
@media (max-width: 768px) {
	.voice_item-wrapper {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.voice_news-item_sub {
		display: flex;
		flex-direction: row-reverse;
	}

	.voice_news_image {
		margin-right: 5%;
	}

	.voice_image_inner {
		width: 30vw;
		/* 画像の表示エリアの幅 */
		height: 35vw;
		/* 画像の表示エリアの高さ */
		overflow: hidden;
		/* 画像が表示エリアを超えた部分を隠す */
		position: relative;
	}

	.voice_image_inner img {
		position: absolute;
		width: 100%;
		/* 画像の幅を表示エリアに合わせる */
		height: auto;
		/* 画像の高さを自動調整してアスペクト比を保持 */
		top: 50%;
		/* 画像を上下中央に配置 */
		left: 50%;
		/* 画像を左右中央に配置 */
		transform: translate(-50%, -50%);
		/* 画像を中央に位置 */
		object-fit: cover;
		/* 画像を表示エリアに収める */
	}

	.voice_content {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}

@media only screen and (max-width: 1060px) {
	.voice_text {
		display: none;
	}
}


.arbitary-srt {
	font-size: 9pt;
	padding: 5px;
	background: #7993db;
	color: #fff;
	margin-right: 10px;
	vertical-align: middle;
	float: right;
}

.chuui {
	font-size: 14px;
	color: grey;
}

.checkbox-group {
	display: flex;
	flex-direction: column;
}

.mwform-checkbox-field {
	margin-left: 0 !important;
}

.policy-exp {
	color: #FFFFFF;
	text-align: center;
	padding: 3% 0;
	font-size: 18px;
}

.policy-exp a {
	color: #EA6000;
}

.cform-button {
    background: #EA6000;
    width: 450px;
	height: 100px;
    font-size: 30px;
    font-weight: 600;
    min-width: 14.5vw;
    margin: 30px auto;
    display: block; /* 修正ポイント */
    text-align: center;
    color: #FFF;
    transition: all 0.4s ease;
    border: none;
    padding: 10px;
    border-radius: 60px;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
	position: relative;
	letter-spacing: 4px;
}

.cform-button:hover {
	opacity: 0.8;
}

.cform-button span {
	background-color: #FFF;
	border-radius: 50%;
	color: #EA6000;
	padding: 8px 15px;
	margin-left: 5%;
	position: absolute;
	top: 20px;
	right: 25px;
	letter-spacing: 0;
}

.person-image {
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.asai-san p {
	font-size: 20px;
    color: #D37D6F;
    transform: rotate(20deg);
    margin-bottom: 50px;
	text-align: right;
	font-weight: bold;
}

.ishibashi-san p {
	font-size: 20px;
    color: #D37D6F;
    transform: rotate(-20deg);
    margin-bottom: 25px;
	font-weight: bold;
	margin-left: 8%;
}

.person-image span {
	color: #2e3192;
}

.contact-guide {
	text-align: center;
}

.center-img {
	margin: 0 5%;
	width: 20%;
	min-width: 120px;
}

.right-img {
	width: 14%;
	min-width: 90px;
}

.left-img {
	width: 20%;
	min-width: 120px;
}

.guide-exp {
	text-align: left;
	padding: 2% 10%;
}

.white {
	background-color: #FFF;
}

.contact-guide {
	width: 100%;
	margin: auto;
	padding: 3% 10%;
	background: linear-gradient(#7ecef4,#e1ffff);
	font-weight: 600;
	font-size: 18px;
	border-radius: 60px;
}

.contact-guide p {
	font-size: 28px;
	font-weight: bold;
	color: #2e3192;
}

.speedy-title {
	margin-top: 2%;
}



.guide-exp-title {
	text-align: center;
	color: #2e3192;
	font-size: 28px;
}

.large-size {
	margin-bottom: 2%;
}

.large-size p {
	font-size: 40px !important;
	text-align: center;
}

.extra-large {
	font-size: 50px;
}

.middle-size {
	padding: 0 10%;
}

.middle-size p {
	text-align: left;
	font-size: 20px;
}

.remaining {
	text-align: center;
	color: red;
	font-weight: bold;
}

@media only screen and (max-width: 900px) and (min-width: 521px) {
	.asai-san p,
	.ishibashi-san p {
		font-size: 3vw;
	}
}

@media only screen and (max-width: 520px) {
	.contact-guide p {
		font-size: 20px;
		font-weight: bold;
		color: #2e3192;
	}

	.speedy-title {
		margin-top: 2%;
	}

	.guide-exp-title {
		text-align: center;
		color: #2e3192;
		font-size: 20px;
	}

	.large-size {
		margin-bottom: 2%;
	}

	.large-size p {
		font-size: 6.25vw !important;
		text-align: center;
	}

	.extra-large {
		font-size: 10vw;
	}

	.middle-size {
		padding: 0 10%;
	}

	.middle-size p {
		text-align: left;
		font-size: 14px;
	}
	
	.asai-san img,
	.ishibashi-san img {
		width: 90%;
	}
	
	.center-img {
		margin: 0 1%;
		width: 80px !important;
		min-width: 0;
	}

	.right-img {
		width: 60px !important;
		min-width: 0;
	}

	.left-img {
		width: 80px !important;
		min-width: 0;
	}
	
	.cnt-title {
		font-size: 28px !important;
	}
	
	.cform input[name=zip] {
		width: 100%;
	}

	.contact-guide {
		padding: 3% 10px;
		border-radius: 30px;
	}

	.guide-exp {
		padding: 2% 0;
	}

	.guide-exp-title {
		font-size: 14px;
	}

	.guide-exp-title img {
		width: 30px;
	}

	.middle-size {
		padding: 0;
	}

	.middle-size p {
		font-size: 12px;
		margin: 8% 0;
	}

	.asai-san p {
		font-size: 14px;
		color: #D37D6F;
		transform: none;
		margin-bottom: 10px;
		text-align: center;
		font-weight: bold;
	}
	
	.ishibashi-san p {
		font-size: 14px;
		color: #D37D6F;
		transform: none;
		margin-bottom: 14px;
		font-weight: bold;
		margin-left: 5%;
	}

	.checkbox-group {
		display: flex !important;
	}

	.cform-button {
		background: #EA6000;
		width: 250px;
		height: 50px;
		font-size: 18px;
		font-weight: 600;
		min-width: 14.5vw;
		margin: 10px auto;
		display: block; /* 修正ポイント */
		text-align: center;
		padding: 5px;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		padding: 2%;
		border-radius: 45px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
	}
	
	.cform-button span {
		background-color: #FFF;
		border-radius: 50%;
		color: #EA6000;
		padding: 2.5px 7px;
		margin-left: 20px;
		top: 10px;
		right: 10px;
	}

	.policy-exp {
		font-size: 14px;
	}

	.policy-title {
		font-size: 25px !important;
	}

	.policy {
		font-size: 14px;
	}

	.policy span {
		font-size: 20px;
	}

	.trigger-point {
		display: block !important;
	}
}

.trigger-point {
	display: none;
}

@media only screen and (max-width: 768px) and (min-width: 521px) {
	.cform-button {
		background: #EA6000;
		width: 290px;
		height: 65px;
		font-size: 20px;
		font-weight: 600;
		min-width: 14.5vw;
		margin: 20px auto;
		display: block; /* 修正ポイント */
		text-align: center;
		padding: 5px;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		padding: 2%;
		border-radius: 45px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
	}
	
	.cform-button span {
		padding: 5px 9px;
		top: 13px;
		right: 15px;
	}
}

@media only screen and (max-width: 1200px) and (min-width: 769px) {
	.cform-button {
		background: #EA6000;
		width: 340px;
		height: 75px;
		font-size: 24px;
		font-weight: 600;
		min-width: 14.5vw;
		margin: 25px auto;
		display: block; /* 修正ポイント */
		text-align: center;
		padding: 5px;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		padding: 2%;
		border-radius: 45px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
	}

	.cform-button span {
		padding: 5px 11px;
		top: 15px;
		right: 15px;
	}
}


.banner {
	position: fixed;
    bottom: 0;
    left: 0;
    width: 100%; /* サイドバーの幅を設定 */
	z-index: 9999;
	opacity: 1;
    transition: opacity 1s ease;
}

.banner-responsive {
	transform: translateY(4px);
}

.banner-back {
	position: relative;
	width: 100%;
	/* box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5); */
}

.relative-image {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: absolute;
	right: 2%; /* バナー右端からの距離（調整可） */
	bottom: -7%; /* バナー下端からの距離（調整可） */
	gap: 10px; /* ボタン間のスペース */
	width: 32%;
}

.breadcrumb {
	list-style: none;
	display: flex;
	margin-bottom: 0;
	background-color: #FFF !important;
}
  
.breadcrumb li + li:before {
	content: ">";
	padding: 0 5px;
}
  
.breadcrumb li {
	padding: 0 5px;
}
  
.breadcrumb li a {
	text-decoration: none;
	color: #007bff;
}

.front-box2 .service_box {
	position: relative;
	background: linear-gradient(225deg, transparent 20px, #FFF 20px);
	background-position: top right;
	background-repeat: no-repeat;
	padding: 5%;
	margin: 30px auto;
}

.front-box2 .top-left {
	position: relative;
	background: linear-gradient(135deg, transparent 20px, #FFF 20px);
	background-position: top left;
	background-repeat: no-repeat;
	padding: 5%;
	margin: 30px auto;
}

.syousai_button {
    background: linear-gradient(90deg, #006837, #39B54A);
    width: 300px;
	height: 60px;
    font-size: 22px;
    font-weight: 600;
    margin: 30px auto;
    display: block; /* 修正ポイント */
    text-align: center;
    color: #FFF;
    transition: all 0.4s ease;
    border: none;
    padding: 13px;
    border-radius: 60px;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
	position: relative;
	letter-spacing: 7px;
}

.syousai_button:hover {
	opacity: 0.8;
}

.syousai_button span {
	background-color: #FFF;
	border-radius: 50%;
	color: #39B54A;
	padding: 5px 10px;
	position: absolute;
	right: 15px;
	top: 10px;
	letter-spacing: 0;
}

@media only screen and (max-width: 800px) and (min-width: 521px) {
	.syousai_button {
		background: linear-gradient(90deg, #006837, #39B54A);
		width: 250px;
		font-size: 18px;
		font-weight: 600;
		display: block; /* 修正ポイント */
		text-align: center;
		padding: 8px;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		border-radius: 45px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
		height: 45px;
		letter-spacing: 7px;
	}

	.syousai_button span {
		background-color: #FFF;
		border-radius: 50%;
		color: #39B54A;
		padding: 3px 7px;
		position: absolute;
		right: 15px;
		top: 7px;
		letter-spacing: 0;
	}
}

@media only screen and (max-width: 520px) {
	.syousai_button {
		background: linear-gradient(90deg, #006837, #39B54A);
		width: 225px;
		font-size: 16px;
		font-weight: 600;
		display: block; /* 修正ポイント */
		text-align: center;
		padding: 9px;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		border-radius: 45px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
		height: 40px;
		letter-spacing: 6px;
	}

	.syousai_button span {
		background-color: #FFF;
		border-radius: 50%;
		color: #39B54A;
		padding: 2px 6px;
		position: absolute;
		right: 10px;
		top: 7px;
		letter-spacing: 0;
	}
}

.banner-img-mail img,
.banner-img-line img {
	width: 100%;
}

.banner-img-mail {
	/* margin-left: 2%; */
}

.banner-img-mail img:hover,
.banner-img-line img:hover {
	opacity: 0.8;
}

.scrolled {
	opacity: 0;
}

.mowing-img img,
.estate-img img,
.felling-img img,
.moving-img img {
	border-radius: 24px;
	padding: 3%;
	padding-top: 0;
}

.scroll-to-top {
    position: fixed;
    bottom: 15%;
    right: 3%;
    background-color: #2232ff;
    color: white !important;
    padding: 0; /* 余白をなくす */
    width: 50px; /* 円形にするために幅と高さを指定 */
    height: 50px;
    border-radius: 50%; /* 円形にする */
    display: flex; /* 中央揃えのためにflexboxを使用 */
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 縦方向の中央揃え */
    text-decoration: none !important;
    font-size: 16px;
    transition: background-color 0.3s ease;
    z-index: 9999;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.5);
}

.scroll-to-top a {
	color: white !important;
	text-decoration: none !important;
}

.scroll-to-top a:hover {
	color: white !important;
	text-decoration: none !important;
}

.scroll-to-top:hover {
    background-color: #30399e;
}

@media screen and (max-width: 1000px) and (min-width: 769px) {
	.font18 {
		font-size: 1.6vw;
	}
}

@media only screen and (max-width: 768px) and (min-width: 521px) {
	.container {
		width: 90%;
	}

	.top-media-query {
		display: flex;
		flex-direction: column;
	}

	.front-box1 .review {
		width: 85%;
	}

	.font18 {
		font-size: 14px;
	}
}

.asai-san img,
.ishibashi-san img {
	transform: translateY(5px);
	width: 95%;
}

.ishibashi-san img {
	margin-left: 7%;
}

.contact-guide {
	position: relative;
	z-index: 2;
}

.prefecture {
	line-height: 0.6;
}

.post-con p {
	margin-bottom: 0;
}

@media only screen and (max-width: 600px) {
	html {
		margin-top: 0 !important;
	}
}

.syousai_button-sml {
    background: linear-gradient(90deg, #006837, #39B54A);
    width: 100%;
	height: auto;
    font-size: 1.9vw;
    font-weight: 600;
    margin: 20px auto;
    display: block; /* 修正ポイント */
    text-align: center;
    color: #FFF;
    transition: all 0.4s ease;
    border: none;
    padding: 2%;
    border-radius: 60px;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
	position: relative;
	letter-spacing: 0.25vw;
}

.here {
	width: 150%;
	margin-left: 6%;
	vertical-align: middle;
}

.arrow img {
	width: 17%;
	vertical-align: middle;
}

.syousai_button-sml:hover {
	opacity: 0.8;
}

.syousai_button-sml span {
	background-color: #FFF;
	border-radius: 50%;
	color: #39B54A;
	padding: 0.2vw 0.6vw;
	margin-left: 5%;
	position: absolute;
	right: 4%;
	top: 7%;
	letter-spacing: 0;
}

.blog-syousai_button-sml {
    background: linear-gradient(90deg, #006837, #39B54A);
    width: 250px;
	height: 45px;
    font-size: 18px;
    font-weight: 600;
    margin: 20px auto;
    display: block; /* 修正ポイント */
    text-align: center;
    color: #FFF;
    transition: all 0.4s ease;
    border: none;
    padding: 10px;
    border-radius: 60px;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
	position: relative;
	letter-spacing: 4px;
}

.blog-syousai_button-sml:hover {
	opacity: 0.8;
}

.blog-syousai_button-sml span {
	background-color: #FFF;
	border-radius: 50%;
	color: #39B54A;
	padding: 2px 7px;
	margin-left: 5%;
	position: absolute;
	right: 13px;
	top: 8px;
	letter-spacing: 0;
}



@media only screen and (max-width: 768px) and (min-width: 521px) {
	.syousai_button-sml {
		background: linear-gradient(90deg, #006837, #39B54A);
		width: 100%;
		height: auto;
		font-size: 2.5vw;
		font-weight: 600;
		min-width: 14.5vw;
		margin: 10px auto;
		display: block; /* 修正ポイント */
		text-align: center;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		padding: 2%;
		border-radius: 45px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
		position: relative;
	}
	
	.syousai_button-sml:hover {
		opacity: 0.8;
	}
	
	.syousai_button-sml span {
		background-color: #FFF;
		border-radius: 50%;
		color: #39B54A;
		padding: 0.01vw 0.6vw;
		margin-left: 5%;
		position: absolute;
		right: 3.5%;
		top: 12%;
	}
}

@media only screen and (max-width: 775px) and (min-width: 521px) {
	.blog-syousai_button-sml {
		background: linear-gradient(90deg, #006837, #39B54A);
		width: 200px;
		height: 40px;
		font-size: 18px;
		font-weight: 600;
		margin: 20px auto;
		display: block; /* 修正ポイント */
		text-align: center;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		padding: 6px;
		border-radius: 60px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
		position: relative;
		letter-spacing: 2px;
	}
	
	.blog-syousai_button-sml:hover {
		opacity: 0.8;
	}
	
	.blog-syousai_button-sml span {
		background-color: #FFF;
		border-radius: 50%;
		color: #39B54A;
		padding: 0.5px 5px;
		margin-left: 5%;
		position: absolute;
		right: 7px;
		top: 7px;
		letter-spacing: 0;
	}
}

@media only screen and (max-width: 520px) {
	.syousai_button-sml {
		background: linear-gradient(90deg, #006837, #39B54A);
		width: 250px;
		height: 57px;
		font-size: 18px;
		font-weight: 600;
		min-width: 14.5vw;
		margin: 30px auto;
		display: block; /* 修正ポイント */
		text-align: center;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		padding: 9px;
		border-radius: 45px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
		position: relative;
		letter-spacing: 4px;
	}
	
	.syousai_button-sml:hover {
		opacity: 0.8;
	}
	
	.syousai_button-sml span {
		background-color: #FFF;
		border-radius: 50%;
		color: #39B54A;
		padding: 2px 7px;
		margin-left: 5%;
		position: absolute;
		right: 12px;
		top: 7px;
	}

	.font18 {
		font-size: 18px;
	}

	.blog-syousai_button-sml {
		background: linear-gradient(90deg, #006837, #39B54A);
		width: 280px;
		height: 60px;
		font-size: 24px;
		font-weight: 600;
		min-width: 14.5vw;
		margin: 20px auto;
		display: block; /* 修正ポイント */
		text-align: center;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		padding: 13px;
		border-radius: 60px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
		position: relative;
		letter-spacing: 2px;
	}
	
	.blog-syousai_button-sml:hover {
		opacity: 0.8;
	}
	
	.blog-syousai_button-sml span {
		background-color: #FFF;
		border-radius: 50%;
		color: #39B54A;
		padding: 5px 10px;
		margin-left: 5%;
		position: absolute;
		right: 9px;
		top: 8px;
		letter-spacing: 0;
	}

	.blog-title {
		font-size: 30px !important;
	}

	.here {
		width: 150%;
		margin-left: 6%;
	}
	
	.arrow img {
		width: 17%;
	}
}

.front_image img {
	width: 100%;
}

.scroll_down_button {
    background: #2232ff;
    width: 350px;
	height: 85px;
    font-size: 28px;
    font-weight: 600;
    margin: 30px auto;
    display: block; /* 修正ポイント */
    text-align: center;
    color: #FFF;
    transition: all 0.4s ease;
    border: none;
    padding: 20px;
    border-radius: 60px;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
	position: relative;
	letter-spacing: 5px;
}

.scroll_down_button a {
	text-decoration: none;
}

.scroll_down_button:hover {
	opacity: 0.8;
}

.scroll_down_button span {
	background-color: #FFF;
	border-radius: 50%;
	color: #2232ff;
	padding: 5px 12px;
	position: absolute;
	top: 17px;
	right: 20px;
	letter-spacing: 0;
}

@media only screen and (max-width: 768px) and (min-width: 521px) {
	.scroll_down_button {
		background: #2232ff;
		width: 300px;
		height: 70px;
		font-size: 24px;
		font-weight: 600;
		margin: 30px auto;
		display: block; /* 修正ポイント */
		text-align: center;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		padding: 18px;
		border-radius: 60px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
	}
	
	.scroll_down_button:hover {
		opacity: 0.8;
	}
	
	.scroll_down_button span {
		background-color: #FFF;
		border-radius: 50%;
		color: #2232ff;
		padding: 3px 9px;
		top: 15px;
	}
}

@media only screen and (max-width: 520px) {
	.scroll_down_button {
		background: #2232ff;
		width: 250px;
		height: 40px;
		font-size: 18px;
		font-weight: 600;
		margin: 30px auto;
		display: block; /* 修正ポイント */
		text-align: center;
		color: #FFF;
		transition: all 0.4s ease;
		border: none;
		padding: 6px;
		border-radius: 45px;
		box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* rgba形式を使用 */
	}
	
	.scroll_down_button:hover {
		opacity: 0.8;
	}
	
	.scroll_down_button span {
		background-color: #FFF;
		border-radius: 50%;
		color: #2232ff;
		padding: 1px 5px;
		top: 6px;
	}
}

.wp-pagenavi {
	margin-bottom: 50px;
	margin-top: 80px;
}

.wp-pagenavi a,
.wp-pagenavi span {
	text-decoration: none;
	border: 1.7px solid #2E3192;
	width: 2%;
	padding: 12px;
	background-color: #FFF;
	color: #2E3192;
}

.wp-pagenavi span.current {
	background-color: #2E3192 !important;
	color: #FFF !important;
}

.wp-pagenavi a.last,
.wp-pagenavi span.pages,
.wp-pagenavi a.first {
	display: none;
}

@media only screen and (max-width: 520px) {
	.wp-pagenavi a,
	.wp-pagenavi span {
		padding: 2.3vw;
	}
}

@media only screen and (max-width: 520px) and (min-width: 351px) {
	.tel_num {
		font-size: 30px;
	}
	
	.time {
		font-size: 28px;
	}
}

@media only screen and (max-width: 350px) {
	.tel_num {
		font-size: 24px;
	}
	
	.time {
		font-size: 20px;
	}
}

.front_image_container .sp {
	background-color: #EDEAD9;
}

.web-banner {
	background-color: #EDEAD9;
	text-align: center;
}

.web-banner p {
	margin-bottom: 0;
}

/* 小川追加分　Q&A */
.theme_titles {
	text-align: center;
    margin: 0 10%;
}

.contact_question_wrapper {
    background-color: #f3f3f3;
    background-size: cover;
    padding: 5% 0;
}
.alignwide {
    padding-left: 5%;
    padding-right: 5%;
}
.text_explanation {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.line {
    width: 20%;
    height: 1px;
    background-color: #000;
    margin-left: 1em;
}
.theme_titles {
    text-align: center;
    margin: 0 10%;
}
.tab {
    margin-bottom: 6%;
}
.tabs {
    display: flex;
    cursor: pointer;
    background: #29ABE2;
    border-radius: 20px;
}

.tab-button {
    position: relative;
    flex: 1;
    padding: 10px;
    text-align: left;
    background: #29ABE2;
    border: none;
    outline: none;
    color: white;
    font-size: 2.4vw;
    border-radius: 20px;
}
.tab-button.active {
    background: #29ABE2;
}
.tab-button img {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
    width: 3%;
}
.tab-button.active img {
    transform: translateY(-50%) rotate(180deg);
}

img {
    max-width: 100%;
    height: auto;
}

.tab-contents.active {
    display: block;
    background-color: #FFFFFF;
    border-radius: 0 0 20px 20px;
}
.tab-contents {
    display: none;
    padding: 20px;
    border-top: none;
    background-color: #FFFFFF;
    border-radius: 0 0 20px 20px;
    animation: slideDown 0.4s forwards;
}
.tab-content {
    margin: 0;
    font-size: 18px;
}
.tab-container {
    display: flex;
    flex-direction: column;
    width: 80%;
    margin: 5% auto 0 auto;
}

element.style {
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

/* スマホサイズ時のレスポンシブ対応 */
@media screen and (max-width: 768px) and (min-width: 561px) {
  .text_explanation .theme_titles h5 {
    white-space: nowrap;   /* 1行で表示 */
    font-size: 20px;        /* フォントサイズを画面幅に応じて調整 */
    text-align: center;    /* テキストを中央に揃える */
    padding-left: 5%;      /* 左右に少し余白を入れる */
    padding-right: 5%;
    overflow: visible;     /* 省略を防ぐ */
  }

  .theme_titles h4 {
	font-size: 24px;
  }

  .tab-container {
	  width: 90%;
  }

  .tab-button {
	  font-size: 20px;
	  padding: 10px 15px 10px 10px;
  }
}

@media only screen and (max-width: 560px) {
	.tab-container {
		width: 100%;
	}

	.tab-button {
		font-size: 18px;
		padding: 10px 15px 10px 10px;
	}
	.theme_titles h5 {
		font-size: 18px;
	}

	.theme_titles h4 {
		font-size: 20px;
	}
}


.front-box6 {
	display: flex;
	flex-flow: column;
	width: 80%;
	margin: 0 auto;
}

.bold {
	font-weight: bold;
}

.imp_center {
	text-align: center !important;
	color: #d77065 !important;
	margin-top: 3%;
}

.flex_column {
	display: flex;
}

.flex_column_re {
	display: flex;
	flex-direction: row-reverse;
}

.w-50 {
	width: 50%;
}

.sub_en {
	font-size: clamp(14px, 0.7vw, 18px);
	line-height: 0.2;
}

.title_num {
	font-size: clamp(40px, 2.6vw, 50px);
	position: relative;
}

.title_num::after {
	content: "";
    position: absolute;
    bottom: 0;
    left: 30%;
    width: 45%;
    height: 2px;
    background-color: #D37D6F;
}

.font20 {
	font-size: clamp(18px, 1.4vw, 20px);
}

.margin18 {
	margin-top: 18px;
}

.padding-side {
	padding: 0 3%;
}

@media only screen and (max-width: 900px) {
	.flex_column {
		flex-direction: column;
	}

	.w-50 {
		width: 75%;
		margin: 0 auto;
	}

	.padding-side {
		padding: 2% 0;
	}

	.flex_column_re {
		flex-direction: column;
	}
}

.blue_rink {
	color: #0071BC !important;
}

.cnt-title {
    text-align: center;
}
.contact_top  {
    background-color: #2FC9A1;
}
.font-white {
    color: #FFFFFF;
    font-size: 24px;
}
.large {
    font-size: 36px;
    margin-bottom: 5%;
}
.margin3 {
    margin: 3% 0;
}

.contact_alignwide {
	padding: 3% 5% 10% 5%;
	background-image: url(./images/bg_house.png);
	background-position: center bottom;
	background-size: 100%;
	background-repeat: no-repeat;
}

.contact_top {
	background-image: url(./images/bg_cloud.png);
	background-position: 50% -5%;
	background-size: 120%;
	background-repeat: no-repeat;
}

.bg-cloud {
	background: url('./images/bg_cloud.png') center top no-repeat;
	background-color: #2FC9A1;
	padding: 3% 0 0;
}

.bg-house {
	background: url('./images/bg_house.png') bottom no-repeat;
	padding: 0 0 3%;
}

.b-b-y {
	border-bottom: 2px solid rgb(253, 236, 0);
	width: fit-content;
	margin: 3% auto;
	font-size: 36px;
	color: white;
}

.c-w {
	color: white;
}

.quot-form {
	width: 80%;
	margin: 2% auto;
	background-color: #FBF8E9;
	border-radius: 24px;
}

.quot-form th {
	width: 25%;
	padding: 3% 2%;
}

.quot-form td {
	padding: 3% 0;
	line-height: 1.0;
}

.vertical-top {
	vertical-align: top;
}

.quot-form input[type=text],
.quot-form input[type=email] {
	width: 60%;
}

.quot-form textarea {
	width: 80%;
}

.hidden-f {
    display: none;
    opacity: 0;
    transform: translateY(-20px); /* 初期位置を少し左に */
    transition: all 0.5s ease-in-out;
}

.step-done {
    display: table-row !important;
    opacity: 1 !important;
    transform: translateY(0) !important; /* 元の位置に戻す */
}

.m-t-0 {
	margin-top: 0;
}

.c-2e {
	color: #2E3192;
}

.font40 {
	font-size: 40px;
	font-weight: bold;
}

.font25 {
	font-size: 25px;
}

.p-b-30 {
	padding-bottom: 30px !important;
}

.wpcf7-spinner {
	display: none;
}

@media only screen and (max-width: 520px) {
	.font40 {
		font-size: 10.5vw !important;
	}

	.font25 {
		font-size: 5.1vw;
	}
}

@media only screen and (max-width: 560px) {
	.hidden-f {
		display: none;
	}

	.top-tr {
		display: flex;
		flex-direction: column;
	}

	.step-done {
		display: flex !important;
		flex-direction: column;
	}

	.quot-form th {
		width: 100%;
		text-align: center;
	}

	.quot-form td {
		width: 95%;
		margin: auto;
	}

	.quot-form input[type=text],
	.quot-form input[type=email],
	.quot-form textarea {
		width: 100%;
	}
}

.sending-button .cform-button {
	margin-bottom: 0;
}

.step2 .step-done {
	flex-direction: column !important;
	display: flex !important;
}