/*----------------------------------
下層ページ共通
----------------------------------*/

.page-mainvisual {
	z-index: 1;
	position: relative;
	height: 307px;
	margin-top: 89px;
	overflow: hidden;
	background-color: #F4FBFF;
}

.page-mainvisual.h-268 {
	height: 349px;
}

.page-mainvisual.h-268 .page-mainvisual__title {
	top: 130px;
}

.page-mainvisual__title {
	position: absolute;
	top: 110px;
	left: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
	color: #0B71DE;
	font-weight: 700;
	font-size: 4.4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
}

.page-mainvisual__img {
	z-index: -1;
	position: absolute;
	bottom: 81px;
	left: 50%;
	width: 920px;
	transform: translateX(-50%);
}

.page-mainvisual__img img {
	width: 100%;
}

.color-blue {
	color: #2979CC;
}

.breadcrumb {
	z-index: 1;
	position: relative;
	margin-top: -81px;
	padding: 30px 0 30px 120px;
	border-radius: 120px 0 0 0;
	background-color: #fff;
}

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

.breadcrumb__items > span {
	position: relative;
	color: #0B71DE;
	font-size: 1.4rem;
}

.breadcrumb__items > span a {
	color: #333;
}

.breadcrumb__items > span:first-child {
	display: flex;
	align-items: center;
}

.breadcrumb__items > span:first-child::before {
	display: inline-block;
	width: 16px;
	height: 14px;
	margin-right: 4px;
	background: url(../img/icon_home.svg) no-repeat center left/contain;
	content: "";
}

.breadcrumb__items > span:not(:first-child) {
	margin-left: 24px;
}

.breadcrumb__items > span:not(:first-child)::before {
	position: absolute;
	top: 8px;
	left: -14px;
	width: 7px;
	height: 10px;
	background: url(../img/arrow_breadcrumb.svg) no-repeat center left/contain;
	content: "";
}

.breadcrumb__items > span:not(:last-child) {
	white-space: nowrap;
}

.case-part {
	position: relative;
	margin-top: -80px;
	overflow: hidden;
	border-radius: 120px;
	background: url(../img/case_bg.jpg) no-repeat top center/cover;
}

.case-part.mt-0 {
	margin-top: 0;
}

.case-part .inner {
	z-index: 1;
	position: relative;
}

.case-part .button {
	position: absolute;
	right: 0;
	bottom: -8px;
}

.case-slider {
	position: relative;
	width: calc(100vw - (100vw - 1200px) / 2);
	margin-top: 40px;
}

.caseSwiper {
	overflow: visible;
}

.caseSwiper .swiper-wrapper {
	align-items: flex-end;
}

.case-slider__item {
	display: flex;
	align-items: flex-end;
	width: 620px !important;
	height: 575px;
}

.case-card {
	width: 620px;
	transform: scale(0.6774);
	transform-origin: left bottom;
	color: #fff;
	transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.caseSwiper .swiper-slide {
	display: flex;
	align-items: flex-end;
	width: 620px !important;
	height: 575px;
	opacity: 0;
	pointer-events: none;
}

.caseSwiper .swiper-slide-active,
.caseSwiper .swiper-slide-next,
.caseSwiper .swiper-slide.is-next2 {
	opacity: 1;
	pointer-events: auto;
}

.caseSwiper .swiper-slide-next .case-card,
.caseSwiper .swiper-slide.is-next2 .case-card {
	transform: translateX(200px) scale(0.6774);
}

.caseSwiper .swiper-slide-active .case-card {
	transform: translateX(0) scale(1);
}

.case-card__img {
	width: 620px;
	height: 400px;
	overflow: hidden;
	border-radius: 15px;
}

.case-card__title,
.case-card__area,
.case-card__text {
	color: #fff;
}

.case-card__img img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.case-card__body {
	margin-top: 20px;
}

.case-card__title {
	font-weight: 700;
	font-size: 2.6rem;
}

.case-card__area {
	display: flex;
	align-items: center;
	font-size: 1.6rem;
}

.case-card__area::before {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 5px;
	background: url(../img/icon_map.svg) no-repeat center left/contain;
	content: "";
}

.case-card__text {
	margin-top: 20px;
	font-size: 1.8rem;
}

.caseSwiper .swiper-slide:not(.swiper-slide-active) .case-card__title {
	font-size: 29.5px;
}

.caseSwiper .swiper-slide:not(.swiper-slide-active) .case-card__area {
	font-size: 20.7px;
}

.caseSwiper .swiper-slide:not(.swiper-slide-active) .case-card__text {
	font-size: 23.6px;
}

.slider-button {
	margin-top: 72px;
}

.case-prev,
.case-next {
	width: 45px;
	height: 45px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}

.case-prev img,
.case-next img {
	display: block;
	width: 100%;
}

.case-next {
	margin-left: 10px;
}

.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 120px;
}

.pagination > span.page-numbers.current {
	margin-right: 32px;
}

.pagination * {
	display: inline-block;
	margin-right: 40px;
}

.pagination *:last-child {
	margin-right: 0 !important;
}

.pagination *:last-child.page-numbers.current {
	margin-left: -8px;
}

.page-numbers {
	color: #333;
	font-weight: 700;
	font-size: 16px;
}

.page-numbers.prev,
.page-numbers.next {
	position: relative;
	font-weight: 500;
}

.page-numbers.prev::after,
.page-numbers.next::after {
	position: absolute;
	top: 50%;
	width: 12px;
	height: 12px;
	background: url(../img/arrow_pagination.svg) no-repeat center left/contain;
	content: "";
}

.page-numbers.next {
	margin-left: -8px;
	padding-right: 25px;
}

.page-numbers.next::after {
	left: 42px;
	transform: translateY(-50%);
}

.page-numbers.prev {
	margin-right: 32px;
	padding-left: 25px;
}

.page-numbers.prev::after {
	left: 0;
	transform: translateY(-50%) rotate(180deg);
}

.page-numbers.current {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: #0B71DE;
	color: #fff;
}

.table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}

.table th,
.table td {
	position: relative;
	vertical-align: middle;
}

.table th {
	width: 120px;
}

.table th::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	content: "";
}

.table td {
	width: calc(100% - 120px);
}

.table td::after {
	position: absolute;
	bottom: 0;
	left: 5px;
	width: calc(100% - 5px);
	height: 1px;
	content: "";
}

.page-404 {
	text-align: center;
}

.page-404 p {
	margin-top: 50px;
}

/*----------------------------------
不用品買取・回収ページ
----------------------------------*/

.page-about .wrapper {
	border-radius: 120px 120px 0 0;
}

.about-intro {
	padding-top: 140px;
}

.about-intro .inner {
	position: relative;
}

.about-intro .inner::before {
	position: absolute;
	top: -5px;
	left: calc(50% - 454px);
	width: 85px;
	height: 75px;
	background: url(../img/about_intro_illust01.svg) no-repeat center left/contain;
	content: "";
}

.about-intro .inner::after {
	position: absolute;
	top: 60px;
	left: calc(50% + 348px);
	width: 110px;
	height: 68px;
	background: url(../img/about_intro_illust02.svg) no-repeat center left/contain;
	content: "";
}

.about-intro .section__text p {
	font-size: 1.8rem;
}

.about-intro .section__text p + p {
	margin-top: 0;
}

.about-loop {
	margin-top: 80px;
}

.about-feature {
	z-index: 1;
	position: relative;
	padding: 280px 0 210px;
	overflow: hidden;
}

.about-feature::before {
	z-index: -1;
	position: absolute;
	top: -50px;
	left: 50%;
	width: 100%;
	height: 102%;
	transform: translateX(-50%);
	background: url("../img/bg.png") center top/100% auto no-repeat;
	content: "";
	pointer-events: none;
}

.about-feature .section__title {
	margin-bottom: 20px;
}

.about-feature .feature__list:first-child::after {
	right: -54px;
	bottom: -41px;
	width: 170px;
	height: 147px;
	background: url(../img/illust_woman2.svg) no-repeat center left/contain;
}

.about-feature .feature__list:nth-child(2)::after {
	bottom: -45px;
	left: -34px;
	width: 111px;
	height: 139px;
	background: url(../img/illust_laundry.svg) no-repeat center left/contain;
}

.about-feature .feature__list:nth-child(3)::after {
	right: -49px;
	bottom: -64px;
	width: 190px;
	height: 140px;
	background: url(../img/illust_track.svg) no-repeat center left/contain;
}

.about-feature__lead {
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
	text-align: center;
}

.about-commitment,
.about-vision {
	z-index: 1;
	position: relative;
}

.about-commitment .flex__img,
.about-vision .flex__img {
	flex: 0 0 44.166%;
}

.about-commitment .flex__img img,
.about-vision .flex__img img {
	border-radius: 20px;
}

.about-commitment::after {
	z-index: -1;
	position: absolute;
	top: 264px;
	left: 0;
	width: 100%;
	height: 47.388889vw;
	background: url(../img/about_sec02_bg.png) no-repeat center left/cover;
	content: "";
}

.about-vision {
	position: relative;
}

.about-vision.sec {
	padding-bottom: 310px;
}

.about-vision::after {
	position: absolute;
	bottom: 80px;
	left: 50%;
	width: 1016px;
	height: 136px;
	transform: translateX(-50%);
	background: url(../img/about_machinami.svg) no-repeat center left/contain;
	content: "";
}

/*----------------------------------
買取可能品目ページ
----------------------------------*/

.item-intro .inner {
	position: relative;
}

.item-intro .inner::after {
	position: absolute;
	right: -70px;
	bottom: -140px;
	width: 200px;
	height: 116px;
	background: url(../img/illust_item.svg) no-repeat center left/contain;
	content: "";
}

.item-intro .flex__img {
	flex: 0 0 43.333%;
}

.item-intro .flex__img img {
	border-radius: 20px;
}

.archive-item-sec .flex {
	align-items: flex-start;
	gap: 80px;
}

.archive-item-sec .flex__content .etc {
	padding: 8px 2px 8px 0;
	font-size: 1.5rem;
	text-align: right;
}

.archive-item-sec .flex__content .text {
	margin-top: 20px;
	font-size: 1.6rem;
}

.archive-item-sec01 .flex {
	padding: 0 68.5px;
}

.archive-item-sec01 .flex__img {
	flex: 0 0 37.911%;
}

.archive-item-sec02 {
	border-radius: 120px 120px 0 0;
}

.archive-item-sec02.sec {
	padding-bottom: 280px;
}

.archive-item-sec02 .flex {
	padding: 0 40px;
}

.archive-item-sec02 .flex__img {
	flex: 0 0 41.071%;
}

.archive-item-sec02 .archive-item__list li {
	background-color: #fff;
}

.archive-item-sec02 .archive-item-acordion .acordion-head {
	background-color: #fff;
}

.archive-item-sec02 .archive-item-box {
	background-color: #fff;
}

.archive-item-sec02 .archive-item-box__text {
	flex: 0 0 39%;
}

.archive-item-sec03 {
	position: relative;
	margin-top: -140px;
	padding: 140px 0 90px;
	border-radius: 120px 120px 0 0;
	background-color: #fff;
}

.archive-item-sec03 .section__title .ja .font-small {
	display: block;
	font-size: 1.8rem;
}

.archive-item-sec03 .flex {
	padding: 0 64.5px;
}

.archive-item-sec03 .flex__img {
	flex: 0 0 38.375%;
}

.archive-item-sec03 .archive-item-box {
	margin-top: 60px;
}

.archive-item-sec04,
.archive-item-sec05,
.archive-item-sec06 {
	padding: 90px 0;
}

.archive-item-sec04 .archive-item-box,
.archive-item-sec05 .archive-item-box,
.archive-item-sec06 .archive-item-box {
	margin-top: 60px;
}

.archive-item-sec04 .flex {
	padding: 0 70.5px;
}

.archive-item-sec04 .flex__img {
	flex: 0 0 37.677%;
}

.archive-item-sec05 .flex {
	padding: 0 110px;
}

.archive-item-sec05 .flex__img {
	flex: 0 0 32.653%;
}

.archive-item-sec05 .archive-item-box__item {
	justify-content: flex-start;
	width: 766px;
	max-width: 100%;
	margin: auto;
	padding: 3.5px 0;
}

.archive-item-sec05 .archive-item-box__text {
	flex: 0 0 375px;
}

.archive-item-sec06 .flex {
	padding: 0 55px;
}

.archive-item-sec06 .flex__img {
	flex: 0 0 39.449%;
}

.archive-item__list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.archive-item__list li {
	display: flex;
	flex: 0 0 180px;
	align-items: center;
	padding: 8px 10px 8px 12px;
	border-radius: 5px;
	background-color: #F4FBFF;
	font-size: 1.6rem;
}

.archive-item-acordion {
	margin-top: 100px;
}

.archive-item-acordion .acordion-head {
	display: flex;
	position: relative;
	align-items: center;
	height: 77px;
	padding-left: 40px;
	background-color: #F4FBFF;
	font-weight: 700;
	font-size: 2.6rem;
}

.archive-item-acordion .acordion-head .acordion-button {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 30px;
	height: 30px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #0B71DE;
}

.archive-item-acordion .acordion-head .acordion-button::before,
.archive-item-acordion .acordion-head .acordion-button::after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	transform: translate(-50%, -50%);
	background: #fff;
	content: "";
	transition: all 0.4s;
}

.archive-item-acordion .acordion-head .acordion-button::before {
	transform: translate(-50%, -50%) rotate(90deg);
}

.archive-item-acordion .acordion-head.minus .acordion-button::before {
	transform: translate(-50%, -50%) rotate(180deg);
}

.archive-item-acordion .acordion-head:hover {
	cursor: pointer;
}

.archive-item-acordion .archive-item__content {
	display: none;
}

.archive-item-acordion .acordion__lists {
	padding: 60px 60px 0;
}

.archive-item-acordion .acordion__list + .acordion__list {
	margin-top: 40px;
}

.archive-item-acordion .acordion__title {
	display: flex;
	align-items: center;
	padding-bottom: 8px;
	border-bottom: 1px solid #E3E3E3;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}

.archive-item-acordion .acordion__title .number {
	margin-right: 10px;
	color: #0B71DE;
	font-size: 2.6rem;
	font-family: "Manrope", sans-serif;
}

.archive-item-acordion .acordion__text {
	margin-top: 20px;
	font-size: 1.6rem;
}

.archive-item-box {
	width: 1080px;
	max-width: 100%;
	margin: 40px auto 0;
	padding: 20px;
	border-radius: 10px;
	background-color: #F4FBFF;
}

.archive-item-box__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 142px;
}

.archive-item-box__item + .archive-item-box__item {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #E3E3E3;
}

.archive-item-box__item .check__list {
	position: relative;
}

.archive-item-box__item .check__list::before {
	position: absolute;
	top: 50%;
	left: -81px;
	width: 23px;
	height: 57px;
	transform: translateY(-50%);
	background: url(../img/arrow_yellow.svg) no-repeat center left/contain;
	content: "";
}

.archive-item-box__text {
	display: flex;
	align-items: center;
	font-weight: 700;
	font-size: 2.6rem;
}

.archive-item-box__text .icon {
	flex: 0 0 50px;
	margin-right: 12px;
}

.check__list li {
	position: relative;
	padding-left: 33px;
}

.check__list li + li {
	margin-top: 5px;
}

.check__list li::before {
	position: absolute;
	top: 5px;
	left: 0;
	width: 25px;
	height: 25px;
	background: url(../img/icon_check_red.svg) no-repeat center left/contain;
	content: "";
}

.item-caution .check__list li {
	padding-left: 38px;
	font-size: 1.6rem;
}

.item-caution .check__list li + li {
	margin-top: 12px;
}

.item-caution .check__list li::before {
	top: 0;
	width: 30px;
	height: 30px;
}

.item-caution__inner {
	padding: 40px;
	border-radius: 20px;
	background: #F8F8F8;
}

.item-caution__title {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
}

.item-caution__title .font-small {
	display: block;
	font-size: 1.6rem;
}

.item-caution__title::before {
	display: inline-block;
	flex: 0 0 45px;
	height: 45px;
	margin-right: 20px;
	background: url(../img/icon_caution.svg) no-repeat center left/contain;
	content: "";
}

.item-caution__wrap {
	width: 811px;
	max-width: 100%;
	margin: 20px auto 0;
	padding: 30px 60px;
	border-radius: 10px;
	background-color: #fff;
}

.item-caution-caption {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #E3E3E3;
}

.item-caution-caption p {
	padding-left: 1em;
	font-size: 1.4rem;
	text-indent: -1em;
}

.item-caution-caption p + p {
	margin-top: 0;
}

.comment {
	margin-top: 60px;
}

.comment .flex {
	padding-right: 47px;
}

.comment .flex__img {
	flex: 0 0 19.566%;
}

.comment .flex__img img {
	width: 100%;
}

.comment .flex__content {
	position: relative;
	margin-left: 31px;
	padding: 20px 29px;
	border: 1px solid #E3E3E3;
	border-radius: 20px;
}

.comment .flex__content::after {
	position: absolute;
	top: 50%;
	left: -29.5px;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
	background: url(../img/triangle.svg) no-repeat center left/contain;
	content: "";
}

.item-links {
	margin-top: 100px;
	padding-bottom: 140px;
}

.item-link {
	display: flex;
	align-items: center;
	padding: 20px 20px 20px 80px;
	border-radius: 10px;
	background-color: #F4FBFF;
}

.item-link + .item-link {
	margin-top: 30px;
}

.item-link__title {
	display: flex;
	flex: 0 0 194px;
	align-items: center;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}

.item-link__title::before {
	display: inline-block;
	width: 25px;
	height: 25px;
	margin-right: 8px;
	background: url(../img/icon_city_blue.svg) no-repeat center left/contain;
	content: "";
}

.item-link-buttons {
	display: flex;
	padding-left: 100px;
	border-left: 1px solid #E3E3E3;
}

.item-link-buttons .button {
	margin-top: 0;
}

.item-link-buttons .button + .button {
	margin-left: 60px;
}

.item-link-buttons .button-link {
	display: flex;
	align-items: center;
	padding: 17px 99px 17px 69px;
}

.item-link-buttons .button-link::before {
	display: inline-block;
	margin-right: 10px;
	content: "";
}

.item-link-buttons .button-link.kagu-link::before {
	width: 27px;
	height: 34px;
	background: url(../img/icon_kagu.svg) no-repeat center left/contain;
}

.item-link-buttons .button-link.kaden-link::before {
	width: 26px;
	height: 30px;
	background: url(../img/icon_kaden.svg) no-repeat center left/contain;
}

.page-mainvisual__title .cat__title {
	display: block;
	margin-top: 12px;
	color: #333;
	font-size: 2rem;
}

.tax-city_genre .label .wrap {
	width: 391px;
}

.single-area .label .wrap {
	width: 362px;
}

.single-scene .label .wrap {
	width: 622px;
}

.tax-area_group .label .wrap {
	width: 362px;
}

.label {
	text-align: center;
}

.label .wrap {
	display: inline-block;
	max-width: 100%;
	padding: 8px 20px;
	border-radius: 10px;
	background-color: #0B71DE;
}

.label .label-flex {
	display: flex;
	align-items: center;
}

.label .icon {
	position: relative;
	flex: 0 0 60px;
	height: 60px;
	margin-right: 12px;
	border-radius: 50%;
	background-color: #fff;
}

.label .icon img {
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 45px;
	max-height: 40px;
	transform: translate(-50%, -50%);
}

.label .txt {
	color: #fff;
	font-weight: 700;
	font-size: 3rem;
}

.page-intro__title {
	margin-top: 5px;
	font-weight: 700;
	font-size: 3rem;
	text-align: center;
}

.page-intro__items {
	display: flex;
	margin-top: 60px;
	gap: 40px;
}

.page-intro__img img {
	border-radius: 20px;
}

.page-intro__text {
	margin-top: 15px;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.5;
	text-align: center;
}

.page-intro-box {
	margin-top: 40px;
	text-align: center;
}

.page-intro-box__inner {
	display: inline-block;
	padding: 30px 80px;
	border-radius: 10px;
	background-color: #F4FBFF;
}

.page-intro-box__wrap {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

.page-intro-box__img {
	flex: 0 0 90px;
}

.page-intro-box__text {
	text-align: center;
}

.point {
	z-index: 1;
	position: relative;
	padding: 90px 0 210px;
	overflow: hidden;
}

.point::before {
	z-index: -1;
	position: absolute;
	top: 308px;
	left: 50%;
	width: 102%;
	height: 100%;
	transform: translateX(-50%);
	background: url("../img/bg2.png") center top/100% auto no-repeat;
	content: "";
	pointer-events: none;
}

.point + .wrapper {
	border-radius: 120px 120px 0 0;
}

.point__list {
	display: flex;
	position: relative;
	align-items: center;
	padding: 50px 60px;
	gap: 60px;
	border: 1px solid #4896E9;
	border-radius: 20px;
	background-color: #fff;
}

.point__list + .point__list {
	margin-top: 160px;
}

.point__list::after {
	position: absolute;
	content: "";
}

.point__list:first-child::after {
	bottom: -92px;
	left: -20px;
	width: 130px;
	height: 154px;
	background: url(../img/illust_man2.svg) no-repeat center left/contain;
}

.point__list:nth-child(2)::after {
	right: -43px;
	bottom: -45px;
	width: 137px;
	height: 122px;
	background: url(../img/illust_kagu.svg) no-repeat center left/contain;
}

.point__list:nth-child(3)::after {
	bottom: -85px;
	left: -52px;
	width: 190px;
	height: 140px;
	background: url(../img/illust_track2.svg) no-repeat center left/contain;
}

.point__content .point-head > span {
	border-bottom: 1px solid;
	color: #0B71DE;
	font-weight: 700;
	font-size: 1.8rem;
	font-family: "Manrope", sans-serif;
}

.point__content .point-head .number {
	font-size: 4rem;
}

.point__title {
	margin-top: 15px;
	font-weight: 700;
	font-size: 3rem;
	line-height: 1.5;
}

.point__text {
	margin-top: 30px;
}

.point__img {
	flex: 0 0 47.31%;
}

.point__img img {
	border-radius: 20px;
}

.target {
	z-index: 1;
	position: relative;
	padding: 140px 0 90px;
}

.target::before {
	z-index: -1;
	position: absolute;
	top: 758px;
	left: 50%;
	width: 100%;
	height: 47.694444vw;
	transform: translateX(-50%);
	background: url(../img/white_road.svg) no-repeat center left/cover;
	content: "";
}

.target__items {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px 30px;
}

.target__item {
	width: calc(33.333% - 20px);
}

.target__item > a,
.target__item > span {
	display: block;
	position: relative;
	height: 100%;
	padding: 15px 15px 20px;
	border-radius: 10px;
	background-color: #fff;
}

.target__item .detail {
	transition: all 0.3s ease 0s;
}

.target__item .detail {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	margin-top: 20px;
	color: #333;
}

.target__item .detail .arrow {
	display: inline-block;
	position: relative;
	flex: 0 0 45px;
	height: 45px;
	margin-left: 20px;
	border-radius: 50%;
	background-color: #E13109;
	transition: background-color 0.3s ease;
}

.target__item .detail .arrow::before {
	z-index: 5;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 14px;
	transform: translate(-50%, -50%);
	background: url("../img/arrow_button_white.svg") no-repeat center/contain;
	content: "";
	opacity: 0;
	pointer-events: none;
}

.target__item .detail .arrow .arrow__inner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 14px;
	overflow: hidden;
	transform: translate(-50%, -50%);
}

.target__item .detail .arrow .arrow__inner::before,
.target__item .detail .arrow .arrow__inner::after {
	position: absolute;
	top: 50%;
	left: 0;
	width: 10px;
	height: 14px;
	transform: translateY(-50%);
	content: "";
	transition: transform 0.3s ease;
}

.target__item .detail .arrow .arrow__inner::before {
	transform: translateX(0) translateY(-50%);
	background: url("../img/arrow_button_white.svg") no-repeat center/contain;
}

.target__item .detail .arrow .arrow__inner::after {
	transform: translateX(-100%) translateY(-50%);
	background: url("../img/arrow_button_red.svg") no-repeat center/contain;
}

