/* リキッドレイアウト対応 */

:root {
	--rem: 1rem / 16;
	--em: 1em / 16;
	--vw: 1440 * 100vw;
}

:root {
	--inner-value: 1200;
	--inner: 1200px;
	--padding-pc: 25px;
	--padding-sp: 20px;
}

:root {
	--base-font: "Noto Sans JP", serif;
	--en-font: "Poppins", sans-serif;
	--noto-serif-jp-font: "Noto Serif JP", serif;
	--heebo-font: "Heebo", sans-serif;
	--fw-light: 300;
	--fw-regular: 400;
	--fw-medium: 500;
	--fw-semi-bold: 600;
	--fw-bold: 700;
	--fw-extrabold: 800;
	--fw-black: 900;
	--leading-trim: calc((1em - 1lh) / 2);
}

:root {
	--white: #fff;
	--black: #000;
	--text-black: #202020;
	--red: #E33820;
	--bg-light-gray: #F5F5F5;
	--blue: #0269C8;
	--blue-light: #60A6E8;
	--blue-mid: #3187D8;
	--blue-pale: #5BA3E6;
	--navy: #192A46;
	--navy-dark: #152032;
	--orange: #F5533C;
	--yellow: #FFBF21;
	--teal: #22AEA2;
	--line-green: #06C755;
	--lime: #C5FF07;
	--gray-placeholder: #D9D9D9;
	--gray-dot: #D0D0D0;
	--gray-wave: #747474;
	--amber: #EFAA00;
	--teal-tint: #E9F6F5;
	--amber-tint: #FFF9EF;
	--blue-tint: #E8F4FF;
	--orange-tint: #FFF3F3;
	--instagram-purple: #9430F4;
	--instagram-pink: #DD2188;
	--instagram-red: #F72D0B;
	--instagram-yellow: #F6B701;
}

:root {
	--z-index-loader: 1000;
	--z-index-hamburger: 120;
	--z-index-header: 115;
	--z-index-drawer: 110;
	--z-index-pagetop: 90;
}

:root {
	--header-height: calc(100 * var(--rem));
	--scrollbar-width: 0;
}

@property --scrollbar {
	syntax: "<length>";
	initial-value: 0;
	inherits: true;
}

:root:has(:modal[open],
.is-scroll-lock,
.loader) {
	overflow: hidden;
	scrollbar-gutter: stable;
}

body {
	container-type: inline-size;
	background-color: var(--white);
	font-family: var(--base-font);
	color: var(--black);
	font-weight: var(--fw-medium);
	line-height: 1.5;
}

html {
	font-size: 16px;
}

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

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

html { /* 追従ヘッダー（SP:縮小時70px / PC:縮小時96px）に隠れないぶんの余白 */
	scroll-padding-top: 5.25rem;
}

/* Set core body defaults */

body {
	min-height: 100svh;
	text-rendering: optimizeLegibility;
	line-height: 1.5;
	line-break: strict;
	overflow-wrap: anywhere;
	touch-action: manipulation;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

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

/* Natural flow and rhythm in articles by default */

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* picture*/

picture {
	display: block;
	width: 100%;
	height: 100%;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

:where(dialog) {
	width: unset;
	max-width: unset;
	height: unset;
	max-height: unset;
	padding: unset;
	color: unset;
	background-color: unset;
	border: unset;
	overflow: unset;
}

:where(dialog:focus-visible) {
	outline: none;
}

/* フォームリセット */

input,
button,
select,
textarea {
	margin: 0;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

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

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

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

a {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: opacity 0.3s;
}

a[href^="tel:"] {
	pointer-events: none;
}

.inner {
	max-width: calc(var(--inner) + var(--padding-pc) * 2);
	margin-inline: auto;
	padding-inline: var(--padding-pc);
	width: 100%;
}

.l-main {
	padding-block-start: 5rem;
}

.p-company {
	position: relative;
	z-index: 1;
	margin-block-start: -3.4025rem;
	padding-block-end: 7.5rem;
}

.p-company__inner {
	width: min(100% - 3.125rem, 62.5rem);
	margin-inline: auto;
}

.p-company__table {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-block-start: 4rem;
}

.p-company__row {
	display: flex;
	gap: 4rem;
	padding-block: 1.25rem;
	padding-inline: 2rem;
	border-radius: 0.625rem;
	background-color: var(--bg-light-gray);
}

.p-company__label {
	width: 4.5rem;
	flex-shrink: 0;
	font-weight: var(--fw-bold);
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--navy);
	text-align: center;
}

.p-company__data {
	margin-inline-start: 0;
	min-width: 0;
	font-weight: var(--fw-medium);
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--navy);
}

.p-company__instagram {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.625rem;
	width: 27.375rem;
	max-width: 100%;
	margin-block-start: 4.25rem;
	margin-inline: auto;
	padding: 0.625rem;
	border-radius: 0.625rem;
	background-image: linear-gradient(107deg, var(--instagram-purple) 0%, var(--instagram-pink) 30%, var(--instagram-red) 70%, var(--instagram-yellow) 100%);
	transition: translate 0.25s cubic-bezier(0.33, 1, 0.68, 1), box-shadow 0.25s ease-out;
}

.p-company__instagramCard {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	width: 100%;
	padding-block: 1rem;
	padding-inline: 1.5rem;
	border-radius: 0.625rem;
	background-color: var(--white);
}

.p-company__instagramIcon {
	display: block;
	width: 3.125rem;
	height: 3.125rem;
	flex-shrink: 0;
}

.p-company__instagramText {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.p-company__instagramLabel {
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 1.125rem;
	line-height: 1;
	color: var(--navy);
	white-space: nowrap;
}

.p-company__instagramId {
	padding-block: 0.0625rem;
	padding-inline: 0.5rem;
	border: 0.0625rem solid var(--navy);
	border-radius: 0.25rem;
	background-color: var(--white);
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 1.375rem;
	line-height: 1.8;
	color: var(--navy);
	white-space: nowrap;
}

.p-company__instagramFollow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	padding-inline-start: 0.75rem;
}

.p-company__instagramFollowText {
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 1.125rem;
	line-height: 1;
	color: var(--white);
	white-space: nowrap;
}

.p-company__instagramArrow {
	display: block;
	width: 1.875rem;
	height: 1.875rem;
	flex-shrink: 0;
	transition: translate 0.25s ease-out;
}

.p-contact {
	position: relative;
	overflow: hidden;
	padding-block: 5rem 7.5rem;
	background-color: var(--bg-light-gray);
}

.p-contact::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 62%;
	z-index: 0;
	width: 60%;
	height: 10.5rem;
	background-image: linear-gradient(180deg, var(--orange) 0 2.5rem, transparent 2.5rem 4rem, var(--yellow) 4rem 6.5rem, transparent 6.5rem 8rem, var(--teal) 8rem 10.5rem);
	opacity: 0.16;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
	pointer-events: none;
}

.p-contact__inner {
	position: relative;
	z-index: 1;
	width: min(100% - 3.125rem, 56.25rem);
	margin-inline: auto;
}

.p-contact__lead {
	text-align: center;
}

.p-contact__leadText {
	font-weight: var(--fw-medium);
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--navy);
}

.p-contact__note {
	margin-block-start: 0.75rem;
	font-weight: var(--fw-medium);
	font-size: 0.9375rem;
	line-height: 1.8;
	color: var(--blue);
}

.p-contact__direct {
	display: flex;
	gap: 1rem;
	margin-block-start: 2rem;
}

.p-contact__directItem {
	width: 100%;
}

.p-contact__directLink {
	display: flex;
	align-items: center;
	gap: 0.875rem;
	height: 100%;
	padding-block: 1rem;
	padding-inline: 1.25rem;
	border: 0.125rem solid var(--blue);
	border-radius: 0.625rem;
	background-color: var(--white);
	transition: translate 0.25s cubic-bezier(0.33, 1, 0.68, 1), box-shadow 0.25s ease-out;
}

.p-contact__directLink--line {
	border-color: var(--line-green);
}

.p-contact__directIcon {
	width: 1.875rem;
	height: 1.875rem;
	flex-shrink: 0;
}

.p-contact__directBody {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	min-width: 0;
}

.p-contact__directLabel {
	font-weight: var(--fw-medium);
	font-size: 0.8125rem;
	line-height: 1.6;
	color: var(--navy);
}

.p-contact__directValue {
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 1.5rem;
	line-height: 1.2;
	color: var(--blue);
	white-space: nowrap;
}

.p-contact__directLink--line .p-contact__directValue {
	font-family: var(--base-font);
	font-size: 0.9375rem;
	color: var(--line-green);
	white-space: normal;
}

.p-contact__directArrow {
	position: relative;
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	flex-shrink: 0;
	margin-inline-start: auto;
	border: 0.0625rem solid var(--line-green);
	border-radius: 100%;
	transition: translate 0.25s ease-out;
}

.p-contact__directArrow::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0.4375rem;
	height: 0.4375rem;
	background-color: var(--line-green);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.p-contact__form {
	margin-block-start: 3rem;
}

.p-contact__contents {
	position: relative;
	overflow: hidden;
	padding-block: 3.5rem 3rem;
	padding-inline: 3.5rem;
	border-radius: 1.25rem;
	background-color: var(--white);
	box-shadow: 0 0 1.25rem rgba(21, 32, 50, 0.1);
}

.p-contact__contents::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 0.5rem;
	background-image: linear-gradient(90deg, var(--orange) 0 33.33%, var(--yellow) 33.33% 66.66%, var(--teal) 66.66% 100%);
}

.p-contact__content {
	display: flex;
	gap: 1.5rem;
	padding-block: 1.5rem;
	border-block-end: 0.0625rem solid var(--bg-light-gray);
}

.p-contact__content:first-child {
	padding-block-start: 0;
}

.p-contact__content:last-of-type {
	border-block-end: none;
}

.p-contact__head {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	width: 16.25rem;
	flex-shrink: 0;
	padding-block-start: 0.875rem;
	font-weight: var(--fw-bold);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--navy);
}

.p-contact__head label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.p-contact__required {
	padding-block: 0.125rem;
	padding-inline: 0.5rem;
	border-radius: 0.25rem;
	background-color: var(--orange);
	font-weight: var(--fw-bold);
	font-size: 0.75rem;
	line-height: 1.6;
	color: var(--white);
	white-space: nowrap;
}

.p-contact__comment {
	font-weight: var(--fw-medium);
	font-size: 0.8125rem;
	line-height: 1.6;
	color: var(--gray-wave);
}

.p-contact__item {
	width: 100%;
	min-width: 0;
}

.p-contact__item-text,
.p-contact__item-email,
.p-contact__item-tel,
.p-contact__item-date,
.p-contact__item-time,
.p-contact__item-textarea {
	width: 100%;
	padding-block: 0.75rem;
	padding-inline: 1rem;
	border: 0.0625rem solid var(--gray-placeholder);
	border-radius: 0.375rem;
	background-color: var(--white);
	font-family: inherit;
	font-weight: var(--fw-medium);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--navy);
	transition: border-color 0.2s ease-out, box-shadow 0.2s ease-out;
}

.p-contact__item-textarea {
	height: 13.75rem;
	resize: vertical;
}

.p-contact__item-text::-moz-placeholder,
.p-contact__item-email::-moz-placeholder,
.p-contact__item-tel::-moz-placeholder,
.p-contact__item-textarea::-moz-placeholder {
	color: var(--gray-placeholder);
}

.p-contact__item-text::placeholder,
.p-contact__item-email::placeholder,
.p-contact__item-tel::placeholder,
.p-contact__item-textarea::placeholder {
	color: var(--gray-placeholder);
}

.p-contact__item-text:focus,
.p-contact__item-email:focus,
.p-contact__item-tel:focus,
.p-contact__item-date:focus,
.p-contact__item-time:focus,
.p-contact__item-textarea:focus {
	border-color: var(--blue);
	box-shadow: 0 0 0 0.1875rem rgba(2, 105, 200, 0.15);
	outline: none;
}

.p-contact__item--radio .wpcf7-list-item {
	display: block;
	margin-inline: 0;
}

.p-contact__item--radio .wpcf7-list-item + .wpcf7-list-item {
	margin-block-start: 0.375rem;
}

.p-contact__item-radio label,
.p-contact__item-checkbox label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding-block: 0.375rem;
	cursor: pointer;
}

.p-contact__item-radio input[type=radio],
.p-contact__item-checkbox input[type=checkbox] {
	display: inline-block;
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
	width: 1.125rem;
	height: 1.125rem;
	flex-shrink: 0;
	margin: 0;
	accent-color: var(--blue);
	cursor: pointer;
}

