@charset "UTF-8";
/********************************************************************************

page-top.css　トップページcss

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

/*============================================================
 commonカスタム
*============================================================*/
#main-contents {
	padding-bottom: 0;
	margin-top: 108px;
}
#page-top .section {
	margin-bottom: 0;
}
#page-top .sec-title {
	text-align: center;
}
#page-top .sec-title h2 {
	font-size: 32px;
	font-weight: bold;
	color: #fff;
	line-height: 1.4;
	background: #EAC500;
	border-radius: 62px;
	padding: 12px 24px;
	display: inline-block;
}
#page-top .sub-title {
	font-size: 32px;
	font-weight: 900;
	text-align: center;
	color: var(--common-color-sub);
	margin-bottom: 24px;
}

/*============================================================
 メインビジュアル
*============================================================*/
#page-top #mainvisual .main-block {
	padding-top: 98px;
	min-height: 577px;
	background: url(../images/top/mainvisual-bg.jpg) no-repeat center center / cover;
}
#page-top #mainvisual .main-block .inner {
	position: relative;
	z-index: 1;
}
#page-top #mainvisual .main-block .campaign {
	position: absolute;
	top: -28px;
	left: calc(50% - 478px);
	z-index: -1;
}
#page-top #mainvisual .main-block .title {
	max-width: 527px;
	margin: 0 auto 28px;
}
#page-top #mainvisual .main-block .lead {
	max-width: 700px;
	margin: 0 auto 32px;
}
#page-top #mainvisual .main-block .badge-list {
	gap: 16px;
}
#page-top #mainvisual .main-block .badge-item {
	width: 120px;
}

#page-top #mainvisual .link-block {
	position: relative;
	z-index: 2;
	margin-top: -60px;
}
#page-top #mainvisual .sub-block {
	position: relative;
	padding-top: 76px;
	padding-bottom: 40px;
	z-index: 1;
	margin-top: -44px;
	min-height: 346px;
	background: url(../images/top/mainvisual-sub-bg.svg) no-repeat center center / cover;
}
#page-top #mainvisual .sub-block .merit-list {
	gap: 16px;
}
#page-top #mainvisual .sub-block .merit-item {
	width: 166px;
	text-align: center;
}
#page-top #mainvisual .sub-block .merit-item .img {
	margin-bottom: 16px;
}
#page-top #mainvisual .sub-block .merit-item p {
	font-size: 18px;
	color: #fff;
	line-height: 1.4;
	font-weight: bold;
}

/*============================================================
 キャンペーン
*============================================================*/
#page-top #sec-campaign {
	background: url(../images/top/campaign-bg.svg) no-repeat center center / cover;
	min-height: 1119px;
	padding: 64px 0;
	text-align: center;
}
#page-top #sec-campaign .lead {
	margin-bottom: 48px;
}
#page-top #sec-campaign .list {
	flex-direction: column;
	gap: 40px;
	align-items: center;
	margin-bottom: 40px;
}
#page-top #sec-campaign .note {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.04em;
}

