/*****************************************
 * 数値から単位を取り除く
 * 参考
 * https://css-tricks.com/snippets/sass/
******************************************/

/*****************************************
 * px→remの計算
 * 参考
 * https://webdou.net/sass-rem/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/

/*****************************************
 * vwの計算
 * 参考
 * https://webdou.net/sass-vw/
 * Sassではmath.div関数の使用が推奨のため、スラッシュ(/)演算子から変更
******************************************/

html {
	font-size: 16px;
	font-size: 16px;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	color: #333;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

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

/*
 * 参考
 * https: //github.com/Andy-set-studio/modern-css-reset/blob/master/src/reset.css
*/

/* Box sizing rules */

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

/* remove default margin */

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

/* remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

ul,
ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Set core root defaults */

html:focus-within {
	scroll-behavior: smooth;
}

/* Set core body defaults */

body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
	line-height: 1.5;
}

/* 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,
picture {
	max-width: 100%;
	display: block;
}

/* Inherit fonts for inputs and buttons */

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

li {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* remove all animations and transitions for people that prefer not to see them */

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.l-404 {
	padding-block: 7.5rem 6.25rem;
}

.l-breadcrumb {
	margin-top: 0.9375rem;
}

.l-breadcrumb.l-breadcrumb--detail {
	margin-top: 2.5rem;
}

.l-container {
	padding-top: 5.9375rem;
}

.l-cta {
	margin-top: 9.375rem;
}

.l-detail-top {
	margin-top: 5rem;
}

.l-faq {
	margin-top: 3.75rem;
}

.l-header {
	position: fixed;
	z-index: 900;
	top: 0;
	right: 0;
	left: 0;
}

.l-inner {
	max-width: 1250px;
	margin-inline: auto;
	padding-inline: 25px;
	width: 100%;
}

.l-page-top {
	margin-top: 6.25rem;
}

.l-section-layout {
	margin-top: 9.375rem;
}

.l-strength-head {
	margin-top: 4.375rem;
}

.c-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: 0;
}

.c-breadcrumb__list > span,
.c-breadcrumb__item {
	position: relative;
	display: inline-flex;
	align-items: center;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1;
	color: #333;
}

.c-breadcrumb__list > span + span,
.c-breadcrumb__item + .c-breadcrumb__item {
	padding-left: 1.25rem;
}

.c-breadcrumb__list > span + span::before,
.c-breadcrumb__item + .c-breadcrumb__item::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 0.375rem;
	aspect-ratio: 1;
	border-top: 1px solid #777;
	border-right: 1px solid #777;
	transform: translateY(-50%) rotate(45deg);
}

.c-breadcrumb__list > span a,
.c-breadcrumb__item a {
	color: #6191ea;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 0.1875rem;
	transition: text-decoration-color 0.3s;
	cursor: pointer;
}

.c-breadcrumb__list > span a:focus-visible,
.c-breadcrumb__item a:focus-visible {
	text-decoration-color: currentColor;
}

.c-case-card {
	max-width: 24rem;
	margin-inline: auto;
	width: 100%;
}

.c-case-card__img img {
	aspect-ratio: 384/240;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.c-case-card__body {
	margin-top: 1rem;
}

.c-case-card__meta {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding-block: 0.1875rem;
}

.c-case-card__date {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #777;
}

.c-case-card__category-wrap {
	position: relative;
	display: flex;
	align-items: center;
	padding-left: 0.8125rem;
}

.c-case-card__category-wrap::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 0.875rem;
	background: #a5a5a5;
	translate: 0 -50%;
}

.c-case-card__category {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #194392;
}

.c-case-card__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.6;
	color: #000;
	margin-top: 0.5rem;
}

.c-category-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
}

.c-category-nav__item {
	flex: 0 0 auto;
}

.c-category-nav__link {
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	align-items: center;
	justify-content: center;
	padding: 0.5625rem 1.25rem;
	min-width: 8.25rem;
	border: 1px solid #84aced;
	border-radius: calc(infinity * 1px);
	background-color: #fff;
	letter-spacing: 0.04em;
	color: #1d55af;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.c-category-nav__link.is-current {
	border-color: #6191ea;
	background-color: #6191ea;
	color: #fff;
}

.c-faq-item {
	padding: 1.5rem 2.25rem;
	border-radius: 0.625rem;
	background-color: #fff;
}

.c-faq-item__question,
.c-faq-item__answer {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.c-faq-item__question {
	position: relative;
	align-items: center;
	min-height: 1.5rem;
	padding-left: 2.5rem;
	gap: 0;
}

.c-faq-item__question::before,
.c-faq-item__answer::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.5rem;
	aspect-ratio: 1;
	border-radius: 50%;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1;
}

.c-faq-item__question::before {
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	content: "Q";
	color: #fff;
	transform: translateY(-50%);
}

.c-faq-item__question::after {
	position: absolute;
	top: calc(50% + 0.0625rem);
	left: 0;
	content: "";
	width: 1.5rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: #6191ea;
	transform: translateY(-50%);
}

.c-faq-item__answer {
	position: relative;
	margin-top: 0.875rem;
	padding-top: 0.875rem;
	padding-left: 2.5rem;
	border-top: 1px solid #6191ea;
	gap: 0;
}

.c-faq-item__answer::before {
	position: absolute;
	top: 0.875rem;
	left: 0;
	z-index: 1;
	content: "A";
	color: #6191ea;
}

.c-faq-item__answer::after {
	position: absolute;
	top: 1rem;
	left: 0;
	content: "";
	width: 1.5rem;
	aspect-ratio: 1;
	border: 1px solid #6191ea;
	border-radius: 50%;
	background-color: #fff;
}

.c-faq-item__question-text,
.c-faq-item__answer-text {
	min-width: 0;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	color: #000;
}

.c-faq-item__question-text {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1;
}

.c-faq-item__answer-text {
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.6;
}

.c-gradient-button {
	width: 100%;
	max-width: 18.75rem;
}

.c-gradient-button__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3.75rem;
	padding: 1.125rem 3.75rem 1.125rem 2rem;
	border-radius: 2.25rem;
	box-shadow: 0 0.625rem 0.625rem rgba(0, 0, 0, 0.1);
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.01em;
	color: #fff;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.c-gradient-button__link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.1875rem;
	width: 1.5rem;
	aspect-ratio: 1;
	background-color: #fff;
	-webkit-mask-image: url("../images/icon-detail-arrow.svg");
	mask-image: url("../images/icon-detail-arrow.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transform: translateY(-50%);
	transition: transform 0.3s ease;
}

.c-gradient-button__link:focus-visible {
	transform: translateY(0.125rem);
	box-shadow: none;
}

.c-gradient-button__link:focus-visible::after {
	transform: translate(0.25rem, -50%);
}

.c-icon-title {
	position: relative;
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	padding-inline: 2.625rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1;
	color: #000;
}

.c-icon-title::before,
.c-icon-title::after {
	content: "";
	position: absolute;
	top: 50%;
	display: block;
	width: 1.625rem;
	aspect-ratio: 26/40;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	translate: 0 -50%;
}

.c-icon-title::before {
	left: 0;
	background-image: url("../images/icon-section-title-left.svg");
}

.c-icon-title::after {
	right: 0;
	background-image: url("../images/icon-section-title-right.svg");
}

.c-icon-title.c-icon-title--center {
	text-align: center;
	margin-inline: auto;
}

.c-news-item {
	max-width: 50.3125rem;
	margin-inline: auto;
	width: 100%;
}

.c-news-item__link {
	display: block;
	padding-bottom: 1.875rem;
	border-bottom: 1px solid #e2e7ee;
}

.c-news-item__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem 2.5rem;
}

.c-news-item__date {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: #6191ea;
}

.c-news-item__category-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.c-news-item__category {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 8.25rem;
	padding: 0.1875rem 1.25rem;
	border: 1px solid #84aced;
	border-radius: 2.5rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: normal;
	letter-spacing: 0.04em;
	color: #1d55af;
}

.c-news-item__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.6;
	color: #000;
	width: -moz-fit-content;
	width: fit-content;
	margin-top: 0.625rem;
	text-decoration: underline;
	text-decoration-color: transparent;
	text-underline-offset: 0.125rem;
	transition: text-decoration-color 0.3s ease, color 0.3s ease, text-decoration-thickness 0.3s ease, text-underline-offset 0.3s ease;
}

.c-page-lead.c-page-lead--strength {
	position: relative;
	z-index: 2;
}

.c-page-lead__visual {
	position: relative;
	overflow: clip;
	clip-path: ellipse(115% 100% at 50% 0);
}

.c-page-lead__visual::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(42, 93, 188, 0.7);
	z-index: 1;
	mix-blend-mode: multiply;
}

.c-page-lead__img img {
	aspect-ratio: 1440/420;
	object-fit: cover;
	width: 100%;
	height: auto;
}

.c-page-lead__heading {
	position: absolute;
	top: 50%;
	left: 50%;
	translate: -50% -50%;
	z-index: 1;
	width: 100%;
	text-align: center;
}

.c-page-lead__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.75rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.08em;
	color: #fff;
	text-align: center;
}

.c-pagination {
	display: flex;
	justify-content: center;
}

.c-pagination ul.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}

.c-pagination li {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.c-pagination a.page-numbers,
.c-pagination span.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
}

.c-pagination a.page-numbers {
	position: relative;
	transition: color 0.3s ease, opacity 0.3s ease;
}

.c-pagination a.page-numbers:hover,
.c-pagination a.page-numbers:focus-visible {
	opacity: 0.8;
}

.c-pagination span.current,
.c-pagination a.prev,
.c-pagination a.next {
	position: relative;
	width: 2.75rem;
	aspect-ratio: 1;
	flex-shrink: 0;
}

.c-pagination span.current {
	color: #fff;
}

.c-pagination span.current::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	z-index: -1;
}

.c-pagination a.prev,
.c-pagination a.next {
	font-size: 0;
	transition: opacity 0.3s ease;
}

.c-pagination a.prev::before,
.c-pagination a.prev::after,
.c-pagination a.next::before,
.c-pagination a.next::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	transition: background-color 0.3s ease, border-color 0.3s ease;
}

.c-pagination a.prev::before,
.c-pagination a.next::before {
	width: 100%;
	aspect-ratio: 1;
	border: 0.09375rem solid #6191EA;
	border-radius: 50%;
	background-color: #fff;
}

.c-pagination a.prev::after,
.c-pagination a.next::after {
	width: 0.4375rem;
	height: 0.625rem;
	background-color: #6191EA;
	mask-repeat: no-repeat;
	mask-position: center center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center center;
	-webkit-mask-size: contain;
}

.c-pagination a.prev:hover,
.c-pagination a.prev:focus-visible,
.c-pagination a.next:hover,
.c-pagination a.next:focus-visible {
	opacity: 1;
}

.c-pagination a.prev:hover::before,
.c-pagination a.prev:focus-visible::before,
.c-pagination a.next:hover::before,
.c-pagination a.next:focus-visible::before {
	border-color: #fff;
	background-color: #6191EA;
}

.c-pagination a.prev:hover::after,
.c-pagination a.prev:focus-visible::after,
.c-pagination a.next:hover::after,
.c-pagination a.next:focus-visible::after {
	background-color: #fff;
}

.c-pagination a.page-numbers:not(.prev):not(.next) {
	width: 2rem;
	min-width: 2rem;
	min-height: 2rem;
	flex-shrink: 0;
}

.c-pagination a.page-numbers:not(.prev):not(.next):hover,
.c-pagination a.page-numbers:not(.prev):not(.next):focus-visible {
	color: #6191EA;
}

.c-pagination a.prev::after {
	mask-image: url("../images/pagination-chevron-prev.svg");
	-webkit-mask-image: url("../images/pagination-chevron-prev.svg");
}

.c-pagination a.next::after {
	mask-image: url("../images/pagination-chevron-next.svg");
	-webkit-mask-image: url("../images/pagination-chevron-next.svg");
}

.c-pagination span.dots {
	font-family: Helvetica, sans-serif;
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1;
}

.c-section-title + .c-product-card {
	margin-top: 2.5rem;
}

.c-product-card {
	width: 100%;
}

.c-product-card__img img {
	aspect-ratio: 376/248;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.c-product-card__heading {
	border-bottom: 1px solid #777;
	padding-bottom: 0.375rem;
	margin-top: 0.75rem;
}

.c-product-card__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
	color: #333;
}

.c-product-card__description {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1;
	color: #333;
	margin-top: 0.75rem;
}

.c-product-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	margin-top: 0.75rem;
}

.c-product-card__tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.25rem 1.25rem;
	border: 1px solid #6191ea;
	border-radius: 1.25rem;
	background: #f1f7ff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.048em;
	color: #333;
}

.c-product-card__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 1.3125rem;
}

.c-product-card__button-link {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 3.125rem;
	padding: 0.4375rem 1.6875rem;
	border-radius: 0.25rem;
	box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.1);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.c-product-card__button-link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0.875rem;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translateY(-50%);
	transition: transform 0.3s ease;
}

.c-product-card__button-link--shop {
	background: #e30000;
	color: #fff;
}

.c-product-card__button-link--shop::after {
	width: 1.25rem;
	aspect-ratio: 1;
	background-image: url("../images/icon-online-shop.svg");
}

.c-product-card__button-link--detail {
	border: 1px solid #6191ea;
	background: #fff;
	color: #333;
}

.c-product-card__button-link--detail::after {
	width: 1.25rem;
	aspect-ratio: 20/22;
	background-image: url("../images/icon-detail-arrow.svg");
}

.c-scene-card-list__list {
	display: grid;
	padding-left: 0;
}

.c-scene-card-list__list--large {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.c-scene-card-list__list--small {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.c-scene-card-list__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: #fff;
	box-shadow: 0 0.3125rem 0.875rem rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.c-scene-card-list__media-wrap {
	filter: drop-shadow(0 0.3125rem 0.875rem rgba(0, 0, 0, 0.1));
}

.c-scene-card-list__media {
	overflow: hidden;
	clip-path: ellipse(120% 100% at 50% 0);
	-webkit-mask-image: -webkit-radial-gradient(white, black);
	mask-image: radial-gradient(white, black);
}

.c-scene-card-list__media--large {
	aspect-ratio: 540/265;
}

.c-scene-card-list__media--small {
	aspect-ratio: 360/217;
}

.c-scene-card-list__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.3s ease;
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.c-scene-card-list__body {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.6875rem 2.125rem 1.1875rem;
}

.c-scene-card-list__label {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.2;
	color: #000;
}

.c-scene-card-list__arrow {
	flex-shrink: 0;
	width: 2.25rem;
}

.c-scene-card-list__arrow img {
	width: 100%;
	height: auto;
}

.c-section-head {
	position: relative;
	display: block;
	padding: 0.125rem 0 0.625rem 1.375rem;
	border-bottom: 1px solid #777;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #000;
}

.c-section-head::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 0.3125rem;
	background-color: #6191ea;
}

.c-section-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #333;
}

.c-section-title.c-section-title--center {
	text-align: center;
}

.c-sidebar {
	flex-shrink: 0;
	width: 15.25rem;
	padding: 2rem 2rem 2.5rem;
	border-radius: 0.75rem;
	background-color: #f8f8f8;
}

.c-sidebar__head {
	position: relative;
	padding-bottom: 0.625rem;
}

.c-sidebar__head::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 10rem;
	height: 0.125rem;
	background-color: #6191ea;
}

.c-sidebar__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.6;
	color: #333;
}

.c-sidebar__list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding-inline: 0.75rem;
	margin-top: 2rem;
}

.c-sidebar__link {
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	color: #333;
	transition: color 0.3s ease;
}

.c-sidebar__item.is-current .c-sidebar__link {
	color: #6191ea;
}

.c-wide-button + .c-wide-button {
	margin-top: 1.5rem;
}

.c-wide-button__link {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 18.75rem) 6.5rem minmax(0, 1fr);
	grid-template-areas: "word . ." "label icon .";
	align-items: center;
	-moz-column-gap: 3.4375rem;
	column-gap: 3.4375rem;
	row-gap: 1.25rem;
	padding: 2.25rem 3rem 1.875rem 3.75rem;
	border: 2px solid #6191ea;
	border-radius: 1.375rem;
	box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.1);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	overflow: clip;
}

.c-wide-button__link--lineup {
	background-color: #fff;
	background-image: url("../images/wide-button-lineup-bg.png");
}

.c-wide-button__link--case {
	background-color: #6fb0ed;
	background-image: url("../images/wide-button-case-bg.png");
}

.c-wide-button__word,
.c-wide-button__word-image,
.c-wide-button__label,
.c-wide-button__label-image {
	position: relative;
	z-index: 1;
}

.c-wide-button__word,
.c-wide-button__word-image {
	grid-area: word;
}

.c-wide-button__word {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 5rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #a6d0ff;
	white-space: nowrap;
}

.c-wide-button__label {
	grid-area: label;
}

.c-wide-button__label {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.6;
	color: #fff;
}