.target-label {
	position: absolute;
	top: 15px;
	left: 15px;
	padding: 8px 15px;
	border-radius: 5px 0 5px 0;
	background-color: #fff;
	color: #0B71DE;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}

.target__img img {
	border-radius: 5px;
}

.target__text {
	margin-top: 60px;
	text-align: center;
}

.brand {
	z-index: 1;
	position: relative;
	padding: 90px 0 210px;
}

.brand__list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
}

.brand__list li {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 77px;
	background-color: #fff;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}

.brand__text {
	margin-top: 30px;
	text-align: center;
}

.flow-vertical {
	background-color: #fff;
}

.flow-vertical__list {
	display: flex;
	gap: 60px;
}

.flow-vertical__list + .flow-vertical__list {
	margin-top: 100px;
}

.flow-vertical__list:not(:last-child) {
	position: relative;
}

.flow-vertical__list:not(:last-child)::before {
	position: absolute;
	top: 100px;
	left: 102px;
	width: 1px;
	height: calc(100% + 100px);
	background-color: #333;
	content: "";
}

.flow-vertical-image {
	position: relative;
	flex: 0 0 200px;
	padding: 20px 0 0 5px;
}

.flow-vertical-label {
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background-color: #0B71DE;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	font-family: "Manrope", sans-serif;
}

.flow-vertical-label .label-flow {
	font-size: 1.2rem;
}

.flow-vertical-label .number {
	font-size: 2.8rem;
}

.flow-vertical__content {
	flex: 1;
}

.flow-vertical__content .button__wrap {
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
	gap: 20px;
}

.flow-vertical__content .button__wrap .tel-button,
.flow-vertical__content .button__wrap .contact-part-button {
	flex: 0 0 252px;
}

.flow-vertical__content .button__wrap .tel-button {
	height: 59px;
}

.flow-vertical__content .button__wrap .tel-button .number {
	font-size: 1.6rem;
	letter-spacing: 0.03em;
}

.flow-vertical__content .button__wrap .tel-button .number::before {
	width: 22px;
	height: 23px;
}

.flow-vertical__content .button__wrap .contact-button {
	flex: 0 0 257px;
}

.flow-vertical__content .button__wrap .contact-button a {
	letter-spacing: 0.03em;
}

.flow-vertical__content .button__wrap .contact-button a::before {
	margin-right: 10px;
}

.flow-vertical__content .button__wrap .contact-part-button.line a {
	height: 59px;
	letter-spacing: 0.03em;
}

.flow-vertical__content .button__wrap .contact-part-button.line a .icon {
	flex: 0 0 35px;
	height: 35px;
}

.flow-vertical__title {
	padding-bottom: 5px;
	border-bottom: 1px dashed #4896E9;
	color: #0B71DE;
	font-weight: 700;
	font-size: 2.6rem;
}

.flow-vertical__title .font-small {
	margin-left: 5px;
	color: #333;
	font-size: 1.6rem;
}

.flow-vertical__text {
	margin-top: 20px;
}

.flow-vertical__text p {
	font-size: 1.6rem;
}

.flow-vertical__text p + p {
	margin-top: 12px;
}

.caution {
	margin-top: 100px;
	padding: 40px 20px;
	border-radius: 20px;
	background-color: #F8F8F8;
}

.caution__title {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}

.caution__title::before {
	display: inline-block;
	flex: 0 0 45px;
	height: 45px;
	margin-right: 12px;
	background: url(../img/icon_caution.svg) no-repeat center left/contain;
	content: "";
}

.caution__wrap {
	width: 808px;
	max-width: 100%;
	margin: 20px auto 0;
	padding: 30px 60px;
	border-radius: 10px;
	background-color: #fff;
}

.caution__list {
	display: flex;
	justify-content: center;
	gap: 55px;
}

.caution__list li {
	position: relative;
	padding-top: 35px;
	font-size: 1.6rem;
	text-align: center;
}

.caution__list li::before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 30px;
	height: 30px;
	transform: translateX(-50%);
	background: url(../img/icon_check_red.svg) no-repeat center left/contain;
	content: "";
}

.caution__text {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #E3E3E3;
	font-size: 1.6rem;
	text-align: center;
}

.item-cat-area-sec {
	position: relative;
	padding: 50px 0 190px;
	overflow: hidden;
}

.item-cat-area-sec::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 1080px;
	height: 136px;
	transform: translateX(-50%);
	background: url(../img/machinami_item.svg) no-repeat center left/contain;
	content: "";
}

.area-sec .section__text p {
	font-size: 1.6rem;
}

.area-sec .area__items {
	flex: 0 0 600px;
	margin: 0 0 0 30px;
}

.area-sec .area__item + .area__item {
	margin-top: 30px;
}

.area-sec .area__title {
	background-color: #F4FBFF;
	color: #333;
}

.area-sec .area__title .icon {
	flex: 0 0 20px;
	height: 20px;
}

.area-sec .area__title a {
	color: #333;
}

.area-sec .area__list {
	margin-top: 20px;
}

.area-sec .area__list li {
	flex: 0 0 142px;
}

.area-sec .area__list li a {
	border-color: #333;
	color: #333;
}

.area-sec .area__list li a::after {
	background-image: url(../img/arrow_area_black.svg);
}

.area-sec__wrap {
	display: flex;
	justify-content: space-between;
}

.area-sec__content {
	max-width: 460px;
}

.pricing-policy {
	padding: 140px 0 280px;
	border-radius: 120px 120px 0 0;
}

.pricing-policy__items {
	display: flex;
	gap: 42px;
}

.pricing-policy__item {
	display: flex;
	flex-direction: column;
}

.pricing-policy__title {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1.5;
}

.pricing-policy__title::before {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background: url(../img/icon_check_blue.svg) no-repeat center left/contain;
	content: "";
}

.pricing-policy-image {
	position: relative;
	margin-top: 20px;
}

.pricing-policy-image .caption {
	position: absolute;
	bottom: 10px;
	left: 50%;
	width: calc(100% - 20px);
	transform: translateX(-50%);
	text-align: center;
}

.pricing-policy-image .caption span {
	display: inline-block;
	padding: 5px 20px;
	border-radius: 10px;
	background-color: #fff;
}

.pricing-policy__img img {
	border-radius: 20px;
}

.pricing-policy__text {
	margin-top: 60px;
	padding: 30px;
	border-radius: 10px;
	background-color: #fff;
	text-align: center;
}

.mt--140 {
	margin-top: -140px;
}

.radius {
	border-radius: 120px 120px 0 0;
}

/*----------------------------------
目的で探すページ
----------------------------------*/

.archive-scene__list {
	background-color: #fff;
}

.archive-scene__list:nth-child(odd) .archive-scene__text {
	background-color: #F4FBFF;
}

.archive-scene__list:nth-of-type(even).sec {
	padding-bottom: 280px;
}

.archive-scene__list:nth-of-type(even) .archive-scene__text {
	background-color: #fff;
}

.archive-scene__list:nth-child(-n+3) .archive-scene__title {
	flex: 0 0 270px;
}

.archive-scene__list:nth-child(4) .archive-scene__title {
	flex: 0 0 300px;
}

.archive-scene__list:nth-child(5).sec {
	padding-bottom: 90px;
}

.archive-scene__list:nth-child(5) .archive-scene__title {
	flex: 0 0 330px;
}

.archive-scene__list .flex {
	align-items: flex-start;
	justify-content: space-between;
}

.archive-scene__title {
	padding-bottom: 15px;
	border-bottom: 1px solid #4896E9;
	font-weight: 700;
	font-size: 3rem;
}

.archive-scene__img {
	flex: 0 0 64.166%;
	margin-left: 30px;
}

.archive-scene__text {
	width: 858px;
	max-width: 100%;
	margin: 20px auto 0;
	padding: 20px;
	border-radius: 10px;
	text-align: center;
}

.archive-scene-button {
	margin-top: 40px;
	text-align: center;
}

.archive-scene-button .button-link {
	width: 510px;
	max-width: 100%;
	margin: auto;
	border-color: #0B71DE;
}

.archive-scene-button .button-link .arrow {
	background-color: #0B71DE;
}

.archive-scene-button .button-link .arrow .arrow__inner::after {
	background-image: url("../img/arrow_button_blue.svg");
}

.single-scene .point__title strong {
	color: #0B71DE;
}

.single-scene .shop .google-map {
	margin-top: 30px;
}

.single-scene .shop .google-map iframe {
	max-width: 100%;
}

.single-scene .comment .flex {
	padding: 0 40.5px;
}

.single-scene .comment .flex__img {
	flex: 0 0 22.0221%;
}

.single-scene .comment .flex__content p {
	font-size: 1.6rem;
}

.single-scene .contact-part {
	padding-top: 90px;
}

.excellent {
	width: 1008px;
	max-width: 100%;
	margin: 60px auto 0;
}

.excellent .flex {
	gap: 40px;
}

.excellent .flex__img {
	flex: 0 0 37.003%;
}

.excellent__title {
	color: #0B71DE;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}

.excellent__text {
	margin-top: 20px;
	font-size: 1.6rem;
}

.scene-point {
	padding: 40px 0 210px;
}

.scene-point::before {
	top: 263px;
	width: 100%;
}

.scene-point .point__list:nth-child(2)::after {
	right: -20px;
	bottom: -34px;
	width: 78px;
	height: 99px;
	background-image: url(../img/illust_calculator.svg);
}

.scene-point .point__list:nth-child(3)::after {
	bottom: -50px;
	left: -44px;
	width: 147px;
	height: 83px;
	background-image: url(../img/illust_bag.svg);
}

.scene-target::before {
	top: 975px;
}

.target__title {
	margin-top: 20px;
	color: #0B71DE;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
	text-align: center;
}

.target__txt {
	margin-top: 10px;
	font-size: 1.6rem;
	text-align: center;
}

.story {
	z-index: 1;
	position: relative;
	padding: 90px 0 280px;
}

.story .flex {
	align-items: flex-start;
	justify-content: space-between;
	padding-right: 60px;
}

.story .section__title {
	flex: 0 0 320px;
}

.story .section__title .ja strong {
	color: #0B71DE;
}

.story__content {
	flex: 0 0 59.824%;
}

.story-modal {
	display: none;
	z-index: 1000;
	position: fixed;
	align-items: center;
	justify-content: center;
	inset: 0;
	padding: 60px 40px;
}

.story-modal.is-open {
	display: flex;
}

.story-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.2);
}

.story-modal__content {
	z-index: 1;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	max-width: calc(100vw - 80px);
}

.story-modal__close {
	z-index: 2;
	position: absolute;
	top: 0;
	right: -60px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}

.story-modal__close img {
	display: block;
	width: 100%;
}

.story-modal__img {
	width: -moz-fit-content;
	width: fit-content;
	max-width: calc(100vw - 80px);
}

.story-modal__img img {
	-o-object-fit: contain;
	display: block;
	width: auto;
	max-width: min(1080px, 100vw - 80px);
	max-height: 90vh;
	object-fit: contain;
}

body.is-story-modal-open {
	overflow: hidden;
}

.pricing {
	background-color: #fff;
}

.pricing.sec {
	padding-bottom: 40px;
}

.pricing__items {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 80px;
}

.pricing__item:not(:first-of-type) {
	position: relative;
}

.pricing__item:not(:first-of-type)::before {
	position: absolute;
	top: 0;
	left: -40px;
	width: 1px;
	height: 100%;
	border-left: 2px dashed #E3E3E3;
	content: "";
}

.pricing__title {
	margin-top: 20px;
	font-weight: 700;
	font-size: 2.4rem;
	text-align: center;
}

.pricing__text {
	margin-top: 20px;
	font-size: 1.6rem;
}

.tidying-up {
	padding-bottom: 90px;
}

.tidying-up .flex__img {
	flex: 0 0 45.37%;
	margin-left: 60px;
}

.tidying-up .circle__list {
	margin-top: 20px;
	padding: 10px 20px;
	border-radius: 5px;
	background-color: #fff;
}

.tidying-up .circle__list li {
	padding-left: 14px;
}

.tidying-up__inner {
	padding: 40px 60px;
	border-radius: 20px;
}

.tidying-up__title {
	position: relative;
	padding-bottom: 15px;
	font-weight: 700;
	font-size: 2.6rem;
}

.tidying-up__title::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 1px;
	background-color: #4896E9;
	content: "";
}

.tidying-up__text {
	margin-top: 30px;
	font-size: 1.6rem;
}

.circle__list.blue li {
	font-size: 1.6rem;
}

.circle__list.blue li::before {
	top: 12px;
	background-color: #0B71DE;
}

.scene-area-sec {
	z-index: 1;
	position: relative;
	padding: 90px 0;
}

.scene-area-sec::before {
	z-index: -1;
	position: absolute;
	top: 302px;
	left: 50%;
	width: 100%;
	height: 40.694444vw;
	transform: translateX(-50%);
	background: url(../img/blue_road.svg) no-repeat center left/cover;
	content: "";
}

/*----------------------------------
不用品買取・回収実績ページ
----------------------------------*/

.works-catagory {
	padding: 100px 0 120px;
}

.works-catagory__items {
	width: 776px;
	max-width: 100%;
	margin: auto;
}

.works-catagory__item {
	display: flex;
}

.works-catagory__item.area-category .works-catagory__title::before {
	background: url(../img/works_archive_icon01.svg) no-repeat center left/contain;
}

.works-catagory__item.product-category {
	margin-top: 20px;
	padding-top: 30px;
	border-top: 1px solid #E3E3E3;
}

.works-catagory__item.product-category .works-catagory__title::before {
	background: url(../img/works_archive_icon02.svg) no-repeat center left/contain;
}

.works-catagory__title {
	display: flex;
	flex: 0 0 175px;
	align-items: center;
	font-weight: 700;
	font-size: 2rem;
}

.works-catagory__title::before {
	display: inline-block;
	width: 45px;
	height: 45px;
	margin-right: 10px;
	content: "";
}

.works-catagory__list {
	display: flex;
	flex-wrap: wrap;
	margin-left: 40px;
	gap: 10px 20px;
}

.works-catagory__list li a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px 39px;
	border: 1px solid #0B71DE;
	border-radius: 10px;
	color: #333;
	font-weight: 700;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
}

.works-catagory__list li a.is-active {
	background-color: #0B71DE;
	color: #fff;
	pointer-events: none;
}

.archive-works {
	padding-bottom: 140px;
}

.archive-works .archive-works__img {
	height: 240px;
}

.archive-works .archive-works__img img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.archive-works-head {
	display: flex;
	align-items: center;
	height: 85px;
	padding-left: 40px;
	border-radius: 10px;
	background-color: #F4FBFF;
	font-weight: 700;
	font-size: 3rem;
	line-height: 1.5;
}

.archive-works__items {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	margin-top: 60px;
	gap: 72px 54px;
}

.archive-works-meta {
	display: flex;
	margin-top: 20px;
	gap: 10px;
	white-space: nowrap;
}

.archive-works-meta .date {
	color: #333;
	font-size: 1.4rem;
}

.area-cat {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 26px;
	padding: 2px 9px;
	border: 1px solid #333;
	border-radius: 5px;
	background-color: #fff;
	color: #333;
	font-size: 1.2rem;
}

.product-cat {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	height: 26px;
	border-radius: 5px;
	background-color: #0B71DE;
	color: #fff;
	font-size: 1.2rem;
}

.archive-works__title .ttl {
	margin-top: 10px;
	color: #333;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}

.archive-works__title .customer {
	color: #333;
	font-size: 1.6rem;
	line-height: 1.5;
}

.archive-works__wrap {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #E3E3E3;
}

.product-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
}

.product-table th,
.product-table td {
	vertical-align: middle;
}

.product-table th {
	width: 92px;
	padding: 14.5px 14px;
	border-radius: 5px;
	background-color: #F4FBFF;
	color: #333;
	font-size: 1.6rem;
	text-align: center;
}

.product-table td {
	padding-left: 10px;
	color: #333;
	font-size: 1.6rem;
}

.product-table td p + p {
	margin-top: 0;
}

.single-works {
	overflow-x: hidden;
}

.works .archive-works {
	background-color: #fff;
}

.works .archive-works .button {
	margin-top: 120px;
}

.works-above {
	padding: 140px 0 80px;
}

.works__title {
	padding-bottom: 15px;
	border-bottom: 1px solid #0B71DE;
	font-weight: 700;
	font-size: 2.4rem;
}

.works-above__wrap {
	display: flex;
	margin-top: 60px;
	gap: 60px;
}

.works-above-slider {
	flex: 0 0 45%;
	min-width: 0;
}

.worksSlider {
	width: 100%;
	overflow: hidden;
}

.works-above-slider__img {
	position: relative;
	width: 100%;
	height: 400px;
	overflow: hidden;
	background-color: #F8F8F8;
}

.works-above-slider__img img {
	-o-object-fit: contain;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	max-height: calc(100% - 30px);
	object-fit: contain;
	transform: translate(-50%, -50%);
}

.works-above-slider__controls {
	display: grid;
	grid-template-columns: 45px 1fr 45px;
	align-items: center;
	margin-top: 20px;
	gap: 20px;
}

.works-above-slider__prev,
.works-above-slider__next {
	-webkit-appearance: none;
	-moz-appearance: none;
	display: flex;
	appearance: none;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: transparent;
	cursor: pointer;
	transition: opacity 0.3s;
}

.works-above-slider__prev:hover,
.works-above-slider__next:hover {
	opacity: 0.7;
}

.works-above-slider__prev img,
.works-above-slider__next img {
	display: block;
	width: 100%;
	height: 100%;
}

.works-above-slider__prev.swiper-button-disabled,
.works-above-slider__next.swiper-button-disabled {
	cursor: default;
	opacity: 0.35;
}

.works-above-slider__pagination {
	display: flex;
	position: static;
	align-items: center;
	justify-content: center;
	width: auto;
	gap: 15px;
}

.works-above-slider__pagination .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	margin: 0 !important;
	background-color: #f8f8f8;
	opacity: 1;
}

.works-above-slider__pagination .swiper-pagination-bullet-active {
	background-color: #0B71DE;
}

.works-above__item + .works-above__item {
	margin-top: 20px;
}

.works-above__title {
	margin-bottom: 10px;
	padding-left: 10px;
	background-color: #F4FBFF;
	font-weight: 700;
	font-size: 2rem;
}

.works-above__list {
	padding-left: 20px;
}

.works-above__list li {
	position: relative;
	padding-left: 14px;
	font-size: 1.6rem;
}

.works-above__list li::before {
	position: absolute;
	top: 12px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #333;
	content: "";
}

.works-above__list li + li {
	margin-top: 5px;
}

.rank {
	display: flex;
	align-items: flex-start;
	margin-top: 5px;
	padding-left: 20px;
}

.rank-label {
	display: inline-block;
	padding: 4px 15px;
	border: 1px solid #0B71DE;
	border-radius: 5px;
	color: #0B71DE;
	font-weight: 700;
	font-size: 1.6rem;
	white-space: nowrap;
}

.rank__text {
	margin-left: 16px;
	font-size: 1.6rem;
}

.works-bottom {
	padding: 80px 0;
}

.works-bottom .comment {
	margin-top: 0;
}

.works-bottom .comment .flex {
	padding-right: 0;
}

.works-bottom .comment .flex__content p {
	font-size: 1.6rem;
}

.works-bottom__item {
	z-index: 1;
	position: relative;
	padding: 60px 0;
}

.works-bottom__item + .works-bottom__item {
	margin-top: 80px;
}

.works-bottom__item:first-of-type {
	padding-right: 95px;
}

.works-bottom__item:first-of-type::before {
	right: 35px;
	left: calc(50% - 50vw);
	border-radius: 0 40px 40px 0;
}

.works-bottom__item:first-of-type .flex {
	flex-direction: row-reverse;
}

.works-bottom__item:first-of-type .flex__img {
	flex: 0 0 11.574%;
}

.works-bottom__item:first-of-type .flex__content {
	margin: 0 70px 0 0;
}

.works-bottom__item:first-of-type .flex__content::after {
	right: -29.5px;
	left: initial;
	transform: translateY(-50%) rotate(180deg);
}

.works-bottom__item:nth-of-type(2)::before {
	right: calc(50% - 50vw);
	left: -60px;
	border-radius: 40px 0 0 40px;
}

.works-bottom__item:nth-of-type(2) .flex {
	padding-left: 33px;
}

.works-bottom__item:nth-of-type(2) .flex__content {
	margin-left: 70px;
}

.works-bottom__item:nth-of-type(2) .flex__img {
	flex: 0 0 14.327%;
}

.works-bottom__item::before {
	z-index: -1;
	position: absolute;
	top: 0;
	height: 100%;
	background-color: #fff;
	content: "";
}

.works-bottom__title {
	position: relative;
	margin-bottom: 10px;
	padding-bottom: 15px;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.works-bottom__title::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 1px;
	background-color: #4896E9;
	content: "";
}

.works-bottom__text {
	margin: 20px 0 10px;
	font-size: 1.6rem;
}

.works__content {
	margin: 30px 0 0 calc(100px + 14.327%);
}

.work-detail-table {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.work-detail-table tbody {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
	padding: 1px;
	gap: 1px;
	background-color: #E3E3E3;
}

.work-detail-table tr {
	display: contents;
}

.work-detail-table th,
.work-detail-table td {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	min-width: 0;
	min-height: 40px;
	margin: 0;
	border: none;
	font-size: 1.6rem;
	line-height: 1.5;
}

.work-detail-table th {
	justify-content: center;
	padding: 8px 10px;
	background-color: #F4FBFF;
	text-align: center;
}

.work-detail-table td {
	justify-content: flex-start;
	padding: 8px 20px;
	background-color: #fff;
	text-align: left;
	overflow-wrap: anywhere;
}

.work-detail-table td a {
	color: #333;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.works-bottom-box__wrap {
	padding-bottom: 280px;
}

.works-bottom-box {
	position: relative;
	padding: 40px 60px 40px 171px;
	border-radius: 20px;
	background-color: #fff;
}

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

.works-bottom-box:first-of-type .works-bottom-box__title .icon {
	width: 81px;
	height: 81px;
}

.works-bottom-box__title {
	color: #000;
	font-weight: 700;
	font-size: 2rem;
}

.works-bottom-box__title .icon {
	position: absolute;
	top: 40px;
	left: 60px;
}

.works-bottom-box__text {
	margin-top: 20px;
	color: #000;
	font-size: 1.6rem;
}

.archive-works__empty {
	margin-top: 50px;
	text-align: center;
}

/*----------------------------------
対応エリアページ
----------------------------------*/

.cat__title .ward {
	margin-left: 10px;
}

.cat__title .ttl {
	margin-left: 10px;
}

.archive-area {
	padding: 140px 0 90px;
}

.archive-area .flex {
	padding-right: 5px;
	gap: 100px;
}

.archive-area .flex__img {
	flex: 0 0 43.933%;
}

.archive-area .area {
	margin-top: 60px;
}

.archive-area__title {
	font-weight: 700;
	font-size: 3rem;
	line-height: 1.5;
}

.archive-area__text {
	margin-top: 30px;
}

.archive-area__text p {
	font-size: 1.6rem;
}

.area-intro .area {
	margin-top: 90px;
}

.area-intro .area.black .area__title {
	font-weight: 700;
	font-size: 2rem;
}

.area-intro .area.black .area__title .icon {
	flex: 0 0 25px;
	height: 25px;
}

.area-intro .area__text {
	margin-top: 30px;
	font-size: 1.6rem;
	text-align: center;
}

.area-case-part .caseSwiper .swiper-slide {
	height: 658px;
}

.area-case-part .archive-works-meta {
	flex-wrap: wrap;
}

.area-case-part .archive-works-meta .date {
	color: #fff;
	font-size: 1.6rem;
}

.area-case-part .area-cat {
	height: 29px;
	padding: 2px 10px;
	border: none;
	font-size: 1.4rem;
}

.area-case-part .product-cat {
	height: 29px;
	border: 1px solid #fff;
	font-size: 1.4rem;
}

.area-case-part .archive-works__title .ttl {
	color: #fff;
	font-size: 2.6rem;
}

.area-case-part .archive-works__title .customer {
	display: flex;
	align-items: center;
	color: #fff;
}

.area-case-part .archive-works__title .customer::before {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 5px;
	background: url(../img/icon_map.svg) no-repeat center left/contain;
	content: "";
}

.area-case-part .product-table th {
	padding: 16px 10px;
	background-color: #fff;
	font-size: 1.8rem;
}

.area-case-part .product-table td p {
	color: #fff;
	font-size: 1.8rem;
}

.area-info__item + .area-info__item {
	margin-top: 80px;
}

.area-info__item:first-of-type .area-info__block:last-child ul li {
	padding-left: 14px;
}

.area-info__item:first-of-type .area-info__block:last-child ul li::before {
	top: 14px;
	width: 6px;
	height: 6px;
	background-color: #E13109;
}

.area-info__item .acordion-head {
	display: flex;
	position: relative;
	align-items: center;
	height: 77px;
	padding-left: 40px;
	background-color: #F4FBFF;
	font-weight: 700;
	font-size: 2.6rem;
}

.area-info__item .acordion-head strong {
	color: #0B71DE;
}

.area-info__item .acordion-head .acordion-button {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 30px;
	height: 30px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #0B71DE;
}

.area-info__item .acordion-head .acordion-button::before,
.area-info__item .acordion-head .acordion-button::after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	transform: translate(-50%, -50%);
	background: #fff;
	content: "";
	transition: all 0.4s;
}