.p-contact__item-radio input[type=radio]:focus-visible,
.p-contact__item-checkbox input[type=checkbox]:focus-visible {
	outline: 0.125rem solid var(--blue);
	outline-offset: 0.125rem;
}

.p-contact__item-radio .wpcf7-list-item-label,
.p-contact__item-checkbox .wpcf7-list-item-label {
	font-weight: var(--fw-medium);
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--navy);
}

.p-contact__policy {
	margin-block-start: 2rem;
	padding-block: 1.25rem;
	padding-inline: 1rem;
	border-radius: 0.625rem;
	background-color: var(--bg-light-gray);
	text-align: center;
}

.p-contact__policy .p-contact__item {
	display: flex;
	justify-content: center;
}

.p-contact__policy-link {
	color: var(--blue);
	text-decoration: underline;
	transition: opacity 0.2s ease-out;
}

.p-contact__btn-wrap {
	margin-block-start: 2.5rem;
}

.p-contact__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.p-contact__btn .wpcf7-spinner {
	position: absolute;
	inset-inline-end: -2.5rem;
}

.p-contact__form .wpcf7-not-valid-tip {
	margin-block-start: 0.375rem;
	font-weight: var(--fw-bold);
	font-size: 0.8125rem;
	line-height: 1.6;
	color: var(--red);
}

.p-contact__form .wpcf7-response-output {
	margin-block-start: 1.5rem;
	margin-inline: 0;
	padding-block: 0.875rem;
	padding-inline: 1.125rem;
	border-width: 0.0625rem;
	border-radius: 0.375rem;
	background-color: var(--white);
	font-weight: var(--fw-medium);
	font-size: 0.9375rem;
	line-height: 1.8;
	color: var(--navy);
}

.p-contact__form > p {
	font-weight: var(--fw-medium);
	font-size: 1rem;
	line-height: 1.8;
	color: var(--navy);
}

.p-contact__privacy {
	margin-block-start: 2rem;
	font-weight: var(--fw-medium);
	font-size: 0.9375rem;
	line-height: 1.8;
	color: var(--navy);
	text-align: center;
}

.p-contact__privacyLink {
	color: var(--blue);
	text-decoration: underline;
	transition: opacity 0.2s ease-out;
}

.p-cta {
	position: relative;
	overflow: hidden;
	height: 25.75rem;
	background-image: linear-gradient(180deg, var(--blue) 0%, var(--blue-light) 100%);
	box-shadow: 0 0.0625rem 0 var(--blue);
}

.p-cta__frame {
	position: relative;
	width: 114.3125rem;
	height: 100%;
}

.p-cta__viewport {
	position: relative;
	z-index: 1;
	width: 100vw;
	max-width: 100%;
}

.p-cta__van {
	position: absolute;
	inset-block-start: 14.0625rem;
	inset-inline-start: -2.625rem;
	width: 24.625rem;
	height: 11.6875rem;
	pointer-events: none;
}

.p-cta__palm {
	position: absolute;
	inset-block-start: 1.635625rem;
	inset-inline-start: 66.5628125rem;
	width: 24.375rem;
	height: 31.875rem;
	pointer-events: none;
}

.p-cta__marquee {
	position: absolute;
	inset-block-start: 2.5rem;
	inset-inline-start: 0;
	width: 100%;
	height: 6.25rem;
	overflow: hidden;
	opacity: 0.4;
	pointer-events: none;
}

.p-cta__marqueeTrack {
	display: flex;
	align-items: center;
	gap: 0.4em;
	width: -moz-max-content;
	width: max-content;
	height: 100%;
	font-size: min(6.25rem, 6.9444444444vw);
	animation: cta-marquee 12s linear infinite;
}

.p-cta__marqueeText {
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 1em;
	line-height: 1;
	color: var(--white);
	white-space: nowrap;
}

.p-cta__marqueeTrack::after {
	content: "Contact Us";
	padding-inline-start: 1.32em;
	background-image: url("../images/cta-rainbow-white.svg");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 0.92em 0.46em;
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 1em;
	line-height: 1;
	color: var(--white);
	white-space: nowrap;
}

.p-cta__marqueeIcon {
	display: block;
	width: 0.92em;
	height: 0.46em;
	flex-shrink: 0;
}

.p-cta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.5rem;
	width: min(100% - 3.125rem, 38.5rem);
	margin-inline: auto;
	padding-block-start: 10.25rem;
}

.p-cta__lead {
	position: relative;
	font-family: var(--noto-serif-jp-font);
	font-weight: var(--fw-black);
	font-size: 2.25rem;
	line-height: 1.6;
	color: var(--white);
	text-align: center;
}

.p-cta__badge {
	position: absolute;
	inset-block-start: 5.3125rem;
	inset-inline-start: -2.875rem;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 6.375rem;
	height: 6.375rem;
	border-radius: 100%;
	background-color: var(--white);
	font-weight: var(--fw-bold);
	font-size: 1.25rem;
	line-height: 1.1;
	color: var(--blue);
	text-align: center;
}

.p-cta__badgeText {
	display: block;
	text-align: center;
}

.p-cta__badgeNum {
	font-size: 2.125rem;
	line-height: 1.2;
}

.p-cta__buttons {
	display: flex;
	gap: 1rem;
	width: 100%;
}

.p-cta__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 18.75rem;
	height: 4.375rem;
	max-width: 100%;
	padding-block: 1rem;
	padding-inline: 1.5rem;
	border-radius: 0.375rem;
	box-shadow: 0 0 1.25rem rgba(21, 32, 50, 0.1);
	font-weight: var(--fw-bold);
	font-size: 1.125rem;
	line-height: 1;
	color: var(--white);
	white-space: nowrap;
	transition: translate 0.25s ease-out, box-shadow 0.25s ease-out, background-color 0.25s ease-out, color 0.25s ease-out;
}

.p-cta__button--line {
	background-color: var(--line-green);
}

.p-cta__button--form {
	background-color: var(--orange);
}

.p-cta__arrow {
	display: block;
	width: 1.75rem;
	height: 1.75rem;
	border: 0.0625rem solid currentColor;
	border-radius: 100%;
	position: relative;
	flex-shrink: 0;
}

.p-cta__arrow::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0.5rem;
	height: 0.5rem;
	background-color: currentColor;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.p-footer {
	background-color: var(--blue);
	color: var(--white);
}

.p-footer__inner {
	width: 100%;
	max-width: 78.125rem;
	margin-inline: auto;
	padding-block: 5rem;
	padding-inline: var(--padding-pc);
}

.p-footer__body {
	display: flex;
	justify-content: space-between;
	gap: 2.5rem;
}