.c-wide-button__link::before,
.c-wide-button__link::after {
	content: "";
	display: block;
	grid-area: icon;
	align-self: center;
	justify-self: center;
	position: relative;
	z-index: 1;
}

.c-wide-button__link::before {
	width: 6.5rem;
	aspect-ratio: 1;
	border: 1px solid #fff;
	border-radius: 50%;
	background: transparent;
	transition: background-color 0.3s ease;
}

.c-wide-button__link::after {
	width: 3.125rem;
	aspect-ratio: 1;
	background-color: #fff;
	-webkit-mask-image: url("../images/icon-detail-arrow.svg");
	mask-image: url("../images/icon-detail-arrow.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transition: transform 0.3s ease, background-color 0.3s ease;
	transform: translateX(0.09375rem);
}

.c-wide-button__link:hover::before,
.c-wide-button__link:focus-visible::before {
	background-color: #fff;
}

.c-wide-button__link:hover::after,
.c-wide-button__link:focus-visible::after {
	background-color: #6191ea;
	transform: translateX(0.59375rem);
}

.p-404__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.p-404__number {
	font-family: "Oswald", sans-serif;
	font-size: 10rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.p-404__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.08em;
	color: #194392;
	margin-top: 1rem;
}

.p-404__description {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.8;
	color: #333;
	margin-top: 1.5rem;
}

.p-404__button {
	margin-top: 3rem;
}

.p-case-detail {
	padding-bottom: 9.375rem;
}

.p-case-detail__inner.l-inner {
	max-width: 78.125rem;
}

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

.p-case-detail__date {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.04em;
	color: #777;
}

.p-case-detail__meta-divider {
	display: block;
	width: 1px;
	height: 0.875rem;
	background-color: #a5a5a5;
}

.p-case-detail__category {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #194392;
}

.p-case-detail__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.6;
	color: #000;
	margin-top: 1rem;
}

.p-case-detail__feature {
	display: grid;
	grid-template-columns: minmax(0, 41.5rem) minmax(0, 1fr);
	align-items: center;
	gap: 3.75rem;
	margin-top: 1.5rem;
}

.p-case-detail__visual img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 664/400;
	border-radius: 1.25rem;
}

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

.p-case-detail__company {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.6;
	color: #194392;
}

.p-case-detail__product {
	width: -moz-fit-content;
	width: fit-content;
	max-width: 100%;
	padding: 1.5rem;
	border-left: 0.1875rem solid #6191ea;
	border-radius: 0.5rem;
	background-color: #f7f7f7;
}

.p-case-detail__product-body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.p-case-detail__product-heading {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.p-case-detail__product-heading::before {
	content: "";
	display: block;
	width: 0.375rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: #6191ea;
	flex-shrink: 0;
}

.p-case-detail__product-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1;
	color: #333;
}

.p-case-detail__product-list {
	padding-left: 0.625rem;
}

.p-case-detail__product-name {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 2;
	color: #333;
}

.p-case-detail__product-button {
	width: -moz-fit-content;
	width: fit-content;
	max-width: 100%;
	margin-top: 1.25rem;
	margin-left: auto;
	border-bottom: 1px solid #6191ea;
}

.p-case-detail__product-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	white-space: nowrap;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.2;
	color: #333;
	transition: transform 0.3s;
}

.p-case-detail__product-link::after {
	content: "";
	display: block;
	width: 1.25rem;
	aspect-ratio: 1;
	background-image: url("../images/case-detail-product-link-arrow.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	flex-shrink: 0;
	transition: transform 0.3s;
}

.p-case-detail__section-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.6;
	color: #333;
}

.p-case-detail__text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.8;
	color: #333;
	margin-top: 1rem;
}

.p-case-detail__button {
	margin-top: 3.75rem;
	margin-inline: auto;
}

.p-case-detail__content h2 {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.6;
	color: #333;
	margin-top: 1.5rem;
}

.p-case-detail__content p {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.8;
	color: #333;
	margin-top: 1rem;
}

.p-case-section {
	overflow: clip;
}

.p-case-section__shell {
	position: relative;
	width: calc(100% - 4.375rem);
	margin-left: 4.375rem;
	padding: 7.5rem 0 7.5625rem 6.875rem;
	border-radius: 6.5rem 0 0 6.5rem;
	background: linear-gradient(136deg, #e7f1ff 7%, #d9e8fd 100%);
	overflow: hidden;
	z-index: 1;
}

.p-case-section__shell::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	background: url("../images/case-bg-circle.png") no-repeat center center/cover;
	width: 39.375rem;
	aspect-ratio: 630/780;
	z-index: -1;
}

.p-case-section__inner {
	max-width: none;
}

.p-case-section__heading {
	display: flex;
	justify-content: center;
	width: 100vw;
	margin-left: -11.25rem;
	padding-right: 0;
}

.p-case-section__title {
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #000;
}

.p-case-section__slider {
	width: calc(100vw - 7.375rem);
	margin-top: 3.75rem;
	overflow: hidden;
}

.p-case-section__cards {
	list-style: none;
}

.p-case-section__card {
	width: 27.1875rem;
	height: auto;
}

.p-case-section__card .c-case-card {
	max-width: none;
	height: 100%;
}

.p-case-section__card .c-case-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.p-case-section__card .c-case-card__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.p-case-section__footer {
	position: relative;
	display: flex;
	align-items: center;
	margin-top: 2rem;
}

.p-case-section__nav {
	display: flex;
	align-items: center;
	gap: 1.1875rem;
}

.p-case-section__nav-button {
	position: relative;
	display: block;
	width: 3.0625rem;
	aspect-ratio: 1;
	border: 0;
	padding: 0;
	background: transparent;
	cursor: pointer;
	transition: opacity 0.3s ease;
}

.p-case-section__nav-button::before,
.p-case-section__nav-button::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
}

.p-case-section__nav-button::before {
	width: 100%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
}

.p-case-section__nav-button::after {
	width: 1.5625rem;
	aspect-ratio: 1;
	background: url("../images/icon-detail-arrow.svg") no-repeat center center/contain;
	filter: brightness(0) invert(1);
}

.p-case-section__nav-button:hover,
.p-case-section__nav-button:focus-visible {
	opacity: 0.8;
}

.p-case-section__nav-button.swiper-button-disabled {
	opacity: 0.45;
	cursor: default;
}

.p-case-section__nav-button--prev::after {
	rotate: 180deg;
}

.p-case-section__button {
	position: absolute;
	left: calc(50% - 5.625rem);
	translate: -50% 0;
}

.p-case-section__button-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 9rem;
	min-height: 3.0625rem;
	padding: 0.9375rem 4rem 0.9375rem 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.2;
	color: #333;
	transition: transform 0.3s ease;
}

.p-case-section__button-link::before,
.p-case-section__button-link::after {
	content: "";
	position: absolute;
}

.p-case-section__button-link::before {
	top: 0;
	right: 0;
	width: 3.0625rem;
	aspect-ratio: 1;
	border-radius: 50%;
	box-shadow: 0 0.3125rem 0.5rem rgba(0, 0, 0, 0.1);
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
}

.p-case-section__button-link::after {
	top: 50%;
	right: 0.75rem;
	width: 1.5rem;
	aspect-ratio: 1;
	background: url("../images/icon-detail-arrow.svg") no-repeat center center/contain;
	filter: brightness(0) invert(1);
	transform: translateY(-50%);
	transition: transform 0.3s ease;
}

.p-case-section__empty {
	margin-top: 2.5rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.75;
	color: #333;
}

.p-case__heading {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.p-case__heading::before {
	content: "";
	display: block;
	width: 0.375rem;
	aspect-ratio: 1;
	border-radius: 50%;
	background-color: #6191ea;
	flex-shrink: 0;
}

.p-case__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	color: #000;
}

.p-case__nav {
	margin-top: 2.5rem;
}

.p-case__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3.75rem 1.5rem;
	margin-top: 3.75rem;
}

.p-case__card {
	width: 100%;
}

.p-case__pagination {
	margin-top: 5rem;
}

.p-contact {
	background-color: #fff;
	padding-bottom: 9.375rem;
}

.p-contact__inner.l-inner {
	max-width: 59.375rem;
}

.p-contact__lead,
.p-contact__note {
	font-family: "Noto Sans JP", sans-serif;
	color: #000;
}

.p-contact__lead {
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0;
}

.p-contact__note {
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0;
	margin-top: 2.5rem;
}

.p-contact__form {
	margin-top: 4.375rem;
}

.p-form__item {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding-block: 0.625rem;
}

.p-form__item.p-form__item--alignStart {
	align-items: flex-start;
}

.p-form__title {
	display: flex;
	width: 14.625rem;
	align-items: center;
	font-size: 1.125rem;
}

.p-form__title span {
	display: inline-block;
	flex-shrink: 0;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.35;
	background-color: #eb220c;
	padding: 0.1875rem 0.625rem;
	margin-top: 0.125rem;
	margin-left: auto;
}

.p-form__title label,
.p-form__title p {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.35;
	color: #000;
}

.p-form__title--type02 {
	justify-content: space-between;
}

.p-form__title--type03 {
	flex-direction: column;
}

.p-form__title--aiStart {
	align-items: flex-start;
}

.p-form__input {
	flex: 1;
}

.p-formInput input::-moz-placeholder,
.p-formTextarea textarea::-moz-placeholder {
	color: #777;
	font-size: 1rem;
	opacity: 1;
}

.p-formInput input::placeholder,
.p-formTextarea textarea::placeholder {
	color: #777;
	font-size: 1rem;
	opacity: 1;
}

.p-formInput input {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	line-height: 1;
	color: #000;
	border: 1px solid #777;
	border-radius: 0.3125rem;
	background-color: #f7f7f7;
	padding: 0.9375rem 1.25rem;
	width: 100%;
}

.p-formInput input:focus,
.p-formTextarea textarea:focus {
	outline: 2px solid #b5b5b5;
}

.p-formInput--sm input {
	width: 350px;
	max-width: 100%;
}

.p-formInput--tel {
	display: flex;
	gap: 5px;
	align-items: center;
}

.p-formInput--tel > * {
	min-width: 0;
}

.p-formInput--tel input {
	width: 150px;
	max-width: 100%;
}

.p-formSelect select {
	width: 250px;
	max-width: 100%;
	height: 60px;
	padding-left: 20px;
	border: 1px solid #b5b5b5;
	border-radius: 0;
	color: lightgray;
	font-size: 16px;
	background: url(../images/common/pulldown.svg) right 10px center/10px no-repeat;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.p-formSelect select:focus {
	outline: 2px solid #b5b5b5;
}

.p-formSelect--selected select {
	color: #333;
}

.p-formCheckbox input {
	display: none;
}

.p-formCheckbox .wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem 1rem;
}

.p-formCheckbox .wpcf7-list-item {
	margin-left: 0;
}

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

.p-formCheckbox--vertical .wpcf7-checkbox {
	display: block;
}

.p-formCheckbox--vertical .wpcf7-list-item {
	display: block;
	margin: 0;
}

.p-formCheckbox--vertical .wpcf7-list-item + .wpcf7-list-item {
	margin-top: 20px;
}

.p-formCheckbox input + span {
	position: static;
	display: inline-flex;
	width: auto;
	align-items: center;
	padding-left: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.35;
	color: #000;
	cursor: pointer;
}

.p-formCheckbox input + span::before {
	content: "";
	position: static;
	display: block;
	flex-shrink: 0;
	width: 0.9375rem;
	height: 0.9375rem;
	margin-right: 0.625rem;
	border: 1px solid #777;
	border-radius: 0.1875rem;
	background-color: #fff;
	transform: none;
}

.p-formCheckbox input + span::after {
	position: static;
	display: none;
}

.p-formCheckbox input:checked + span::before {
	border-color: transparent;
	background: url("../images/contact-checkbox-checked.svg") no-repeat center/contain;
}

.p-formRadio .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem 1rem;
}

.p-formRadio--vertical .wpcf7-radio {
	display: block;
}

.p-formRadio .wpcf7-list-item {
	margin: 0;
}

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

.p-formRadio--vertical .wpcf7-list-item {
	display: block;
	margin: 0;
}

.p-formRadio--vertical .wpcf7-list-item + .wpcf7-list-item {
	margin-top: 20px;
}

.p-formRadio input + span {
	position: static;
	display: inline-flex;
	align-items: center;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.35;
	color: #000;
	cursor: pointer;
}

.p-formRadio input[type=radio] {
	display: none;
}

.p-formRadio input + span::before {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
	margin-right: 0.3125rem;
	border: 1px solid #bbb;
	border-radius: 100%;
	background-color: #f7f7f7;
	transition: none;
}

.p-formRadio input:checked + span::before {
	border-color: transparent;
	background: url("../images/contact-radio-checked.svg") no-repeat center/contain;
	box-shadow: none;
}

.p-formTextarea textarea {
	width: 100%;
	min-height: 12.5rem;
	padding-block: 1.125rem;
	padding-inline: 1.25rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	color: #000;
	border: 1px solid #777;
	border-radius: 0.3125rem;
	background-color: #f7f7f7;
	resize: vertical;
}

.p-form__privacy {
	margin-top: 30px;
	text-align: center;
	font-size: 16px;
}

.p-form__privacy a {
	line-height: 1;
	text-decoration: underline;
}

.p-form__acceptance {
	margin-top: 1rem;
	text-align: center;
}

.p-form__submit {
	margin-top: 2.875rem;
	text-align: center;
}

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

.p-formBtn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.75rem;
	width: 0.6875rem;
	aspect-ratio: 1;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	pointer-events: none;
	transform: translateY(-50%) rotate(45deg);
}

.p-formBtn input {
	width: 18.75rem;
	padding: 1.25rem 3rem;
	border: none;
	color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.01em;
	border-radius: 62.4375rem;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	box-shadow: 0 0.625rem 0.625rem rgba(0, 0, 0, 0.1);
	cursor: pointer;
	transition: opacity 0.5s;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
}

.p-formBtn input:disabled {
	color: #fff;
	background-color: #eee;
	border-color: #eee;
	box-shadow: none;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	padding: 15px 10px;
	border-color: red;
}

.wpcf7-spinner {
	display: none;
}

.wpcf7-not-valid-tip {
	display: block;
	color: red;
	font-size: 16px;
	font-weight: normal;
}

.wpcf7-form.hide_error_message .wpcf7-not-valid-tip {
	display: none;
}

.p-formValidation .wpcf7-not-valid-tip {
	display: none;
}

.p-formValidation__error {
	display: none;
	margin-top: 10px;
	color: red;
	font-size: 16px;
	font-weight: normal;
}

.wpcf7-form:not(.hide_error_message) .p-formValidation:has(.wpcf7-not-valid-tip) .p-formValidation__error {
	display: block;
}

.p-contact-thanks {
	padding-bottom: 9.375rem;
}

.p-contact-thanks__body {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding-top: 6.75rem;
}

.p-contact-thanks__body::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	translate: -50% 0;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
}

.p-contact-thanks__body::after {
	content: "";
	position: absolute;
	top: 1.375rem;
	left: calc(50% - 0.4375rem);
	width: 0.875rem;
	height: 1.625rem;
	border-right: 0.25rem solid #fff;
	border-bottom: 0.25rem solid #fff;
	border-radius: 0.125rem;
	transform: rotate(45deg);
}

.p-contact-thanks__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
	color: #194392;
	margin-top: 1.75rem;
}

.p-contact-thanks__text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0;
	color: #000;
	margin-top: 1.5rem;
}

.p-contact-thanks__btn {
	margin-top: 3rem;
}

.p-contact-thanks__btn-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18.75rem;
	padding: 1.25rem 3.75rem 1.25rem 2.5rem;
	border-radius: 2.25rem;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	box-shadow: 0 0.625rem 0.625rem rgba(0, 0, 0, 0.1);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.01em;
	color: #fff;
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.p-contact-thanks__btn-link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.1875rem;
	width: 1.5rem;
	aspect-ratio: 1;
	background-image: url("../images/cta-arrow.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translateY(-50%);
	transition: transform 0.3s ease;
}

.p-contact__titleText {
	display: block;
}

.p-contact__formItem--choice .p-form__title {
	padding-top: 0;
}

.p-contact__formItem--textarea .p-form__title {
	padding-top: 1rem;
}

.p-contact__acceptance {
	display: inline-flex;
}

.p-contact__acceptance input + span {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	line-height: 1.35;
	color: #000;
}

.p-contact__acceptance a {
	text-decoration: underline;
	text-underline-offset: 0.1em;
}

.p-cta {
	padding-block: 2.875rem 3.6875rem;
	background-color: #6191ea;
	background-image: url("../images/cta-bg.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: clip;
}

.p-cta__inner.l-inner {
	text-align: center;
}

.p-cta__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.6;
	color: #fff;
}

.p-cta__description {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.6;
	color: #fff;
}

.p-cta__panel {
	max-width: 56.25rem;
	margin-top: 1.375rem;
	margin-inline: auto;
	padding: 1.25rem 1.5rem 1.375rem;
	border-radius: 0.625rem;
	background: #fff;
}