.area-info__item .acordion-head .acordion-button::before {
	transform: translate(-50%, -50%) rotate(90deg);
}

.area-info__item .acordion-head.minus .acordion-button::before {
	transform: translate(-50%, -50%) rotate(180deg);
}

.area-info__item .acordion-head:hover {
	cursor: pointer;
}

.area-info__content {
	display: none;
	padding: 0 60px;
}

.area-info__content h3 {
	margin-top: 40px;
	margin-bottom: 20px;
	padding-bottom: 8px;
	border-bottom: 1px solid #E3E3E3;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}

.area-info__content h4 {
	position: relative;
	margin-top: 20px;
	padding-left: 16px;
	font-size: 1.6rem;
}

.area-info__content h4::before {
	position: absolute;
	top: 11px;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #0B71DE;
	content: "";
}

.area-info__content h4 + ul {
	margin-top: 10px;
	padding-left: 14px;
}

.area-info__content p {
	font-size: 1.6rem;
}

.area-info__content ul {
	margin: 20px 0;
}

.area-info__content ul li {
	position: relative;
	padding-left: 12px;
}

.area-info__content ul li + li {
	margin-top: 5px;
}

.area-info__content ul li::before {
	position: absolute;
	top: 15px;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: #333;
	content: "";
}

.area-info__blocks {
	margin-top: 60px;
}

.area-info__block + .area-info__block {
	margin-top: 40px;
}

.area-point::before {
	top: 319px;
	width: 100%;
}

.area-point .point__list:first-child::after {
	bottom: -85px;
	left: -52px;
	width: 190px;
	height: 140px;
	background: url(../img/illust_track2.svg) no-repeat center left/contain;
}

.area-point .point__list:nth-child(2)::after {
	right: -44px;
	bottom: -60px;
	width: 130px;
	height: 154px;
	background: url(../img/illust_man2.svg) no-repeat center left/contain;
}

.area-point .point__list:nth-child(3)::after {
	bottom: -64px;
	left: -41px;
	width: 141px;
	height: 151px;
	background: url(../img/illust_woman3.svg) no-repeat center left/contain;
}

.area-target::before {
	top: 851px;
}

.area-target .target__items {
	gap: 30px;
}

.area-target .target__item {
	width: calc(50% - 15px);
	max-width: 382px;
}

.area-brand {
	padding-bottom: 280px;
}

/*----------------------------------
リサイクルショップページ
----------------------------------*/

.shop-intro .flex {
	gap: 70px;
}

.shop-intro .flex__img {
	flex: 0 0 43.833%;
}

.shop-intro .page-intro__items {
	margin-top: 100px;
}

.shop-intro .page-intro__item .number {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin: -30px auto 0;
	border-radius: 50%;
	background-color: #0B71DE;
	color: #fff;
	font-weight: 700;
	font-size: 3rem;
	line-height: 1;
	font-family: "Manrope", sans-serif;
}

.shop-intro .page-intro__text {
	margin-top: 10px;
}

.recycle-shop {
	padding: 90px 0 140px;
}

.recycle-shop__item + .recycle-shop__item {
	margin-top: 60px;
}

.recycle-shop__title {
	display: flex;
	align-items: center;
	height: 50px;
	padding-left: 10px;
	border-radius: 5px;
	background-color: #F4FBFF;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1.5;
}

.recycle-shop__wrap {
	display: flex;
	margin-top: 30px;
	gap: 60px;
}

.recycle-shop__img {
	flex: 0 0 44.166%;
}

.recycle-shop__img img {
	border-radius: 20px;
}

.recycle-shop__content .table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.recycle-shop__content .table tr {
	display: block;
	padding-left: 10px;
	border-bottom: 1px solid #E3E3E3;
}

.recycle-shop__content .table tr:first-child th,
.recycle-shop__content .table tr:first-child td {
	padding-top: 0;
}

.recycle-shop__content .table th,
.recycle-shop__content .table td {
	padding: 20px 0 16px;
	font-size: 1.6rem;
}

.recycle-shop__content .table th {
	width: 150px;
	font-weight: 700;
	text-align: left;
	vertical-align: baseline;
}

.recycle-shop__content .table td {
	padding-left: 16px;
	vertical-align: middle;
}

.recycle-shop__content .table td p + p {
	margin-top: 10px;
}

.recycle-shop__content .button {
	margin-top: 40px;
	text-align: right;
}

.shop-target.target::before {
	content: none;
}

.shop-target .target__items {
	justify-content: initial;
	margin-top: 40px;
	gap: 30px;
}

.shop-target .target__item {
	position: relative;
	padding: 15px 15px 20px;
	border-radius: 10px;
	background-color: #fff;
}

.shop-target .target-label {
	max-width: 81.582%;
}

.shop-target .target-label .font-small {
	display: block;
	color: #333;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.8;
}

.shop-target .page-intro-box {
	padding: 0 69px;
}

.shop-target .page-intro-box__inner {
	width: 100%;
	background-color: #fff;
}

.shop-target .page-intro-box__wrap {
	justify-content: center;
}

.shop-target__list + .shop-target__list {
	margin-top: 140px;
}

.shop-target__title {
	display: flex;
	align-items: center;
	padding-bottom: 8px;
	border-bottom: 1px solid #E3E3E3;
	font-weight: 700;
	font-size: 2.6rem;
}

.shop-target__title .number {
	margin-right: 10px;
	color: #0B71DE;
	font-size: 3.2rem;
	font-family: "Manrope", sans-serif;
}

.recycleshop-intro {
	padding: 140px 0 100px;
}

.recycleshop-intro__wrap {
	display: flex;
	gap: 58px;
}

.recycleshop-intro__img {
	flex: 0 0 48.703%;
}

.recycleshop .inner {
	z-index: 1;
	position: relative;
	padding: 96.5px 0;
}

.recycleshop .inner::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 79px);
	height: 100%;
	background: url(../img/single_shop_bg.png) no-repeat center left/contain;
	content: "";
}

.recycleshop__items {
	display: flex;
	padding: 0 65px;
	gap: 80px;
}

.recycleshop__img img {
	border-radius: 20px;
}

.recycleshop__title {
	position: relative;
	margin-top: 30px;
	padding-bottom: 10px;
	font-weight: 700;
	font-size: 2.4rem;
	text-align: center;
}

.recycleshop__title::after {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 288px;
	height: 1px;
	transform: translateX(-50%);
	background-color: #4896E9;
	content: "";
}

.recycleshop__text {
	margin-top: 20px;
	font-size: 1.6rem;
}

.recycleshop-access {
	padding: 140px 0 80px;
}

.recycleshop-access .recycle-shop__img {
	flex: 0 0 35%;
}

.recycleshop-access .google-map {
	max-width: 1080px;
	margin: 60px auto 0;
}

.recycleshop-access .google-map iframe {
	width: 100%;
	max-width: 100%;
	border-radius: 10px;
}

.recycleshop-access-box {
	margin-top: 120px;
	padding: 40px 60px;
	border-radius: 20px;
}

.recycleshop-access-box .flex {
	gap: 80px;
}

.recycleshop-access-box .flex__img {
	flex: 0 0 21.018%;
}

.recycleshop-access-box__title {
	padding-bottom: 10px;
	border-bottom: 1px solid #E3E3E3;
	font-weight: 700;
	font-size: 2rem;
}

.recycleshop-access-box__text {
	margin-top: 20px;
	font-size: 1.6rem;
}

.recycleshop-access-box__text p strong {
	color: #0B71DE;
	font-weight: 500;
}

.recycleshop-loop {
	display: flex;
	width: 100%;
	padding-bottom: 140px;
	overflow: hidden;
}

.recycleshop-loop__wrap {
	display: flex;
	flex-shrink: 0;
	padding-right: 30px;
	gap: 30px;
	animation: recycleshopLoop 30s linear infinite;
}

.recycleshop-loop__img {
	flex-shrink: 0;
	aspect-ratio: 230/180;
	width: 230px;
	overflow: hidden;
	border-radius: 15px;
}

.recycleshop-loop__img img {
	-o-object-fit: cover;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*----------------------------------
よくある質問ページ
----------------------------------*/

.faq-box {
	margin-top: 140px;
}

.faq-box .button {
	margin-top: 40px;
}

.faq-box .button-link {
	height: 69px;
	min-height: 69px;
	padding: 17.5px 87.5px 17.5px 57.5px;
}

.faq-box__inner {
	padding: 60px 110px;
	border-radius: 20px;
}

.faq-box__wrap {
	display: flex;
	align-items: center;
	gap: 30px;
}

.faq-box__text p {
	font-size: 1.6rem;
}

.faq-box__img {
	flex: 0 0 20.232%;
}

.faq-box__img img {
	width: 100%;
}

.faq .faq__content {
	flex: 0 0 64%;
	margin-left: 30px;
}

.faq__list {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 60px 0;
}

.faq__list:first-child {
	padding-top: 0;
}

.faq__title {
	position: relative;
	padding-bottom: 15px;
}

.faq__title::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 1px;
	background-color: #4896E9;
	content: "";
}