.p-footer__company {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.p-footer__companyHead {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.p-footer__brand {
	display: flex;
	align-items: center;
	gap: 1rem;
	width: -moz-fit-content;
	width: fit-content;
	transition: translate 0.25s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-footer__logo {
	display: block;
	width: 5rem;
	height: 5rem;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 0.625rem;
	transition: box-shadow 0.25s ease-out;
}

.p-footer__logo img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0.625rem;
	object-fit: cover;
	transition: scale 0.35s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-footer__brandText {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.p-footer__brandLead,
.p-footer__brandName {
	display: block;
}

.p-footer__brandLead {
	font-size: 0.9375rem;
	font-weight: var(--fw-bold);
	line-height: 1;
}

.p-footer__brandName {
	font-size: 1.625rem;
	font-weight: var(--fw-bold);
	line-height: 1;
}

.p-footer__address {
	font-size: 1rem;
	font-weight: var(--fw-medium);
	line-height: 1.625;
}

.p-footer__tel {
	display: flex;
	align-items: center;
	width: -moz-fit-content;
	width: fit-content;
	gap: 0.4375rem;
	padding-block: 0.75rem;
	margin-block: -0.75rem;
	transition: translate 0.25s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-footer__telIcon {
	transition: rotate 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-footer__telIcon {
	width: 1.125rem;
	height: 1.125rem;
	flex-shrink: 0;
}

.p-footer__telNumber {
	font-family: var(--heebo-font);
	font-size: 1.25rem;
	font-weight: var(--fw-bold);
	line-height: 1;
}

.p-footer__telNote {
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
	line-height: 1;
}

.p-footer__side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 3rem;
}

.p-footer__navList {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 34.75rem;
	max-width: 100%;
	gap: 1.5rem;
}

.p-footer__navItem {
	display: flex;
}

.p-footer__navLink {
	position: relative;
	display: inline-block;
	padding-block: 0.875rem;
	margin-block: -0.875rem;
	font-size: 1rem;
	font-weight: var(--fw-bold);
	line-height: 1;
	transition: translate 0.25s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-footer__navLink::after {
	content: "";
	position: absolute;
	inset-block-end: 0.5rem;
	inset-inline-start: 0;
	width: 100%;
	height: 0.125rem;
	background-color: var(--white);
	scale: 0 1;
	transform-origin: left center;
	transition: scale 0.25s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-footer__snsList {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.p-footer__snsLink {
	display: block;
	padding: 0.375rem;
	margin: -0.375rem;
}

.p-footer__snsLink img {
	display: block;
	width: 2rem;
	height: 2rem;
	transition: translate 0.2s ease-out;
}

.p-footer__bottom {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 1.5rem;
	margin-block-start: auto;
}

.p-footer__privacyLink {
	font-size: 0.8125rem;
	font-weight: var(--fw-medium);
	line-height: 1.2;
}

.p-footer__copyright {
	font-family: var(--heebo-font);
	font-size: 0.8125rem;
	font-weight: var(--fw-regular);
	line-height: 1.2;
	color: var(--blue-pale);
}

.p-goAnywhere {
	position: relative;
	overflow: hidden;
	padding-block: 2.3125rem 7.4375rem;
	background-color: var(--white);
}

.p-goAnywhere__wave {
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 5.715rem;
	background-color: var(--bg-light-gray);
	box-shadow: 0 -0.125rem 0 var(--bg-light-gray);
	pointer-events: none;
}

.p-goAnywhere__wave::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--white);
	-webkit-mask-image: url("../images/reason-wave.svg");
	mask-image: url("../images/reason-wave.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
}

.p-goAnywhere__palm {
	position: absolute;
	z-index: 0;
	pointer-events: none;
}

.p-goAnywhere__palm--left {
	inset-block-start: 35.579375rem;
	inset-inline-start: calc(50% - 50.03125rem);
	width: 21.6875rem;
	height: 28.375rem;
}

.p-goAnywhere__palm--right {
	inset-block-start: 5.325rem;
	inset-inline-start: calc(50% + 20.731875rem);
	width: 28rem;
	height: 36.625rem;
}

.p-goAnywhere__inner {
	position: relative;
	z-index: 1;
	width: min(100% - 3.125rem, 59.375rem);
	margin-inline: auto;
}

.p-goAnywhere__diagram {
	position: relative;
	margin-block-start: 4rem;
}

.p-goAnywhere__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 11.625rem;
	-moz-column-gap: 13.053%;
	column-gap: 13.053%;
	row-gap: 1.3125rem;
}

.p-goAnywhere__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	padding-block: 1.5rem;
	padding-inline: 2.3125rem;
	border: 0.125rem solid transparent;
	border-radius: 1.25rem;
	background-image: linear-gradient(var(--white), var(--white)), linear-gradient(309.17deg, var(--blue) 0%, var(--blue-light) 100%);
	background-origin: border-box;
	background-clip: padding-box, border-box;
	box-shadow: 0 0 1.25rem rgba(21, 32, 50, 0.1);
}

.p-goAnywhere__item::before,
.p-goAnywhere__item::after {
	content: none;
}

.p-goAnywhere__item--hospitalTop {
	grid-column: 1;
	grid-row: 1;
}

.p-goAnywhere__item--facility {
	grid-column: 2;
	grid-row: 1;
}

.p-goAnywhere__item--travel {
	grid-column: 3;
	grid-row: 1;
}

.p-goAnywhere__item--shopping {
	grid-column: 3;
	grid-row: 2;
}

.p-goAnywhere__item--hospitalBottom {
	grid-column: 1;
	grid-row: 3;
}

.p-goAnywhere__item--home {
	grid-column: 2;
	grid-row: 3;
}

.p-goAnywhere__item--ceremony {
	grid-column: 3;
	grid-row: 3;
}

.p-goAnywhere__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 6.25rem;
	height: 6.25rem;
	flex-shrink: 0;
	border-radius: 100%;
	background-color: var(--bg-light-gray);
}

.p-goAnywhere__icon img {
	display: block;
	max-width: 62%;
	max-height: 62%;
}

.p-goAnywhere__label {
	font-weight: var(--fw-bold);
	font-size: 1.25rem;
	line-height: 1.6;
	color: var(--navy);
	text-align: center;
	white-space: nowrap;
}

.p-goAnywhere__arrow {
	position: absolute;
	display: block;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	pointer-events: none;
}

.p-goAnywhere__arrow--h {
	width: 9.684%;
	aspect-ratio: 92/34;
	background-image: url("../images/go-anywhere-arrow-h.svg");
}

.p-goAnywhere__arrow--v {
	width: 3.579%;
	aspect-ratio: 34/196;
	background-image: url("../images/go-anywhere-arrow-v.svg");
}

.p-goAnywhere__arrow--h1 {
	inset-inline-start: 26.316%;
	inset-block-start: 4.75rem;
}

.p-goAnywhere__arrow--h2 {
	inset-inline-start: 64%;
	inset-block-start: 4.75rem;
}

.p-goAnywhere__arrow--h3 {
	inset-inline-start: 64%;
	inset-block-start: 17.6875rem;
}

.p-goAnywhere__arrow--h4 {
	inset-inline-start: 26.316%;
	inset-block-start: 30.625rem;
}

.p-goAnywhere__arrow--h5 {
	inset-inline-start: 64%;
	inset-block-start: 30.625rem;
}

.p-goAnywhere__arrow--v1 {
	inset-inline-start: 10.526%;
	inset-block-start: 12.625rem;
}

.p-goAnywhere__arrow--v2 {
	inset-inline-start: 48.211%;
	inset-block-start: 12.625rem;
}

.p-header {
	position: fixed;
	inset-block-start: 0;
	inset-inline-start: 0;
	width: 100%;
	z-index: var(--z-index-header);
	transition: background-color 0.3s ease-out, box-shadow 0.3s ease-out;
}

.p-header.is-scrolled {
	background-color: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(6px);
	box-shadow: 0 0.125rem 0.75rem rgba(21, 32, 50, 0.1);
}

.p-header.is-scrolled .p-header__logo {
	width: 6rem;
	height: 6rem;
}

.p-header.is-scrolled .p-header__inner {
	align-items: center;
	padding-block-start: 0;
	min-height: 6rem;
}

.p-header.is-scrolled .p-header__navGroup {
	align-items: center;
}

.p-header__logoTitle {
	display: block;
	line-height: 1;
}

.p-header__logo {
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	display: block;
	width: 8.75rem;
	max-width: 100%;
	height: 8.75rem;
	overflow: hidden;
	border-radius: 0 0 0.625rem 0;
	transition: width 0.3s ease-out, height 0.3s ease-out, box-shadow 0.25s ease-out;
}

.p-header__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 0 0.625rem 0;
	transition: scale 0.35s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-header__inner {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	width: calc(100% - 2rem);
	padding-inline-start: 9.375rem;
	padding-block-start: 0.475rem;
	min-height: 8.75rem;
	transition: min-height 0.3s ease-out;
}

.p-header__navGroup {
	display: flex;
	align-items: center;
	min-width: 0;
	gap: clamp(0.625rem, 2.3vw, 2rem);
}

.p-header__nav {
	min-width: 0;
}

.p-header__navList {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 34.75rem;
	max-width: 100%;
	min-width: 0;
	gap: clamp(0.5rem, 1.75vw, 1.5rem);
}

.p-header__navLink {
	--navLink-slack: 0.375rem;
	display: flex;
	align-items: center;
	padding-block: 1.625rem;
	margin-block: -1.625rem;
	font-size: clamp(0.75rem, 1.12vw, 1rem);
	line-height: 1.2;
	white-space: nowrap;
}

.p-header__navLinkMask {
	display: block;
	overflow: hidden;
	height: calc(1.2em + 0.125rem);
}

.p-header__navLinkInner {
	position: relative;
	display: inline-block;
	font-weight: var(--fw-bold);
	color: var(--navy);
	transition: translate 0.22s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-header__navLinkInner::before {
	content: attr(data-text);
	position: absolute;
	inset-block-start: calc(100% + var(--navLink-slack));
	inset-inline-start: 0;
	color: var(--blue);
}

.p-header__side {
	display: flex;
	align-items: center;
	gap: clamp(0.5rem, 1.75vw, 1.5rem);
}

.p-header__snsList {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.p-header__snsLink {
	display: block;
	width: 1.875rem;
	height: 1.875rem;
}

.p-header__snsLink img {
	width: 100%;
	height: 100%;
	transition: translate 0.2s ease-out;
}

.p-header__lineButton {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	gap: 0.6875rem;
	padding-block: 0.6875rem;
	padding-inline: 0.6875rem clamp(0.75rem, 1vw, 0.875rem);
	border: 0.125rem solid var(--line-green);
	border-radius: 0.375rem;
	background-color: var(--white);
	white-space: nowrap;
	transition: translate 0.25s ease-out, box-shadow 0.25s ease-out, background-color 0.25s ease-out;
}

.p-header__lineButtonIcon {
	display: block;
	width: 1.375rem;
	height: 1.375rem;
	flex-shrink: 0;
}

.p-header__lineButtonText {
	font-weight: var(--fw-bold);
	font-size: clamp(0.75rem, 1.04vw, 0.9375rem);
	line-height: 1;
	color: var(--line-green);
}

.p-header__contact {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
}

.p-header__badge {
	padding-block: 0.3125rem;
	padding-inline: clamp(0.5rem, 0.7vw, 0.625rem);
	border-radius: 6.25rem;
	background-color: var(--blue);
	color: var(--white);
	font-size: clamp(0.75rem, 0.98vw, 0.875rem);
	font-weight: var(--fw-medium);
	white-space: nowrap;
}

.p-header__tel {
	display: flex;
	align-items: center;
	gap: 0.4375rem;
}

.p-header__telIcon {
	width: 1.4375rem;
	height: 1.4375rem;
}

.p-header__telNumber {
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: clamp(1.125rem, 1.85vw, 1.625rem);
	line-height: 1;
	color: var(--blue);
	white-space: nowrap;
}

.p-header__spTel {
	display: none;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-end: 4.875rem;
	translate: 0 -50%;
	z-index: var(--z-index-hamburger);
	align-items: center;
	gap: 0.5rem;
	padding-block: 0.5625rem;
	padding-inline: 0.875rem;
	border-radius: 6.25rem;
	background-color: var(--white);
	box-shadow: 0 0 0.625rem rgba(21, 32, 50, 0.12);
}

.p-header__spTelIcon {
	width: 1.375rem;
	height: 1.375rem;
	flex-shrink: 0;
}

.p-header__spTelNumber {
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 1.3125rem;
	line-height: 1;
	color: var(--blue);
	white-space: nowrap;
}

.p-header__hamburgerOuter {
	display: none;
	position: absolute;
	inset-block-start: 50%;
	inset-inline-end: var(--padding-sp);
	translate: 0 -50%;
	z-index: var(--z-index-hamburger);
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
}

.p-header__hamburger {
	display: block;
	width: 1.5rem;
	height: 1rem;
	position: relative;
}

.p-header__hamburger span {
	display: inline-block;
	position: absolute;
	inset-inline: 0;
	height: 2px;
	background-color: var(--navy);
	transition: 0.3s ease;
}

.p-header__hamburger span:nth-child(1) {
	inset-block-start: 0;
}

.p-header__hamburger span:nth-child(2) {
	inset-block-start: 50%;
	translate: 0 -50%;
}

.p-header__hamburger span:nth-child(3) {
	inset-block-start: 100%;
	translate: 0 -100%;
}

.js-hamburger.is-open .p-header__hamburger span:nth-child(1) {
	inset-block-start: 50%;
	rotate: 45deg;
	translate: 0 -50%;
}

.js-hamburger.is-open .p-header__hamburger span:nth-child(2) {
	opacity: 0;
}

.js-hamburger.is-open .p-header__hamburger span:nth-child(3) {
	inset-block-start: 50%;
	rotate: -45deg;
	translate: 0 -50%;
}

.p-drawer {
	position: fixed;
	inset-block-start: 0;
	inset-inline-start: 0;
	width: 100%;
	height: 100dvh;
	z-index: var(--z-index-drawer);
	background-color: var(--white);
	overscroll-behavior: none;
	opacity: 0;
	visibility: hidden;
	transition: 0.4s ease;
	clip-path: inset(0 0 100% 0);
}

.is-drawerOpen .p-header,
.is-drawerOpen .p-header.is-scrolled {
	background-color: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

.is-drawerOpen .p-header__spTel {
	opacity: 0;
	pointer-events: none;
}

.p-drawer.is-open {
	opacity: 1;
	visibility: visible;
	clip-path: inset(0 0 0 0);
}

.p-drawer__wrap {
	height: 100%;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-block: 7.5rem 3.5rem;
}

.p-drawer::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	z-index: 1;
	height: 0.375rem;
	background-image: linear-gradient(90deg, var(--orange) 0 33.33%, var(--yellow) 33.33% 66.66%, var(--teal) 66.66% 100%);
}

.p-drawer__inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1.75rem;
	width: 100%;
	max-width: 26.25rem;
	margin-inline: auto;
	padding-inline: var(--padding-sp);
}

.p-drawer__navList {
	display: flex;
	flex-direction: column;
}

.p-drawer__navItem {
	border-block-end: 0.0625rem solid var(--bg-light-gray);
}

.p-drawer__navItem:first-child {
	border-block-start: 0.0625rem solid var(--bg-light-gray);
}

.p-drawer__navLink {
	position: relative;
	display: flex;
	align-items: baseline;
	gap: 0.75rem;
	padding-block: 1rem;
	padding-inline-end: 1.75rem;
	color: var(--navy);
}

.p-drawer__navLink::after {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-end: 0.375rem;
	width: 0.5rem;
	height: 0.5rem;
	border-block-start: 0.125rem solid var(--blue);
	border-inline-end: 0.125rem solid var(--blue);
	rotate: 45deg;
	translate: 0 -50%;
}

.p-drawer__navEn {
	width: 6.5rem;
	flex-shrink: 0;
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 0.8125rem;
	line-height: 1.2;
	color: var(--blue);
}

.p-drawer__navJa {
	font-weight: var(--fw-bold);
	font-size: 1.0625rem;
	line-height: 1.4;
}

.p-drawer__cta {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.p-drawer__ctaLink {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	height: 3.5rem;
	border-radius: 0.375rem;
	box-shadow: 0 0 0.875rem rgba(21, 32, 50, 0.12);
	font-weight: var(--fw-bold);
	font-size: 1rem;
	line-height: 1;
	color: var(--white);
}

.p-drawer__ctaLink--line {
	background-color: var(--line-green);
}

.p-drawer__ctaLink--form {
	background-color: var(--orange);
}

.p-drawer__snsList {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.25rem;
}

.p-drawer__snsLink {
	display: block;
	width: 2rem;
	height: 2rem;
}

.p-drawer__snsLink img {
	width: 100%;
	height: 100%;
}

.p-drawer__contact {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding-block: 1.25rem;
	border-radius: 0.625rem;
	background-color: var(--bg-light-gray);
}

.p-drawer__badge {
	padding-block: 0.375rem;
	padding-inline: 0.75rem;
	border-radius: 6.25rem;
	background-color: var(--blue);
	color: var(--white);
	font-size: 0.875rem;
	font-weight: var(--fw-medium);
}

.p-drawer__tel {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.p-drawer__telIcon {
	width: 1.4375rem;
	height: 1.4375rem;
}

.p-drawer__telNumber {
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 1.5rem;
	color: var(--blue);
}

.p-lowerMv {
	position: relative;
	overflow: hidden;
	padding-block: 3.75rem 7.5rem;
	background-image: linear-gradient(180deg, var(--blue) 0%, var(--blue-light) 100%);
}

.p-lowerMv__photo {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.p-lowerMv__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 60%;
}

.p-lowerMv--hasPhoto .p-lowerMv__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(180deg, rgba(2, 105, 200, 0.88) 0%, rgba(96, 166, 232, 0.86) 100%);
}

.p-lowerMv__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
	width: min(100% - 3.125rem, 75rem);
	margin-inline: auto;
	padding-block: 2.5rem;
}

.p-lowerMv__lead {
	font-weight: var(--fw-medium);
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--white);
	text-align: center;
}

.p-lowerMv__breadcrumb {
	margin-block-start: 0.5rem;
}

.p-lowerMv__breadcrumbList {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	font-size: 0.875rem;
	line-height: 1.6;
	color: var(--white);
}

.p-lowerMv__breadcrumbItem {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.p-lowerMv__breadcrumbItem + .p-lowerMv__breadcrumbItem::before {
	content: "";
	display: block;
	width: 0.375rem;
	height: 0.375rem;
	border-block-start: 0.0625rem solid currentColor;
	border-inline-end: 0.0625rem solid currentColor;
	rotate: 45deg;
}

.p-lowerMv__breadcrumbLink {
	position: relative;
	transition: translate 0.25s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-lowerMv__breadcrumbLink::after {
	content: "";
	position: absolute;
	inset-block-end: -0.25rem;
	inset-inline-start: 0;
	width: 100%;
	height: 0.0625rem;
	background-color: currentColor;
	scale: 0 1;
	transform-origin: left center;
	transition: scale 0.25s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-lowerMv__wave {
	position: absolute;
	inset-block-end: -0.125rem;
	inset-inline: 0;
	height: 5.715rem;
	background-image: url("../images/reason-wave.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	box-shadow: 0 0.125rem 0 var(--bg-light-gray);
	pointer-events: none;
}

.p-lowerMv .c-sectionTitle__en,
.p-lowerMv .c-sectionTitle__jaGroup,
.p-lowerMv__lead,
.p-lowerMv__breadcrumb {
	animation: anim-fadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.p-lowerMv .c-sectionTitle__jaGroup {
	animation-delay: 0.1s;
}

.p-lowerMv__lead {
	animation-delay: 0.2s;
}

.p-lowerMv__breadcrumb {
	animation-delay: 0.3s;
}

.p-mv {
	position: relative;
}

.p-mv__bars {
	position: absolute;
	inset-block-start: 14.6875rem;
	inset-inline-start: 0;
	width: 100%;
	height: 29.625rem;
}

.p-mv__bars::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	width: 100%;
	height: 10.5rem;
	background-image: linear-gradient(180deg, var(--orange) 0 23.81%, transparent 23.81% 38.1%, var(--yellow) 38.1% 61.9%, transparent 61.9% 76.19%, var(--teal) 76.19% 100%);
}

.p-mv__bars::after {
	content: "";
	position: absolute;
	inset-block-start: 12rem;
	inset-inline-start: 0;
	width: 100%;
	height: calc(100% - 12rem);
	background-image: linear-gradient(180deg, var(--blue) 0%, var(--blue-light) 100%);
	background-repeat: no-repeat;
	background-position: top;
	background-size: 100% 49.375rem;
}

.p-mv__inner {
	position: relative;
	width: 100%;
	max-width: 85.625rem;
	margin-inline: auto;
	padding-inline: var(--padding-pc);
}

.p-mv__photoBox {
	position: relative;
}

.p-mv__photoCard {
	position: relative;
	border-radius: 1.875rem;
	overflow: hidden;
	-webkit-mask-image: -webkit-radial-gradient(#fff, #000);
	aspect-ratio: 1320/659;
}

.p-mv__slider {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.p-mv__slider .swiper-wrapper {
	transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform;
	backface-visibility: hidden;
}

.p-mv__slideImg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	backface-visibility: hidden;
}

.p-mv__photoCard::after {
	content: "";
	position: absolute;
	inset-block-end: 0;
	inset-inline: 0;
	z-index: 1;
	height: 40%;
	background-image: linear-gradient(180deg, rgba(21, 32, 50, 0) 0%, rgba(21, 32, 50, 0.6) 100%);
	pointer-events: none;
}

.p-mv__content {
	position: absolute;
	inset-block-end: 6.15%;
	inset-inline-start: 0;
	z-index: 2;
	width: -moz-fit-content;
	width: fit-content;
}

.p-mv__title {
	margin-block-start: 0.46em;
	margin-inline-start: 0.58em;
	font-family: var(--noto-serif-jp-font);
	font-weight: var(--fw-black);
	font-size: clamp(2rem, 5.28vw, 4.75rem);
	line-height: 1;
	letter-spacing: -0.05em;
	color: var(--white);
	text-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.5);
	animation: anim-slideLeft 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both;
}

.p-mv__titleAccent {
	position: relative;
	display: inline-block;
}

.p-mv__titleCircle {
	position: absolute;
	inset-block-start: 55%;
	inset-inline-start: 50%;
	translate: -50% -50%;
	width: 118%;
	aspect-ratio: 172/144;
	fill: var(--lime);
	overflow: visible;
	pointer-events: none;
	animation: mv-circleFadeIn 0.75s cubic-bezier(0.22, 1, 0.36, 1) 1.15s both;
}

.p-mv__badgeList {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.p-mv__badge {
	display: inline-block;
	width: -moz-fit-content;
	width: fit-content;
	padding-block: 0.167em;
	padding-inline: 0.417em;
	border-radius: 0.25rem;
	background-color: var(--white);
	font-size: clamp(0.875rem, 1.67vw, 1.5rem);
	font-weight: var(--fw-bold);
	line-height: 1.6;
	color: var(--navy-dark);
}

.p-mv__badge:nth-child(1) {
	animation: anim-slideLeft 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.15s both;
}

.p-mv__badge:nth-child(2) {
	animation: anim-slideLeft 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.28s both;
}

.p-mv__badgeAccent {
	color: var(--blue);
}

.p-mv__ctaList {
	position: absolute;
	inset-block-end: 5.77%;
	inset-inline-end: calc(var(--padding-pc) + 2.92%);
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-mv__ctaItem:nth-child(1) {
	animation: anim-fadeUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) 2s both;
}

.p-mv__ctaItem:nth-child(2) {
	animation: anim-fadeUp 0.5s cubic-bezier(0.22, 1, 0.36, 1) 2.12s both;
}

.p-mv__ctaLink {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: clamp(11.875rem, 18.6vw, 16.75rem);
	gap: 1rem;
	padding-block: 0.875rem;
	padding-inline: 1.5rem;
	border-radius: 0.375rem;
	font-size: clamp(0.8125rem, 1.11vw, 1rem);
	font-weight: var(--fw-bold);
	color: var(--white);
	white-space: nowrap;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	transition: translate 0.25s ease-out, box-shadow 0.25s ease-out, background-color 0.25s ease-out, color 0.25s ease-out, border-color 0.25s ease-out;
}

.p-mv__ctaLink--form {
	background-color: var(--orange);
	border: 0.125rem solid var(--orange);
}

.p-mv__ctaLink--line {
	background-color: var(--line-green);
	border: 0.125rem solid var(--line-green);
}

.p-mv__ctaArrow {
	display: block;
	position: relative;
	width: 1.75rem;
	height: 1.75rem;
	flex-shrink: 0;
	border: 0.0625rem solid currentColor;
	border-radius: 100%;
}

.p-mv__ctaArrow::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0.5rem;
	height: 0.5rem;
	background-color: currentColor;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.p-notfound {
	position: relative;
	overflow: hidden;
	min-height: calc(100svh - 26.25rem);
	display: flex;
	align-items: center;
	padding-block: 5rem 7.5rem;
	background-color: var(--bg-light-gray);
}

.p-notfound::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 62%;
	z-index: 0;
	width: 60%;
	height: 10.5rem;
	background-image: linear-gradient(180deg, var(--orange) 0 2.5rem, transparent 2.5rem 4rem, var(--yellow) 4rem 6.5rem, transparent 6.5rem 8rem, var(--teal) 8rem 10.5rem);
	opacity: 0.16;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
	pointer-events: none;
}

.p-notfound__inner {
	position: relative;
	z-index: 1;
	width: min(100% - 3.125rem, 47.5rem);
	margin-inline: auto;
}

.p-notfound__card {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: 3.5rem 3rem;
	padding-inline: 3.5rem;
	border-radius: 1.25rem;
	background-color: var(--white);
	box-shadow: 0 0 1.25rem rgba(21, 32, 50, 0.1);
	text-align: center;
}

.p-notfound__card::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 0.5rem;
	background-image: linear-gradient(90deg, var(--orange) 0 33.33%, var(--yellow) 33.33% 66.66%, var(--teal) 66.66% 100%);
}

.p-notfound__code {
	display: block;
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 4.5rem;
	line-height: 1;
	color: var(--blue-light);
}

.p-notfound__title {
	margin-block-start: 0;
	font-family: var(--noto-serif-jp-font);
	font-weight: var(--fw-black);
	font-size: 1.625rem;
	line-height: 1.6;
	color: var(--navy);
}

.p-notfound__text {
	margin-block-start: 1.25rem;
	font-weight: var(--fw-medium);
	font-size: 1rem;
	line-height: 1.9;
	color: var(--navy);
}

.p-notfound__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem 1.5rem;
	margin-block-start: 1.75rem;
}

.p-notfound__link {
	position: relative;
	display: inline-block;
	padding-block: 0.25rem;
	font-weight: var(--fw-bold);
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--blue);
	transition: translate 0.25s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-notfound__link::after {
	content: "";
	position: absolute;
	inset-block-end: 0;
	inset-inline-start: 0;
	width: 100%;
	height: 0.0625rem;
	background-color: currentColor;
	scale: 0 1;
	transform-origin: left center;
	transition: scale 0.25s cubic-bezier(0.33, 1, 0.68, 1);
}

.p-notfound__button {
	margin-block-start: 2.25rem;
}

.p-price {
	position: relative;
	padding-block-end: 7.5275rem;
	background-image: linear-gradient(180deg, var(--blue) 0%, var(--blue-light) 100%);
	background-repeat: no-repeat;
	background-position: 0 21.875rem;
	background-size: 100% 36.5rem;
}

.p-price__photo {
	position: relative;
	width: 100%;
	height: 21.875rem;
	overflow: hidden;
}

.p-price__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform-origin: center bottom;
	will-change: transform;
}

.p-price__wave {
	position: absolute;
	inset-block-end: 0;
	inset-inline: 0;
	height: 5.715rem;
	background-image: url("../images/reason-wave.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	box-shadow: 0 0.125rem 0 var(--bg-light-gray);
	pointer-events: none;
}

.p-price__inner {
	position: relative;
	z-index: 1;
	width: min(100% - 3.125rem, 75rem);
	margin-inline: auto;
	margin-block-start: -3rem;
}

.p-price__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2.5rem;
}

.p-price__lead {
	max-width: 38.25rem;
	font-weight: var(--fw-medium);
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--white);
	text-align: center;
}

.p-price__list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5.667%;
	margin-block-start: 4rem;
}

.p-price__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	width: 20%;
	min-height: 10.25rem;
	padding-block: 1rem 0.25rem;
	padding-inline: 0.25rem;
	border-radius: 1.25rem;
	background-color: var(--white);
	box-shadow: 0 0 1.25rem rgba(21, 32, 50, 0.1);
}

.p-price__item:not(:last-child)::after {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: calc(100% + 2.125rem);
	translate: -50% -50%;
	width: 1.75rem;
	height: 1.75rem;
	background-image: linear-gradient(var(--white), var(--white)), linear-gradient(var(--white), var(--white));
	background-size: 100% 0.25rem, 0.25rem 100%;
	background-position: center, center;
	background-repeat: no-repeat;
}

.p-price__item--taxi {
	--price-accent: var(--teal);
	--price-tint: var(--teal-tint);
}

.p-price__item--medical {
	--price-accent: var(--amber);
	--price-tint: var(--amber-tint);
}

.p-price__item--equipment {
	--price-accent: var(--blue);
	--price-tint: var(--blue-tint);
}

.p-price__item--option {
	--price-accent: var(--orange);
	--price-tint: var(--orange-tint);
}

.p-price__icon {
	display: grid;
	place-items: center;
	width: 5rem;
	height: 5rem;
	flex-shrink: 0;
	border-radius: 100%;
	background-color: var(--price-tint, var(--bg-light-gray));
}

.p-price__icon img {
	display: block;
	max-width: 64%;
	max-height: 64%;
}

.p-price__label {
	display: grid;
	place-items: center;
	width: 100%;
	min-height: 3rem;
	margin-block-start: auto;
	padding-inline: 0.375rem;
	border-radius: 0 0 1rem 1rem;
	background-color: var(--price-accent, var(--blue));
	font-weight: var(--fw-bold);
	font-size: clamp(0.8125rem, 1.39vw, 1.25rem);
	line-height: 1.6;
	text-align: center;
}

.p-price__labelText {
	color: var(--white);
}

.p-price__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 15rem;
	height: 3.75rem;
	margin-block-start: 4rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
	border: 0.0625rem solid var(--white);
	border-radius: 0.375rem;
	font-weight: var(--fw-bold);
	font-size: 1rem;
	line-height: 1;
	color: var(--white);
	white-space: nowrap;
	transition: background-color 0.25s ease-out, color 0.25s ease-out;
}

.p-privacy {
	position: relative;
	overflow: hidden;
	padding-block: 5rem 7.5rem;
	background-color: var(--bg-light-gray);
}

.p-privacy::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 62%;
	z-index: 0;
	width: 60%;
	height: 10.5rem;
	background-image: linear-gradient(180deg, var(--orange) 0 2.5rem, transparent 2.5rem 4rem, var(--yellow) 4rem 6.5rem, transparent 6.5rem 8rem, var(--teal) 8rem 10.5rem);
	opacity: 0.16;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
	pointer-events: none;
}

