@charset "UTF-8";

:root {
	--color-text: #333333;
	--color-white: #ffffff;
	--color-blue: #2a7abf;
	--color-green: #44af35;
	--color-sky: #1dabdc;
	--color-header-bg: rgba(255, 255, 255, 0.96);
	--color-fv-overlay: rgba(255, 255, 255, 0.82);
	--header-height: 85px;
	--side-btn-width: 72px;
	--transition: 0.3s ease;
}

* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	list-style: none;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--color-text);
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.6;
	background: #fff;
	font-size: 16px;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sp {
	display: none !important;
}

.pc {
	display: block !important;
}

main {
	background-image: url(../images/bg_gra01.png);
	background-size: 100% auto;
	background-position: top;
	background-repeat: no-repeat;
	margin-top: -1px;
}

@media (max-width: 768px) {
	.sp {
		display: block !important;
	}

	.pc {
		display: none !important;
	}
}

/* ヘッダー */
.l-header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	height: var(--header-height);
	background: var(--color-header-bg);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
}

.l-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1920px;
	height: 100%;
	margin: 0 auto;
	padding: 0 56px;
}

.l-header__logo {
	margin: 0;
	flex-shrink: 0;
	z-index: 100000;
}

.l-header__logo img {
	width: 260px;
	max-width: 100%;
}

.l-header__logo a {
	display: block;
}


.l-header__nav {
	margin-left: 40px;
}

.l-header__navList {
	display: flex;
	align-items: center;
	gap: 44px;
}

.l-header__navList a {
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	color: var(--color-text);
	transition: color var(--transition);
}

.l-header__navList a:hover,
.l-header__navList a.is-current {
	color: var(--color-blue);
}

/* 右固定ボタン */
.c-fixed-contact {
	position: fixed;
	top: 325px;
	right: 0;
	z-index: 999;
	display: flex;
	flex-direction: column;
	gap: 0px;
}

.c-fixed-contact__btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 64px;
	min-height: 115px;
}

.c-fixed-contact__btn:hover {
	opacity: 0.95;
}

.c-fixed-contact__btn--tel {
	background-image: url(../images/btn_tel.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
}

.c-fixed-contact__btn--mail {
	background-image: url(../images/btn_mail.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
}

.c-fixed-contact__btn--schedule {
	background-image: url(../images/btn_calender.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
}

.c-fixed-contact__icon {
	display: block;
	margin-bottom: 10px;
	font-size: 29px;
	line-height: 1;
}

.c-fixed-contact__label {
	font-size: 21px;
	font-weight: 700;
	line-height: 1.3;
}

/* FV */
.p-fv {
	position: relative;
	min-height: 100vh;
	padding-top: 42px;
	overflow: hidden;
}

.p-fv__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.p-fv__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-fv__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0px 20px;
	min-height: 100vh;
}

.p-fv__box {
	width: 100%;
	max-width: 760px;
	padding: 30px 30px 40px;
	background: var(--color-fv-overlay);
	border-radius: 10px;
	text-align: center;
}

.p-fv__lead {
	margin: 0 0 18px;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
}

.p-fv__logoTitle {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	margin-bottom: 34px;
}

.p-fv__mark {
	width: 560px;
}

.p-fv__siteTitle {
	margin: 0;
	font-size: 73px;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

.p-fv__points {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	max-width: 930px;
	margin: 0 auto 34px;
}

.p-fv__points li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 90px;
	padding: 10px 10px;
	background: url(../images/topmv_boxbg.png) no-repeat top / cover;
	color: var(--color-white);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	border-radius: 6px;
	text-align: center;
}

.p-fv__text {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 2;
}

/* ダミーsection */
.js-watch-section {
	min-height: 10px;
}

.l-header__toggle {
	display: none;
}

/* レスポンシブ */
@media (max-width:1150px) {
	:root {
		--header-height: 75px;
	}

	.l-header {
		position: relative;
		z-index: 100;
		height: var(--header-height);
		background: rgba(255, 255, 255, 1);
	}

	.l-header__inner {
		padding: 0 14px 0 16px;
	}

	.l-header__logo img {
		width: 230px;
	}

	.l-header__toggle {
		position: fixed;
		z-index: 120;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 6px;
		width: 44px;
		height: 44px;
		padding: 0;
		border: none;
		background: #2d87d7;
		cursor: pointer;
		flex-shrink: 0;
		right: 10px;
	}

	.l-header__toggle span {
		display: block;
		width: 22px;
		height: 2px;
		margin: 0 auto;
		background: #fff;
		transition: all 0.3s ease;
	}

	/* 開いた時に×にする */
	.l-header.is-open .l-header__toggle {
		justify-content: center;
		gap: 0;
	}

	.l-header.is-open .l-header__toggle span:nth-child(1) {
		transform: translateY(2px) rotate(45deg);
	}

	.l-header.is-open .l-header__toggle span:nth-child(2) {
		opacity: 0;
	}

	.l-header.is-open .l-header__toggle span:nth-child(3) {
		transform: translateY(-2px) rotate(-45deg);
	}

	/* 背景 */
	.l-header__overlay {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.15);
		opacity: 0;
		visibility: hidden;
		transition: 0.3s;
		z-index: 105;
	}

	.l-header.is-open .l-header__overlay {
		opacity: 1;
		visibility: visible;
	}

	/* メニュー本体 */
	.l-header__nav {
		position: fixed;
		top: 0;
		right: 0;
		width: min(100%, 520px);
		height: 100vh;
		padding: 90px 34px 40px;
		background: #fff;
		transform: translateX(100%);
		transition: transform 0.35s ease;
		z-index: 110;
		overflow-y: auto;
	}

	.l-header.is-open .l-header__nav {
		transform: translateX(0);
	}

	.l-header__navList {
		margin: 0;
		padding: 0;
		list-style: none;
		flex-direction: column;
		gap: 0px;
	}

	.l-header__navList li {
		border-top: 1px solid #555;
		width: 100%;
	}

	.l-header__navList li:last-child {
		border-bottom: 1px solid #555;
	}

	.l-header__navList a {
		display: block;
		padding: 22px 0;
		color: #333;
		font-size: 1.8vw;
		font-weight: 600;
		text-decoration: none;
	}

	.l-header__navList a.is-current {
		color: #2d87d7;
	}

	.c-fixed-contact {
		display: none;
	}
}

@media (max-width:768px) {
	:root {
		--header-height: 100px;
	}

	.l-header {
		height: var(--header-height);
		background: rgba(255, 255, 255, 1);
	}

	.l-header__logo {
		width: 55%;
	}

	.l-header__logo img {
		width: 100%;
	}

	.l-header__navList a {
		font-size: 3.6vw;
	}

	.p-fv__inner {
		/*min-height: auto;*/
	}

	.p-fv {
		margin-top: -100px;
	}
}

.p-fixed-footer {
	display: none;
}

@media (max-width: 768px) {
	.p-fixed-footer {
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 999;
		display: flex;
		width: 100%;
		height: 80px;
		transform: translateY(100%);
		transition: transform 0.3s ease;
	}

	.p-fixed-footer.is-show {
		transform: translateY(0);
	}

	.p-fixed-footer__item {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 8px;
		text-decoration: none;
		color: #fff;
		text-align: center;
		padding: 8px 6px;
	}

	.p-fixed-footer__item.is-tel {
		background: #2f7fc3;
	}

	.p-fixed-footer__item.is-mail {
		background: #28a9db;
	}

	.p-fixed-footer__item.is-calendar {
		background: #49b52f;
	}

	.p-fixed-footer__icon {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 20px;
	}

	.p-fixed-footer__icon img {
		max-height: 20px;
		width: auto;
		display: block;
	}

	.p-fixed-footer__label {
		font-size: 3.6vw;
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0.08em;
	}

}

@media (max-width: 450px) {
	.p-fixed-footer {
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 999;
		display: flex;
		width: 100%;
		height: 60px;
		transform: translateY(100%);
		transition: transform 0.3s ease;
	}
}

.p-campaign {
	padding: 64px 20px 72px;
}

.p-campaign__inner {
	max-width: 1080px;
	margin: 0 auto;
}

.p-campaign__toggle {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	appearance: none;
}

.p-campaign__toggle img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 10px 10px 0 0;
}

.p-campaign__detail {
	max-height: 0;
	overflow: hidden;
	background: #fff;
	border-radius: 0 0 10px 10px;
	transition: max-height 0.45s ease;
}

.p-campaign.is-open .p-campaign__detail {
	max-height: 1200px;
}

.p-campaign__detailInner {
	padding: 34px 72px 38px;
}

.p-campaign__content h3 {
	margin: 0 0 5px -10px;
	color: #2a7abf;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
}

.p-campaign__content h3:not(:first-child) {
	margin-top: 34px;
}

.p-campaign__content p,
.p-campaign__content li {
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
}

.p-campaign__content ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-campaign__content li {
	position: relative;
	padding-left: 1.2em;
}

.p-campaign__content li::before {
	content: "■";
	position: absolute;
	top: 0;
	left: 0;
}

.p-campaign__btnWrap {
	margin-top: 42px;
}

.c-btn-mail {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 275px;
	min-height: 50px;
	padding: 12px 24px;
	border-radius: 999px;
	background: #2a7abf;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
}

.c-btn-mail img {
	width: 19px;
	height: auto;
	margin-right: 5px;
	vertical-align: middle;
}