.p-cta__lead {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3125rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.6;
	color: #000;
}

.p-cta__lead::before {
	content: "";
	display: block;
	width: 2.4375rem;
	aspect-ratio: 1;
	background-image: url("../images/cta-mail.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.p-cta__button {
	margin-top: 0.5rem;
}

.p-cta__button-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18.75rem;
	padding: 1.25rem 3.75rem 1.25rem 2.5rem;
	border-radius: 2.25rem;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	box-shadow: 0 0.625rem 0.625rem rgba(0, 0, 0, 0.1);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.01em;
	color: #fff;
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.p-cta__button-link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.1875rem;
	width: 1.5rem;
	aspect-ratio: 1;
	background-image: url("../images/cta-arrow.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translateY(-50%);
	transition: transform 0.3s ease;
}

.p-faq-anchor__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.625rem;
}

.p-faq-anchor__item {
	flex: 1 1 0;
}

.p-faq-anchor__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3.75rem;
	padding: 0.375rem 0;
	border-radius: calc(infinity * 1px);
	background-color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #333;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.p-faq-anchor__link::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 0.125rem;
	border-radius: inherit;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	pointer-events: none;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
}

.p-faq__inner.l-inner {
	max-width: 78.125rem;
}

.p-faq__panel {
	padding-block: 5rem;
	border-radius: 1.25rem;
	background-color: #F1F7FF;
}

.p-faq__section {
	scroll-margin-top: 7.5rem;
}

.p-faq__section + .p-faq__section {
	margin-top: 5rem;
}

.p-faq__title {
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.6;
	color: #000;
}

.p-faq__list {
	max-width: 52rem;
	margin-top: 2.5rem;
	margin-inline: auto;
}

.p-faq__item + .p-faq__item {
	margin-top: 1rem;
}

.p-find {
	position: relative;
	padding-block: 2.125rem 7.5rem;
	background-color: #6191ea;
	overflow-x: clip;
	z-index: 1;
}

.p-find::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc(100% - 1px);
	background: url("../images/find-top.png") no-repeat center center/cover;
	width: 100%;
	aspect-ratio: 1440/166;
}

.p-find__wrapper {
	position: relative;
	z-index: 1;
}

.p-find__wrapper::before,
.p-find__wrapper::after {
	content: "";
	position: absolute;
	z-index: -1;
}

.p-find__wrapper::before {
	top: 6.75rem;
	left: 0;
	background: url("../images/find-circles.png") no-repeat center center/cover;
	width: 9.875rem;
	aspect-ratio: 158/177;
}

.p-find__wrapper::after {
	bottom: 12rem;
	right: 0;
	background: url("../images/find-circles02.png") no-repeat center center/cover;
	width: 8.4375rem;
	aspect-ratio: 135/215;
}

.p-find__inner.l-inner {
	max-width: 70.625rem;
}

.p-find__lead {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	color: #fff;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

.p-find__lead span {
	font-size: 2.875rem;
	color: #FCEC70;
}

.p-find__cards {
	margin-top: 2.5rem;
}

.p-floating-links {
	position: fixed;
	display: block;
	top: 50%;
	right: 0;
	z-index: 850;
	overflow: visible;
	transform: translateY(-50%);
}

.p-floating-links__list {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.p-floating-links__item {
	width: -moz-fit-content;
	width: fit-content;
}

.p-floating-links__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
	padding: 0.875rem 1rem 0.75rem 0.75rem;
	width: 4.375rem;
	min-height: 10rem;
	border-radius: 1rem 0 0 1rem;
	transform: translateX(0.375rem);
	transition: transform 0.3s ease;
}

.p-floating-links__link:focus-visible {
	transform: translateX(0rem);
}

.p-floating-links__link--catalog {
	background: linear-gradient(136deg, #f8fc70 5%, #fcec70 100%);
}

.p-floating-links__link--contact {
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
}

.p-floating-links__icon {
	width: 1.75rem;
	aspect-ratio: 1;
	height: auto;
}

.p-floating-links__label {
	display: flex;
	justify-content: center;
	gap: 0.166875rem;
	margin-top: 0.5rem;
}

.p-floating-links__label-column {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.2em;
	writing-mode: vertical-rl;
	text-orientation: upright;
}

.p-floating-links__link--catalog .p-floating-links__label-column {
	color: #122a4f;
}

.p-floating-links__link--contact .p-floating-links__label-column {
	color: #fff;
}

.p-flow-process__inner.l-inner {
	max-width: 65.625rem;
}

.p-flow-process__lead {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.6;
	color: #333;
	text-align: center;
}

.p-flow-process__list {
	margin-top: 3.75rem;
}

.p-flow-process__item {
	position: relative;
}

.p-flow-process__item + .p-flow-process__item {
	margin-top: 4rem;
}

.p-flow-process__item + .p-flow-process__item::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -2.75rem;
	width: 3rem;
	height: 1.5rem;
	background: #abc8ff;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transform: translateX(-50%);
}

.p-flow-process__card {
	padding: 1.875rem 3.75rem 2.125rem;
	background: url("../images/page-flow-step-bg.svg") no-repeat center center/cover;
}

.p-flow-process__card-inner {
	display: flex;
	align-items: center;
	gap: 2.5rem;
}

.p-flow-process__main {
	display: flex;
	justify-content: space-between;
	gap: 2.5rem;
	width: 100%;
	min-width: 0;
}

.p-flow-process__body {
	flex: 1 0 0;
}

.p-flow-process__number {
	position: relative;
	display: inline-block;
	font-family: "Oswald", sans-serif;
	font-size: 3.75rem;
	font-weight: 400;
	line-height: 1;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.p-flow-process__number::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0rem;
	width: calc(100% + 0.5625rem);
	height: 1px;
	background: #6191ea;
}

.p-flow-process__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333;
	margin-top: 1.8125rem;
}

.p-flow-process__description {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: #333;
	margin-top: 1.25rem;
}

.p-flow-process__description span {
	font-weight: 700;
}

.p-flow-process__img {
	flex: 0 0 15rem;
}

.p-flow-process__img img {
	aspect-ratio: 1;
	object-fit: contain;
	width: 100%;
	height: auto;
}

.p-footer {
	padding-block: 5.0625rem 2.875rem;
}

.p-footer__main {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 2.25rem;
}

.p-footer__logo {
	max-width: 15rem;
}

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

.p-footer__office + .p-footer__office {
	margin-top: 1.3125rem;
}

.p-footer__office-title {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.6;
	color: #000;
}

.p-footer__address {
	font-style: normal;
}

.p-footer__address-line {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.6;
	color: #000;
}

.p-footer__content {
	display: flex;
	gap: 2.5rem;
	width: 100%;
	max-width: 42.3125rem;
}

.p-footer__lineup {
	width: 100%;
	max-width: 15.4375rem;
}

.p-footer__content-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.6;
	color: #000;
}

.p-footer__content-title,
.p-footer__lineup-link,
.p-footer__nav-link,
.p-footer__policy-link {
	transition: color 0.3s ease;
}

.p-footer__content-title:focus-visible,
.p-footer__lineup-link:focus-visible,
.p-footer__nav-link:focus-visible,
.p-footer__policy-link:focus-visible {
	color: #6191EA;
}

.p-footer__lineup-list {
	margin-top: 0.25rem;
}

.p-footer__lineup-item {
	display: flex;
	align-items: center;
	gap: 0.125rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: #000;
}

.p-footer__lineup-item::before {
	content: "";
	display: block;
	width: 0.625rem;
	border-top: 0.125rem solid #DAE1FD;
}

.p-footer__nav {
	width: 100%;
	max-width: 10.6875rem;
}

.p-footer__nav-item + .p-footer__nav-item {
	margin-top: 0.375rem;
}

.p-footer__nav-link,
.p-footer__nav-text {
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.6;
	color: #000;
}

.p-footer__banners {
	width: 100%;
	max-width: 10.6875rem;
}

.p-footer__banner-item + .p-footer__banner-item {
	margin-top: 0.25rem;
}

.p-footer__banner-item img {
	width: 100%;
	height: auto;
}

.p-footer__banner-link {
	transition: opacity 0.3s;
}

.p-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 1.9375rem;
	padding-top: 1.375rem;
	border-top: 0.0625rem solid #ddd;
}

.p-footer__policy-link,
.p-footer__policy-text {
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.6;
	color: #777;
}

.p-footer__copyright {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.625rem;
	font-weight: 500;
	line-height: 1;
	color: #b6b6b6;
	margin-top: 0.25rem;
}

.p-footer__social {
	width: 100%;
	max-width: 2.5rem;
}

.p-footer__social-link {
	display: block;
}

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

.p-fv__inner {
	position: relative;
	z-index: 2;
}

.p-fv__content {
	position: absolute;
	top: calc(50% - 4.6875rem);
	left: calc(50% - 24.3055555556vw);
	translate: -50% -50%;
}

.p-fv__subtitle {
	width: 33.25rem;
	margin-left: -0.5rem;
}

.p-fv__subtitle img {
	aspect-ratio: 532/125;
	object-fit: contain;
	width: 100%;
	height: auto;
}

.p-fv__features {
	display: flex;
	gap: 1.0625rem;
	padding-left: 0.75rem;
}

.p-fv__feature {
	width: 7rem;
}

.p-fv__feature img {
	aspect-ratio: 1;
	object-fit: contain;
	width: 100%;
	height: auto;
}

.p-fv__main-title {
	-webkit-font-smoothing: auto;
	-moz-osx-font-smoothing: auto;
	font-size: 5.25rem;
	font-weight: 500;
	line-height: 1.1;
	color: #646fe6;
	margin-top: 3.125rem;
}

.p-fv__main-title-part {
	display: block;
	width: -moz-fit-content;
	width: fit-content;
	background: linear-gradient(125deg, #6eb9ff 15%, #646fe6 98%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.p-fv__main-title-part:first-child {
	position: relative;
}

.p-fv__main-title-part:first-child::before {
	content: "";
	position: absolute;
	top: calc(50% + 0.3125rem);
	translate: 0 -50%;
	right: -7.125rem;
	background: url(../images/fv-noise-image.png) no-repeat center center/cover;
	width: 6.25rem;
	aspect-ratio: 100/80;
}

.p-fv__title-small {
	font-size: 4.25rem;
}

.p-fv__main-title-part + .p-fv__main-title-part {
	margin-top: 1.25rem;
}

.p-fv__img {
	width: 65.8333333333vw;
	min-width: 59.25rem;
	margin-left: auto;
}

.p-fv__img img {
	aspect-ratio: 1894/1710;
	object-fit: cover;
	width: 100%;
	height: auto;
}

.p-header {
	background-color: #fff;
	box-shadow: 0 0.25rem 1.875rem rgba(0, 0, 0, 0.1);
	height: 5.9375rem;
	transition: height 0.3s ease;
}

.p-header.is-scrolled {
	height: 4.0625rem;
}

.p-header__inner {
	container-type: inline-size;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-inline: clamp(1.25rem, 2cqi, 3.125rem);
	width: 100%;
	max-width: 90rem;
	height: inherit;
	margin-inline: auto;
}

.p-header__logo {
	width: 17.4375rem;
	flex-shrink: 0;
	transition: width 0.3s ease;
}

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

.p-header__logo-link {
	display: block;
	transition: opacity 0.3s;
}

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

.p-header__nav {
	height: inherit;
	margin-left: auto;
}

.p-header__nav-list {
	display: flex;
	align-items: center;
	gap: clamp(0.375rem, 1.4cqi, 1.5rem);
	height: inherit;
}

.p-header__nav-item {
	position: relative;
	display: flex;
	align-items: center;
	height: inherit;
}

.p-header__nav-link,
.p-header__drawer-link {
	position: relative;
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(0.625rem, 1.2cqi, 1rem);
	font-weight: 400;
	line-height: 1.6;
	color: #000;
	transition: color 0.3s ease, opacity 0.3s ease;
}

.p-header__nav-link:hover,
.p-header__nav-link:focus-visible,
.p-header__drawer-link:hover,
.p-header__drawer-link:focus-visible {
	color: #6191EA;
}

.p-header__nav-link {
	align-items: center;
	height: inherit;
}

.p-header__nav-link--with-arrow,
.p-header__drawer-link--with-arrow {
	align-items: center;
	gap: 0.25rem;
}

.p-header__nav-link--with-arrow::after,
.p-header__drawer-link--with-arrow::after {
	content: "";
	display: block;
	width: 0.8125rem;
	aspect-ratio: 13/7;
	background-color: currentColor;
	clip-path: polygon(0 0, 14% 0, 50% 58%, 86% 0, 100% 0, 50% 100%);
	transition: transform 0.3s ease;
}

.p-header__nav-item--has-dropdown:hover .p-header__nav-link--with-arrow::after,
.p-header__nav-item--has-dropdown:focus-within .p-header__nav-link--with-arrow::after {
	transform: rotate(180deg);
}

.p-header__dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 2;
	padding: 1.875rem 2.5rem;
	background-color: #fff;
	box-shadow: 0 0.25rem 1.875rem rgba(0, 0, 0, 0.1);
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.5rem);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

.p-header__nav-item--has-dropdown:hover .p-header__dropdown,
.p-header__nav-item--has-dropdown:focus-within .p-header__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.p-header__dropdown-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.p-header__dropdown-link,
.p-header__drawer-sub-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.625rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: #000;
	white-space: nowrap;
	transition: color 0.3s ease;
}

.p-header__dropdown-link::after,
.p-header__drawer-sub-link::after {
	content: "";
	display: block;
	width: 0.445625rem;
	aspect-ratio: 7.13/12.97;
	background-color: currentColor;
	clip-path: polygon(0 0, 22% 0, 100% 50%, 22% 100%, 0 100%, 78% 50%);
}

.p-header__dropdown-link:hover,
.p-header__dropdown-link:focus-visible,
.p-header__drawer-sub-link:hover,
.p-header__drawer-sub-link:focus-visible {
	color: #6191EA;
}

.p-header__menu-button {
	display: none;
}

.p-header__menu-button span {
	display: block;
	width: 100%;
	height: 0.125rem;
	background-color: #000;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.p-header__menu-button.is-open span:nth-of-type(1) {
	transform: translateY(0.5rem) rotate(45deg);
}

.p-header__menu-button.is-open span:nth-of-type(2) {
	opacity: 0;
}

.p-header__menu-button.is-open span:nth-of-type(3) {
	transform: translateY(-0.5rem) rotate(-45deg);
}

.p-header__drawer {
	display: none;
}

.p-header__drawer-list {
	padding-block: 0.75rem 1.5rem;
}

.p-header__drawer-item + .p-header__drawer-item {
	border-top: 0.0625rem solid rgba(0, 0, 0, 0.08);
}

.p-header__drawer-link {
	align-items: center;
	justify-content: space-between;
	padding: 1rem 1.25rem;
	font-size: 0.9375rem;
	font-weight: 500;
}

.p-header__drawer-sub-list {
	padding: 0 1.25rem 1rem;
}

.p-header__drawer-sub-item + .p-header__drawer-sub-item {
	margin-top: 0.625rem;
}

.p-header__drawer-sub-link {
	font-size: 0.875rem;
	white-space: normal;
}

.p-lineup-archive {
	padding-bottom: 9.375rem;
}

.p-lineup-archive__inner.l-inner {
	max-width: 78.125rem;
}

.p-lineup-archive__lead {
	max-width: 54.3125rem;
	margin-inline: auto;
}

.p-lineup-archive__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.8;
	color: #000;
	text-align: center;
}

.p-lineup-archive__feature-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 0.625rem;
}

.p-lineup-archive__feature-item {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.25rem 0.625rem;
	border: 1px solid #194392;
	border-radius: 0.25rem;
	background-color: #194392;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.6;
	color: #FCEC70;
}

.p-lineup-archive__feature-item + .p-lineup-archive__feature-item::before {
	content: "×";
	position: absolute;
	left: -0.75rem;
	top: 50%;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	color: #000;
	transform: translate(-50%, -50%);
}

.p-lineup-archive__copy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-top: 2rem;
	font-family: "Noto Sans JP", sans-serif;
	text-align: center;
}

.p-lineup-archive__copy-text {
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1;
	color: #000;
}

.p-lineup-archive__copy-emphasis {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	color: #6191ea;
}

.p-lineup-archive__copy-number {
	margin-inline: 0.25rem;
	font-family: "Oswald", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	color: #6191ea;
	margin-top: -0.5rem;
}

.p-lineup-archive__nav {
	margin-top: 5rem;
}

.p-lineup-archive__nav .c-category-nav__list {
	justify-content: center;
}

.p-lineup-archive__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3.75rem 2.25rem;
	margin-top: 3.75rem;
}

.p-lineup-archive__card {
	width: 100%;
}

.p-lineup-archive__card .c-product-card {
	max-width: none;
}

.p-lineup-archive__button {
	margin-top: 7.5rem;
	margin-inline: auto;
}

.p-lineup-archive__pagination {
	margin-top: 3.75rem;
}

.p-lineup-detail__visual {
	width: min(100%, 43rem);
	margin-top: 3.875rem;
}