.p-privacy__inner {
	position: relative;
	z-index: 1;
	width: min(100% - 3.125rem, 56.25rem);
	margin-inline: auto;
}

.p-privacy__body {
	position: relative;
	overflow: hidden;
	padding-block: 3.5rem 3rem;
	padding-inline: 3.5rem;
	border-radius: 1.25rem;
	background-color: var(--white);
	box-shadow: 0 0 1.25rem rgba(21, 32, 50, 0.1);
}

.p-privacy__body::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 0.5rem;
	background-image: linear-gradient(90deg, var(--orange) 0 33.33%, var(--yellow) 33.33% 66.66%, var(--teal) 66.66% 100%);
}

.p-privacy__heading {
	margin-block-start: 2.5rem;
	padding-inline-start: 0.875rem;
	border-inline-start: 0.25rem solid var(--blue);
	font-weight: var(--fw-bold);
	font-size: 1.25rem;
	line-height: 1.6;
	color: var(--navy);
}

.p-privacy__text {
	margin-block-start: 1rem;
	font-weight: var(--fw-medium);
	font-size: 1rem;
	line-height: 1.9;
	color: var(--navy);
}

.p-privacy__body > .p-privacy__text:first-child {
	margin-block-start: 0;
}

.p-privacy__list {
	margin-block-start: 0.75rem;
	padding-inline-start: 0.25rem;
}