@media (max-width: 768px) {
	.p-campaign {
		padding: 2.4em 2em 3em;
	}

	.p-campaign__inner {
		max-width: 100%;
	}

	.p-campaign__toggle {
		width: 100%;
	}

	.p-campaign__toggle img {
		width: 100%;
		border-radius: 8px 8px 0 0;
	}

	.p-campaign__detail {
		max-height: 0;
		overflow: hidden;
		background: #fff;
		border-radius: 0 0 8px 8px;
		transition: max-height 0.45s ease;
	}

	.p-campaign.is-open .p-campaign__detail {
		max-height: 1200px;
	}

	.p-campaign__detailInner {
		padding: 18px 16px 20px;
	}

	.p-campaign__content h3 {
		margin: 0 0 10px -17px;
		line-height: 1.6;
	}

	.p-campaign__content h3:not(:first-child) {
		margin-top: 24px;
	}

	.p-campaign__content p,
	.p-campaign__content li {
		line-height: 1.6;
	}

	.p-campaign__content ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.p-campaign__content li {
		margin-bottom: 1em;
	}

	.p-campaign__content li::before {
		content: "■";
		position: absolute;
		top: 0;
		left: 0;
	}

	.p-campaign__btnWrap {
		margin-top: 22px;
		text-align: center;
	}

	.c-btn-mail {
		line-height: 2.4;
		min-width: 80%;
	}
}

.p-plan {
	padding: 80px 20px 100px;
}

.p-plan__inner {
	max-width: 1080px;
	margin: 0 auto;
}

.p-plan__heading {
	margin-bottom: 28px;
	text-align: center;
}

.p-plan__title {
	display: inline-block;
	margin: 0;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	font-size: 45px;
	font-style: normal;
	line-height: 1.3;
	background: linear-gradient(270deg, #2a7abf 0%, #1dabdc 50%, #44af35 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.p-plan__lead {
	margin: 50px 0 0;
	font-size: 30px;
	line-height: 1.5;
	color: #3e3a39;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
}

.p-plan__tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.p-plan__tab {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	min-height: 92px;
	padding: 20px 24px;
	border: none;
	border-radius: 8px 8px 0 0;
	background: #1dabdc;
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	cursor: pointer;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.p-plan__tab:nth-child(2) {
	background: #2a7abf;
}

.p-plan__tab:hover {
	opacity: 0.92;
}

.p-plan__tab.is-active {
	opacity: 1;
}

.p-plan__tabIcon {
	font-size: 3rem;
	line-height: 1;
}

.p-plan__tabIcon img {
	width: 56px;
	height: auto;
}

.p-plan__tabIcon.bsns img {
	width: 35px;
	height: auto;
}

.p-plan__tabArrow {
	width: 0;
	height: 0;
	border-left: 11px solid transparent;
	border-right: 11px solid transparent;
	border-top: 14px solid #fff;
}

.p-plan__panels {
	position: relative;
}

.p-plan__panel {
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	background: #fff;
	border-top: none;
	border-radius: 0 0 18px 18px;
}

.p-plan__panel.is-active {
	max-height: 5000px;
	opacity: 1;
}

.p-plan__panelInner {
	padding: 34px 110px 46px;
}

#plan-personal.is-active {
	border: 4px solid #1dabdc;
}

#plan-personal.is-active .p-plan__panelInner {}

/* 法人 */
#plan-business.is-active {
	border: 4px solid #2a7abf;
}

#plan-business.is-active .p-plan__panelInner {}

.p-plan__switchText {
	margin: 0 0 34px;
	text-align: left;
	color: #1dabdc;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.8;
}

.p-plan__switchText.hj {
	color: #2a7abf;
}

.p-plan__mainTitle {
	margin-bottom: 30px;
	text-align: center;
}

.p-plan__mainIcon {
	font-size: 4.2rem;
	line-height: 1;
}

.p-plan__mainIcon img {
	width: 56px;
}

.p-plan__mainLabel {
	margin: 10px 0 0;
	color: #1dabdc;
	font-size: 40px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.3;
}

.p-plan__mainLabel.hj {
	color: #2a7abf;
}

.p-plan__mainTitle h3 {
	margin: 0;
	color: #1dabdc;
	font-size: 40px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.2;
}

.p-plan__mainTitle h3.hj {
	color: #2a7abf;
}

.p-plan__note {
	margin: 10px 0 0;
	color: #333;
	font-size: 16px;
	line-height: 1.6;
}

.p-plan__section+.p-plan__section {
	margin-top: 42px;
}

.p-plan__sectionTitle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 340px;
	min-height: 40px;
	margin: 0 auto 22px;
	border-radius: 4px;
	background: #1dabdc;
	color: #fff;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
}

.p-plan__list {
	margin: 0;
	border-top: 1px solid #89d3ef;
}

.p-plan__row {
	padding: 16px 0 14px;
	border-bottom: 1px solid #89d3ef;
}

.p-plan__row dt {
	margin: 0 0 8px;
	color: #1dabdc;
	font-size: 23px;
	font-weight: 500;
	line-height: 1.5;
}

.p-plan__row.hj dt {
	color: #2a7abf;
}

.p-plan__row dd {
	margin: 0;
	color: #333;
}

.p-plan__row dd p {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
}

.p-plan__row dd strong {
	display: block;
	margin-top: 6px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5;
}

.p-plan__buttons {
	display: flex;
	justify-content: center;
	gap: 80px;
	margin-top: 34px;
}

.p-plan__buttons.margn_btm {
	margin-bottom: 100px;
}

.p-plan__buttons--bottom {
	margin-top: 30px;
}

.p-plan__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 250px;
	min-height: 50px;
	padding: 10px 22px;
	border-radius: 999px;
	background: #2a7abf;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.p-plan__btn:hover {
	opacity: 0.9;
	transform: translateY(-2px);
}

.p-plan__priceSystem {
	margin-top: 44px;
}

.p-plan__priceSystem h4 {
	margin: 0 0 20px;
	text-align: center;
	color: #1fa7df;
	font-size: 30px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.4;
}

.p-plan__priceSystem.hj h4 {
	color: #2a7abf;
}

.p-plan__priceSystem h4+p {
	font-size: 16px;
	margin-bottom: 20px;
	line-height: 1.4;
}

.p-plan__priceBox {
	padding: 18px 0 16px;
	border-top: 1px solid #89d3ef;
}

.p-plan__priceBox:last-child {
	border-bottom: 1px solid #89d3ef;
}

.p-plan__priceBox p {
	margin: 0;
	color: #333;
	font-size: 16px;
	line-height: 1.6;
	font-weight: 500;
}

.p-plan__priceBox p>strong {
	color: #1dabdc;
	font-size: 23px;
	font-weight: 500;
}

.p-plan__priceBox.hj p>strong {
	color: #2a7abf;
}

.p-plan__priceBox p>strong>span {
	font-size: 18px;
}

.p-plan__priceBox p>span,
.p-plan__row p>span {
	font-style: normal;
	font-weight: 500;
	color: #333;
	font-size: 20px;
}

.p-plan__priceBox p>span.hj {
	color: #2a7abf;
	font-size: 16px;
}

@media (max-width: 768px) {
	.p-plan {
		padding: 2.5em 2em 3em;
	}

	.p-plan__inner {
		max-width: 100%;
	}

	.p-plan__heading {
		margin-bottom: 14px;
		text-align: center;
	}

	.p-plan__title {
		margin: 0;
		font-weight: 900;
		line-height: 1.25;
	}

	.p-plan__lead {
		margin: 12px 0 0;
		line-height: 1.4;
	}

	.p-plan__tabs {
		grid-template-columns: repeat(2, 1fr);
		gap: 0;
	}

	.p-plan__tab {
		display: block;
	}

	.p-plan__tab span {
		display: block;
	}

	.p-plan__tab:first-child {
		border-radius: 6px 0 0 0;
	}

	.p-plan__tab:last-child {
		border-radius: 0 6px 0 0;
	}

	.p-plan__tabIcon {
		text-align: left;
	}

	.p-plan__tabIcon img {
		width: auto;
		height: 30px;
	}

	.p-plan__tabIcon.bsns img {
		width: auto;
		height: 30px;
	}

	.p-plan__tabText {
		text-align: left;
		line-height: 1.2;
		display: inline-block;
	}

	.p-plan__tabArrow {
		border-left-width: 4.5vw;
		border-right-width: 4.5vw;
		border-top-width: 4.5vw;
		flex-shrink: 0;
		margin-left: auto;
		margin-top: 10px;
		display: inline-block;
	}

	.p-plan__tabArrow.right {
		margin-top: -30px;
	}

	.p-plan__panel {
		border-width: 2px;
		border-radius: 0 0 10px 10px;
	}

	.p-plan__panel.is-active {
		max-height: 8000px;
	}

	.p-plan__panelInner {
		padding: 2em 2em 4em;
	}

	.p-plan__switchText {
		margin: 0 0 2em;
		line-height: 1.4;
		text-align: left;
	}

	.p-plan__mainTitle {
		margin-bottom: 18px;
	}

	.p-plan__mainIcon {
		font-size: 22px;
	}

	.p-plan__mainLabel {
		margin: 6px 0 0;
		font-size: 13px;
		line-height: 1.3;
	}

	.p-plan__mainTitle h3 {
		margin: 0;
		line-height: 1.2;
	}

	.p-plan__note {
		margin: 6px 0 0;
		font-size: 8px;
		line-height: 1.6;
	}

	.p-plan__section+.p-plan__section {
		margin-top: 24px;
	}

	.p-plan__sectionTitle {
		max-width: 100%;
		margin: 0 auto .8em;
	}

	.p-plan__list {
		border-top-width: 1px;
	}

	.p-plan__row {
		padding: 1em 0;
	}

	.p-plan__row dt {
		margin: 0 0 4px;
		line-height: 1.45;
	}

	.p-plan__row dd p {
		line-height: 1.9;
	}

	.p-plan__row dd strong {
		margin-top: 3px;
		line-height: 1.5;
	}

	.p-plan__buttons {
		flex-direction: column;
		gap: 40px;
		margin-top: 2em;
	}

	.p-plan__buttons--bottom {
		margin-top: 2.5em;
	}

	.p-plan__buttons.margn_btm {
		margin-bottom: 5em;
	}

	.p-plan__btn {
		width: 90%;
		min-width: 0;
		min-height: 60px;
		padding: 1em 0 1.1em;
		margin-left: auto;
		margin-right: auto;
		border-radius: 10000px;
		line-height: 1.2;
	}

	.p-plan__priceSystem {
		margin-top: 1.5em;
	}

	.p-plan__priceSystem h4 {
		margin: 0 0 1em;
		line-height: 1.35;
	}

	.p-plan__priceBox {
		padding: 10px 0 8px;
	}

	.p-plan__priceBox p {
		font-size: 8px;
		line-height: 1.9;
	}
}