.faq__title > span {
	display: block;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.faq__title .number {
	font-size: 1.6rem;
	line-height: 1;
	font-family: "Manrope", sans-serif;
}

.faq__title .ttl {
	margin-top: 10px;
	font-size: 2.4rem;
	line-height: 1.5;
}

/*----------------------------------
会社概要ページ
----------------------------------*/

.company-intro {
	position: relative;
	margin-top: 140px;
}

.company-intro__content {
	padding: 80px 120px;
	border-radius: 10px 80px 10px 10px;
	background: #FFFFFF;
	box-shadow: 2px 2px 35px rgba(59, 66, 71, 0.06);
}

.company-intro__content .president {
	width: 114px;
	margin: 20px 0 0 auto;
}

.company-intro__title {
	font-weight: 700;
	font-size: 3rem;
	line-height: 1.5;
}

.company-intro__text {
	margin-top: 40px;
}

.compnay-image {
	margin-top: -215px;
}

.company-profile {
	position: relative;
	padding: 140px 0 90px;
	background-color: #fff;
}

.company-profile__content .table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.company-profile__content .table tr {
	display: block;
	border-bottom: 1px solid #E3E3E3;
}

.company-profile__content .table th,
.company-profile__content .table td {
	padding: 19.5px 0 15.5px;
	font-size: 1.6rem;
}

.company-profile__content .table th {
	width: 250px;
	color: #0B71DE;
	font-weight: 700;
	text-align: left;
}

.company-profile__content .table td {
	padding-left: 16px;
	vertical-align: middle;
}

.company-map {
	margin-top: 60px;
}

.company-map iframe {
	width: 100%;
	max-width: 100%;
	border-radius: 10px;
}

.company-shop {
	padding: 90px 0 140px;
}

.company-shop .flex {
	gap: 60px;
}

.company-shop .flex__img {
	flex: 0 0 41.666%;
}

.company-shop .flex__img img {
	border-radius: 20px;
}

.company-shop .button-link {
	text-align: center;
}

/*----------------------------------
お客様からの口コミ評価ページ
----------------------------------*/

.voice-number {
	font-weight: 700;
	font-size: 3rem;
	line-height: 1.5;
	text-align: center;
}

.voice__items {
	margin-top: 60px;
}

.voice__item {
	display: flex;
	align-items: center;
	padding: 30px 80px 30px 60px;
	border-radius: 20px;
	background-color: #F4FBFF;
}

.voice__item.is-hidden {
	display: none;
}

.voice__item + .voice__item {
	margin-top: 60px;
}

.voice-image {
	flex: 0 0 23.113%;
}

.zoom {
	margin-top: 5px;
	text-align: right;
}

.voice-modal {
	display: flex;
	visibility: hidden;
	z-index: 9999;
	position: fixed;
	align-items: center;
	justify-content: center;
	inset: 0;
	padding: 40px;
	background-color: rgba(0, 0, 0, 0.2);
	opacity: 0;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.voice-modal.is-open {
	visibility: visible;
	opacity: 1;
}

.voice-modal__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-height: 100%;
}

.voice-modal__content {
	position: relative;
	width: 472px;
	max-width: 100%;
	max-height: calc(100vh - 80px);
}

.voice-modal__image {
	-o-object-fit: contain;
	display: block;
	width: 100%;
	height: auto;
	max-height: calc(100vh - 80px);
	object-fit: contain;
}

.voice-modal__close {
	position: absolute;
	top: 0;
	left: calc(100% + 18px);
	width: 40px;
	height: 40px;
	padding: 0;
	border: none;
	background-color: transparent;
	cursor: pointer;
}

.voice-modal__close img {
	display: block;
	width: 100%;
	height: 100%;
}

.zoom {
	cursor: pointer;
}

.voice__wrapper {
	flex: 1;
	margin-left: 50px;
}

.voice__wrap {
	display: flex;
}

.evaluation {
	flex: 0 0 279px;
}

.evaluation__item {
	display: flex;
}

.evaluation__item + .evaluation__item {
	margin-top: 20px;
}

.evaluation__item .item {
	display: flex;
	flex: 0 0 144px;
	align-items: center;
	justify-content: center;
	padding: 4px 0;
	border: 1px solid #0B71DE;
	border-radius: 5px;
	background-color: #fff;
	color: #0B71DE;
	font-weight: 700;
	font-size: 1.6rem;
	text-align: center;
}

.evaluation__item .star {
	display: flex;
	flex: 0 0 125px;
	margin-left: 10px;
}

.voice__content {
	margin-top: 30px;
}

.voice__text {
	flex: 1;
	padding: 15px;
	border: 1px solid #E13109;
	border-radius: 5px;
	background-color: #fff;
}

.voice__text .text-head {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 29px;
	border-radius: 5px;
	background-color: #E13109;
	color: #fff;
	font-weight: 700;
	font-size: 1.6rem;
}

.voice__text .text {
	margin-top: 10px;
	font-size: 1.6rem;
}

.voice-info {
	flex: 1;
	margin-left: 50px;
}

.voice-info__item {
	display: flex;
}

.voice-info__item + .voice-info__item {
	margin-top: 20px;
}

.voice-info__item .item__title {
	display: flex;
	flex: 0 0 144px;
	align-items: center;
	justify-content: center;
	height: 39px;
	border: 1px solid #999;
	border-radius: 5px;
	border-radius: 5px;
	background-color: #fff;
	font-weight: 700;
	font-size: 1.6rem;
}

.voice-info__item .item__text {
	margin: 4px 0 0 10px;
	font-size: 1.6rem;
}

.voice-button {
	margin-top: 140px;
}

.voice-button-link {
	-webkit-appearance: none;
	-moz-appearance: none;
	display: flex;
	appearance: none;
	align-items: center;
	justify-content: center;
	width: 200px;
	margin: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.voice-button-link .btn {
	color: #333;
	letter-spacing: 0.05em;
	text-decoration: underline;
	text-underline-offset: 5px;
	transition: all 0.3s ease 0s;
}

.voice-button-link .arrow {
	position: relative;
	width: 65px;
	height: 65px;
	margin-left: 40px;
	border-radius: 50%;
	background-color: #E13109;
	transition: background-color 0.3s ease;
}

.voice-button-link .arrow::before {
	z-index: 5;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 18px;
	transform: translate(-50%, -50%);
	background: url("../img/arrow_voice.svg") no-repeat center/contain;
	content: "";
	opacity: 0;
	pointer-events: none;
}

.voice-button-link .arrow .arrow__inner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 18px;
	overflow: hidden;
	transform: translate(-50%, -50%);
}

.voice-button-link .arrow .arrow__inner::before,
.voice-button-link .arrow .arrow__inner::after {
	position: absolute;
	top: 50%;
	left: 0;
	width: 12px;
	height: 18px;
	transform: translateX(-50%);
	content: "";
	transition: transform 0.3s ease;
}

.voice-button-link .arrow .arrow__inner::before {
	transform: translateY(-50%) translateX(0);
	background: url("../img/arrow_voice.svg") no-repeat center/contain;
}

.voice-button-link .arrow .arrow__inner::after {
	transform: translateY(-140%) translateX(0);
	background: url("../img/arrow_voice.svg") no-repeat center/contain;
}

.voice__empty {
	margin-top: 50px;
	text-align: center;
}

/*----------------------------------
お問合せフォームページ
----------------------------------*/

.contact-row {
	margin-bottom: 30px;
	font-size: 16px;
}

.contact-row.contact-type .contact-text .flex {
	align-items: initial;
}

.contact-row.contact-type .contact-text .flex label {
	flex: 0 0 143px;
}

.contact-row.contact-type .contact-text .flex ul {
	margin-left: 30px;
}

.contact-row.contact-type .contact-text .flex ul li {
	position: relative;
	padding-left: 11px;
	font-size: 1.5rem;
}

.contact-row.contact-type .contact-text .flex ul li::before {
	position: absolute;
	top: 13px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #CFCFCF;
	content: "";
}

.contact-row.other-row .text {
	font-weight: 700;
}

.contact-title {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

.contact-title.mt0 {
	margin-top: 0;
}

.contact-title + .text {
	letter-spacing: 0.04em;
}

.contact-title .ttl {
	font-weight: 700;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
}

.contact-title .required {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 49px;
	height: 29px;
	margin-left: 10px;
	padding-bottom: 1px;
	border-radius: 5px;
	background-color: #E13109;
	color: #fff;
	font-size: 1.4rem;
}

.contact-text .hope__wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.contact-text .hope__wrap input {
	width: 180px;
	height: 50px;
	border: 1px solid #E3E3E3;
	border-radius: 5px;
	background-color: #fff;
}

.contact-text .hope__date {
	position: relative;
}

.contact-text .hope__date::before {
	z-index: 3;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	content: "日にち選択";
	color: #333;
	font-weight: 500;
	font-size: 16px;
	line-height: 1;
	white-space: nowrap;
	pointer-events: none;
}

.contact-text .hope__date::after {
	z-index: 3;
	position: absolute;
	top: 50%;
	right: 16px;
	width: 14px;
	height: 15px;
	transform: translateY(-50%);
	background-image: url("../img/icon_calendar.svg");
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	content: "";
	pointer-events: none;
}

.contact-text .hope__date input[type=date] {
	position: relative;
	-webkit-text-fill-color: transparent;
	color: transparent;
	cursor: pointer;
}

.contact-text .hope__date input[type=date]::-webkit-datetime-edit {
	visibility: hidden;
}

.contact-text .hope__date input[type=date]::-webkit-calendar-picker-indicator {
	z-index: 4;
	position: absolute;
	width: 100%;
	height: 100%;
	margin: 0;
	inset: 0;
	cursor: pointer;
	opacity: 0;
}

.contact-text .hope__date.has-value::before {
	display: none;
}

.contact-text .hope__date.has-value input[type=date] {
	-webkit-text-fill-color: #333;
	padding-left: 40px;
	color: #333;
	font-weight: 500;
	font-size: 16px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.contact-text .hope__date.has-value input[type=date]::-webkit-datetime-edit {
	visibility: visible;
}

.contact-text .situation select {
	width: 500px;
	max-width: 100%;
}

.contact-text .deadline select {
	width: 135px;
	padding: 0 30px 0 70px;
}

.contact-text .deadline span + span {
	margin-left: 5px;
}

.contact-text .flex {
	display: flex;
	align-items: center;
}

.contact-text .flex + .flex {
	margin-top: 10px;
}

.contact-text .flex .date {
	display: flex;
	align-items: center;
}

.contact-text .flex .date .date__text {
	margin-right: 10px;
}

.contact-text .flex .date .input {
	padding-left: 50px;
}

.contact-text .flex .date select {
	width: 180px;
	height: 50px;
}

.contact-text .flex .time select,
.contact-text .flex .content select {
	width: 180px;
	height: 50px;
	border: 1px solid #E3E3E3;
	border-radius: 5px;
	background-color: #fff;
}

.contact-text .flex .time select {
	padding: 0 40px;
	text-align: center;
}

.contact-text .flex .content select {
	padding: 0 40px 0 20px;
}

.contact-text .post {
	display: flex;
	align-items: center;
}

.contact-text .post input {
	width: 150px;
	margin: 0 10px;
}

.contact-text .address__text {
	display: flex;
	flex: 0 0 132px;
	align-items: center;
	justify-content: center;
	height: 50px;
	border: 1px solid #E3E3E3;
	border-radius: 5px;
	letter-spacing: 0.04em;
}

.contact-text .other select {
	width: 540px;
	max-width: 100%;
	margin-top: 10px;
}

input[type=text],
input[type=email] {
	width: 100%;
	height: 50px;
	padding-left: 16px;
	border: none;
	border: 1px solid #E3E3E3;
	border-radius: 5px;
	background-color: #fff;
	font-weight: 500;
	font-size: 16px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 50px;
	padding-right: 60px;
	padding-left: 16px;
	border: 1px solid #E3E3E3;
	border-radius: 5px;
	background-image: url("../img/arrow_select.svg");
	background-position: right 15px center;
	background-size: 11px auto;
	background-repeat: no-repeat;
	background-color: #fff;
	color: #333;
	font-weight: 500;
	font-size: 16px;
	font-family: "Zen Kaku Gothic New", sans-serif;
	cursor: pointer;
}

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

textarea {
	width: 100%;
	height: 301px;
	margin-top: 10px;
	padding: 20px;
	border: 1px solid #E3E3E3;
	border-radius: 5px;
	background-color: #fff;
	font-weight: 500;
	font-size: 16px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

.textarea {
	position: relative;
}

.textarea::before {
	z-index: 1;
	position: absolute;
	top: 24px;
	left: 24px;
	content: "例）\a・2ドア冷蔵庫　ハイアール5年前くらい　金額不明\a・液晶テレビ　シャープ AQUOS LC-50U45 2016年秋頃 9万くらい\a・8キロ洗濯機　日立 BW-V80B 2017年製 金額不明\a・2段ベッド　10年前くらい 6万こうにゅう ブランド失念\a・食器棚　ニトリ 2017年秋頃 7万くらい\a・L字ソファ　ボーコンセプト 2017年頃 購入金額失念";
	color: #999;
	font-weight: 500;
	font-size: 16px;
	line-height: 2;
	line-height: 1.8;
	letter-spacing: 0.04em;
	white-space: pre-line;
	pointer-events: none;
}

.textarea:focus-within::before {
	display: none;
}

::-moz-placeholder {
	color: #999;
	font-weight: 500;
}

::placeholder {
	color: #999;
	font-weight: 500;
}

.file {
	display: flex;
	align-items: center;
	margin-top: 10px;
	gap: 20px;
}

.custom-file-label {
	display: flex;
	align-items: center;
	gap: 28px;
	cursor: pointer;
}

.custom-file-label .wpcf7-form-control-wrap {
	clip: rect(0, 0, 0, 0);
	-webkit-clip-path: inset(50%);
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	white-space: nowrap;
	clip-path: inset(50%);
}

.custom-file-button {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 50px;
	border: 1px solid #E3E3E3;
	border-radius: 5px;
	background-color: #fff;
	color: #333;
	font-weight: 500;
	font-size: 16px;
	line-height: 1;
	transition: background-color 0.3s, border-color 0.3s;
}

.custom-file-input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.file-name {
	color: #333;
	font-size: 16px;
	line-height: 1.5;
	word-break: break-all;
}

.file-delete {
	visibility: hidden;
	min-width: 72px;
	height: 33px;
	padding: 0 24px;
	border: none;
	border-radius: 5px;
	background-color: #999;
	color: #fff;
	font-weight: 500;
	font-size: 16px;
	cursor: pointer;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s, background-color 0.2s;
}

.file-delete.is-show {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.file__wrap {
	margin-top: 10px;
	font-size: 1.4rem;
}

.file-caption {
	padding-left: 1em;
	letter-spacing: 0.04em;
	text-indent: -1em;
}

.file-caption + .file-caption {
	margin-top: 0;
}

input[type=radio]:checked::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 11px;
	height: 11px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: #fff;
	content: "";
}

input[type=radio]:checked {
	border-color: #0B71DE;
	background-color: #0B71DE;
}

input[type=checkbox] {
	display: none;
}

input[type=checkbox] + span {
	display: inline-block;
	position: relative;
	padding-left: 31px;
	cursor: pointer;
}

input[type=checkbox] + span::before,
input[type=checkbox] + span::after {
	position: absolute;
	top: 11px;
	content: "";
}

input[type=checkbox] + span::before {
	display: block;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #999;
	border-radius: 2px;
	background: #fff;
}

input[type=checkbox] + span::after {
	top: 14px;
	left: 3px;
	width: 10px;
	height: 6px;
	transform: rotate(-45deg);
	border-bottom: 2px solid #0B71DE;
	border-left: 2px solid #0B71DE;
	content: "";
	opacity: 0;
	transition: opacity 0.3s ease 0s;
}

input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.contact__check {
	margin-top: 80px;
	text-align: center;
}

.contact__check .form-checkbox + span {
	padding-left: 29px;
}

.contact__check .form-checkbox + span::before {
	top: 52%;
}

.privacy-policy-link {
	color: #0B71DE;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.submit-button {
	margin-top: 60px;
	text-align: center;
}

.sumit-button__wrap {
	display: inline-block;
	position: relative;
	width: 279px;
	height: 69px;
	border-radius: 40px;
	transition: all 0.3s ease 0s;
}

.sumit-button__wrap .arrow {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #E13109;
	transition: background-color 0.3s ease;
}

.sumit-button__wrap .arrow::before {
	z-index: 5;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 14px;
	transform: translate(-50%, -50%);
	background: url("../img/arrow_button_white.svg") no-repeat center/contain;
	content: "";
	opacity: 0;
	pointer-events: none;
}

.sumit-button__wrap .arrow .arrow__inner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 14px;
	overflow: hidden;
	transform: translate(-50%, -50%);
}

.sumit-button__wrap .arrow .arrow__inner::before,
.sumit-button__wrap .arrow .arrow__inner::after {
	position: absolute;
	top: 50%;
	left: 0;
	width: 10px;
	height: 14px;
	transform: translateY(-50%);
	content: "";
	transition: transform 0.3s ease;
}

.sumit-button__wrap .arrow .arrow__inner::before {
	transform: translateX(0) translateY(-50%);
	background: url("../img/arrow_button_white.svg") no-repeat center/contain;
}

.sumit-button__wrap .arrow .arrow__inner::after {
	transform: translateX(-100%) translateY(-50%);
	background: url("../img/arrow_button_red.svg") no-repeat center/contain;
}

.sumit-button__wrap .button-link {
	width: 279px;
	height: 69px;
	padding: 0 0 0 90px;
	font-weight: 500;
	font-size: 1.6rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
	text-align: left;
	transition: all 0.3s ease 0s;
}

.sumit-button__wrap .button-link:hover {
	cursor: pointer;
}

.contact-thanks {
	padding: 140px 0 90px;
}

.contact-thanks .button {
	margin-top: 60px;
}

.contact-thanks__title {
	color: #0B71DE;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
}

.contact-thanks__text {
	margin-top: 60px;
}

.contact-thanks__text p {
	text-align: center;
}

.contact-thanks__text p + p {
	margin-top: 12px;
}

/*----------------------------------
プライバシーポリシーページ
----------------------------------*/

.policy {
	padding: 90px 0 140px;
}

.policy .inner2 {
	padding: 0 40px;
}

.policy p {
	font-size: 1.6rem;
}

.policy__items {
	margin-top: 60px;
}

.policy__item + .policy__item {
	margin-top: 60px;
}

.policy__title {
	padding-bottom: 10px;
	border-bottom: 1px solid #0B71DE;
	color: #0B71DE;
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1.5;
}

.policy__title .number {
	margin-right: 5px;
}

.policy__text {
	margin-top: 20px;
}

.policy__list {
	margin-top: 10px;
}

.policy__list li {
	padding-left: 1em;
	text-indent: -1em;
}

.policy__list li + li {
	margin-top: 5px;
}

/*----------------------------------
初期化
----------------------------------*/

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

html,
body {
	position: relative;
	margin: 0;
	padding: 0;
	background-color: #fff;
}

html {
	font-size: 62.5%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: #fff;
	color: #333;
	font-weight: 500;
	font-size: 1.8rem;
	line-height: 1.8;
	font-family: "Zen Kaku Gothic New", sans-serif;
	letter-spacing: 0;
	overflow-wrap: break-word;
}

body.open {
	overflow: hidden;
}

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

a {
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

a:hover {
	opacity: 0.7;
}

p + p {
	margin-top: 20px;
}

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

/*----------------------------------
補完クラス
----------------------------------*/

.color-main {
	color: #0B71DE;
}

.color-active {
	color: #E13109;
}

.font-size-small {
	font-size: 0.9em;
}

.font-em {
	font-weight: 700;
}

/*----------------------------------
共通パーツ
----------------------------------*/

.inner {
	width: min(100% - 100px, 1200px);
	height: inherit;
	margin: auto;
}

.inner2 {
	width: min(100% - 100px, 1080px);
	height: inherit;
	margin: auto;
}

.inner3 {
	width: min(100% - 100px, 1340px);
	height: inherit;
	margin: auto;
}

.bg {
	background-color: #F4FBFF;
}

.flex {
	display: flex;
	align-items: center;
}

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

.flex.g-100 {
	gap: 100px;
}

.section__title {
	z-index: 1;
	position: relative;
	margin-bottom: 60px;
	padding-bottom: 15px;
}

.section__title::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 1px;
	background-color: #0B71DE;
	content: "";
}

.section__title.center {
	text-align: center;
}

.section__title.center::after {
	left: 50%;
	transform: translateX(-50%);
}

.section__title.center + .section__text {
	text-align: center;
}

.section__title.white {
	color: #fff;
}

.section__title.white::after {
	background-color: #fff;
}

.section__title.white + .section__text {
	color: #fff;
}

.section__title > span {
	display: block;
}

.section__title .en {
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1;
	font-family: "Manrope", sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.section__title .ja {
	margin-top: 10px;
	font-weight: 700;
	font-size: 3.8rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.home .section__text {
	font-size: 1.6rem;
}

.button {
	margin-top: 60px;
}

.button.center {
	text-align: center;
}

.button-link {
	display: inline-block;
	position: relative;
	min-height: 70px;
	padding: 0 89px 0 59px;
	padding: 17.5px 89px 17.5px 59px;
	border: 1px solid #E13109;
	border-radius: 50px;
	background-color: #fff;
	background-color: #fff;
	color: #333;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.button-link.center {
	margin: auto;
}

.button-link.transparent {
	border-color: #fff;
	background-color: transparent;
	color: #fff;
}

.button-link.transparent .arrow {
	background-color: #fff;
}

.button-link.transparent .arrow .arrow__inner::before {
	background-image: url("../img/arrow_button_red.svg");
}

.button-link .arrow {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #E13109;
	transition: background-color 0.3s ease;
}

.button-link .arrow::before {
	z-index: 5;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 14px;
	transform: translate(-50%, -50%);
	background: url("../img/arrow_button_white.svg") no-repeat center/contain;
	content: "";
	opacity: 0;
	pointer-events: none;
}

.button-link .arrow .arrow__inner {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 14px;
	overflow: hidden;
	transform: translate(-50%, -50%);
}

.button-link .arrow .arrow__inner::before,
.button-link .arrow .arrow__inner::after {
	position: absolute;
	top: 50%;
	left: 0;
	width: 10px;
	height: 14px;
	transform: translateY(-50%);
	content: "";
	transition: transform 0.3s ease;
}

.button-link .arrow .arrow__inner::before {
	transform: translateX(0) translateY(-50%);
	background: url("../img/arrow_button_white.svg") no-repeat center/contain;
}

.button-link .arrow .arrow__inner::after {
	transform: translateX(-100%) translateY(-50%);
	background: url("../img/arrow_button_red.svg") no-repeat center/contain;
}

/*----------------------------------
スクロールでふわっと
----------------------------------*/

.view {
	transform: translate(0, 10px);
	opacity: 0;
	transition: all 2000ms;
}

.view.scrollin {
	transform: translate(0, 0);
	opacity: 1;
}

/*----------------------------------
ヘッダー
----------------------------------*/

.header {
	z-index: 41;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 89px;
	padding: 15px 30px;
	background-color: #fff;
	transition: all 0.4s ease 0s;
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header__logo p {
	margin-bottom: 5px;
	color: #000;
	font-weight: 400;
	font-size: 0.8rem;
	line-height: 1.2;
	letter-spacing: 0;
}

.header__logo a {
	display: block;
	height: 100%;
}

.header__logo img {
	width: 180px;
}

.header__wrap {
	display: flex;
	flex: 0 0 calc(100% - 240px);
	align-items: center;
	justify-content: flex-end;
	height: 100%;
}

.header__nav-items {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
}

.header__nav-items > li {
	margin-right: 20px;
}

.header__nav-items > li > a {
	display: block;
	position: relative;
	color: #333;
	font-size: 1.5rem;
	white-space: nowrap;
}

.header__nav-items > li > a:hover {
	color: #0B71DE;
	opacity: 1;
}

.header__nav-items > li.drop-menu {
	position: relative;
}

.header__nav-items > li.drop-menu:hover {
	cursor: pointer;
}

.header__nav-items > li.drop-menu:hover + li a {
	z-index: -1;
}

.header__nav-items > li.drop-menu:hover a {
	z-index: 1;
	position: relative;
}

.header__nav-items > li.drop-menu:hover ul,
.header__nav-items > li.drop-menu:hover .header-area-menu {
	visibility: visible;
	opacity: 1;
}

.header__nav-items > li.drop-menu > ul {
	visibility: hidden;
	position: absolute;
	top: 28px;
	left: 0;
	width: auto;
	padding: 10px 15px;
	border-radius: 10px;
	background-color: #fff;
	opacity: 0;
	transition: all 0.3s ease 0s;
}

.header__nav-items > li.drop-menu > ul > li {
	position: relative;
	padding-left: 14px;
}

.header__nav-items > li.drop-menu > ul > li::before {
	position: absolute;
	top: 56%;
	left: 0;
	width: 6px;
	height: 6px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #0B71DE;
	content: "";
}

.header__nav-items > li.drop-menu > ul > li a {
	display: inline-block;
	position: relative;
	width: 100%;
	color: #333;
	font-size: 1.4rem;
	white-space: nowrap;
}

.header__nav-items > li.drop-menu > ul > li a:hover {
	color: #0B71DE;
	opacity: 1;
}

.drop-menu--area {
	position: relative;
}

.header-area-menu {
	visibility: hidden;
	z-index: 100;
	position: absolute;
	top: 28px;
	left: 0;
	width: auto;
	padding: 10px 15px;
	border-radius: 10px;
	background-color: #fff;
	opacity: 0;
	transition: all 0.3s ease 0s;
}

.header-area-menu__cities {
	width: 160px;
}

.header-area-menu__city {
	position: relative;
}

.header-area-menu__city + .header-area-menu__city {
	margin-top: 5px;
}

.header-area-menu__city-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header-area-menu__city-link {
	display: block;
	position: relative;
	padding-left: 14px;
	color: #333;
	font-size: 1.4rem;
	text-decoration: none;
}

.header-area-menu__city-link::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 6px;
	height: 6px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #1688f8;
	content: "";
}

.header-area-menu__city-link:hover {
	color: #0B71DE;
	opacity: 1;
}

.header-area-menu__toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: transparent;
	color: #0B71DE;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.header-area-menu__children {
	display: none;
	width: 100%;
}

.header-area-menu__city.is-open .header-area-menu__children {
	display: block;
}

.header-area-menu__children-inner {
	padding-left: 20px;
}

.header-area-menu__children-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}

.header-area-menu__children-title {
	position: relative;
	padding-left: 20px;
	color: #333;
	text-decoration: none;
}

.header-area-menu__children-title::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 6px;
	height: 6px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #0B71DE;
	content: "";
}

.header-area-menu__close {
	padding: 0;
	border: 0;
	background: transparent;
	color: #0B71DE;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.header-area-menu__areas {
	max-height: 400px;
	overflow-y: auto;
	scrollbar-color: #cfcfcf #f5f5f5;
	scrollbar-width: thin;
}

.header-area-menu__areas::-webkit-scrollbar {
	width: 6px;
}

.header-area-menu__areas::-webkit-scrollbar-track {
	border-radius: 10px;
	background: #f5f5f5;
}

.header-area-menu__areas::-webkit-scrollbar-thumb {
	border-radius: 10px;
	background: #cfcfcf;
}

.header-area-menu__areas li {
	line-height: 1.4;
}

.header-area-menu__areas a {
	color: #333;
	font-size: 1.4rem;
	text-decoration: none;
}

.header-area-menu__areas a:hover {
	color: #0B71DE;
	opacity: 1;
}

.tel-button {
	flex: 0 0 184px;
	height: 56px;
	margin-right: 10px;
}

.tel-button a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	border: 1px solid #0B71DE;
	border-radius: 50px;
}

.tel-button .number {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	color: #0B71DE;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.5;
	font-family: "Manrope", sans-serif;
}

.tel-button .number::before {
	display: inline-block;
	width: 14px;
	height: 15px;
	margin-right: 8px;
	background: url(../img/icon_button_tel_blue.svg) no-repeat center left/contain;
	content: "";
}

.tel-button .business-hour {
	margin-top: 2px;
	color: #333;
	font-size: 1rem;
	line-height: 1.5;
	text-align: center;
}

.line-button {
	flex: 0 0 140px;
	margin-right: 10px;
}

.line-button a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 59px;
	padding-bottom: 3px;
	border: 1px solid #4CC764;
	border-radius: 50px;
	background: #fff;
	color: #4CC764;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
}

.line-button a .font-large {
	font-size: 1.7rem;
}

.line-button a::before {
	display: inline-block;
	width: 25px;
	height: 24px;
	margin-right: 6px;
	background: url(../img/icon_line_green.svg) no-repeat center left/contain;
	content: "";
}

.contact-button {
	flex: 0 0 140px;
}

.contact-button a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 59px;
	border: 1px solid #E13109;
	border-radius: 50px;
	background: #E13109;
	color: #fff;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.2;
	text-align: center;
}

.contact-button a::before {
	display: inline-block;
	width: 22px;
	height: 17px;
	margin-right: 8px;
	background: url(../img/icon_mail_white.svg) no-repeat center left/contain;
	content: "";
}

/*----------------------------------
ドロワー
----------------------------------*/

.drawer__toggle {
	display: none;
}

.drawer__line--center.active {
	transform: scaleX(0);
}

.drawer__line--bottom.active {
	right: 0;
	bottom: 12px;
	transform: rotate(135deg);
	background: #0B71DE;
}

/*gnav*/

.drawer__nav {
	display: none;
	z-index: 40;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	min-height: 100dvh;
	padding: 180px 20px 65px;
	overflow: scroll;
	background-color: #fff;
	transition: all 1s;
}

.drawer__nav.active {
	display: block;
	transition: all 0.6s;
}

.drawer__nav .tel-button a,
.drawer__nav .contact-button a {
	width: 350px;
	max-width: 100%;
	margin: auto;
}

.drawer__nav .tel-button {
	margin-top: 20px;
}

.drawer__nav .contact-button {
	margin-top: 40px;
}

.drawer__menu {
	width: 100%;
	padding: 0 20px;
}

.drawer__menu > li {
	display: block;
	position: relative;
	position: relative;
	padding: 20px 0 15px;
	border-top: 1px solid #8E9091;
	line-height: 1.5;
	transition: 0.5s;
}

.drawer__menu > li:first-child {
	border-top: none;
}

.drawer__menu > li:last-child {
	border-bottom: 1px solid #8E9091;
}

.drawer__menu > li > a {
	display: inline-block;
	position: relative;
	width: 100%;
	color: #333;
	line-height: 1.5;
}

.drawer__menu > li > a::after {
	position: absolute;
	top: 50%;
	right: 10px;
	width: 12px;
	height: 10px;
	transform: translateY(-50%);
	background: url(../img/arrow_black.svg) no-repeat center left/contain;
	content: "";
}

.drawer__menu > li.drawer-parent {
	position: relative;
}

.drawer__menu > li.drawer-parent::after {
	position: absolute;
	top: 28px;
	right: 0;
	width: 10px;
	height: 7px;
	background: url(../img/common/arrow_drawer.svg) no-repeat center left/contain;
	content: "";
}

.drawer__menu > li.drawer-parent.open::after {
	transform: rotate(180deg);
}

.drawer__menu > li.drawer-parent > a {
	width: 80%;
}

.drawer__menu > li ul {
	display: none;
	margin: 15px 0 0 35px;
}

.drawer__menu > li ul li {
	position: relative;
}

.drawer__menu > li ul li + li {
	margin-top: 10px;
}

.drawer__menu > li ul li::before {
	position: absolute;
	top: 13px;
	left: -16px;
	width: 10px;
	height: 1px;
	background-color: #8E9091;
	content: "";
}

.drawer__menu > li ul li a {
	color: #333;
	font-size: 1.5rem;
	line-height: 1.5;
}

.drawer-contact-button {
	margin-top: 40px;
}

.drawer-contact-button-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 400px;
	max-width: 100%;
	height: 75px;
	margin: auto;
	padding-bottom: 3px;
	border-radius: 5px;
	background-color: #F79B22;
	box-shadow: 2px 4px 20px rgba(72, 66, 57, 0.1);
	color: #fff;
	font-size: 2rem;
}

.drawer-contact-button-link::before {
	display: inline-block;
	width: 22px;
	height: 17px;
	margin: 3px 12px 0 0;
	background: url(../img/common/icon_mail_white.svg) no-repeat center left/contain;
	content: "";
}

