@charset "utf-8";

/* local Noto（/fonts/ の woff2）。font-display: swap */
@font-face {
	font-family: "Noto Sans JP";
	src: url("/fonts/NotoSansJP-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	src: url("/fonts/NotoSansJP-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	src: url("/fonts/NotoSansJP-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/*//////////////////// base ////////////////////*/
:root {
	--c-white: #ffffff;
	--w-content: 1140px;
}

#content,
#contents {
	width: 100%;
	padding: 0;
	-webkit-text-size-adjust: 100%;
}

#contents a:hover {
	opacity: 1;
}

.l-main {
	width: auto;
	padding: 0;
}

.l-page {
	background-color: var(--c-white);
}

#contents * {
	font-family: "Noto Sans JP", sans-serif;
	box-sizing: border-box;
}

#contents .p-mv__script-text,
#contents .p-everyday__script-text {
	font-family: "Oooh Baby", "Segoe Script", cursive;
}
#contents .p-everyday__script-text {
	font-size: 133.302px;
}
#contents .p-mv__script-text--01,
#contents .p-mv__script-text--02 {
	font-size: 190px;
}

#contents img {
	max-width: 100%;
	height: 100%;
	vertical-align: top;
}

#contents figure {
	margin: 0;
}

.l-footer,
.org-footer,
.org-header,
.float__wrap {
	display: none;
}