/*============================================================
 選ばれる理由
*============================================================*/
#page-top #sec-reason {
	overflow: hidden;
}
#page-top #sec-reason .heading {
	background: var(--common-color-sub);
	color: #fff;
	text-align: center;
	padding: 48px 0 40px;
}
#page-top #sec-reason .heading-title h2 {
	padding: 16px 24px;
	border-radius: 0;
}
#page-top #sec-reason .heading-lead img:last-child {
	margin: 20px 0;
}
#page-top #sec-reason .block01 {
	margin-bottom: 110px;
	position: relative;
}
#page-top #sec-reason .block01:before {
	content: "";
	position: absolute;
	background: url(../images/top/reason-arrow-bottom.svg) no-repeat;
	background-size: contain;
	width: 80px;
	height: 40px;
	left: 50%;
	transform: translatex(-50%);
	bottom: -70px;
}
#page-top #sec-reason .block01 .bg-area {
	background: url(../images/top/reason-bg-01.jpg) no-repeat center center / cover;
	min-height: 498px;
	position: relative;
	padding-top: 40px;
	margin-bottom: 72px;
}
#page-top #sec-reason .block01 .bg-area:before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 17.5px 30.3px 17.5px;
	border-color: transparent transparent #D9D9D9 transparent;
	top: -15px;
	left: 50%;
	transform: translatey(-50%);
}
#page-top #sec-reason .block01 .bg-area-inner {
	max-width: 1060px;
}
#page-top #sec-reason .block01 .bg-area-line01 {
	text-align: center;
	margin: 0 auto 16px;
}
#page-top #sec-reason .block01 .bg-area-line02 {
	font-size: 48px;
	color: #564798;
	font-weight: 900;
	text-align: center;
	line-height: 1.4;
}
#page-top #sec-reason .block01 .text-area {
	position: relative;
	margin-top: -210px;
}
#page-top #sec-reason .block01 .text-area-inner {
	max-width: 1042px;
}
#page-top #sec-reason .block01 .text-area-lead {
	text-align: center;
	margin-bottom: 72px;
}
#page-top #sec-reason .block01 .text-area-block {
	gap: 64px;
}
#page-top #sec-reason .block01 .text-area-block .img {
	width: 320px;
}
#page-top #sec-reason .block01 .text-area-block .contents {
	width: calc(100% - 384px);
	color: #564798;
}
#page-top #sec-reason .block01 .text-area-block .contents h4 {
	font-size: 32px;
	font-weight: 900;
	margin-bottom: 16px;
	line-height: 1.4;
}
#page-top #sec-reason .block02 .bg-area {
	background: url(../images/top/reason-bg-02.jpg) no-repeat center center / cover;
	min-height: 410px;
	position: relative;
	padding-top: 96px;
	text-align: center;
	margin-bottom: 72px;
}
#page-top #sec-reason .block02 .text-area-inner {
	position: relative;
	padding-bottom: 80px;
}
#page-top #sec-reason .block02 .text-area-outline {
	background: var(--common-color-background0);
	border-radius: 16px;
	padding: 22px 24px 26px;
	max-width: 809px;
	color: #0078CB;
	margin-bottom: 0;
}
#page-top #sec-reason .block02 .text-area-outline h4 {
	font-size: 36px;
	font-weight: 900;
	margin-bottom: 16px;
	line-height: 1.5;
}
#page-top #sec-reason .block02 .text-area-outline p {
	font-size: 18px;
}
#page-top #sec-reason .block02 .text-area-outline p span {
	font-size: 20px;
	font-weight: 700;
}
#page-top #sec-reason .block02 .text-area-img {
	position: absolute;
	right: -40px;
	bottom: 0;
	max-width: 408px;
}

/*============================================================
 その不安、私たちが解決します
*============================================================*/
#page-top #sec-solution {
	background: url(../images/top/solution-bg.svg) no-repeat center center / cover;
	min-height: 446px;
	padding: 48px 0 64px;
	overflow: hidden;
}
#page-top #sec-solution h2 {
	margin-bottom: 24px;
	text-align: center;
}
#page-top #sec-solution .list {
	gap: 15px;
}
#page-top #sec-solution .item {
	width: 310px;
	padding: 52px 12px 32px;
	position: relative;
	background: #fff;
	border: 4px solid #EAC500;
}
#page-top #sec-solution .item-no {
	position: absolute;
	top: 0;
	left: 0;
	background: #EAC500;
	color: #fff;
	font-size: 32px;
	width: 56px;
	height: 56px;
	font-family: 'League Gothic', sans-serif;
	text-align: center;
	padding-top: 13px;
}
#page-top #sec-solution .item-title {
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	line-height: 2;
	margin-bottom: 16px;
}
#page-top #sec-solution .item-title span {
	font-size: 36px;
	color: #EAC500;
}
#page-top #sec-solution .item-text {
	line-height: 1.6;
}