.p-privacy__listItem {
	position: relative;
	padding-inline-start: 1.25rem;
	font-weight: var(--fw-medium);
	font-size: 1rem;
	line-height: 1.9;
	color: var(--navy);
}

.p-privacy__listItem::before {
	content: "";
	position: absolute;
	inset-block-start: 0.8125rem;
	inset-inline-start: 0;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 100%;
	background-color: var(--blue);
}

.p-privacy__contact {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-block-start: 1.5rem;
}

.p-privacy__contactRow {
	display: flex;
	gap: 1.5rem;
	padding-block: 0.875rem;
	padding-inline: 1.25rem;
	border-radius: 0.625rem;
	background-color: var(--bg-light-gray);
}

.p-privacy__contactLabel {
	width: 7.5rem;
	flex-shrink: 0;
	font-weight: var(--fw-bold);
	font-size: 0.9375rem;
	line-height: 1.8;
	color: var(--navy);
}

.p-privacy__contactData {
	min-width: 0;
	font-weight: var(--fw-medium);
	font-size: 0.9375rem;
	line-height: 1.8;
	color: var(--navy);
}

.p-privacy__contactLink {
	color: var(--blue);
	text-decoration: underline;
	transition: opacity 0.2s ease-out;
}

.p-privacy__date {
	margin-block-start: 2.5rem;
	font-weight: var(--fw-medium);
	font-size: 0.9375rem;
	line-height: 1.8;
	color: var(--navy);
	text-align: end;
}

.p-privacy__note {
	margin-block-start: 0.5rem;
	font-weight: var(--fw-medium);
	font-size: 0.8125rem;
	line-height: 1.8;
	color: var(--gray-wave);
	text-align: end;
}

.p-privacy__back {
	display: flex;
	justify-content: center;
	margin-block-start: 3.5rem;
}

.p-qa {
	position: relative;
	margin-block-start: -3.7775rem;
	padding-block: 11.3125rem 12.7775rem;
}

.p-qa::before {
	content: "";
	position: absolute;
	inset-block-start: 3.6525rem;
	inset-block-end: 0;
	inset-inline: 0;
	z-index: 0;
	background-color: var(--bg-light-gray);
}

.p-qa__wave {
	position: absolute;
	inset-block-end: 0;
	inset-inline: 0;
	height: 5.715rem;
	background-image: url("../images/qa-wave.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	box-shadow: 0 0.125rem 0 var(--white);
	pointer-events: none;
}

.p-qa__inner {
	position: relative;
	z-index: 1;
	width: min(100% - 3.125rem, 75rem);
	margin-inline: auto;
}

.p-qa__list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-block-start: 4rem;
}

.p-qa__item {
	border-radius: 1.25rem;
	background-color: var(--white);
}

.p-qa__item--q1 {
	--qa-accent: var(--orange);
}

.p-qa__item--q2 {
	--qa-accent: var(--yellow);
}

.p-qa__item--q3 {
	--qa-accent: var(--teal);
}

.p-qa__item--q4 {
	--qa-accent: var(--blue);
}

.p-qa__question {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	width: 100%;
	padding: 1.5rem;
	background: none;
	border: none;
	text-align: start;
	cursor: pointer;
}

.p-qa__questionInner {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex: 1;
	min-width: 0;
}

.p-qa__badge {
	display: grid;
	place-items: center;
	width: 2.25rem;
	height: 2.25rem;
	flex-shrink: 0;
	border-radius: 100%;
	background-color: var(--qa-accent);
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 1.125rem;
	line-height: 1;
	color: var(--white);
}

.p-qa__questionText {
	font-weight: var(--fw-bold);
	font-size: 1.125rem;
	line-height: 1.6;
	color: var(--navy);
}

.p-qa__icon {
	display: block;
	width: 1.25rem;
	height: 0.75rem;
	flex-shrink: 0;
	rotate: 180deg;
	background-image: url("../images/qa-arrow.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	transition: rotate 0.3s ease;
}

.p-qa__item.is-open .p-qa__icon {
	rotate: 0deg;
}

.p-qa__answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.35s ease;
}

.p-qa__item.is-open .p-qa__answer {
	grid-template-rows: 1fr;
}

.p-qa__answerInner {
	overflow: hidden;
}

.p-qa__answerBody {
	margin-inline: 1.5rem;
	padding-block: 1.5rem;
	border-block-start: 0.125rem solid transparent;
	border-image-source: repeating-linear-gradient(to right, var(--gray-dot) 0, var(--gray-dot) 0.1875rem, transparent 0.1875rem, transparent 0.4375rem);
	border-image-slice: 1;
}

.p-qa__answerText {
	font-weight: var(--fw-medium);
	font-size: 1rem;
	line-height: 1.8;
	color: var(--navy);
}

.p-reason {
	position: relative;
	padding-block: 7.5rem;
	background-color: var(--bg-light-gray);
	box-shadow: 0 0.125rem 0 var(--bg-light-gray);
}

.p-reason__bg {
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 34.9025rem;
	background-image: linear-gradient(180deg, var(--blue) 0%, var(--blue-light) 100%);
	background-repeat: no-repeat;
	background-size: 100% 49.375rem;
	background-position: 0 -14.5rem;
	pointer-events: none;
}

.p-reason__bg::after {
	content: "";
	position: absolute;
	inset-block-end: -0.03125rem;
	inset-inline: 0;
	height: 5.75rem;
	background-image: url("../images/reason-wave.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.p-reason__inner {
	position: relative;
	z-index: 1;
	width: min(100% - 3.125rem, 75rem);
	margin-inline: auto;
}

.p-reason .c-sectionTitle {
	--sectionTitle-width: 28.4375rem;
}

.p-reason__card {
	display: flex;
	align-items: flex-start;
	gap: 2.5rem;
	margin-block-start: 3rem;
	padding: 3rem;
	border-radius: 2.5rem;
	background-color: var(--white);
	box-shadow: 0 0 1.875rem rgba(21, 32, 50, 0.15);
}

.p-reason__chart {
	display: block;
	width: 15.1875rem;
	height: 15.1875rem;
	max-width: 100%;
	flex-shrink: 0;
}

.p-reason__list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
	min-width: 0;
	width: 100%;
}

.p-reason__item {
	display: flex;
	align-items: flex-start;
	gap: 3rem;
	padding: 2rem;
	border-radius: 0.625rem;
	background-color: var(--bg-light-gray);
}

.p-reason__itemHead {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-shrink: 0;
}

.p-reason__itemNum {
	font-family: var(--heebo-font);
	font-weight: var(--fw-semi-bold);
	font-size: 1.125rem;
	line-height: 1.6;
	color: currentColor;
}

.p-reason__itemLabel {
	font-weight: var(--fw-bold);
	font-size: 1.5rem;
	line-height: 1.6;
	color: currentColor;
}

.p-reason__item--tech {
	color: var(--teal);
}

.p-reason__item--exp {
	color: var(--orange);
}

.p-reason__item--knowledge {
	color: var(--blue);
}

.p-reason__itemText {
	flex: 1;
	min-width: 0;
	padding-block-start: 0.3125rem;
	font-weight: var(--fw-medium);
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--navy);
}

.p-reason__itemAccent {
	font-weight: var(--fw-bold);
	color: var(--orange);
}

.p-service {
	padding-block-end: 8.0625rem;
	background-color: var(--bg-light-gray);
}

.p-service__inner {
	width: min(100% - 3.125rem, 74.875rem);
	margin-inline: auto;
}

.p-service__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4rem 4.0625rem;
	margin-block-start: 4rem;
}

.p-service__item {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.p-service__item--transport {
	color: var(--orange);
}

.p-service__item--bcp {
	color: var(--yellow);
}

.p-service__item--event {
	color: var(--teal);
}

.p-service__item--seminar {
	color: var(--blue);
}

.p-service__thumb {
	overflow: hidden;
	border-radius: 1.25rem;
	aspect-ratio: 568/315;
}

.p-service__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-service__body {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.p-service__head {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.p-service__headRow {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

.p-service__titleGroup {
	display: flex;
	flex-direction: column;
	gap: 0.1875rem;
	min-width: 0;
}

.p-service__en {
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 0.875rem;
	line-height: 1;
	color: currentColor;
}

.p-service__title {
	font-weight: var(--fw-bold);
	font-size: 1.625rem;
	line-height: 1.6;
	color: var(--navy);
}

.p-service__arrow {
	position: relative;
	display: block;
	width: 3.125rem;
	height: 3.125rem;
	flex-shrink: 0;
	border-radius: 100%;
	background-color: currentColor;
	transition: translate 0.25s ease-out, opacity 0.25s ease-out;
}

.p-service__arrow::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0.75rem;
	height: 0.75rem;
	background-color: var(--white);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.p-service__divider {
	position: relative;
	display: block;
	width: 100%;
	height: 0.125rem;
	margin-block-end: -0.125rem;
	background-color: var(--white);
}

.p-service__divider::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	width: 6.25rem;
	height: 0.125rem;
	background-color: currentColor;
}

.p-service__text {
	font-weight: var(--fw-medium);
	font-size: 1.125rem;
	line-height: 1.8;
	color: var(--navy);
}

.p-thanks {
	position: relative;
	overflow: hidden;
	padding-block: 5rem 7.5rem;
	background-color: var(--bg-light-gray);
}

.p-thanks::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 62%;
	z-index: 0;
	width: 60%;
	height: 10.5rem;
	background-image: linear-gradient(180deg, var(--orange) 0 2.5rem, transparent 2.5rem 4rem, var(--yellow) 4rem 6.5rem, transparent 6.5rem 8rem, var(--teal) 8rem 10.5rem);
	opacity: 0.16;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
	pointer-events: none;
}

.p-thanks__inner {
	position: relative;
	z-index: 1;
	width: min(100% - 3.125rem, 47.5rem);
	margin-inline: auto;
}

.p-thanks__card {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: 4rem 3.5rem;
	padding-inline: 3.5rem;
	border-radius: 1.25rem;
	background-color: var(--white);
	box-shadow: 0 0 1.25rem rgba(21, 32, 50, 0.1);
	text-align: center;
}

.p-thanks__card::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 0.5rem;
	background-image: linear-gradient(90deg, var(--orange) 0 33.33%, var(--yellow) 33.33% 66.66%, var(--teal) 66.66% 100%);
}

.p-thanks__icon {
	position: relative;
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 100%;
	background-color: var(--blue);
}

.p-thanks__icon::before {
	content: "";
	position: absolute;
	inset-block-start: 38%;
	inset-inline-start: 50%;
	width: 1.875rem;
	height: 1rem;
	border-inline-start: 0.25rem solid var(--white);
	border-block-end: 0.25rem solid var(--white);
	rotate: -45deg;
	translate: -50% -50%;
}

.p-thanks__title {
	margin-block-start: 1.75rem;
	font-family: var(--noto-serif-jp-font);
	font-weight: var(--fw-black);
	font-size: 1.875rem;
	line-height: 1.6;
	color: var(--navy);
}

.p-thanks__text {
	margin-block-start: 1.25rem;
	font-weight: var(--fw-medium);
	font-size: 1rem;
	line-height: 1.9;
	color: var(--navy);
}

.p-thanks__note {
	margin-block-start: 1.25rem;
	font-weight: var(--fw-medium);
	font-size: 0.875rem;
	line-height: 1.8;
	color: var(--gray-wave);
}

.p-thanks__tel {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-block-start: 1.25rem;
	padding-block: 0.75rem;
	padding-inline: 1.5rem;
	border: 0.125rem solid var(--blue);
	border-radius: 0.625rem;
	background-color: var(--white);
	transition: translate 0.25s cubic-bezier(0.33, 1, 0.68, 1), box-shadow 0.25s ease-out;
}

.p-thanks__telIcon {
	width: 1.4375rem;
	height: 1.4375rem;
	flex-shrink: 0;
}

.p-thanks__telNumber {
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: 1.625rem;
	line-height: 1.2;
	color: var(--blue);
	white-space: nowrap;
}

.p-thanks__telNote {
	font-weight: var(--fw-medium);
	font-size: 0.8125rem;
	line-height: 1.6;
	color: var(--navy);
}

.p-thanks__back {
	margin-block-start: 2.5rem;
}

.c-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20rem;
	max-width: 100%;
	height: 4.375rem;
	padding-block: 1rem;
	padding-inline: 1.5rem;
	border: 0.125rem solid var(--blue);
	border-radius: 0.375rem;
	background-color: var(--blue);
	box-shadow: 0 0 1.25rem rgba(21, 32, 50, 0.1);
	font-family: inherit;
	font-weight: var(--fw-bold);
	font-size: 1.125rem;
	line-height: 1;
	color: var(--white);
	text-align: center;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition: translate 0.25s ease-out, box-shadow 0.25s ease-out, background-color 0.25s ease-out, color 0.25s ease-out;
}