/* fade-in */
.p-fade {
	transition: opacity 0.85s cubic-bezier(0.2, 0.7, 0.2, 1), translate 1s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.is-js .p-fade {
	opacity: 0;
	translate: 0 30px;
}
.p-fade.is-inview {
	opacity: 1;
	translate: 0 0;
}

@media (prefers-reduced-motion: reduce) {
	.is-js .p-fade {
		opacity: 1;
		translate: none;
		transition: none;
	}
}

/*//////////////////// MV ////////////////////*/
.p-mv {
	padding: 17px 50px 0;
}
.p-mv__inner {
	width: 100%;
	margin: 0 auto;
}
.p-mv__head {
	display: flex;
	flex-direction: column;
	gap: clamp(9px, 0.9375vw, 18px);
	margin-bottom: clamp(35px, 3.6458vw, 70px);
}
.p-mv__breadcrumbs {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	padding: 10px;
}
.p-mv__breadcrumb-link {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	border-bottom: 1px solid #a7bacb;
}
.p-mv__breadcrumb-text,
.p-mv__breadcrumb-current {
	font-weight: 400;
	font-size: 12px;
	line-height: normal;
	letter-spacing: 0.96px;
	color: #657785;
	text-align: right;
}
.p-mv__catch {
	display: flex;
	flex-direction: column;
	gap: clamp(14px, 1.4063vw, 27px);
}
.p-mv__ttl {
	margin: 0;
	background-image: linear-gradient(151.69deg, #3c51ae 10.525%, #a65ca7 28.203%, #d89464 34.325%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}
.p-mv__ttl-line {
	display: block;
}
.p-mv__ttl-em,
.p-mv__ttl-line--second {
	font-weight: 700;
	font-size: clamp(38px, 3.9583vw, 76px);
	line-height: 1.5;
	letter-spacing: 0;
	color: transparent;
	-webkit-text-fill-color: transparent;
}
.p-mv__ttl-sm {
	font-weight: 700;
	font-size: clamp(20px, 2.0833vw, 40px);
	line-height: 1.5;
	letter-spacing: 0;
	color: transparent;
	-webkit-text-fill-color: transparent;
}
.p-mv__lead {
	margin: 0;
	letter-spacing: 0.36px;
	background-image: linear-gradient(176.05deg, #3c51ae 13.107%, #a65ca7 26.937%, #d89464 37.432%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}
.p-mv__lead-text {
	font-weight: 500;
	font-size: clamp(18px, 1.875vw, 36px);
	line-height: 1;
	letter-spacing: 0.01em;
	color: transparent;
	-webkit-text-fill-color: transparent;
}
#contents .p-mv__lead-brand {
	font-family: "Manrope", sans-serif;
	font-weight: 800;
	font-size: clamp(20px, 2.0833vw, 40px);
	line-height: 1;
	letter-spacing: 0.01em;
	color: transparent;
	-webkit-text-fill-color: transparent;
}
.p-mv__visual {
	position: relative;
	width: 100%;
	height: 100%;
}
.p-mv__img-wrap {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.p-mv__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-mv__script {
	position: absolute;
	z-index: 4;
	left: 54px;
	bottom: 70px;
	width: min(61%, 836px);
	color: var(--c-white);
	pointer-events: none;
	transform: rotate(-7deg);
	transform-origin: center center;
	filter: drop-shadow(0 1px 5px rgba(32, 56, 75, 0.1));
}
.p-mv__script-svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}
.p-mv__script-text {
	font-weight: 400;
	fill: var(--c-white);
	letter-spacing: 0.005em;
}
/*//////////////////// MESSAGE ////////////////////*/
.p-message {
	padding: 100px 0;
	background-color: var(--c-white);
}
.p-message__inner {
	display: flex;
	gap: 70px;
	align-items: flex-start;
	width: var(--w-content);
	margin: 0 auto;
}
.p-message__figure {
	flex: 0 0 488px;
	width: 488px;
	height: 670px;
}
.p-message__img {
	display: block;
	width: 488px;
	height: 670px;
	object-fit: cover;
}
.p-message__content {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 582px;
}
.p-message__ttl {
	margin: 0;
}
.p-message__ttl-line {
	display: block;
	font-weight: 600;
	font-size: 46px;
	line-height: 1.5;
	letter-spacing: 0;
	color: transparent;
	background-image: linear-gradient(131.77deg, #3651ad 7.735%, #3e70bb 30.558%, #268da6 51.691%, #557fb4 70.287%, #7961b1 92.265%);
	-webkit-background-clip: text;
	background-clip: text;
}
.p-message__texts {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.p-message__text {
	margin: 0;
	font-weight: 400;
	font-size: 16px;
	line-height: 36.9px;
	letter-spacing: 0.45px;
	color: #283c4b;
}

/*//////////////////// BUSINESS ////////////////////*/
.p-business {
	padding: 60px 0 100px;
	background-color: var(--c-white);
}
.p-business__inner {
	width: var(--w-content);
	margin: 0 auto;
}
.p-business__list {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.p-business__item {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 550px;
}
.p-business__item--buy {
	padding-top: 50px;
}
.p-business__figure {
	width: 550px;
	height: 355px;
	overflow: hidden;
}
.p-business__img {
	display: block;
	width: 550px;
	height: 355px;
	object-fit: cover;
	transition: transform 0.6s ease;
}
.p-business__body {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-top: 24px;
	border-top: 1px solid #afbdc9;
}
.p-business__name {
	margin: 0;
	font-weight: 600;
	font-size: 30px;
	line-height: 1;
	letter-spacing: 0;
}
.p-business__name--rent {
	color: #233c51;
}
.p-business__name--buy {
	color: #78639b;
}
.p-business__text {
	margin: 0;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0;
	color: #344c5f;
}

/*//////////////////// SYSTEM ////////////////////*/
.p-system {
	padding: 100px 0;
	background-color: #e9ecee;
}
.p-system__inner {
	display: flex;
	flex-direction: column;
	gap: 65px;
	align-items: center;
	width: var(--w-content);
	margin: 0 auto;
}
.p-system__ttl {
	margin: 0;
	width: 100%;
}
.p-system__ttl-line {
	display: block;
	font-weight: 600;
	font-size: 50px;
	line-height: 1.5;
	letter-spacing: 0;
	color: transparent;
	background-image: linear-gradient(153.85deg, #3651ad 7.735%, #268da6 58.453%, #7961b1 92.265%);
	-webkit-background-clip: text;
	background-clip: text;
}
.p-system__list {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-start;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.p-system__item {
	display: flex;
	flex-direction: column;
	width: 550px;
	overflow: hidden;
	transition: box-shadow 0.35s ease;
}
.p-system__item--evaluation,
.p-system__item--independence {
	padding-top: 50px;
}
.p-system__figure {
	width: 550px;
	height: 320px;
	overflow: hidden;
}
.p-system__img {
	display: block;
	width: 550px;
	height: 320px;
	object-fit: cover;
	transition: transform 0.6s ease;
}
.p-system__body {
	display: flex;
	flex-direction: column;
	gap: 25px;
	width: 550px;
	padding: 24px 30px 33px;
	background-color: var(--c-white);
}
.p-system__name {
	margin: 0;
	font-weight: 700;
	font-size: 36px;
	line-height: 1;
	letter-spacing: 0;
}
.p-system__name--incentive {
	color: #365e86;
}
.p-system__name--evaluation {
	color: #427b82;
}
.p-system__name--support {
	color: #796596;
}
.p-system__name--independence {
	color: #8d7448;
}
.p-system__lead {
	margin: 0;
	font-weight: 500;
	font-size: 23px;
	line-height: 1;
	letter-spacing: 0;
}
.p-system__lead--incentive {
	color: #375f84;
}
.p-system__lead--evaluation {
	color: #427b82;
}
.p-system__lead--support {
	color: #796596;
}
.p-system__lead--independence {
	color: #8d7448;
}
.p-system__text {
	margin: 0;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0;
	color: #354957;
}
.p-system__note {
	margin: 0;
	width: 100%;
	font-weight: 400;
	font-size: 14px;
	line-height: 26.6px;
	letter-spacing: 0;
	color: #596c7a;
}

/*//////////////////// EVERYDAY ////////////////////*/
.p-everyday {
	padding: 100px 0;
	overflow: hidden;
	background-color: #f4f5f5;
}
.p-everyday__inner {
	display: flex;
	flex-direction: column;
	gap: 65px;
	align-items: center;
}
.p-everyday__head {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 42px;
	align-items: flex-start;
	width: var(--w-content);
}
.p-everyday__ttl {
	margin: 0;
	font-weight: 600;
	font-size: 50px;
	line-height: 1.5;
	letter-spacing: 0;
	color: transparent;
	background-image: linear-gradient(141.35deg, #3651ad 7.735%, #268da6 58.453%, #7961b1 92.265%);
	-webkit-background-clip: text;
	background-clip: text;
	white-space: nowrap;
}
.p-everyday__lead {
	margin: 0;
}
.p-everyday__lead-line {
	display: block;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: 0;
	color: #334a59;
}
.p-everyday__script {
	position: absolute;
	right: 0;
	top: 50%;
	z-index: 1;
	width: 493px;
	height: 137px;
	color: #23475c;
	transform: translateY(-50%);
	pointer-events: none;
}
.p-everyday__script-svg {
	position: absolute;
	left: -30px;
	top: -48px;
	display: block;
	width: 617px;
	height: 206px;
	overflow: visible;
	transform: rotate(-5deg);
	transform-origin: center center;
}
.p-everyday__script-text {
	font-weight: 400;
	fill: currentColor;
}
.p-everyday__point {
	display: flex;
	flex-direction: column;
	gap: 60px;
	align-items: center;
	width: var(--w-content);
}
.p-everyday__point-ttl {
	margin: 0;
	width: 100%;
	padding-top: 25px;
	border-top: 1px solid #a9b6bf;
	font-weight: 400;
	font-size: 20px;
	line-height: 1;
	letter-spacing: 0;
	color: #3e5566;
}
.p-everyday__point-list {
	display: flex;
	gap: 27px;
	align-items: stretch;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.p-everyday__point-item {
	display: flex;
	flex-direction: column;
	width: 362px;
}
.p-everyday__point-figure {
	width: 362px;
	height: 240px;
	overflow: hidden;
}
.p-everyday__point-img {
	display: block;
	width: 362px;
	height: 240px;
	object-fit: cover;
	transition: transform 0.6s ease;
}
.p-everyday__point-body {
	display: flex;
	flex-direction: column;
	gap: 20px;
	flex: 1 1 auto;
	padding: 24px 22px;
	background-color: #23475c;
}
.p-everyday__point-name {
	margin: 0;
}
.p-everyday__point-name-line {
	display: block;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.65;
	letter-spacing: 0;
	color: var(--c-white);
}
.p-everyday__point-text {
	margin: 0;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.23);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0;
	color: #e0e9ee;
}
.p-everyday__message {
	position: relative;
	z-index: 0;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 35px;
	width: 100%;
	padding: 47px 50px 50px;
	border-left: 3px solid #6676b2;
	background-image: linear-gradient(110deg, #dce5f0, #e8ecf2 55%, #eee7f0);
}
.p-everyday__message-sunlight {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	pointer-events: none;
}
.p-everyday__message-sunlight::before {
	content: "";
	position: absolute;
	inset: -100% -65%;
	opacity: 0;
	transform-origin: 12% 0;
	filter: blur(5px);
	background: linear-gradient(
		125deg,
		transparent 20%,
		#fff0c799 24%,
		#fffdf3 28%,
		#ffffff 31%,
		#fff6decc 35%,
		transparent 39%,
		transparent 43%,
		#fff3d1b3 46%,
		#fffef6 49%,
		#fff8dfcc 52%,
		transparent 56%,
		transparent 62%,
		#fff9eccc 65%,
		#fffef7 67%,
		transparent 71%
	);
}
.p-everyday__message-sunlight::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0;
	background: radial-gradient(ellipse at 0% 0%, #ffedb7 0%, #fff6d6d9 20%, #fffdf480 42%, transparent 75%);
}
.p-everyday__message.is-sunlight .p-everyday__message-sunlight::before {
	animation: p-message-sunrays 6.8s cubic-bezier(0.4, 0, 0.4, 1) 0.4s infinite;
}
.p-everyday__message.is-sunlight .p-everyday__message-sunlight::after {
	animation: p-message-daylight 6.8s ease-in-out 0.4s infinite;
}
@keyframes p-message-sunrays {
	0% { opacity: 0.12; transform: translate(-22%, -12%) rotate(-10deg); }
	25% { opacity: 0.95; }
	52% { opacity: 1; transform: translate(0, 0) rotate(0deg); }
	80% { opacity: 0.85; }
	100% { opacity: 0.12; transform: translate(22%, 12%) rotate(8deg); }
}
@keyframes p-message-daylight {
	0%, 100% { opacity: 0.12; }
	35%, 60% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.p-everyday__message.is-sunlight .p-everyday__message-sunlight::before,
	.p-everyday__message.is-sunlight .p-everyday__message-sunlight::after {
		animation: none;
		opacity: 0.45;
	}
}
.p-everyday__message-text,
.p-everyday__message-catch {
	position: relative;
	z-index: 1;
}
.p-everyday__message-text {
	margin: 0;
}
.p-everyday__message-line {
	display: block;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0;
	color: #294a60;
}
.p-everyday__message-catch {
	margin: 0;
	padding-top: 35px;
	border-top: 1px solid #afbdc9;
	font-weight: 700;
	font-size: 40px;
	line-height: 1;
	letter-spacing: 1.6px;
	color: transparent;
	background-image: linear-gradient(171.83deg, #3c51ae 7.735%, #5054b6 33.094%, #7154b6 56.762%, #a45ba9 77.05%, #cb7192 92.265%);
	-webkit-background-clip: text;
	background-clip: text;
}
.p-everyday__note {
	margin: 0;
	width: 100%;
	font-weight: 400;
	font-size: 14px;
	line-height: 26.6px;
	letter-spacing: 0;
	color: #596c7a;
}

/*//////////////////// DAYS (marquee) ////////////////////*/
.p-days {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
	width: 100%;
}
.p-days__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: var(--w-content);
	padding-top: 25px;
	border-top: 1px solid #b8c5ce;
}
#contents .p-days__ttl {
	margin: 0;
	font-family: "Manrope", sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: normal;
	letter-spacing: 2.89px;
	color: #4c6578;
}
.p-days__pause {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 30px;
	border: 1px solid #b8c5ce;
	border-radius: 9999px;
	background-color: transparent;
	cursor: pointer;
}
#contents .p-days__pause-text {
	font-family: "Manrope", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: normal;
	letter-spacing: 2.89px;
	color: #4c6578;
}
.p-days__pause-icon {
	position: relative;
	display: block;
	width: 9px;
	height: 13px;
}
.p-days__pause-icon::before,
.p-days__pause-icon::after {
	content: "";
	position: absolute;
	top: 0;
	width: 2px;
	height: 13px;
	background-color: #4c6578;
}
.p-days__pause-icon::before {
	left: 0;
}
.p-days__pause-icon::after {
	right: 0;
}
.p-days__pause[aria-pressed="true"] .p-days__pause-icon::before,
.p-days__pause[aria-pressed="true"] .p-days__pause-icon::after {
	width: 0;
	height: 0;
	border-style: solid;
}
.p-days__pause[aria-pressed="true"] .p-days__pause-icon::before {
	left: 1px;
	border-width: 6.5px 0 6.5px 8px;
	border-color: transparent transparent transparent #4c6578;
	background: none;
}
.p-days__pause[aria-pressed="true"] .p-days__pause-icon::after {
	display: none;
}
.p-days__viewport {
	width: 100%;
	overflow: hidden;
}
.p-days__track {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	width: max-content;
	animation: p-days-marquee 40s linear infinite;
}
.p-days.is-paused .p-days__track {
	animation-play-state: paused;
}
@keyframes p-days-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
.p-days__item img {
	display: block;
	object-fit: cover;
}
.p-days__item--01 {
	padding-top: 6px;
}
.p-days__item--01 img {
	width: 406px;
	height: 350px;
}
.p-days__item--02 img {
	width: 336px;
	height: 350px;
}
.p-days__item--03 {
	padding-top: 12px;
}
.p-days__item--03 img {
	width: 406px;
	height: 350px;
}
.p-days__item--04 img {
	width: 376px;
	height: 350px;
}
.p-days__item--05 img {
	width: 356px;
	height: 350px;
}
.p-days__item--06 {
	padding-top: 40px;
}
.p-days__item--06 img {
	width: 366px;
	height: 340px;
}
.p-days__item--07 {
	padding-top: 31px;
}
.p-days__item--07 img {
	width: 366px;
	height: 360px;
}
@media (prefers-reduced-motion: reduce) {
	.p-days__track {
		animation: none;
	}
}

/*//////////////////// FAQ ////////////////////*/
.p-faq {
	padding: 100px 0;
	background-color: #f1f5fa;
}
.p-faq__inner {
	width: var(--w-content);
	margin: 0 auto;
}
.p-faq__ttl {
	margin: 0 0 0;
	padding-bottom: 40px;
	border-bottom: 1px solid #aebdc7;
	font-weight: 500;
	font-size: 40px;
	line-height: 1;
	letter-spacing: 0.8px;
	color: #142c3c;
}
.p-faq__content {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	padding-top: 45px;
}
.p-faq__jobs {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 550px;
}
.p-faq__job-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 80px;
	padding: 20px 24px;
	border: 0;
	border-left: 5px solid;
	cursor: pointer;
	text-align: left;
}
.p-faq__job--rent .p-faq__job-btn {
	background-color: #eaf2f8;
	border-left-color: #3f7da7;
}
.p-faq__job--buy .p-faq__job-btn {
	background-color: #f1edf7;
	border-left-color: #8967a8;
}
.p-faq__job-name {
	font-weight: 700;
	font-size: 26px;
	line-height: 1;
	letter-spacing: 0.98px;
}
.p-faq__job-name--rent {
	color: #245a80;
}
.p-faq__job-name--buy {
	color: #71528e;
}
.p-faq__job-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	font-weight: 400;
	font-size: 28px;
	line-height: 1;
	letter-spacing: 0.98px;
	transition: transform 0.25s ease;
}
.p-faq__job--rent .p-faq__job-icon {
	color: #3f7da7;
}
.p-faq__job--buy .p-faq__job-icon {
	color: #8967a8;
}
.p-faq__job.is-open .p-faq__job-icon {
	transform: rotate(45deg);
}
.p-faq__job-panel {
	display: flex;
	flex-direction: column;
	gap: 25px;
	padding-top: 30px;
}
.p-faq__job-panel[hidden] {
	display: none;
}
.p-faq__job-lead {
	margin: 0;
	font-weight: 400;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0;
	color: #243746;
}
.p-faq__detail-list {
	margin: 0;
	padding: 0;
}
.p-faq__detail-item {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 20px 0;
	border-top: 1px solid #eceeef;
}
.p-faq__detail-term {
	margin: 0;
	font-weight: 400;
	font-size: 17px;
	line-height: 1;
	letter-spacing: 0;
	color: #7e888c;
}
.p-faq__detail-desc {
	margin: 0;
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0;
	color: #243746;
}

.p-faq__qa {
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 550px;
}
#contents .p-faq__qa-label {
	margin: 0;
	font-family: "Manrope", sans-serif;
	font-weight: 600;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0.84px;
	color: #71869b;
}
.p-faq__qa-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.p-faq__qa-item {
	border-top: 1px solid #c9cfd3;
}
.p-faq__qa-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 30px 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-align: left;
}
.p-faq__qa-q {
	font-weight: 400;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0;
	color: #2e4b61;
}
.p-faq__qa-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	font-weight: 400;
	font-size: 20px;
	line-height: 1;
	color: #2e4b61;
	transition: transform 0.25s ease;
}
.p-faq__qa-item.is-open .p-faq__qa-icon {
	transform: rotate(45deg);
}
.p-faq__qa-panel {
	padding: 0 0 30px;
}
.p-faq__qa-panel[hidden] {
	display: none;
}
.p-faq__qa-item.is-open .p-faq__qa-btn {
	padding-bottom: 20px;
}
.p-faq__qa-a {
	margin: 0;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0;
	color: #65747b;
}

/*//////////////////// ENTRY ////////////////////*/
.p-entry {
	position: relative;
	padding: 97px 0 100px;
	overflow: hidden;
}
.p-entry__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.p-entry__bg-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-entry__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 52px;
	align-items: flex-start;
	width: var(--w-content);
	margin: 0 auto;
}
.p-entry__texts {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.p-entry__ttl {
	margin: 0;
}
.p-entry__ttl-line {
	display: block;
	font-weight: 500;
	font-size: 42px;
	line-height: 1.6;
	letter-spacing: 0;
	color: var(--c-white);
}
.p-entry__lead {
	margin: 0;
	font-weight: 400;
	font-size: 19px;
	line-height: 36.1px;
	letter-spacing: 0;
	color: #dfe8ef;
}
.p-entry__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 330px;
	min-width: 330px;
	height: 70px;
	padding: 19px 32px;
	border: 1px solid var(--c-white);
	background-color: var(--c-white);
	text-decoration: none;
}
.p-entry__btn-label {
	font-weight: 500;
	font-size: 18px;
	line-height: 1;
	letter-spacing: 0;
	color: #162f41;
	text-align: center;
}
.p-entry__btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
}
.p-entry__btn-icon img {
	display: block;
	width: 16px;
	height: 16px;
}

/*//////////////////// HEADER（このページ専用） ////////////////////*/
.scroll-header {
	display: none !important;
}

.p-header {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 3;
	height: 96px;
	border-bottom: 1px solid #e9edf0;
	background-color: var(--c-white);
}
.p-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 96px;
	margin: 0 auto;
	padding: 0 80px;
	box-sizing: border-box;
}
.p-header__brand {
	display: flex;
	align-items: center;
	gap: 18px;
}
.p-header__logo {
	display: block;
	width: 145px;
	height: 30px;
	line-height: 0;
	text-decoration: none;
}
.p-header__logo-img {
	display: block;
	width: 145px;
	height: 30px;
	object-fit: contain;
}
.p-header__recruit {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	padding-left: 18px;
	border-left: 1px solid #c4d2df;
}
.p-header__recruit-en,
.p-header__recruit-ja {
	display: block;
	font-weight: 400;
	font-size: 11px;
	line-height: 19.8px;
	letter-spacing: 1.32px;
	color: #293b48;
	white-space: nowrap;
}
.p-header__right {
	display: flex;
	align-items: center;
	gap: 36px;
}
.p-header__gnavi {
	display: flex;
	align-items: flex-start;
	gap: 28px;
	height: 16px;
}
.p-header__gnavi-link {
	display: inline-flex;
	text-decoration: none;
}
.p-header__gnavi-text {
	font-weight: 400;
	font-size: 14px;
	line-height: normal;
	letter-spacing: 1.04px;
	color: #283e50;
	white-space: nowrap;
}
.p-header__actions {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
}
.p-header__cta {
	display: inline-flex;
	align-items: center;
	gap: 25px;
	height: 56px;
	padding: 14px 25px;
	border: 1px solid #081924;
	border-radius: 50px;
	background-color: #081924;
	text-decoration: none;
	box-sizing: border-box;
}
.p-header__cta-label {
	font-weight: 500;
	font-size: 13px;
	line-height: normal;
	letter-spacing: 0;
	color: var(--c-white);
	white-space: nowrap;
}
.p-header__cta-icon {
	font-weight: 500;
	font-size: 22px;
	line-height: 1;
	letter-spacing: 0;
	color: var(--c-white);
	white-space: nowrap;
}
.p-header__menu-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 43px;
	height: 43px;
	padding: 1px 6px;
	border: 1px solid #b3c3d3;
	border-radius: 21.5px;
	background-color: var(--c-white);
	cursor: pointer;
	box-sizing: border-box;
}
.p-header__menu-bar {
	display: block;
	width: 16px;
	height: 1px;
	background-color: #17232b;
}
.p-header__menu-btn[aria-expanded="true"] .p-header__menu-bar:nth-child(1) {
	transform: translateY(3.5px) rotate(45deg);
}
.p-header__menu-btn[aria-expanded="true"] .p-header__menu-bar:nth-child(2) {
	transform: translateY(-3.5px) rotate(-45deg);
}
.p-header__menu {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 110;
	display: flex;
	flex-direction: column;
	gap: 15px;
	align-items: flex-start;
	width: 310px;
	padding: 30px;
	background-color: var(--c-white);
	box-shadow: 0 2px 20px rgba(101, 119, 133, 0.1);
	box-sizing: border-box;
}
.p-header__menu[hidden] {
	display: none;
}
.p-header__menu-link {
	display: flex;
	align-items: center;
	width: 250px;
	padding-bottom: 15px;
	border-bottom: 1px solid #a9b6bf;
	text-decoration: none;
}
.p-header__menu-text {
	font-weight: 400;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0;
	color: #657785;
	text-align: right;
	white-space: nowrap;
}