.p-gallery-loop {
	overflow: hidden;
	width: 100%;
	background: #fff;
}

.p-gallery-loop__track {
	display: flex;
	width: max-content;
	animation: galleryLoop 50s linear infinite;
	will-change: transform;
}

.p-gallery-loop__group {
	display: flex;
	flex-shrink: 0;
}

.p-gallery-loop__item {
	flex-shrink: 0;
	width: 384px;
	height: 270px;
}

.p-gallery-loop__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-gallery-loop:hover .p-gallery-loop__track {
	animation-play-state: paused;
}

@keyframes galleryLoop {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

@media (max-width: 767px) {
	.p-gallery-loop__item {
		width: 240px;
		height: 170px;
	}

	.p-gallery-loop__track {
		animation: galleryLoop 22s linear infinite;
	}
}

.p-news {
	padding: 80px 20px 96px;
	background: #f3f3f3;
}

.p-news__inner {
	max-width: 1080px;
	margin: 0 auto;
}

.p-news__heading {
	margin-bottom: 32px;
}

.p-news__title {
	margin: 0;
	line-height: 1.2;
	font-size: 45px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	background: linear-gradient(270deg, #2a7abf 0%, #1dabdc 50%, #44af35 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
	color: transparent;
}

.p-news__list {
	border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;
	border-image: linear-gradient(90deg, #35c46b 0%, #2798df 100%);
	border-image-slice: 1;
}

.p-news__item+.p-news__item {
	border-top: 2px solid transparent;
	border-image: linear-gradient(90deg, #35c46b 0%, #2798df 100%);
	border-image-slice: 1;
}

.p-news__link {
	display: block;
	padding: 18px 0 14px;
	color: #333;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.p-news__link:hover {
	opacity: 0.8;
}

.p-news__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.p-news__date {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #333;
}

.p-news__cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 135px;
	min-height: 20px;
	padding: 0px 16px;
	border-radius: 999px;
	background: #777;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
}

.p-news__body {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.p-news__text {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	color: #333;
}

.p-news__arrow {
	font-size: 0;
	width: 18px;
	height: 18px;
	position: relative;
}

.p-news__arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 10px;
	height: 10px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	transform: translateY(-50%) rotate(45deg);
}

@media (max-width: 768px) {
	.p-news {
		padding: 2.5em 2em 3em;
	}

	.p-news__inner {
		max-width: 100%;
	}

	.p-news__heading {
		margin-bottom: 18px;
		text-align: center;
	}

	.p-news__title {
		font-size: 26px;
		font-weight: 900;
		line-height: 1.2;
	}

	.p-news__list {
		border-top-width: 1px;
		border-bottom-width: 1px;
	}

	.p-news__item+.p-news__item {
		border-top-width: 1px;
	}

	.p-news__link {
		display: block;
		padding: 1em 0;
	}

	.p-news__meta {
		display: flex;
		align-items: center;
		gap: 10px;
		margin-bottom: 8px;
	}

	.p-news__date {
		letter-spacing: 0.02em;
	}

	.p-news__cat {
		min-width: 72px;
		padding: 2px 1.5em 4px;
		border-radius: 999px;
		margin-left: auto;
	}

	.p-news__body {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		gap: 8px;
	}

	.p-news__text {
		flex: 1;
		margin: 0;
		letter-spacing: 0;
	}


}

.p-about {
	position: relative;
	overflow: hidden;
	padding: 120px 20px 100px;
	background: #f3f3f3;
}

.p-about__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.p-about__bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-about__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(255, 255, 255, 0.72);
}

.p-about__inner {
	position: relative;
	z-index: 2;
	max-width: 1260px;
	margin: 0 auto;
}

.p-about__heading {
	margin-bottom: 38px;
	text-align: center;
}

.p-about__title {
	margin: 0;
	font-size: 45px;
	line-height: 1.2;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	background: linear-gradient(270deg, #2a7abf 0%, #1dabdc 50%, #44af35 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	display: inline-block;
	color: transparent;
}

.p-about__box {
	max-width: 1280px;
	margin: 0 auto;
	padding: 74px 20px 64px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.74);
	text-align: center;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

.p-about__catch {
	margin: 0 0 34px;
	color: #2a7abf;
	font-size: 30px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.35;
}

.p-about__text p {
	margin: 0;
	color: #333;
	font-size: 18px;
	font-weight: 500;
	line-height: 2;
}

.p-about__text p+p {
	margin-top: 26px;
}

.p-about__btnWrap {
	margin-top: 48px;
}

.p-works__btnWrap {
	margin-top: 80px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.p-works__btnWrap {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity 0.5s ease,
		transform 0.5s ease;
}

.p-works__btnWrap.is-hide {
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
}

.p-works__btnWrap.is-hidden {
	display: none;
}

.p-works__grid--more {
	display: grid;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-20px);
	pointer-events: none;
	margin-top: 0;

	transition:
		max-height 0.8s ease,
		opacity 0.5s ease,
		transform 0.5s ease,
		visibility 0s linear 0.8s;
}

.p-works__grid--more.is-open {
	max-height: 3000px;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
	margin-top: 40px;

	transition:
		max-height 0.8s ease,
		opacity 0.5s ease,
		transform 0.5s ease,
		visibility 0s;
}


.p-about__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 250px;
	min-height: 50px;
	padding: 18px 34px;
	border-radius: 999px;
	background: #2a7abf;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
}

.p-works__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 250px;
	min-height: 50px;
	padding: 18px 34px;
	border-radius: 999px;
	background: #fff;
	color: #2a7abf;
	font-size: 16px;
	border: none;
	font-weight: 600;
	line-height: 1.4;
}

@media (max-width: 768px) {
	.p-about {
		padding: 2.5em 2em 3em;
	}

	.p-about__inner {
		max-width: 100%;
	}

	.p-about__heading {
		margin-bottom: 14px;
	}

	.p-about__title {
		line-height: 1.2;
	}

	.p-about__box {
		padding: 1.5em 1.5em;
	}

	.p-about__catch {
		margin-bottom: 18px;
		font-size: 18px;
		line-height: 1.45;
	}

	.p-about__text p {
		line-height: 1.8;
	}

	.p-about__text p+p {
		margin-top: 1em;
	}

	.p-about__btnWrap {
		margin-top: 2em;
		width: 100%;
		margin-bottom: 2em;
	}

	.p-about__btn,
	.p-works__btn {
		width: 90%;
		min-width: 0;
		min-height: 60px;
		padding: 1em 0 1.1em;
		margin-left: auto;
		margin-right: auto;
		border-radius: 10000px;
		line-height: 1.2;
	}
}

.p-reason {
	position: relative;
	padding: 92px 20px 110px;
	background-image: url(../images/bg_gra_chosen.png);
	background-position: top center;
	background-size: 100% auto;
	background-repeat: no-repeat;
}


.p-reason__inner {
	position: relative;
	z-index: 1;
	max-width: 1080px;
	margin: 0 auto;
}

.p-reason__block {
	margin-bottom: 120px;
}

.p-reason__heading,
.p-service-feature__heading {
	margin-bottom: 34px;
	text-align: center;
}

.p-reason__title {
	margin: 0;
	color: #2b78ca;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.45;
}

.p-reason__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px 26px;
}

.p-reason-card {
	padding: 18px 18px 20px;
	border-radius: 8px;
	background: #2f7ec9;
	color: #fff;
	display: flex;
	flex-direction: column;
}

.p-reason-card__num {
	margin: 0 0 10px;
	font-size: 65px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
}

.p-reason-card__image {
	margin-bottom: 12px;
}

.p-reason-card__image img {
	display: block;
	width: 100%;
	height: 154px;
	object-fit: cover;
}

.p-reason-card__text {
	margin: 0;
	font-size: 25px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
	margin-top: auto;
	min-height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-service-feature__title {
	margin: 0;
	color: #22a8df;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.45;
}

.p-service-feature__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.p-service-card {
	padding: 20px 25px 40px;
	border-radius: 8px;
	background: #1dabdc;
	color: #fff;
}

.p-service-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 22px;
}

.p-service-card__num {
	margin: 0;
	font-size: 65px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.02em;
	font-family: "Jost", sans-serif;
	font-optical-sizing: auto;
}


.p-service-card__head img {
	display: block;
	height: auto;
}

.p-service-card__head img.baketu {
	width: auto;
	height: 70px;
}

.p-service-card__head img.syorui {
	width: auto;
	height: 70px;
}

.p-service-card__head img.saifu {
	width: auto;
	height: 70px;
}

.p-service-card__title {
	margin: 0 0 18px;
	font-size: 30px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.4;
}

.p-service-card__text {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
}

@media (max-width: 1024px) {
	.p-reason-card__text {
		font-size: 23px;
	}
}