.c-button--send {
	border-color: var(--orange);
	background-color: var(--orange);
}

.c-button:disabled {
	border-color: var(--gray-placeholder);
	background-color: var(--gray-placeholder);
	color: var(--white);
	cursor: not-allowed;
}

.c-floatingLine {
	display: none;
	position: fixed;
	inset-block-end: calc(var(--padding-sp) + 3.625rem);
	inset-inline-end: 0;
	z-index: var(--z-index-pagetop);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 4.125rem;
	padding-block: 0.875rem;
	padding-inline: 0.375rem;
	border: 0.125rem solid var(--white);
	border-inline-end: 0;
	border-radius: 0.875rem 0 0 0.875rem;
	background-color: var(--line-green);
	box-shadow: 0 0.125rem 0.75rem rgba(21, 32, 50, 0.25);
	opacity: 0;
	visibility: hidden;
	translate: 0.75rem 0;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out, translate 0.3s ease-out;
}

.c-floatingLine.is-visible {
	opacity: 1;
	visibility: visible;
	translate: 0 0;
}

.c-floatingLine__text {
	font-weight: var(--fw-bold);
	font-size: 0.8125rem;
	line-height: 1.45;
	letter-spacing: 0.02em;
	color: var(--white);
	text-align: center;
	white-space: nowrap;
}

.c-pagetop {
	position: fixed;
	inset-block-end: var(--padding-pc);
	inset-inline-end: var(--padding-pc);
	z-index: var(--z-index-pagetop);
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	padding: 0;
	border: 0.125rem solid var(--white);
	border-radius: 100%;
	background-color: var(--blue);
	color: var(--white);
	box-shadow: 0 0.125rem 0.625rem rgba(21, 32, 50, 0.2);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	translate: 0 0.75rem;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out, translate 0.3s ease-out, background-color 0.25s ease-out, color 0.25s ease-out;
}

.c-pagetop.is-visible {
	opacity: 1;
	visibility: visible;
	translate: 0 0;
}

.c-pagetop__arrow {
	display: block;
	width: 0.875rem;
	height: 0.875rem;
	background-color: currentColor;
	clip-path: polygon(50% 0, 100% 100%, 50% 72%, 0 100%);
	transition: translate 0.25s ease-out;
}

.c-pagetop:focus-visible {
	outline: 0.1875rem solid var(--yellow);
	outline-offset: 0.125rem;
}

.c-sectionTitle {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	width: var(--sectionTitle-width, -moz-fit-content);
	width: var(--sectionTitle-width, fit-content);
	max-width: 100%;
	margin-inline: auto;
	color: var(--navy);
}

.c-sectionTitle--light {
	color: var(--white);
}

.c-sectionTitle--left {
	align-items: flex-start;
	margin-inline: 0;
}

.c-sectionTitle__en {
	font-family: var(--heebo-font);
	font-weight: var(--fw-bold);
	font-size: clamp(3rem, 6.94vw, 6.25rem);
	line-height: 1;
	color: inherit;
}

.c-sectionTitle__jaGroup {
	display: inline-flex;
	align-items: center;
	align-self: center;
	width: -moz-max-content;
	width: max-content;
	max-width: 100%;
	gap: 1rem;
}

.c-sectionTitle--jaLeft .c-sectionTitle__jaGroup {
	align-self: flex-start;
	max-width: none;
}

.c-sectionTitle__icon {
	display: block;
	width: 2.5rem;
	height: 1.25rem;
	flex-shrink: 0;
	background-image: url("../images/section-title-rainbow-blue.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
}

.c-sectionTitle--iconWhite .c-sectionTitle__icon {
	background-image: url("../images/section-title-rainbow-white.svg");
}

.c-sectionTitle__ja {
	font-family: var(--noto-serif-jp-font);
	font-weight: var(--fw-black);
	font-size: clamp(1.125rem, 2.08vw, 1.875rem);
	line-height: 1.6;
	color: inherit;
}

.is-animReady .u-anim {
	opacity: 0;
}

.u-anim {
	--anim-delay: 0s;
	--anim-duration: 0.8s;
}

.u-anim.is-inview {
	animation-duration: var(--anim-duration);
	animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
	animation-delay: var(--anim-delay);
	animation-fill-mode: both;
}

.u-anim.is-animDone {
	animation: none;
	opacity: 1;
	translate: none;
	scale: none;
}

.u-anim--fadeIn.is-inview {
	animation-name: anim-fadeIn;
}

.u-anim--fadeUp.is-inview {
	animation-name: anim-fadeUp;
}

.u-anim--slideLeft.is-inview {
	animation-name: anim-slideLeft;
}

.u-anim--slideRight.is-inview {
	animation-name: anim-slideRight;
}

.u-anim--zoomIn.is-inview {
	--anim-duration: 0.9s;
	animation-name: anim-zoomIn;
}

.u-anim--delay1 {
	--anim-delay: 0.12s;
}

.u-anim--delay2 {
	--anim-delay: 0.24s;
}

.u-anim--delay3 {
	--anim-delay: 0.36s;
}

.u-anim--delay4 {
	--anim-delay: 0.48s;
}

.u-anim--delay5 {
	--anim-delay: 0.6s;
}

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

.pc-only {
	display: block;
}

.sp-only {
	display: none;
}

.u-visually-hidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	overflow: hidden;
	position: absolute;
	inset: 0;
	white-space: nowrap;
}

.u-desktop {
	display: inline;
}

.u-mobile {
	display: none;
}

@media (any-hover: hover) {

.p-company__instagram:hover {
	translate: 0 -0.25rem;
	box-shadow: 0 0.625rem 1.5rem rgba(21, 32, 50, 0.22);
}

.p-company__instagram:hover .p-company__instagramArrow {
	translate: 0.25rem 0;
}

.p-contact__directLink:hover {
	translate: 0 -0.1875rem;
	box-shadow: 0 0.5rem 1rem rgba(21, 32, 50, 0.18);
}

.p-contact__directLink--line:hover .p-contact__directArrow {
	translate: 0.25rem 0;
}

.p-contact__policy-link:hover,
.p-contact__privacyLink:hover {
	opacity: 0.7;
}

.p-cta__button:hover {
	translate: 0 -0.1875rem;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.18);
	background-color: var(--white);
}

.p-cta__button--line:hover {
	color: var(--line-green);
}

.p-cta__button--form:hover {
	color: var(--orange);
}

.p-footer__brand:hover {
	translate: 0 -0.1875rem;
}

.p-footer__brand:hover .p-footer__logo {
	box-shadow: 0 0.375rem 1rem rgba(0, 0, 0, 0.25);
}

.p-footer__brand:hover .p-footer__logo img {
	scale: 1.06;
}

.p-footer__navLink:hover {
	translate: 0 -0.1875rem;
}

.p-footer__navLink:hover::after {
	scale: 1 1;
}

.p-footer__snsLink:hover img {
	translate: 0 -0.25rem;
}

.p-footer__tel:hover {
	translate: 0 -0.1875rem;
}

.p-footer__tel:hover .p-footer__telIcon {
	rotate: -12deg;
}

.p-header__lineButton:hover {
	translate: 0 -0.1875rem;
	box-shadow: 0 0.5rem 1rem rgba(21, 32, 50, 0.18);
	background-color: rgba(6, 199, 85, 0.08);
}

.p-header__logo:hover {
	box-shadow: 0 0.375rem 1rem rgba(21, 32, 50, 0.22);
}

.p-header__logo:hover img {
	scale: 1.06;
}

.p-header__navLink:hover .p-header__navLinkInner {
	translate: 0 calc(-100% - var(--navLink-slack));
}

.p-header__snsLink:hover img {
	translate: 0 -0.25rem;
}

.p-lowerMv__breadcrumbLink:hover {
	translate: 0 -0.125rem;
}

.p-lowerMv__breadcrumbLink:hover::after {
	scale: 1 1;
}

.p-mv__ctaLink:hover {
	translate: 0 -0.1875rem;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.18);
}

.p-mv__ctaLink--form:hover {
	background-color: var(--white);
	color: var(--orange);
	border-color: var(--orange);
}

.p-mv__ctaLink--line:hover {
	background-color: var(--white);
	color: var(--line-green);
}

.p-notfound__link:hover {
	translate: 0 -0.125rem;
}

.p-notfound__link:hover::after {
	scale: 1 1;
}

.p-price__button:hover {
	background-color: var(--white);
	color: var(--blue);
}

.p-privacy__contactLink:hover {
	opacity: 0.7;
}

.p-service__arrow:hover {
	translate: 0.1875rem 0;
	opacity: 0.85;
}

.p-thanks__tel:hover {
	translate: 0 -0.1875rem;
	box-shadow: 0 0.5rem 1rem rgba(21, 32, 50, 0.18);
}

.c-button:hover:not(:disabled) {
	translate: 0 -0.1875rem;
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.18);
	background-color: var(--white);
	color: var(--blue);
}

.c-button--send:hover:not(:disabled) {
	color: var(--orange);
}

.c-button:disabled:hover {
	translate: 0 0;
	box-shadow: none;
	background-color: var(--gray-placeholder);
	color: var(--white);
}

.c-pagetop:hover {
	border-color: var(--blue);
	background-color: var(--white);
	color: var(--blue);
}

.c-pagetop:hover .c-pagetop__arrow {
	translate: 0 -0.1875rem;
}

}

@media (prefers-reduced-motion: reduce) {

.p-company__instagram,
.p-company__instagramArrow {
	transition: none;
}

.p-contact__directLink,
.p-contact__directArrow,
.p-contact__privacyLink {
	transition: none;
}

.p-cta__marqueeTrack {
	animation: none;
}

.p-footer__brand,
.p-footer__logo,
.p-footer__logo img,
.p-footer__navLink,
.p-footer__navLink::after,
.p-footer__tel,
.p-footer__telIcon {
	transition: none;
}

.p-header__logo,
.p-header__logo img {
	transition: none;
}

.p-header,
.p-header__logo,
.p-header__inner,
.p-header__nav {
	transition: none;
}

.p-lowerMv__breadcrumbLink,
.p-lowerMv__breadcrumbLink::after {
	transition: none;
}

.p-lowerMv .c-sectionTitle__en,
.p-lowerMv .c-sectionTitle__jaGroup,
.p-lowerMv__lead,
.p-lowerMv__breadcrumb {
	animation: none;
}

.p-mv__badge,
.p-mv__title,
.p-mv__ctaItem {
	animation: none;
}

.p-mv__titleCircle {
	animation: none;
}

.p-notfound__link,
.p-notfound__link::after {
	transition: none;
}

.p-privacy__contactLink {
	transition: none;
}

.p-qa__answer,
.p-qa__icon {
	transition: none;
}

.p-thanks__tel {
	transition: none;
}

.c-button {
	transition: none;
}

.c-floatingLine {
	transition: none;
}

.c-pagetop,
.c-pagetop__arrow {
	transition: none;
}

.is-animReady .u-anim {
	opacity: 1;
}

.u-anim.is-inview {
	animation: none;
}

}