/*//////////////////// FOOTER（このページ専用） ////////////////////*/

.p-footer {
	padding: 60px 0;
	border-top: 1px solid #dbe3e9;
	background-color: #f1f2f3;
}
.p-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 50px;
	align-items: center;
	width: var(--w-content);
	margin: 0 auto;
}
.p-footer__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}
.p-footer__brand {
	display: flex;
	align-items: center;
	gap: 35px;
}
.p-footer__logo {
	display: block;
	width: 145px;
	height: 30px;
	line-height: 0;
	text-decoration: none;
}
.p-footer__logo-img {
	display: block;
	width: 145px;
	height: 30px;
	object-fit: contain;
}
.p-footer__nav {
	display: flex;
	align-items: flex-start;
	gap: 35px;
}
.p-footer__label {
	margin: 0;
	font-weight: 400;
	font-size: 15px;
	line-height: normal;
	letter-spacing: 0;
	color: #344e63;
}
.p-footer__back {
	display: inline-flex;
	align-items: flex-start;
	padding-bottom: 3px;
	border-bottom: 1px solid #afc0d3;
	text-decoration: none;
}
.p-footer__back-text {
	font-weight: 400;
	font-size: 14px;
	line-height: normal;
	letter-spacing: 0;
	color: #6b8199;
	white-space: nowrap;
}
.p-footer__pagetop {
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.p-footer__pagetop-text {
	font-weight: 400;
	font-size: 10px;
	line-height: normal;
	letter-spacing: 1px;
	color: #344e63;
	white-space: nowrap;
}
.p-footer__copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	padding-top: 20px;
	border-top: 1px solid #c9cfd3;
}
.p-footer__copy-text {
	margin: 0;
	font-weight: 400;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0;
	color: #737e83;
	white-space: nowrap;
}

