body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

/* 414px以下で改行（414未満を表示する想定に合わせ、414px以上は非表示） */

.br-414-less {
	display: none;
}

/* 500px以下で改行 */

.br-500-less {
	display: none;
}

/* 768px以下で改行 */

.br-768-less {
	display: none;
}

/* 768px以上で改行 */

.br-768-more {
	display: block;
}

/* 1000px以下で改行 */

.br-1000-less {
	display: none;
}

/* 1000px以上で改行 */

.br-1000-more {
	display: block;
}

/* 1480px以上で改行 */

.br-1480-more {
	display: block;
}

/* 1920px以上で改行 */

.br-1920-more {
	display: block;
}

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

html {
	font-size: 16px;
	scroll-padding-top: 7.5rem;
}

/* PC版Chromeで拡縮画像ぼやけ対策 */

/* iPhoneSafariで画像ジャギ対策 */

img {
	image-rendering: auto;
}

/* コンテンツ量が少なく短いページでもフッターを最下部に表示する ---- */

.content-wrap {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

main {
	flex: 1;
}

/* コンテンツ量が少なく短いページでもフッターを最下部に表示する ここまで ---- */

/* YouTubeのframeborder属性の変わり(HTML5の標準仕様で廃止されているため) */

iframe {
	border: none;
}

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

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

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

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

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

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

ul {
	list-style: none;
}

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

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

/* Make images easier to work with */

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

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

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

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

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

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

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

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

textarea {
	resize: vertical;
}

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

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

/* ホバー */

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

html.is-fixed {
	overflow: hidden;
}

.page-thanks {
	margin-bottom: 7.625rem;
	margin-top: 6.8125rem;
}

.page-thanks__inner.inner {
	max-width: 78.75rem;
}

.page-thanks__content {
	text-align: center;
}

.page-thanks__title {
	color: #000000;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: 2rem;
}

.page-thanks__divider {
	background-color: #00339D;
	border-radius: 0.25rem;
	height: 0.375rem;
	margin: 0 auto 3.125rem;
	width: 4.375rem;
}

.page-thanks__text {
	color: #000000;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2;
	margin-bottom: 2.625rem;
}

.page-thanks__button {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #00339D;
	border-radius: 0.3125rem;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 1.25rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.04em;
	padding: 1.5rem 6.6875rem 1.5rem 2.3125rem;
	position: relative;
	text-decoration: none;
	transition: background-color 0.3s ease-in-out;
}

.page-thanks__button-arrow {
	align-items: center;
	background-color: #346AC5;
	border-radius: 0 0.3125rem 0.3125rem 0;
	display: flex;
	height: 100%;
	justify-content: center;
	position: absolute;
	right: 0;
	top: 0;
	width: 4.5rem;
}

.page-thanks__button-icon {
	height: auto;
	transition: transform 0.3s ease-in-out;
	width: 1.174375rem;
}

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

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

.breadcrumb__link {
	-webkit-text-decoration: none;
	color: #000000;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: opacity 0.3s;
}

.breadcrumb__separator {
	color: #000000;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.breadcrumb__current {
	color: #ADADAD;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.cta-button {
	-webkit-text-decoration: none;
	align-items: center;
	border-radius: 0.3125rem;
	display: flex;
	overflow: hidden;
	text-decoration: none;
	transition: background-color 0.3s ease-in-out;
}

.cta-button--yellow {
	background-color: #FFC426;
}

.cta-button--green {
	background-color: #06C755;
}

.cta-button__text {
	flex-grow: 1;
	font-size: 1.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding-left: 3rem;
}

.top-cta__buttons .cta-button__text {
	font-size: 1.1875rem;
	padding: 0 clamp(1.25rem, -1.563rem + 3.13vw, 2.188rem);
}

.cta-button--yellow .cta-button__text {
	color: #333;
}

.cta-button--green .cta-button__text {
	color: #fff;
}

.cta-button__arrow {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	height: 6.6875rem;
	justify-content: center;
	width: 6.625rem;
}

.top-cta__buttons .cta-button__arrow {
	height: 4.375rem;
	width: 4.3125rem;
}

.cta-button--yellow .cta-button__arrow {
	background-color: #FFDA76;
}

.cta-button--green .cta-button__arrow {
	background-color: #57E391;
}

.cta-button__arrow-icon {
	height: auto;
	transition: transform 0.3s ease-in-out;
	width: 1.75rem;
}

.top-cta__buttons .cta-button__arrow-icon {
	width: 1.125rem;
}

.cta-button--green .cta-button__arrow-icon {
	filter: brightness(0) invert(1);
}

.footer {
	width: 100%;
}

.footer__line-banner {
	background-color: #fff;
	padding-bottom: 3.875rem;
	padding-top: 2.5rem;
}

.footer__line-banner-inner.inner {
	max-width: 78.75rem;
}

.footer__line-banner-link {
	-webkit-text-decoration: none;
	align-items: center;
	display: flex;
	gap: 1.6875rem;
	justify-content: center;
	text-decoration: none;
	transition: opacity 0.3s ease-in-out;
}

.footer__line-banner-icon {
	flex-shrink: 0;
	height: 4.25rem;
	width: 4.25rem;
}

.footer__line-banner-icon img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.footer__line-banner-text {
	color: #000B21;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.041em;
	line-height: 1;
}

.footer__line-banner-qr {
	flex-shrink: 0;
	height: 4.625rem;
	width: 4.625rem;
}

.footer__line-banner-qr img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.footer__main {
	background-color: #000B21;
	padding-bottom: 4.375rem;
	padding-top: 5.625rem;
}

.footer__inner.inner {
	max-width: 78.75rem;
}

.footer__top {
	align-items: flex-start;
	display: flex;
	justify-content: space-between;
	margin-bottom: 2.3125rem;
}

.footer__left {
	display: flex;
	flex-direction: column;
}

.footer__logo-box {
	-webkit-text-decoration: none;
	background-color: #fff;
	border-radius: 0.3125rem;
	display: block;
	padding-bottom: 1.5rem;
	padding-left: 2.4375rem;
	padding-right: 2.4375rem;
	padding-top: 1.5rem;
	text-decoration: none;
	transition: opacity 0.3s ease-in-out;
	width: 27.8125rem;
}

.footer__logo-image {
	-o-object-fit: contain;
	display: block;
	height: auto;
	margin-left: auto;
	margin-right: auto;
	object-fit: contain;
	width: 22.875rem;
}

.footer__corporate-link {
	margin-top: 2.375rem;
}

.footer__logo-header {
	align-items: center;
	display: flex;
	gap: 0.625rem;
	justify-content: center;
	margin-bottom: 0.75rem;
}

.footer__logo-line {
	background-color: #fff;
	height: 0.08125rem;
	width: 4.6875rem;
}

.footer__logo-text {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	white-space: nowrap;
}

.footer__corporate-link-text {
	-webkit-text-decoration: none;
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-decoration: none;
	transition: opacity 0.3s ease-in-out;
}

.footer__company-info {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.footer__company-name,
.footer__company-address,
.footer__company-contact,
.footer__company-hours {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.footer__divider {
	background-color: #fff;
	height: 0.125rem;
	width: 100%;
}

.footer__bottom {
	align-items: flex-start;
	display: flex;
	gap: 1.25rem;
	justify-content: space-between;
	margin-top: 2.5rem;
}

.footer__nav-list {
	align-items: center;
	display: flex;
	gap: 2.9375rem;
}

.footer__nav-link {
	-webkit-text-decoration: none;
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-decoration: none;
	transition: opacity 0.3s ease-in-out;
}

.footer__certifications {
	align-items: center;
	display: flex;
	gap: 1.25rem;
}

.footer__certification-item {
	align-items: center;
	display: flex;
	height: 6.6875rem;
	justify-content: center;
	width: 11.5625rem;
}

.footer__certification-item--iso {
	width: 6.0625rem;
}

.footer__certification-link {
	display: block;
	height: 100%;
	transition: opacity 0.3s ease-in-out;
	width: 100%;
}

.footer__certification-item img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.footer__copyright {
	background-color: #272C38;
	padding-bottom: 1.6875rem;
	padding-top: 1.6875rem;
}

.footer__copyright-text {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-align: center;
}

.fv {
	display: flex;
	overflow-x: clip;
	position: relative;
	width: 100%;
}

.fv__scroll-wrapper {
	height: inherit;
	width: 9.375rem;
}

.fv__scroll {
	align-items: center;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	height: 100%;
	justify-content: flex-end;
	margin-top: auto;
	width: 100%;
}

.fv__scroll-text {
	color: #00339D;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
	padding-top: 11.625rem;
	position: relative;
	transform: rotate(180deg);
	writing-mode: vertical-rl;
}

.fv__scroll-text::before {
	animation: scrollMove 2s cubic-bezier(0.33, 0, 0.2, 1) infinite;
	background-color: #00339D;
	border-radius: 50%;
	content: "";
	height: 0.6875rem;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 0.6875rem;
	z-index: 10;
}

.fv__scroll-text::after {
	background-color: #AFAFAF;
	content: "";
	height: 10.875rem;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 0.125rem;
}

.fv__bg {
	height: 100%;
	left: 9.375rem;
	position: absolute;
	right: 0;
	top: 0;
	width: auto;
	z-index: -1;
}

.fv__bg-img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fv__bg::after {
	background-color: rgba(0, 35, 108, 0.46);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.fv__main-wrapper {
	flex: 1;
	padding-bottom: 2.875rem;
}

.fv__inner.inner {
	flex: 1;
	max-width: 87.9375rem;
	padding-top: 14.75rem;
	position: relative;
}

.fv__content {
	height: 100%;
	position: relative;
	width: 100%;
}

.fv__badge {
	align-items: center;
	display: flex;
	justify-content: center;
	position: absolute;
	right: calc(50% - min(49.4vw, 58rem));
	top: 8.375rem;
	width: 25.375rem;
}

.fv__badge img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.fv__title {
	display: flex;
	flex-direction: column;
	gap: 0.9375rem;
	margin-bottom: 3.25rem;
}

.fv__title-sub {
	color: #fff;
	font-size: 2.9375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.6170212766;
	text-shadow: 0 0.1875rem 0.375rem rgba(0, 51, 157, 0.53);
}

.fv__title-main {
	color: #fff;
	display: block;
	font-size: 4.8125rem;
	font-weight: 700;
	letter-spacing: 0.045em;
	line-height: 1.2;
	text-shadow: 0 0.1875rem 0.375rem rgba(0, 51, 157, 0.53);
}

.fv__title-main--underline {
	display: inline-block;
	position: relative;
}

.fv__title-main--underline::after {
	background-color: #FFC426;
	bottom: 0.1875rem;
	content: "";
	height: 1.3125rem;
	left: 0;
	opacity: 0.8;
	position: absolute;
	width: 35.25rem;
	z-index: -1;
}

.fv__title-accent {
	color: #fff;
	font-size: 3.6875rem;
	font-weight: 700;
	letter-spacing: 0.045em;
	margin-left: 0.3125rem;
	text-shadow: 0 0.1875rem 0.375rem rgba(0, 51, 157, 0.53);
}

.fv__sub-copy {
	display: flex;
	flex-direction: column;
	gap: 0rem;
}

.fv__sub-copy-main {
	color: #fff;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-shadow: 0 0.1875rem 0.375rem rgb(0, 51, 157);
}

.fv__sub-copy-temp {
	display: inline-block;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 3.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-left: 0.125rem;
	position: relative;
}

.fv__sub-copy-temp::after {
	background-image: url("../images/common/border-line.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0.5625rem;
	content: "";
	height: 0.25rem;
	left: -2.5625rem;
	position: absolute;
	width: 10.25rem;
}

.fv__sub-copy-temp-number {
	display: inline-block;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 2.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin-left: 0.125rem;
	position: relative;
}

.fv__sub-copy-dot {
	font-size: 2.5rem;
	position: relative;
}

.fv__sub-copy-percent {
	display: inline-block;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 2.8125rem;
	margin-left: 0.5rem;
	position: relative;
}

.fv__sub-copy-dot::after {
	background-image: url("../images/common/border-line-long.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -0.1875rem;
	content: "";
	height: 0.125rem;
	left: 2.5rem;
	position: absolute;
	width: 13.625rem;
}

.fv__sub-copy-percent-text {
	display: inline-block;
	font-size: 2.375rem;
	font-weight: 700;
	margin-right: 0.5rem;
	position: relative;
}

.fv__sub-copy-sub {
	color: #fff;
	font-size: 1.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2.0344827586;
	text-shadow: 0 0.1875rem 0.375rem rgb(0, 38, 118);
}

.fv__bottom {
	align-items: end;
	display: flex;
	gap: 0.625rem;
	justify-content: space-between;
	margin-left: auto;
	margin-right: calc(50% - min(42.4vw, 52rem));
	margin-top: -10.9375rem;
	max-width: 70.4375rem;
}

.fv__achievements {
	align-items: flex-start;
	display: flex;
	gap: 2.1875rem;
}

.fv__achievement {
	height: 9.5033125rem;
	width: 19.25725rem;
}

.fv__achievement img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.fv__cta {
	display: flex;
	flex-direction: column;
	gap: 0rem;
	width: 26.6875rem;
}

.fv__cta-img {
	height: 14.1875rem;
	margin-bottom: -2.875rem;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: 22.3125rem;
	z-index: 2;
}

.fv__cta-img img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.fv__cta-content {
	align-items: center;
	background-color: rgba(0, 51, 157, 0.8);
	border-radius: 0.3125rem;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding-bottom: 1.75rem;
	padding-left: 1.875rem;
	padding-right: 1.875rem;
	padding-top: 3.4375rem;
}

.fv__cta-label {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.5;
	position: relative;
	text-align: center;
}

.fv__cta-label::before,
.fv__cta-label::after {
	background: #fff;
	content: "";
	height: 0.125rem;
	position: absolute;
	top: 50%;
	top: 59%;
	transform: translateY(-50%) rotate(45deg);
	width: 2.6875rem;
}

.fv__cta-label::before {
	left: -3.0625rem;
}

.fv__cta-label::after {
	right: -3.0625rem;
	transform: translateY(-50%) rotate(-45deg);
}

.fv__cta-button {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #FFC426;
	border-radius: 0.3125rem;
	display: flex;
	height: 4.375rem;
	justify-content: space-between;
	overflow: hidden;
	text-decoration: none;
	transition: background-color 0.3s ease-in-out;
	width: 23rem;
}

.fv__cta-button-text {
	color: #333;
	flex-grow: 1;
	font-size: 1.1875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-left: 2.875rem;
}

.fv__cta-button-icon {
	align-items: center;
	background-color: #FFDA76;
	display: flex;
	flex-shrink: 0;
	height: 4.375rem;
	justify-content: center;
	padding: 1.25rem;
	width: 4.3125rem;
}

.fv__cta-button-icon img {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	transition: transform 0.3s ease-in-out;
	width: 100%;
}

.header {
	background-color: #fff;
	box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
}

.header__inner {
	align-items: center;
	display: flex;
	gap: 2.5625rem;
	height: 6.375rem;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.875rem;
	padding-right: 3.125rem;
}

.header__logo {
	flex-shrink: 0;
}

.header__logo-link {
	display: block;
	transition: opacity 0.3s ease-in-out;
}

.header__logo-link img {
	display: block;
	height: 3.3125rem;
	width: 15rem;
}

.header__nav {
	display: flex;
	flex-grow: 1;
	height: inherit;
	justify-content: flex-end;
}

.header__nav-list {
	align-items: center;
	display: flex;
	gap: 1.1875rem;
	height: inherit;
}

.header__nav-item {
	align-items: center;
	display: flex;
	height: inherit;
	justify-content: center;
}

.header__nav-link {
	align-items: center;
	color: #333;
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	height: inherit;
	justify-content: center;
	letter-spacing: 0.04em;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
	transition: opacity 0.3s ease-in-out;
}

.header__actions {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 0.9375rem;
}

.header__tel-link {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #fff;
	border: 0.09375rem solid #333;
	border-radius: 0.3125rem;
	display: flex;
	gap: 0.3125rem;
	height: 100%;
	padding-bottom: 0.625rem;
	padding-left: 0rem;
	padding-right: 0.9375rem;
	padding-top: 0.625rem;
	text-decoration: none;
	transition: opacity 0.3s ease-in-out;
	width: 100%;
}

.header__tel-icon {
	flex-shrink: 0;
	height: 2.625rem;
	width: 2.625rem;
}

.header__tel-content {
	display: flex;
	flex-direction: column;
	gap: 0.0625rem;
}

.header__tel-number {
	color: #333;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.4;
}

.header__tel-hours {
	color: #333;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.43;
}

.header__contact {
	height: 4rem;
	width: 13.75rem;
}

.header__contact-btn {
	height: 100%;
	width: 100%;
}

.header__contact-btn .cta-button__text {
	font-size: 1rem;
	padding-left: 1.875rem;
}

.header__contact-btn .cta-button__arrow {
	height: 4rem;
	width: 3.9375rem;
}

.header__contact-btn .cta-button__arrow-icon {
	width: 1rem;
}

.header__tel-sp {
	display: none;
}

.header__sp-actions {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	margin-left: auto;
}

.header__tel-sp-link {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #fff;
	border: 0.046875rem solid #333;
	border-radius: 0.15625rem;
	display: flex;
	gap: 0.15625rem;
	padding-bottom: 0.34375rem;
	padding-left: 0rem;
	padding-right: 0.46875rem;
	padding-top: 0.34375rem;
	text-decoration: none;
	transition: opacity 0.3s ease-in-out;
}

.header__tel-sp-icon {
	flex-shrink: 0;
	height: 1.84375rem;
	width: 1.84375rem;
}

.header__tel-sp-content {
	display: flex;
	flex-direction: column;
	gap: 0.0625rem;
}

.header__tel-sp-number {
	color: #333;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 0.59375rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.42;
}

.header__tel-sp-hours {
	color: #333;
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.39;
}

.header__hamburger {
	display: none;
}

.header__hamburger-line {
	background-color: #fff;
	height: 0.125rem;
	transition: transform 0.3s ease-in-out;
	width: 1.5625rem;
}

.header__hamburger.is-active .header__hamburger-line:nth-child(1) {
	transform: translateY(0.5rem) rotate(45deg);
}

.header__hamburger.is-active .header__hamburger-line:nth-child(2) {
	opacity: 0;
}

.header__hamburger.is-active .header__hamburger-line:nth-child(3) {
	transform: translateY(-0.5rem) rotate(-45deg);
}

.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1395px;
	padding-left: 30px;
	padding-right: 30px;
	width: 100%;
}

.page-contact {
	margin-top: 2.5rem;
}

.page-contact__inner.inner {
	max-width: 78.75rem;
}

.page-contact__intro {
	margin-bottom: 6.25rem;
	text-align: center;
}

.page-contact__intro-text {
	color: #000000;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2;
	margin-top: 3.5rem;
}

.page-contact__phone {
	margin-bottom: 6.75rem;
}

.page-contact__phone-highlight {
	color: #00339D;
}

.page-contact__phone-content {
	text-align: center;
}

.page-contact__phone-title {
	color: #000000;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: 1.25rem;
}

.page-contact__phone-divider {
	background-color: #00339D;
	border-radius: 0.25rem;
	height: 0.375rem;
	margin: 0 auto 3.125rem;
	width: 4.375rem;
}

.page-contact__phone-box {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #F6F8FC;
	border-radius: 0.625rem;
	display: flex;
	flex-direction: column;
	padding: 3.75rem 3.75rem 4.375rem;
	text-decoration: none;
	transition: background-color 0.3s;
}

.page-contact__phone-number {
	color: #00339D;
	font-size: 3.875rem;
	font-weight: 700;
	letter-spacing: 0.055em;
}

.page-contact__phone-hours {
	color: #000000;
	font-size: 1.5625rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.page-contact__mail {
	margin-bottom: 2rem;
}

.page-contact__mail-title {
	color: #000000;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: 1.25rem;
	text-align: center;
}

.page-contact__mail-divider {
	background-color: #00339D;
	border-radius: 0.25rem;
	height: 0.375rem;
	margin: 0 auto 2.5rem;
	width: 4.375rem;
}

.page-contact__mail-note {
	color: #000000;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2;
	margin-bottom: 2.5rem;
	text-align: center;
}

.form-container {
	background-color: #F6F8FC;
	border-radius: 0.625rem;
	padding: 5rem 4.375rem;
}

/* Contact Form 7 Styles */

.wpcf7-form-control-wrap {
	display: block;
}

.page-contact__form .wpcf7-form p {
	margin-bottom: 1.5625rem;
}

.page-contact__form label {
	align-items: center;
	color: #000000;
	display: flex;
	font-size: 1.125rem;
	font-weight: 700;
	gap: 2.4375rem;
	letter-spacing: 0.04em;
}

.page-contact__form .form-catalog label {
	align-items: flex-start;
}

.page-contact__form label:not(:first-child) {
	margin-top: 1.5625rem;
}

.page-contact__form .form-label {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 0.625rem;
	justify-content: space-between;
	min-width: 14.375rem;
}

.page-contact__form .form-required {
	background-color: #00339D;
	border-radius: 0.1875rem;
	color: #FFFFFF;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	padding: 0.46875rem 0.84375rem;
}

.page-contact__form .form-field-wrap {
	flex: 1;
	width: 100%;
}

.page-contact__form .form-zip-group {
	align-items: center;
	color: #000000;
	display: flex;
	font-size: 1.125rem;
	font-weight: 700;
	gap: 2.4375rem;
	letter-spacing: 0.04em;
	margin-bottom: 1.5625rem;
}

.page-contact__form .form-zip-group .form-label {
	flex-shrink: 0;
	min-width: 14.375rem;
}

.page-contact__form input[type=text],
.page-contact__form input[type=email],
.page-contact__form input[type=tel],
.page-contact__form select,
.page-contact__form textarea {
	background-color: #FFFFFF;
	border: 1px solid #ADADAD;
	border-radius: 0.3125rem;
	color: #000000;
	font-family: "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	padding: 1.0625rem 1.25rem;
	width: 100%;
}

.page-contact__form textarea {
	min-height: 17.4375rem;
	resize: vertical;
}

.page-contact__form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7.65' viewBox='0 0 11 7.65'%3E%3Cpath d='M5.5 7.65L0 0h11z' fill='%23707070'/%3E%3C/svg%3E");
	background-position: right 1.25rem center;
	background-repeat: no-repeat;
	background-size: 0.6875rem 0.478125rem;
	cursor: pointer;
	padding-right: 2.8125rem;
	width: 13.75rem;
}

.page-contact__form .form-zip {
	align-items: center;
	display: flex;
	gap: 0.625rem;
}

.page-contact__form .form-zip input {
	max-width: 5.5rem;
}

.page-contact__form .form-zip-separator {
	color: #707070;
	font-size: 1.125rem;
	font-weight: 700;
}

.page-contact__form .form-catalog {
	align-items: flex-start;
	display: flex;
	gap: 0.9375rem;
	margin-bottom: 1.875rem;
	margin-top: 2.1875rem;
}

.page-contact__form .form-catalog__label {
	align-items: center;
	color: #000000;
	display: flex;
	font-size: 1.125rem;
	font-weight: 700;
	gap: 2.4375rem;
	letter-spacing: 0.04em;
}

.page-contact__form .form-catalog-checkbox {
	align-items: center;
	display: flex;
	gap: 0.8125rem;
}

.page-contact__form .form-catalog-checkbox input[type=checkbox],
.page-contact__form .form-catalog-checkbox input[type=radio] {
	-webkit-appearance: none;
	-moz-appearance: none;
	align-items: center;
	appearance: none;
	background-color: #FFFFFF;
	border: 1px solid #ADADAD;
	cursor: pointer;
	display: inline-flex;
	flex-shrink: 0;
	height: 0.9375rem;
	justify-content: center;
	margin: 0;
	padding: 0;
	position: relative;
	width: 0.9375rem;
}

.page-contact__form .form-catalog-checkbox input[type=checkbox] {
	border-radius: 50%;
}

.page-contact__form .form-catalog-checkbox input[type=radio] {
	border-radius: 50%;
}

.page-contact__form .form-catalog-checkbox input[type=checkbox]:checked,
.page-contact__form .form-catalog-checkbox input[type=radio]:checked {
	background-color: #00339D;
	border-color: #00339D;
}

.page-contact__form .form-catalog-checkbox input[type=checkbox]:checked::after,
.page-contact__form .form-catalog-checkbox input[type=radio]:checked::after {
	background-color: #FFFFFF;
	border-radius: 50%;
	content: "";
	height: 0.4375rem;
	width: 0.4375rem;
}

.page-contact__form .form-catalog-label {
	color: #000000;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.page-contact__form .form-catalog-badge {
	display: block;
	margin-top: 1.25rem;
	width: 18.0625rem;
}

.page-contact__form .form-catalog-badge img {
	display: block;
	height: auto;
	width: 100%;
}

.page-contact__form .form-address-fields {
	display: none;
}

.page-contact__form .form-address-fields.is-show {
	display: block;
}

.page-contact__form .wpcf7-submit {
	background-color: #FFC426;
	border: none;
	border-radius: 0.3125rem;
	color: #000000;
	cursor: pointer;
	display: block;
	font-family: "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	height: 4.5625rem;
	letter-spacing: 0.04em;
	margin: 3.125rem auto 0;
	position: relative;
	transition: background-color 0.3s;
	width: 18.0625rem;
}

.page-contact__form .wpcf7-submit::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18.79' height='8.11' viewBox='0 0 18.79 8.11'%3E%3Cpath d='M0 4.055h18.79M14.465 0l4.325 4.055-4.325 4.055' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 0.506875rem;
	position: absolute;
	right: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.174375rem;
}

.page-contact__form .wpcf7-not-valid-tip {
	color: #ff0000;
	font-size: 0.875rem;
	margin-top: 0.3125rem;
}

.page-contact__form .wpcf7-response-output {
	border-radius: 0.3125rem;
	font-size: 1rem;
	margin: 1.25rem 0 0;
	padding: 0.9375rem 1.25rem;
}

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

.form-address-group {
	align-items: center;
	color: #000000;
	display: flex;
	font-size: 1.125rem;
	font-weight: 700;
	gap: 2.4375rem;
	letter-spacing: 0.04em;
	margin-top: 1.5625rem;
}

.form-label-address {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 0.625rem;
	justify-content: space-between;
	width: 14.375rem;
}

.form-label-address > div {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.3125rem;
	min-width: 0;
}

.form-label-address .form-label {
	justify-content: flex-start;
	min-width: 0;
	width: auto;
}

.form-label-address-note {
	font-size: 0.875rem;
	font-weight: 400;
}

.wpcf7-list-item.first.last label {
	align-items: center;
	gap: 0.9375rem;
}

.wpcf7-spinner {
	display: none;
}

.form-submit {
	margin-top: 4.25rem;
	text-align: center;
}

.page-contact__form .cta-button {
	border: none;
	cursor: pointer;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}

.form-submit .cta-button__text {
	font-size: 1.25rem;
	padding-right: 3rem;
}

.page-contact__form .cta-button__arrow {
	height: 4.5625rem;
	width: 4.5rem;
}

.page-contact__form .cta-button__arrow-icon {
	height: auto;
	width: 1.1875rem;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #00339D;
}

.wpcf7 form.sent .wpcf7-response-output {
	display: none;
}

.page-fv {
	margin-top: 6.375rem;
	padding-bottom: 8.75rem;
	padding-top: 8.4375rem;
	position: relative;
}

.page-fv__bg {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

.page-fv__bg img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.page-fv__overlay {
	background-color: rgba(0, 20, 62, 0.4);
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.page-fv__inner.inner {
	max-width: 78.75rem;
}

.page-fv__content {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	padding-left: var(--padding-pc);
	position: relative;
	z-index: 3;
}

.page-fv__label {
	color: #FFC426;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin-bottom: 0.4375rem;
	text-transform: uppercase;
}

.page-fv__title {
	color: #FFFFFF;
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.pc-nav__items {
	align-items: center;
	display: flex;
	gap: 1.625rem;
	height: inherit;
	justify-content: center;
	margin-left: 1.875rem;
}

.pc-nav__item {
	align-items: center;
	color: #333;
	display: flex;
	flex-direction: column;
	font-family: "Noto Sans JP";
	font-size: 1.25rem;
	font-weight: 400;
	height: inherit;
	justify-content: center;
	letter-spacing: 0.075rem;
	position: relative;
	text-align: center;
}

.pc-nav__item a,
.pc-nav__item p {
	align-items: center;
	cursor: pointer;
	display: flex;
	height: inherit;
	justify-content: center;
	position: relative;
	transition: all 0.3s;
}

.pc-nav__link:hover {
	color: red;
	font-weight: 700;
}

.pc-nav__item--contact {
	background: #D9C7B2;
	height: inherit;
	margin-left: 2.5rem;
}

.pc-nav__item--contact a {
	display: flex;
	flex-direction: column;
	height: inherit;
	padding: 2.125rem 1.875rem;
}

.pc-nav__item--contact__text1 {
	color: #FFF;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: 0.16rem;
	text-align: center;
}

.pc-nav__item--contact__text2 {
	color: #FFF;
	font-family: "Noto Serif JP";
	font-size: 1.625rem;
	font-weight: 400;
	margin-top: -0.25rem;
	position: relative;
}

.pc-nav__item--reserve {
	background: #5E3B1D;
	position: relative;
}

.pc-nav__item--reserve a {
	height: inherit;
	padding: 2rem 2.875rem;
}

.pc-nav__item--reserve::before {
	background-image: url(../images/common/reserve-bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	height: inherit;
	left: 0rem;
	position: absolute;
	top: 0;
	width: 100%;
}

.pc-nav__item--reserve__text1 {
	color: #FFF;
	font-size: 1.625rem;
	font-weight: 400;
	letter-spacing: 0.16rem;
	text-transform: uppercase;
}

.pc-nav__item--reserve__text2 {
	color: #FFF;
	font-size: 1rem;
	font-weight: 400;
}

.pc-nav__feature-items {
	background-color: #61948F;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	left: 50%;
	opacity: 0; /*不透明度0*/
	padding-left: 2.25rem;
	padding-right: 2.25rem;
	position: absolute;
	top: 7.5rem;
	transform: translateX(-50%);
	transition: all 0.3s; /*表示の変化を0.3秒に指定*/
	visibility: hidden; /*デフォルトでは非表示の状態にしておく*/
}

.pc-nav__feature-items.pc-nav__feature-items--col2 {
	grid-column-gap: 2em;
	-moz-column-gap: 2em;
	column-gap: 2em;
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(5, auto);
	width: -moz-fit-content;
	width: fit-content;
}

.pc-nav__feature-item {
	border-bottom: 1px solid #fff;
}

.pc-nav__feature-item.pc-nav__feature-item--bob {
	border: none;
}

.pc-nav__feature-item a {
	color: #fff;
	display: block;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding-bottom: 1.25rem;
	padding-top: 1.25rem;
	transition: all 0.3s;
	width: 13.75rem;
}

.pc-nav__feature-item a:first-child {
	padding-top: 1.875rem;
}

.pc-nav__feature-item a:last-child {
	padding-bottom: 1.875rem;
}

.pc-nav__feature-item a:hover {
	color: #fff !important;
	opacity: 0.7 !important;
}

.pc-nav__item:hover .pc-nav__feature-items {
	opacity: 1; /*不透明度1*/
	visibility: visible; /*Gナビメニューにホバーしたら表示*/
}

.pc-nav__item.pc-nav__item--contact a:hover::before,
.pc-nav__feature-items a:hover::before {
	opacity: 0 !important;
}

.sp-nav {
	display: none;
}

.sp-nav__inner {
	padding-bottom: 3.125rem;
	padding-left: 2.8125rem;
	padding-right: 2.8125rem;
	padding-top: 1.875rem;
}

.sp-nav__items {
	display: flex;
	flex-direction: column;
}

.sp-nav__item {
	border-bottom: 0.0625rem solid #DEDEDE;
}

.sp-nav__item-link {
	-webkit-text-decoration: none;
	align-items: center;
	color: #333;
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	justify-content: space-between;
	letter-spacing: 0.04em;
	padding-bottom: 1.875rem;
	padding-top: 1.875rem;
	text-decoration: none;
	transition: opacity 0.3s ease-in-out;
}

.sp-nav__item-arrow {
	flex-shrink: 0;
	height: 0.59375rem;
	width: 1.375rem;
}

.sp-nav__item-arrow-icon {
	display: block;
	height: 100%;
	width: 100%;
}

.sp-nav__buttons {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
	margin-top: 2.8125rem;
}

.sp-nav__tel {
	margin-top: 2.5rem;
	text-align: center;
}

.sp-nav__tel-link {
	-webkit-text-decoration: none;
	display: inline-block;
	text-decoration: none;
	transition: opacity 0.3s ease-in-out;
}

.sp-nav__tel-number {
	color: #00339D;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.055em;
	margin-bottom: 0.5rem;
}

.sp-nav__tel-hours {
	color: #00339D;
	font-size: 0.78125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.top-about {
	overflow-x: clip;
	padding-top: 6.875rem;
	position: relative;
}

.top-about__inner.inner {
	max-width: 79rem;
	position: relative;
}

.top-about__bg-text {
	color: #00339D;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: clamp(5.188rem, 0.021rem + 10.76vw, 12.938rem);
	font-weight: 600;
	left: 50%;
	line-height: 1;
	opacity: 0.036;
	pointer-events: none;
	position: absolute;
	top: -3.25rem;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: 0;
}

.top-about__content {
	display: flex;
	gap: 1.375rem;
	justify-content: space-between;
	margin-top: 5.6875rem;
	position: relative;
	z-index: 1;
}

.top-about__text-wrapper {
	margin-top: 1.625rem;
	width: 37.5rem;
}

.top-about__label {
	color: #00339D;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 1.5625rem;
	text-align: center;
}

.top-about__title {
	color: #333;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.16;
	text-align: center;
}

.top-about__title-highlight {
	display: inline-block;
	position: relative;
}

.top-about__title-highlight::after {
	background-color: #FFC426;
	bottom: -0.1875rem;
	content: "";
	height: 0.875rem;
	left: 0.9375rem;
	opacity: 0.56;
	position: absolute;
	width: 89%;
	z-index: -1;
}

.top-about__lead {
	margin-bottom: 3.75rem;
}

.top-about__lead-title {
	border-bottom: 0.25rem solid #00339D;
	color: #00339D;
	font-size: clamp(0.938rem, 0.396rem + 1.13vw, 1.75rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.5;
	padding-bottom: 1.5625rem;
}

.top-about__body {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	text-align: justify;
}

.top-about__text {
	color: #333;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.8;
}

.top-about__text-emphasis {
	color: #C80000;
}

.top-about__images {
	flex-shrink: 0;
	margin-right: calc(50% - min(48.4vw, 46rem));
	width: 36.4375rem;
}

.top-about__image {
	border-radius: 0.5rem;
	overflow: hidden;
}

.top-about__image--primary {
	aspect-ratio: 427/293;
	width: 26.6875rem;
}

.top-about__image--secondary {
	aspect-ratio: 312/214;
	margin-left: auto;
	transform: translate(0px, -6.1875rem);
	width: 19.5rem;
}

.top-about__image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.top-catch {
	margin-top: 5rem;
}

.top-catch__inner {
	max-width: 60rem;
}

.top-catch__content {
	border-bottom: 0.1875rem solid #00339D;
	border-top: 0.1875rem solid #00339D;
	padding: 2.5rem 0;
	position: relative;
}

.top-catch__text {
	font-size: 1.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-align: center;
}

.top-catch__highlight {
	color: #000000;
	display: inline-block;
	position: relative;
}

.top-catch__highlight::after {
	background-color: rgba(255, 196, 38, 0.56);
	bottom: -0.1875rem;
	content: "";
	height: 0.916875rem;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.top-catch__blue {
	color: #00339D;
}

.top-catch__black {
	color: #000000;
}

.top-cause {
	overflow: hidden;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	position: relative;
}

.top-cause__bg {
	background-color: #00339D;
	border-radius: 0.625rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 109.1875rem;
	padding-bottom: 7.3125rem;
	position: relative;
}

.top-cause::after {
	background-image: url("../images/common/cause-bg01.png");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	height: 32.0625rem;
	pointer-events: none;
	position: absolute;
	right: 3.625rem;
	top: -5.3125rem;
	width: 61.8125rem;
	z-index: 0;
}

.top-cause::before {
	background-image: url("../images/common/cause-bg02.png");
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	display: block;
	height: 32.0625rem;
	left: 0;
	pointer-events: none;
	position: absolute;
	width: 61.8125rem;
	z-index: 1;
}

.top-cause__inner.inner {
	max-width: 79rem;
	padding-top: 4.8125rem;
	position: relative;
}

.top-cause__header {
	display: flex;
	flex-direction: column-reverse;
	margin-bottom: 3.5rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.top-cause__title {
	color: #fff;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.top-cause__title span {
	color: #FFC426;
}

.top-cause__dots {
	align-items: center;
	display: flex;
	gap: 2rem;
	justify-content: flex-end;
	margin-bottom: 0.625rem;
	margin-right: 1rem;
}

.top-cause__dot {
	background-color: #FFC426;
	border-radius: 50%;
	height: 0.4375rem;
	width: 0.4375rem;
}

.top-cause__lead {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.6666666667;
	margin-bottom: 4.6875rem;
	text-align: center;
}

.top-cause__reasons {
	display: flex;
	gap: 4.25rem;
	margin-bottom: 4.75rem;
}

.top-cause__reason {
	border-bottom: 0.125rem solid #fff;
	border-top: 0.125rem solid #fff;
	flex: 1;
	padding-bottom: 2.5rem;
	padding-top: 3.5rem;
}

.top-cause__reason-header {
	align-items: center;
	display: flex;
	gap: 0.9375rem;
	justify-content: center;
	margin-bottom: 1.75rem;
	text-align: center;
}

.top-cause__reason-number {
	color: #fff;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 2.0625rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
}

.top-cause__reason-title {
	color: #fff;
	font-size: 1.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.top-cause__reason-img {
	aspect-ratio: 564/325;
	border-radius: 0.5rem;
	margin-bottom: 1.625rem;
	overflow: hidden;
	width: 100%;
}

.top-cause__reason-img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.top-cause__reason-text {
	color: #fff;
	font-family: "Helvetica Neue Condensed Bold", "Helvetica Neue", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2;
}

.top-cause__emphasis {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 2.8125rem;
}

.top-cause__emphasis-text {
	color: #fff;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2.1052631579;
	margin-bottom: 0.9375rem;
}

.top-cause__emphasis-highlight {
	color: #FFC426;
}

.top-cause__emphasis-main-wrapper {
	display: flex;
	flex-direction: column;
	gap: 0.875rem;
}

.top-cause__emphasis-main {
	color: #fff;
	font-size: 3.0625rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 2.0625rem;
}

.top-cause__emphasis-dots {
	align-items: center;
	display: flex;
	gap: 2.625rem;
	justify-content: center;
	margin-bottom: 0.375rem;
}

.top-cause__emphasis-dot {
	background-color: #fff;
	border-radius: 50%;
	height: 0.4375rem;
	width: 0.4375rem;
}

.top-cause__chart {
	background-color: #fff;
	border-radius: 0.625rem;
	margin-bottom: 5.0625rem;
	padding: 3.125rem 0.625rem 0.625rem;
	position: relative;
	z-index: 1;
}

.top-cause__chart-header {
	text-align: center;
}

.top-cause__chart-title {
	color: #333;
	display: inline-block;
	font-size: 1.625rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 0.5625rem;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
	position: relative;
	z-index: 1;
}

.top-cause__chart-title::after {
	background-color: #FFC426;
	bottom: 0;
	content: "";
	height: 0.875rem;
	left: 50%;
	opacity: 0.56;
	position: absolute;
	transform: translateX(-50%);
	width: 92%;
	z-index: -1;
}

.top-cause__chart-img {
	margin-left: auto;
	margin-right: auto;
	margin-top: -1.0625rem;
	max-width: 58.5625rem;
}

.top-cause__chart-img img {
	height: auto;
	width: 100%;
}

.top-cause__description {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
	margin-bottom: 5.6875rem;
	text-align: center;
}

.top-cause__description-text {
	color: #fff;
	font-family: "Helvetica Neue Condensed Bold", "Helvetica Neue", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2;
}

.top-cause__description-emphasis {
	color: #FFC426;
}

.top-cause__solution {
	margin-bottom: 4.0625rem;
	text-align: center;
}

.top-cause__solution-title {
	color: #fff;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.5;
	position: relative;
}

.top-cause__solution-title::before {
	background-image: url("../images/common/cause-bg-arrow.png");
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	display: block;
	height: 88.3125rem;
	left: 50%;
	pointer-events: none;
	position: absolute;
	transform: translateX(-50%);
	width: 34.0625rem;
}

.top-cause__solution-number {
	color: #FFC426;
	font-size: 3.6875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-left: 0.625rem;
}

.top-cause__solution-percent {
	color: #FFC426;
	font-size: 2.1875rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.top-cause__solution-cut {
	color: #FFC426;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.015em;
	margin-left: 0.625rem;
}

.top-cause__thermal {
	margin-bottom: 4.6875rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 65.9375rem;
}

.top-cause__thermal-img {
	background-color: #fff;
	border-radius: 0.625rem;
	padding: 2.3125rem 2.5625rem;
}

.top-cause__thermal-img img {
	height: auto;
	width: 100%;
}

.top-cause__product-description {
	flex: 1;
}

.top-cause__product-description-text {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2;
}

.top-cause__product {
	display: flex;
	gap: 1.75rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 65.9375rem;
}

.top-cause__product-description-emphasis {
	color: #FFC426;
}

.top-cause__product-img {
	background-color: #fff;
	border: 0.0625rem solid #707070;
	border-radius: 0.5rem;
	max-width: 27.125rem;
	padding: 1.875rem 3.1875rem;
}

.top-cause__product-img img {
	height: auto;
	width: 100%;
}

.top-chart {
	background-image: url("../images/common/chart-bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 9rem;
	padding-top: 6.25rem;
	position: relative;
}

.top-chart__inner.inner {
	max-width: 79rem;
	position: relative;
	z-index: 1;
}

.top-chart__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 4.875rem;
}

.top-chart__label {
	color: #00339D;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
}

.top-chart__title {
	color: #333;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-align: center;
}

.top-chart__title-highlight {
	color: #FFC426;
}

.top-chart__subtitle {
	margin-bottom: 1.875rem;
	text-align: center;
}

.top-chart__subtitle-text {
	color: #333;
	display: inline-block;
	font-size: 1.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	padding-bottom: 0.84375rem;
	position: relative;
}

.top-chart__subtitle-text::after {
	background-color: #00339D;
	bottom: 0;
	content: "";
	height: 0.25rem;
	left: 0;
	position: absolute;
	width: 100%;
}

.top-chart__table {
	margin-bottom: 1.5rem;
}

.top-chart__table img {
	-o-object-fit: contain;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.top-chart__note {
	color: #333;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-align: right;
}

.top-cta {
	overflow: hidden;
	padding-bottom: 6.25rem;
	padding-left: 1.875rem;
	padding-right: 1.875rem;
	padding-top: 6.25rem;
	position: relative;
}

.top-cta.top-cta--white {
	padding-bottom: 1.875rem;
	padding-top: 5.125rem;
}

.top-cta__bg-text {
	color: #FFFFFF;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 10.0625rem;
	font-weight: 600;
	left: 50%;
	letter-spacing: 0.04em;
	opacity: 0.05;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translate(-83%, -59%);
	white-space: nowrap;
	z-index: -1;
}

.top-cta--white .top-cta__bg-text {
	color: #EEF1F9;
	opacity: 1;
}

.top-cta__inner.inner {
	background-color: #00339D;
	border-radius: 0.625rem;
	max-width: 98.375rem;
	overflow: hidden;
	padding-bottom: 2.125rem;
	padding-left: 2.25rem;
	padding-right: 2.25rem;
	padding-top: 2.125rem;
	position: relative;
	z-index: 1;
}

.top-cta--white .top-cta__inner.inner {
	background-color: #F6F8FC;
}

.top-cta__card-inner {
	align-items: center;
	display: flex;
	gap: 3rem;
}

.top-cta__content {
	align-items: center;
	display: flex;
	flex: 1;
	flex-direction: column;
}

.top-cta__title {
	color: #FFFFFF;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-bottom: 2rem;
}

.top-cta--white .top-cta__title {
	color: #00339D;
}

.top-cta__lead {
	color: #FFFFFF;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.9444444444;
	margin-bottom: 3.125rem;
	text-align: center;
}

.top-cta__lead span {
	background-image: linear-gradient(#FFFFFF, #FFFFFF);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 1.5px;
	display: inline;
	position: relative;
}

.top-cta--white .top-cta__lead span {
	background-image: linear-gradient(#00339D, #00339D);
}

.top-cta--white .top-cta__lead {
	color: #00339D;
}

.top-cta__buttons {
	align-items: center;
	display: flex;
	gap: clamp(1.25rem, -2.875rem + 4.58vw, 2.625rem);
	max-width: 46.5625rem;
}

.top-cta__divider {
	background-color: #FFFFFF;
	height: 4.375rem;
	width: 0.125rem;
}

.top-cta--white .top-cta__divider {
	background-color: #00339D;
}

.top-cta__contact {
	display: flex;
	flex-direction: column;
}

.top-cta__phone {
	color: #FFFFFF;
	font-size: clamp(2rem, 0.5rem + 1.67vw, 2.5rem);
	font-weight: 700;
	letter-spacing: 0.055em;
	line-height: 1.2;
}

.top-cta--white .top-cta__phone {
	color: #00339D;
}

.top-cta__hours {
	color: #FFFFFF;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.top-cta--white .top-cta__hours {
	color: #00339D;
}

.top-cta__image-wrap {
	position: relative;
}

.top-cta__image {
	aspect-ratio: 564/372;
	width: 35.25rem;
}

.top-cta__image img {
	-o-object-fit: cover;
	border-radius: 0.5rem;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.top-cta__badge {
	bottom: 1.875rem;
	height: auto;
	left: -3.8125rem;
	position: absolute;
	width: 19.125rem;
}

.top-cta__badge img {
	display: block;
	height: auto;
	width: 100%;
}

.top-effective {
	overflow: hidden;
	padding-bottom: 6.8125rem;
	padding-top: 6.25rem;
	position: relative;
}

.top-effective::after {
	aspect-ratio: 507/381;
	background-image: url("../images/common/effect-bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: block;
	left: calc(50% - min(48.4vw, 52.5625rem));
	position: absolute;
	top: 16.5625rem;
	width: 15.8125rem;
	z-index: -1;
}

.top-effective::before {
	aspect-ratio: 507/381;
	background-image: url("../images/common/effect-bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 2.875rem;
	content: "";
	display: block;
	position: absolute;
	right: calc(50% - min(48.4vw, 52.5625rem));
	transform: rotate(180deg);
	width: 15.8125rem;
	z-index: -1;
}

.top-effective__inner.inner {
	max-width: 79rem;
	position: relative;
}

.top-effective__header {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-bottom: 0.5rem;
}

.top-effective__label {
	color: #00339D;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1;
	text-transform: uppercase;
}

.top-effective__title {
	align-items: center;
	color: #333;
	display: flex;
	font-size: 2.375rem;
	font-weight: 700;
	gap: 0.625rem;
	letter-spacing: 0.04em;
	line-height: 1;
}

.top-effective__title-number {
	color: #00339D;
	font-size: 4.25rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.2205882353;
	margin-bottom: 0.875rem;
}

.top-effective__title-number-text {
	color: #00339D;
	margin-left: -0.3125rem;
}

.top-effective__lead {
	color: #333;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 2;
	margin-bottom: 4.375rem;
	text-align: center;
}

.top-effective__lead span {
	color: #D00707;
}

.top-effective__cards {
	display: flex;
	gap: 1.75rem;
}

.top-effective__card {
	background-color: #F6F8FC;
	border-radius: 0.3125rem;
	box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
	flex: 1;
	overflow: hidden;
	padding: 0.9375rem 0.9375rem;
}

.top-effective__card-img {
	aspect-ratio: 348/211;
}

.top-effective__card-img img {
	-o-object-fit: cover;
	border-radius: 0.1875rem;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.top-effective__card-content {
	padding: 1rem 0.75rem 1.0625rem;
}

.top-effective__card-header {
	margin-bottom: 1.25rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.top-effective__card-label {
	color: #00339D;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	padding-bottom: 0.625rem;
	position: relative;
	text-align: center;
}

.top-effective__card-label::after {
	background-color: #00339D;
	bottom: 0;
	content: "";
	height: 0.1875rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 1.08125rem;
}

.top-effective__card-title {
	color: #00339D;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 1.125rem;
	text-align: center;
}

.top-effective__card-text {
	color: #333;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.875;
	text-align: justify;
}

.top-message {
	background-color: #F6F8FC;
	padding-bottom: 6.25rem;
	padding-top: 6.25rem;
}

.top-message__inner.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 102.125rem;
}

.top-message__card {
	background-color: #FFFFFF;
	border-radius: 0.625rem;
	box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
	padding: 6.25rem 1.875rem 5.625rem;
}

.top-message__card-inner {
	display: flex;
	gap: 3.75rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 75.0625rem;
}

.top-message__profile {
	flex-shrink: 0;
}

.top-message__profile-image {
	aspect-ratio: 343/340;
	margin-bottom: 0.875rem;
	width: 21.4375rem;
}

.top-message__profile-image img {
	-o-object-fit: cover;
	border-radius: 0.3125rem;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.top-message__profile-text {
	color: #6A6A6A;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6666666667;
}

.top-message__content {
	flex: 1;
	min-width: 0;
}

.top-message__header {
	margin-bottom: 1.75rem;
}

.top-message__title {
	color: #00339D;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}

.top-message__title--mt {
	margin-top: 1.25rem;
}

.top-message__title-lines {
	align-items: center;
	display: flex;
	gap: 0.0625rem;
	margin-top: 1.875rem;
}

.top-message__title-line {
	background-color: #00339D;
	flex: 1;
	height: 0.25rem;
}

.top-message__title-accent {
	background-color: #FFC426;
	flex-shrink: 0;
	height: 0.25rem;
	width: 6.5625rem;
}

.top-message__body {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.top-message__text {
	color: #000000;
	font-family: "Helvetica Neue", sans-serif;
	font-size: 1.125rem;
	font-stretch: condensed;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.6666666667;
}

.top-reason {
	background-color: #00339D;
	overflow: hidden;
	padding: 6.25rem 0 9.25rem;
	position: relative;
}

.top-reason__bg-text {
	bottom: 0rem;
	color: #FFFFFF;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 13.9375rem;
	font-weight: 600;
	left: 50%;
	letter-spacing: 0.05em;
	line-height: 1.0289017341;
	opacity: 0.03;
	pointer-events: none;
	position: absolute;
	transform: translate(-50%, 64%);
	white-space: nowrap;
	z-index: -1;
}

.top-reason__inner.inner {
	max-width: 78.75rem;
	position: relative;
	z-index: 1;
}

.top-reason__intro {
	display: flex;
	gap: 11.1875rem;
	margin-bottom: 10.4375rem;
	position: relative;
}

.top-reason__intro-content {
	flex: 1;
}

.top-reason__header {
	margin-bottom: 3.3125rem;
}

.top-reason__label {
	color: #FFC426;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin-bottom: 0.6875rem;
}

.top-reason__title {
	color: #FFFFFF;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.top-reason__body {
	display: flex;
	flex-direction: column;
	gap: 1.375rem;
}

.top-reason__text {
	color: #FFFFFF;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 2;
	text-align: left;
}

.top-reason__link {
	-webkit-text-decoration: none;
	color: #FFFFFF;
	display: inline-block;
	font-size: 1.125rem;
	font-weight: 700;
	padding-bottom: 0.25rem;
	position: relative;
	text-decoration: none;
	transition: opacity 0.3s;
	width: -moz-fit-content;
	width: fit-content;
}

.top-reason__link::after {
	background-color: #FFFFFF;
	bottom: 0;
	content: "";
	height: 0.09375rem;
	left: 0;
	position: absolute;
	width: 94%;
}

.top-reason__images {
	margin-right: calc(50% - 50vw);
	width: 43.4895833333vw;
}

.top-reason__images img {
	-o-object-fit: contain;
	border-radius: 0.3125rem;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.top-reason__reasons-header {
	display: flex;
	justify-content: center;
	margin-bottom: 7.3125rem;
}

.top-reason__reasons-title {
	align-items: center;
	color: #FFFFFF;
	display: flex;
	font-size: 2.375rem;
	font-weight: 700;
	gap: 0.375rem;
	position: relative;
}

.top-reason__reasons-title span {
	color: #FFC426;
	font-size: 2.375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.top-reason__reasons-title::before {
	background-color: #FFFFFF;
	content: "";
	height: 4.9375rem;
	left: 50%;
	position: absolute;
	top: -5.375rem;
	transform: translateX(-50%);
	width: 0.125rem;
}

.top-reason__reasons-number {
	font-size: 4.25rem !important;
}

.top-reason__reasons-number {
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	margin-bottom: 0.875rem;
}

.top-reason__reasons-list {
	display: flex;
	flex-direction: column;
	gap: 12.375rem;
}

.top-reason__reason {
	position: relative;
}

.top-reason__reason-image-wrap {
	display: flex;
	position: relative;
}

.top-reason__reason-image {
	border-radius: 0.5rem 0 0 0.5rem;
	margin-right: calc(50% - 50vw);
	max-height: 41.4375rem;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 53.0208333333vw;
}

.top-reason__reason:nth-child(even) .top-reason__reason-image {
	border-radius: 0 0.5rem 0.5rem 0;
	left: 0;
	margin-left: calc(50% - 50vw);
	margin-right: 0;
	right: auto;
}

.top-reason__reason-image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.top-reason__reason:nth-child(even) .top-reason__reason-image img {
	border-radius: 0 0.5rem 0.5rem 0;
}

.top-reason__reason-card {
	background-color: #FFFFFF;
	border-radius: 0.5rem;
	box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16);
	flex: 0 0 41.875rem;
	padding: 4.1875rem 4.375rem 3.3125rem 5.1875rem;
	position: relative;
}

.top-reason__reason:nth-child(even) .top-reason__reason-image-wrap {
	justify-content: flex-end;
}

.top-reason__reason-number {
	color: #FFC426;
	font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, "Noto Sans JP", sans-serif;
	font-size: 6.375rem;
	font-weight: 600;
	left: 1.5625rem;
	letter-spacing: 0;
	position: absolute;
	top: -4.875rem;
}

.top-reason__reason:nth-child(even) .top-reason__reason-number {
	left: auto;
	right: 1.5625rem;
}

.top-reason__reason-title {
	color: #00339D;
	font-size: 1.375rem;
	font-weight: 700;
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	position: relative;
	text-align: center;
}

.top-reason__reason-title::after {
	background-color: #00339D;
	bottom: 0;
	content: "";
	height: 0.1875rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 2.6875rem;
}

.top-reason__reason-text {
	color: #000000;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.83;
}

.top-reason__reason:nth-child(3) .top-reason__reason-title {
	line-height: 1.36;
	text-align: center;
}

.top-reason__reason:nth-child(3) .top-reason__reason-title::after {
	left: 50%;
	transform: translateX(-50%);
}

.u-desktop {
	display: inline;
}

.u-mobile {
	display: none;
}

.u-font14 {
	font-size: 0.875rem;
}

.u-font16 {
	font-size: 1rem;
}

.u-font18 {
	font-size: 1.125rem;
}

.u-font20 {
	font-size: 1.25rem;
}

.u-font22 {
	font-size: 1.375rem;
}

.u-font24 {
	font-size: 1.5rem;
}

.u-font28 {
	font-size: 1.75rem;
}

.u-font32 {
	font-size: 2rem;
}

.u-font40 {
	font-size: 2.5rem;
}

.u-hover {
	transition: opacity 0.5s;
}

.u-hover:hover {
	opacity: 0.7;
	transition: opacity 0.5s;
}

.u-lh10 {
	line-height: 1;
}

.u-lh13 {
	line-height: 1.3;
}

.u-lh15 {
	line-height: 1.5;
}

.u-lh16 {
	line-height: 1.6;
}

.u-lh20 {
	line-height: 2;
}

.u-ls05 {
	letter-spacing: 0.05em;
}

.u-ls10 {
	letter-spacing: 0.1em;
}

.u-ls15 {
	letter-spacing: 0.15em;
}

.u-ls20 {
	letter-spacing: 0.2em;
}

.u-mt10 {
	margin-top: 10px !important;
	margin-top: 0.625rem !important;
}

.u-mt20 {
	margin-top: 20px !important;
	margin-top: 1.25rem !important;
}

.u-mt30 {
	margin-top: 30px !important;
	margin-top: 1.875rem !important;
}

.u-mt40 {
	margin-top: 40px !important;
	margin-top: 2.5rem !important;
}

.u-mt50 {
	margin-top: 50px !important;
	margin-top: 3.125rem !important;
}

.u-mt60 {
	margin-top: 60px !important;
	margin-top: 3.75rem !important;
}

.u-mt70 {
	margin-top: 70px !important;
	margin-top: 4.375rem !important;
}

.u-mt80 {
	margin-top: 80px !important;
	margin-top: 5rem !important;
}

.u-mt90 {
	margin-top: 90px !important;
	margin-top: 5.625rem !important;
}

.u-mt100 {
	margin-top: 100px !important;
	margin-top: 6.25rem !important;
}

.u-mt110 {
	margin-top: 110px !important;
	margin-top: 6.875rem !important;
}

.u-mt120 {
	margin-top: 120px !important;
	margin-top: 7.5rem !important;
}

.u-mt130 {
	margin-top: 130px !important;
	margin-top: 8.125rem !important;
}

.u-mt140 {
	margin-top: 140px !important;
	margin-top: 8.75rem !important;
}

.u-mt150 {
	margin-top: 150px !important;
	margin-top: 9.375rem !important;
}

.u-mt160 {
	margin-top: 160px !important;
	margin-top: 10rem !important;
}

.u-mt170 {
	margin-top: 170px !important;
	margin-top: 10.625rem !important;
}

.u-mt180 {
	margin-top: 180px !important;
	margin-top: 11.25rem !important;
}

.u-mt190 {
	margin-top: 190px !important;
	margin-top: 11.875rem !important;
}

.u-mt200 {
	margin-top: 200px !important;
	margin-top: 12.5rem !important;
}

.u-w300 {
	font-weight: 300;
}

.u-w400 {
	font-weight: 400;
}

.u-w500 {
	font-weight: 500;
}

.u-w600 {
	font-weight: 600;
}

.u-w700 {
	font-weight: 700;
}

.u-w900 {
	font-weight: 900;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (-webkit-min-device-pixel-ratio: 0), screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {

img {
	image-rendering: -webkit-optimize-contrast;
}

}

@media (any-hover: hover) {

.page-thanks__button:hover {
	background-color: #0041C4;
}

.page-thanks__button:hover .page-thanks__button-icon {
	transform: translateX(0.1875rem);
}

.breadcrumb__link:hover {
	opacity: 0.7;
}

.cta-button--yellow:hover {
	background-color: #FFDA76;
}

.cta-button--green:hover {
	background-color: #57E391;
}

.cta-button:hover .cta-button__arrow-icon {
	transform: translateX(0.1875rem);
}

.footer__line-banner-link:hover {
	opacity: 0.7;
}

.footer__logo-box:hover {
	opacity: 0.7;
}

.footer__corporate-link-text:hover {
	opacity: 0.7;
}

.footer__nav-link:hover {
	opacity: 0.7;
}

.footer__certification-link:hover {
	opacity: 0.7;
}

.fv__cta-button:hover {
	background-color: #FFDA76;
}

.fv__cta-button:hover .fv__cta-button-icon img {
	transform: translateX(0.1875rem);
}

.header__logo-link:hover {
	opacity: 0.7;
}

.header__nav-link:hover {
	opacity: 0.7;
}

.header__tel-link:hover {
	opacity: 0.7;
}

.header__tel-sp-link:hover {
	opacity: 0.7;
}

.header__hamburger:hover {
	opacity: 0.8;
}

.page-contact__phone-box:hover {
	background-color: #e8eef9;
}

.page-contact__form .wpcf7-submit:hover {
	background-color: #FFDA76;
}

.sp-nav__item-link:hover {
	opacity: 0.7;
}

.sp-nav__tel-link:hover {
	opacity: 0.7;
}

}

@media (hover: hover) {

.top-reason__link:hover {
	opacity: 0.7;
}

}

@media (max-width: 1439px) and (min-width: 768px) {

.header {
	zoom: 0.93;
}

}

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

.br-1920-more {
	display: none;
}

}

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

.br-1480-more {
	display: none;
}

}

@media (max-width: 1335px) {

html {
	font-size: 1.1985018727vw;
}

}

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

.br-1000-less {
	display: block;
}

.br-1000-more {
	display: none;
}

}

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

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

.br-768-less {
	display: block;
}

.br-768-more {
	display: none;
}

html {
	font-size: 16px;
	scroll-padding-top: 6.25rem;
}

.page-thanks {
	margin-bottom: 3.125rem;
	margin-top: 2.5rem;
}

.page-thanks__title {
	font-size: 1.1875rem;
	margin-bottom: 1.25rem;
}

.page-thanks__divider {
	border-radius: 0.125rem;
	height: 0.1875rem;
	margin-bottom: 1.5625rem;
	width: 2.1875rem;
}

.page-thanks__text {
	font-size: 0.75rem;
	line-height: 2;
	margin-bottom: 1.5625rem;
}

.page-thanks__button {
	border-radius: 0.15625rem;
	font-size: 0.625rem;
	padding: 0.75rem 1.875rem;
	padding-right: 4.125rem;
}

.page-thanks__button-arrow {
	border-radius: 0 0.15625rem 0.15625rem 0;
	width: 2.25rem;
}

.page-thanks__button-icon {
	width: 0.5875rem;
}

.breadcrumb__list {
	gap: 0.25rem;
}

.breadcrumb__item {
	gap: 0.25rem;
}

.breadcrumb__link {
	font-size: 0.75rem;
}

.breadcrumb__separator {
	font-size: 0.75rem;
}

.breadcrumb__current {
	font-size: 0.75rem;
}

.cta-button {
	border-radius: 0.15625rem;
}

.cta-button__text {
	font-size: 0.84375rem;
	padding-left: 1.5rem;
}

.top-cta__buttons .cta-button__text {
	font-size: 0.96875rem;
	padding: 0rem 1.5625rem;
	text-align: center;
}

.cta-button__arrow {
	height: 3.34375rem;
	width: 3.3125rem;
}

.top-cta__buttons .cta-button__arrow {
	height: 3.75rem;
	width: 3.53125rem;
}

.cta-button__arrow-icon {
	width: 0.875rem;
}

.top-cta__buttons .cta-button__arrow-icon {
	width: 0.921875rem;
}

.footer__line-banner {
	padding-bottom: 2.125rem;
	padding-top: 2.125rem;
}

.footer__line-banner-inner.inner {
	max-width: 37.5rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

.footer__line-banner-link {
	gap: 0.5625rem;
}

.footer__line-banner-icon {
	height: 2.625rem;
	width: 2.65625rem;
}

.footer__line-banner-text {
	font-size: 0.8125rem;
}

.footer__line-banner-qr {
	height: 2.875rem;
	width: 2.875rem;
}

.footer__main {
	padding-bottom: 1.625rem;
	padding-top: 2.375rem;
}

.footer__inner.inner {
	max-width: 37.5rem;
	padding-left: 2.25rem;
	padding-right: 2.25rem;
}

.footer__top {
	flex-direction: column;
	gap: 1.75rem;
	margin-bottom: 2.375rem;
}

.footer__left {
	align-items: center;
	width: 100%;
}

.footer__logo-box {
	padding-bottom: 1rem;
	padding-left: 1.3125rem;
	padding-right: 1.3125rem;
	padding-top: 1rem;
	width: -moz-fit-content;
	width: fit-content;
}

.footer__logo-image {
	width: 12.34375rem;
}

.footer__corporate-link {
	margin-top: 1.5rem;
}

.footer__logo-header {
	gap: 0.3125rem;
	margin-bottom: 0.625rem;
}

.footer__logo-line {
	height: 0.040625rem;
	width: 2.34375rem;
}

.footer__logo-text {
	font-size: 0.625rem;
}

.footer__corporate-link {
	width: 100%;
}

.footer__corporate-link-text {
	display: block;
	font-size: 0.8125rem;
	text-align: center;
}

.footer__right {
	display: flex;
	justify-content: center;
	width: 100%;
}

.footer__company-info {
	gap: 0rem;
}

.footer__company-name,
.footer__company-address,
.footer__company-contact,
.footer__company-hours {
	font-size: 0.8125rem;
	text-align: center;
}

.footer__divider {
	height: 0.0625rem;
}

.footer__bottom {
	align-items: center;
	flex-direction: column;
	gap: 1.875rem;
	margin-top: 2.3125rem;
}

.footer__nav-list {
	flex-direction: column;
	gap: 0.25rem;
}

.footer__nav-item {
	text-align: center;
	width: 100%;
}

.footer__nav-link {
	font-size: 0.8125rem;
}

.footer__certifications {
	gap: 0.625rem;
}

.footer__certification-item {
	height: auto;
	width: 6.375rem;
}

.footer__certification-item--iso {
	width: 3.34375rem;
}

.footer__copyright {
	padding-bottom: 0.9375rem;
	padding-top: 0.9375rem;
}

.footer__copyright-text {
	font-size: 0.6875rem;
}

.fv__scroll-wrapper {
	width: 2.25rem;
}

.fv__scroll {
	gap: 0.375rem;
	padding-left: 0.875rem;
	padding-right: 0.875rem;
}

.fv__scroll-text {
	font-size: 0.5rem;
	padding-top: 5.8125rem;
}

.fv__scroll-text::before {
	animation: scrollMoveSp 2s cubic-bezier(0.33, 0, 0.2, 1) infinite;
	height: 0.34375rem;
	width: 0.34375rem;
}

.fv__scroll-text::after {
	height: 5.4375rem;
	width: 0.0625rem;
}

.fv__bg {
	left: 2.25rem;
}

.fv__main-wrapper {
	display: flex;
	flex-direction: column;
	padding-bottom: 1.875rem;
}

.fv__inner.inner {
	max-width: 37.5rem;
	padding-left: 1.6875rem;
	padding-right: 1.6875rem;
	padding-top: 9rem;
}

.fv__badge {
	right: 0.625rem;
	top: 4.25rem;
	width: 10.4375rem;
}

.fv__title {
	gap: 0.3125rem;
	margin-bottom: 1.5625rem;
	width: -moz-fit-content;
	width: fit-content;
}

.fv__title-sub {
	font-size: 1.03125rem;
	text-shadow: 0 0.09375rem 0.1875rem rgba(0, 51, 157, 0.53);
}

.fv__title-main {
	font-size: 1.71875rem;
	text-shadow: 0 0.09375rem 0.1875rem rgba(0, 51, 157, 0.53);
}

.fv__title-main--underline::after {
	bottom: 0;
	height: 0.65625rem;
	width: 81%;
}

.fv__title-accent {
	font-size: 1.34375rem;
	line-height: 0.8837209302;
	margin-left: 0.1875rem;
	text-shadow: 0 0.09375rem 0.1875rem rgba(0, 51, 157, 0.53);
}

.fv__sub-copy {
	gap: 0.375rem;
}

.fv__sub-copy-main {
	font-size: 0.96875rem;
	line-height: 1.0483870968;
	text-shadow: 0 0.09375rem 0.1875rem rgb(0, 51, 157);
}

.fv__sub-copy-temp {
	font-size: 1rem;
	margin-left: 0.125rem;
}

.fv__sub-copy-temp::after {
	display: none;
}

.fv__sub-copy-temp-number {
	font-size: 1.25rem;
	margin-left: 0rem;
	margin-right: 0.125rem;
}

.fv__sub-copy-dot {
	font-size: 1rem;
	margin-left: 0rem;
}

.fv__sub-copy-percent {
	font-size: 1.25rem;
	margin-left: 0.125rem;
}

.fv__sub-copy-dot::after {
	display: none;
}

.fv__sub-copy-percent-text {
	font-size: 0.96875rem;
	margin-left: -0.125rem;
	margin-right: 0.125rem;
}

.fv__sub-copy-sub {
	font-size: 0.96875rem;
	line-height: 2;
	text-shadow: 0 0.09375rem 0.1875rem rgb(0, 38, 118);
}

.fv__bottom {
	flex-direction: column;
	gap: 0.875rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 5.5rem;
}

.fv__achievements {
	gap: 0.625rem;
	margin-left: auto;
	margin-right: auto;
	width: 17.8125rem;
}

.fv__achievement {
	height: auto;
	width: 100%;
}

.fv__cta {
	background-color: rgba(0, 51, 157, 0.8);
	border-radius: 0.15625rem;
	flex-direction: row;
	position: static;
	width: 100%;
}

.fv__cta-img {
	height: auto;
	margin-bottom: 0.5625rem;
	margin-left: 0.625rem;
	margin-top: 0.5625rem;
	width: 8.21875rem;
	z-index: 0;
}

.fv__cta-content {
	background-color: transparent;
	border-radius: 0;
	flex: 1;
	gap: 0rem;
	padding-bottom: 0.875rem;
	padding-left: 0rem;
	padding-right: 0rem;
	padding-top: 0.9375rem;
	position: relative;
	transform: translateX(-0.75rem);
	z-index: 1;
}

.fv__cta-label {
	font-size: 0.71875rem;
}

.fv__cta-label::before,
.fv__cta-label::after {
	display: none;
}

.fv__cta-button {
	border-radius: 0.15625rem;
	height: 2.1875rem;
	margin-top: 0.4375rem;
	width: 9.72625rem;
}

.fv__cta-button-text {
	font-size: 0.59375rem;
	margin-left: 0.625rem;
}

.fv__cta-button-icon {
	height: 2.1875rem;
	padding: 0.625rem;
	width: 1.9509375rem;
}

.header {
	box-shadow: 0.125rem 0.125rem 0.1875rem rgba(0, 0, 0, 0.16);
}

.header__inner {
	gap: 0.625rem;
	height: 3.75rem;
	justify-content: start;
	padding-left: 0.4375rem;
	padding-right: 0;
}

.header__logo-link img {
	height: auto;
	width: 9.0625rem;
}

.header__nav {
	display: none;
}

.header__actions {
	display: none;
}

.header__tel-sp {
	display: block;
}

.header__hamburger {
	align-items: center;
	background-color: #00339D;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 0.375rem;
	height: 3.75rem;
	justify-content: center;
	transition: opacity 0.3s ease-in-out;
	width: 3.75rem;
}

.inner {
	max-width: 44.875rem;
	padding-left: 15px;
	padding-right: 15px;
}

.page-contact {
	margin-top: 0.8125rem;
}

.page-contact__intro {
	margin-bottom: 2.75rem;
	text-align: left;
}

.page-contact__intro-text {
	font-size: 0.8125rem;
	line-height: 1.75;
	margin-top: 2.8125rem;
}

.page-contact__phone {
	margin-bottom: 2.5rem;
}

.page-contact__phone-title {
	font-size: 1.1875rem;
	margin-bottom: 0.9375rem;
}

.page-contact__phone-divider {
	border-radius: 0.125rem;
	height: 0.1875rem;
	margin-bottom: 1.5625rem;
	width: 2.1875rem;
}

.page-contact__phone-box {
	border-radius: 0.3125rem;
	padding: 1.25rem 1.875rem 2.1875rem;
}

.page-contact__phone-number {
	font-size: 2.3125rem;
	letter-spacing: 0.055em;
}

.page-contact__phone-hours {
	font-size: 0.875rem;
	margin-top: 0.0625rem;
}

.page-contact__mail {
	margin-bottom: 2.5rem;
}

.page-contact__mail-title {
	font-size: 1.1875rem;
	margin-bottom: 0.9375rem;
}

.page-contact__mail-divider {
	border-radius: 0.125rem;
	height: 0.1875rem;
	margin-bottom: 1.5625rem;
	width: 2.1875rem;
}

.page-contact__mail-note {
	font-size: 0.8125rem;
	line-height: 1.5;
	margin-bottom: 0.8125rem;
}

.form-container {
	border-radius: 0.3125rem;
	padding: 1.75rem 1.875rem;
}

.page-contact__form .wpcf7-form p {
	margin-bottom: 0.78125rem;
}

.page-contact__form label {
	align-items: flex-start;
	flex-direction: column;
	font-size: 0.8125rem;
	gap: 0.625rem;
}

.page-contact__form label:not(:first-child) {
	margin-top: 1.125rem;
}

.page-contact__form .form-label {
	min-width: 5.625rem;
}

.page-contact__form .form-required {
	border-radius: 0.09375rem;
	font-size: 0.625rem;
	padding: 0.25rem 0.5625rem;
}

.page-contact__form .form-zip-group {
	align-items: flex-start;
	flex-direction: column;
	font-size: 0.8125rem;
	gap: 0.625rem;
	margin-bottom: 1.125rem;
}

.page-contact__form .form-zip-group .form-label {
	min-width: 5.625rem;
}

.page-contact__form input[type=text],
.page-contact__form input[type=email],
.page-contact__form input[type=tel],
.page-contact__form select,
.page-contact__form textarea {
	border-radius: 0.15625rem;
	padding: 0.75rem 0.625rem;
}

.page-contact__form textarea {
	min-height: 8.71875rem;
}

.page-contact__form select {
	background-position: right 0.625rem center;
	background-size: 0.34375rem 0.2390625rem;
	padding-right: 1.40625rem;
}

.page-contact__form .form-zip {
	gap: 0.3125rem;
}

.page-contact__form .form-zip input {
	max-width: 3.75rem;
}

.page-contact__form .form-zip-separator {
	font-size: 0.5625rem;
}

.page-contact__form .form-catalog {
	gap: 0.46875rem;
	margin-top: 1.125rem;
}

.page-contact__form .form-catalog__label {
	align-items: flex-start;
	flex-direction: column;
	font-size: 0.8125rem;
	gap: 0.625rem;
}

.page-contact__form .form-catalog-checkbox {
	gap: 0.40625rem;
}

.page-contact__form .form-catalog-checkbox input[type=checkbox],
.page-contact__form .form-catalog-checkbox input[type=radio] {
	height: 0.75rem;
	width: 0.75rem;
}

.page-contact__form .form-catalog-checkbox input[type=checkbox]:checked::after,
.page-contact__form .form-catalog-checkbox input[type=radio]:checked::after {
	height: 0.375rem;
	width: 0.375rem;
}

.page-contact__form .form-catalog-label {
	font-size: 0.5625rem;
}

.page-contact__form .form-catalog-badge {
	margin-top: 0.625rem;
	width: 100%;
}

.page-contact__form .wpcf7-submit {
	border-radius: 0.15625rem;
	font-size: 0.625rem;
	height: 2.28125rem;
	margin-top: 1.5625rem;
	width: 9.03125rem;
}

.page-contact__form .wpcf7-submit::after {
	height: 0.2534375rem;
	right: 0.625rem;
	width: 0.5871875rem;
}

.page-contact__form .wpcf7-not-valid-tip {
	font-size: 0.75rem;
	margin-top: 0.15625rem;
}

.page-contact__form .wpcf7-response-output {
	border-radius: 0.15625rem;
	font-size: 0.5rem;
	margin: 0.625rem 0 0;
	padding: 0.46875rem 0.625rem;
}

.form-address-group {
	align-items: flex-start;
	flex-direction: column;
	font-size: 0.8125rem;
	gap: 0.625rem;
	margin-top: 1.125rem;
}

.form-label-address {
	width: 100%;
}

.form-label-address-note {
	font-size: 0.625rem;
}

.wpcf7-list-item.first.last label {
	flex-direction: row;
	gap: 0.625rem;
}

.form-submit {
	margin-top: 2.1875rem;
}

.page-contact__form .cta-button {
	margin-left: auto;
	margin-right: auto;
	max-width: 14.5rem;
	width: 100%;
}

.form-submit .cta-button__text {
	font-size: 0.84375rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.page-contact__form .cta-button__arrow {
	height: 3.28125rem;
	width: 3.25rem;
}

.page-contact__form .cta-button__arrow-icon {
	width: 0.921875rem;
}

.page-fv {
	margin-top: 3.75rem;
	padding-bottom: 3.25rem;
	padding-top: 3.375rem;
}

.page-fv__inner.inner {
	max-width: 37.5rem;
	padding-left: 2.75rem;
	padding-right: 2.75rem;
}

.page-fv__content {
	padding-left: var(--padding-sp);
}

.page-fv__label {
	font-size: 0.6875rem;
	margin-bottom: 0.0625rem;
}

.page-fv__title {
	font-size: 1.1875rem;
}

body.is-drawer-active {
	overflow: hidden;
}

.sp-nav {
	background-color: #fff;
	display: block;
	height: calc(100vh - 3.75rem);
	left: 0;
	overflow-y: auto;
	position: fixed;
	top: 3.75rem;
	transform: translateX(100%);
	transition: transform 0.3s ease-in-out;
	width: 100%;
	z-index: 999;
}

.sp-nav.is-active {
	transform: translateX(0);
}

.top-about {
	padding-top: 4.4375rem;
}

.top-about__inner.inner {
	max-width: 37.5rem;
}

.top-about__bg-text {
	font-size: 5.3125rem;
	line-height: 0.9411764706;
	text-align: left;
	top: -1rem;
	white-space: normal;
}

.top-about__content {
	flex-direction: column;
	gap: 2.25rem;
	margin-top: 2rem;
}

.top-about__text-wrapper {
	margin-top: 0rem;
	max-width: 100%;
	width: 100%;
}

.top-about__label {
	font-size: 0.6875rem;
	margin-bottom: 0.78125rem;
	text-align: center;
}

.top-about__title {
	font-size: 1.1875rem;
	line-height: 1.5;
	text-align: center;
}

.top-about__title-highlight {
	display: inline;
}

.top-about__title-highlight::after {
	bottom: -0.09375rem;
	height: 0.4375rem;
	left: 0.46875rem;
}

.top-about__lead {
	margin-bottom: 1.875rem;
}

.top-about__lead-title {
	border-bottom: 0.125rem solid #00339D;
	font-size: 1rem;
	line-height: 1.7;
	padding-bottom: 0.375rem;
	text-align: center;
}

.top-about__body {
	gap: 1.375rem;
}

.top-about__text {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.6;
}

.top-about__images {
	margin-left: auto;
	margin-right: auto;
	transform: translateX(0);
	width: 100%;
	width: 21.5625rem;
}

.top-about__image {
	border-radius: 0.25rem;
}

.top-about__image--primary {
	aspect-ratio: 506/347;
	width: 15.8125rem;
}

.top-about__image--secondary {
	aspect-ratio: 370/254;
	margin-left: auto;
	margin-right: 0;
	transform: translate(0px, -3.9375rem);
	width: 11.5625rem;
}

.top-catch {
	margin-top: 2.0625rem;
}

.top-catch__content {
	border-bottom: 0.09375rem solid #00339D;
	border-top: 0.09375rem solid #00339D;
	padding: 1.28125rem 0 1.25rem;
}

.top-catch__text {
	font-size: 1.0625rem;
	letter-spacing: 0.04em;
	line-height: 1.4117647059;
}

.top-catch__highlight::after {
	bottom: 0.0625rem;
	height: 0.539375rem;
}

.top-cause {
	margin-top: -1.875rem;
	padding-left: 0rem;
	padding-right: 0rem;
}

.top-cause__bg {
	border-radius: 0rem;
	padding-bottom: 3rem;
}

.top-cause::after {
	height: 11.15625rem;
	right: -2.125rem;
	top: -1.9375rem;
	width: 21.5rem;
}

.top-cause::before {
	display: none;
}

.top-cause__inner.inner {
	border-radius: 0;
	max-width: 37.5rem;
	padding-top: 2.5625rem;
}

.top-cause__header {
	margin-bottom: 1.75rem;
}

.top-cause__title {
	font-size: 1.1875rem;
	margin-bottom: 0.46875rem;
}

.top-cause__dots {
	gap: 1rem;
	margin-bottom: 0.1875rem;
	margin-right: 0.5rem;
}

.top-cause__dot {
	height: 0.21875rem;
	width: 0.21875rem;
}

.top-cause__lead {
	font-size: 0.8125rem;
	font-weight: 500;
	margin-bottom: 1.75rem;
}

.top-cause__reasons {
	flex-direction: column;
	gap: 0rem;
	margin-bottom: 2.1875rem;
}

.top-cause__reason {
	border-top: 0.0625rem solid #fff;
	padding-bottom: 2.125rem;
	padding-top: 2.125rem;
}

.top-cause__reason:last-child {
	border-bottom: 0.0625rem solid #fff;
}

.top-cause__reason-header {
	gap: 0.46875rem;
	margin-bottom: 0.875rem;
}

.top-cause__reason-number {
	font-size: 1.25rem;
}

.top-cause__reason-title {
	font-size: 1.09375rem;
}

.top-cause__reason-img {
	aspect-ratio: 690/398;
	border-radius: 0.25rem;
	margin-bottom: 0.9375rem;
}

.top-cause__reason-text {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.7;
}

.top-cause__emphasis {
	display: contents;
	margin-bottom: 2.03125rem;
}

.top-cause__emphasis-text {
	font-size: 1.1875rem;
	line-height: 1.0526315789;
	margin-bottom: 0.4375rem;
	text-align: center;
}

.top-cause__emphasis-indent {
	color: #fff;
	display: inline-block;
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 1.0526315789;
}

.top-cause__emphasis-main-wrapper {
	align-items: center;
	flex-direction: row;
	gap: 0;
	justify-content: center;
}

.top-cause__emphasis-main-wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.top-cause__emphasis-main {
	font-size: 1.53125rem;
	margin-bottom: 0.71875rem;
}

.top-cause__emphasis-dots {
	gap: 1.3125rem;
	margin-bottom: 0rem;
}

.top-cause__emphasis-dot {
	height: 0.21875rem;
	width: 0.21875rem;
}

.top-cause__chart {
	margin-bottom: 1.6875rem;
	margin-top: 1.25rem;
	padding: 0.5rem 0.25rem 0.625rem;
}

.top-cause__chart-header {
	margin-bottom: 0.84375rem;
}

.top-cause__chart-title {
	font-size: 0.75rem;
	padding-bottom: 0.28125rem;
	padding-left: 0.46875rem;
	padding-right: 0.46875rem;
}

.top-cause__chart-title::after {
	height: 0.4375rem;
}

.top-cause__description {
	gap: 1.375rem;
	margin-bottom: 1.875rem;
	text-align: left;
}

.top-cause__description-text {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.8;
}

.top-cause__solution {
	margin-bottom: 2.0625rem;
}

.top-cause__solution-title {
	font-size: 1.1875rem;
	line-height: 1.15;
}

.top-cause__solution-title::before {
	background-image: url("../images/common/cause-bg-arrow-sp.png");
	height: 81.9375rem;
	width: 21.5625rem;
}

.top-cause__solution-indent {
	display: inline-block;
	text-indent: -1em;
}

.top-cause__solution-number {
	font-size: 1.84375rem;
	margin-left: 0.3125rem;
}

.top-cause__solution-percent {
	font-size: 1.3125rem;
}

.top-cause__solution-cut {
	font-size: 1.1875rem;
	margin-left: 0.1875rem;
}

.top-cause__thermal {
	margin-bottom: 1.875rem;
}

.top-cause__thermal-img {
	border-radius: 0.3125rem;
	padding: 0.75rem 0.875rem;
}

.top-cause__product-description {
	margin-bottom: 1.0625rem;
}

.top-cause__product-description-text {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.8;
}

.top-cause__product {
	flex-direction: column;
	gap: 0.625rem;
}

.top-cause__product-img {
	border-radius: 0.25rem;
	margin-left: auto;
	margin-right: auto;
}

.top-chart {
	padding-bottom: 2.625rem;
	padding-top: 3.125rem;
}

.top-chart__inner.inner {
	max-width: 37.5rem;
}

.top-chart__header {
	gap: 0.5625rem;
	margin-bottom: 1.5625rem;
	padding: 0 var(--padding-sp);
}

.top-chart__label {
	font-size: 0.6875rem;
}

.top-chart__title {
	font-size: 1.1875rem;
	line-height: 1.579;
}

.top-chart__subtitle {
	margin-bottom: 1.5625rem;
}

.top-chart__subtitle-text {
	font-size: 0.875rem;
	padding-bottom: 0.421875rem;
}

.top-chart__subtitle-text::after {
	height: 0.125rem;
}

.top-chart__table {
	-webkit-overflow-scrolling: touch;
	margin-bottom: 0.75rem;
	overflow-x: auto;
	overflow-y: hidden;
}

.top-chart__table::-webkit-scrollbar {
	height: 0.5625rem;
}

.top-chart__table::-webkit-scrollbar-track {
	background-color: #D5E2FF;
	border-radius: 0.6875rem;
}

.top-chart__table::-webkit-scrollbar-thumb {
	background-color: #A5C1FF;
	border-radius: 0.6875rem;
}

.top-chart__table::-webkit-scrollbar-thumb:hover {
	background-color: #8AADFF;
}

.top-chart__table {
	padding-bottom: 0.5rem;
	scrollbar-color: #A5C1FF #D5E2FF;
}

.top-chart__table img {
	min-width: 43.28125rem;
	width: 43.28125rem;
}

.top-chart__note {
	display: none;
}

.top-cta {
	padding-bottom: 3.3125rem;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
	padding-top: 3.3125rem;
}

.top-cta.top-cta--white {
	padding-bottom: 0rem;
	padding-top: 2.3125rem;
}

.top-cta__bg-text {
	font-size: 4.5625rem;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}

.top-cta__inner.inner {
	border-radius: 0.3125rem;
	max-width: 43.125rem;
	max-width: 37.5rem;
	padding-bottom: 1.3125rem;
	padding-left: 1.375rem;
	padding-right: 1.375rem;
	padding-top: 2.75rem;
}

.top-cta__card-inner {
	flex-direction: column;
	gap: 1.75rem;
}

.top-cta__title {
	font-size: 1.1875rem;
	margin-bottom: 1.8125rem;
}

.top-cta__lead {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.7307692308;
	margin-bottom: 1.9375rem;
}

.top-cta__buttons {
	flex-direction: column;
	gap: 1.5625rem;
	width: 100%;
}

.top-cta__divider {
	height: 0.0625rem;
	max-width: 9.125rem;
	width: 100%;
}

.top-cta__phone {
	font-size: 1.75rem;
}

.top-cta__hours {
	font-size: 0.78125rem;
	text-align: center;
}

.top-cta__image {
	aspect-ratio: 612/404;
	width: 100%;
}

.top-cta__image img {
	border-radius: 0.25rem;
}

.top-cta__badge {
	bottom: 0.5625rem;
	left: -1rem;
	width: 9.5625rem;
}

.top-effective {
	padding-bottom: 6rem;
	padding-top: 3.25rem;
}

.top-effective::after {
	left: calc(50% - min(53.4vw, 52.5625rem));
	top: 12.875rem;
	width: 7.90625rem;
}

.top-effective::before {
	bottom: 1.25rem;
	right: calc(50% - min(53.4vw, 52.5625rem));
	width: 7.90625rem;
}

.top-effective__inner.inner {
	max-width: 37.5rem;
}

.top-effective__header {
	margin-bottom: 1.21875rem;
}

.top-effective__label {
	font-size: 0.6875rem;
}

.top-effective__title {
	flex-wrap: wrap;
	font-size: 1.1875rem;
	gap: 0.1875rem;
	justify-content: center;
}

.top-effective__title-number {
	font-size: 2.125rem;
	margin-bottom: 0.4375rem;
}

.top-effective__title-number-text {
	margin-left: -0.09375rem;
}

.top-effective__lead {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.731;
	margin-bottom: 1.875rem;
	text-align: left;
}

.top-effective__cards {
	flex-direction: column;
	gap: 1rem;
}

.top-effective__card {
	border-radius: 0.15625rem;
	box-shadow: 0 0.09375rem 0.1875rem rgba(0, 0, 0, 0.16);
	padding: 0.96875rem 0.96875rem;
}

.top-effective__card-img {
	aspect-ratio: 628/381;
}

.top-effective__card-img img {
	border-radius: 0.09375rem;
}

.top-effective__card-content {
	padding: 0.8125rem 0.625rem 0rem;
}

.top-effective__card-header {
	margin-bottom: 0.625rem;
}

.top-effective__card-label {
	font-size: 0.6875rem;
	padding-bottom: 0.4375rem;
}

.top-effective__card-label::after {
	height: 0.09375rem;
	width: 0.975rem;
}

.top-effective__card-title {
	font-size: 1.0625rem;
	margin-bottom: 1.25rem;
}

.top-effective__card-text {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.731;
}

.top-message {
	padding-bottom: 3.3125rem;
	padding-top: 2.5rem;
}

.top-message__inner.inner {
	max-width: 37.5rem;
}

.top-message__card {
	border-radius: 0.3125rem;
	box-shadow: 0 0.09375rem 0.1875rem rgba(0, 0, 0, 0.16);
	padding: 2.375rem 1.375rem 1.3125rem;
}

.top-message__card-inner {
	flex-direction: column;
	gap: 0rem;
}

.top-message__profile {
	display: contents;
}

.top-message__profile-image {
	aspect-ratio: 493/489;
	margin-bottom: 1.5625rem;
	margin-left: auto;
	margin-right: auto;
	order: 2;
	width: 15.4375rem;
}

.top-message__profile-image img {
	border-radius: 0.15625rem;
}

.top-message__profile-text {
	font-size: 0.75rem;
	line-height: 1.7916666667;
	order: 3;
}

.top-message__content {
	display: contents;
}

.top-message__header {
	margin-bottom: 1.8125rem;
	order: 1;
}

.top-message__title {
	font-size: 1rem;
}

.top-message__title--mt {
	margin-top: 0.625rem;
}

.top-message__title-lines {
	margin-top: 0.9375rem;
}

.top-message__title-line {
	height: 0.125rem;
}

.top-message__title-accent {
	height: 0.125rem;
	width: 3.28125rem;
}

.top-message__body {
	gap: 1.25rem;
	margin-top: 1.4375rem;
	order: 4;
}

.top-message__text {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.7307692308;
}

.top-reason {
	padding: 3.125rem 0 3.125rem;
}

.top-reason__bg-text {
	font-size: 5.40625rem;
	letter-spacing: 0.05em;
	line-height: 1.0289017341;
	text-align: center;
	transform: translate(-50%, 49%);
}

.top-reason__inner.inner {
	max-width: 37.5rem;
}

.top-reason__intro {
	flex-direction: column;
	gap: 0rem;
	margin-bottom: 5.25rem;
}

.top-reason__intro-content {
	display: contents;
}

.top-reason__header {
	margin-bottom: 0.25rem;
	order: 1;
}

.top-reason__label {
	font-size: 0.6875rem;
	margin-bottom: 0.25rem;
	text-align: center;
}

.top-reason__title {
	font-size: 1.1875rem;
	letter-spacing: 0.04em;
	text-align: center;
}

.top-reason__body {
	gap: 1.4375rem;
	margin-top: 1.9375rem;
	order: 3;
}

.top-reason__text {
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.7307692308;
}

.top-reason__link {
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	line-height: 1.3846153846;
	margin-top: -0.4375rem;
	padding-bottom: 0rem;
}

.top-reason__link::after {
	height: 0.046875rem;
	width: 10.78125rem;
}

.top-reason__images {
	aspect-ratio: 720/513;
	margin-right: calc(50% - 50vw);
	margin-top: 1.625rem;
	order: 2;
	width: 100vw;
}

.top-reason__images img {
	border-radius: 0.15625rem;
}

.top-reason__reasons-header {
	margin-bottom: 1.4375rem;
}

.top-reason__reasons-title {
	font-size: 1.1875rem;
	gap: 0.25rem;
}

.top-reason__reasons-title span {
	font-size: 1.1875rem;
	letter-spacing: 0.04em;
	margin-left: -0.125rem;
}

.top-reason__reasons-title::before {
	height: 2.46875rem;
	top: -3.203125rem;
	width: 0.0625rem;
}

.top-reason__reasons-number {
	font-size: 2.125rem !important;
}

.top-reason__reasons-number {
	letter-spacing: 0.04em;
	margin-bottom: 0.375rem;
}

.top-reason__reasons-list {
	gap: 3.75rem;
}

.top-reason__reason-image-wrap {
	flex-direction: column-reverse;
}

.top-reason__reason-image {
	aspect-ratio: 676/440;
	border-radius: 0.25rem 0 0 0.25rem;
	margin-left: auto;
	margin-right: calc(50% - 50vw);
	position: relative;
	right: auto;
	top: auto;
	transform: none;
	width: 90vw;
}

.top-reason__reason:nth-child(even) .top-reason__reason-image {
	border-radius: 0 0.25rem 0.25rem 0;
}

.top-reason__reason:nth-child(even) .top-reason__reason-image img {
	border-radius: 0 0.25rem 0.25rem 0;
}

.top-reason__reason-card {
	border-radius: 0.25rem;
	box-shadow: 0 0.09375rem 0.1875rem rgba(0, 0, 0, 0.16);
	flex: 0 0 auto;
	padding: 2.0625rem 1.4375rem 1.375rem 1.4375rem;
}

.top-reason__reason:nth-child(even) .top-reason__reason-image-wrap {
	flex-direction: column-reverse;
}

.top-reason__reason-number {
	font-size: 3.1875rem;
	left: 0.75rem;
	top: -2.4375rem;
}

.top-reason__reason:nth-child(even) .top-reason__reason-number {
	right: 0.75rem;
	top: -2.4375rem;
}

.top-reason__reason-title {
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	margin-bottom: 0.8125rem;
	padding-bottom: 0.9375rem;
}

.top-reason__reason-title::after {
	height: 0.09375rem;
	width: 1.34375rem;
}

.top-reason__reason-text {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.7307692308;
}

.u-desktop {
	display: none;
}

.u-mobile {
	display: inline;
}

.u-mtSp10 {
	margin-top: 10px !important;
	margin-top: 0.625rem !important;
}

.u-mtSp20 {
	margin-top: 20px !important;
	margin-top: 1.25rem !important;
}

.u-mtSp30 {
	margin-top: 30px !important;
	margin-top: 1.875rem !important;
}

.u-mtSp40 {
	margin-top: 40px !important;
	margin-top: 2.5rem !important;
}

.u-mtSp50 {
	margin-top: 50px !important;
	margin-top: 3.125rem !important;
}

.u-mtSp60 {
	margin-top: 60px !important;
	margin-top: 3.75rem !important;
}

.u-mtSp70 {
	margin-top: 70px !important;
	margin-top: 4.375rem !important;
}

.u-mtSp80 {
	margin-top: 80px !important;
	margin-top: 5rem !important;
}

.u-mtSp90 {
	margin-top: 90px !important;
	margin-top: 5.625rem !important;
}

.u-mtSp100 {
	margin-top: 100px !important;
	margin-top: 6.25rem !important;
}

.u-mtSp110 {
	margin-top: 110px !important;
	margin-top: 6.875rem !important;
}

.u-mtSp120 {
	margin-top: 120px !important;
	margin-top: 7.5rem !important;
}

.u-mtSp130 {
	margin-top: 130px !important;
	margin-top: 8.125rem !important;
}

.u-mtSp140 {
	margin-top: 140px !important;
	margin-top: 8.75rem !important;
}

.u-mtSp150 {
	margin-top: 150px !important;
	margin-top: 9.375rem !important;
}

.u-mtSp160 {
	margin-top: 160px !important;
	margin-top: 10rem !important;
}

.u-mtSp170 {
	margin-top: 170px !important;
	margin-top: 10.625rem !important;
}

.u-mtSp180 {
	margin-top: 180px !important;
	margin-top: 11.25rem !important;
}

.u-mtSp190 {
	margin-top: 190px !important;
	margin-top: 11.875rem !important;
}

.u-mtSp200 {
	margin-top: 200px !important;
	margin-top: 12.5rem !important;
}

}

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

.br-500-less {
	display: block;
}

}

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

.br-414-less {
	display: block;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes scrollMove {

0% {
	top: 10.1875rem;
}

100% {
	top: 0;
}

}

@keyframes scrollMoveSp {

0% {
	top: 5.09375rem;
}

100% {
	top: 0;
}

}


/*# sourceMappingURL=style.css.map */