@media (max-width: 768px) {
	.p-reason {
		padding: 2.5em 2em 3em;
	}

	.p-reason__bg {
		height: 180px;
		background: linear-gradient(180deg, rgba(76, 201, 101, 0.35) 0%, rgba(41, 166, 229, 0.35) 100%);
	}

	.p-reason__inner {
		max-width: 100%;
	}

	.p-reason__block {
		margin-bottom: 4em;
	}

	.p-reason__heading,
	.p-service-feature__heading {
		margin-bottom: 18px;
		text-align: center;
	}

	.p-reason__title {
		line-height: 1.2;
	}

	.p-service-feature__title {
		line-height: 1.5;
	}

	/* 上段6カード */
	.p-reason__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.p-reason-card {
		padding: 10px 10px 10px;
	}

	.p-reason-card__num {
		margin: 0 0 10px;
		line-height: 1;
	}

	.p-reason-card__image {
		margin-bottom: 10px;
	}

	.p-reason-card__image img {
		width: 100%;
		height: auto;
	}

	.p-reason-card__text {}

	/* 下段3カード */
	.p-service-feature__grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.p-service-card {
		min-height: auto;
		padding: 1.5em;
	}

	.p-service-card__head {
		margin-bottom: 12px;
	}

	.p-service-card__num {
		line-height: 1;
	}

	.p-service-card__icon {
		width: 34px;
	}

	.p-service-card__title {}

	.p-service-card__text {
		font-size: 8px;
		line-height: 1.9;
	}
}

.p-aircon-guide {
	background: #d8eef8;
}

.p-aircon-guide__inner {
	width: 100%;
	margin: 0 auto;
	padding: 80px 0px 0px;
}

.p-aircon-guide__title {
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	text-align: center;
	color: #2a7abf;
}

.p-aircon-guide__toggle {
	display: block;
	width: 100%;
	max-width: 1280px;
	margin: 40px auto 80px auto;
	padding: 0 20px;
	border: 0;
	background: none;
	cursor: pointer;
	appearance: none;
}

.p-aircon-guide__toggle img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.p-aircon-guide__detail {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

.p-aircon-guide.is-open .p-aircon-guide__detail {
	max-height: 9000px;
}

.p-aircon-guide__detailInner {
	padding: 0px 20px 72px;
}

/* お困り */
.p-aircon-problem {
	max-width: 1280px;
	margin: 0 auto;
	padding: 80px 38px 60px;
	background: #fff;
	border-radius: 10px;
	text-align: center;
}

.p-aircon-problem__title {
	margin: 0 0 24px;
	display: flex;
	justify-content: center;
}

.p-aircon-problem__title p {
	margin: 0 0 24px;
	color: #2b83d2;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.5;
	text-align: left;
}

.p-aircon-problem__title img {
	width: 80px;
	height: auto;
	margin-right: 20px;
	min-height: auto;
	object-fit: contain;
	margin-bottom: 15px;
}

.p-aircon-problem__leadImage {
	margin-bottom: 26px;
}

.p-aircon-problem__leadImage img {
	display: block;
	max-width: 810px;
	width: 100%;
	margin: 0 50px -28px auto;
	height: auto;
}

.p-aircon-problem__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
}

.p-aircon-problem__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 260px;
	padding: 18px 12px;
	background: #2d87d7;
	color: #fff;
	font-size: 28px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.6;
	text-align: center;
	border-radius: 10px;
	background: #2d87d7 url(../images/y_ai.png) no-repeat center / 200px auto;
}

/* 下矢印 */
.p-aircon-guide__downArrows {
	margin: 0px auto -20px;
	text-align: center;
}

.p-aircon-guide__downArrows img {
	display: inline-block;
	width: 134px;
	height: auto;
}

/* 訴求カード */
.p-aircon-offer {
	display: grid;
	grid-template-columns: 375px 1fr;
	gap: 20px;
	max-width: 1280px;
	margin: 0 auto 54px;
	padding: 80px 100px;
	background: #fff;
	border-radius: 10px;
}

.p-aircon-offer__image img {
	display: block;
	width: 100%;
	height: auto;
}

.p-aircon-offer__title {
	margin: 0 0 18px;
	color: #2d87d7;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.45;
}

.p-aircon-offer__text p {
	margin: 0;
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
}

.p-aircon-offer__text p span {
	font-size: 21px;
}

.p-aircon-offer__text p+p {
	margin-top: 4px;
}

.p-aircon-offer__buttons {
	display: flex;
	gap: 50px;
	margin-top: 50px;
	grid-column: 1 / -1;
	justify-content: center;
}

.p-aircon-offer__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 310px;
	min-height: 50px;
	padding: 10px 16px;
	border-radius: 999px;
	background: #2a7abf;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
}

.p-aircon-guide02 {
	background-color: #fff;
	padding: 80px 20px 0;
	text-align: center;
}

/* おすすめ */
.p-aircon-recommend {
	margin-bottom: 58px;
}

.p-aircon-recommend__box {
	display: flex;
	justify-content: center;
	align-items: self-end;
	gap: 24px;
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px 34px 0;
	background: #dff4fd;
	border-radius: 10px;
}

.p-aircon-recommend__content {
	padding-bottom: 28px;
}

.p-aircon-recommend__title {
	margin: 0 0 18px;
	color: #2b83d2;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.45;
	display: inline-block;
	text-align: left;
}

.p-aircon-recommend__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-aircon-recommend__list li {
	margin: 0;
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 2.4;
	text-align: left;
}