/*============================================================
 清掃・消毒のプロの丁寧な仕上げ
*============================================================*/
#page-top #sec-work {
	background: var(--common-color-background0);
	padding: 80px 0 40px;
}
#page-top #sec-work .sec-title {
	margin-bottom: 48px;
}
#page-top #sec-work .inner > .sub-title {
	line-height: 1.8;
	margin-bottom: 64px;
}
#page-top #sec-work .inner > .sub-title span {
	display: block;
	font-weight: bold;
	font-size: 24px;
}
#page-top #sec-work .list {
	flex-direction: column;
	gap: 40px;
}
#page-top #sec-work .item {
	background: #fff;
	border-radius: 16px;
	border: 4px solid var(--common-color-sub);
	gap: 16px;
	overflow: hidden;
}
#page-top #sec-work .item-contents {
	position: relative;
	padding: 24px;
	max-width: 512px;
	width: 54%;
	z-index: 1;
}
#page-top #sec-work .item-contents h3 {
	text-align: left;
}
#page-top #sec-work .item-img {
	width: 44%;
}
#page-top #sec-work .item-img img {
	height: 100%;
	object-fit: cover;
}
#page-top #sec-work .item-contents .no {
	position: absolute;
	bottom: 0;
	left: 6px;
	z-index: -1;
}
#page-top #sec-work .measures {
	margin-bottom: 64px;
}
#page-top #sec-work .parts-btn {
	width: 100%;
	border-radius: 16px;
}
#page-top #sec-work .parts-btn a {
	padding: 32px 104px 32px 36px;
	gap: 58px;
	position: relative;
}
#page-top #sec-work .parts-btn a:before {
	content: "";
	position: absolute;
	background: url(../images/common/icon-arrow-right-wh.svg) no-repeat;
	background-size: contain;
	width: 40px;
	height: 40px;
	top: 50%;
	transform: translatey(-50%);
	right: 20px;
}
#page-top #sec-work .parts-btn .bg-white {
	background: #fff;
	padding: 8px 24px;
	border-radius: 8px;
}
#page-top #sec-work .parts-btn .bg-white p {
	color: var(--common-color-main);
	font-size: 26px;
	font-weight: 900;
	text-align: center;
	letter-spacing: 0.04em;
	line-height: 1.4;
}
#page-top #sec-work .parts-btn .info {
	max-width: 420px;
}

/*============================================================
 料金プラン
*============================================================*/
#page-top #sec-price {
	background: var(--common-color-background0);
	padding: 80px 0;
}
#page-top #sec-price .sec-title {
	margin-bottom: 48px;
}
#page-top #sec-price .tab-area {
	gap: 80px;
	margin-bottom: 48px;
}
#page-top #sec-price .tab{
	width: 210px;
	text-align: center;
	cursor: pointer;
	padding: 16px 0;
	font-size: 20px;
	color: #666666;
	letter-spacing: -0.01em;
}
#page-top #sec-price .tab.active {
	color: var(--common-color-sub);
	font-weight: bold;
	border-bottom: 4px solid var(--common-color-sub);
}
#page-top #sec-price .panel-area {
	margin-bottom: 48px;
}
#page-top #sec-price .panel {
	display: none;
	text-align: center;
	margin-bottom: 64px;
}
#page-top #sec-price .panel.active {
	flex-direction: column;
	gap: 48px;
	display: flex;
}
#page-top #sec-price .other-info-title {
	display: inline-block;
	font-size: 24px;
	font-weight: bold;
	border-radius: 56px;
	border: 2px solid #212121;
	text-align: center;
	margin: 0 auto 40px;
	padding: 10px 40px;
}
#page-top #sec-price .other-info-contents {
	gap: 12px;
	margin-bottom: 48px;
}
#page-top #sec-price .other-info-contents div {
	background: var(--common-color-sub);
	width: 150px;
	height: 150px;
	border-radius: 50%;
}
#page-top #sec-price .other-info-contents div p {
	color: #fff;
	font-size: 24px;
	line-height: 1.4;
	letter-spacing: 0.16em;
	font-weight: bold;
	text-align: center;
}
#page-top #sec-price .other-info-block {
	gap: 40px;
	margin-bottom: 48px;
}
#page-top #sec-price .other-info-block .img {
	width: 44%;
}
#page-top #sec-price .other-info-block .list {
	width: 51%;
}
#page-top #sec-price .other-info-note {
	text-align: left;
}
#page-top #sec-price .panel.set-plan > p {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.6;
}
#page-top #sec-price .panel.corp-plan > p {
	text-align: left;
	max-width: 594px;
	width: 100%;
	margin: 0 auto;
}

#page-top #sec-price .flow-title {
	font-size: 24px;
	font-weight: bold;
	border-radius: 56px;
	border: 2px solid #212121;
	max-width: 200px;
	text-align: center;
	margin: 0 auto 48px;
	padding: 10px;
}
#page-top #sec-price .flow-list {
	gap: 32px;
	position: relative;
	z-index: 1;
}
#page-top #sec-price .flow-list:before {
	position: absolute;
	content: "";
	background: url(../images/top/flow-arrow-right.svg) no-repeat;
	background-size: contain;
	width: 500px;
	height: 18px;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}