.drawer-overlay {
	box-sizing: border-box;
	display: none;
	z-index: 39;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.drawer-overlay.open {
	display: block;
}

/*----------------------------------
トップページ：MV
----------------------------------*/

.mainvisual {
	box-sizing: border-box;
	z-index: 1;
	position: relative;
	height: calc(100svh - 89px);
	min-height: 620px;
	margin-top: 89px;
	padding: clamp(70px, 10vh, 120px) 0 clamp(60px, 8vh, 106px);
	overflow: hidden;
	background-color: #F4FBFF;
}

.mainvisual::before {
	z-index: -1;
	position: absolute;
	top: -35px;
	top: -2.4305555556vw;
	left: -30px;
	left: -2.0833333333vw;
	width: 1408px;
	width: 97.7777777778vw;
	height: 842px;
	height: 58.4722222222vw;
	background: url(../img/cloud.png) no-repeat center left/contain;
	content: "";
}

.mainvisual__wrap {
	position: relative;
	height: min(100%, 600px);
	overflow: hidden;
}

.top-mv-loop {
	width: 100%;
	height: 100%;
	overflow: visible;
}

.top-mv-loop__track {
	display: flex;
	width: -moz-max-content;
	width: max-content;
	height: 100%;
	animation: top-mv-loop 35s linear infinite;
	will-change: transform;
}

.top-mv-loop__group {
	display: flex;
	flex-shrink: 0;
	height: 100%;
	padding-right: 80px;
	gap: 80px;
}

.top-mv-loop__item {
	flex-shrink: 0;
	width: min(36.944vw, 532px);
	height: 100%;
}

.mainvisual__img {
	height: 100%;
	overflow: hidden;
	border-radius: 20px;
}

.mainvisual__img img {
	-o-object-fit: cover;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mainvisual-copy {
	box-sizing: border-box;
	z-index: 2;
	position: absolute;
	top: 50%;
	left: clamp(85px, 8.61vw, 124px);
	width: clamp(460px, 37.78vw, 549px);
	min-width: 0;
	padding: clamp(22px, 2.08vw, 30px);
	transform: translateY(-50%);
	border-radius: 15px;
	background-color: #fff;
}

.mainvisual-copy .button__wrap {
	display: flex;
	margin-top: clamp(25px, 2.78vw, 30px);
	gap: clamp(5px, 1.39vw, 10px);
}

.mainvisual-copy .button__wrap > * {
	flex: 1 1 0;
	min-width: 0;
}

.mainvisual-copy .button__wrap .tel-button {
	flex: 0 0 38.65%;
	height: 59px;
	margin-right: 0;
}

.mainvisual-copy .button__wrap .tel-button .tel-number .number {
	letter-spacing: 0.03em;
}

.mainvisual-copy .button__wrap .tel-button .tel-number .number::before {
	width: 17px;
	height: 18px;
}

.mainvisual-copy .button__wrap .tel-button .business-hour {
	margin-top: -4px;
	font-size: 1.2rem;
}

.mainvisual-copy .button__wrap .button__wrapper {
	display: flex;
	flex: 1;
	gap: clamp(5px, 1.39vw, 10px);
}

.mainvisual-copy .button__wrap .line-button {
	flex: 0 0 calc(50% - 5px);
	margin-right: 0;
}

.mainvisual-copy .button__wrap .contact-button {
	flex: 0 0 calc(50% - 5px);
}

.mainvisual-copy .button__wrap .contact-button a {
	height: 59px;
}

.mainvisual-copy .button__wrap .contact-button a::before {
	margin-right: 8px;
}

.mainvisual__title {
	font-weight: 700;
	font-size: 3.4rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
}

.mainvisual__text {
	margin-top: 15px;
	font-size: clamp(1.4rem, 1.111vw, 1.6rem);
	letter-spacing: 0.05em;
}

/*----------------------------------
トップページ：イントロ
----------------------------------*/

.top-intro {
	position: relative;
	padding-top: 200px;
}

.top-intro::before {
	position: absolute;
	top: -50px;
	left: 0;
	width: 100%;
	height: 250px;
	background-color: #F4FBFF;
	content: "";
}

.top-intro::after {
	z-index: 1;
	position: absolute;
	top: -50px;
	left: 0;
	width: 100%;
	height: 682px;
	height: 47.3611111111vw;
	background: url(../img/machinami_white.png) no-repeat center left/contain;
	content: "";
}

.top-intro .inner2 {
	z-index: 2;
	position: relative;
	padding-top: 50px;
}

.top-intro .section__title {
	position: relative;
}

.top-intro .section__title::before {
	position: absolute;
	top: -39px;
	left: 22px;
	width: 114px;
	height: 84px;
	background: url(../img/top_intro_illust01.svg) no-repeat center left/contain;
	content: "";
}

.top-intro .section__text {
	font-size: 1.8rem;
}

.top-intro .section__text p + p {
	margin-top: 0;
}

.top-intro__content {
	position: relative;
	padding: 100px 80px;
	border-radius: 10px 80px 10px 10px;
	background-color: #fff;
	box-shadow: 2px 2px 35px rgba(59, 66, 71, 0.08);
}

.top-intro__content::after {
	position: absolute;
	top: 135px;
	right: 121px;
	width: 75px;
	height: 92px;
	background: url(../img/top_intro_illust02.svg) no-repeat center center/contain;
	content: "";
}

.top-image {
	z-index: 1;
	position: relative;
	margin-top: -55px;
}

/*----------------------------------
トップページ：エコゼストの特徴
----------------------------------*/

.sec {
	padding: 140px 0;
}

.top-feature {
	z-index: 1;
	position: relative;
	margin-top: -115px;
	overflow: hidden;
	border-radius: 120px 0 0 0;
	background-color: #fff;
}

.top-feature.sec {
	padding-bottom: 280px;
}

.top-feature::before {
	z-index: -1;
	position: absolute;
	top: 484px;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translateX(-50%);
	background: url("../img/bg.png") center top/100% auto no-repeat;
	content: "";
	pointer-events: none;
}

.top-feature .feature__list:first-child::after {
	bottom: -43px;
	left: -38px;
	width: 126px;
	height: 121px;
	background: url(../img/illust_house.svg) no-repeat center left/contain;
}

.top-feature .feature__list:nth-child(2)::after {
	right: -13px;
	bottom: -80px;
	width: 98px;
	height: 265px;
	background: url(../img/illust_man.svg) no-repeat center left/contain;
}

.top-feature .feature__list:nth-child(3)::after {
	bottom: -47px;
	left: -23px;
	width: 175px;
	height: 147px;
	background: url(../img/illust_woman.svg) no-repeat center left/contain;
}

.top-feature .feature__list:nth-child(4)::after {
	right: -40px;
	bottom: -61px;
	width: 190px;
	height: 140px;
	background: url(../img/illust_track.svg) no-repeat center left/contain;
}

.top-feature .button {
	margin-top: 100px;
}

.top-feature .button-link {
	width: 420px;
	max-width: 100%;
	margin: auto;
}

.top-feature .button-link .d-iblock {
	white-space: nowrap;
}

.feature__lists {
	margin-top: 80px;
}

.feature__list {
	position: relative;
	padding: 31.5px 60px 51.5px;
	border: 1px solid #E3E3E3;
	border-radius: 40px;
	background-color: #fff;
}

.feature__list::after {
	position: absolute;
	content: "";
}

.feature__list + .feature__list {
	margin-top: 160px;
}

.feature__title {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 3rem;
	line-height: 1.5;
}

.feature__title .number {
	display: flex;
	flex: 0 0 75px;
	align-items: center;
	justify-content: center;
	height: 75px;
	margin-right: 15px;
	border-radius: 50%;
	background-color: #0B71DE;
	color: #fff;
	font-size: 4.2rem;
	font-family: "Manrope", sans-serif;
}

.feature__wrap {
	display: flex;
	align-items: center;
	margin-top: 30px;
	gap: 60px;
}

.feature__img {
	flex: 0 0 48.4232%;
}

.feature__img img {
	border-radius: 20px;
}

.feature__content .circle__list {
	margin-bottom: 20px;
}

.circle__list li {
	position: relative;
	padding-left: 11px;
}

.circle__list li::before {
	position: absolute;
	top: 14px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #333;
	content: "";
}

.circle__list li + li {
	margin-top: 5px;
}

/*----------------------------------
トップページ：不用品買取の流れ
----------------------------------*/

.home .flow {
	z-index: 1;
	position: relative;
}

.home .flow.sec {
	padding-top: 0;
}

.flow__lists {
	display: grid;
	position: relative;
	grid-template-columns: 1fr 1fr 1fr;
	margin-top: 60px;
	gap: 40px;
}

.flow__lists::before {
	position: absolute;
	top: 125px;
	left: 100px;
	width: calc(100% - 200px);
	height: 1px;
	background-color: #333;
	content: "";
}

.flow__list {
	position: relative;
}

.flow__list .number {
	position: absolute;
	top: 0;
	left: 64px;
	color: #0B71DE;
	font-weight: 700;
	font-size: 4.6rem;
	line-height: 1;
	font-family: "Manrope", sans-serif;
	letter-spacing: 0.08em;
}

.flow__img {
	text-align: center;
}

.flow__title {
	margin-top: 20px;
	font-weight: 700;
	font-size: 2rem;
	text-align: center;
}

.flow__text {
	margin-top: 10px;
	font-size: 1.6rem;
	text-align: center;
}

/*----------------------------------
トップページ：エコゼストの強み
----------------------------------*/

.top-strength .inner2 {
	width: min(100% - 30px, 1080px);
}

.top-strength__inner {
	z-index: 1;
	position: relative;
	overflow: hidden;
	border-radius: 120px;
	background-color: #0B71DE;
}

.top-strength__inner::before {
	z-index: -1;
	position: absolute;
	top: 112px;
	left: 0;
	width: 100%;
	height: 1264px;
	background: url(../img/cloud02.png) no-repeat center left/contain;
	content: "";
}

.top-strength__inner::after {
	z-index: -1;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 1016px;
	width: 70.5555555556vw;
	max-width: 1016px;
	height: 136px;
	height: 9.4444444444vw;
	transform: translateX(-50%);
	background: url(../img/machinami.svg) no-repeat bottom center/contain;
	content: "";
}

.top-strength__items {
	display: flex;
	flex-wrap: wrap;
}

.top-strength__item {
	width: calc(50% - 30px);
}

.top-strength__item:nth-of-type(even) {
	margin: 110px 0 0 60px;
}

.top-strength__img img {
	border-radius: 20px;
}

.top-strength__wrap {
	position: relative;
	margin-top: 20px;
	padding-left: 130px;
}

.top-strength-icon {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.top-strength__title {
	color: #fff;
	font-weight: 700;
	font-size: 3rem;
	line-height: 1.5;
}

.top-strength__text {
	margin-top: 10px;
	color: #fff;
	font-size: 1.6rem;
}

/*----------------------------------
トップページ：あなたの状況に合ったサービスを選んでください
----------------------------------*/

.top-service .section__title .ja {
	font-size: 3.6rem;
}

.top-service__wrapper {
	overflow: hidden;
}

.top-service {
	position: relative;
	margin-top: 90px;
}

.top-service::after {
	z-index: -1;
	position: absolute;
	bottom: -100px;
	bottom: -6.9444444444vw;
	left: 0;
	width: 100%;
	height: 43.722222vw;
	background: url(../img/top_sec04_bg.png) no-repeat center left/contain;
	content: "";
}

.top-service__wrap {
	display: flex;
}

.top-service__list {
	flex: 0 0 54.333%;
	margin-left: 140px;
}

.top-service__list li + li {
	margin-top: 16px;
}

.top-service__list li a {
	display: flex;
	position: relative;
	align-items: center;
	padding: 20px 65px 20px 40px;
	border-radius: 10px;
	background-color: #F4FBFF;
}

.top-service__list li a::after {
	position: absolute;
	top: 50%;
	right: 40px;
	width: 12px;
	height: 10px;
	transform: translateY(-50%);
	background: url(../img/arrow_blue.svg) no-repeat center left/contain;
	content: "";
}

.top-service__list li a .icon {
	margin-right: 40px;
}

.top-service__list li a .ttl {
	color: #333;
	font-size: 2rem;
	line-height: 1.5;
}

.loop {
	width: 100%;
	overflow: hidden;
}

.loop__track {
	display: flex;
	width: -moz-max-content;
	width: max-content;
	animation: loopSlide 60s linear infinite;
	will-change: transform;
}

.loop__wrap {
	display: flex;
	flex-shrink: 0;
	padding-right: 80px;
	gap: 80px;
}

.loop__img {
	flex-shrink: 0;
	width: 460px;
	overflow: hidden;
	border-radius: 20px;
}

.loop__img img {
	display: block;
	width: 100%;
}

/*----------------------------------
トップページ：よくある質問
----------------------------------*/

.faq-sec {
	background-color: #fff;
}

.faq-sec .section__title {
	position: relative;
}

.faq-sec .section__title::before {
	position: absolute;
	top: 50%;
	right: 0;
	width: 71px;
	height: 88px;
	transform: translateY(-50%);
	background: url(../img/top_faq_illust.svg) no-repeat center right/contain;
	content: "";
}

.faq-sec__wrap {
	display: flex;
	padding: 0 51px 0 70px;
}

.faq-sec__content {
	flex: 0 0 343px;
}

.faq__content {
	flex: 1;
	margin-left: 110px;
}

.faq__item {
	border-bottom: 1px solid #E3E3E3;
}

.question {
	position: relative;
	padding: 25px 60px 25px 25px;
	font-weight: 700;
}

.question:hover {
	cursor: pointer;
}

.question::before,
.question::after {
	display: block;
	position: absolute;
	top: 50%;
	right: 25px;
	width: 16px;
	height: 2px;
	transform: translate(-50%, -50%);
	background: #0B71DE;
	content: "";
	transition: all 0.4s;
}

.question::before {
	transform: translate(-50%, -50%) rotate(90deg);
}

.question.minus::before {
	transform: translate(-50%, -50%) rotate(180deg);
}

.answer {
	display: none;
	padding: 11px 25px 23px 25px;
}

.q-list,
.a-list {
	display: flex;
}

.q-list-left,
.a-list-left {
	flex: 0 0 25px;
	margin: 2px 10px 0 0;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1;
	font-family: "Manrope", sans-serif;
}

.q-list-left {
	color: #0B71DE;
}

.a-list-left {
	color: #E13109;
}

.q-list-right,
.a-list-right {
	font-size: 1.6rem;
}

.a-list-right {
	margin-top: 1px;
}

/*----------------------------------
トップページ：お知らせ
----------------------------------*/

.top-news .button {
	margin-top: 0;
}

.top-news .button-link {
	width: 100%;
}

.top-news__inner {
	border-radius: 60px;
	background: url(../img/top_news.jpg) no-repeat top center/cover;
}

.top-news__wrap {
	display: flex;
	justify-content: space-between;
}

.news__item + .news__item {
	margin-top: 16px;
}

.news__item .info {
	display: flex;
	align-items: flex-start;
	padding: 24px 56px;
	border-radius: 8px;
	background-color: rgba(255, 255, 255, 0.94);
}

.news__item .info__meta {
	display: flex;
	align-items: center;
	line-height: 1.5;
}

.news__item .info__category {
	padding: 3px 9px;
	border: 1px solid #0B71DE;
	border-radius: 50px;
	color: #0B71DE;
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.news__item .info__published {
	margin: 0 40px 0 20px;
	color: #333;
	font-size: 1.6rem;
	font-family: "Manrope", sans-serif;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.news__item .info__title {
	margin-top: 2px;
	color: #333;
	font-size: 1.6rem;
}

/*----------------------------------
トップページ：リサイクルショップのご案内
----------------------------------*/

.wrapper {
	overflow: hidden;
}

.top-shop {
	margin-top: 140px;
	padding: 140px 0 280px;
	border-radius: 120px 120px 0 0;
	background-color: #F4FBFF;
}

.top-shop .google-map {
	margin-top: 30px;
}

.top-shop .google-map iframe {
	max-width: 100%;
}

.shop {
	z-index: 1;
	position: relative;
	padding-top: 140px;
}

.shop .button {
	flex: 0 0 240px;
	margin: 14px 0 0 20px;
}

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

.shop__wrap {
	display: flex;
}

.shop__img {
	flex: 0 0 44.166%;
}

.shop__img img {
	border-radius: 20px;
}

.shop__content {
	margin-left: 100px;
}

.shop__text {
	font-size: 1.6rem;
}

/*----------------------------------
トップページ：エコゼスト
----------------------------------*/

.top-ecozest {
	z-index: 1;
	position: relative;
	padding: 80px 0 140px;
}

.top-ecozest::before {
	z-index: -1;
	position: absolute;
	top: -190px;
	top: -13.1944444444vw;
	left: 0;
	width: 100%;
	height: 682px;
	height: 47.3611111111vw;
	background: url(../img/machinami_white.png) no-repeat center left/contain;
	content: "";
}

.top-ecozest .section__title {
	margin-bottom: 20px;
}

.top-ecozest .section__text {
	margin-top: 60px;
}

.top-ecozest__wrap {
	display: flex;
}

.top-ecozest__img {
	flex: 0 0 44.166%;
	margin-left: 100px;
}

.top-ecozest__img img {
	border-radius: 20px;
}

/*----------------------------------
各ページ：お問い合わせ
----------------------------------*/

.contact-part {
	padding: 140px 0 100px;
}

.contact-part .section__title {
	margin-bottom: 40px;
	padding-bottom: 0;
}

.contact-part .section__title::after {
	content: none;
}

.contact-part .section__title .ja {
	margin-top: 0;
}

.contact-part .section__title .en {
	position: absolute;
	top: -114px;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, 0.06);
	font-size: 16rem;
	letter-spacing: 0em;
	white-space: nowrap;
}

.contact-part .section__text {
	color: rgba(255, 255, 255, 0.8);
}

.contact-part__inner {
	position: relative;
	padding: 80px 20px;
	overflow: hidden;
	border-radius: 40px;
	background: url(../img/contact_part.jpg) no-repeat top center/cover;
}

.contact-part__wrapper {
	width: 794px;
	max-width: 100%;
	margin: 40px auto 0;
}

.contact-part__wrap {
	display: flex;
	justify-content: center;
	padding-bottom: 30px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.7);
}

.contact-part-tel .tel-number {
	display: flex;
	align-items: center;
}

.contact-part-tel .tel-number .free {
	padding: 4.5px 12px;
	border: 1px solid #EC6B4D;
	border-radius: 50px;
	color: #EC6B4D;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.5;
	white-space: nowrap;
}

.contact-part-tel .tel-number a {
	display: flex;
	align-items: center;
	margin-left: 15px;
}

.contact-part-tel .tel-number a .number {
	color: #fff;
	font-weight: 700;
	font-size: 3.4rem;
	line-height: 1.5;
	font-family: "Manrope", sans-serif;
}

.contact-part-tel .tel-number a .number::before {
	display: inline-block;
	width: 24px;
	height: 25px;
	margin-right: 6px;
	background: url(../img/icon_tel_white.svg) no-repeat center left/contain;
	content: "";
}

.contact-part-tel__text {
	margin-top: -3px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.4rem;
	text-align: center;
}

.estimate-button {
	margin-left: 60px;
}

.estimate-button .button-link {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: initial;
	justify-content: center;
	width: 384px;
	height: 98px;
	max-height: initial;
	margin: initial;
	padding: 0 0 0 80px;
	background-color: #E13109;
	color: #fff;
	font-weight: 700;
	font-size: 2.2rem;
	line-height: 1.5;
	transition: all 0.3s ease 0s;
}

.estimate-button .button-link::after {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 12px;
	height: 10px;
	transform: translateY(-50%);
	background: url(../img/arrow_white.svg) no-repeat center left/contain;
	content: "";
}

.estimate-button .button-link:hover {
	opacity: 0.7;
}

.estimate-button .button-link .font-small {
	display: block;
	margin-left: 51px;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1.8;
}

.contact-part-buttons {
	display: flex;
	justify-content: center;
	margin-top: 30px;
	gap: 60px;
}

.contact-part-button {
	width: calc(50% - 30px);
	max-width: 320px;
}

.contact-part-button.mail a {
	color: #fff;
}

.contact-part-button.line a {
	border-color: #4CC764;
	color: #4CC764;
}

.contact-part-button.line a .icon {
	flex: 0 0 45px;
	margin-right: 10px;
}

.contact-part-button a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 78px;
	border: 1px solid #fff;
	border-radius: 50px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
}

/*----------------------------------
フッター
----------------------------------*/

.footer {
	padding: 100px 0 30px;
	border-radius: 60px 60px 0 0;
	background-color: #3C434C;
}

.footer .area {
	margin-top: 60px;
}

.footer .area__items {
	display: none;
}

.footer__wrap {
	display: flex;
	flex-direction: column-reverse;
	padding-right: 60px;
}

.footer-info {
	margin-top: 60px;
}

.footer-address,
.footer-tel {
	color: #fff;
	font-size: 1.4rem;
}

.footer-address {
	margin-top: 20px;
}

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

.footer__nav {
	flex: 0 0 calc(100% - 320px);
}

.footer__nav > ul {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	height: 320px;
}

.footer__nav > ul > li {
	position: relative;
	padding: 0 30px 0 44px;
	border-left: 1px solid #fff;
	line-height: 1.5;
}

.footer__nav > ul > li::after {
	position: absolute;
	top: 13px;
	left: 30px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #fff;
	content: "";
}

.footer__nav > ul > li + li {
	margin-top: 14px;
}

.footer__nav > ul > li:nth-child(4),
.footer__nav > ul > li:nth-child(7) {
	margin-top: 0;
}

.footer__nav > ul > li:nth-child(6) {
	margin-bottom: 25px;
}

.footer__nav > ul > li:nth-child(1),
.footer__nav > ul > li:nth-child(2),
.footer__nav > ul > li:nth-child(4),
.footer__nav > ul > li:nth-child(5),
.footer__nav > ul > li:nth-child(7),
.footer__nav > ul > li:nth-child(8),
.footer__nav > ul > li:nth-child(9),
.footer__nav > ul > li:nth-child(10),
.footer__nav > ul > li:nth-child(12) {
	position: relative;
}

.footer__nav > ul > li:nth-child(1)::before,
.footer__nav > ul > li:nth-child(2)::before,
.footer__nav > ul > li:nth-child(4)::before,
.footer__nav > ul > li:nth-child(5)::before,
.footer__nav > ul > li:nth-child(7)::before,
.footer__nav > ul > li:nth-child(8)::before,
.footer__nav > ul > li:nth-child(9)::before,
.footer__nav > ul > li:nth-child(10)::before,
.footer__nav > ul > li:nth-child(12)::before  {
	position: absolute;
	top: 0;
	left: -1px;
	width: 1px;
	height: calc(100% + 20px);
	background-color: #fff;
	content: "";
}

.footer__nav > ul > li:nth-child(12)::after,
.footer__nav > ul > li:nth-child(13)::after {
	position: absolute;
	top: 15px;
	left: 29px;
	width: 8px;
	height: 1px;
	background-color: #fff;
	content: "";
}

.footer__nav > ul > li:nth-child(12) a,
.footer__nav > ul > li:nth-child(13) a {
	font-size: 1.4rem;
}

.footer__nav > ul > li:nth-child(12) {
	margin-top: 50px;
}

.footer__nav > ul > li > a {
	font-size: 1.6rem;
}

.footer__nav > ul > li ul {
	margin-top: 12px;
}

.footer__nav > ul > li ul li {
	position: relative;
	padding-left: 26px;
	line-height: 1.5;
}

.footer__nav > ul > li ul li::before {
	position: absolute;
	top: 15px;
	left: 6px;
	width: 8px;
	height: 1px;
	background-color: #fff;
	content: "";
}

.footer__nav > ul > li ul li + li {
	margin-top: 6px;
}

.footer__nav > ul > li ul li a {
	font-size: 1.4rem;
}

.footer__nav ul li a {
	color: #fff;
}

.calendar {
	flex: 0 0 280px;
}

.footer-calendar-wrap {
	width: 100%;
	color: #fff;
}

.footer-calendar-wrap.is-loading {
	opacity: 0.6;
	pointer-events: none;
}

.footer-calendar {
	width: 100%;
	overflow: hidden;
	border: 1px solid #BBB;
	border-radius: 10px;
}

.footer-calendar__header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: 48px;
	padding-inline: 12px;
	border-bottom: 1px solid #ccc;
}

.footer-calendar__month {
	margin: 0;
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	white-space: nowrap;
}

.footer-calendar__nav {
	display: flex;
	align-items: center;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0;
	gap: 4px;
	border: 0;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 12px;
	line-height: 1;
	cursor: pointer;
}

.footer-calendar__nav--prev {
	justify-self: start;
}

.footer-calendar__nav--next {
	justify-self: end;
}

.footer-calendar__arrow {
	display: block;
	width: 7px;
	height: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}

.footer-calendar__arrow--prev {
	transform: rotate(-135deg);
}

.footer-calendar__arrow--next {
	transform: rotate(45deg);
}

.footer-calendar__table {
	width: 100%;
	border-collapse: collapse;
	color: #fff;
	table-layout: fixed;
}

.footer-calendar__table th,
.footer-calendar__table td {
	width: 14.2857142857%;
	padding: 0;
	text-align: center;
	vertical-align: middle;
}

.footer-calendar__table thead th {
	height: 32px;
	border-bottom: 1px solid #ccc;
	font-weight: 400;
	font-size: 11px;
	line-height: 1;
}

.footer-calendar__table thead th.is-sunday {
	color: #F53F16;
}

.footer-calendar__table thead th.is-saturday {
	color: #63ADFC;
}

.footer-calendar__table tbody td {
	height: 32.5px;
	border-right: 1px solid #E0E0E0;
	border-bottom: 1px solid #E0E0E0;
	font-weight: 500;
	font-size: 14px;
	line-height: 1;
}

.footer-calendar__table tbody td:last-child {
	border-right: 0;
}

.footer-calendar__table tbody td.is-holiday {
	background-color: #E13109;
	color: #fff;
}

.footer-calendar__table tbody tr:last-child td {
	border-bottom: 0;
}

.footer-calendar__day {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.footer-calendar__legend {
	display: flex;
	align-items: center;
	min-height: 41px;
	padding-inline: 12px;
	gap: 8px;
	border-top: 1px solid #ddd;
}

.footer-calendar__legend-color {
	display: block;
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	background-color: #E13109;
}

.footer-calendar__legend-text {
	color: #fff;
	font-size: 12px;
	line-height: 1;
}

.area.black .area-head {
	padding-bottom: 10px;
	border-bottom: 1px solid #0B71DE;
	color: #333;
	font-size: 2rem;
}

.area.black .area__items {
	margin-top: 30px;
}

.area.black .area__item + .area__item {
	margin-top: 30px;
}

.area.black .area__title {
	background-color: #F4FBFF;
	color: #333;
	font-size: 1.6rem;
}

.area.black .area__title .icon {
	flex: 0 0 15px;
	height: 15px;
}

.area.black .area__title a {
	color: #333;
}

.area.black .area__list {
	margin-top: 20px;
}

.area.black .area__list a {
	border-color: #333;
	color: #333;
}

.area.black .area__list a::after {
	background-image: url(../img/arrow_area_black.svg);
}

.area .inner2 {
	width: 1080px;
	max-width: 100%;
}

.area-head {
	display: flex;
	position: relative;
	align-items: center;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	color: #fff;
	font-weight: 700;
	line-height: 1.5;
}

.area-head:hover {
	cursor: pointer;
}

.area-head.minus::after {
	transform: rotate(0deg);
}

.area-head::after {
	position: absolute;
	top: 5px;
	right: 20px;
	width: 25px;
	height: 17px;
	transform: rotate(180deg);
	background: url(../img/arrow_area_acordion.svg) no-repeat center left/contain;
	content: "";
}

.area-head .icon {
	margin-right: 8px;
}

.area__items {
	margin-top: 24px;
}

.area__item + .area__item {
	margin-top: 16px;
}

.area__title {
	display: flex;
	align-items: center;
	height: 44px;
	padding-left: 16px;
	border-radius: 4px;
	background-color: rgba(255, 255, 255, 0.07);
	color: #fff;
	line-height: 1.5;
}

.area__title .icon {
	display: inline-block;
	flex: 0 0 15px;
	height: 15px;
	margin-right: 8px;
}

.area__title .icon img {
	display: block;
}

.area__title a {
	color: #fff;
}

.area__list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 8px;
	padding: 0 4px;
	gap: 10px 8px;
}

.area__list li {
	flex: 0 0 112px;
}

.area__list li a {
	display: flex;
	position: relative;
	align-items: center;
	height: 33px;
	padding-left: 12px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 3px;
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.4rem;
	line-height: 1.5;
}

.area__list li a::after {
	position: absolute;
	top: 50%;
	right: 12px;
	width: 8px;
	height: 4px;
	transform: translateY(-50%);
	background: url(../img/arrow_area.svg) no-repeat center left/contain;
	content: "";
}

.footer__copy {
	margin-top: 75px;
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: center;
}

.pagetop {
	z-index: 10;
	position: fixed;
	right: 30px;
	bottom: 40px;
}

.pagetop:hover {
	cursor: pointer;
}

.footer-fixed-menu {
	display: none;
}

.footer-fixed-menu a:hover {
	opacity: 1;
}

.disable-auto-tel a[href^="tel:"] {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

@media (hover: hover) {

.custom-file-button:hover {
	border-color: #bbb;
	background-color: #f7f7f7;
}

.file-delete:hover {
	background-color: #888;
}

}

@media (any-hover: hover) {

.footer-calendar__nav:hover {
	opacity: 0.7;
}

}

@media (min-width: 768px) {

.item-link-buttons .button-link.kagu-link:hover::before {
	background-image: url(../img/icon_kagu_white.svg);
}

.item-link-buttons .button-link.kaden-link:hover::before {
	background-image: url(../img/icon_kaden_white.svg);
}

.target__item > a:hover {
	opacity: 1;
}

.target__item > a.is-hover .detail {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.target__item > a.is-hover .detail .arrow .arrow__inner::before {
	transform: translateX(100%) translateY(-50%);
}

.target__item > a.is-hover .detail .arrow .arrow__inner::after {
	transform: translateX(0) translateY(-50%);
	background: url("../img/arrow_button_white.svg") no-repeat center/contain;
	transition-delay: 0.3s;
}

.target__item > a.is-leaving .detail .arrow::before {
	opacity: 1;
}

.target__item > a.is-leaving .detail .arrow .arrow__inner::before,
.target__item > a.is-leaving .detail .arrow .arrow__inner::after {
	transition: none;
}

.target__item > a.is-leaving .detail .arrow .arrow__inner::before {
	transform: translateX(0) translateY(-50%);
}

.target__item > a.is-leaving .detail .arrow .arrow__inner::after {
	transform: translateX(-100%) translateY(-50%);
}

.archive-scene-button .button-link:hover {
	background-color: #0B71DE;
}

.voice-button-link:hover {
	opacity: 1;
}

.voice-button-link:hover .btn {
	text-decoration: none;
}

.voice-button-link.is-hover .arrow__inner::before {
	transform: translateY(100%) translateX(0);
}

.voice-button-link.is-hover .arrow__inner::after {
	transform: translateY(-50%) translateX(0);
	transition-delay: 0.3s;
}

.voice-button-link.is-leaving .arrow::before {
	opacity: 1;
}

.voice-button-link.is-leaving .arrow__inner::before,
.voice-button-link.is-leaving .arrow__inner::after {
	transition: none;
}

.voice-button-link.is-leaving .arrow__inner::before {
	transform: translateX(0) translateY(-50%);
}

.voice-button-link.is-leaving .arrow__inner::after {
	opacity: 0;
}

.sumit-button__wrap:hover {
	background-color: #E13109;
	color: #fff;
	opacity: 1;
}

.sumit-button__wrap:hover .arrow {
	background-color: #fff;
}

.sumit-button__wrap.is-hover .arrow__inner::before {
	transform: translateX(100%) translateY(-50%);
}

.sumit-button__wrap.is-hover .arrow__inner::after {
	transform: translateX(0) translateY(-50%);
	transition-delay: 0.3s;
}

.sumit-button__wrap.is-leaving .arrow::before {
	opacity: 1;
}

.sumit-button__wrap.is-leaving .arrow__inner::before,
.sumit-button__wrap.is-leaving .arrow__inner::after {
	transition: none;
}

.sumit-button__wrap.is-leaving .arrow__inner::before {
	transform: translateX(0) translateY(-50%);
}

.sumit-button__wrap.is-leaving .arrow__inner::after {
	transform: translateX(-100%) translateY(-50%);
}

.hidden-pc {
	display: none;
}

.button-link:hover {
	background-color: #E13109;
	color: #fff;
	opacity: 1;
}

.button-link:hover .arrow {
	background-color: #fff;
}

.button-link.is-hover .arrow__inner::before {
	transform: translateX(100%) translateY(-50%);
}

.button-link.is-hover .arrow__inner::after {
	transform: translateX(0) translateY(-50%);
	transition-delay: 0.3s;
}

.button-link.is-leaving .arrow::before {
	opacity: 1;
}

.button-link.is-leaving .arrow__inner::before,
.button-link.is-leaving .arrow__inner::after {
	transition: none;
}

.button-link.is-leaving .arrow__inner::before {
	transform: translateX(0) translateY(-50%);
}

.button-link.is-leaving .arrow__inner::after {
	transform: translateX(-100%) translateY(-50%);
}

.tel-button a:hover {
	background-color: #0B71DE;
	opacity: 1;
}

.tel-button a:hover .business-hour,
.tel-button a:hover .number {
	color: #fff;
}

.tel-button a:hover .number::before {
	background-image: url(../img/icon_button_tel_white.svg);
}

.line-button a:hover {
	background-color: #4CC764;
	color: #fff;
	opacity: 1;
}

.line-button a:hover::before {
	background-image: url(../img/icon_line_white.svg);
}

.contact-button a:hover {
	background-color: #fff;
	color: #E13109;
	opacity: 1;
}

.contact-button a:hover::before {
	background-image: url(../img/icon_mail_red.svg);
}

}

@media screen and (min-width: 768px) {

.story__img {
	cursor: url("../img/icon_cursor.svg") 40 40, pointer;
}

}

@media (min-width: 768px) and (max-width: 1023px) {

.hidden-tab {
	display: none;
}

.block-tab {
	display: block;
}

}

@media (min-width: 1366px) {

.hidden-xl {
	display: none;
}

}

@media (min-width: 1801px) {

.top-feature {
	overflow: hidden;
}

}

@media (max-width: 1439px) {

.top-strength__inner::before {
	top: 112px;
	top: 7.7777777778vw;
	height: 1264px;
	height: 87.7777777778vw;
}

}

@media (max-width: 1399px) {

.header {
	padding-right: 20px;
	padding-left: 20px;
}

.header__nav-items > li {
	margin-right: 15px;
}

.header__nav-items > li > a {
	font-size: 1.4rem;
}

.tel-button {
	flex: 0 0 170px;
}

.line-button a {
	font-size: 1.5rem;
}

.line-button a .font-large {
	font-size: 1.6rem;
}

.contact-button a {
	font-size: 1.5rem;
}

}

@media (max-width: 1349px) {

.item-intro .inner::after {
	right: -30px;
}

}

@media (max-width: 1299px) {

.point__list:nth-child(3)::after {
	left: -20px;
}

.item-cat-area-sec {
	padding-bottom: calc(140px + 9.8958333333vw);
}

.item-cat-area-sec::after {
	width: 600px;
	width: 78.125vw;
	height: 76px;
	height: 9.8958333333vw;
}

.archive-works .archive-works__img {
	height: 240px;
	height: 18.4615384615vw;
}

.works-above-slider__img {
	height: 400px;
	height: 30.7692307692vw;
}

.works-above-slider__controls {
	padding: 0;
}

.works-bottom__item:first-of-type {
	padding-right: 60px;
}

.works-bottom__item:first-of-type::before {
	right: 0;
}

.works-bottom__item:nth-of-type(2) {
	padding-left: 60px;
}

.works-bottom__item:nth-of-type(2)::before {
	left: 0;
}

.area-point .point__list:first-child::after {
	left: -20px;
}

.area-point .point__list:nth-child(3)::after {
	left: -20px;
}

.hidden-w1300 {
	display: none;
}

.header {
	padding-right: 84px;
}

.header__nav {
	display: none;
}

.drawer__toggle {
	display: block;
	z-index: 41;
	position: fixed;
	top: 34px;
	right: 28px;
	width: 35px;
	height: 25px;
	cursor: pointer;
}

.drawer__wrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 35px;
	height: 25px;
	transform: translate(-50%, -50%);
}

.drawer__line {
	display: block;
	position: absolute;
	width: 35px;
	height: 3px;
	border-radius: 3px;
	background: #0B71DE;
	transition: transform 0.3s;
}

.drawer__line--center {
	top: 11px;
}

.drawer__line--bottom {
	bottom: 0;
}

.drawer__line--top.active {
	top: 10px;
	right: 0;
	transform: rotate(45deg);
	background: #0B71DE;
}

}

@media (max-width: 1279px) {

.top-strength__wrap {
	padding-left: 130px;
	padding-left: 10.15625vw;
}

.top-strength-icon {
	width: 110px;
	width: 8.59375vw;
	height: 110px;
	height: 8.59375vw;
}

}

@media (max-width: 1199px) {

.breadcrumb {
	padding-left: 50px;
}

.single-scene .comment .flex {
	padding: 0;
}

.hidden-w1200 {
	display: none;
}

.mainvisual-copy .button__wrap .tel-button .tel-number .number::before {
	margin-right: 3px;
}

.mainvisual-copy .button__wrap .contact-button a::before {
	margin-right: 5px;
}

.flow__lists {
	gap: 27px;
}

.top-service__list {
	margin-left: 70px;
}

.top-service__list li a .icon {
	margin-right: 20px;
}

.faq-sec__wrap {
	padding: 0;
}

.faq__content {
	margin-left: 60px;
}

.footer__wrap {
	padding-right: 0;
}

.footer__nav > ul {
	height: 465px;
}

.footer__nav > ul > li:nth-child(4),
.footer__nav > ul > li:nth-child(7) {
	margin-top: 14px;
}

.footer__nav > ul > li:nth-child(5) {
	margin-top: 0;
}

.footer__nav > ul > li:nth-child(3),
.footer__nav > ul > li:nth-child(6) {
	position: relative;
}

.footer__nav > ul > li:nth-child(3)::before,
.footer__nav > ul > li:nth-child(6)::before {
	position: absolute;
	top: 0;
	left: -1px;
	width: 1px;
	height: calc(100% + 20px);
	background-color: #fff;
	content: "";
}

}

@media (max-width: 1149px) {

.item-link-buttons {
	padding-left: 30px;
}

.item-link-buttons .button + .button {
	margin-left: 20px;
}

.hidden-w1150 {
	display: none;
}

.top-intro .section__title::before {
	top: -90px;
}

.top-intro__content::after {
	right: 50px;
}

}

@media (max-width: 1099px) {

.item-intro .section__title .ja {
	font-size: 3.6rem;
}

.area-sec .area__items {
	flex: 0 0 400px;
}

.area-sec .area__list li {
	flex: 0 0 125px;
}

.area-sec__content {
	flex: 0 0 calc(100% - 430px);
}

.pricing-policy__title {
	font-size: 2.4rem;
}

.archive-scene__list:nth-child(5) .archive-scene__title {
	flex: 0 0 270px;
}

.shop-intro .section__title .ja {
	font-size: 3.5rem;
}

.block-w1100 {
	display: block;
}

.display-w1100 {
	display: block;
}

}

@media (max-width: 1023px) {

.breadcrumb {
	padding-left: 40px;
}

.about-intro .inner::before {
	top: -75px;
	left: calc(50% - 373px);
}

.about-intro .inner::after {
	top: 67px;
	left: calc(50% + 276px);
}

.item-intro .section__title .ja {
	font-size: clamp(30px, 3.5vw, 34px);
}

.archive-item-sec .flex {
	gap: 40px;
}

.archive-item-sec01 .flex {
	padding: 0;
}

.archive-item-sec02 .flex {
	padding: 0;
}

.archive-item-sec02 .flex__img {
	flex: 0 0 39%;
}

.archive-item-sec03 .flex {
	padding: 0;
}

.archive-item-sec04 .flex {
	padding: 0;
}

.archive-item-sec05 .flex {
	padding: 0;
}

.archive-item-sec06 .flex {
	padding: 0;
}

.archive-item-acordion .acordion-head .acordion-button::before,
.archive-item-acordion .acordion-head .acordion-button::after {
	right: 8px;
}

.archive-item-acordion .acordion__lists {
	padding: 60px 20px 0;
}

.archive-item-box__item {
	gap: 80px;
}

.archive-item-box__item .check__list::before {
	left: -53px;
}

.archive-item-box__text {
	flex: 0 0 40%;
	font-size: 2.3rem;
}

.item-caution__wrap {
	padding: 30px;
}

.comment .flex {
	padding-right: 0;
}

.item-link {
	padding-left: 40px;
}

.item-link__title {
	flex: 0 0 130px;
}

.item-link-buttons .button-link {
	padding: 17px 73px 17px 40px;
}

.page-intro__items {
	gap: 20px;
}

.page-intro__text {
	font-size: 1.9rem;
}

.page-intro-box__inner {
	padding: 30px 40px;
}

.point__list {
	gap: 30px;
}

.point__list {
	padding: 50px 40px;
}

.point__list:nth-child(2)::after {
	right: -20px;
}

.point__title {
	font-size: 2.7rem;
}

.target__items {
	gap: 40px 20px;
}

.target__item {
	width: calc(33.333% - 13.3333333333px);
}

.flow-vertical__list {
	gap: 30px;
}

.caution__wrap {
	padding: 30px 20px;
}

.caution__list {
	gap: 40px;
}

.pricing-policy__items {
	gap: 20px;
}

.pricing-policy__title {
	font-size: clamp(17px, 2.2vw, 24px);
}

.pricing-policy-image .caption span {
	font-size: 1.6rem;
	line-height: 1.5;
}

.archive-scene__list:nth-child(-n+3) .archive-scene__title {
	flex: 0 0 245px;
}

.archive-scene__list:nth-child(4) .archive-scene__title {
	flex: 0 0 270px;
}

.archive-scene__title {
	font-size: 2.7rem;
}

.archive-scene__img {
	flex: 0 0 calc(100% - 300px);
}

.scene-point .point__list:nth-child(3)::after {
	left: -20px;
}

.story .flex {
	padding-right: 0;
}

.story .section__title {
	flex: 0 0 287px;
}

.story__content {
	flex: 0 0 calc(100% - 317px);
}

.pricing__items {
	gap: 40px;
}

.pricing__item:not(:first-of-type)::before {
	left: -20px;
}

.pricing__title {
	margin-top: 10px;
	font-size: 2rem;
}

.tidying-up .flex__img {
	margin-left: 30px;
}

.tidying-up__inner {
	padding: 40px;
}

.archive-works .archive-works__img {
	height: 297px;
	height: 29.0322580645vw;
}

.archive-works__items {
	grid-template-columns: 1fr 1fr;
	gap: 72px 40px;
}

.works-above__wrap {
	gap: 30px;
}

.works-above-slider__img {
	height: 314px;
	height: 30.6640625vw;
}

.rank {
	display: block;
}

.rank__text {
	margin: 5px 0 0 0;
}

.works-bottom__item:first-of-type {
	padding-right: 30px;
}

.works-bottom__item:first-of-type .flex__content {
	margin-right: 40px;
}

.works-bottom__item:nth-of-type(2) {
	padding-left: 30px;
}

.works-bottom__item:nth-of-type(2) .flex {
	padding-left: 0;
}

.works-bottom__item:nth-of-type(2) .flex__content {
	margin-left: 30px;
}

.works__content {
	margin-left: calc(30px + 14.327%);
}

.works-bottom-box {
	padding: 40px 40px 40px 120px;
}

.works-bottom-box__title .icon {
	left: 30px;
}

.archive-area .flex {
	padding-right: 0;
	gap: 30px;
}

.archive-area__title {
	font-size: 2.8rem;
}

.area-info__item .acordion-head .acordion-button::before,
.area-info__item .acordion-head .acordion-button::after {
	right: 8px;
}

.area-info__content {
	padding: 0 30px;
}

.shop-intro .flex {
	gap: 30px;
}

.shop-intro .section__title .ja {
	font-size: clamp(28px, 3.6vw, 35px);
}

.shop-intro .page-intro__item .number {
	width: 50px;
	height: 50px;
	margin-top: -25px;
	font-size: 2.4rem;
}

.shop-intro .page-intro__text {
	font-size: clamp(16px, 1.9vw, 19px);
}

.recycle-shop__wrap {
	gap: 30px;
}

.recycle-shop__content .table th {
	width: 100px;
}

.shop-target .target__item {
	width: calc(50% - 15px);
}

.shop-target .page-intro-box {
	padding: 0;
}

.recycleshop-intro__wrap {
	gap: 30px;
}

.recycleshop .inner::before {
	width: 100%;
}

.recycleshop__items {
	padding: 0;
	gap: 40px;
}

.recycleshop__title {
	font-size: 2.2rem;
}

.recycleshop__title::after {
	width: 250px;
}

.recycleshop-access-box {
	padding: 40px 30px;
}

.recycleshop-access-box .flex {
	gap: 30px;
}

.faq-box__inner {
	padding: 60px 40px;
}

.faq__title .ttl {
	font-size: 2rem;
}

.company-intro__content {
	padding: 80px 40px;
}

.company-intro__title {
	font-size: 2.6rem;
}

.compnay-image {
	margin-top: -150px;
}

.company-shop .flex {
	gap: 30px;
}

.voice__item {
	padding: 30px 20px;
}

.voice__wrapper {
	margin-left: 20px;
}

.evaluation {
	flex: 0 0 235px;
}

.evaluation__item .item {
	flex: 0 0 101px;
	padding: 7px 0;
	font-size: 1.5rem;
	line-height: 1.5;
}

.voice-info {
	margin-left: 20px;
}

.voice-info__item .item__title {
	flex: 0 0 120px;
	font-size: 1.4rem;
}

.policy .inner2 {
	padding: 0;
}

.inner {
	width: min(100% - 80px, 1200px);
}

.inner2 {
	width: min(100% - 80px, 1080px);
}

.inner3 {
	width: min(100% - 80px, 1340px);
}

.flex.g-100 {
	gap: 40px;
}

.section__title .ja {
	font-size: 3.4rem;
}

.tel-button {
	margin-right: 5px;
}

.line-button {
	margin-right: 5px;
}

.mainvisual {
	height: auto;
	min-height: initial;
}

.mainvisual__wrap {
	height: auto;
}

.top-mv-loop {
	height: auto;
}

.top-mv-loop__track {
	height: auto;
}

.top-mv-loop__group {
	padding-right: 40px;
	gap: 40px;
}

.top-mv-loop__item {
	width: 450px;
	height: auto;
}

.mainvisual__img {
	height: auto;
}

.mainvisual__img img {
	aspect-ratio: 532/600;
	height: auto;
}

.mainvisual-copy {
	top: 51%;
	left: 40px;
	width: auto;
}

.mainvisual-copy .button__wrap {
	display: block;
}

.mainvisual-copy .button__wrap .tel-button {
	width: 270px;
}

.mainvisual-copy .button__wrap .button__wrapper {
	display: block;
}

.mainvisual-copy .button__wrap .line-button {
	width: 270px;
	margin-top: 10px;
}

.mainvisual-copy .button__wrap .contact-button {
	width: 270px;
	margin-top: 10px;
}

.mainvisual__title {
	font-size: 3rem;
}

.top-intro .section__title::before {
	left: -10px;
	width: 91px;
	height: 67px;
}

.top-intro__content {
	padding: 100px 40px;
}

.top-intro__content::after {
	top: 180px;
	right: 10px;
	width: 60px;
	height: 74px;
}

.feature__list {
	padding: 30px 30px 50px;
}

.flow__lists {
	gap: 20px;
}

.flow__lists::before {
	top: 100px;
}

.flow__list .number {
	left: 47px;
	font-size: 4rem;
}

.flow__img {
	width: 200px;
	margin: auto;
}

.flow__title {
	line-height: 1.5;
}

.flow__text {
	text-align: left;
}

.top-strength__inner {
	border-radius: 80px;
}

.top-strength__item {
	width: calc(50% - 10px);
}

.top-strength__item:nth-of-type(even) {
	margin: 60px 0 0 20px;
}

.top-strength__title {
	font-size: 2.6rem;
}

.top-service .section__title .ja {
	font-size: 3.4rem;
}

.top-service__list {
	margin-left: 40px;
}

.top-service__list li a {
	padding: 20px 45px 20px 20px;
}

.top-service__list li a::after {
	right: 20px;
}

.top-service__list li a .icon {
	margin-right: 10px;
}

.top-service__list li a .ttl {
	font-size: 1.8rem;
}

.faq-sec .section__title::before {
	width: 58px;
	height: 73px;
}

.faq-sec__content {
	flex: 0 0 310px;
}

.faq__content {
	margin-left: 30px;
}

.question {
	padding-right: 45px;
}

.question::before,
.question::after {
	right: 8px;
}

.news__item .info {
	padding: 24px 20px;
}

.news__item .info__published {
	margin-right: 20px;
}

.shop__content {
	margin-left: 40px;
}

.top-ecozest__img {
	margin-left: 40px;
}

.contact-part .section__title .en {
	font-size: 11rem;
}

.contact-part-tel .tel-number a .number {
	font-size: 3rem;
}

.estimate-button {
	margin-left: 20px;
}

.estimate-button .button-link {
	width: 300px;
	max-width: 100%;
	padding-left: 30px;
}

.estimate-button .button-link::after {
	right: 20px;
}

.contact-part-buttons {
	gap: 20px;
}

.footer__nav > ul > li {
	padding: 0 10px 0 30px;
}

.footer__nav > ul > li::after {
	left: 18px;
}

.footer__nav > ul > li:nth-child(12)::after,
.footer__nav > ul > li:nth-child(13)::after {
	left: 18px;
}

.pagetop {
	bottom: 20px;
}

}

@media (max-width: 899px) {

.block-w900 {
	display: block;
}

}

@media (max-width: 849px) {

.footer__nav > ul {
	height: auto;
}

.footer__nav > ul > li:nth-child(5) {
	margin-top: 14px;
}

.footer__nav > ul > li:nth-child(3)::before,
.footer__nav > ul > li:nth-child(6)::before {
	content: none;
}

}

@media (max-width: 767px) {

.page-mainvisual {
	height: 220px;
	margin-top: 70px;
	padding-top: 50px;
}

.page-mainvisual.h-268 {
	height: 240px;
}

.page-mainvisual.h-268 .page-mainvisual__title {
	top: 94px;
}

.page-mainvisual__title {
	top: 84px;
	width: calc(100% - 40px);
	font-size: 3rem;
}

.page-mainvisual__img {
	bottom: 51px;
	width: 95%;
}

.breadcrumb {
	margin-top: -51px;
	padding: 20px 10px 10px 20px;
	border-radius: 60px 0 0 0;
}

.breadcrumb__items > span {
	font-size: 1.2rem;
}

.breadcrumb__items > span:not(:first-child) {
	margin-left: 20px;
}

.breadcrumb__items > span:not(:first-child)::before {
	top: 8px;
	left: -13px;
	width: 6px;
	height: 9px;
}

.case-part {
	margin: -40px 0 50px;
	border-radius: 40px;
}

.case-part .button {
	position: static;
	margin-top: 30px;
}

.case-slider {
	width: 100vw;
	margin-top: 20px;
	margin-left: calc(50% - 50vw);
	padding-left: 20px;
}

.case-slider__item {
	width: 80vw !important;
	height: auto;
}

.case-card {
	width: 80vw;
}

.caseSwiper .swiper-slide {
	width: 80vw !important;
	height: auto;
}

.caseSwiper .swiper-slide-next .case-card,
.caseSwiper .swiper-slide.is-next2 .case-card {
	transform: translateX(12vw) scale(0.6774);
}

.case-card__img {
	width: 80vw;
	height: 51.6129032258vw;
	border-radius: 10px;
}

.case-card__body {
	margin-top: 15px;
}

.case-card__title {
	font-size: 2rem;
}

.case-card__area {
	font-size: 1.4rem;
}

.case-card__area::before {
	width: 18px;
	height: 18px;
}

.case-card__text {
	margin-top: 10px;
	font-size: 1.6rem;
}

.caseSwiper .swiper-slide:not(.swiper-slide-active) .case-card__title {
	font-size: 23.6px;
}

.caseSwiper .swiper-slide:not(.swiper-slide-active) .case-card__area {
	font-size: 17.7px;
}

.caseSwiper .swiper-slide:not(.swiper-slide-active) .case-card__text {
	font-size: 20.7px;
}

.slider-button {
	margin-top: 40px;
}

.pagination {
	margin-top: 60px;
}

.pagination * {
	margin-right: 30px;
}

.page-about .wrapper {
	border-radius: 40px 40px 0 0;
}

.about-intro {
	padding-top: 70px;
}

.about-intro .inner::before {
	top: -49px;
	left: calc(50% - 167px);
	width: 43px;
	height: 38px;
}

.about-intro .inner::after {
	top: 80px;
	left: calc(50% + 124px);
	width: 55px;
	height: 34px;
}

.about-intro .section__text p {
	font-size: 1.6rem;
}

.about-loop {
	margin-top: 40px;
}

.about-feature {
	padding: 140px 0;
}

.about-feature::before {
	top: 840px;
	width: 100%;
	background-image: url("../img/bg_sp.png");
}

.about-feature .section__title {
	margin-bottom: 30px;
}

.about-feature .feature__list:first-child::after {
	right: 3px;
	bottom: -24px;
	width: 59px;
	height: 57px;
}

.about-feature .feature__list:nth-child(2)::after {
	bottom: -66px;
	left: -26px;
	width: 50px;
	height: 136px;
}

.about-feature .feature__list:nth-child(3)::after {
	right: -32px;
	bottom: -44px;
	width: 110px;
	height: 70px;
}

.about-feature__lead {
	font-size: 1.8rem;
}

.about-commitment::after {
	top: 31vw;
	height: 63.866667vw;
}

.about-vision.sec {
	padding-bottom: calc(110px + 12.8vw);
}

.about-vision::after {
	bottom: 40px;
	width: 83%;
	height: 48px;
	height: 12.8vw;
}

.item-intro .inner::after {
	right: -10px;
	bottom: -70px;
	width: 100px;
	height: 58px;
}

.archive-item-sec .flex__content {
	margin-top: 50px;
}

.archive-item-sec02 {
	border-radius: 40px 40px 0 0;
}

.archive-item-sec02.sec {
	padding-bottom: 140px;
}

.archive-item-sec03 {
	margin-top: -70px;
	padding: 70px 0 50px;
	border-radius: 40px 40px 0 0;
}

.archive-item-sec03 .section__title .ja .font-small {
	font-size: 1.6rem;
}

.archive-item-sec03 .archive-item-box {
	margin-top: 40px;
}

.archive-item-sec04,
.archive-item-sec05,
.archive-item-sec06 {
	padding: 50px 0;
}

.archive-item-sec04 .archive-item-box,
.archive-item-sec05 .archive-item-box,
.archive-item-sec06 .archive-item-box {
	margin-top: 40px;
}

.archive-item__list {
	justify-content: center;
	gap: 10px;
}

.archive-item__list li {
	flex: 0 0 150px;
	font-size: 1.4rem;
}

.archive-item-acordion {
	margin-top: 50px;
}

.archive-item-acordion .acordion-head {
	padding: 0 55px 0 20px;
	font-size: 2rem;
	line-height: 1.5;
}

.archive-item-acordion .acordion-head .acordion-button {
	right: 15px;
}

.archive-item-acordion .acordion__lists {
	padding: 30px 10px 0;
}

.archive-item-acordion .acordion__title {
	font-size: 1.8rem;
}

.archive-item-acordion .acordion__title .number {
	font-size: 2.2rem;
}

.archive-item-box__item {
	display: block;
}

.archive-item-box__item .check__list {
	margin-top: 50px;
}

.archive-item-box__item .check__list::before {
	top: -55px;
	left: 50%;
	transform: translateX(-50%) rotate(90deg);
}

.archive-item-box__text {
	justify-content: center;
	font-size: 2rem;
}

.archive-item-box__text .icon {
	flex: 0 0 40px;
	height: 40px;
}

.check__list li::before {
	top: 2px;
}

.item-caution .check__list li {
	padding-left: 33px;
}

.item-caution .check__list li::before {
	top: 3px;
	width: 25px;
	height: 25px;
}

.item-caution__inner {
	padding: 30px 20px;
}

.item-caution__title {
	font-size: 2rem;
}

.item-caution__title .font-small {
	font-size: 1.4rem;
}

.item-caution__title::before {
	flex: 0 0 35px;
	height: 35px;
	margin-right: 12px;
}

.item-caution__wrap {
	padding: 20px;
}

.comment {
	margin-top: 40px;
}

.comment .flex__img {
	width: 200px;
}

.comment .flex__content {
	margin: 10px 0 0 0;
}

.comment .flex__content::after {
	top: -29.5px;
	left: 92px;
	transform: rotate(90deg);
}

.item-links {
	margin-top: 50px;
	padding-bottom: 70px;
}

.item-link {
	display: block;
	padding: 30px 20px;
}

.item-link + .item-link {
	margin-top: 20px;
}

.item-link__title {
	justify-content: center;
}

.item-link-buttons {
	display: block;
	margin-top: 30px;
	padding-left: 0;
	border-left: none;
}

.item-link-buttons .button + .button {
	margin: 20px 0 0 0;
}

.page-mainvisual__title .cat__title {
	font-size: 1.6rem;
}

.tax-city_genre .label .wrap {
	width: 288px;
}

.single-area .label .wrap {
	width: 268px;
}

.single-scene .label .wrap {
	width: 442px;
}

.tax-area_group .label .wrap {
	width: 270px;
}

.label .icon {
	flex: 0 0 50px;
	height: 50px;
}

.label .icon img {
	max-width: 25px;
	max-height: 35px;
}

.label .txt {
	font-size: 2rem;
}

.page-intro__title {
	font-size: 2.2rem;
}

.page-intro__items {
	display: block;
	margin-top: 40px;
}

.page-intro__item + .page-intro__item {
	margin-top: 40px;
}

.page-intro__img img {
	border-radius: 10px;
}

.page-intro__text {
	margin-top: 10px;
	font-size: 2rem;
}

.page-intro-box__inner {
	padding: 30px 20px;
}

.page-intro-box__wrap {
	display: block;
}

.page-intro-box__img {
	margin-top: 20px;
	text-align: center;
}

.page-intro-box__text {
	text-align: left;
}

.page-intro-box__text .d-iblock {
	display: inline;
}

.point {
	padding: 50px 0 120px;
}

.point::before {
	top: 675px;
	width: 100%;
	background-image: url("../img/bg_sp.png");
}

.point + .wrapper {
	border-radius: 40px 40px 0 0;
}

.point__lists {
	padding: 0 15px;
}

.point__list {
	display: block;
	padding: 20px 20px 30px;
}

.point__list + .point__list {
	margin-top: 80px;
}

.point__list:first-child::after {
	bottom: -55px;
	left: 0px;
	width: 65px;
	height: 77px;
}

.point__list:nth-child(2)::after {
	right: -11px;
	bottom: -41px;
	width: 68px;
	height: 61px;
}

.point__list:nth-child(3)::after {
	bottom: -47px;
	width: 110px;
	height: 70px;
}

.point__title {
	font-size: 2.4rem;
}

.point__text {
	margin-top: 20px;
}

.point__img {
	margin-top: 20px;
}

.point__img img {
	border-radius: 10px;
}

.target {
	padding: 70px 0 50px;
}

.target::before {
	top: initial;
	bottom: -115px;
	height: 47.694444vw;
}

.target__items {
	gap: 20px;
}

.target__item {
	width: 100%;
}

.target__text {
	margin-top: 40px;
	text-align: left;
}

.target__text .d-iblock {
	display: inline;
}

.brand {
	padding: 50px 0 130px;
}

.brand__list {
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.brand__list li {
	max-width: 345px;
	height: auto;
	padding: 18px 5px;
	font-size: 1.6rem;
}

.brand__text {
	text-align: left;
}

.brand__text .d-iblock {
	display: inline;
}

.flow-vertical__list {
	display: block;
}

.flow-vertical__list + .flow-vertical__list {
	margin-top: 50px;
}

.flow-vertical__list:not(:last-child)::before {
	content: none;
}

.flow-vertical-label {
	top: -7px;
	left: calc(50% - 107px);
}

.flow-vertical__content {
	margin-top: 30px;
}

.flow-vertical__content .button__wrap {
	display: block;
}

.flow-vertical__content .button__wrap .tel-button {
	display: block;
}

.flow-vertical__content .button__wrap .tel-button a {
	width: 250px;
	margin: auto;
}

.flow-vertical__content .button__wrap .contact-button {
	display: block;
	width: 250px;
	margin: 20px auto 0;
}

.flow-vertical__content .button__wrap .contact-part-button.line {
	width: 250px;
}

.flow-vertical__title {
	font-size: 2.2rem;
	text-align: center;
}

.caution {
	margin-top: 50px;
}

.caution__title {
	font-size: 1.8rem;
}

.caution__title::before {
	flex: 0 0 30px;
	margin-right: 8px;
}

.caution__list {
	display: block;
}

.caution__list li {
	padding: 0 0 0 33px;
	text-align: left;
}

.caution__list li::before {
	top: 2px;
	left: 0;
	width: 25px;
	height: 25px;
	transform: none;
}

.caution__list li + li {
	margin-top: 10px;
}

.caution__text {
	text-align: left;
}

.caution__text .d-iblock {
	display: inline;
}

.item-cat-area-sec {
	padding-bottom: calc(70px + 9.8958333333vw);
}

.area-sec .area__items {
	margin: 40px 0 0 0;
}

.area-sec__wrap {
	display: block;
}

.area-sec__content {
	max-width: 100%;
}

.pricing-policy {
	padding: 70px 0 140px;
	border-radius: 40px 40px 0 0;
}

.pricing-policy__items {
	display: block;
}

.pricing-policy__item + .pricing-policy__item {
	margin-top: 50px;
}

.pricing-policy__title {
	font-size: 2.2rem;
}

.pricing-policy-image {
	margin-top: 10px;
}

.pricing-policy__text {
	margin-top: 40px;
	padding: 30px 20px;
	text-align: left;
}

.pricing-policy__text .d-iblock {
	display: inline;
}

.mt--140 {
	margin-top: -70px;
}

.radius {
	border-radius: 40px 40px 0 0;
}

.archive-scene__list:nth-of-type(even).sec {
	padding-bottom: 140px;
}

.archive-scene__list:nth-child(5).sec {
	padding-bottom: 50px;
}

.archive-scene__title {
	font-size: 2.4rem;
}

.archive-scene__img {
	margin: 40px 0 0 0;
}

.archive-scene__text {
	text-align: left;
}

.archive-scene__text .d-iblock {
	display: inline;
}

.archive-scene-button .button-link {
	padding: 17.5px 68px 17.5px 20px;
}

.single-scene .point__title br {
	display: none;
}

.single-scene .shop .google-map iframe {
	width: 100%;
}

.single-scene .comment .flex__img {
	width: 200px;
}

.single-scene .contact-part {
	padding-top: 50px;
}

.excellent {
	margin-top: 40px;
}

.excellent .flex__img {
	width: 400px;
	max-width: 90%;
	margin: auto;
}

.excellent .flex__content {
	margin-top: 30px;
}

.excellent__title {
	text-align: center;
}

.excellent__text {
	margin-top: 10px;
}

.scene-point {
	padding: 50px 0 120px;
}

.scene-point::before {
	top: 240px;
}

.scene-point .point__list:nth-child(2)::after {
	bottom: -21px;
	width: 39px;
	height: 49px;
}

.scene-point .point__list:nth-child(3)::after {
	bottom: -21px;
	width: 73px;
	height: 41px;
}

.scene-target::before {
	top: initial;
}

.story {
	padding: 50px 0 140px;
}

.story-modal {
	padding: 50px 20px;
}

.story-modal__content {
	max-width: calc(100vw - 40px);
}

.story-modal__close {
	top: -40px;
	right: 0;
	width: 32px;
	height: 32px;
}

.story-modal__img {
	max-width: calc(100vw - 40px);
}

.story-modal__img img {
	max-width: min(1080px, 100vw - 40px);
}

.pricing__items {
	grid-template-columns: 1fr;
	gap: 60px;
}

.pricing__item:not(:first-of-type)::before {
	top: -30px;
	left: 0;
	width: 100%;
	height: 1px;
	border-top: 1px dashed #E3E3E3;
	border-left: none;
}

.pricing__img {
	width: 50%;
	margin: auto;
}

.pricing__text {
	margin-top: 10px;
}

.tidying-up {
	padding-bottom: 50px;
}

.tidying-up .flex__img {
	margin: 30px 0 0 0;
	text-align: center;
}

.tidying-up__inner {
	padding: 30px 20px;
}

.tidying-up__title {
	font-size: 2.2rem;
}

.scene-area-sec {
	padding: 50px 0;
}

.scene-area-sec::before {
	top: initial;
	bottom: -115px;
	height: 47.694444vw;
}

.works-catagory {
	padding: 50px 0 60px;
}

.works-catagory__item {
	display: block;
}

.works-catagory__item.product-category {
	padding-top: 20px;
}

.works-catagory__title::before {
	width: 40px;
	height: 40px;
}

.works-catagory__list {
	margin: 20px 0 0 0;
	gap: 10px;
}

.works-catagory__list li a {
	padding: 10px 20px;
	font-size: 1.4rem;
}

.archive-works {
	padding-bottom: 70px;
}

.archive-works .archive-works__img {
	height: 221px;
	height: 58.9333333333vw;
}

.archive-works-head {
	height: 70px;
	padding-left: 20px;
	font-size: 2.2rem;
}

.archive-works__items {
	grid-template-columns: 1fr;
	margin-top: 40px;
	gap: 40px;
}

.archive-works__wrap {
	margin-top: 10px;
	padding-top: 10px;
}

.works .archive-works .button {
	margin-top: 60px;
}

.works-above {
	padding: 70px 0 40px;
}

.works__title {
	padding-bottom: 5px;
	font-size: 2rem;
}

.works-above__wrap {
	display: block;
	margin-top: 40px;
}

.works-above-slider {
	width: 100%;
}

.works-above-slider__img {
	height: 400px;
	height: 68.9655172414vw;
}

.works-above-slider__controls {
	grid-template-columns: 44px 1fr 44px;
	margin-top: 18px;
	gap: 12px;
}

.works-above-slider__prev,
.works-above-slider__next {
	width: 44px;
	height: 44px;
}

.works-above-slider__pagination {
	gap: 10px;
}

.works-above-slider__pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
}

.works-above__content {
	margin-top: 50px;
}

.works-above__title {
	margin-bottom: 10px;
	font-size: 1.8rem;
}

.works-above__list {
	padding-left: 10px;
}

.rank {
	padding-left: 10px;
}

.rank-label {
	padding: 0 10px;
}

.works-bottom {
	padding: 40px 0;
}

.works-bottom__item {
	padding: 40px 0;
}

.works-bottom__item + .works-bottom__item {
	margin-top: 40px;
}

.works-bottom__item:first-of-type {
	padding-right: 20px;
}

.works-bottom__item:first-of-type::before {
	border-radius: 0 20px 20px 0;
}

.works-bottom__item:first-of-type .flex__img {
	width: 100px;
	margin-left: 30px;
}

.works-bottom__item:first-of-type .flex__content {
	margin: 40px 0 0 0;
}

.works-bottom__item:first-of-type .flex__content::after {
	top: -29.5px;
	right: initial;
	left: 57px;
	transform: rotate(90deg);
}

.works-bottom__item:nth-of-type(2) {
	padding-left: 20px;
}

.works-bottom__item:nth-of-type(2)::before {
	border-radius: 20px 0 0 20px;
}

.works-bottom__item:nth-of-type(2) .flex__content {
	margin: 20px 0 0 0;
}

.works-bottom__item:nth-of-type(2) .flex__content::after {
	left: 63px;
}

.works-bottom__item:nth-of-type(2) .flex__img {
	width: 150px;
}

.works-bottom__title {
	font-size: 2rem;
}

.works__content {
	margin-left: 0;
}

.work-detail-table tbody {
	grid-template-columns: 35% 65%;
}

.work-detail-table th {
	padding: 8px 6px;
}

.work-detail-table td:last-child {
	border-right: 1px solid #E3E3E3;
}

.works-bottom-box__wrap {
	padding-bottom: 140px;
}

.works-bottom-box {
	padding: 30px 20px;
}

.works-bottom-box:first-of-type .works-bottom-box__title .icon {
	width: 50px;
	height: 50px;
	margin-right: 5px;
}

.works-bottom-box:nth-of-type(2) .works-bottom-box__title .icon {
	width: 50px;
	height: 50px;
	margin-right: 10px;
}

.works-bottom-box__title {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.8rem;
}

.works-bottom-box__title .icon {
	display: inline-block;
	position: static;
}

.archive-area {
	padding: 70px 0 50px;
}

.archive-area__title {
	font-size: 2.2rem;
}

.area-intro .area {
	margin-top: 50px;
}

.area-case-part .caseSwiper .swiper-slide {
	height: auto;
}

.area-case-part .archive-works-meta .date {
	font-size: 1.4rem;
}

.area-case-part .area-cat {
	font-size: 1.2rem;
}

.area-case-part .product-cat {
	font-size: 1.2rem;
}

.area-case-part .archive-works__title .ttl {
	font-size: 2.2rem;
}

.area-case-part .archive-works__title .customer {
	margin-top: 5px;
}

.area-case-part .product-table th {
	width: 76px;
	font-size: 1.4rem;
}

.area-case-part .product-table td p {
	font-size: 1.6rem;
}

.area-info__item + .area-info__item {
	margin-top: 40px;
}

.area-info__item:first-of-type .area-info__block:last-child ul li::before {
	top: 13px;
}

.area-info__item .acordion-head {
	padding: 0 55px 0 20px;
	font-size: 2rem;
	line-height: 1.5;
}

.area-info__item .acordion-head .acordion-button {
	right: 15px;
}

.area-info__content {
	padding: 0 10px;
}

.area-info__content h3 {
	margin-top: 30px;
	font-size: 1.8rem;
}

.area-info__content h4 {
	margin-top: 10px;
}

.area-info__content ul {
	margin: 10px 0;
}

.area-info__content ul li::before {
	top: 14px;
}

.area-info__blocks {
	margin-top: 30px;
}

.area-info__block + .area-info__block {
	margin-top: 30px;
}

.area-point::before {
	top: 514px;
}

.area-point .point__list:first-child::after {
	bottom: -47px;
	width: 110px;
	height: 70px;
}

.area-point .point__list:nth-child(2)::after {
	right: 0px;
	bottom: -55px;
	width: 65px;
	height: 77px;
}

.area-point .point__list:nth-child(3)::after {
	bottom: -47px;
	width: 110px;
	height: 70px;
}

.area-target::before {
	top: initial;
	bottom: -62px;
}

.area-target .target__item {
	width: 100%;
}

.area-brand {
	padding-bottom: 140px;
}

.shop-intro .flex__content {
	margin-top: 30px;
}

.shop-intro .section__title .ja {
	font-size: 3rem;
}

.shop-intro .page-intro__items {
	margin-top: 50px;
}

.shop-intro .page-intro__text {
	font-size: 2rem;
}

.recycle-shop {
	padding: 50px 0 70px;
}

.recycle-shop__wrap {
	display: block;
}

.recycle-shop__content {
	margin-top: 30px;
}

.recycle-shop__content .table tr {
	padding-left: 0;
}

.recycle-shop__content .table th {
	width: 80px;
}

.recycle-shop__content .table td p + p {
	margin-top: 5px;
}

.shop-target .target__item {
	width: 100%;
}

.shop-target .target-label {
	font-size: 1.8rem;
}

.shop-target .target-label .font-small {
	font-size: 1.2rem;
}

.shop-target__list + .shop-target__list {
	margin-top: 70px;
}

.shop-target__title {
	font-size: 2rem;
}

.shop-target__title .number {
	font-size: 2.6rem;
}

.recycleshop-intro {
	padding: 70px 0 50px;
}

.recycleshop-intro__wrap {
	display: block;
}

.recycleshop-intro__text {
	font-size: 1.6rem;
}

.recycleshop-intro__img {
	margin-top: 30px;
	text-align: center;
}

.recycleshop .inner {
	padding: 50px 0;
}

.recycleshop .inner::before {
	content: none;
}

.recycleshop__items {
	display: block;
}

.recycleshop__item + .recycleshop__item {
	margin-top: 40px;
}

.recycleshop__title {
	margin-top: 15px;
	font-size: 2rem;
}

.recycleshop__title::after {
	width: 230px;
}

.recycleshop__text {
	margin-top: 15px;
}

.recycleshop-access {
	padding: 70px 0 40px;
}

.recycleshop-access .google-map {
	margin-top: 40px;
}

.recycleshop-access-box {
	margin-top: 60px;
	padding: 30px 20px;
}

.recycleshop-access-box .flex__img {
	margin-top: 30px;
	text-align: center;
}

.recycleshop-access-box__title {
	font-size: 1.8rem;
}

.recycleshop-loop {
	padding-bottom: 70px;
}

.recycleshop-loop__img {
	width: 200px;
}

.faq-box {
	margin-top: 70px;
}

.faq-box__inner {
	padding: 30px 20px;
}

.faq-box__wrap {
	display: block;
}

.faq-box__img {
	width: 100px;
	margin: 20px auto 0;
}

.faq .faq__content {
	margin: 20px 0 0 0;
}

.faq__list {
	display: block;
	padding: 30px 0;
}

.company-intro {
	margin-top: 70px;
}

.company-intro__content {
	padding: 40px 20px;
	border-radius: 10px 40px 10px 10px;
}

.company-intro__content .president {
	margin-top: 10px;
	font-size: 1.6rem;
}

.company-intro__title {
	font-size: 2.2rem;
}

.company-intro__text {
	margin-top: 20px;
	font-size: 1.6rem;
}

.compnay-image {
	margin-top: -60px;
	margin-top: -16vw;
}

.company-profile {
	padding: 70px 0 50px;
}

.company-profile__content .table th,
.company-profile__content .table td {
	display: block;
}

.company-profile__content .table th {
	padding: 16px 0 8px 0;
}

.company-profile__content .table td {
	width: 100%;
	padding: 0 0 16px 0;
}

.company-map {
	margin-top: 40px;
}

.company-shop {
	padding: 50px 0 70px;
}

.company-shop .flex__content {
	margin-top: 30px;
}

.voice-number {
	font-size: 2.4rem;
}

.voice__items {
	margin-top: 40px;
}

.voice__item {
	display: block;
	padding: 30px 15px;
}

.voice__item + .voice__item {
	margin-top: 40px;
}

.voice-image {
	width: 350px;
	max-width: 80%;
	margin: auto;
}

.voice-modal {
	padding: 50px 20px 30px;
}

.voice-modal__content {
	width: 100%;
	max-height: calc(100vh - 80px);
}

.voice-modal__close {
	top: -45px;
	right: 0;
	left: auto;
	width: 36px;
	height: 36px;
}

.voice__wrapper {
	margin: 40px 0 0 0;
}

.voice__wrap {
	display: block;
}

.evaluation__item {
	align-items: center;
	justify-content: center;
}

.evaluation__item + .evaluation__item {
	margin-top: 10px;
}

.evaluation__item .item {
	flex: 0 0 144px;
	padding: 6.5px 0;
	font-size: 1.6rem;
}

.voice-info {
	margin: 30px 0 0 0;
}

.voice-info__item .item__title {
	flex: 0 0 144px;
	font-size: 1.6rem;
}

.voice-button {
	margin-top: 70px;
}

.voice-button-link {
	width: 160px;
}

.voice-button-link .arrow {
	width: 50px;
	height: 50px;
	margin-left: 20px;
}

.contact-row {
	margin-bottom: 20px;
}

.contact-row.contact-type .contact-text .flex ul {
	margin: 5px 0 0 0;
}

.contact-row .text {
	font-size: 1.5rem;
	line-height: 1.5;
}

.contact-text .hope__wrap input {
	width: 160px;
}

.contact-text .hope__date::before {
	left: 43%;
}

.contact-text .hope__date.has-value input[type=date] {
	padding-left: 25px;
}

.contact-text .deadline select {
	width: 110px;
	padding-left: 50px;
}

.contact-text .flex {
	display: block;
}

.contact-text .flex .date {
	display: block;
}

.contact-text .flex .date .date__text {
	margin-bottom: 10px;
}

.contact-text .flex .date select {
	width: 160px;
}

.contact-text .flex .time select,
.contact-text .flex .content select {
	width: 160px;
}

.contact-text .flex .time select {
	padding: 0 40px 0 30px;
}

.contact-text .flex .content select {
	padding: 0 25px 0 15px;
}

.contact-text .post input {
	width: 130px;
}

.contact-text .address__text {
	flex: 0 0 110px;
	font-size: 1.4rem;
}

select {
	background-position: right 10px center;
}

textarea {
	line-height: 1.5;
}

.textarea::before {
	content: "例）\a・2ドア冷蔵庫　ハイアール5年前くらい　金額不明\a・液晶テレビ　シャープ AQUOS LC-50U45 2016年秋頃 9万くらい\a・8キロ洗濯機　日立 BW-V80B 2017年製 金額不明";
}

.file {
	gap: 10px;
}

.custom-file-label {
	gap: 15px;
}

.custom-file-button {
	width: 120px;
	font-size: 14px;
}

.file-name {
	font-size: 14px;
}

.file-delete {
	min-width: 50px;
	padding: 0 12px;
	font-size: 13px;
}

.file__wrap {
	font-size: 1.2rem;
}

input[type=checkbox] + span {
	font-size: 1.5rem;
}

input[type=checkbox] + span::before,
input[type=checkbox] + span::after {
	top: 8px;
}

input[type=checkbox] + span::after {
	top: 11px;
}

.contact__check {
	margin-top: 40px;
}

.privacy-policy-link {
	text-decoration-thickness: 1px;
}

.submit-button {
	margin-top: 40px;
}

.sumit-button__wrap .button-link {
	justify-content: flex-start;
}

.contact-thanks {
	padding: 70px 0;
}

.contact-thanks .button {
	margin-top: 40px;
}

.contact-thanks__title {
	font-size: 2rem;
}

.contact-thanks__text {
	margin-top: 40px;
}

.contact-thanks__text p {
	text-align: left;
}

.policy {
	padding: 50px 0 70px;
}

.policy__items {
	margin-top: 40px;
}

.policy__item + .policy__item {
	margin-top: 40px;
}

.policy__title {
	font-size: 2rem;
}

.policy__text {
	margin-top: 10px;
}

body {
	font-size: 1.6rem;
}

.sp-d-iblock {
	display: inline-block;
}

.hidden-sp {
	display: none;
}

.block-sp {
	display: block;
}

.inner {
	width: min(100% - 40px, 1200px);
}

.inner2 {
	width: min(100% - 40px, 1080px);
}

.inner3 {
	width: min(100% - 40px, 1340px);
}

.flex {
	display: block;
}

.flex__img {
	margin-top: 30px;
}

.section__title {
	margin-bottom: 30px;
}

.section__title.center + .section__text {
	text-align: left;
}

.section__title.sp-center {
	text-align: center;
}

.section__title.sp-center::after {
	left: 50%;
	transform: translateX(-50%);
}

.section__title .ja {
	font-size: 3rem;
	letter-spacing: 0;
}

.section__text p .d-iblock {
	display: inline;
}

.button {
	margin-top: 40px;
}

.button-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 335px;
	max-width: 100%;
	max-height: 88px;
	margin: auto;
}

.header {
	height: 70px;
	padding: 10px 20px;
}

.header .line-button {
	display: none;
}

.header__logo {
	margin-top: 9px;
}

.header__logo p {
	display: none;
}

.header__logo img {
	width: 110px;
}

.tel-button {
	display: none;
}

.contact-button {
	display: none;
}

.drawer__toggle {
	top: 0;
	right: 0;
	width: 75px;
	height: 70px;
	border-radius: 0 0 0 5px;
	background-color: #0B71DE;
}

.drawer__wrapper {
	height: 22px;
}

.drawer__line {
	width: 35px;
	height: 2px;
	background: #fff;
}

.drawer__line--center {
	top: 10px;
}

.drawer__line--top.active {
	top: 9px;
	background: #fff;
}

.drawer__line--bottom.active {
	bottom: 11px;
	background: #fff;
}

.drawer__nav {
	padding-top: 141px;
}

.drawer__nav .tel-button,
.drawer__nav .contact-button {
	display: block;
}

.drawer__wrap {
	width: 100%;
}

.drawer-contact-button {
	margin-top: 20px;
}

.drawer-contact-button-link {
	height: 63px;
	font-size: 1.8rem;
}

.mainvisual {
	margin-top: 70px;
	padding: 40px 0 60px;
}

.mainvisual::before {
	top: 27px;
	left: 73%;
	width: 535px;
	width: 142.6666666667vw;
	height: 674px;
	height: 179.7333333333vw;
	transform: translateX(-50%);
	background-image: url(../img/cloud_sp.png);
}

.top-mv-loop {
	margin-top: 25px;
}

.top-mv-loop__group {
	padding-right: 20px;
	gap: 20px;
}

.top-mv-loop__item {
	width: 270px;
	width: 72vw;
}

.mainvisual__img img {
	aspect-ratio: 320/360;
}

.mainvisual-copy {
	position: static;
	width: auto;
	padding: 0 20px;
	transform: none;
	background-color: transparent;
}

.mainvisual-copy .button__wrap {
	margin-top: 20px;
}

.mainvisual-copy .button__wrap .tel-button {
	display: block;
	width: 259px;
	height: 52px;
	margin: auto;
}

.mainvisual-copy .button__wrap .tel-button a {
	background-color: #fff;
}

.mainvisual-copy .button__wrap .tel-button .tel-number .number::before {
	margin-right: 8px;
}

.mainvisual-copy .button__wrap .button__wrapper {
	display: flex;
	width: 260px;
	margin: auto;
	gap: 7px;
}

.mainvisual-copy .button__wrap .line-button {
	flex: 0 0 calc(50% - 3.5px);
	margin-top: 15px;
}

.mainvisual-copy .button__wrap .line-button a {
	height: 52px;
}

.mainvisual-copy .button__wrap .contact-button {
	display: block;
	flex: 0 0 calc(50% - 3.5px);
	margin-top: 15px;
}

.mainvisual-copy .button__wrap .contact-button a {
	height: 52px;
	font-size: 1.4rem;
}

.mainvisual-copy .button__wrap .contact-button a::before {
	margin-right: 6px;
}

.mainvisual__title {
	text-align: center;
}

.mainvisual__text {
	margin-top: 10px;
	text-align: center;
}

.top-intro {
	padding-top: 45px;
	padding-top: 12vw;
	overflow: hidden;
}

.top-intro::before {
	height: 200px;
}

.top-intro::after {
	top: -20px;
	width: 766px;
	width: 204.2666666667vw;
	height: 220px;
	height: 58.6666666667vw;
	background-image: url(../img/machinami_white_sp.png);
}

.top-intro .inner2 {
	padding-top: 70px;
}

.top-intro .section__title {
	text-align: left;
}

.top-intro .section__title::before {
	content: none;
}

.top-intro .section__title::after {
	left: 0;
	transform: none;
}

.top-intro .section__text {
	font-size: 1.6rem;
}

.top-intro__content {
	padding: 50px 15px;
	border-radius: 10px 40px 10px 10px;
}

.top-intro__content::after {
	content: none;
}

.top-image {
	margin-top: -90px;
	margin-top: -24vw;
}

.sec {
	padding: 70px 0;
}

.top-feature {
	margin-top: 0;
	overflow: hidden;
}

.top-feature.sec {
	padding-bottom: 70px;
}

.top-feature::before {
	top: 840px;
	width: 100%;
	background-image: url("../img/bg_sp.png");
}

.top-feature .feature__list:first-child::after {
	bottom: -24px;
	left: 3px;
	width: 59px;
	height: 57px;
}

.top-feature .feature__list:nth-child(2)::after {
	right: -26px;
	bottom: -66px;
	width: 50px;
	height: 136px;
}

.top-feature .feature__list:nth-child(3)::after {
	bottom: -35px;
	left: -17px;
	width: 92px;
	height: 77px;
}

.top-feature .feature__list:nth-child(4)::after {
	right: -32px;
	bottom: -44px;
	width: 110px;
	height: 70px;
}

.top-feature .button {
	margin-top: 80px;
	padding: 0 15px;
}

.feature__lists {
	margin-top: 40px;
	padding: 0 15px;
}

.feature__list {
	padding: 20px 14px 40px;
	border-radius: 30px;
}

.feature__list + .feature__list {
	margin-top: 80px;
}

.feature__title {
	flex-direction: column;
	font-size: 2.4rem;
	text-align: center;
}

.feature__title .number {
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	margin: 0 0 5px 0;
	font-size: 2.2rem;
}

.feature__wrap {
	display: block;
	margin-top: 20px;
}

.feature__content {
	margin-top: 20px;
}

.circle__list li::before {
	top: 13px;
}

.home .flow.sec {
	padding-top: 70px;
}

.flow .section__text p {
	text-align: center;
}

.flow .section__text p .d-iblock {
	display: inline-block;
}

.flow__lists {
	display: block;
	margin-top: 40px;
}

.flow__lists::before {
	content: none;
}

.flow__list {
	width: 354px;
	max-width: 100%;
	margin: auto;
}

.flow__list + .flow__list {
	margin-top: 40px;
}

.flow__list .number {
	left: calc(50% - 67px);
	transform: translateX(-50%);
	font-size: 3.6rem;
}

.flow__img {
	width: 180px;
}

.flow__title {
	margin-top: 10px;
	line-height: 1.8;
}

.top-strength__inner {
	border-radius: 40px;
}

.top-strength__inner.sec {
	padding-bottom: 70px;
	padding-bottom: 18.6666666667vw;
}

.top-strength__inner::before {
	top: 121px;
	left: 50%;
	width: 100%;
	height: 369.6vw;
	transform: translateX(-50%);
	background: url("../img/cloud02_sp.png") center top/100% auto no-repeat;
}

.top-strength__inner::after {
	width: 465px;
	width: 124vw;
	height: 62px;
	height: 16.5333333333vw;
	background-image: url(../img/machinami_sp.svg);
}

.top-strength__item {
	width: 100%;
}

.top-strength__item:nth-of-type(even) {
	margin: 40px 0 0 0;
}

.top-strength__item + .top-strength__item {
	margin-top: 40px;
}

.top-strength__wrap {
	margin-top: 15px;
	padding-left: 0;
}

.top-strength__content {
	display: flex;
	align-items: center;
	justify-content: center;
}

.top-strength-icon {
	position: static;
	flex: 0 0 50px;
	height: 50px;
	margin-right: 12px;
	transform: none;
}

.top-strength__title {
	font-size: 2.4rem;
}

.top-service .section__title .ja {
	font-size: 3rem;
}

.top-service {
	margin-top: 0;
}

.top-service.sec {
	padding-bottom: 180px;
	padding-bottom: 48vw;
}

.top-service::after {
	bottom: -15vw;
	width: 139.866667vw;
	height: 63.866667vw;
	background-image: url(../img/top_sec04_bg_sp.png);
}

.top-service .button {
	margin-top: 30px;
}

.top-service__wrap {
	flex-direction: column;
}

.top-service__content {
	display: contents;
}

.top-service__content .section__title {
	order: 1;
}

.top-service__content .section__text {
	order: 2;
}

.top-service__content .button {
	order: 4;
}

.top-service__list {
	order: 3;
	margin: 30px 0 0 0;
}

.top-service__list li + li {
	margin-top: 10px;
}

.top-service__list li a {
	padding: 10px 40px 10px 10px;
}

.top-service__list li a::after {
	right: 15px;
}

.top-service__list li a .icon {
	flex: 0 0 70px;
}

.loop__track {
	animation: loopSlide 40s linear infinite;
}

.loop__wrap {
	padding-right: 40px;
	gap: 40px;
}

.loop__img {
	width: 260px;
	border-radius: 11px;
}

.faq-sec .button {
	padding: 0 28.5px;
}

.faq-sec__wrap {
	flex-direction: column;
}

.faq-sec__content {
	display: contents;
}

.faq-sec__content .section__title {
	order: 1;
}

.faq-sec__content .button {
	order: 3;
}

.faq__content {
	order: 2;
	margin: 0;
}

.question {
	padding: 15px 39px 15px 15px;
}

.answer {
	padding: 10px 15px 15px 15px;
}

.q-list {
	align-items: center;
}

.q-list-left,
.a-list-left {
	flex: 0 0 21px;
	font-size: 2rem;
}

.a-list-right {
	margin-top: -1px;
}

.top-news .inner2 {
	display: flex;
	flex-direction: column;
	width: min(100% - 30px, 1080px);
}

.top-news .section__title {
	order: 1;
}

.top-news .button {
	order: 3;
	margin-top: 40px;
	padding: 0 29.5px;
}

.top-news .button-link {
	max-width: 300px;
	margin: auto;
}

.top-news__inner {
	border-radius: 40px;
	background-image: url(../img/top_news_sp.jpg);
}

.top-news__wrap {
	display: contents;
}

.news__items {
	order: 2;
}

.news__item + .news__item {
	margin-top: 12px;
}

.news__item .info {
	display: block;
	padding: 15px;
}

.news__item .info__category {
	font-size: 1.2rem;
}

.news__item .info__published {
	margin: 0 0 0 10px;
	font-size: 1.4rem;
}

.news__item .info__title {
	margin-top: 5px;
}

.top-shop {
	margin-top: 70px;
	padding-top: 70px;
	padding-bottom: 90px;
	padding-bottom: 24vw;
	border-radius: 40px 40px 0 0;
}

.top-shop .google-map {
	height: 200px;
}

.top-shop .google-map iframe {
	width: 100%;
	height: 200px;
	border-radius: 12px;
}

.shop {
	padding-top: 70px;
}

.shop .inner {
	display: flex;
	flex-direction: column;
}

.shop .section__title {
	order: 1;
}

.shop .button {
	flex: initial;
	order: 3;
	margin: 40px 0 0 0;
	padding: 0 52.5px;
}

.shop__wrapper {
	display: contents;
}

.shop__wrap {
	display: block;
	order: 2;
}

.shop__content {
	margin: 20px 0 0 0;
}

.shop__text {
	font-size: 1.4rem;
}

.top-ecozest {
	padding: 50px 0 70px;
}

.top-ecozest::before {
	top: -24vw;
	height: 58.6666666667vw;
	background-image: url(../img/machinami_white_bottom_sp.png);
}

.top-ecozest .section__title {
	order: 1;
	margin-bottom: 40px;
}

.top-ecozest .section__lead {
	order: 2;
	text-align: center;
}

.top-ecozest .section__text {
	order: 4;
	margin-top: 20px;
}

.top-ecozest .button {
	order: 5;
	margin-top: 30px;
	padding: 0 52.5px;
}

.top-ecozest__wrap {
	flex-direction: column;
}

.top-ecozest__content {
	display: contents;
}

.top-ecozest__img {
	order: 3;
	margin: 30px 0 0 0;
}

.top-ecozest__img img {
	border-radius: 13px;
}

.contact-part {
	padding: 70px 0;
}

.contact-part .section__title {
	margin-bottom: 16px;
}

.contact-part .section__title .en {
	top: -32px;
	left: 46%;
	font-size: 6rem;
}

.contact-part__inner {
	padding: 60px 20px;
	background-image: url(../img/contact_part_sp.jpg);
}

.contact-part__wrapper {
	margin-top: 32px;
}

.contact-part__wrap {
	display: block;
}

.contact-part-tel .tel-number {
	justify-content: center;
}

.contact-part-tel .tel-number a .number {
	font-size: 2.6rem;
}

.contact-part-tel .tel-number a .number::before {
	width: 20px;
	height: 21px;
}

.contact-part-tel__text {
	margin-top: 4px;
}

.estimate-button {
	margin: 20px 0 0 0;
}

.estimate-button .button-link {
	height: 76px;
	margin: auto;
	padding-left: 51px;
	font-size: 1.8rem;
}

.estimate-button .button-link::after {
	right: 30px;
}

.estimate-button .button-link .font-small {
	margin-left: 39px;
	font-size: 1.4rem;
}

.contact-part-buttons {
	display: block;
}

.contact-part-button {
	width: 300px;
	max-width: 100%;
	margin: auto;
}

.contact-part-button.line {
	margin-top: 20px;
}

.contact-part-button.line a .icon {
	flex: 0 0 35px;
}

.contact-part-button a {
	height: 64px;
}

.footer {
	padding: 70px 0 83px;
	border-radius: 40px 40px 0 0;
}

.footer__wrap {
	display: block;
}

.footer-info {
	margin-top: 0;
}

.footer-logo {
	width: 160px;
	margin: auto;
}

.footer-address,
.footer-tel {
	text-align: center;
}

.footer-address .post {
	margin-right: 1em;
}

.footer__contents {
	display: block;
	margin-top: 30px;
}

.footer__nav > ul {
	height: auto;
	margin-left: 0;
}

.footer__nav > ul > li:nth-child(6) {
	margin-bottom: 0;
}

.footer__nav > ul > li:nth-child(12) {
	margin-top: 14px;
}

.calendar {
	width: 280px;
	max-width: 100%;
	margin: 40px auto 0;
}

.footer-calendar-wrap {
	width: 100%;
	max-width: 610px;
	margin-inline: auto;
}

.area-head {
	font-size: 1.8rem;
}

.area__list li {
	flex: 0 0 103px;
}

.footer__copy {
	margin-top: 70px;
}

.pagetop {
	right: 20px;
	bottom: 80px;
	width: 40px;
	height: 40px;
}

.footer-fixed-menu {
	display: block;
	z-index: 2;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 63px;
	padding: 0 3.116%;
}

.footer-fixed-menu .tel-button,
.footer-fixed-menu .contact-button {
	display: block;
}

.footer-fixed-menu .tel-button {
	flex: 0 0 47.875%;
	height: 100%;
	margin-right: 2.549%;
}

.footer-fixed-menu .tel-button a {
	border-radius: 5px;
	background-color: #0B71DE;
}

.footer-fixed-menu .line-button {
	flex: 0 0 23.9%;
	margin-right: 2.549%;
}

.footer-fixed-menu .line-button a {
	flex-direction: column;
	height: 100%;
	border-radius: 5px;
	background-color: #4CC764;
	color: #fff;
}

.footer-fixed-menu .line-button a::before {
	width: 36px;
	height: 34px;
	margin: 5px 0 0 0;
	background-image: url(../img/icon_line_white.svg);
}

.footer-fixed-menu .contact-button {
	flex: 0 0 22.662%;
}

.footer-fixed-menu .contact-button a {
	flex-direction: column;
	height: 100%;
	border-radius: 5px;
}

.footer-fixed-menu .contact-button a::before {
	width: 29px;
	height: 23px;
	margin: 0 0 5px 0;
}

.footer-fixed-menu__wrap {
	display: flex;
	height: 100%;
}

}

@media (max-width: 767px) and (max-width: 767px) {

.footer-fixed-menu .tel-button a .number {
	color: #fff;
	font-size: 1.9rem;
}

.footer-fixed-menu .tel-button a .number::before {
	margin-right: 7px;
	background-image: url(../img/icon_button_tel_white.svg);
}

.footer-fixed-menu .tel-button a .business-hour {
	margin-top: 0;
	color: #fff;
	font-size: 1.2rem;
}

}

@media (max-width: 767px) and (max-width: 359px) {

.footer-fixed-menu .tel-button a .number {
	font-size: 1.8rem;
}

.footer-fixed-menu .tel-button a .number::before {
	margin-right: 3px;
}

}

@media (max-width: 439px) {

.hidden-w440 {
	display: none;
}

}

@media (max-width: 400px) {

.area-sec .area__list li {
	flex: 0 0 calc(50% - 4px);
}

.shop-intro .section__title .ja {
	font-size: 29px;
	font-size: 7.25vw;
}

}

@media (max-width: 389px) {

.hidden-w390 {
	display: none;
}

}

@media (max-width: 380px) {

.hidden-w380 {
	display: none;
}

}

@media (max-width: 374px) {

.about-intro .inner::before {
	left: calc(50% - 142px);
}

.about-intro .inner::after {
	left: calc(50% + 102px);
}

.item-intro .section__title .ja {
	font-size: clamp(25px, 7.9vw, 30px);
}

.company-shop .button-link {
	padding: 17.5px 70px 17.5px 32px;
}

.hidden-w375 {
	display: none;
}

.top-feature .button {
	padding: 0;
}

.feature__title {
	font-size: 2rem;
}

.top-service__list li a {
	padding-right: 29px;
}

.top-service__list li a::after {
	right: 8px;
}

.top-service__list li a .icon {
	flex: 0 0 60px;
	margin-right: 5px;
}

.top-service__list li a .ttl {
	font-size: 1.6rem;
}

.faq-sec .button {
	padding: 0;
}

.top-news .button {
	padding: 0;
}

.shop .button {
	padding: 0;
}

.top-ecozest .button {
	padding: 0;
}

.contact-part .section__title .en {
	font-size: 60px;
	font-size: 16vw;
}

.contact-part-tel .tel-number .free {
	padding: 4.5px 8px;
	font-size: 1.2rem;
}

.contact-part-tel .tel-number a {
	margin-left: 10px;
}

.contact-part-tel .tel-number a .number {
	font-size: 2.2rem;
}

.contact-part-tel .tel-number a .number::before {
	width: 16px;
	height: 18px;
	margin-right: 4px;
}

}

@media (max-width: 359px) {

.page-mainvisual__title {
	font-size: 2.8rem;
}

.archive-item__list li {
	flex: 0 0 calc(50% - 5px);
}

.item-caution__title {
	text-align: left;
}

.tax-city_genre .label .wrap {
	width: 278px;
}

.single-area .label .wrap {
	width: 260px;
}

.tax-area_group .label .wrap {
	width: 260px;
}

.label .icon {
	flex: 0 0 40px;
	height: 40px;
}

.label .icon img {
	max-width: 20px;
	max-height: 30px;
}

.page-intro__title {
	font-size: 2rem;
}

.page-intro__text {
	font-size: 1.8rem;
}

.point__title {
	font-size: 2rem;
}

.caution__title {
	font-size: 1.6rem;
}

.pricing-policy__title {
	font-size: 2rem;
}

.pricing-policy-image .caption span {
	font-size: 1.4rem;
}

.tidying-up .circle__list {
	padding: 10px;
}

.archive-works-meta {
	gap: 5px;
}

.area-case-part .product-table th {
	width: 70px;
	padding: 16px 5px;
}

.recycle-shop__title {
	font-size: 1.8rem;
}

.shop-target__title {
	font-size: 1.8rem;
}

.company-intro__title {
	font-size: 2rem;
}

.evaluation__item .item {
	flex: 0 0 111px;
	font-size: 1.5rem;
}

.contact__check {
	text-align: left;
}

.hidden-sm {
	display: none;
}

.section__title .en {
	font-size: 1.4rem;
}

.section__title .ja {
	font-size: 2.6rem;
}

.mainvisual__title {
	font-size: 30px;
	font-size: 8.3333333333vw;
}

.mainvisual__text {
	font-size: 1.4rem;
}

.flow .section__text p .d-iblock {
	display: inline;
}

.top-service .section__title .ja {
	font-size: 2.6rem;
}

.contact-part .section__title .en {
	left: 42%;
}

.contact-part-tel__text {
	font-size: 1.3rem;
}

.estimate-button .button-link {
	padding-left: 25px;
}

.estimate-button .button-link::after {
	right: 15px;
}

.footer-fixed-menu .line-button a {
	font-size: 1.4rem;
}

.footer-fixed-menu .line-button a .font-large {
	font-size: 1.5rem;
}

}

@keyframes recycleshopLoop {

0% {
	transform: translateX(0);
}

100% {
	transform: translateX(-100%);
}

}

@keyframes top-mv-loop {

from {
	transform: translate3d(0, 0, 0);
}

to {
	transform: translate3d(-50%, 0, 0);
}

}

@keyframes loopSlide {

from {
	transform: translate3d(0, 0, 0);
}

to {
	transform: translate3d(-33.3333%, 0, 0);
}

}