.p-lineup-detail__visual img {
	aspect-ratio: 688/454;
	object-fit: cover;
	width: 100%;
	height: auto;
}

.p-lineup-detail__section + .p-lineup-detail__section {
	margin-top: 7.5rem;
}

.p-lineup-detail__overview {
	width: min(100%, 60.5rem);
	margin-top: 5rem;
}

.p-lineup-detail__overview-title,
.p-lineup-detail__strength-title,
.p-lineup-detail__scene-title,
.p-lineup-detail__color-title {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	color: #000;
}

.p-lineup-detail__overview-title::before,
.p-lineup-detail__strength-title::before,
.p-lineup-detail__scene-title::before,
.p-lineup-detail__color-title::before {
	content: "";
	display: block;
	width: 0.3125rem;
	height: 2.5rem;
	background-color: #6191ea;
	flex-shrink: 0;
}

.p-lineup-detail__strength {
	margin-top: 7.5rem;
}

.p-lineup-detail__strength-list {
	display: flex;
	flex-direction: column;
	margin-top: 1.4375rem;
}

.p-lineup-detail__strength-item {
	padding: 1.25rem;
	border-bottom: 1px solid #777;
	background-color: #fff;
}

.p-lineup-detail__strength-content {
	display: flex;
	align-items: center;
	gap: 1.625rem;
}

.p-lineup-detail__strength-number {
	display: block;
	width: 3.125rem;
	flex-shrink: 0;
	font-family: "Oswald", sans-serif;
	font-size: 3.125rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #6191ea;
}

.p-lineup-detail__strength-text {
	position: relative;
	flex: 1;
	padding-left: 1.625rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #000;
}

.p-lineup-detail__strength-text::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 0.125rem;
	height: 3.75rem;
	background-color: #d1e4ff;
	transform: translateY(-50%);
}

.p-lineup-detail__overview-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 3.125rem;
	width: min(100%, 60.5rem);
}

.p-lineup-detail__overview-item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding-bottom: 1.5rem;
}

.p-lineup-detail__overview-item::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background-image: linear-gradient(to right, #6191ea 0, #6191ea 12.25rem, #ddd 12.25rem, #ddd 100%);
}

.p-lineup-detail__overview-label {
	width: 11.25rem;
	flex-shrink: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.02em;
	color: #333;
}

.p-lineup-detail__overview-description {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #333;
}

.p-lineup-detail__scene-img {
	margin-top: 7.5rem;
	max-width: 51.875rem;
}

.p-lineup-detail__scene-img img {
	aspect-ratio: 830/560;
	object-fit: cover;
	width: 100%;
	height: auto;
}

.p-lineup-detail__video {
	width: min(100%, 51.875rem);
	margin-top: 5rem;
}

.p-lineup-detail__video iframe {
	display: block;
	aspect-ratio: 16/9;
	width: 100%;
	height: auto;
	border: 0;
}

.p-lineup-detail__scene-layout {
	display: grid;
	align-items: start;
	gap: 5rem;
	margin-top: 1.3125rem;
	width: min(100%, 54.125rem);
	grid-template-columns: minmax(0, 33.375rem) minmax(0, 15.75rem);
}

.p-lineup-detail__scene-visual img {
	display: block;
	aspect-ratio: 534/360;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.p-lineup-detail__scene-content {
	display: flex;
	flex-direction: column;
	gap: 0.9375rem;
	margin-top: 3.4375rem;
	width: 100%;
	max-width: 15.75rem;
}

.p-lineup-detail__scene-heading {
	display: flex;
	align-items: center;
	padding: 0.625rem 0;
	border-bottom: 1px solid #777;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1;
	color: #333;
}

.p-lineup-detail__scene-list {
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
}

.p-lineup-detail__scene-item {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 1.75rem;
	padding-left: 2.375rem;
}

.p-lineup-detail__scene-item::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1.75rem;
	aspect-ratio: 1;
	background-image: url("../images/lineup-scene-check.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translateY(-50%);
}

.p-lineup-detail__scene-text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #333;
}

.p-lineup-detail__color-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9375rem;
	margin-top: 2.5rem;
}

.p-lineup-detail__color-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	width: 7.5rem;
}

.p-lineup-detail__color-swatch {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.625rem;
	width: 100%;
	aspect-ratio: 1;
}

.p-lineup-detail__color-en {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
}

.p-lineup-detail__color-name {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	color: #333;
}

.p-lineup-detail__option-text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #333;
	margin-top: 2.5rem;
}

.p-lineup {
	padding-block: 9.375rem;
}

.p-lineup__inner.l-inner {
	max-width: 78.125rem;
}

.p-lineup__content {
	margin-top: 5rem;
}

.p-lineup__group + .p-lineup__group {
	margin-top: 7.5rem;
}

.p-lineup__group-title {
	position: relative;
	padding: 0 0 0.875rem 1.875rem;
	border-bottom: 1px solid #777;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #333;
}

.p-lineup__group-title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 0.3125rem;
	height: 2.75rem;
	background: #6191ea;
}

.p-lineup__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3.75rem 2.25rem;
	margin-top: 3.75rem;
}

.p-lineup__card .c-product-card {
	max-width: none;
}

.p-lineup__button {
	margin-inline: auto;
	margin-top: 5rem;
}

.p-news-detail {
	padding-top: 3.375rem;
}

.p-news-detail__layout {
	display: flex;
	align-items: flex-start;
	gap: 5rem;
}

.p-news-detail__content {
	flex: 1;
	min-width: 0;
}

.p-news-detail__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1.6;
	color: #000;
	margin-top: 0.5rem;
}

.p-news-detail__body {
	font-family: "Noto Sans JP", sans-serif;
	color: #333;
	margin-top: 1.5rem;
}

.p-news-detail__body > * + * {
	margin-top: 1.5rem;
}

.p-news-detail__body :where(p,
li) {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
}

.p-news-detail__body :where(h2) {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.3;
	color: #194392;
	border-left: 0.1875rem solid #194392;
	padding-left: 1.25rem;
}

.p-news-detail__body :where(h3,
h4) {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	color: #194392;
	border-left: 0.1875rem solid #194392;
	padding-left: 1rem;
}

.p-news-detail__body :where(h2,
h3,
h4) + :where(p,
ul,
ol) {
	margin-top: 0.75rem;
}

.p-news-detail__body :where(ul,
ol) {
	padding-left: 1.5rem;
}

.p-news-detail__body ul li {
	list-style: disc;
}

.p-news-detail__body ol li {
	list-style: decimal;
}

.p-news-detail__body li + li {
	margin-top: 0.5rem;
}

.p-news-detail__body a {
	color: #1d55af;
	text-decoration: underline;
	text-underline-offset: 0.12em;
	text-decoration-color: currentColor;
	transition: text-decoration-color 0.3s ease;
}

.p-news-detail__body img {
	display: block;
	max-width: 100%;
	height: auto;
}

.p-news-detail__button {
	margin-top: 3.75rem;
	margin-inline: auto;
}

.p-news-detail__empty {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: #333;
	text-align: center;
}

.p-news {
	padding-bottom: 9.375rem;
}

.p-news__layout {
	display: flex;
	align-items: flex-start;
	gap: 5rem;
}

.p-news__content {
	flex: 1;
	min-width: 0;
}

.p-news__list .c-news-item {
	max-width: none;
	margin-inline: 0;
}

.p-news__item + .p-news__item {
	margin-top: 1.875rem;
}

.p-news__pagination {
	margin-top: 3.75rem;
}

.p-privacy-policy {
	padding-block: 6.25rem 9.375rem;
}

.p-privacy-policy__inner.l-inner {
	max-width: 70.625rem;
}

.p-privacy-policy__content {
	font-family: "Noto Sans JP", sans-serif;
	color: #333;
}

.p-privacy-policy__content > * + * {
	margin-top: 2.5rem;
}

.p-privacy-policy__content :where(p,
li) {
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.p-privacy-policy__content :where(h2,
h3,
h4) {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.5;
	color: #333;
}

.p-privacy-policy__content :where(h2,
h3,
h4) + :where(p,
ul,
ol) {
	margin-top: 1rem;
}

.p-privacy-policy__content :where(ul,
ol) {
	padding-left: 1.5rem;
}

.p-privacy-policy__content ul li {
	list-style: disc;
}

.p-privacy-policy__content ol li {
	list-style: decimal;
}

.p-privacy-policy__content li + li {
	margin-top: 0.5rem;
}

.p-privacy-policy__content a {
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.p-problem-data {
	padding-top: 4.375rem;
}

.p-problem-data__panel {
	overflow: clip;
	margin-top: 3.125rem;
	padding: 4.0625rem 6.25rem 6.25rem;
	border-radius: 1.6875rem;
	background: #f1f7ff url("../images/problem-data-bg.avif") no-repeat center top/100% auto;
}

.p-problem-data__label,
.p-problem-data__lead {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	color: #333;
}

.p-problem-data__issues {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem 3.75rem;
	margin-top: 4.0625rem;
}

.p-problem-data__issue {
	display: flex;
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	align-items: center;
	padding-block: 1.25rem;
	padding-inline: 1.25rem;
	border-radius: 0.625rem;
	background: #fff;
}

.p-problem-data__issue-number {
	position: relative;
	display: inline-block;
	font-family: "Oswald", sans-serif;
	font-size: 3.75rem;
	font-weight: 400;
	line-height: 1;
	color: #6fb0ed;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.p-problem-data__issue-number::after {
	content: "";
	position: absolute;
	left: 50%;
	translate: -50% 0;
	bottom: 0rem;
	width: 4rem;
	height: 1px;
	background: #6191ea;
}

.p-problem-data__issue-text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.05em;
	color: #333;
}

.p-problem-data__features-panel {
	margin-top: 5.5rem;
}

.p-problem-data__features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2.5rem 3.75rem;
	margin-top: 3.75rem;
}

.p-problem-data__feature {
	container-type: inline-size;
	padding-block: 1.875rem 3.125rem;
	padding-inline: 2.5rem 2.1875rem;
	border-radius: 1.25rem;
	background: #1b3058;
}

.p-problem-data__feature-head {
	display: flex;
	gap: 1.25rem;
	align-items: center;
}

.p-problem-data__feature-icon {
	position: relative;
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 21.0126582278cqi;
}

.p-problem-data__feature-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 6.582278481cqi;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
}

.p-problem-data__feature-text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.375rem;
	font-size: 5.5696202532cqi;
	font-weight: 400;
	line-height: 1.5;
	color: #fff;
	margin-top: 1.4375rem;
}

.p-problem-data__feature-text span {
	display: block;
	font-size: 0.75rem;
	font-weight: 400;
	color: #fff;
	line-height: 1.3;
	margin-top: 1.375rem;
}

.p-problem-effect {
	padding-top: 9.375rem;
}

.p-problem-effect__inner.l-inner {
	max-width: 85.625rem;
}

.p-problem-effect__container {
	padding: 6.25rem 3.75rem;
	border-radius: 1.25rem;
	background: #f1f7ff;
}

.p-problem-effect__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.25rem;
	margin-top: 3.75rem;
}

.p-problem-effect__card {
	position: relative;
	transition: transform 0.3s ease;
}

.p-problem-effect__card:hover {
	transform: translateY(-0.25rem);
}

.p-problem-effect__media {
	position: relative;
	background: #000;
}

.p-problem-effect__media iframe {
	display: block;
	width: 100%;
	aspect-ratio: 376/212;
	height: auto;
	border: 0;
	pointer-events: none;
}

.p-problem-effect__card-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	color: #000;
	margin-top: 1.25rem;
}

.p-problem-effect__button {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 1.25rem;
	background: transparent;
	cursor: pointer;
}

.p-problem-effect__button:focus-visible {
	outline: 0.1875rem solid #6191ea;
	outline-offset: 0.1875rem;
}

.p-problem-effect__card:hover .p-problem-effect__media::before,
.p-problem-effect__card:focus-within .p-problem-effect__media::before {
	background: rgba(25, 67, 146, 0.88);
	transform: scale(1.08);
}

.p-problem-effect__card:hover .p-problem-effect__media::after,
.p-problem-effect__card:focus-within .p-problem-effect__media::after {
	transform: translateX(0.125rem);
}

.p-problem-resonance {
	padding-top: 6.25rem;
}

.p-problem-resonance__text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	text-align: center;
	color: #000;
	margin-top: 2.5rem;
}

.p-problem-resonance__content {
	display: flex;
	gap: 1.75%;
	margin-top: 3.125rem;
}

.p-problem-resonance__item-title {
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.03em;
	color: #fff;
	background: linear-gradient(120deg, #6fb0ed 0%, #8d95ed 100%);
	border-radius: calc(infinity * 1px);
	padding-block: 0.875rem 1.0625rem;
	padding-inline: 1.875rem 1.75rem;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

.p-problem-resonance__principle {
	flex: 0 0 41.8333333333%;
	min-width: 0;
}

.p-problem-resonance__principle .p-problem-resonance__item-title {
	position: relative;
}

.p-problem-resonance__principle .p-problem-resonance__item-title::before {
	content: "さらに";
	position: absolute;
	top: -1.1875rem;
	left: 50%;
	translate: -50% 0;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: left;
	color: #6191ea;
	background-color: #FCEC70;
	border-radius: 0.25rem;
	padding: 0.25rem 0.625rem;
}

.p-problem-resonance__principle .p-problem-resonance__item-title::after {
	content: "";
	position: absolute;
	left: 50%;
	translate: -50% 0;
	bottom: -1.125rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 0.4375rem solid transparent;
	border-left: 0.4375rem solid transparent;
	border-top: 1.25rem solid #7EA2ED;
	border-bottom: 0;
}

.p-problem-resonance__principle .p-problem-resonance__img {
	margin-top: 2.625rem;
}

.p-problem-resonance__graph {
	flex: 0 0 56.4166666667%;
	min-width: 0;
}

.p-problem-resonance__graph .p-problem-resonance__img {
	margin-top: 1.375rem;
}

.p-problem-resonance__img img {
	object-fit: contain;
	width: 100%;
	height: auto;
}

.p-problem-scene {
	padding-top: 9.0625rem;
}

.p-problem-scene__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 3.75rem;
}

.p-problem-scene__card {
	container-type: inline-size;
	position: relative;
	width: 100%;
	aspect-ratio: 1;
}

.p-problem-scene__media {
	border-radius: 50%;
}

.p-problem-scene__media img {
	width: 100%;
	height: auto;
}

.p-problem-scene__body {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 55.7447916667% 1.5rem 0;
}

.p-problem-scene__label,
.p-problem-scene__card-title {
	color: #fff;
}

.p-problem-scene__label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.375rem 1.875rem;
	border: 1px solid rgba(255, 255, 255, 0.8);
	border-radius: 62.4375rem;
	background: rgba(255, 255, 255, 0.2);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 8.3333333333cqi;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	text-align: center;
}

.p-problem-scene__card-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 6.25cqi;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-align: center;
	margin-top: 0.875rem;
}

.p-problem-scene__button {
	margin-top: 9.375rem;
}

.p-problem-stress {
	padding: 5.5rem 0 7.5rem;
	overflow: clip;
}

.p-problem-stress__content {
	container-type: inline-size;
	display: flex;
	align-items: center;
}

.p-problem-stress__media {
	flex: 0 0 58.821741%;
	min-width: 0;
}

.p-problem-stress__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 1695/1090;
	object-fit: cover;
}

.p-problem-stress__body {
	flex: 0 0 51.778014%;
	min-width: 0;
	margin-left: -10.5971112669%;
}

.p-problem-stress__panel {
	min-width: 0;
	min-height: 24.25rem;
	padding-block: 2.8125rem 2.25rem;
	padding-inline: 5.2777777778cqi 0.6944444444cqi;
	border-radius: 1.25rem 0 0 1.25rem;
	background: #1b3058;
}

.p-problem-stress__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.25rem;
	font-weight: 500;
	line-height: 1.35;
	color: #fff;
}

.p-problem-stress__title span {
	font-weight: 700;
	color: #FCEC70;
}

.p-problem-stress__lead {
	margin-top: 1.6875rem;
	margin-left: 0.5rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	color: #FCEC70;
}

.p-problem-stress__list {
	display: grid;
	gap: 0.25rem;
	margin-top: 0.5625rem;
	margin-left: 0.5rem;
	padding-left: 0;
}

.p-problem-stress__item {
	display: grid;
	grid-template-columns: 1.6875rem minmax(0, 1fr);
	-moz-column-gap: 0.4375rem;
	column-gap: 0.4375rem;
	align-items: center;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}