/*//////////////////// HOVER（採用ページ.html 準拠） ////////////////////*/
.p-header__gnavi-link,
.p-header__menu-link,
.p-mv__breadcrumb-link,
.p-footer__back,
.p-footer__pagetop,
.p-header__cta,
.p-entry__btn,
.p-header__menu-btn,
.p-days__pause,
.p-faq__job-btn,
.p-faq__qa-btn {
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease, transform 0.25s ease, box-shadow 0.35s ease;
}
.p-header__gnavi-link {
	position: relative;
}
.p-header__gnavi-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -8px;
	width: 100%;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}
.p-header__cta-icon,
.p-entry__btn-icon {
	transition: transform 0.3s ease;
}
@media (hover: hover) {
	.p-header__gnavi-link:hover::after {
		transform: scaleX(1);
	}
	.p-header__cta:hover {
		background-color: #324f62;
		border-color: #324f62;
		transform: translateY(-2px);
	}
	.p-header__cta:hover .p-header__cta-icon {
		transform: translate(3px, -3px);
	}
	.p-header__menu-btn:hover {
		border-color: #17232b;
		background-color: #f5f8fa;
	}
	.p-header__menu-link:hover .p-header__menu-text {
		color: #283e50;
	}
	.p-mv__breadcrumb-link:hover .p-mv__breadcrumb-text {
		color: #283e50;
	}
	.p-system__item:hover {
		box-shadow: 0 12px 35px rgba(33, 62, 83, 0.07);
	}
	.p-days__viewport:hover .p-days__track {
		animation-play-state: paused;
	}
	.p-days__pause:hover {
		border-color: #4c6578;
		background-color: var(--c-white);
	}
	.p-faq__job-btn:hover,
	.p-faq__qa-btn:hover .p-faq__qa-q {
		opacity: 0.85;
	}
	.p-entry__btn:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 24px rgba(8, 27, 39, 0.18);
	}
	.p-entry__btn:hover .p-entry__btn-icon {
		transform: translate(3px, -3px);
	}
	.p-footer__back:hover .p-footer__back-text {
		color: #344e63;
	}
	.p-footer__pagetop:hover .p-footer__pagetop-text {
		color: #17232b;
	}
	#contents .p-header__logo:hover,
	#contents .p-footer__logo:hover {
		opacity: 0.85;
	}
}

@media (prefers-reduced-motion: reduce) {
	.p-header__gnavi-link::after,
	.p-header__cta-icon,
	.p-entry__btn-icon,
	.p-business__img,
	.p-system__img,
	.p-everyday__point-img,
	.p-system__item,
	.p-header__gnavi-link,
	.p-header__menu-link,
	.p-mv__breadcrumb-link,
	.p-footer__back,
	.p-footer__pagetop,
	.p-header__cta,
	.p-entry__btn,
	.p-header__menu-btn,
	.p-days__pause,
	.p-faq__job-btn,
	.p-faq__qa-btn {
		transition: none;
	}
	.p-business__item:hover .p-business__img,
	.p-system__item:hover .p-system__img,
	.p-everyday__point-item:hover .p-everyday__point-img,
	.p-header__cta:hover .p-header__cta-icon,
	.p-entry__btn:hover .p-entry__btn-icon,
	.p-header__cta:hover,
	.p-entry__btn:hover {
		transform: none;
	}
}