.p-aircon-recommend__list li::before {
	content: "";
	background-image: url(../images/ai_check.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 30px;
	height: 30px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
}

.p-aircon-recommend__image img {
	display: block;
	width: 100px;
	height: auto;
}

/* 当日の流れ */
.p-aircon-flow {
	max-width: 1080px;
	margin: 0 auto 68px;
	text-align: center;
}

.p-aircon-flow__title {
	margin: 0 0 26px;
	color: #2a7abf;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.4;
}

.p-aircon-flow__grid {
	display: grid;
	grid-template-columns: 1fr 34px 1fr 34px 1fr;
	gap: 18px;
	align-items: center;
}

.p-aircon-flow__step {
	min-height: 210px;
	padding: 24px 30px;
	background: #dff4fd;
	text-align: left;
	border-radius: 5px;
}

.p-aircon-flow__step h3 {
	margin: 0 0 14px;
	color: #2a7abf;
	font-size: 25px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.5;
}

.p-aircon-flow__step ul {
	margin: 0;
}

.p-aircon-flow__step li {
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 10px;
}


.p-aircon-flow__arrow img {
	display: block;
	width: 100%;
	height: auto;
}

/* 注意事項 */
.p-aircon-notice {
	max-width: 1080px;
	margin: 0 auto 0px;
	padding-bottom: 70px;
}

.p-aircon-notice__title {
	margin: 0 0 28px;
	text-align: center;
	color: #2a7abf;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.4;
}

.p-aircon-notice__section {
	padding: 30px 210px 5px;
	border-top: 1px solid transparent;
	border-image: linear-gradient(90deg, #5bc86c 0%, #2a7abf 100%);
	border-image-slice: 1;
}

.p-aircon-notice__section:last-child {
	border-bottom: 1px solid transparent;
	border-image: linear-gradient(90deg, #5bc86c 0%, #2a7abf 100%);
	border-image-slice: 1;
}

.p-aircon-notice__section h3 {
	margin: 0 0 14px;
	color: #2a7abf;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.5;
	text-align: left;
}

.p-aircon-notice__section p,
.p-aircon-notice__section li {
	margin: 0 0 5px;
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
}

.p-aircon-notice__section ul {
	margin: 0 0 30px;
}

.p-aircon-notice__qa {
	margin-top: 14px !important;
}

.p-aircon-guide-contact {
	background-color: #dff4fd;
	padding: 70px 20px;
	text-align: center;
}

/* 最下部CTA */
.p-aircon-bottom-cta {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 0 8px;
	text-align: center;
}

.p-aircon-bottom-cta__link {
	display: inline-block;
}

.p-aircon-bottom-cta__link img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

@media (max-width: 1024px) {
	.p-service-card__title {
		font-size: 28px;
	}

	.p-aircon-offer__title {
		font-size: 24px;
	}

	.p-aircon-offer {
		padding: 60px 70px;
	}

	.p-aircon-notice__section {
		padding: 30px 18% 5px;
	}
}

@media (max-width: 768px) {
	.p-aircon-guide {}

	.p-aircon-guide__inner {
		max-width: 100%;
		padding: 2.5em 0em 0em;
	}

	.p-aircon-guide__toggle {
		width: 100%;
		max-width: 100%;
		margin: 40px auto 0px auto;
		padding: 0;
	}

	.p-aircon-guide__toggle img {
		display: block;
		width: 100%;
		height: auto;
		padding: 0 2em 4em;
	}

	.p-aircon-notice__section ul {
		margin: 0 0 0 0px;
	}

	.p-aircon-guide__detailInner {
		padding: 1.5em 2em 2em;
	}

	/* お困り */
	.p-aircon-problem {
		max-width: 100%;
		padding: 1.5em 1.5em;
	}

	.p-aircon-problem__title {
		margin: 0 0 10px;
		align-items: center;
	}

	.p-aircon-problem__title img {
		width: 8.6vw;
		margin-right: 10px;
		margin-bottom: 20px;
	}

	.p-aircon-problem__title p {
		letter-spacing: -.08em;
		line-height: 1.3;
	}

	.p-aircon-problem__leadImage {
		margin-bottom: 10px;
	}

	.p-aircon-problem__leadImage img {
		max-width: 100%;
		width: 100%;
		margin: 0 50px -14px auto;
		height: auto;
	}

	.p-aircon-problem__grid {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 15px;
	}


	.p-aircon-problem__item {
		min-height: 85px;
		width: 45%;
		padding: 1.5em .5em;
		background: #2d87d7 url(../images/y_ai.png) no-repeat center / 60% auto;
	}

	.p-aircon-problem__item.first {
		margin-left: 10%;
		margin-right: 10%;
	}

	/* 下矢印 */
	.p-aircon-guide__downArrows {
		margin: 0px auto 0px;
	}

	.p-aircon-guide__downArrows img {
		width: 150px;
		margin-bottom: -30px;
	}

	.p-aircon-guide02 {
		background-color: #fff;
		padding: 2em 2em;
		text-align: center;
	}

	/* 訴求カード */
	.p-aircon-offer {
		grid-template-columns: 1fr;
		gap: 20px;
		max-width: 100%;
		margin: 0 auto;
		padding: 2.5em 1.5em 1.5em;
	}

	.p-aircon-offer__image img {
		width: 100%;
	}

	.p-aircon-offer__title {
		margin: 0 0 10px;
		text-align: center;
	}

	.p-aircon-offer__text p {}

	.p-aircon-offer__buttons {
		flex-direction: column;
		gap: 40px;
		margin-top: 2em;
		margin-bottom: 2em;
	}

	.p-aircon-offer__btn {
		width: 90%;
		min-width: 0;
		min-height: 60px;
		padding: 1em 0 1.1em;
		margin-left: auto;
		margin-right: auto;
		border-radius: 10000px;
		line-height: 1.2;
	}

	/* おすすめ */
	.p-aircon-recommend {
		margin-bottom: 2em;
	}

	.p-aircon-recommend__box {
		flex-direction: column;
		gap: 0px;
		max-width: 100%;
		padding: 1.5em 2em 0;
	}

	.p-aircon-recommend__content {
		padding-bottom: 0px;
		width: 100%;
	}

	.p-aircon-recommend__title {
		margin: 0 0 20px;
	}

	.p-aircon-recommend__list li {
		padding-left: 2em;
		text-indent: -2em;
		line-height: 1.5;
		margin-bottom: 15px;
	}

	.p-aircon-recommend__image img {
		width: 60px;
	}

	/* 当日の流れ */
	.p-aircon-flow {
		max-width: 100%;
		margin: 0 auto 4em;
	}

	.p-aircon-flow__title {
		margin: 0 0 12px;
	}

	.p-aircon-flow__grid {
		grid-template-columns: 1fr;
		gap: 0px;
	}

	.p-aircon-flow__step {
		min-height: auto;
		padding: 1.5em;
	}

	.p-aircon-flow__step h3 {
		margin: 0 0 8px;
	}

	.p-aircon-flow__step li {}

	.p-aircon-flow__arrow {
		display: block;
		text-align: center;
	}

	.p-aircon-flow__arrow img {
		width: 40px;
		transform: rotate(90deg);
		margin: 0 auto;
	}

	/* 注意事項 */
	.p-aircon-notice {
		max-width: 100%;
		margin: 0 auto 0em;
		padding-bottom: 1em;
	}

	.p-aircon-notice__title {
		margin: 0 0 12px;
	}

	.p-aircon-notice__section {
		padding: 1.5em 0 0.2em;
	}

	.p-aircon-notice__section h3 {
		margin: 0 0 8px;
	}

	.p-aircon-notice__section p,
	.p-aircon-notice__section li {
		line-height: 1.85;
	}

	.p-aircon-notice__qa {
		margin-top: 8px !important;
	}

	/* 最下部CTA */
	.p-aircon-bottom-cta {
		max-width: 100%;
		padding: 0;
	}

	.p-aircon-bottom-cta__link {
		display: block;
	}

	.p-aircon-bottom-cta__link img {
		width: 100%;
		max-width: 100%;
		border-radius: 4px;
	}

	.p-aircon-guide-contact {
		padding: 2em;
	}
}

.p-schedule {
	padding: 80px 0px 0px;
	background-image: url(../images/bg_calender_aki.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}

.p-schedule__inner {
	margin: 0 auto;
}

.p-schedule__toggle {
	display: block;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto 80px auto;
	padding: 0 20px;
	border: 0;
	background: none;
	cursor: pointer;
	appearance: none;
}

.p-schedule__toggle img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.p-schedule__detail {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

.p-schedule.is-open .p-schedule__detail {
	max-height: 2600px;
}

.p-schedule__detailInner {
	padding: 0px 0 0px;
}

/* カレンダー部分 */
.p-schedule__calendarArea {
	max-width: 1080px;
	margin: 0 auto 70px;
	text-align: center;
}

.p-schedule__title {
	margin: 0 0 34px;
	color: #1dabdc;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.35;
}

.p-schedule__calendarWrap {
	display: flex;
	justify-content: center;
}

.p-schedule__calendar {
	width: 100%;
	max-width: 760px;
}

.p-schedule__calendar iframe {
	display: block;
	width: 100%;
	height: 600px;
	background: #fff;
}

/* 最下部CTA */
.p-schedule__cta {
	max-width: 1080px;
	margin: 0 auto;
	text-align: center;
}

.p-schedule__ctaLink {
	display: inline-block;
}

.p-schedule__ctaLink img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}

.p-schedule-contact {
	padding: 70px 20px;
	text-align: center;
	background-color: #f6f6f5;
}

@media (max-width: 768px) {
	.p-schedule {
		padding: 3em 0px 0;
		background-image: url(../images/bg_calender_aki_sp.png);
		background-position: top center;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.p-schedule__inner {
		max-width: 100%;
	}

	.p-schedule__toggle {
		width: 100%;
		max-width: 100%;
		padding: 0 2em;
		margin: 0 auto 4em auto;
	}

	.p-schedule__toggle img {
		display: block;
		width: 100%;
		height: auto;
		border-radius: 0;
	}

	.p-schedule__detail {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.45s ease;
	}

	.p-schedule.is-open .p-schedule__detail {
		max-height: 2000px;
	}

	.p-schedule__detailInner {
		padding: 1.5em 2em 1.5em;
	}

	.p-schedule__calendarArea {
		max-width: 100%;
		margin: 0 auto 24px;
		text-align: center;
	}

	.p-schedule__title {
		margin: 0 0 12px;

		font-weight: 900;
		line-height: 1.45;
	}

	.p-schedule__calendarWrap {
		display: flex;
		justify-content: center;
	}

	.p-schedule__calendar {
		width: 100%;
		max-width: 100%;
	}

	.p-schedule__calendar iframe {
		display: block;
		width: 100%;
		height: 250px;
		background: #fff;
	}

	.p-schedule__cta {
		max-width: 100%;
		margin: 0 auto;
		text-align: center;
	}

	.p-schedule__ctaLink {
		display: block;
	}

	.p-schedule__ctaLink img {
		display: block;
		width: 100%;
		max-width: 100%;
		height: auto;
		border-radius: 4px;
	}

	.p-schedule-contact {
		padding: 2em 2em;
	}
}

.p-movie {
	padding: 88px 20px 110px;
	background: #d8eef8;
}

.p-movie__inner {
	max-width: 1080px;
	margin: 0 auto;
}

.p-movie__heading {
	margin-bottom: 34px;
	text-align: center;
}

.p-movie__title {
	margin: 0;
	color: #2a7abf;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.4;
}

.p-movie__frame {
	max-width: 1080px;
	margin: 40px auto 0 auto;
	position: relative;
}

.p-movie__slider {
	width: 100%;
	height: 500px !important;
	overflow: hidden;
	padding: 0 80px 0px !important;
}

.p-movie__slider .swiper-wrapper {
	align-items: center !important;
	height: 450px;
}

.p-movie__slider .swiper-slide {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	height: 360px;
}

.p-movie__slider .swiper-slide video {
	width: 220px;
	object-fit: cover;
}

.p-movie__slider video {
	transition: width .4s ease, height .4s ease, opacity .4s ease;
}

.p-movie__prev,
.p-movie__next {
	width: 60px !important;
	height: 60px !important;
	background: #247bc1;
	border-radius: 50%;
	color: #fff;
	top: calc(50% - 35px);
	transform: translateY(-50%);
}

.p-movie__slider .swiper-slide-active {
	opacity: 1;
}

.p-movie__slider .swiper-slide-active video {
	width: 240px;
}

.p-movie__prev::after,
.p-movie__next::after {
	display: none;
}

.p-movie__prev img,
.p-movie__next img {
	width: 100%;
	height: auto;
	display: block;
}

.p-movie__pagination .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: #1aa7d8;
	opacity: .6;
	transition: all .3s ease;
}

.p-movie__pagination .swiper-pagination-bullet-active {
	opacity: 1;
	transform: scale(1.8);
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 10px) !important;
}

.p-movie__pagination {
	position: relative;
	bottom: auto !important;
	margin-top: 15px;
}

.p-movie__slider .swiper-slide {
	opacity: 1;
	transform: scale(0.8);
	transition: all .4s;
}

.p-movie__slider .swiper-slide-active {
	opacity: 1;
	transform: scale(1);
}

@media (max-width: 768px) {
	.p-movie {
		padding: 2em 0em;
	}

	.p-movie__inner {
		max-width: 100%;
	}

	.p-movie__heading {
		margin-bottom: 18px;
		text-align: center;
	}

	.p-movie__title {
		font-size: 18px;
		font-weight: 900;
		line-height: 1.5;
	}
}


.p-works {
	padding: 80px 20px 96px;
	background: url("../images/bg_gra_case.png") no-repeat center top / cover;
}

.p-works__inner {
	max-width: 1080px;
	margin: 0 auto;
}

.p-works__heading {
	margin-bottom: 34px;
	text-align: center;
}

.p-works__title {
	margin: 0;
	color: #fff;
	font-size: 45px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.3;
}

.p-works__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 26px 24px;
	margin-bottom: 26px;
}

.p-works-card {
	padding: 30px 42px 26px;
	border-radius: 14px;
	background: #fff;
}

.p-works-card__head {
	margin-bottom: 20px;
}

.p-works-card__headttl {
	display: flex;
	margin-bottom: 18px;
}

.p-works-card__label {
	display: inline-block;
	text-align: center;
	padding: 2px 16px;
	background: #2d7fd0;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	border-radius: 4px;
}

.p-works-card__ttl {
	color: #2d7fd0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	margin-left: 15px;
	padding-top: 2px;
}

.p-works-card__text {
	margin: 0;
	color: #4a4a4a;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
}

.p-works-card__body {
	display: grid;
	grid-template-columns: 160px 1fr;
	/* 左：before系、右：after */
	gap: 24px;
}

/* 左側（Before＋矢印） */
.p-works-card__beforeWrap {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Before画像 */
.p-works-card__before img {
	width: 100%;
	height: auto;
	object-fit: cover;
	margin-bottom: 8px;
}

/* 矢印 */
.p-works-card__arrow {
	text-align: right;
	margin-left: auto;
}

.p-works-card__arrow img {
	width: 88px;
	height: auto;
	margin-top: 25px;
}

.p-works-card__after {
	padding-top: 20px;
}

/* After画像（大きくする） */
.p-works-card__after img {
	width: 100%;
	height: 240px;
	object-fit: cover;
}


.p-works-card__before .p-works-card__caption {
	margin: 0 0;
	color: #2d7fd0;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.04em;
	text-align: left;
}

.p-works-card__after .p-works-card__caption {
	margin: 10px 0 0 30px;
	color: #1dabdc;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.04em;
	text-align: left;
}

@media (max-width: 1024px) {
	.p-works-card__after img {
		height: 150px;
	}
}

@media (max-width: 768px) {
	.p-works {
		padding: 2em;
	}


	.p-works__grid {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-bottom: 20px;
	}

	.p-works-card {
		padding: 1.5em;
	}

	.p-works-card__text {}

	.p-works-card__body {
		grid-template-columns: 1fr 2fr;
		gap: 20px;
	}

	.p-works-card__before img {
		height: auto;
	}

	.p-works-card__after img {
		height: auto;
	}

}

.p-area {
	padding: 60px 20px;
	background: #fff;
}

.p-area__inner {
	max-width: 1080px;
	margin: 0 auto;
}

.p-area__img {
	text-align: center;
}

.p-area__img img {
	display: block;
	width: 100%;
	max-width: 1080px;
	height: auto;
	margin: 0 auto;
}

.p-company {}


.p-company__heroInner {
	z-index: 1;
	width: 100%;
	margin: 0 auto;
	padding: 115px 20px 115px;
	background: url(../images/bg_compay.png) no-repeat center top / cover;
}

.p-company__toggle {
	display: block;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	appearance: none;
}

.p-company__toggle img {
	display: block;
	width: 100%;
	height: auto;
}

.p-company__detail {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

.p-company.is-open .p-company__detail {
	max-height: 3200px;
}

.p-company__detailInner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 64px 20px 86px;
}

/* ご挨拶 */
.p-company-greeting {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 54px;
	align-items: start;
	margin-bottom: 72px;
}

.p-company-greeting__title,
.p-company-profile__title,
.recruit__title,
.cooperation__title {
	margin: 0 0 26px;
	color: #2a7abf;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.3;
}

.p-company-greeting__text p {
	margin: 0;
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.95;
}

.p-company-greeting__image img {
	display: block;
	width: 100%;
	height: auto;
}

/* 会社概要 */
.p-company-profile {
	margin-bottom: 56px;
}

.p-company-profile__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 46px;
}

.p-company-profile__table {
	margin: 0;
}

.p-company-profile__row {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid #d5d5d5;
}

.p-company-profile__row:first-child {
	border-top: 1px solid #d5d5d5;
}

.recruit__row {
	display: grid;
	grid-template-columns: 195px 1fr;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid #cacaca;
}

.p-company-profile__row dt,
.recruit__row dt {
	margin: 0;
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
}

.p-company-profile__row dd,
.recruit__row dd {
	margin: 0;
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.8;
}

/* MAP */
.p-company-map {
	max-width: 100%;
}

.p-company-map iframe {
	display: block;
	width: 100%;
	height: 420px;
	border: 0;
}

.p-company-profile__row dd br.sp1024,
.recruit__row dd br.sp1024 {
	display: none;
}

@media (max-width: 1024px) {

	.p-company-profile__row dd br.sp1024,
	.recruit__row dd br.sp1024 {
		display: block;
	}
}

@media (max-width: 768px) {
	.p-area {
		padding: 2em;
	}

	.p-company__hero {
		padding: 0;
	}

	.p-company__heroInner {
		padding: 3em 2em;
	}

	.p-company__toggle {
		max-width: 100%;
		margin: 0 auto;
	}


	.p-company.is-open .p-company__detail {
		max-height: 10000px;
	}

	.p-company__detailInner {
		padding: 3em 2em;
	}

	/* ご挨拶 */
	.p-company-greeting {
		display: flex;
		flex-direction: column-reverse;
		gap: 1em;
		margin-bottom: 3em;
	}

	.p-company-greeting__image {
		width: 60%;
		margin: 0 auto;
	}

	.p-company-greeting__title,
	.p-company-profile__title {
		margin: 0 0 20px;
	}

	.p-company-greeting__text p {
		line-height: 1.5;
	}

	/* 会社概要 */
	.p-company-profile {
		margin-bottom: 3em;
	}

	.p-company-profile__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.p-company-profile__row {
		grid-template-columns: 150px 1fr;
		gap: 20px;
		padding: 20px 0;
	}

	.p-company-profile__row dt,
	.p-company-profile__row dd {
		line-height: 1.5;
	}

	/* MAP */
	.p-company-map iframe {
		height: 360px;
	}
}

.recruit {
	padding: 90px 20px 0px;
}

.cooperation {
	padding: 50px 20px 80px;
}

.recruit__visual,
.cooperation__visual {
	max-width: 1280px;
	text-align: center;
	padding: 0 20px 0 20px;
	margin: 0 auto;
	position: relative;
	min-height: 550px;
}

.logo-aicon {
	z-index: 10;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 244px;
}

.recruit__visual .btn_image,
.cooperation__visual .btn_image {
	position: absolute;
	z-index: 0;
	width: 100%;
	max-width: 1080px;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0%);
}


.recruit__visual .btn_image img {
	width: 100%;
}

.recruit__visual .btn_image img {
	cursor: pointer;
}

/* 初期は閉じる */
.recruit__content,
.cooperation__content {
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 0.4s ease;
	max-width: 1080px;
	margin: 0px auto;
}

/* 開いた状態 */
.recruit__content.is-open,
.cooperation__content.is-open {
	max-height: 2000px;
	opacity: 1;
	margin-bottom: 50px;
}

/* クリックできる感出す */
.recruit__visual,
.cooperation__visual {
	cursor: pointer;
}

@media (max-width: 1024px) {

	.recruit__visual,
	.cooperation__visual {
		min-height: 53vw;
	}
}

@media (max-width: 768px) {

	.recruit {
		padding: 3em 2em 0em;
	}

	.cooperation {
		padding: 3em 2em 3em;
	}

	.recruit__visual,
	.cooperation__visual {
		min-height: 122vw;
	}


	.recruit__inner,
	.cooperation__inner {
		max-width: 100%;
	}

	.recruit__visual img,
	.cooperation__visual img {
		width: 100%;
		display: block;
	}

	.recruit__visual .btn_image,
	.cooperation__visual .btn_image {
		top: 0;
		left: 50%;
		transform: translate(-50%, 0%);
	}

	.logo-aicon {
		display: none;
	}

	.recruit__content,
	.cooperation__content {
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		transition: all 0.4s ease;
	}

	.recruit__content.is-open {
		max-height: 4000px;
		opacity: 1;
		margin-top: 0;
	}

	.cooperation__content.is-open {
		max-height: 4000px;
		opacity: 1;
		margin-top: 30px;
	}

	.recruit__title,
	.cooperation__title {
		margin-bottom: 20px;
	}

	.recruit__table {
		border-top: 1px solid #ddd;
	}

	.recruit__row {
		display: grid;
		grid-template-columns: 150px 1fr;
		gap: 20px;
		padding: 20px 0;
		border-bottom: 1px solid #ddd;
	}

	.recruit__row dt {
		width: auto;
		margin: 0;
		color: #333;
	}

	.recruit__row dd {
		margin: 0;
		color: #333;
	}

	.recruit__visual:hover {
		transform: none;
	}
}

.p-contact {
	padding: 0 20px 80px;
	background: url("../images/bg_gra_contact.png") no-repeat center top / cover;
}

.p-contact__inner {
	max-width: 1080px;
	margin: 0 auto;
}

.p-contact__toggle {
	display: block;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 70px 0 0;
	border: 0;
	background: none;
	cursor: pointer;
	appearance: none;
}

.p-contact__toggle img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
}