@media (min-width: 768px) {

html {
	scroll-padding-top: 8.75rem;
}

}

@media screen and (min-width: 1440px) {

.p-mv__content {
	inset-inline-start: -1.5625rem;
}

}

@media (max-width: 1000px) {

html {
	font-size: calc(16 / var(--inner-value) * 100vw);
}

}

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

:root {
	--vw: 375 * 100vw;
}

:root {
	--header-height: calc(65 * var(--rem));
}

html {
	font-size: 16px;
}

.inner {
	max-width: 600px;
	padding-inline: var(--padding-sp);
}

.l-main {
	padding-block-start: 3.75rem;
}

.p-company {
	margin-block-start: -2.5rem;
	padding-block-end: 5rem;
}

.p-company__inner {
	width: min(100% - 2.5rem, 62.5rem);
}

.p-company__table {
	gap: 0.5rem;
	margin-block-start: 2rem;
}

.p-company__row {
	flex-direction: column;
	gap: 0.25rem;
	padding-block: 1rem;
	padding-inline: 1.25rem;
}

.p-company__label {
	width: auto;
	font-size: 0.9375rem;
	text-align: start;
}

.p-company__data {
	font-size: 0.9375rem;
}

.p-company__instagram {
	margin-block-start: 2.5rem;
}

.p-company__instagramCard {
	gap: 1rem;
	padding-inline: 1rem;
}

.p-company__instagramIcon {
	width: 2.5rem;
	height: 2.5rem;
}

.p-company__instagramText {
	flex-direction: column;
	gap: 0.25rem;
}

.p-company__instagramLabel {
	font-size: 0.875rem;
}

.p-company__instagramId {
	font-size: 1.0625rem;
}

.p-company__instagramFollow {
	padding-inline-start: 0;
}

.p-company__instagramFollowText {
	font-size: 0.9375rem;
}

.p-contact {
	padding-block: 3rem 4.5rem;
}

.p-contact::before {
	inset-block-start: 0;
	opacity: 0.12;
	inset-inline-start: 55%;
	height: 7.5rem;
	background-image: linear-gradient(180deg, var(--orange) 0 1.75rem, transparent 1.75rem 2.875rem, var(--yellow) 2.875rem 4.625rem, transparent 4.625rem 5.75rem, var(--teal) 5.75rem 7.5rem);
}

.p-contact__inner {
	width: min(100% - 2.5rem, 56.25rem);
}

.p-contact__leadText {
	font-size: 0.9375rem;
	text-align: start;
}

.p-contact__note {
	font-size: 0.8125rem;
	text-align: start;
}

.p-contact__direct {
	flex-direction: column;
	gap: 0.75rem;
	margin-block-start: 1.5rem;
}

.p-contact__form {
	margin-block-start: 2rem;
}

.p-contact__contents {
	padding-block: 2.25rem 1.75rem;
	padding-inline: 1.25rem;
}

.p-contact__content {
	flex-direction: column;
	gap: 0.5rem;
	padding-block: 1rem;
}

.p-contact__head {
	width: auto;
	padding-block-start: 0;
	font-size: 0.9375rem;
}

.p-contact__item-textarea {
	height: 10.625rem;
}

.p-contact__policy {
	margin-block-start: 1.5rem;
}

.p-contact__btn-wrap {
	margin-block-start: 1.75rem;
}

.p-contact__btn .wpcf7-spinner {
	inset-inline-end: -1.75rem;
}

.p-contact__privacy {
	font-size: 0.8125rem;
}

.p-cta {
	height: auto;
	padding-block: 3.5rem 3rem;
}

.p-cta__frame {
	width: 100%;
	height: auto;
}

.p-cta__viewport {
	width: 100%;
}

.p-cta__van {
	inset-block-start: auto;
	inset-block-end: -1.25rem;
	width: 13.75rem;
	height: auto;
}

.p-cta__palm {
	inset-inline-start: auto;
	inset-inline-end: -5rem;
	width: 13.75rem;
	height: auto;
}

.p-cta__marquee {
	inset-block-start: 1rem;
	height: 3rem;
}

.p-cta__marqueeTrack {
	font-size: min(3rem, 12.8vw);
}

.p-cta__inner {
	gap: 1.5rem;
	width: min(100% - 2.5rem, 38.5rem);
	padding-block-start: 4rem;
}

.p-cta__lead {
	font-size: clamp(1.25rem, 5.6vw, 1.75rem);
}

.p-cta__badge {
	inset-block-start: 0.25rem;
	inset-inline-start: -0.25rem;
	width: 4rem;
	height: 4rem;
	font-size: 0.75rem;
}

.p-cta__badgeNum {
	font-size: 1.5rem;
}

.p-cta__buttons {
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
}

.p-cta__button {
	width: 100%;
	max-width: 18.75rem;
	height: 3.75rem;
	font-size: 1rem;
}

.p-footer__inner {
	padding-block: 3rem;
	padding-inline: var(--padding-sp);
}

.p-footer__body {
	flex-direction: column;
	align-items: flex-start;
	gap: 2rem;
}

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

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

.p-footer__logo {
	width: 4rem;
	height: 4rem;
}

.p-footer__brandName {
	font-size: 1.375rem;
}

.p-footer__side {
	align-items: flex-start;
	gap: 1.5rem;
	width: 100%;
}

.p-footer__navList {
	width: auto;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0.875rem;
}

.p-footer__bottom {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.875rem;
	margin-block-start: 0;
}

.p-footer__copyright {
	margin-block-start: 0;
}

.p-goAnywhere {
	padding-block: 1.5rem 4rem;
}

.p-goAnywhere__wave {
	height: 3rem;
}

.p-goAnywhere__palm {
	display: none;
}

.p-goAnywhere__inner {
	width: min(100% - 2.5rem, 59.375rem);
}

.p-goAnywhere__diagram {
	margin-block-start: 2rem;
}

.p-goAnywhere__list {
	--go-colGap: 2.75rem;
	--go-rowGap: 3.25rem;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	grid-auto-rows: auto;
	-moz-column-gap: var(--go-colGap);
	column-gap: var(--go-colGap);
	row-gap: var(--go-rowGap);
}

.p-goAnywhere__item {
	gap: 0.25rem;
	padding-block: 0.75rem;
	padding-inline: 0.25rem;
}