#page-top #sec-price .flow-item {
	background: var(--common-color-sub);
	border-radius: 50%;
	color: #fff;
	width: 200px;
	height: 200px;
	text-align: center;
	padding: 40px 20px 0;
}
#page-top #sec-price .flow-item h3 {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 16px;
}
#page-top #sec-price .flow-item p {
	font-size: 12px;
	line-height: 1.6;
}


/*============================================================
 スタッフ紹介
*============================================================*/
#page-top #sec-staff {
	padding: 56px 0;
	background: url(../images/top/staff-bg.svg) no-repeat center center / cover;
	min-height: 853px;
}
#page-top #sec-staff .sec-title {
	margin-bottom: 24px;
}
#page-top #sec-staff .sub-title {
	margin-bottom: 64px;
	font-weight: bold;
}
#page-top #sec-staff .list {
	gap: 124px;
}
#page-top #sec-staff .item {
	width: 373px;
	text-align: center;
}
#page-top #sec-staff .item-img {
	margin-bottom: 24px;
}
#page-top #sec-staff .item-name {
	color: var(--common-color-sub);
	font-weight: bold;
	font-size: 24px;
	margin-bottom: 16px;
}
#page-top #sec-staff .item-profile {
	font-size: 14px;
	margin-bottom: 16px;
}
#page-top #sec-staff .item-profile dt {
	float: left;
	font-weight: bold;
	width: 148px;
	color: var(--common-color-sub);
	text-align: right;
}
#page-top #sec-staff .item-profile dd {
	margin-left: 176px;
	text-align: left;
}
#page-top #sec-staff .item-license {
	font-size: 20px;
	font-weight: 300;
}

/*============================================================
 実績例
*============================================================*/
#page-top #sec-achievement {
	padding: 80px 0 40px;
	background: var(--common-color-background0);
}
#page-top #sec-achievement .block {
	margin-bottom: 40px;
}
#page-top #sec-achievement .block:last-child {
	margin-bottom: 0;
}
#page-top #sec-achievement .block-title {
	font-weight: bold;
	margin-bottom: 16px;
	line-height: 2;
}
#page-top #sec-achievement .before-after {
	gap: 64px;
	position: relative;
}
#page-top #sec-achievement .before-after:before {
	content: "";
	position: absolute;
	background: url(../images/top/achievement-arrow-right.svg) no-repeat;
	background-size: contain;
	width: 40px;
	height: 80px;
	top: 42%;
	left: 50%;
	transform: translate(-50%,-50%);
}
#page-top #sec-achievement .before-after-item {
	gap: 45%;
	max-width: 448px;
}
#page-top #sec-achievement .before-after-item .img {
	margin-bottom: 16px;
}
#page-top #sec-achievement .before-after-item  p {
	font-weight: bold;
	font-size: 24px;
	line-height: 2;
}
#page-top #sec-achievement .one-col {
	max-width: 448px;
	margin: 16px auto 0;
}
#page-top #sec-achievement .one-col .img {
	margin-bottom: 16px;
}
#page-top #sec-achievement .one-col p {
	text-align: center;
	color: var(--common-color-main);
	font-weight: bold;
	font-size: 24px;
	line-height: 2;
}


/*============================================================
 対応エリア
*============================================================*/
#page-top #sec-area {
	padding: 40px 0 80px;
	margin-bottom: 80px;
	background: var(--common-color-background0);
}
#page-top #sec-area .block {
	gap: 48px;
}
#page-top #sec-area .block-contents {
	width: 60%;
}
#page-top #sec-area .block-contents  h3 {
	font-size: 48px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 24px;
	color: var(--common-color-sub);
}
#page-top #sec-area .block-contents p {
	line-height: 2;
}
#page-top #sec-area .block-contents p.bold {
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 24px;
}
#page-top #sec-area .block-img {
	width: 33%;
}