.p-contact__detail {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

.p-contact.is-open .p-contact__detail {
	max-height: 3200px;
}

.p-contact__detailInner {
	padding: 80px 0 0;
}


/* フォーム全体 */
.p-contact__formWrap {
	max-width: 1080px;
	margin: 0 auto;
	padding: 38px 68px 54px;
	background: rgba(255, 255, 255, 0.96);
	border-radius: 6px;
}

.p-contact__icon {
	margin-bottom: 10px;
	text-align: center;
	line-height: 1;
}

.p-contact__icon img {
	width: 42px;
	height: auto;
}

.p-contact__title {
	margin: 0 0 28px;
	text-align: center;
	color: #333;
	font-size: 30px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.4;
}

/* フォーム */
.p-contact-form__row {
	margin-bottom: 20px;
}

.p-contact-form__row label {
	display: block;
	margin-bottom: 6px;
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
}

.p-contact-form__row br {
	display: none;
}

.wpcf7-form-control-wrap {
	position: relative;
}

.dropdown-menu_wrapper {
	position: relative;
}

.wpcf7-form-control-wrap input[type="text"],
.wpcf7-form-control-wrap input[type="email"],
.wpcf7-form-control-wrap input[type="tel"],
.wpcf7-form-control-wrap select,
.wpcf7-form-control-wrap textarea {
	width: 100%;
	border: 1px solid #cfcfcf;
	background: #fff;
	color: #333;
	font-size: 16px;
	padding: 10px 12px;
	line-height: 1.6;
	box-sizing: border-box;
	border-radius: 5px;
	appearance: none;
}

select {
	-webkit-appearance: none;
	appearance: none;
	/* デフォルトの矢印を非表示 */
}

select::-ms-expand {
	display: none;
	/* デフォルトの矢印を非表示(IE用) */
}

/* セレクトボックスの矢印デザイン変更 */
.dropdown-menu_wrapper::before {
	border-bottom: 6.5px solid #333;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	content: "";
	position: absolute;
	right: 9px;
	top: 17px;
	width: 0;
	z-index: 10;
}

.dropdown-menu_wrapper::after {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 6.5px solid #333;
	content: "";
	position: absolute;
	right: 9px;
	top: 25px;
	width: 0;
}

.wpcf7-form-control-wrap textarea {
	resize: vertical;
	min-height: 160px;
}

.required,
.optional {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 53px;
	min-height: 28px;
	margin-left: 6px;
	padding: 0 6px;
	border-radius: 2px;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	vertical-align: middle;
	border-radius: 5px;
}

.required {
	background: #b70012;
}

.optional {
	background: #666;
}

.p-contact-form__privacyBox {
	max-height: 180px;
	overflow-y: auto;
	border: 1px solid #cfcfcf;
	background: #fff;
	padding: 14px 14px;
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.9;
}

.p-contact-form__privacyBox p {
	margin: 0;
}

.p-contact-form__check {
	display: flex !important;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	margin-bottom: 0 !important;
	cursor: pointer;
}

.p-contact-form__check input {
	margin: 0;
}

.p-contact-form__check span {
	font-size: 16px;
	font-weight: 500;
	color: #333;
}

.p-contact-form__submit {
	margin-top: 80px;
	margin-bottom: 40px;
	text-align: center;
}

.p-contact-form__submit input.send {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 550px;
	min-height: 40px;
	padding: 10px 24px;
	border: none;
	border-radius: 999px;
	background: #2a7abf;
	color: #fff;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

select option {
	font-size: 16px;
}

.p-contact-form__submit input.send:hover {
	opacity: 0.9;
	transform: translateY(-2px);
}

@media (max-width: 768px) {
	.p-contact {
		padding: 3em 2em;
	}

	.p-contact__inner {
		max-width: 100%;
	}

	.p-contact__toggle {
		max-width: 100%;
		padding: 0 0;
	}

	.p-contact__toggle img {
		width: 100%;
	}

	.p-contact.is-open .p-contact__detail {
		max-height: 5000px;
	}

	.p-contact__detailInner {
		padding: 3em 0 0;
	}

	.p-contact__formWrap {
		max-width: 100%;
		padding: 3em 2em;
	}

	.p-contact__icon {
		margin-bottom: 10px;
	}

	.p-contact__title {
		margin: 0 0 20px;
	}

	.p-contact-form__row {
		margin-bottom: 20px;
	}

	.p-contact-form__row label {
		margin-bottom: 10px;
	}

	.wpcf7-form-control-wrap input[type="text"],
	.wpcf7-form-control-wrap input[type="email"],
	.wpcf7-form-control-wrap input[type="tel"],
	.wpcf7-form-control-wrap select,
	.wpcf7-form-control-wrap textarea {}

	.wpcf7-form-control-wrap textarea {
		min-height: 96px;
	}


	.p-contact-form__privacyBox {
		max-height: 120px;
		padding: 8px;
	}

	.p-contact-form__check {
		margin-top: 8px;
	}

	.p-contact-form__check span {}

	.p-contact-form__check input {
		flex-shrink: 0;
	}

	.p-contact-form__submit {
		margin-top: 3em;
		margin-bottom: 0;
	}

	.p-contact-form__submit input.send {
		width: 90%;
		min-height: 60px;
		padding: 0;
		font-size: 3.6vw;
		min-width: auto;
	}

	.required,
	.optional {
		min-width: 38px;
		min-height: 18px;
		line-height: 1.0;
	}

	.p-contact__icon img {
		width: 33px;
		height: auto;
	}
}

.p-footer {
	position: relative;
	background: #f7f7f7;
}

.p-footer__inner {
	display: grid;
	grid-template-columns: 1fr 500px;
	gap: 80px;
	max-width: 1080px;
	margin: 0 auto;
	padding: 78px 20px 90px;
}

.p-footer__logo {
	display: inline-block;
	margin-bottom: 26px;
}

.p-footer__logo img {
	display: block;
	width: 208px;
	height: auto;
}

.p-footer__address {
	margin-bottom: 26px;
}

.p-footer__address p {
	margin: 0;
	color: #333;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.7;
}

.p-footer__tel {
	margin-bottom: 8px;
}

.p-footer__tel a {
	display: inline-block;
	color: #2a7abf;
	font-size: 35px;
	font-family: "M PLUS 1p", sans-serif;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.p-footer__time {
	margin: 0;
	color: #333;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.6;
}

.p-footer__nav {
	align-self: start;
	padding-top: 100px;
}

.p-footer__navList {
	display: grid;
	grid-template-columns: auto auto auto;
	column-gap: 54px;
	row-gap: 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 1行目 */
.p-footer__navList li:nth-child(1) {
	grid-column: 1;
	grid-row: 1;
}

.p-footer__navList li:nth-child(2) {
	grid-column: 2;
	grid-row: 1;
}

.p-footer__navList li:nth-child(3) {
	grid-column: 3;
	grid-row: 1;
}

/* 2行目 */
.p-footer__navList li:nth-child(4) {
	grid-column: 2;
	grid-row: 2;
}

.p-footer__navList li:nth-child(5) {
	grid-column: 3;
	grid-row: 2;
}

/* 3行目 */
.p-footer__navList li:nth-child(6) {
	grid-column: 2;
	grid-row: 3;
}

.p-footer__navList li:nth-child(7) {
	grid-column: 3;
	grid-row: 3;
}

.p-footer__navList li:nth-child(8) {
	grid-column: 3;
	grid-row: 4;
}

.p-footer__navList a {
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition: color 0.3s ease;
}

.p-footer__navList a:hover,
.p-footer__navList a.is-current {
	color: #2a7abf;
}

/* コピーライト帯 */
.p-footer__copyArea {
	background: url("../images/footer_bg.png") no-repeat center center / cover;
}

.p-footer__copyInner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 18px 20px;
}

.p-footer__copy {
	margin: 0;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

/* ページトップ */
.p-pageTop {
	position: absolute;
	right: 26px;
	bottom: 70px;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #2a7abf;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition:
		opacity 0.35s ease,
		visibility 0.35s ease,
		transform 0.35s ease,
		background 0.3s ease;
}

.p-pageTop.is-show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.p-pageTop:hover {
	background: #2578c3;
}

.p-pageTop__arrow {
	display: block;
	width: 14px;
	height: 14px;
	border-top: 3px solid #fff;
	border-left: 3px solid #fff;
	transform: rotate(45deg) translate(2px, 2px);
}

.p-news-detail {
	padding: 120px 0 100px;
	background-image: url(../images/bg_gra02.png);
	background-size: 100% auto;
	background-position: bottom;
}

.p-news-detail .l-inner {
	width: min(100% - 40px, 1000px);
	margin: 0 auto;
}

.p-news-detail__breadcrumb {
	margin-bottom: 40px;
}

.p-news-detail__breadcrumbList {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 12px;
}

.p-news-detail__breadcrumbItem {
	font-size: 12px;
	line-height: 1.4;
}

.p-news-detail__breadcrumbItem+.p-news-detail__breadcrumbItem::before {
	content: ">";
	margin-right: 8px;
}

.p-news-detail__breadcrumbItem a {
	color: inherit;
	text-decoration: none;
	color: #1dabdc;
}

.p-news-detail__article {
	background: transparent;
}

.p-news-detail__header {
	margin-bottom: 40px;
}

.p-news-detail__header {
	margin-bottom: 40px;
}

.p-news-detail__meta {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-bottom: 20px;
}

.p-news-detail__date {
	display: block;
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
}

.p-news-detail__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.p-news-detail__title {
	margin: 0;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.4;
	flex: 1;
	color: #4d4d4d;
}

.p-news-detail__cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 215px;
	padding: 5px 0px;
	border-radius: 999px;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	background: #666;
	color: #fff;
	flex-shrink: 0;
	text-align: center;
}

.p-news-detail__content {
	font-size: 16px;
	line-height: 1.4;
}

.p-news-detail__content p {
	margin: 0 0 1.5em;
}

.p-news-detail__content img {
	max-width: 100%;
	height: auto;
}

.p-news-detail__content figure {
	margin: 0 0 24px;
}

.p-news-detail__content h2,
.p-news-detail__content h3,
.p-news-detail__content h4 {
	margin: 2em 0 1em;
}

.p-news-detail__gallery {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 290px;
	gap: 35px;
	margin-bottom: 40px;
	align-items: start;
}

.p-news-detail__galleryMain {
	width: 100%;
}

.p-news-detail__galleryMain img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.p-news-detail__galleryThumbs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}

.p-news-detail__thumb {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
	overflow: hidden;
	transition: opacity 0.3s ease;
}

.p-news-detail__thumb:hover {
	opacity: 0.8;
}

.p-news-detail__thumb.is-active {}

.p-news-detail__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media screen and (max-width: 768px) {
	.p-news-detail {
		padding: 110px 0 80px;
	}

	.p-news-detail .l-inner {
		padding: 0 1em;
	}

	.p-news-detail__heading {
		display: block;
	}

	.p-news-detail__meta {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
		margin-bottom: 16px;
	}

	.p-news-detail__date {
		margin: 0;
	}

	.p-news-detail__title {
		margin: 0;
	}

	.p-news-detail__cat {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		max-width: 100px;
		margin: 0 0 0px auto;
	}

	.p-news-detail__gallery {
		display: block;
		margin-bottom: 32px;
	}

	.p-news-detail__galleryMain {
		width: 100%;
		margin-bottom: 16px;
	}

	.p-news-detail__galleryMain img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 10;
		object-fit: cover;
	}

	.p-news-detail__galleryThumbs {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
		margin-bottom: 3em;
	}

	.p-news-detail__thumb {
		width: 100%;
	}

	.p-news-detail__thumb img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 10;
		object-fit: cover;
	}

	.p-news-detail__content {}
}