.p-problem-stress__item::before {
	content: "";
	display: block;
	width: 1.6875rem;
	aspect-ratio: 1;
	background-image: url("../images/check_sound-list.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	translate: 0 0.0625rem;
}

.p-problem-stress__accent {
	width: 12.959786%;
	margin-top: -17.4155495979%;
	margin-bottom: -5.5522788204%;
	margin-left: 57.032172%;
}

.p-problem-stress__accent img {
	width: 100%;
	height: auto;
}

.p-reason {
	padding-block: 9.0625rem 9.5625rem;
	background-color: #f4f7ff;
	background-image: url("../images/reason-bg.svg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: clip;
}

.p-reason__inner.l-inner {
	max-width: 66.875rem;
}

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

.p-reason__lead {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.25rem 1rem;
	border-radius: 1.25rem;
	background: #194392;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.6;
	color: #FCEC70;
	margin-top: 1.25rem;
}

.p-reason__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	color: #000;
}

.p-reason__title span {
	font-size: 3.75rem;
	color: #6191EA;
}

.p-reason__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 4.25rem 3.75rem;
	margin-top: 4.125rem;
}

.p-reason__item {
	list-style: none;
}

.p-reason__card {
	height: 100%;
	border-radius: 1.25rem;
	background: #fff;
	box-shadow: 0 0.375rem 0.9375rem rgba(51, 51, 51, 0.08);
	overflow: hidden;
}

.p-reason__img img {
	width: 100%;
	height: auto;
	aspect-ratio: 480/290;
	object-fit: cover;
}

.p-reason__body {
	padding: 1.875rem;
}

.p-reason__item-heading {
	display: flex;
	align-items: center;
	gap: 1.625rem;
}

.p-reason__point {
	position: relative;
	flex-shrink: 0;
	width: 6.3125rem;
	min-height: 3.75rem;
}

.p-reason__point-number {
	display: block;
	padding-left: 2rem;
	font-family: "Oswald", sans-serif;
	font-size: 4.5rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.03em;
	color: #c8dfff;
}

.p-reason__point-label {
	position: absolute;
	left: 0;
	top: 50%;
	translate: 0 -50%;
	background-color: #fff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	color: #c8dfff;
}

.p-reason__title-wrap {
	min-width: 0;
}

.p-reason__item-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	color: #285ec4;
}

.p-reason__item-subtitle {
	margin-top: 0.625rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1;
	color: #333;
}

.p-reason__description {
	margin-top: 1.125rem;
	padding-top: 1.125rem;
	border-top: 1px solid #c8dfff;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: #333;
}

.p-scene-links {
	margin-top: 7.5rem;
}

.p-scene-links__list {
	display: grid;
	justify-content: center;
	grid-template-columns: repeat(2, minmax(0, 37.375rem));
	gap: 0.25rem;
	max-width: 75rem;
	margin-inline: auto;
}

.p-scene-links__item {
	min-width: 0;
}

.p-scene-links__button {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 598/180;
	overflow: hidden;
	border-radius: 1.25rem;
	box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.1);
	text-decoration: none;
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.p-scene-links__button::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 12.6875rem;
	height: 100%;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: contain;
}

.p-scene-links__button--flow {
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
}

.p-scene-links__button--flow::before {
	background-image: url("../images/scene-links-flow-deco.svg");
}

.p-scene-links__button--flow .p-scene-links__button-keyword {
	color: #a6d0ff;
}

.p-scene-links__button--faq {
	background: linear-gradient(133deg, #8cd6fe 10%, #aabaf7 88%);
}

.p-scene-links__button--faq::before {
	background-image: url("../images/scene-links-faq-deco.svg");
}

.p-scene-links__button--faq .p-scene-links__button-keyword {
	color: #c3e8fd;
}

.p-scene-links__button-keyword {
	position: absolute;
	top: 0.5rem;
	left: 0.875rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 4.609375rem;
	font-weight: 400;
	line-height: 1;
	color: rgba(255, 255, 255, 0.34);
	pointer-events: none;
}

.p-scene-links__button-label {
	position: absolute;
	top: 4.6875rem;
	left: 13.5rem;
	z-index: 1;
	max-width: calc(100% - 21.25rem);
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	color: #fff;
}

.p-scene-links__button--faq .p-scene-links__button-label {
	left: 13.5rem;
}

.p-scene-links__button-arrow {
	position: absolute;
	top: 50%;
	right: 2.1875rem;
	width: 6.5rem;
	aspect-ratio: 1;
	transform: translateY(-50%);
}

.p-scene-links__button-arrow::before,
.p-scene-links__button-arrow::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	transform: translate(-50%, -50%);
	transition: background-color 0.3s ease, transform 0.3s ease;
}

.p-scene-links__button-arrow::before {
	width: 100%;
	aspect-ratio: 1;
	border: 1px solid #fff;
	border-radius: 50%;
	background: transparent;
}

.p-scene-links__button-arrow::after {
	width: 3.125rem;
	aspect-ratio: 1;
	background-color: #fff;
	-webkit-mask-image: url("../images/icon-detail-arrow.svg");
	mask-image: url("../images/icon-detail-arrow.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transform: translate(calc(-50% + 0.09375rem), -50%);
}

.p-scene-links__button:hover .p-scene-links__button-arrow::before,
.p-scene-links__button:focus-visible .p-scene-links__button-arrow::before {
	background-color: #fff;
}

.p-scene-links__button:hover .p-scene-links__button-arrow::after,
.p-scene-links__button:focus-visible .p-scene-links__button-arrow::after {
	background-color: #6191ea;
	transform: translate(calc(-50% + 0.59375rem), -50%);
}

.p-scene-recommend {
	margin-top: 5.5rem;
}

.p-scene-recommend__section + .p-scene-recommend__section {
	margin-top: 9.375rem;
}

.p-scene-recommend__section {
	scroll-margin-top: 7.5rem;
}

.p-scene-recommend__heading {
	position: relative;
	padding-block: 10rem 6.25rem;
	padding-inline: 7.5rem;
	min-height: 22.5rem;
	overflow: clip;
}

.p-scene-recommend__img {
	position: absolute;
	inset: 0;
}

.p-scene-recommend__img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: url("../images/scene-lead_gradation.png") no-repeat center center/cover;
}

.p-scene-recommend__img picture,
.p-scene-recommend__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-scene-recommend__body {
	position: relative;
	z-index: 1;
	max-width: 75rem;
	margin-inline: auto;
}

.p-scene-recommend__title {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.04em;
	color: #fff;
}

.p-scene-recommend__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	margin-top: 2rem;
}

.p-scene-recommend__tag {
	display: inline-flex;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #000;
	background-color: #fff;
	border-radius: calc(infinity * 1px);
	padding: 0.375rem 1rem;
}

.p-scene-recommend__content {
	padding-inline: 1.5625rem;
	margin-top: 3.75rem;
}

.p-scene-recommend__content-inner {
	display: flex;
	align-items: flex-start;
	gap: 6.25rem;
	padding-left: 3.25rem;
	max-width: 72.5rem;
	margin-inline: auto;
}

.p-scene-recommend__content-heading {
	flex-shrink: 0;
	width: 7.5625rem;
	padding-bottom: 0.625rem;
	border-bottom: 2px solid transparent;
	border-image: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%) 1;
}

.p-scene-recommend__content-title {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	color: #333;
}

.p-scene-recommend__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 23.5rem));
	gap: 3rem;
}

.p-scene-recommend__card {
	width: 100%;
}

.p-scene-recommend__empty {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.75;
	color: #333;
}

.p-scene {
	position: relative;
}

.p-scene::before,
.p-scene::after {
	content: "";
	position: absolute;
	z-index: -1;
}

.p-scene::before {
	top: 12.1875rem;
	left: 0;
	background: url("../images/scene-ornament01.png") no-repeat center center/contain;
	width: 13.75rem;
	aspect-ratio: 220/233;
}

.p-scene::after {
	bottom: 4.375rem;
	right: 0;
	background: url("../images/scene-ornament02.png") no-repeat center center/contain;
	width: 12.5rem;
	aspect-ratio: 200/233;
}

.p-scene__inner.l-inner {
	max-width: 70.625rem;
}

.p-scene__heading {
	max-width: 57.875rem;
	margin-inline: auto;
}

.p-scene__lead {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: center;
	color: #000;
	margin-top: 1.25rem;
}

.p-scene__title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	-moz-column-gap: 0.25rem;
	column-gap: 0.25rem;
	row-gap: 0.5rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1;
	color: #000;
}

.p-scene__title-accent {
	font-weight: 700;
	color: #6191ea;
}

.p-scene__cards {
	margin-top: 2.8125rem;
}

.p-strength-effect__inner.l-inner {
	max-width: 60.125rem;
}

.p-strength-effect__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.p-strength-effect__card {
	position: relative;
	padding: 1.875rem 1.875rem 1.75rem;
	border-radius: 1.25rem;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
}

.p-strength-effect__card-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
	color: #fff;
	text-align: center;
}

.p-strength-effect__value-wrap {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-top: 0.625rem;
}

.p-strength-effect__value-wrap::after {
	content: "";
	position: absolute;
	top: 0;
	right: 1.5rem;
	width: 4.6875rem;
	aspect-ratio: 75/80;
	background: url("../images/strength-effect-arrow.png") no-repeat center/contain;
}

.p-strength-effect__value {
	font-family: "Oswald", sans-serif;
	font-size: 6.25rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
	color: #fff;
}

.p-strength-effect__suffix {
	display: flex;
	align-items: flex-end;
	gap: 0.25rem;
	padding-bottom: 0.125rem;
	margin-left: 0.5rem;
}

.p-strength-effect__unit {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.p-strength-effect__qualifier {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.p-strength-effect__company {
	display: grid;
	grid-template-columns: 9.375rem minmax(0, 1fr) auto;
	align-items: center;
	-moz-column-gap: 3.375rem;
	column-gap: 3.375rem;
	row-gap: 1rem;
	padding: 2.0625rem 2.125rem 2.0625rem 4.375rem;
	margin-top: 2rem;
	border: 1px solid transparent;
	border-radius: 1.25rem;
	background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, rgb(111, 176, 237) 8%, rgb(141, 149, 237) 100%) border-box;
}

.p-strength-effect__company-head {
	grid-column: 1;
	grid-row: 1/3;
	text-align: center;
}

.p-strength-effect__company-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
}

.p-strength-effect__company-note {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
	margin-top: 0.75rem;
}

.p-strength-effect__company-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	grid-column: 2;
	grid-row: 1/3;
	padding-left: 0.8125rem;
}

.p-strength-effect__company-item {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	color: #333;
}

.p-strength-effect__company-more {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: #333;
	grid-column: 3;
	grid-row: 2;
	align-self: end;
	margin-bottom: -1rem;
}

.p-strength-effect__company-more span {
	font-size: 2.0625rem;
	color: #6191ea;
}

.p-strength-head-wrapper {
	position: relative;
	background-color: #f1f7ff;
	padding-block: 3.625rem 4.25rem;
	margin-top: -2.9166666667vw;
	clip-path: ellipse(115% 100% at 50% 0);
}

.p-strength-head {
	background-color: #f1f7ff;
}

.p-strength-head__inner.l-inner {
	position: relative;
	max-width: 70.25rem;
	padding-block: 2.875rem 1.75rem;
}

.p-strength-head__inner.l-inner::before,
.p-strength-head__inner.l-inner::after {
	content: "";
	position: absolute;
	top: 50%;
	translate: 0 -50%;
	width: 8.3125rem;
	aspect-ratio: 132/207;
	background: url("../images/strength-head-deco.svg") no-repeat center/contain;
}

.p-strength-head__inner.l-inner::before {
	left: 0;
}

.p-strength-head__inner.l-inner::after {
	right: 0;
	transform: scaleX(-1);
}

.p-strength-head__body {
	text-align: center;
}

.p-strength-head__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #000;
}

.p-strength-head__title span {
	font-weight: 700;
	color: #6191ea;
}

.p-strength-head__lead {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333;
	margin-top: 0.8125rem;
}

.p-strength-head__number {
	display: inline-block;
	font-family: "Oswald", sans-serif;
	font-size: 5rem;
	font-weight: 500;
	line-height: 1;
	color: #6191ea;
	margin-inline: 1.0625rem 0.4375rem;
	translate: 0 0.25rem;
}

.p-strength-honeycomb__inner.l-inner {
	max-width: 62.25rem;
}

.p-strength-honeycomb__comparison {
	max-width: 58.625rem;
	margin-top: 2rem;
	margin-inline: auto;
}

.p-strength-honeycomb__note {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	color: #fff;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	border-radius: 1.53125rem;
	padding: 0.25rem 1.375rem 0.5rem 2.0625rem;
	margin-left: auto;
	width: -moz-fit-content;
	width: fit-content;
}

.p-strength-honeycomb__note span {
	font-size: 1.5rem;
}

.p-strength-honeycomb__note-br {
	display: none;
}

.p-strength-honeycomb__table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0.5625rem 0.25rem;
	table-layout: fixed;
	margin-top: 0.8125rem;
}

.p-strength-honeycomb__table-cell,
.p-strength-honeycomb__blank {
	padding: 0;
	border: 0;
}

.p-strength-honeycomb__blank {
	background-color: #1b3058;
	border-radius: 0.5rem;
	box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.1);
}

.p-strength-honeycomb__material,
.p-strength-honeycomb__rowhead,
.p-strength-honeycomb__value {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 7.5rem;
	border-radius: 0.5rem;
}

.p-strength-honeycomb__material {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #fff;
	text-align: center;
	padding: 0.75rem;
}

.p-strength-honeycomb__material--steel {
	background-color: #1b3058;
	box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.1);
}

.p-strength-honeycomb__material--saint {
	background-color: #6191ea;
	box-shadow: 0 0 2.5rem rgba(13, 52, 124, 0.2);
}

.p-strength-honeycomb__rowhead {
	flex-direction: column;
	gap: 0.75rem;
	background-color: #fff;
	box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.1);
}

.p-strength-honeycomb__label {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	color: #333;
}

.p-strength-honeycomb__unit {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	color: #333;
}

.p-strength-honeycomb__value {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 3.125rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: #333;
	text-align: center;
	background-color: #fff;
	box-shadow: 0 0 2.5rem rgba(0, 0, 0, 0.1);
	padding: 0.75rem;
}

.p-strength-honeycomb__value span {
	display: inline-block;
	font-size: 1.875rem;
	padding-top: 1rem;
}

.p-strength-honeycomb__value--accent {
	color: #e30000;
	background-color: #f1f7ff;
	box-shadow: 0 0 2.5rem rgba(13, 52, 124, 0.2);
}

.p-strength-honeycomb__foot {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1.75rem;
}

.p-strength-honeycomb__figure {
	flex-shrink: 0;
	width: 12.5rem;
}

.p-strength-honeycomb__figure img {
	width: 100%;
	height: auto;
}

.p-strength-honeycomb__message {
	flex: 1 0 0;
	container-type: inline-size;
	padding: 1rem 1.25rem;
	border: 2px solid transparent;
	border-radius: 1.25rem;
	background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, rgb(111, 176, 237) 8%, rgb(141, 149, 237) 100%) border-box;
}

.p-strength-honeycomb__message-text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5936599424cqi;
	font-weight: 400;
	line-height: 1.6;
	color: #333;
}

.p-strength-honeycomb__message-bold {
	font-weight: 700;
}

.p-strength-honeycomb__message-emphasis {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.8818443804cqi;
	font-weight: 700;
	line-height: 1.6;
	color: #6191ea;
	margin-top: 0.625rem;
}

.p-strength-noise-guide__inner.l-inner {
	max-width: 67.9375rem;
}

.p-strength-noise-guide__chart {
	margin-top: 2rem;
}

.p-strength-noise-guide__figure {
	box-shadow: 0 0 40px 0 rgba(0, 0, 0, 0.1);
	border-radius: 1.25rem;
}

.p-strength-noise-guide__figure img {
	aspect-ratio: 1037/860;
	object-fit: contain;
	width: 100%;
	height: auto;
}

.p-strength-noise-guide__foot {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	max-width: 63.3125rem;
	margin-top: 1.75rem;
	margin-inline: auto;
}

.p-strength-noise-guide__illust {
	flex-shrink: 0;
	width: 11.5rem;
	padding-top: 1.4375rem;
}

.p-strength-noise-guide__illust img {
	width: 100%;
	height: auto;
}

.p-strength-noise-guide__body {
	flex: 1 0 0;
}

.p-strength-noise-guide__note {
	padding: 1rem 1.25rem;
	border: 2px solid transparent;
	border-radius: 1.25rem;
	background: linear-gradient(#fff, #fff) padding-box, linear-gradient(135deg, rgb(111, 176, 237) 8%, rgb(141, 149, 237) 100%) border-box;
}

.p-strength-noise-guide__note-text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.6;
	color: #000;
}

.p-strength-noise-guide__note-text span {
	font-weight: 700;
}

.p-strength-noise-guide__lead {
	position: relative;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	color: #6191ea;
	text-align: center;
	margin-top: 2.4375rem;
}

.p-strength-noise-guide__lead::before {
	content: "";
	position: absolute;
	top: -1.5rem;
	left: 50%;
	translate: -50% 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 2.125rem solid transparent;
	border-left: 2.125rem solid transparent;
	border-top: 1.5rem solid #FCEC70;
	border-bottom: 0;
}