.p-goAnywhere__item--hospitalTop::after,
.p-goAnywhere__item--home::after {
	content: "";
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: calc(100% + 0.125rem + var(--go-colGap) / 2);
	translate: -50% -50%;
	z-index: 2;
	width: 2.375rem;
	aspect-ratio: 92/34;
	background-image: url("../images/go-anywhere-arrow-h.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	pointer-events: none;
}

.p-goAnywhere__item--hospitalTop::before,
.p-goAnywhere__item--hospitalBottom::before,
.p-goAnywhere__item--travel::before,
.p-goAnywhere__item--shopping::before,
.p-goAnywhere__item--ceremony::before {
	content: "";
	position: absolute;
	inset-inline-start: 50%;
	z-index: 2;
	width: 2.375rem;
	aspect-ratio: 92/34;
	background-image: url("../images/go-anywhere-arrow-h.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	rotate: 90deg;
	pointer-events: none;
}

.p-goAnywhere__item--hospitalTop::before,
.p-goAnywhere__item--hospitalBottom::before {
	inset-block-start: calc(100% + 0.125rem + var(--go-rowGap) / 2);
	translate: -50% -50%;
}

.p-goAnywhere__item--travel::before,
.p-goAnywhere__item--shopping::before,
.p-goAnywhere__item--ceremony::before {
	inset-block-end: calc(100% + 0.125rem + var(--go-rowGap) / 2);
	translate: -50% 50%;
}

.p-goAnywhere__item--hospitalTop {
	grid-column: 1/4;
	grid-row: 1;
}

.p-goAnywhere__item--hospitalBottom {
	grid-column: 4/7;
	grid-row: 1;
}

.p-goAnywhere__item--home {
	grid-column: 1/4;
	grid-row: 2;
}

.p-goAnywhere__item--facility {
	grid-column: 4/7;
	grid-row: 2;
}

.p-goAnywhere__item--travel {
	grid-column: 1/3;
	grid-row: 3;
	margin-inline-end: -1.375rem;
}

.p-goAnywhere__item--shopping {
	grid-column: 3/5;
	grid-row: 3;
	margin-inline: -0.6875rem;
}

.p-goAnywhere__item--ceremony {
	grid-column: 5/7;
	grid-row: 3;
	margin-inline-start: -1.375rem;
}

.p-goAnywhere__icon {
	width: 4rem;
	height: 4rem;
}

.p-goAnywhere__icon img {
	max-width: 56%;
	max-height: 56%;
}

.p-goAnywhere__label {
	font-size: clamp(0.875rem, 3.7vw, 1.125rem);
	white-space: normal;
}

.p-goAnywhere__arrow {
	display: none;
}

.p-header.is-scrolled .p-header__logo {
	width: 5.25rem;
	height: 5.25rem;
}

.p-header.is-scrolled .p-header__inner {
	min-height: 5.25rem;
}

.p-header__logo {
	width: 5.5rem;
	height: 5.5rem;
}

.p-header__inner {
	width: calc(100% - var(--padding-sp));
	padding-inline-start: 0;
	padding-block-start: 0.4375rem;
	min-height: 6.5rem;
}

.p-header__navGroup {
	display: none;
}

.p-header__lineButton {
	display: none;
}

.p-header__spTel {
	display: flex;
}

.p-header__hamburgerOuter {
	display: flex;
}

.p-lowerMv {
	padding-block: 2.75rem 4.5rem;
}

.p-lowerMv__inner {
	gap: 0.75rem;
	width: min(100% - 2.5rem, 75rem);
	padding-block: 1.5rem;
}

.p-lowerMv__lead {
	font-size: 0.9375rem;
}

.p-lowerMv__breadcrumb {
	margin-block-start: 0.25rem;
}

.p-lowerMv__breadcrumbList {
	font-size: 0.75rem;
}

.p-lowerMv__wave {
	height: 3rem;
}

.p-lowerMv .c-sectionTitle__en,
.p-lowerMv .c-sectionTitle__jaGroup,
.p-lowerMv__lead,
.p-lowerMv__breadcrumb {
	animation-duration: 1.25s;
}

.p-lowerMv .c-sectionTitle__jaGroup {
	animation-delay: 0.15s;
}

.p-lowerMv__lead {
	animation-delay: 0.3s;
}

.p-lowerMv__breadcrumb {
	animation-delay: 0.45s;
}

.p-mv {
	display: flex;
	flex-direction: column;
	min-height: calc(100svh - 3.5rem);
}

.p-mv__bars {
	inset-block-start: 8.75rem;
	height: calc(100% - 8.75rem);
}

.p-mv__bars::after {
	background-image: linear-gradient(180deg, var(--blue) 0%, var(--blue-mid) 100%);
	background-size: 100% 100%;
}

.p-mv__inner {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding-block: 3.75rem 2.5rem;
	padding-inline: var(--padding-sp);
}

.p-mv__photoBox {
	display: flex;
	flex-direction: column;
	flex: 0 0 auto;
}

.p-mv__photoCard {
	flex: 0 0 auto;
	border-radius: 1.25rem;
	aspect-ratio: 3/2;
}

.p-mv__photoCard::after {
	content: none;
}

.p-mv__content {
	position: static;
	inset: auto;
	width: 100%;
	padding-block-start: 1.5rem;
}

.p-mv__title {
	margin-block-start: 0.3em;
	margin-inline-start: 0.1em;
	font-size: clamp(1.75rem, 10.2vw, 2.875rem);
	line-height: 1.35;
	animation-duration: 1.15s;
	animation-delay: 0.7s;
}

.p-mv__titleCircle {
	animation-duration: 1s;
	animation-delay: 1.85s;
}

.p-mv__badgeList {
	gap: 0.25rem;
}

.p-mv__badge {
	font-size: clamp(0.8125rem, 4.25vw, 1.25rem);
}

.p-mv__badge:nth-child(1) {
	animation-duration: 0.95s;
	animation-delay: 0.2s;
}

.p-mv__badge:nth-child(2) {
	animation-duration: 0.95s;
	animation-delay: 0.45s;
}

.p-mv__ctaList {
	position: static;
	inset: auto;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 35rem;
	margin-block: 1.75rem auto;
	margin-inline: auto;
	gap: 0.75rem;
}

.p-mv__ctaItem {
	flex: 0 0 auto;
	width: 100%;
	max-width: 16.25rem;
	min-width: 0;
}

.p-mv__ctaItem:nth-child(1) {
	animation-duration: 0.9s;
	animation-delay: 2.7s;
}

.p-mv__ctaItem:nth-child(2) {
	animation-duration: 0.9s;
	animation-delay: 2.95s;
}

.p-mv__ctaLink {
	width: 100%;
	height: 3.5rem;
	gap: 0.75rem;
	padding-block: 0;
	padding-inline: 1.25rem;
	font-size: max(1rem, 16px);
}

.p-mv__ctaArrow {
	width: 1.375rem;
	height: 1.375rem;
}

.p-notfound {
	min-height: calc(100svh - 20rem);
	padding-block: 3rem 4.5rem;
}

.p-notfound::before {
	height: 7.5rem;
	opacity: 0.12;
	background-image: linear-gradient(180deg, var(--orange) 0 1.75rem, transparent 1.75rem 2.875rem, var(--yellow) 2.875rem 4.625rem, transparent 4.625rem 5.75rem, var(--teal) 5.75rem 7.5rem);
}

.p-notfound__inner {
	width: min(100% - 2.5rem, 47.5rem);
}

.p-notfound__card {
	padding-block: 2.25rem 2rem;
	padding-inline: 1.25rem;
}

.p-notfound__code {
	font-size: 3.5rem;
}

.p-notfound__title {
	font-size: clamp(1.125rem, 5.3vw, 1.375rem);
}

.p-notfound__text {
	margin-block-start: 1rem;
	font-size: 0.875rem;
}

.p-notfound__links {
	gap: 0.625rem 1rem;
	margin-block-start: 1.25rem;
}

.p-notfound__link {
	font-size: 0.875rem;
}

.p-notfound__button {
	width: 100%;
	margin-block-start: 1.75rem;
}

.p-price {
	padding-block-end: 5rem;
	background-position: 0 13.75rem;
	background-size: 100% calc(100% - 13.75rem);
}

.p-price__photo {
	height: 13.75rem;
}

.p-price__wave {
	height: 3rem;
}

.p-price__inner {
	width: min(100% - 2.5rem, 75rem);
	margin-block-start: -2rem;
}

.p-price__head {
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
}

.p-price__lead {
	font-size: 0.9375rem;
	text-align: start;
}

.p-price__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-block-start: 2rem;
}

.p-price__item {
	width: auto;
	min-height: 8.75rem;
	gap: 0.625rem;
}

.p-price__item:not(:last-child)::after {
	content: none;
}

.p-price__icon {
	width: 4rem;
	height: 4rem;
}

.p-price__label {
	min-height: 2.5rem;
	font-size: clamp(0.8125rem, 3.4vw, 1.125rem);
}

.p-price__button {
	width: 100%;
	max-width: 17.5rem;
	height: 3.25rem;
	margin-block-start: 2rem;
	font-size: 0.9375rem;
}

.p-privacy {
	padding-block: 3rem 4.5rem;
}

.p-privacy::before {
	height: 7.5rem;
	opacity: 0.12;
	background-image: linear-gradient(180deg, var(--orange) 0 1.75rem, transparent 1.75rem 2.875rem, var(--yellow) 2.875rem 4.625rem, transparent 4.625rem 5.75rem, var(--teal) 5.75rem 7.5rem);
}

.p-privacy__inner {
	width: min(100% - 2.5rem, 56.25rem);
}

.p-privacy__body {
	padding-block: 2.25rem 1.75rem;
	padding-inline: 1.25rem;
}

.p-privacy__heading {
	margin-block-start: 1.75rem;
	padding-inline-start: 0.625rem;
	font-size: 1.0625rem;
}

.p-privacy__text {
	margin-block-start: 0.75rem;
	font-size: 0.875rem;
}

.p-privacy__listItem {
	padding-inline-start: 1rem;
	font-size: 0.875rem;
}

.p-privacy__listItem::before {
	inset-block-start: 0.625rem;
	width: 0.375rem;
	height: 0.375rem;
}

.p-privacy__contactRow {
	flex-direction: column;
	gap: 0.25rem;
	padding-block: 0.75rem;
	padding-inline: 1rem;
}

.p-privacy__contactLabel {
	width: auto;
	font-size: 0.875rem;
}

.p-privacy__contactData {
	font-size: 0.875rem;
}

.p-privacy__date {
	margin-block-start: 1.75rem;
	font-size: 0.8125rem;
}

.p-privacy__note {
	font-size: 0.75rem;
}

.p-privacy__back {
	margin-block-start: 2.25rem;
}

.p-qa {
	margin-block-start: -2.5rem;
	padding-block: 7.5rem 6.25rem;
}

.p-qa::before {
	inset-block-start: 2.375rem;
}

.p-qa__wave {
	height: 3rem;
}

.p-qa__inner {
	width: min(100% - 2.5rem, 75rem);
}

.p-qa__list {
	gap: 0.75rem;
	margin-block-start: 2rem;
}

.p-qa__item {
	border-radius: 0.75rem;
}

.p-qa__question {
	gap: 0.75rem;
	padding: 1rem;
}

.p-qa__badge {
	width: 1.75rem;
	height: 1.75rem;
	font-size: 0.9375rem;
}

.p-qa__questionText {
	font-size: 0.9375rem;
}

.p-qa__answerBody {
	margin-inline: 1rem;
	padding-block: 1rem;
}

.p-qa__answerText {
	font-size: 0.875rem;
}

.p-reason {
	padding-block: 4rem;
}

.p-reason__bg {
	height: 23.75rem;
	background-image: linear-gradient(180deg, var(--blue-mid) 0%, var(--blue-light) 100%);
	background-size: 100% 100%;
	background-position: 0 0;
}

.p-reason__bg::after {
	height: 3rem;
}

.p-reason__inner {
	width: min(100% - 2.5rem, 75rem);
}

.p-reason__card {
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
	margin-block-start: 2rem;
	padding: 1.5rem;
	border-radius: 1.25rem;
}

.p-reason__chart {
	width: 12.5rem;
	height: 12.5rem;
}

.p-reason__item {
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.25rem;
}

.p-reason__itemLabel {
	font-size: 1.25rem;
}

.p-reason__itemText {
	padding-block-start: 0;
	font-size: 1rem;
}

.p-service {
	padding-block-end: 4rem;
}

.p-service__inner {
	width: min(100% - 2.5rem, 74.875rem);
}

.p-service__list {
	grid-template-columns: minmax(0, 1fr);
	gap: 2.5rem;
	margin-block-start: 2rem;
}

.p-service__item {
	gap: 1.25rem;
}

.p-service__body {
	gap: 1.25rem;
}

.p-service__head {
	gap: 1rem;
}

.p-service__title {
	font-size: clamp(1.25rem, 5.6vw, 1.625rem);
}

.p-service__arrow {
	width: 2.75rem;
	height: 2.75rem;
}

.p-service__text {
	font-size: 1rem;
}

.p-thanks {
	padding-block: 3rem 4.5rem;
}

.p-thanks::before {
	height: 7.5rem;
	opacity: 0.12;
	background-image: linear-gradient(180deg, var(--orange) 0 1.75rem, transparent 1.75rem 2.875rem, var(--yellow) 2.875rem 4.625rem, transparent 4.625rem 5.75rem, var(--teal) 5.75rem 7.5rem);
}

.p-thanks__inner {
	width: min(100% - 2.5rem, 47.5rem);
}

.p-thanks__card {
	padding-block: 2.75rem 2.25rem;
	padding-inline: 1.25rem;
}

.p-thanks__icon {
	width: 3.75rem;
	height: 3.75rem;
}

.p-thanks__icon::before {
	width: 1.5rem;
	height: 0.8125rem;
}

.p-thanks__title {
	margin-block-start: 1.25rem;
	font-size: clamp(1.25rem, 5.6vw, 1.625rem);
}

.p-thanks__text {
	margin-block-start: 1rem;
	font-size: 0.875rem;
}

.p-thanks__note {
	font-size: 0.75rem;
}

.p-thanks__tel {
	gap: 0.375rem;
	padding-inline: 1rem;
}

.p-thanks__telNumber {
	font-size: 1.375rem;
}

.p-thanks__back {
	width: 100%;
	margin-block-start: 1.75rem;
}

.c-button {
	width: 100%;
	height: 3.75rem;
	font-size: 1rem;
}

.c-floatingLine {
	display: flex;
}

.c-pagetop {
	inset-block-end: var(--padding-sp);
	inset-inline-end: var(--padding-sp);
	width: 3rem;
	height: 3rem;
}

.c-sectionTitle {
	gap: 0.5rem;
	width: -moz-fit-content;
	width: fit-content;
}

.c-sectionTitle__jaGroup {
	width: auto;
	gap: 0.625rem;
}

.c-sectionTitle--jaLeft .c-sectionTitle__jaGroup {
	align-self: center;
	max-width: 100%;
}

.c-sectionTitle__icon {
	width: 2rem;
	height: 1rem;
}

.u-anim {
	--anim-duration: 1.25s;
}

.u-anim--zoomIn.is-inview {
	--anim-duration: 1.35s;
}

.u-anim--delay1 {
	--anim-delay: 0.18s;
}

.u-anim--delay2 {
	--anim-delay: 0.36s;
}

.u-anim--delay3 {
	--anim-delay: 0.54s;
}

.u-anim--delay4 {
	--anim-delay: 0.72s;
}

.u-anim--delay5 {
	--anim-delay: 0.9s;
}

.pc-only {
	display: none;
}

.sp-only {
	display: block;
}

.u-desktop {
	display: none;
}

.u-mobile {
	display: inline;
}

}

@media (max-width: 767px) {

a[href^="tel:"] {
	pointer-events: auto;
}

}

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

.p-contact__directValue {
	font-size: 1.25rem;
}

.p-goAnywhere__list {
	--go-colGap: 2.125rem;
}

.p-header__logo {
	width: 5rem;
	height: 5rem;
}

.p-header__spTel {
	inset-inline-end: 5.25rem;
	gap: 0.375rem;
	padding-inline: 0.625rem;
}

.p-header__spTelIcon {
	width: 1.25rem;
	height: 1.25rem;
}

.p-header__spTelNumber {
	font-size: 1.125rem;
}

.p-mv__inner {
	padding-block-start: 3.25rem;
}

.p-mv__photoCard {
	aspect-ratio: 5/4;
}

.p-mv__content {
	padding-block-start: 1rem;
}

.p-mv__ctaLink {
	padding-inline: 1.125rem;
}

}

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

.p-mv .p-mv__photoCard {
	aspect-ratio: 16/10;
}

.p-mv .p-mv__bars {
	inset-block-start: 6rem;
	height: calc(100% - 6rem);
}

.p-mv .p-mv__bars::before {
	height: 7.5rem;
}

.p-mv .p-mv__content {
	padding-block-start: 0.625rem;
}

.p-mv .p-mv__badge {
	font-size: 4.15vw;
}

.p-mv .p-mv__bars::after {
	inset-block-start: 10.3125rem;
	height: calc(100% - 10.3125rem);
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes cta-marquee {

from {
	translate: 0 0;
}

to {
	translate: -6.66em 0;
}

}

@keyframes mv-circleFadeIn {

from {
	opacity: 0;
	scale: 0.97;
}

to {
	opacity: 1;
	scale: 1;
}

}

@keyframes anim-fadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes anim-fadeUp {

from {
	translate: 0 2rem;
	opacity: 0;
}

to {
	translate: 0 0;
	opacity: 1;
}

}

@keyframes anim-slideLeft {

from {
	translate: -3.5rem 0;
	opacity: 0;
}

to {
	translate: 0 0;
	opacity: 1;
}

}

@keyframes anim-slideRight {

from {
	translate: 3.5rem 0;
	opacity: 0;
}

to {
	translate: 0 0;
	opacity: 1;
}

}

@keyframes anim-zoomIn {

from {
	scale: 0.92;
	opacity: 0;
}

to {
	scale: 1;
	opacity: 1;
}

}

@keyframes anim-drawLine {

from {
	stroke-dashoffset: 100;
}

to {
	stroke-dashoffset: 0;
}

}