/*============================================================
 お客様の声
*============================================================*/
#page-top #sec-voice {
	margin-bottom: 80px;
}
#page-top #sec-voice .list {
	flex-direction: column;
	gap: 32px;
}
#page-top #sec-voice .item {
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0px 0px 16px rgba(0, 0, 0, 0.2);
	background: #fff;
}
#page-top #sec-voice .item-contents {
	padding: 32px;
	width: 67%
}
#page-top #sec-voice .item-contents h3 {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.4;
	letter-spacing: 0.04em;
	padding: 0 20px;
	margin-bottom: 20px;
	position: relative;
}
#page-top #sec-voice .item-contents h3:before {
	content: "“";
	position: absolute;
	top: -6px;
	left: 0;
	color: #A3997B;
}
#page-top #sec-voice .item-contents h3:after {
	content: "“";
	position: absolute;
	bottom: -14px;
	right: 0;
	color: #A3997B;
	transform: rotate(-180deg);
}

#page-top #sec-voice .item-contents .tag {
	font-size: 14px;
	line-height: 2;
	margin-bottom: 8px;
}
#page-top #sec-voice .item-contents .tag-place {
	background: #565656;
	color: #fff;
	border-radius: 10px;
	padding: 4px 8px;
	display: inline-block;
	margin-right: 6px;
}
#page-top #sec-voice .item-contents .tag-customer {
	display: inline-block;
}
#page-top #sec-voice .item-contents > p {
	line-height: 2;
}
#page-top #sec-voice .item-img {
	width: 33%;
}
#page-top #sec-voice .item-img img {
	height: 100%;
	object-fit: cover;
}

/*============================================================
 よくあるご質問	
*============================================================*/
#page-top #sec-qa {
	margin-bottom: 80px;
}
#page-top #sec-qa .qa-item {
  padding-top: 32px; 
  list-style: none;
	border-bottom: 2px solid #CCCCCC;
}
#page-top #sec-qa .qa-item .contents.question {
	padding: 0 100px 32px 80px;
	cursor: pointer;
	position: relative;
}
#page-top #sec-qa .qa-item .contents.answer {
	padding: 0px 100px 32px 80px;
  display: none;
}
#page-top #sec-qa .qa-item .contents.question .label {
	position: absolute;
	top: 0;
	left: 26px;
	font-size: 32px;
	color: var(--common-color-sub);
	line-height: 1;
	font-weight: bold;
}
#page-top #sec-qa .qa-item .contents.question p {
	font-size: 20px;
	font-weight: bold;
}
#page-top #sec-qa .qa-item .icon-wrap {
  position: absolute;
  right: 24px;
  top: 8px;
  width: 26px;
  height: 26px;
}
#page-top #sec-qa .qa-item .icon {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}
#page-top #sec-qa .qa-item .icon:before,
#page-top #sec-qa .qa-item .icon:after {
  position: absolute;
  content: "";
  display: block;
  transition: all 0.4s;
  background: #00A0BB;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 3px;
  transform: translate(-50%, -50%);
}
#page-top #sec-qa .qa-item .icon:before {
  transform: translate(-50%, -50%) rotate(90deg);
}
#page-top #sec-qa .qa-item .icon.open:before {
  transform: translate(-50%, -50%) rotate(0deg);
}

/*============================================================
 クリーニング講習会のご案内
*============================================================*/
#page-top #sec-training {
	background: url(../images/top/training-bg.jpg) no-repeat center center / cover;
	min-height: 330px;
	transition: all .3s;
}
#page-top #sec-training:hover {
	opacity: 0.8;
}
#page-top #sec-training a {
	padding: 58px 0;
	display: block;
}
#page-top #sec-training .sec-title {
	margin-bottom: 16px;
}
#page-top #sec-training .sec-title h2 {
	background: #fff;
	color: #333;
}
#page-top #sec-training p {
	text-align: center;
	color: #fff;
	font-size: 20px;
	line-height: 1.8;
	font-weight: bold;
	margin-bottom: 16px;
}
#page-top #sec-training p:last-child {
	margin-bottom: 0;
}
#page-top #sec-training p img {
	margin-left: 6px;
}