@media (max-width: 768px) {
	.p-footer__inner {
		display: flex;
		flex-direction: column-reverse;
		gap: 20px;
		padding: 3em 2em;
	}

	/* ナビ */
	.p-footer__nav {
		padding-top: 0;
		width: 100%;
	}

	.p-footer__navList {
		display: flex;
		flex-direction: column;
		row-gap: 0;
		margin-bottom: 2em;
	}

	.p-footer__navList li {
		border-bottom: 1px solid #cfcfcf;
	}

	.p-footer__navList li:nth-child(1) {
		border-top: 1px solid #cfcfcf;
	}

	.p-footer__navList a {
		display: block;
		padding: 14px 0;
	}

	/* スマホ時の並び順 */
	.p-footer__navList li:nth-child(1) {
		order: 1;
		/* トップページ */
	}

	.p-footer__navList li:nth-child(2) {
		order: 2;
		/* 私たちのこと */
	}

	.p-footer__navList li:nth-child(4) {
		order: 3;
		/* お掃除プラン */
	}

	.p-footer__navList li:nth-child(6) {
		order: 4;
		/* 清掃事例 */
	}

	.p-footer__navList li:nth-child(3) {
		order: 5;
		/* 採用情報 */
	}

	.p-footer__navList li:nth-child(5) {
		order: 6;
		/* 協力会社募集 */
	}

	.p-footer__navList li:nth-child(7) {
		order: 7;
		/* 会社情報 */
	}

	.p-footer__navList li:nth-child(8) {
		order: 8;
		/* お知らせ */
	}

	/* 会社情報 */
	.p-footer__logo {
		margin-bottom: 14px;
	}

	.p-footer__logo img {
		width: 200px;
	}

	.p-footer__address {
		margin-bottom: 14px;
	}

	.p-footer__address p {}

	.p-footer__tel {
		margin-bottom: 4px;
	}

	.p-footer__tel a {}

	.p-footer__time {}

	/* コピーライト */
	.p-footer__copyInner {
		padding: .4em 2em;
	}

	.p-footer__copy {
		line-height: 1.5;
	}

	/* ページトップ */
	.p-pageTop {
		right: 15px;
		bottom: 70px;
		width: 80px;
		height: 80px;
	}

	.p-pageTop__arrow {
		width: 10px;
		height: 10px;
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
	}
}