.p-strength-noise-guide__lead::after {
	content: "よって";
	position: absolute;
	top: -1.75rem;
	left: 50%;
	translate: -50% 0;
	font-size: 1rem;
	font-weight: 700;
	color: #000;
	line-height: 1.6;
}

.p-strength-noise-guide__lead span {
	font-weight: 400;
	color: #000;
}

.p-strength-solution__inner.l-inner {
	max-width: 70.625rem;
}

.p-strength-solution__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
	text-align: center;
}

.p-strength-solution__title-small {
	font-size: 2rem;
}

.p-strength-solution__title-highlight {
	font-size: 3rem;
	color: #6191ea;
}

.p-strength-solution__list {
	margin-top: 3.75rem;
}

.p-strength-solution__item + .p-strength-solution__item {
	margin-top: 2.5rem;
}

.p-strength-solution__item {
	position: relative;
	min-height: 20.75rem;
}

.p-strength-solution__item::before {
	content: "";
	position: absolute;
	top: 2rem;
	width: 51.125rem;
	height: 90.9090909091%;
	background-repeat: no-repeat;
	background-size: contain;
}

.p-strength-solution__item.p-strength-solution__item--left::before {
	left: 0;
	background-image: url("../images/strength-card-bg-left.svg");
}

.p-strength-solution__item.p-strength-solution__item--right::before {
	right: 0;
	background-image: url("../images/strength-card-bg-right.svg");
}

.p-strength-solution__content {
	position: relative;
	z-index: 1;
	max-width: 29.25rem;
	padding-top: 4rem;
}

.p-strength-solution__item.p-strength-solution__item--left .p-strength-solution__content {
	margin-left: 4rem;
}

.p-strength-solution__item.p-strength-solution__item--right .p-strength-solution__content {
	margin-left: auto;
	margin-right: 4rem;
}

.p-strength-solution__number {
	display: inline-block;
	font-family: "Oswald", sans-serif;
	font-size: 3.75rem;
	font-weight: 400;
	line-height: 1;
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.p-strength-solution__body {
	margin-top: 1.8125rem;
}

.p-strength-solution__card-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	color: #333;
}

.p-strength-solution__text {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #333;
	margin-top: 1.25rem;
}

.p-strength-solution__img {
	position: absolute;
	top: 0;
	z-index: 1;
	width: 31.25rem;
}

.p-strength-solution__item.p-strength-solution__item--left .p-strength-solution__img {
	right: 0;
}

.p-strength-solution__item.p-strength-solution__item--right .p-strength-solution__img {
	left: 0;
}

.p-strength-solution__img img {
	aspect-ratio: 5/3;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 0.3125rem;
}

.p-strength-solution__item:first-child .p-strength-solution__img img {
	border-radius: 1.25rem;
}

.p-top-faq {
	padding-block: 8.125rem 6.25rem;
	background: linear-gradient(-45deg, #dae1fd 0%, #f7f8ff 82%);
}

.p-top-faq__inner.l-inner {
	max-width: 78.125rem;
}

.p-top-faq__list {
	max-width: 52rem;
	margin-top: 3.125rem;
	margin-inline: auto;
}

.p-top-faq__item + .p-top-faq__item {
	margin-top: 1.875rem;
}

.p-top-faq__button {
	margin-top: 2.5rem;
	margin-inline: auto;
}

.p-top-flow {
	position: relative;
	padding-block: 8.125rem 6.25rem;
}

.p-top-flow__inner.l-inner {
	position: relative;
	z-index: 1;
	max-width: 78.0625rem;
}

.p-top-flow__heading {
	max-width: 50rem;
	margin-inline: auto;
	text-align: center;
}

.p-top-flow__title-wrap {
	position: relative;
}

.p-top-flow__title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
}

.p-top-flow__title-large {
	font-size: 3rem;
}

.p-top-flow__title-highlight {
	color: #6191EA;
}

.p-top-flow__label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 8.25rem;
	margin-top: 1.25rem;
	padding: 0.25rem 1.25rem;
	background-color: #194392;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.6;
	color: #FCEC70;
}

.p-top-flow__description {
	margin-top: 2.5rem;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.6;
	color: #000;
	text-align: left;
}

.p-top-flow__catalog-button {
	margin-inline: auto;
	margin-top: 1.25rem;
}

.p-top-flow__content {
	margin-top: 3.75rem;
}

.p-top-flow__row {
	display: grid;
	grid-template-columns: repeat(3, 15.625rem);
	justify-content: center;
	-moz-column-gap: 6.0625rem;
	column-gap: 6.0625rem;
}

.p-top-flow__row + .p-top-flow__row {
	margin-top: 3rem;
}

.p-top-flow__item {
	position: relative;
}

.p-top-flow__item + .p-top-flow__item::before {
	content: "";
	position: absolute;
	top: 7.1875rem;
	left: -4.25rem;
	width: 2.375rem;
	aspect-ratio: 38/21;
	background: url("../images/top-flow-arrow.svg") no-repeat center/contain;
}

.p-top-flow__row + .p-top-flow__row .p-top-flow__item:first-child::before {
	content: "";
	position: absolute;
	top: 7.1875rem;
	left: -3.375rem;
	width: 2.375rem;
	aspect-ratio: 38/21;
	background: url("../images/top-flow-arrow.svg") no-repeat center/contain;
}

.p-top-flow__row:first-child .p-top-flow__item:nth-child(3)::after {
	content: "";
	position: absolute;
	top: 7.1875rem;
	right: -4.25rem;
	width: 2.375rem;
	aspect-ratio: 38/21;
	background: url("../images/top-flow-arrow.svg") no-repeat center/contain;
}

.p-top-flow__step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.625rem;
}

.p-top-flow__img {
	width: 100%;
	max-width: 15.625rem;
}

.p-top-flow__img img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
}

.p-top-flow__step-meta {
	display: inline-flex;
	align-items: center;
	gap: 0.125rem;
	padding: 0.125rem 0.625rem;
	border: 1px solid #6191ea;
	border-radius: 1.25rem;
}

.p-top-flow__step-label {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1;
	color: #6191ea;
}

.p-top-flow__step-number {
	font-family: "Oswald", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	color: #6191ea;
}

.p-top-flow__step-title {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
	text-align: center;
}

.p-top-flow__button {
	margin-inline: auto;
	margin-top: 3.75rem;
}

.p-top-news {
	padding-block: 7.5rem;
}

.p-top-news__inner.l-inner {
	max-width: 75.0625rem;
}

.p-top-news__layout {
	display: flex;
	justify-content: space-between;
	align-items: start;
}

.p-top-news__heading {
	flex-shrink: 0;
	width: 100%;
	max-width: -moz-fit-content;
	max-width: fit-content;
}

.p-top-news__button {
	margin-left: 0.4375rem;
	margin-top: 3.625rem;
}

.p-top-news__button-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 9rem;
	min-height: 3.0625rem;
	padding: 0.9375rem 4rem 0.9375rem 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.2;
	color: #333;
	transition: transform 0.3s ease;
}

.p-top-news__button-link::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 3.0625rem;
	aspect-ratio: 1;
	border-radius: 50%;
	box-shadow: 0 0.3125rem 0.5rem rgba(0, 0, 0, 0.1);
	background: linear-gradient(135deg, #6fb0ed 8%, #8d95ed 100%);
}

.p-top-news__button-link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0.75rem;
	width: 1.5rem;
	aspect-ratio: 1;
	background-color: #fff;
	-webkit-mask-image: url("../images/icon-detail-arrow.svg");
	mask-image: url("../images/icon-detail-arrow.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	transform: translateY(-50%);
	transition: transform 0.3s ease;
}

.p-top-news__content {
	width: 100%;
	max-width: 50.3125rem;
}

.p-top-news__list {
	width: 100%;
	max-width: 50.3125rem;
}

.p-top-news__item + .p-top-news__item {
	margin-top: 1.875rem;
}

.u-float-cell {
	margin-top: -0.375rem;
}

.u-sp {
	display: none;
}

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

html:focus-within {
	scroll-behavior: auto;
}

*,
*::before,
*::after {
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	transition-duration: 0.01ms !important;
	scroll-behavior: auto !important;
}

}

@media (any-hover: hover) {

.c-breadcrumb__list > span a:hover,
.c-breadcrumb__item a:hover {
	text-decoration-color: currentColor;
}

.c-category-nav__link:hover {
	border-color: #6191ea;
	background-color: #6191ea;
	color: #fff;
}

.c-gradient-button__link:hover {
	transform: translateY(0.125rem);
	box-shadow: none;
}

.c-gradient-button__link:hover::after {
	transform: translate(0.25rem, -50%);
}

.c-news-item__link:hover .c-news-item__title {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.125rem;
	text-decoration-color: currentColor;
	transition: text-decoration-color 0.3s ease, color 0.3s ease;
	word-break: break-word;
	color: currentColor;
}

.c-product-card__button-link:hover {
	transform: translateY(0.125rem);
	box-shadow: none;
}

.c-product-card__button-link:hover::after {
	transform: translate(0.1875rem, -50%);
}

.c-scene-card-list__card:hover {
	box-shadow: 0 0.625rem 1.5rem rgba(0, 0, 0, 0.12);
}

.c-scene-card-list__card:hover .c-scene-card-list__media img {
	transform: scale(1.1);
}

.c-sidebar__link:hover {
	color: #6191ea;
}

.p-case-detail__product-link:hover::after {
	transform: translate(0.25rem);
}

.p-case-section__button-link:hover::after {
	transform: translate(0.1875rem, -50%);
}

.p-contact-thanks__btn-link:hover {
	transform: translateY(0.125rem);
	box-shadow: none;
}

.p-contact-thanks__btn-link:hover::after {
	transform: translate(0.1875rem, -50%);
}

.p-cta__button-link:hover {
	transform: translateY(0.125rem);
	box-shadow: none;
}

.p-cta__button-link:hover::after {
	transform: translate(0.1875rem, -50%);
}

.p-faq-anchor__link:hover {
	background-color: #6191ea;
	font-weight: 700;
	color: #fff;
}

.p-floating-links__link:hover {
	transform: translateX(0rem);
}

.p-footer__content-title:hover,
.p-footer__lineup-link:hover,
.p-footer__nav-link:hover,
.p-footer__policy-link:hover {
	color: #6191EA;
}

.p-footer__banner-link:hover {
	opacity: 0.7;
}

.p-header__logo-link:hover {
	opacity: 0.7;
}

.p-news-detail__body a:hover {
	text-decoration-color: transparent;
}

.p-top-news__button-link:hover::after {
	transform: translate(0.1875rem, -50%);
}

}

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

.p-formBtn input:disabled:hover {
	cursor: not-allowed;
}

.p-formBtn input:hover {
	opacity: 0.7;
	transition: opacity 0.5s;
}

}

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

.l-breadcrumb {
	margin-top: 0.78125vw;
}

}

@media (max-width: 1200px) {

html {
	font-size: 1.3333333333vw;
}

}

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

.p-lineup-archive__cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-lineup {
	padding-block: 6.25rem;
}

.p-lineup__cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-problem-stress__body {
	margin-left: -8%;
}

.p-problem-stress__panel {
	min-height: 0;
	padding: 2.25rem 3rem 1.75rem 3rem;
}

.p-problem-stress__title {
	font-size: 2rem;
}

.p-problem-stress__lead {
	margin-top: 1.25rem;
	font-size: 1.125rem;
}

.p-top-faq {
	padding-block: 6.25rem;
}

.p-top-news {
	padding-block: 6.25rem;
}

}

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

html {
	font-size: 16px;
}

.l-404 {
	padding-block: 5rem 3.75rem;
}

.l-breadcrumb.l-breadcrumb--detail {
	margin-top: 1.5rem;
}

.l-container {
	padding-top: 3.75rem;
}

.l-cta {
	margin-top: 5rem;
}

.l-detail-top {
	margin-top: 3.75rem;
}

.l-faq {
	margin-top: 2.5rem;
}

.l-find {
	margin-top: -1.875rem;
}

.l-inner {
	padding-inline: 20px;
}

.l-page-top {
	margin-top: 3.75rem;
}

.l-section-layout {
	margin-top: 5rem;
}

.l-strength-head {
	margin-top: 1.25rem;
}

.c-breadcrumb__list {
	gap: 0.25rem;
}

.c-breadcrumb__list > span,
.c-breadcrumb__item {
	font-size: 0.75rem;
}

.c-breadcrumb__list > span + span,
.c-breadcrumb__item + .c-breadcrumb__item {
	padding-left: 1rem;
}

.c-case-card__title {
	font-size: 1rem;
}

.c-category-nav__link {
	padding-inline: 0.875rem;
	min-width: 6.25rem;
}

.c-faq-item {
	padding: 1.25rem;
}

.c-faq-item__question {
	gap: 0.75rem;
}

.c-faq-item__answer {
	gap: 0.75rem;
}

.c-faq-item__question-text {
	font-size: 1rem;
}

.c-faq-item__answer-text {
	font-size: 1rem;
}

.c-gradient-button__link {
	min-height: 3.5rem;
	padding: 1.125rem 3.25rem 1.125rem 1.5rem;
	font-size: 1.125rem;
}

.c-gradient-button__link::after {
	right: 1.125rem;
	width: 1.25rem;
}

.c-icon-title {
	padding-inline: 1.75rem;
	font-size: 1.5rem;
}

.c-icon-title::before,
.c-icon-title::after {
	width: 1.125rem;
}

.c-news-item__link {
	padding-bottom: 1.25rem;
}

.c-news-item__meta {
	gap: 0.625rem 1rem;
}

.c-news-item__date {
	font-size: 0.875rem;
}

.c-news-item__category {
	min-width: auto;
	padding-inline: 1.125rem;
}

.c-news-item__title {
	font-size: 1rem;
}

.c-page-lead__visual {
	-webkit-clip-path: ellipse(115% 100% at 50% 0);
	clip-path: ellipse(115% 100% at 50% 0);
	max-height: 25rem;
}

.c-page-lead__img img {
	aspect-ratio: 375/260;
}

.c-page-lead__title {
	font-size: 1.75rem;
	line-height: 1.4;
}

.c-pagination ul.page-numbers {
	gap: 1rem;
}

.c-section-title + .c-product-card {
	margin-top: 1.5rem;
}

.c-product-card__actions {
	grid-template-columns: 1fr;
	max-width: 17.5rem;
	margin-inline: auto;
}

.c-product-card__button-link {
	padding-left: 1.25rem;
	padding-right: 2.5rem;
}

.c-scene-card-list__list--large {
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
}

.c-scene-card-list__list--small {
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
	margin-top: 1.25rem;
}

.c-scene-card-list__body {
	padding: 0.75rem 1.5rem 1.125rem;
}

.c-scene-card-list__label {
	font-size: 1.375rem;
}

.c-scene-card-list__arrow {
	width: 1.875rem;
}

.c-section-head {
	padding-left: 1rem;
	font-size: 1.75rem;
}

.c-section-head::before {
	width: 0.25rem;
}

.c-section-title {
	font-size: 1.75rem;
}

.c-sidebar {
	width: -moz-fit-content;
	width: fit-content;
	padding: 1.75rem 1.5rem 2rem;
}

.c-sidebar__head::after {
	width: 100%;
}

.c-wide-button + .c-wide-button {
	margin-top: 1rem;
}

.c-wide-button__link {
	grid-template-columns: minmax(0, 1fr) 4.5rem;
	grid-template-areas: "word ." "label icon";
	-moz-column-gap: 1.25rem;
	column-gap: 1.25rem;
	row-gap: 0.75rem;
	padding: 1.5rem 1.25rem 1.5rem 1.5rem;
}

.c-wide-button__word {
	font-size: 2.5rem;
}

.c-wide-button__label {
	font-size: 1.125rem;
}

.c-wide-button__link::before,
.c-wide-button__link::after {
	justify-self: center;
}

.c-wide-button__link::before {
	width: 3.75rem;
	background: #fff;
}

.c-wide-button__link::after {
	width: 1.875rem;
	background: #6191ea;
}

.p-404__number {
	font-size: 6.25rem;
}

.p-404__title {
	font-size: 1.375rem;
	margin-top: 0.75rem;
}

.p-404__description {
	font-size: 0.875rem;
	text-align: left;
	margin-top: 1rem;
}

.p-404__button {
	margin-top: 2rem;
}

.p-case-detail {
	padding-bottom: 5rem;
}

.p-case-detail__title {
	font-size: 1.875rem;
}

.p-case-detail__feature {
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	margin-top: 1rem;
}

.p-case-detail__visual img {
	border-radius: 1rem;
}

.p-case-detail__product {
	padding: 1.25rem;
}

.p-case-detail__content h2 {
	font-size: 1.25rem;
}

.p-case-detail__content p {
	font-size: 0.875rem;
}

.p-case-section__shell {
	width: calc(100% - 1.25rem);
	margin-left: 1.25rem;
	padding: 5rem 1.25rem;
	border-radius: 2.5rem 0 0 2.5rem;
}

.p-case-section__shell::before {
	width: 74.6666666667vw;
}

.p-case-section__heading {
	width: auto;
	margin-left: 0;
	padding-right: 0;
}