/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 Tablet
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
@media screen and (max-width: 1008px) {
	#main-contents {
		margin-top: 102px;
	}
	/*============================================================
 	メインビジュアル
	*============================================================*/
	#page-top #mainvisual .main-block {
		padding-top: 120px;
	}
	#page-top #mainvisual .main-block .title {
		width: 50vw;
	}
	#page-top #mainvisual .main-block .lead {
		width: 58vw;
	}
	#page-top #mainvisual .main-block .campaign {
		width: 24vw;
		left: 0;
	}
	#page-top #mainvisual .link-block .parts-btn a img {
		width: 280px;
	}

	/*============================================================		
	 選ばれる理由
	*============================================================*/
	#page-top #sec-reason .block02 .text-area-img {
		max-width: 338px;
		right: 0;
	}

	/*============================================================
	 その不安、私たちが解決します
	*============================================================*/
	#page-top #sec-solution h2 img {
		max-width: 560px;
		width: 100%;
	}
	
	/*============================================================
	 清掃・消毒のプロの丁寧な仕上げ
	*============================================================*/
	#page-top #sec-work .sec-title {
		margin-bottom: 32px;
	}
	#page-top #sec-work .item-contents {
		width: 53%;
	}
	#page-top #sec-work .parts-btn a {
		gap: 32px;
	}
	#page-top #sec-work .parts-btn .bg-white {
		width: 320px;
	}
	#page-top #sec-work .parts-btn .info {
		width: 40%;
	}
	
	/*============================================================
	 料金プラン
	*============================================================*/
	#page-top #sec-price .tab-area {
		gap: 24px;
	}
	
	/*============================================================
	 スタッフ紹介
	*============================================================*/
	#page-top #sec-staff .list {
		gap: 60px;
	}
	
	/*============================================================
	 実績例
	*============================================================*/
	#page-top #sec-achievement .before-after:before {
		display: none;
	}
	#page-top #sec-achievement .before-after {
		gap: 40px;
	}

	/*============================================================
	 対応エリア
	*============================================================*/
	#page-top #sec-area .block-contents h3 {
		font-size: 40px;
	}
}

@media screen and (max-width: 930px) {
	/*============================================================
	 料金プラン
	*============================================================*/
	#page-top #sec-price .flow {
		width: 100vw;
		margin-left: calc(50% - 50vw);
	}
	#page-top #sec-price .flow-list {
		margin-left: 16px;
		justify-content: flex-start;
		flex-wrap: nowrap;
		overflow-x: scroll;
	}
	#page-top #sec-price .flow-list:before {
		left: 200px;
		transform: none;
	}
	#page-top #sec-price .flow-item {
		min-width: 200px;
	}
	
}