@media (max-width:440px) {
	.p-pageTop {
		right: 15px;
		bottom: 70px;
		width: 60px;
		height: 60px;
	}

	.p-pageTop__arrow {
		width: 10px;
		height: 10px;
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
	}
}

@media (max-width:768px) {
	.p-works-card__headttl {
		flex-direction: column;
		margin-bottom: 10px;
	}

	.p-works-card__label {
		width: 150px;
		padding: 1px 10px;
		margin-bottom: 10px;
	}

	.p-works-card__ttl {
		margin-left: 0;
	}

	body,
	.p-fv__text,
	.p-fv__points li,
	.p-campaign__content p,
	.p-campaign__content li,
	.c-btn-mail,
	.p-plan__note,
	.p-plan__row dd p,
	.p-plan__btn,
	.p-plan__priceBox p,
	.p-news__date,
	.p-news__cat,
	.p-news__text,
	.p-about__btn,
	.p-works__btn,
	.p-service-card__text,
	.p-aircon-offer__btn,
	.p-aircon-recommend__list li,
	.p-aircon-flow__step li,
	.p-aircon-notice__section p,
	.p-aircon-notice__section li,
	.p-works-card__label,
	.p-works-card__ttl,
	.p-works-card__text,
	.p-works-card__before .p-works-card__caption,
	.p-company-greeting__text p,
	.p-company-profile__row dt,
	.recruit__row dt,
	.p-company-profile__row dd,
	.recruit__row dd,
	.p-contact-form__row label,
	.wpcf7-form-control-wrap input[type="text"],
	.wpcf7-form-control-wrap input[type="email"],
	.wpcf7-form-control-wrap input[type="tel"],
	.wpcf7-form-control-wrap select,
	.wpcf7-form-control-wrap textarea,
	.required,
	.optional,
	.p-contact-form__privacyBox,
	.p-contact-form__check span,
	.p-footer__navList a,
	.p-plan__priceSystem h4+p,
	.p-plan__priceBox p>span.hj,
	.p-aircon-offer__text p,
	.p-footer__address p,
	.p-footer__time,
	.p-news-detail__date,
	.p-news-detail__content {
		font-size: 3.3vw;
	}

	.p-news-detail__breadcrumbItem {
		font-size: 3.0vw;
	}

	.p-fv__lead,
	.p-plan__lead,
	.p-plan__priceSystem h4,
	.p-about__catch,
	.p-contact__title,
	.p-aircon-guide__title,
	.p-movie__title,
	.recruit__title,
	.cooperation__title,
	.p-footer__tel a,
	.p-service-feature__title,
	.p-schedule__title {
		font-size: 6.0vw;
	}

	.p-aircon-guide__title,
	.p-movie__title {
		line-height: 1.2;
	}

	.p-plan__title,
	.p-news__title,
	.p-about__title,
	.p-works__title {
		font-size: 8vw;
	}

	.p-campaign__content h3,
	.p-plan__row dd strong,
	.p-works-card__after .p-works-card__caption,
	.p-plan__priceBox p>span {
		font-size: 4vw;
	}

	.p-plan__mainTitle h3,
	.p-plan__mainLabel,
	.p-reason__title {
		font-size: 7vw;
	}

	.p-plan__switchText,
	.p-about__text p,
	.p-plan__priceBox p>strong>span,
	.p-plan__row p>span,
	.p-reason-card__text,
	.p-aircon-problem__item,
	.p-news-detail__cat,
	.p-news-detail__title {
		font-size: 3.6vw;
	}


	.p-aircon-flow__title,
	.p-aircon-notice__title,
	.p-company-greeting__title,
	.p-company-profile__title {
		font-size: 5vw;
	}

	.p-plan__row dt,
	.p-plan__priceBox p>strong,
	.p-plan__sectionTitle,
	.p-aircon-offer__title,
	.p-aircon-problem__title p,
	.p-aircon-recommend__title,
	.p-aircon-notice__section h3,
	.p-aircon-flow__step h3 {
		font-size: 4.3vw;
	}

	.p-plan__tab,
	.p-service-card__title {
		font-size: 4.8vw;
	}

	.p-aircon-recommend__list li::before {
		width: 25px;
		height: 25px;
		margin-right: 0px;
	}
}

@media (max-width:440px) {
	:root {
		--header-height: 72px;
	}

	.l-header {
		height: var(--header-height);
	}

	.p-fv {
		margin-top: -70px;
	}

	.p-works-card__label {
		width: 100px;
		padding: 1px 10px;
		margin-bottom: 10px;
	}

	body,
	.p-fv__text,
	.p-fv__points li,
	.p-campaign__content p,
	.p-campaign__content li,
	.c-btn-mail,
	.p-plan__note,
	.p-plan__row dd p,
	.p-plan__btn,
	.p-plan__priceBox p,
	.p-news__date,
	.p-news__cat,
	.p-news__text,
	.p-about__btn,
	.p-works__btn,
	.p-service-card__text,
	.p-aircon-offer__btn,
	.p-aircon-recommend__list li,
	.p-aircon-flow__step li,
	.p-aircon-notice__section p,
	.p-aircon-notice__section li,
	.p-works-card__label,
	.p-works-card__ttl,
	.p-works-card__text,
	.p-works-card__before .p-works-card__caption,
	.p-company-greeting__text p,
	.p-company-profile__row dt,
	.recruit__row dt,
	.p-company-profile__row dd,
	.recruit__row dd,
	.p-contact-form__row label,
	.wpcf7-form-control-wrap input[type="text"],
	.wpcf7-form-control-wrap input[type="email"],
	.wpcf7-form-control-wrap input[type="tel"],
	.wpcf7-form-control-wrap select,
	.wpcf7-form-control-wrap textarea,
	.required,
	.optional,
	.p-contact-form__privacyBox,
	.p-contact-form__check span,
	.p-footer__navList a,
	.p-plan__priceSystem h4+p,
	.p-plan__priceBox p>span.hj,
	.p-aircon-offer__text p,
	.p-footer__address p,
	.p-footer__time {
		font-size: 3.5vw;
	}

	.p-footer__copy {
		font-size: 12px;
	}

	.p-plan__switchText,
	.p-about__text p,
	.p-plan__priceBox p>strong>span,
	.p-plan__row p>span,
	.p-reason-card__text,
	.p-aircon-problem__item,
	.p-aircon-offer__text p span {
		font-size: 3.8vw;
	}

	.p-fv__box {
		padding: 25px 20px 30px;
	}

	.p-fv__points {
		gap: 5px;
	}

	.p-plan__tabArrow.right {
		margin-top: -20px;
	}

	.p-plan__tab {
		padding: .6em .6em;
	}

	.p-service-card__num {
		font-size: 55px;
	}

	.p-reason-card__num {
		font-size: 50px;
	}

	.p-reason-card__image {
		margin-bottom: 0;
	}

	.p-service-card__head img.baketu {
		width: 64px;
	}

	.p-plan__tabArrow {
		border-left-width: 4.0vw;
		border-right-width: 4.0vw;
		border-top-width: 4.0vw;
		margin-top: 3px;
	}

	.p-fv__points li {
		padding: 10px 0px;
	}
}

span.tax {
	font-size: 80% !important;
}