.p-case-section__title {
	font-size: 1.75rem;
	line-height: 1.3;
}

.p-case-section__slider {
	width: 100%;
	margin-top: 2.5rem;
	overflow: visible;
}

.p-case-section__card {
	width: auto;
}

.p-case-section__footer {
	flex-direction: column;
	gap: 2.5rem;
}

.p-case-section__nav {
	margin-inline: 0;
}

.p-case-section__button {
	position: static;
	left: auto;
	translate: 0 0;
	margin-inline: 0;
}

.p-case__title {
	font-size: 1.625rem;
}

.p-case__nav {
	margin-top: 1.75rem;
}

.p-case__cards {
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	margin-top: 2rem;
}

.p-case__pagination {
	margin-top: 3rem;
}

.p-contact {
	padding-bottom: 5rem;
}

.p-contact__inner.l-inner {
	max-width: 34.375rem;
}

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

.p-contact__note {
	font-size: 0.75rem;
	margin-top: 1.5rem;
}

.p-contact__form {
	margin-top: 2.5rem;
}

.p-form__item {
	flex-direction: column;
	align-items: flex-start;
	padding-block: 1.25rem;
}

.p-form__title {
	width: 100%;
	gap: 0.75rem;
}

.p-form__title span {
	margin-top: 0;
	margin-left: 0;
}

.p-form__title label,
.p-form__title p {
	font-size: 1rem;
}

.p-form__title--type02 {
	flex-direction: column;
	align-items: flex-start;
}

.p-form__input {
	width: 100%;
}

.p-formInput input::-moz-placeholder,
.p-formTextarea textarea::-moz-placeholder {
	font-size: 0.875rem;
}

.p-formInput input::placeholder,
.p-formTextarea textarea::placeholder {
	font-size: 0.875rem;
}

.p-formInput input {
	width: 100%;
	height: 3.125rem;
	margin-left: 0;
	padding: 0.625rem 0.9375rem;
}

.p-formInput--sm input {
	width: 100%;
}

.p-formSelect select {
	width: 100%;
	height: 50px;
}

.p-formCheckbox .wpcf7-checkbox {
	display: grid;
	gap: 1rem;
}

.p-formRadio .wpcf7-radio {
	display: grid;
	gap: 1rem;
}

.p-formTextarea textarea {
	width: 100%;
	min-height: 11.25rem;
	margin-left: 0;
	padding-block: 1rem;
	padding-inline: 0.9375rem;
}

.p-form__privacy {
	text-align: left;
}

.p-form__acceptance {
	margin-top: 2rem;
}

.p-form__submit {
	margin-top: 1.875rem;
}

.p-formBtn {
	width: 100%;
}

.p-formBtn input {
	width: 100%;
	max-width: 18.75rem;
	font-size: 1.125rem;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	font-size: 16px;
}

.p-contact-thanks {
	padding-bottom: 5rem;
}

.p-contact-thanks__title {
	font-size: 1.375rem;
	margin-top: 1.25rem;
}

.p-contact-thanks__text {
	font-size: 0.875rem;
	margin-top: 1rem;
}

.p-contact-thanks__btn {
	width: 100%;
	margin-top: 2rem;
}

.p-contact-thanks__btn-link {
	width: 100%;
	min-width: 0;
	max-width: 18.75rem;
	font-size: 1.125rem;
}

.p-cta {
	padding-block: 2.5rem;
	background-position: 56% center;
}

.p-cta__title {
	font-size: 1.875rem;
	line-height: 1.4;
}

.p-cta__description {
	font-size: 0.875rem;
	text-align: left;
}

.p-cta__panel {
	padding: 1.25rem;
}

.p-cta__button-link {
	width: 100%;
	min-width: 0;
	max-width: 18.75rem;
}

.p-faq-anchor__list {
	justify-content: flex-start;
	flex-wrap: nowrap;
	overflow-x: auto;
	gap: 0.75rem;
}

.p-faq-anchor__item {
	width: 100%;
}

.p-faq-anchor__link {
	min-height: 3.5rem;
	padding: 0.75rem 1.25rem;
	font-size: 0.875rem;
	white-space: nowrap;
}

.p-faq__panel {
	padding: 3.75rem 1rem;
}

.p-faq__section {
	scroll-margin-top: 5.625rem;
}

.p-faq__section + .p-faq__section {
	margin-top: 3.75rem;
}

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

.p-faq__list {
	margin-top: 1.5rem;
}

.p-find {
	padding-block: 1.25rem 5rem;
	background-position: center top;
}

.p-find__wrapper::after {
	bottom: -3.75rem;
}

.p-find__lead {
	font-size: 1.625rem;
	line-height: 1.5;
}

.p-find__lead span {
	font-size: 1.875rem;
}

.p-find__cards {
	margin-top: 2rem;
	max-width: 25rem;
	margin-inline: auto;
}

.p-floating-links {
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	transform: none;
}

.p-floating-links__list {
	flex-direction: row;
	align-items: stretch;
}

.p-floating-links__item {
	flex: 1;
	width: 50%;
}

.p-floating-links__link {
	flex-direction: row;
	justify-content: center;
	padding: 0.875rem 1rem;
	width: 100%;
	min-height: 3.75rem;
	border-radius: 0.75rem 0.75rem 0 0;
	transform: translateY(0.25rem);
}

.p-floating-links__link:focus-visible {
	transform: translateY(0rem);
}

.p-floating-links__link:focus-visible {
	transform: translateY(0rem);
}

.p-floating-links__icon {
	width: 1.5rem;
	flex-shrink: 0;
}

.p-floating-links__label {
	flex-direction: row-reverse;
	margin-top: 0;
	margin-left: 0.5rem;
	gap: 0;
}

.p-floating-links__label-column {
	font-size: 1rem;
	writing-mode: horizontal-tb;
	text-orientation: initial;
	letter-spacing: 0.05em;
}

.p-flow-process__lead {
	font-size: 1.125rem;
	text-align: initial;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
}

.p-flow-process__list {
	max-width: 25rem;
	margin-inline: auto;
	margin-top: 2.5rem;
}

.p-flow-process__item + .p-flow-process__item {
	margin-top: 3.25rem;
}

.p-flow-process__item + .p-flow-process__item::before {
	top: -2.25rem;
}