/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
 SP
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
@media screen and (max-width: 767px) {
    /*============================================================
     ページヘッダー
    *============================================================*/
	#page-top .sec-title h2 {
		font-size: 24px;
	}
	#page-top .sub-title {
		font-size: 20px;
	}
	
	/*============================================================
	 メインビジュアル
	*============================================================*/
	#page-top #mainvisual .main-block .title {
		width: 58vw;
	}
	#page-top #mainvisual .main-block .lead {
		width: 78vw;
	}
	#page-top #mainvisual .link-block .parts-btn a img {
		width: 240px;
	}


	/*============================================================
	 キャンペーン
	*============================================================*/
	#page-top #sec-campaign {
		min-height: 920px;
	}
	
	/*============================================================
	 選ばれる理由
	*============================================================*/
	#page-top #sec-reason .block01 .bg-area {
		min-height: 370px;
		margin-bottom: 48px;
	}
	#page-top #sec-reason .heading-lead img:last-child {
		max-width: 440px;
		margin: 8px 0 16px;
		width: 100%;
	}
	#page-top #sec-reason .block01 .bg-area-line01 {
		width: 80px;
	}
	#page-top #sec-reason .block01 .bg-area-line02 {
		font-size: 32px;
	}
	#page-top #sec-reason .block01 .text-area {
		margin-top: -130px;
	}
	#page-top #sec-reason .block01 .text-area-lead {
		margin-bottom: 40px;
	}
	#page-top #sec-reason .block01 .text-area-lead img {
		max-width: 560px;
		width: 100%;
	}
	#page-top #sec-reason .block01 .text-area-block {
		flex-direction: column;
		align-items: center;
		gap: 40px;
	}
	#page-top #sec-reason .block01 .text-area-block .img {
		width: 100%;
		max-width: 320px;
	}
	#page-top #sec-reason .block01 .text-area-block .contents {
		width: 100%;
	}
	#page-top #sec-reason .block02 .text-area-img {
		width: 40%;
		right: -8px;
	}
	#page-top #sec-reason .block02 .text-area-outline h4 {
		font-size: 24px;
	}
	#page-top #sec-reason .block02 .text-area-outline p {
		font-size: 16px;
	}
	
	/*============================================================
	 清掃・消毒のプロの丁寧な仕上げ
	*============================================================*/
	#page-top #sec-work .inner > .sub-title {
		margin-bottom: 40px;
	}
	#page-top #sec-work .inner > .sub-title span {
		font-size: 16px;
		margin-top: 8px;
	}
	#page-top #sec-work .list {
		align-items: center;
	}
	#page-top #sec-work .item {
		gap: 0;
	}
	#page-top #sec-work .item-contents {
		width: 100%;
		max-width: 100%;
	}
	#page-top #sec-work .item-contents h3 {
		margin-bottom: 16px;
	}
	#page-top #sec-work .item-contents .no {
		width: 68px;
		bottom: auto;
		left: auto;
		top: 8px;
		right: 16px;
	}
	#page-top #sec-work .item-img {
		width: 100%;
	}
	#page-top #sec-work .parts-btn a {
		gap: 20px;
		padding: 24px 80px 24px 32px;
	}
	#page-top #sec-work .parts-btn .bg-white p {
		font-size: 20px;
	}
	#page-top #sec-work .parts-btn .info {
		width: 240px;
	}
	#page-top #sec-work .measures img.forPC {
		display: block;
	}
	#page-top #sec-work .measures img.forSP {
		display: none;
	}
	
	/*============================================================
	 料金プラン
	*============================================================*/
	#page-top #sec-price .tab-area {
		flex-wrap: nowrap;
		gap: 0;
	}
	#page-top #sec-price .tab {
		font-size: 16px;
		padding: 12px 0;
	}
	#page-top #sec-price .other-info-block {
		max-width: 440px;
		justify-content: center;
		gap: 24px;
		margin: 0 auto 24px;
	}
	#page-top #sec-price .other-info-block .img {
		width: 100%;
	}
	#page-top #sec-price .other-info-block .list {
		width: 100%;
	}
	#page-top #sec-price .panel.set-plan > p {
		font-size: 20px;
	}
	
	/*============================================================
	 スタッフ紹介
	*============================================================*/
	#page-top #sec-staff {
		padding: 60px 0;
	}
	#page-top #sec-staff .sub-title {
		margin-bottom: 40px;
	}
	#page-top #sec-staff .list {
		gap: 40px;
	}
	#page-top #sec-staff .item-name {
		font-size: 20px;
	}
	#page-top #sec-staff .item-text {
		font-size: 16px;
	}
	
	/*============================================================
	 実績例
	*============================================================*/
	#page-top #sec-achievement .one-col p {
		font-size: 16px;
	}
	
	/*============================================================
	 対応エリア
	*============================================================*/
	#page-top #sec-area {
		padding: 32px 0 56px;
	}
	#page-top #sec-area .block {
		flex-direction: column;
		gap: 40px;
		max-width: 480px;
		margin: 0 auto;
	}
	#page-top #sec-area .block-contents {
		width: 100%;
		text-align: center;
	}
	#page-top #sec-area .block-contents h3 {
		font-size: 32px;
	}
	#page-top #sec-area .block-img {
		width: 100%;
	}
	
	/*============================================================
	 お客様の声
	*============================================================*/
	#page-top #sec-voice .item {
		max-width: 480px;
	}
	#page-top #sec-voice .item-img {
		width: 100%;
		max-width: 100%;
		max-height: 300px;
	}
	#page-top #sec-voice .item-img img {
		width: 100%;
	}
	#page-top #sec-voice .item-contents {
		width: 100%;
	}
	#page-top #sec-voice .item-contents h3 {
		font-size: 24px;
		padding: 0 16px;
	}

	/*============================================================
	 よくあるご質問	
	*============================================================*/
	#page-top #sec-qa .qa-item {
		padding-top: 24px;
	}
	#page-top #sec-qa .qa-item .contents.question {
		padding: 0 40px 24px 52px;
	}
	#page-top #sec-qa .qa-item .contents.question p {
		font-size: 16px;
	}
	#page-top #sec-qa .qa-item .contents.question .label {
		font-size: 28px;
		left: 12px;
	}
	#page-top #sec-qa .qa-item .icon-wrap {
		width: 22px;
		height: 22px;
		top: 5px;
		right: 10px;
	}
	#page-top #sec-qa .qa-item .contents.answer {
		padding: 0px 6px 24px 52px;
	}
	
}


@media screen and (max-width: 480px) {
	/*============================================================
	 メインビジュアル
	*============================================================*/
	#page-top #mainvisual .main-block {
		background: url(../images/top/mainvisual-bg-sp.jpg) no-repeat center center / cover;
		padding-top: 190px;
	}
	#page-top #mainvisual .main-block .title {
		width: 270px;
		margin-bottom: 20px;
	}
	#page-top #mainvisual .main-block .lead {
		width: 100%;
	}
	#page-top #mainvisual .main-block .badge-item {
		width: 94px;
	}
	#page-top #mainvisual .main-block .campaign {
		top: -70px;
	}
	#page-top #mainvisual .link-block .parts-btn a img {
		width: 200px;
	}
	#page-top #mainvisual .link-block .parts-btn:before {
		right: 10px;
	}
	#page-top #mainvisual .sub-block .merit-list {
		flex-direction: column;
		align-items: center;
	}
	
	/*============================================================
	 キャンペーン
	*============================================================*/
	#page-top #sec-campaign {
		padding: 40px 0;
		min-height: 780px;
	}
	#page-top #sec-campaign .lead {
		margin-bottom: 32px;
	}

	/*============================================================
	 選ばれる理由
	*============================================================*/
	#page-top #sec-reason .heading-title h2 {
		padding: 16px;
	}
	#page-top #sec-reason .heading-lead img:last-child {
		margin: 0 0 8px;
	}
	#page-top #sec-reason .block01 .bg-area {
		min-height: 330px;
	}
	#page-top #sec-reason .block01 .text-area {
		margin-top: -104px;
	}
	#page-top #sec-reason .block01 .bg-area-line02 {
		font-size: 24px;
	}
	#page-top #sec-reason .block01 .text-area-block {
		gap: 24px;
	}
	#page-top #sec-reason .block01 .text-area-block .contents h4 {
		font-size: 24px;
	}
	#page-top #sec-reason .block02 .text-area-outline {
		padding: 16px 10px 20px;
	}
	#page-top #sec-reason .block02 .text-area-outline p {
		font-size: 14px;
	}
	#page-top #sec-reason .block02 .text-area-img {
		right: -40px;
	}
	
	/*============================================================
	 その不安、私たちが解決します
	*============================================================*/
	#page-top #sec-solution .item-title span {
		font-size: 32px;
	}
	
	/*============================================================
	 清掃・消毒のプロの丁寧な仕上げ
	*============================================================*/
	#page-top #sec-work {
		padding: 40px 0;
	}
	#page-top #sec-work .item-img {
		height: 228px;
		min-height: initial;
		overflow: hidden;
	}
	#page-top #sec-work .measures {
		width: 100vw;
		margin-left: calc(50% - 50vw);
	}
	#page-top #sec-work .measures img.forPC {
		display: none;
	}
	#page-top #sec-work .measures img.forSP {
		display: block;
	}
	#page-top #sec-work .parts-btn .bg-white p {
		font-size: 16px;
	}
	
	/*============================================================
	 料金プラン
	*============================================================*/
	#page-top #sec-price {
		padding: 40px 0;
	}
	#page-top #sec-price .sec-title {
		margin-bottom: 24px;
	}
	#page-top #sec-price .other-info-title {
		font-size: 18px;
	}
	#page-top #sec-price .flow-title {
		font-size: 18px;
		margin-bottom: 32px;
	}
	
	/*============================================================
	 実績例
	*============================================================*/
	#page-top #sec-achievement {
		padding: 40px 0;
	}
	#page-top #sec-achievement .before-after {
		gap: 24px;
	}
	#page-top #sec-achievement .before-after-item p {
		font-size: 16px;
	}
	#page-top #sec-achievement .one-col {
		margin-top: 24px;
	}
	
	/*============================================================
	 対応エリア
	*============================================================*/
	#page-top #sec-area .block-contents p.bold {
		font-size: 18px;
	}
	
	/*============================================================
	 お客様の声
	*============================================================*/	
	#page-top #sec-voice .item-contents {
		padding: 24px;
	}
	
	/*============================================================
	 クリーニング講習会のご案内
	*============================================================*/
	#page-top #sec-training {
		min-height: 266px;
	}
	#page-top #sec-training .sec-title h2 {
		font-size: 20px;
	}
	#page-top #sec-training a {
		padding: 56px 0;
	}
	#page-top #sec-training p {
		font-size: 16px;
	}
	#page-top #sec-training p img {
		width: 28px;
	}
	

}