.p-flow-process__card {
	padding: 1.75rem 1.25rem;
	border-radius: 1.25rem;
	background: url("../images/page-flow-step-bg.svg") no-repeat left top/300%, linear-gradient(135deg, #f1f7ff 300%, transparent 300%);
	box-shadow: 0 0.625rem 1.25rem rgba(71, 77, 86, 0.08);
}

.p-flow-process__card-inner {
	display: block;
}

.p-flow-process__main {
	flex-direction: column-reverse;
	gap: 1rem;
}

.p-flow-process__number {
	font-size: 2.625rem;
}

.p-flow-process__title {
	font-size: 1.25rem;
	line-height: 1.4;
	margin-top: 0.625rem;
}

.p-flow-process__description {
	margin-top: 0.5rem;
}

.p-flow-process__img {
	width: min(13.75rem, 100%);
	margin-inline: auto;
}

.p-footer {
	padding-top: 3.5rem;
	padding-bottom: 2rem;
}

.p-footer__main {
	flex-direction: column;
	margin-top: 1.125rem;
}

.p-footer__logo {
	max-width: 11.25rem;
}

.p-footer__offices {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.p-footer__office + .p-footer__office {
	margin-top: 0;
}

.p-footer__office-title {
	font-size: 0.875rem;
}

.p-footer__address-line {
	font-size: 0.75rem;
}

.p-footer__content {
	flex-wrap: wrap;
	gap: 1.25rem;
	max-width: none;
	margin-top: 1.5rem;
}

.p-footer__lineup {
	width: -moz-fit-content;
	width: fit-content;
	max-width: none;
}

.p-footer__content-title {
	font-size: 1rem;
}

.p-footer__lineup-item {
	font-size: 0.875rem;
	line-height: 1.4;
}

.p-footer__lineup-item + .p-footer__lineup-item {
	margin-top: 0.625rem;
}

.p-footer__nav {
	width: -moz-fit-content;
	width: fit-content;
	max-width: none;
}

.p-footer__nav-item + .p-footer__nav-item {
	margin-top: 0.5rem;
}

.p-footer__nav-link,
.p-footer__nav-text {
	font-size: 0.9375rem;
}

.p-footer__banners {
	width: -moz-fit-content;
	width: fit-content;
	max-width: 10.6875rem;
}

.p-footer__bottom {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
}

.p-fv {
	overflow-x: clip;
}

.p-fv__content {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
}

.p-fv__subtitle {
	width: 36.9444444444vw;
	width: 18.75rem;
	margin-inline: auto;
	margin-left: initial;
}

.p-fv__features {
	justify-content: center;
	padding-left: initial;
}

.p-fv__feature {
	width: 5rem;
}

.p-fv__main-title {
	font-size: 3.125rem;
	font-weight: 700;
	width: -moz-fit-content;
	width: fit-content;
	margin-inline: auto;
	margin-top: 1.875rem;
}

.p-fv__main-title-part {
	background: none;
	background-clip: none;
	-webkit-background-clip: none;
	-webkit-text-fill-color: #6191ea;
	-webkit-text-stroke: 3px #fff;
	paint-order: stroke;
}

.p-fv__main-title-part:first-child::before {
	right: -3.5rem;
	width: 3.125rem;
}

.p-fv__title-small {
	font-size: 2.5rem;
}

.p-fv__main-title-part + .p-fv__main-title-part {
	margin-top: 2.0833333333vw;
}

.p-fv__img {
	position: relative;
	left: 50%;
	translate: -50% 0;
	width: 150%;
	max-width: 37.5rem;
	min-width: 0;
	margin-top: -6.25rem;
	margin-left: initial;
}

.p-fv__img img {
	aspect-ratio: 2286/2246;
}

.p-header {
	height: 3.75rem;
}

.p-header__inner {
	padding-inline: 1.25rem;
}

.p-header__logo {
	width: 11.25rem;
}

.p-header__nav {
	display: none;
}

.p-header__menu-button {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.375rem;
	width: 2.5rem;
	height: 2.5rem;
	margin-right: -0.5rem;
	background-color: transparent;
	border: none;
	cursor: pointer;
}

.p-header__drawer {
	display: block;
	position: fixed;
	z-index: 1;
	top: 3.75rem;
	right: 0;
	left: 0;
	background-color: #fff;
	box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.08);
	max-height: calc(100vh - 3.75rem);
	overflow-y: auto;
	overflow-x: hidden;
	visibility: hidden;
	opacity: 0;
	transform: translateY(-0.5rem);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

.p-header__drawer.is-open {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.p-lineup-archive {
	padding-bottom: 5rem;
}

.p-lineup-archive__title {
	font-size: 1.375rem;
	line-height: 1.6;
}

.p-lineup-archive__feature-list {
	gap: 0.75rem;
	margin-top: 1rem;
}

.p-lineup-archive__feature-item {
	font-size: 0.8125rem;
	padding-block: 0.125rem 0.1875rem;
	padding-inline: 0.3125rem;
}

.p-lineup-archive__feature-item + .p-lineup-archive__feature-item::before {
	left: -0.4375rem;
	font-size: 0.75rem;
}

.p-lineup-archive__copy {
	gap: 0.25rem;
	margin-top: 1.5rem;
}

.p-lineup-archive__copy-text {
	font-size: 1rem;
	line-height: 1.5;
}

.p-lineup-archive__copy-emphasis {
	font-size: 1rem;
	line-height: 1.5;
}

.p-lineup-archive__copy-number {
	font-size: 1.75rem;
}

.p-lineup-archive__nav {
	margin-top: 3rem;
}

.p-lineup-archive__cards {
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	margin-top: 2rem;
	max-width: 25rem;
	margin-inline: auto;
}

.p-lineup-archive__button {
	margin-top: 4.5rem;
}

.p-lineup-archive__pagination {
	margin-top: 2rem;
}

.p-lineup-detail__section + .p-lineup-detail__section {
	margin-top: 3.75rem;
}

.p-lineup-detail__overview {
	margin-top: 3.5rem;
}

.p-lineup-detail__overview-title,
.p-lineup-detail__strength-title,
.p-lineup-detail__scene-title,
.p-lineup-detail__color-title {
	gap: 0.5rem;
	font-size: 1.625rem;
}

.p-lineup-detail__overview-title::before,
.p-lineup-detail__strength-title::before,
.p-lineup-detail__scene-title::before,
.p-lineup-detail__color-title::before {
	width: 0.25rem;
	height: 2rem;
}

.p-lineup-detail__strength {
	margin-top: 3.75rem;
}

.p-lineup-detail__strength-item {
	padding: 1.25rem 1rem;
}

.p-lineup-detail__strength-content {
	align-items: flex-start;
	gap: 1rem;
}

.p-lineup-detail__strength-number {
	width: 2.5rem;
	font-size: 2.5rem;
}

.p-lineup-detail__strength-text {
	padding-top: 0.125rem;
	padding-left: 1.125rem;
	font-size: 0.875rem;
}

.p-lineup-detail__strength-text::before {
	height: calc(100% - 0.25rem);
	min-height: 2.75rem;
	transform: translateY(0);
	top: 0.125rem;
}

.p-lineup-detail__overview-list {
	margin-top: 1.25rem;
}

.p-lineup-detail__overview-item {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
	padding-bottom: 1.25rem;
}

.p-lineup-detail__overview-item::after {
	background-image: none;
	background-color: #ddd;
}

.p-lineup-detail__overview-label {
	width: 100%;
}

.p-lineup-detail__scene-img {
	margin-top: 3.75rem;
}

.p-lineup-detail__video {
	margin-top: 2.5rem;
	width: 100%;
}

.p-lineup-detail__scene-layout {
	gap: 1.5rem;
	margin-top: 1.5rem;
	width: 100%;
	grid-template-columns: minmax(0, 1fr);
}

.p-lineup-detail__scene-content {
	gap: 0.75rem;
	margin-top: 0;
	max-width: none;
}

.p-lineup-detail__scene-heading {
	font-size: 1rem;
}

.p-lineup-detail__scene-item {
	align-items: flex-start;
	padding-left: 2.125rem;
}

.p-lineup-detail__scene-text {
	font-size: 0.875rem;
}

.p-lineup-detail__color-list {
	gap: 1.25rem 0.75rem;
	margin-top: 1.5rem;
}

.p-lineup-detail__color-item {
	width: calc((100% - 0.75rem) / 2);
}

.p-lineup-detail__option-text {
	margin-top: 1.5rem;
}

.p-lineup {
	padding-block: 5rem;
}

.p-lineup__content {
	margin-top: 3rem;
}

.p-lineup__group + .p-lineup__group {
	margin-top: 4.5rem;
}

.p-lineup__group-title {
	padding: 0 0 0.75rem 1.25rem;
	font-size: 1.5rem;
	line-height: 1.3;
}

.p-lineup__group-title::before {
	height: calc(100% - 0.75rem);
}

.p-lineup__cards {
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
	margin-top: 2rem;
	max-width: 25rem;
	margin-inline: auto;
}

.p-lineup__button {
	margin-top: 3rem;
}

.p-news-detail {
	padding-top: 2.5rem;
}

.p-news-detail__layout {
	flex-direction: column;
	gap: 2.5rem;
}

.p-news-detail__title {
	font-size: 1.875rem;
	margin-top: 0.75rem;
}

.p-news-detail__body > * + * {
	margin-top: 1.25rem;
}

.p-news-detail__body :where(h2) {
	font-size: 1.5rem;
	padding-left: 0.625rem;
}

.p-news-detail__body :where(h3,
h4) {
	font-size: 1.25rem;
	padding-left: 0.625rem;
}

.p-news {
	padding-bottom: 5rem;
}

.p-news__inner.l-inner {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
}

.p-news__inner.l-inner .c-sidebar {
	order: 3;
}

.p-news__layout {
	display: contents;
	order: 1;
}

.p-news__item + .p-news__item {
	margin-top: 1.25rem;
}

.p-news__pagination {
	order: 2;
	margin-top: 2rem;
}

.p-privacy-policy {
	padding-block: 2.5rem 5rem;
}

.p-privacy-policy__content > * + * {
	margin-top: 2rem;
}

.p-privacy-policy__content :where(p,
li) {
	font-size: 0.875rem;
}

.p-privacy-policy__content :where(h2,
h3,
h4) {
	font-size: 1rem;
}

.p-privacy-policy__content :where(h2,
h3,
h4) + :where(p,
ul,
ol) {
	margin-top: 0.5rem;
}

.p-problem-data {
	padding-top: 3.125rem;
}

.p-problem-data__panel {
	margin-top: 2rem;
	padding: 2.5rem 1.25rem;
	border-radius: 1.25rem;
	background-size: cover;
}

.p-problem-data__label,
.p-problem-data__lead {
	font-size: 1.25rem;
	line-height: 1.5;
}

.p-problem-data__issues {
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin-top: 2rem;
	max-width: 31.25rem;
	margin-inline: auto;
}

.p-problem-data__issue {
	grid-template-columns: 3.625rem minmax(0, 1fr);
	-moz-column-gap: 0.875rem;
	column-gap: 0.875rem;
	min-height: 0;
	padding: 1.125rem 1rem;
}

.p-problem-data__issue-number {
	font-size: 2.625rem;
}

.p-problem-data__issue-number::after {
	right: -0.375rem;
	width: 2.625rem;
}

.p-problem-data__issue-text {
	font-size: 1rem;
	line-height: 1.5;
}

.p-problem-data__features-panel {
	margin-top: 2.5rem;
}

.p-problem-data__features {
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-top: 1.75rem;
	max-width: 31.25rem;
	margin-inline: auto;
}

.p-problem-data__feature {
	padding: 1.125rem 1.25rem 1.5rem;
	border-radius: 1rem;
}

.p-problem-data__feature-head {
	gap: 0.875rem;
}

.p-problem-data__feature-icon {
	width: 3.75rem;
	font-size: 1.5rem;
}

.p-problem-data__feature-title {
	font-size: 1.25rem;
}

.p-problem-data__feature-text {
	margin-top: 1rem;
	font-size: 1rem;
	line-height: 1.75;
}

.p-problem-effect {
	padding-top: 3.125rem;
}

.p-problem-effect__container {
	padding: 2.5rem 1.25rem;
}

.p-problem-effect__cards {
	grid-template-columns: 1fr;
	gap: 1.25rem;
	margin-top: 2rem;
}

.p-problem-effect__card {
	padding: 0.875rem;
	border-radius: 1rem;
}

.p-problem-effect__media {
	border-radius: 0.75rem;
}

.p-problem-effect__button {
	border-radius: 1rem;
}

.p-problem-resonance {
	padding: 5rem 0;
}

.p-problem-resonance__text {
	font-size: 0.875rem;
	line-height: 1.8;
	text-align: left;
	margin-top: 1.5rem;
}

.p-problem-resonance__content {
	display: block;
	margin-top: 2.5rem;
}

.p-problem-resonance__item-title {
	font-size: 1.125rem;
	line-height: 1.3;
	padding-block: 0.625rem 0.75rem;
}

.p-problem-resonance__principle {
	width: 100%;
}

.p-problem-resonance__principle .p-problem-resonance__item-title::before {
	font-size: 1.125rem;
}

.p-problem-resonance__principle .p-problem-resonance__img {
	max-width: 25rem;
	margin-inline: auto;
}

.p-problem-resonance__graph {
	width: 100%;
	margin-top: 1.5rem;
}

.p-problem-scene {
	padding-top: 3.5rem;
}

.p-problem-scene__cards {
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-top: 2rem;
}

.p-problem-scene__card {
	max-width: 24rem;
	margin-inline: auto;
}

.p-problem-scene__label {
	padding: 0.375rem 1.375rem;
	font-size: 1.5rem;
}

.p-problem-scene__card-title {
	font-size: 1.25rem;
	margin-top: 1.375rem;
}

.p-problem-scene__button {
	margin-top: 3.75rem;
}

.p-problem-stress {
	padding: 3.5rem 0 5rem;
}

.p-problem-stress__content {
	display: block;
}

.p-problem-stress__body {
	margin-top: -2.625rem;
	margin-left: auto;
	width: calc(100% - 1.25rem);
}

.p-problem-stress__panel {
	position: relative;
	min-height: 0;
	padding: 1.875rem 1.25rem 1.5rem 1.5rem;
	border-radius: 1rem 0 0 1rem;
}

.p-problem-stress__title {
	font-size: 1.75rem;
}

.p-problem-stress__lead {
	margin-top: 1.125rem;
	margin-left: 0;
	font-size: 1rem;
}

.p-problem-stress__list {
	gap: 0.5rem;
	margin-top: 1rem;
	margin-left: 0;
}

.p-problem-stress__item {
	grid-template-columns: 1.5rem minmax(0, 1fr);
	-moz-column-gap: 0.625rem;
	column-gap: 0.625rem;
	font-size: 0.875rem;
	line-height: 1.4;
}

.p-problem-stress__item::before {
	width: 1.5rem;
}

.p-problem-stress__accent {
	position: relative;
	width: 4rem;
	margin-top: -4.25rem;
	margin-bottom: -0.625rem;
	margin-left: auto;
	margin-right: 0.5rem;
}

.p-reason {
	padding-block: 5rem 6rem;
	background-position: center center;
}

.p-reason__lead {
	font-size: 0.875rem;
	padding: 0.25rem 0.75rem;
	margin-top: 1rem;
}

.p-reason__title {
	font-size: 1.75rem;
	line-height: 1.3;
}

.p-reason__title span {
	font-size: 2.5rem;
}

.p-reason__list {
	grid-template-columns: minmax(0, 1fr);
	gap: 1.5rem;
	margin-top: 2.5rem;
	max-width: 25rem;
	margin-inline: auto;
}

.p-reason__body {
	padding: 1.5rem;
}

.p-reason__item-heading {
	align-items: flex-start;
	gap: 1rem;
}

.p-reason__point {
	width: 4.875rem;
	min-height: 3rem;
}

.p-reason__point-number {
	padding-left: 1.375rem;
	font-size: 3.375rem;
}

.p-reason__point-label {
	font-size: 0.75rem;
}

.p-reason__item-title {
	font-size: 1.5rem;
}

.p-reason__item-subtitle {
	margin-top: 0.5rem;
	font-size: 0.9375rem;
}

.p-reason__description {
	margin-top: 1rem;
	padding-top: 1rem;
	font-size: 0.875rem;
}

.p-scene-links {
	padding-inline: 1.25rem;
	margin-top: 5rem;
}

.p-scene-links__list {
	grid-template-columns: 1fr;
	gap: 1rem;
	max-width: 25rem;
}

.p-scene-links__button {
	aspect-ratio: 335/140;
}

.p-scene-links__button-keyword {
	top: 0.75rem;
	left: 1rem;
	font-size: 3.25rem;
}

.p-scene-links__button-label {
	top: 4.625rem;
	left: 1.5rem;
	max-width: calc(100% - 7.5rem);
	font-size: 1.125rem;
}

.p-scene-links__button--faq .p-scene-links__button-label {
	left: 1.5rem;
}

.p-scene-links__button-arrow {
	right: 1.125rem;
	width: 4.25rem;
}

.p-scene-links__button-arrow::after {
	width: 1.625rem;
}

.p-scene-recommend {
	margin-top: 3.5rem;
}

.p-scene-recommend__section + .p-scene-recommend__section {
	margin-top: 5rem;
}

.p-scene-recommend__section {
	scroll-margin-top: 5.625rem;
}

.p-scene-recommend__heading {
	min-height: 15rem;
	padding-block: 5rem 2.5rem;
	padding-inline: 1.5rem;
}

.p-scene-recommend__img::after {
	background-position: left center;
}

.p-scene-recommend__body {
	max-width: 100%;
}

.p-scene-recommend__title {
	font-size: 2rem;
}

.p-scene-recommend__tags {
	gap: 0.625rem;
	margin-top: 1rem;
}

.p-scene-recommend__tag {
	font-size: 0.875rem;
	padding: 0.4375rem 0.875rem;
}

.p-scene-recommend__content {
	padding-inline: 1.25rem;
	margin-top: 3rem;
}

.p-scene-recommend__content-inner {
	display: block;
	max-width: 100%;
	padding-left: 0;
}

.p-scene-recommend__content-heading {
	width: 100%;
}

.p-scene-recommend__cards {
	grid-template-columns: 1fr;
	gap: 2rem;
	margin-top: 2rem;
	max-width: 25rem;
	margin-inline: auto;
}

.p-scene-recommend__empty {
	margin-top: 1.5rem;
}

.p-scene__lead {
	font-size: 0.875rem;
	margin-top: 0.875rem;
}

.p-scene__title {
	font-size: 1.4375rem;
	line-height: 1.4;
}

.p-scene__cards {
	max-width: 31.25rem;
	margin-inline: auto;
	margin-top: 2rem;
}

.p-strength-effect__stats {
	grid-template-columns: 1fr;
	gap: 1.25rem;
	margin-top: 2.5rem;
	max-width: 25rem;
	margin-inline: auto;
}

.p-strength-effect__card {
	padding: 1.5rem 1.25rem;
}

.p-strength-effect__card-title {
	font-size: 1.5rem;
}

.p-strength-effect__value-wrap {
	margin-top: 0.375rem;
}

.p-strength-effect__value-wrap::after {
	top: -0.625rem;
	width: 3.5rem;
}

.p-strength-effect__value {
	font-size: 4rem;
}

.p-strength-effect__suffix {
	padding-bottom: 0;
	margin-left: 0.375rem;
}

.p-strength-effect__unit {
	font-size: 1.375rem;
}

.p-strength-effect__qualifier {
	font-size: 1.125rem;
}

.p-strength-effect__company {
	grid-template-columns: 1fr;
	row-gap: 1.25rem;
	padding: 1.5rem 1.25rem;
	margin-top: 1.25rem;
	max-width: 25rem;
	margin-inline: auto;
}

.p-strength-effect__company-head {
	grid-row: auto;
}

.p-strength-effect__company-title {
	font-size: 1.375rem;
}

.p-strength-effect__company-note {
	font-size: 1rem;
	margin-top: 0.5rem;
}

.p-strength-effect__company-list {
	gap: 0.75rem;
	grid-column: auto;
	grid-row: auto;
	padding-left: 0;
}

.p-strength-effect__company-item {
	line-height: 1.5;
}

.p-strength-effect__company-more {
	font-size: 1.125rem;
	grid-column: auto;
	grid-row: auto;
	justify-self: end;
	margin-bottom: 0;
}

.p-strength-head-wrapper {
	padding-block: 4.375rem 2.5rem;
	margin-top: -3.125rem;
}

.p-strength-head__inner.l-inner {
	max-width: 25rem;
	padding-block: 1.5rem 1rem;
}

.p-strength-head__inner.l-inner::before,
.p-strength-head__inner.l-inner::after {
	top: calc(50% + 1rem);
	width: 5rem;
}

.p-strength-head__title {
	font-size: 1.25rem;
	line-height: 1.5;
	text-align: center;
}

.p-strength-head__lead {
	font-size: 1.25rem;
}

.p-strength-head__number {
	font-size: 3rem;
	margin-inline: 0 0.4375rem;
	translate: 0 0.125rem;
}

.p-strength-honeycomb__inner.l-inner {
	max-width: 33.125rem;
}

.p-strength-honeycomb__comparison {
	container-type: inline-size;
	margin-top: 2.5rem;
}

.p-strength-honeycomb__note {
	padding: 0.25rem 1.0625rem 0.375rem 1.25rem;
	font-size: 1rem;
}

.p-strength-honeycomb__note span {
	font-size: 1.25rem;
}

.p-strength-honeycomb__table {
	border-spacing: 0.3125rem 0.25rem;
}

.p-strength-honeycomb__blank {
	width: 20.366598778%;
}

.p-strength-honeycomb__material {
	font-size: 1.25rem;
	padding: 0;
}

.p-strength-honeycomb__material--steel {
	min-height: 7.5rem;
}

.p-strength-honeycomb__material--saint {
	min-height: 7.5rem;
}

.p-strength-honeycomb__rowhead {
	gap: 2.4489795918cqi;
	min-height: 5.9375rem;
}

.p-strength-honeycomb__label {
	font-size: clamp(16px, 4.0816326531cqi, 20px);
	text-align: left;
}

.p-strength-honeycomb__unit {
	font-size: 0.875rem;
}

.p-strength-honeycomb__value {
	font-size: 1.875rem;
	min-height: 5.9375rem;
}

.p-strength-honeycomb__value span {
	font-size: 1.25rem;
	padding-top: 0.625rem;
}

.p-strength-honeycomb__foot {
	align-items: flex-start;
	margin-top: 1.25rem;
}

.p-strength-honeycomb__figure {
	width: 32.6530612245cqi;
}

.p-strength-honeycomb__message {
	padding: 1rem;
}

.p-strength-honeycomb__message-text {
	font-size: 1rem;
}

.p-strength-honeycomb__message-emphasis {
	font-size: 1.125rem;
}

.p-strength-noise-guide__chart {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 0.5rem;
	margin-top: 2.5rem;
}

.p-strength-noise-guide__figure {
	min-width: 50rem;
}

.p-strength-noise-guide__foot {
	gap: 0.5rem;
	margin-top: 1.5rem;
}

.p-strength-noise-guide__illust {
	width: 32.6530612245cqi;
	margin-top: 0;
	margin-inline: auto;
}

.p-strength-noise-guide__body {
	margin-top: 1rem;
}

.p-strength-noise-guide__note {
	flex: 1 0 0;
	padding: 1rem;
}

.p-strength-noise-guide__note-text {
	font-size: 1rem;
}

.p-strength-noise-guide__lead {
	font-size: 1.125rem;
	text-align: left;
}

.p-strength-solution__title {
	font-size: 1.75rem;
	line-height: 1.4;
}

.p-strength-solution__title-small {
	font-size: 1.25rem;
}

.p-strength-solution__title-icon {
	display: none;
}

.p-strength-solution__list {
	margin-top: 5rem;
}

.p-strength-solution__item + .p-strength-solution__item {
	margin-top: 6.25rem;
}

.p-strength-solution__item {
	display: flex;
	flex-direction: column-reverse;
	min-height: 0;
	padding-bottom: 1.5rem;
	border-radius: 1.25rem;
	background-color: #f1f7ff;
	box-shadow: 0 0.625rem 1.875rem rgba(71, 77, 86, 0.08), 0 -0.625rem 1.875rem rgba(255, 255, 255, 0.2);
	max-width: 25rem;
	margin-inline: auto;
}

.p-strength-solution__item::before {
	top: auto;
	right: auto;
	left: 0;
	width: 100%;
	height: auto;
	aspect-ratio: 817/300;
	background-size: cover;
}

.p-strength-solution__content {
	width: 100%;
	padding: 1.5rem 1.25rem 0;
}

.p-strength-solution__item.p-strength-solution__item--left .p-strength-solution__content {
	margin-left: 0;
}

.p-strength-solution__number {
	font-size: 2.625rem;
}

.p-strength-solution__body {
	margin-top: 1.125rem;
}

.p-strength-solution__card-title {
	font-size: 1.25rem;
	line-height: 1.4;
}

.p-strength-solution__text {
	margin-top: 0.75rem;
}

.p-strength-solution__img {
	top: -3.75rem;
	width: 65%;
	max-width: 13.75rem;
}

.p-strength-solution__item.p-strength-solution__item--right .p-strength-solution__img {
	left: initial;
	right: 0;
}

.p-top-faq {
	padding-block: 5rem;
}

.p-top-faq__list {
	margin-top: 2.5rem;
}

.p-top-faq__item + .p-top-faq__item {
	margin-top: 1.25rem;
}

.p-top-faq__button {
	margin-top: 2rem;
}

.p-top-flow {
	padding-block: 5rem;
}

.p-top-flow__title {
	font-size: 1.875rem;
	line-height: 1.3;
}

.p-top-flow__title-large {
	font-size: 2.25rem;
}

.p-top-flow__label {
	min-width: 7.5rem;
	margin-top: 1rem;
	font-size: 1rem;
}

.p-top-flow__description {
	margin-top: 1.5rem;
	font-size: 1rem;
}

.p-top-flow__content {
	margin-top: 3rem;
}

.p-top-flow__row {
	grid-template-columns: minmax(0, 1fr);
	row-gap: 5rem;
}

.p-top-flow__row + .p-top-flow__row {
	margin-top: 3.5rem;
}

.p-top-flow__item + .p-top-flow__item::before {
	content: "";
	top: -3.125rem;
	left: 50%;
	width: 2.375rem;
	transform: translateX(-50%) rotate(90deg);
}

.p-top-flow__row + .p-top-flow__row .p-top-flow__item:first-child::before {
	content: "";
	top: -2.4375rem;
	left: 50%;
	width: 2.375rem;
	transform: translateX(-50%) rotate(90deg);
}

.p-top-flow__row:first-child .p-top-flow__item:nth-child(3)::after {
	content: none;
}

.p-top-flow__step-title {
	line-height: 1.4;
}

.p-top-flow__button {
	margin-top: 3rem;
}

.p-top-news {
	padding-block: 5rem;
}

.p-top-news__layout {
	flex-direction: column;
	gap: 2.5rem;
}

.p-top-news__heading {
	max-width: none;
	text-align: center;
}

.p-top-news__button {
	margin-top: 2rem;
	margin-inline: auto;
}

.p-top-news__button-link {
	padding-right: 4rem;
}

.p-top-news__list {
	margin-inline: auto;
}

.p-top-news__item + .p-top-news__item {
	margin-top: 1.25rem;
}

.u-pc {
	display: none;
}

.u-sp {
	display: block;
}

}

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

.p-floating-links__link:hover {
	transform: translateY(0rem);
}

}

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

.p-strength-honeycomb__note-br {
	display: block;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

