/********************************
* インナー
********************************/

/********************************
* フォント
********************************/

/********************************
* カラー
********************************/

html {
	font-size: 16px;
}

body {
	color: #333333;
	font-family: "Noto Sans JP", sans-serif !important;
	overflow-x: hidden;
	position: relative;
}

/* link */

/* ============================================ */

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

a:hover {
	text-decoration: none !important;
}

/* img */

/* ============================================ */

img {
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
	width: 100%;
}

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

/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */

/* Reset box-model and set borders */

/* ============================================ */

*,
::before,
::after {
	border-style: solid;
	border-width: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

/* Document */

/* ============================================ */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */

html {
	-webkit-text-size-adjust: 100%; /* 2 */
	-webkit-tap-highlight-color: transparent; /* 3*/
	line-height: 1.15; /* 1 */
}

/* Sections */

/* ============================================ */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
	display: block;
}

/* Vertical rhythm */

/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

/* Headings */

/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

h1.wp-block-heading {
	font-size: 1.5rem;
	font-weight: revert;
	margin: 0;
}

h2.wp-block-heading {
	font-size: 1.5rem;
	font-weight: revert;
	margin: 0;
}

h3.wp-block-heading {
	font-size: 1.4rem;
	font-weight: revert;
	margin: 0;
}

h4.wp-block-heading {
	font-size: 1.3rem;
	font-weight: revert;
	margin: 0;
}

h5.wp-block-heading {
	font-size: 1.2rem;
	font-weight: revert;
	margin: 0;
}

h6.wp-block-heading {
	font-size: 1.1rem;
	font-weight: revert;
	margin: 0;
}

/* Lists (enumeration) */

/* ============================================ */

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

/* Lists (definition) */

/* ============================================ */

dt {
	font-weight: bold;
}

dd {
	margin-left: 0;
}

/* Grouping content */

/* ============================================ */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	border-top-width: 1px;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box; /* 1 */
	clear: both;
	color: inherit;
	height: 0; /* 1 */
	margin: 0;
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
}

address {
	font-style: inherit;
}

/* Text-level semantics */

/* ============================================ */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
	color: inherit;
	text-decoration: none;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Replaced content */

/* ============================================ */

/**
 * Prevent vertical alignment issues.
 */

svg,
img,
embed,
object,
iframe {
	vertical-align: bottom;
}

/* Forms */

/* ============================================ */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */

button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none; /* 1 */
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border-radius: 0;
	color: inherit;
	font: inherit;
	margin: 0;
	padding: 0;
	text-align: inherit;
	text-transform: inherit; /* 2 */
	vertical-align: middle;
}

/**
 * Correct cursors for clickable elements.
 */

button,
[type=button],
[type=reset],
[type=submit] {
	cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
	cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */

:-moz-focusring {
	outline: auto;
}

select:disabled {
	opacity: inherit;
}

/**
 * Remove padding
 */

option {
	padding: 0;
}

/**
 * Reset to invisible
 */

fieldset {
	margin: 0;
	min-width: 0;
	padding: 0;
}

legend {
	padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * Correct the outline style in Safari.
 */

[type=search] {
	outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */

[type=number] {
	-moz-appearance: textfield;
}

/**
 * Clickable labels
 */

label[for] {
	cursor: pointer;
}

/* Interactive */

/* ============================================ */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/*
 * Remove outline for editable content.
 */

[contenteditable]:focus {
	outline: auto;
}

/* Tables */

/* ============================================ */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/

table {
	border-collapse: collapse;
	border-color: inherit; /* 1 */
}

caption {
	text-align: left;
}

td,
th {
	padding: 0;
	vertical-align: top;
}

th {
	font-weight: bold;
	text-align: left;
}

.js-accordion {
	cursor: pointer;
}

.p-top-faq__item-content {
	max-height: 0;
	overflow: hidden;
	-webkit-transition: max-height 0.3s ease-out, padding-top 0.3s ease-out;
	transition: max-height 0.3s ease-out, padding-top 0.3s ease-out;
}

.p-top-faq__item-icon {
	display: inline-block;
	height: 1em;
	position: relative;
	width: 1em;
}

.p-top-faq__item-icon::before,
.p-top-faq__item-icon::after {
	background-color: currentColor;
	content: "";
	height: 2px; /* Adjust thickness */
	left: 50%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	width: 100%;
}

.p-top-faq__item-icon::before {
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
	        transform: translate(-50%, -50%) rotate(90deg); /* Vertical line for plus */
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-top-faq__item-icon.is-active::before {
	-webkit-transform: translate(-50%, -50%) rotate(0deg);
	        transform: translate(-50%, -50%) rotate(0deg); /* Horizontal line for minus */
}

.l-body {
	padding-bottom: 6.25rem;
	padding-top: 3.875rem;
}

.l-footer__inner {
	background-color: #0089A9;
	padding: 2.5rem 1.25rem;
}

.l-footer__list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1rem;
	margin-bottom: 2.5rem;
}

.l-footer__item {
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1;
	text-align: center;
}

.l-footer__item a {
	color: #fff;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.l-footer__item a:hover {
	opacity: 0.7;
}

.l-footer__copyright {
	color: #fff;
	display: block;
	font-size: 0.875rem;
	line-height: 1;
	margin: 0 auto;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.l-header {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	height: 5.875rem;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	padding-left: 21px;
}

.l-header__content {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 1.5625rem;
	-webkit-box-pack: end;
	-webkit-justify-content: flex-end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.l-inner {
	margin: 0 auto;
	max-width: 720px;
	width: 100%;
}

.c-btn {
	-webkit-box-shadow: 0 0.25rem 0 0;
	        box-shadow: 0 0.25rem 0 0;
	-webkit-transform: translateY(0px);
	        transform: translateY(0px);
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.c-btn:hover {
	-webkit-box-shadow: 0 0rem 0 0 #B32719;
	        box-shadow: 0 0rem 0 0 #B32719;
	-webkit-transform: translateY(4px);
	        transform: translateY(4px);
}

.c-btn__arrow {
	color: #fff;
	display: inline-block;
	height: 0.75rem;
	line-height: 1;
	position: absolute;
	right: 2.5rem;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
	vertical-align: middle;
	width: 0.75rem;
}

.c-btn__arrow::before,
.c-btn__arrow::after {
	background: #fff;
	border-radius: 0.1em;
	content: "";
	position: absolute;
}

.c-btn__arrow::before {
	height: 0.1em;
	left: 0;
	right: 0;
	top: 0;
}

.c-btn__arrow::after {
	bottom: 0;
	right: 0;
	top: 0;
	width: 0.1em;
}

.c-heading__container {
	background-color: #0089A9;
	-webkit-box-shadow: 0.375rem 0.375rem 0 0 #023F4D;
	        box-shadow: 0.375rem 0.375rem 0 0 #023F4D;
	margin-bottom: 1.5rem;
}

.c-heading {
	color: #fff;
	font-size: 2.25rem;
	font-weight: bold;
	line-height: 120%;
	margin: 0 auto;
	padding: 1.25rem 2rem;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.c-heading::before,
.c-heading::after {
	background: url(../images/top/heading_line.svg) no-repeat center center/contain;
	border-radius: 100vmax;
	content: "";
	height: 0.375rem;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 3.375rem;
}

.c-heading::before {
	left: -2.5rem;
}

.c-heading::after {
	right: -2.5rem;
	-webkit-transform: translateY(-50%) rotate(180deg);
	        transform: translateY(-50%) rotate(180deg);
}

.c-heading03 {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #49BCD7;
	border-radius: 100vmax;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.25rem;
	font-weight: bold;
	height: 3.5rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	line-height: 1.1;
	margin: 0 auto;
	max-width: 36.25rem;
	padding: 0 0.625rem;
	text-align: center;
	width: 100%;
}

.c-loop {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	overflow: hidden;
	padding: 1rem 0;
	white-space: nowrap;
}

.c-loop__item {
	-webkit-animation: scroll 30s linear infinite;
	        animation: scroll 30s linear infinite;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 1.125rem;
	min-width: -moz-max-content;
	min-width: -webkit-max-content;
	min-width: max-content;
	padding-right: 1.125rem;
}

.c-loop__item img {
	height: 2.5rem;
	width: auto;
}

.c-lower__bg {
	background-color: #EDFCFF;
	padding: 2.5rem 1.25rem;
}

.c-lower__inner {
	background-color: #fff;
	-webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
	        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
	padding: 1.875rem 1.5rem;
}

.c-lower__title {
	border-bottom: 1px solid #D9D9D9;
	color: #0089A9;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1;
	padding: 1rem 0;
}

.c-lower__text-group {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1.25rem;
	margin-bottom: 1.5rem;
}

.c-lower__text {
	font-size: 0.875rem;
	line-height: 150%;
}

.c-lower__table {
	border-collapse: collapse;
	margin-bottom: 5.625rem;
	overflow-x: auto;
	width: 100%;
}

.c-lower__table table {
	width: -moz-max-content;
	width: -webkit-max-content;
	width: max-content;
}

.c-lower__table-head:nth-of-type(1),
.c-lower__table-desc:nth-of-type(1) {
	max-width: 8.875rem;
}

.c-lower__table-head:nth-of-type(2),
.c-lower__table-desc:nth-of-type(2) {
	max-width: 9.75rem;
}

.c-lower__table-head:nth-of-type(3),
.c-lower__table-desc:nth-of-type(3) {
	max-width: 15.3125rem;
}

.c-lower__table-head:nth-of-type(4),
.c-lower__table-desc:nth-of-type(4) {
	max-width: 8rem;
}

.c-lower__table-head {
	background-color: #F2FAFF;
	border: 1px solid #F2FAFF;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 150%;
	padding: 0.625rem;
}

.c-lower__table-desc {
	border: 1px solid #F2FAFF;
	font-size: 0.875rem;
	line-height: 150%;
	padding: 0.625rem 0.75rem;
	vertical-align: middle;
}

.c-lower__dot {
	padding-left: 0.9375rem;
	position: relative;
}

.c-lower__dot::before {
	content: "・";
	left: 0;
	position: absolute;
	top: 0;
}

.c-lower__wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.625rem;
	margin-bottom: 3.75rem;
}

.c-lower__box {
	border: 1px solid #F2FAFF;
}

.c-lower__box-item {
	border-bottom: 1px solid #F2FAFF;
	padding: 0.5rem 1rem;
}

.c-lower__box-item:last-of-type {
	border-bottom: none;
}

.c-lower__box-item-title {
	color: #49BCD7;
	display: block;
	font-size: 0.625rem;
	line-height: 100%;
	margin-bottom: 0.25rem;
}

.c-lower__text-link {
	text-decoration: underline;
}

.c-lower__subtitle {
	color: #0089A9;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1;
}

.c-lower__content {
	margin-bottom: 0.625rem;
	padding: 1rem 0;
}

.c-text {
	font-size: 1.4375rem;
	font-weight: 500;
	line-height: 125%;
	text-align: justify;
}

.c-text__head {
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 125%;
	text-align: justify;
}

.c-text__wide {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 150%;
	text-align: justify;
}

.c-text__large {
	font-size: 3.5rem;
}

.c-text__pl{
  padding-left: 1.2em;
}

.c-text__small {
	font-size: 0.875rem;
	line-height: 1.5;
	text-align: justify;
}

.c-text__small-2 {
	font-size: 0.625rem;
	line-height: 1;
	text-align: justify;
	-webkit-transform: translateY(-0.2em);
	        transform: translateY(-0.2em);
}

.c-text__small-3 {
	font-size: 0.75rem;
	line-height: 1;
	text-align: justify;
	-webkit-transform: translateY(-0.2em);
	        transform: translateY(-0.2em);
}

.c-text__tiny {
	font-size: 0.5rem;
	line-height: 1;
	text-align: justify;
	-webkit-transform: translateY(-0.2em);
	        transform: translateY(-0.2em);
}

.c-text__right {
	margin-left: auto;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.c-text__red {
	color: #F76488;
}

.c-text__black {
	color: #333;
}

.c-text__blue {
	color: #49BCD7;
}

.c-text__dark-blue {
	color: #0089A9;
}

.c-text__yellow {
	color: #FFF372;
}

.c-text__bold {
	font-weight: bold;
}

.c-text__left {
	margin: 0 auto;
	text-align: left;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.c-text__center {
	text-align: center;
}

.c-text__vertical--middle {
	vertical-align: middle;
}

.c-text__underline {
	text-decoration: underline;
	text-underline-offset: 0.125rem;
}

.c-text__sub-font {
	font-family: "Zen Old Mincho", "Arial", "メイリオ", serif;
}

.p-top__inner {
	border-left: 0.0625rem solid #EDFCFF;
	border-right: 0.0625rem solid #EDFCFF;
	-webkit-box-shadow: 0 0 0.1875rem 0 rgba(0, 0, 0, 0.25);
	        box-shadow: 0 0 0.1875rem 0 rgba(0, 0, 0, 0.25);
}

/* ====================================
# FV
==================================== */

.p-top-fv {
	margin-bottom: 0;
}

/* ====================================
# recommend
==================================== */

.p-top-recommend {
	background-color: #EDFCFF;
	margin-bottom: 1.5rem;
}

.p-top-recommend__inner {
	padding: 1rem 2.5rem 1.5rem;
}

.p-top-recommend__head {
	margin-bottom: 1rem;
}

.p-top-recommend__card-list {
	grid-gap: 0.5rem 0.9375rem;
	display: -ms-grid;
	display: grid;
	gap: 0.5rem 0.9375rem;
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
	margin: 0 auto;
	margin-bottom: 0.25rem;
	max-width: 36.25rem;
	width: 100%;
}

.p-top-recommend__card-item {
	grid-gap: 0rem;
	background-color: #fff;
	border: 0.10625rem solid #49BCD7;
	border-radius: 1rem;
	-webkit-box-shadow: 0 0 5px 0 rgba(0, 48, 89, 0.25);
	        box-shadow: 0 0 5px 0 rgba(0, 48, 89, 0.25);
	display: -ms-grid;
	display: grid;
	gap: 0rem;
	-ms-grid-row-span: 2;
	grid-row: span 2;
	-ms-grid-rows: subgrid;
	grid-template-rows: subgrid;
	padding: 0.625rem;
	position: relative;
}

.p-top-recommend__card-item-number {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #49BCD7;
	border-radius: 50%;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 0.8125rem;
	font-weight: bold;
	height: 1.25rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	left: 0.625rem;
	line-height: 0;
	position: absolute;
	top: 0.625rem;
	width: 1.25rem;
}

.p-top-recommend__card-item-image {
	height: 100%;
	margin: 0 auto 0rem;
	max-width: 8.125rem;
	width: 100%;
}

.p-top-recommend__card-item-text {
	color: #0089A9;
	font-size: 1.375rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
}

.p-top-recommend__promotion {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	border: 1px solid #333333;
	color: #333333;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 0.75rem;
	font-weight: bold;
	height: 1.5625rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-left: auto;
	width: 1.5625rem;
}

/* ====================================
# intro
==================================== */

.p-top-intro {
	margin-bottom: 3.625rem;
}

.p-top-intro__content {
	padding: 0 0.625rem;
}

/* ====================================
# intro-table
==================================== */

.p-top-intro-table {
	margin-bottom: 3.125rem;
}

.p-top-intro__item-table-img {
	margin: 0 auto;
	max-width: 33.625rem;
	width: 100%;
}

/* 全体のテーブルスタイル */

/* ====================================
# point
==================================== */

.p-top-point {
	margin-bottom: 3.75rem;
}

.p-top-point__list {
	grid-gap: 3.125rem;
	display: -ms-grid;
	display: grid;
	gap: 3.125rem;
}

.p-top-point__item-head-wrap {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-bottom: 0.0625rem solid #49BCD7;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.75rem;
	margin-bottom: 1rem;
	padding-bottom: 0.625rem;
}

.p-top-point__item-head {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}

.p-top-point__number {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #49BCD7;
	border-radius: 100vmax;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 3.3125rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: relative;
	text-align: center;
	width: 3.3125rem;
}

.p-top-point__number::before {
	-webkit-clip-path: polygon(100% 100%, 65% 0, 0 65%);
	background-color: #49BCD7;
	bottom: 0.1875rem;
	clip-path: polygon(100% 100%, 65% 0, 0 65%);
	content: "";
	height: 0.5rem;
	position: absolute;
	right: 0.1875rem;
	width: 0.5rem;
}

.p-top-point__number-point {
	font-family: "Zen Old Mincho", "Arial", "メイリオ", serif;
	font-size: 0.5rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 0.5;
}

.p-top-point__number-text {
	font-size: 1.8125rem;
	font-weight: bold;
	line-height: 0.9;
}

.p-top-point__content {
	padding: 0 0.625rem;
}

/* ====================================
# table
==================================== */

.p-top-table {
	margin-bottom: 3.125rem;
}

.p-top-table__content {
	padding: 0 0.625rem;
}

.p-top-table__heading {
	margin-bottom: 3rem;
}

/* 全体のテーブルスタイル */

.p-top-table__table {
	border-collapse: collapse;
	font-size: 0.875rem;
	font-weight: bold;
	margin: 0 2.5rem;
	text-align: center;
}

.p-top-table__scroll-container {
	margin-left: 0.75rem;
	margin-right: 0.75rem;
	overflow-x: auto;
	scrollbar-width: none;
}

.p-top-table__list {
	border-collapse: collapse;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 8.75rem (1fr)[6];
	grid-template-columns: 8.75rem repeat(6, 1fr);
	margin: 0 auto;
	padding-top: 3.4375rem;
	position: relative;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
	z-index: 1;
}

.p-top-table__item:first-of-type {
	left: 0rem;
	position: -webkit-sticky;
	position: sticky;
	top: 0rem;
	z-index: 1;
}
.p-top-table__item:nth-of-type(2) .p-top-table__head-flex {
	border-left: 1px solid #888888;
}
.p-top-table__item:nth-of-type(2) .p-top-table__data {
	border-left: 1px solid #888888;
}

.p-top-table__item:first-of-type .p-top-table__data:nth-of-type(5) .p-top-table__data-head-icon,
.p-top-table__item:first-of-type .p-top-table__data:nth-of-type(6) .p-top-table__data-head-icon,
.p-top-table__item:first-of-type .p-top-table__data:nth-of-type(7) .p-top-table__data-head-icon,
.p-top-table__item:first-of-type .p-top-table__data:nth-of-type(8) .p-top-table__data-head-icon {
	max-width: 1.25rem;
}

.p-top-table__item {
	display: -ms-grid;
	display: grid;
	-ms-grid-row-span: 9;
	grid-row: span 9;
	-ms-grid-rows: subgrid;
	grid-template-rows: subgrid;
}

.p-top-table__head-logo {
	margin-bottom: 0.625rem;
}

.p-top-table__head-logo img {
	-o-object-fit: contain;
	height: 1.9375rem;
	object-fit: contain;
}

.no1 .p-top-table__head-logo img {
	height: auto;
}

.p-top-table__head {
	background-color: #EDFCFF;
	border-radius: 0.5rem 0.5rem 0 0;
	color: #49BCD7;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	position: relative;
	text-align: center;
}

.p-top-table__head:hover {
	opacity: 0.7;
}

.p-top-table__head:first-child {
	background: transparent;
	border: none;
}

.p-top-table__head-flex {
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	border-radius: 1rem 1rem 0 0;
	border-right: 1px solid #888888;
	border-top: 1px solid #888888;
	color: #0089A9;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	font-size: 0.875rem;
	font-weight: bold;
  height: 100%;
	line-height: 120%;
	padding: 0.3125rem 0.3125rem 0.3125rem;
}

.no1 .p-top-table__head-flex {
	border: 0.1875rem solid #F76488;
	border-left: 0.1875rem solid #F76488;
	border-right: 0.1875rem solid #F76488;
	color: #fff;
}

/* セルの基本デザイン */

.p-top-table__data {
	background-color: #fff;
	border-right: 1px solid #888888;
	border-top: 1px solid #888888;
	color: #0089A9;
	font-size: 0.875rem;
	font-weight: bold;
	line-height: 1;
	min-width: 9.75rem;
	padding: 0.75rem 0.1875rem;
	text-align: center;
  align-content: center;
}

.p-top-table__data:last-of-type {
	border-bottom: 1px solid #888888;
}

.p-top-table__data.no1 {
	background-color: #EDFCFF;
	border-left: 0.1875rem solid #F76488;
	border-right: 0.1875rem solid #F76488;
	width: 10.3125rem;
}

.p-top-table__data.no1:first-of-type {
	border-top: 0.0625rem solid #F76488;
}

.p-top-table__data.no1:last-of-type {
	border-bottom: 0.1875rem solid #F76488;
	border-radius: 0 0 1rem 1rem;
}

/* 左側の見出しセル */

.p-top-table__data-head {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #49BCD7;
	border-left: none;
	border-radius: 1.5rem 0 0 1.5rem;
	border-right: none;
	border-top: none;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	font-weight: bold;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin: 0.125rem 0;
	min-width: 8.75rem;
	width: 5rem;
}

.p-top-table__data-head:last-of-type {
	border-bottom: none;
}

.p-top-table__data-head-icon {
	margin: 0 auto 0.1875rem;
	max-width: 0.875rem;
	width: 100%;
}

.p-top-table__head.no1 {
	background-color: #F76488;
}

.p-top-table__data-mark {
	height: 1.25rem;
	margin: 0 auto 0.625rem;
	width: 1.25rem;
}

.p-top-table__link {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #F76488;
	border-radius: 100vmax;
	-webkit-box-shadow: 0 0.25rem 0 0 #B32719;
	        box-shadow: 0 0.25rem 0 0 #B32719;
	color: #fff;
	display: block;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.5rem;
	font-weight: bold;
	height: 3.0625rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	line-height: 1;
	margin: 0 auto;
	max-width: 8rem;
	-webkit-transform: translateY(0px);
	        transform: translateY(0px);
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.p-top-table__link:hover {
	-webkit-box-shadow: 0 0rem 0 0 #B32719;
	        box-shadow: 0 0rem 0 0 #B32719;
	-webkit-transform: translateY(4px);
	        transform: translateY(4px);
}

/* ====================================
# chart
==================================== */

.p-top-chart {
	margin-bottom: 1.5rem;
}

.p-top-chart__inner {
	border: 0.375rem solid #49BCD7;
	border-radius: 0.5rem 0.5rem 0 0;
	padding: 1.875rem;
}

.p-top-chart__subtitle {
	color: #0089A9;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 1.5rem;
	text-align: center;
}

.p-top-chart__title-wrap {
	margin: 0 auto;
	position: relative;
}

.p-top-chart__human01 {
	left: 1.9375rem;
	position: absolute;
	top: 0rem;
}

.p-top-chart__human02 {
	position: absolute;
	right: 4.25rem;
	top: 0rem;
}

.p-top-chart__title {
	color: #0089A9;
	font-size: 2.6875rem;
	font-weight: bold;
	line-height: 1.2;
	margin: 0 auto;
	margin-bottom: 1.5rem;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
	z-index: 1;
}

.p-top-chart__box {
	background-color: #EDFCFF;
	padding: 1.25rem;
	position: relative;
	width: 100%;
	z-index: 1;
}

.p-top-chart__box-text-wrap {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-bottom: 1rem;
}

.p-top-chart__box-text-icon {
	height: 1.4375rem;
	width: 1.4375rem;
}

.p-top-chart__box-text-title {
	color: #49BCD7;
	font-size: 1rem;
	font-weight: bold;
	line-height: 120%;
	text-align: center;
}

.p-top-chart__box-btn-wrap {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.8125rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.p-top-chart__box-image-wrapper {
	margin-bottom: 0.9375rem;
	margin-top: -1.875rem;
}

.p-top-chart__box-btn {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #49BCD7;
	border-radius: 0.5rem;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.25rem;
	font-weight: bold;
	height: 5.3125rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	line-height: 1;
	max-width: 12.5rem;
	padding: 1.25rem 0.625rem;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	width: 100%;
}

.p-top-chart__box-btn:hover {
	opacity: 0.7;
}

.p-top-chart__box-btn-blue {
	background-color: #2997E6;
	border: 0.125rem solid #0089A9;
}

.p-top-chart__box-btn-red {
	background-color: #F76488;
	border: 0.125rem solid #790505;
}

.p-top-chart__box-link {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #F76488;
	border-bottom: 0.25rem solid #790505;
	border-radius: 100vmax;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 2rem;
	font-weight: bold;
	height: 3.625rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	line-height: 1;
	max-width: 33rem;
	padding: 1.25rem 0.625rem;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	width: 100%;
}

.p-top-chart__box-link:hover {
	border-bottom: 0rem solid #790505;
	-webkit-transform: translateY(4px);
	        transform: translateY(4px);
}

/* ====================================
# service
==================================== */

.p-top-service {
	margin-bottom: 1.5rem;
}

.p-top-service__box {
	background-color: #0089A9;
	padding: 0.625rem 1.25rem 0.3125rem;
}

.p-top-service__box-search {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 0.5rem;
}

.p-top-service__box-search-label {
	padding-left: 0.9375rem;
}

.p-top-service__box-search-input {
	border: none;
	height: 2.5rem;
	outline: none;
	padding: 0 0.625rem;
	width: 100%;
}

.p-top-service__box-search-input:focus {
	background-color: inherit !important;
	-webkit-box-shadow: none !important;
	        box-shadow: none !important;
	outline: none !important;
}

.p-top-service__modal {
	-webkit-animation-fill-mode: forwards;
	        animation-fill-mode: forwards;
	background-color: rgba(0, 0, 0, 0.5);
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	-webkit-transform: translateY(100%);
	        transform: translateY(100%);
	-webkit-transition: opacity 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out;
	width: 100%;
	z-index: 1000;
}

.p-top-service__modal.is-open {
	-webkit-animation: fadeIn 0.3s forwards;
	        animation: fadeIn 0.3s forwards;
	pointer-events: auto;
}

.p-top-service__modal.is-close {
	-webkit-animation: fadeOut 0.3s forwards;
	        animation: fadeOut 0.3s forwards;
	pointer-events: none;
}

.p-top-service__modal.show {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

.p-top-service__modal-overlay {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-top-service__modal-inner {
	background-color: #fff;
	border-radius: 0.5rem 0.5rem 0 0;
	bottom: 0;
	left: 50%;
	max-width: 30rem;
	position: absolute;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: 100%;
}

.p-top-service__modal-form-head {
	border-bottom: 1px solid #888888;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 120%;
	margin-bottom: 1.25rem;
	padding: 1.25rem 1.25rem 0;
	padding-bottom: 1.25rem;
	text-align: center;
}

.p-top-service__modal-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.625rem;
	padding: 0 1.25rem 1.25rem;
}

.p-top-service__modal-list-item {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
}

.p-top-service__modal-label {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	cursor: pointer;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
}

.p-top-service__modal-label-input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: white;
	border: 2px solid #4a90e2;
	border-radius: 50%;
	cursor: pointer;
	height: 24px;
	position: relative;
	-webkit-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
	width: 24px;
}

.p-top-service__modal-label-input:checked {
	background-color: #4a90e2;
}

.p-top-service__modal-label-input:checked::before {
	background-color: #4a90e2;
	border-radius: 50%;
	content: "";
	height: 20px;
	left: 0;
	position: absolute;
	top: calc(50% - 10px);
	width: 20px;
}

.p-top-service__modal-label-input:checked::after {
	background-color: transparent;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	height: 12px;
	left: 6px;
	position: absolute;
	top: 3px;
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
	width: 8px;
}

.p-top-service__modal-tab-btn {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #fff;
	color: #696969;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.p-top-service__modal-tab-btn:hover {
	background-color: #49BCD7;
	color: #fff;
}

.p-top-service__modal-tab-btn:active {
	background-color: #49BCD7;
	color: #fff;
}

.p-top-service__title {
	color: #fff;
	font-size: 2rem;
	line-height: 1.4;
	margin-bottom: 0.75rem;
	text-align: center;
}

.p-top-service__tab-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
	overflow-x: scroll;
	scrollbar-width: none;
	white-space: nowrap;
}

.p-top-service__tab {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.p-top-service__tab-btn {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #fff;
	color: #696969;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 0.875rem;
	gap: 0.25rem;
	height: 100%;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	line-height: 1;
	padding: 0.3125rem;
	width: 100%;
}

.p-top-service__tab-btn.active-filter {
	background-color: #ED9805;
	color: #fff;
}

.p-top-service__tab-btn-arrow {
	border-bottom: 0;
	border-color: transparent;
	border-top-color: currentColor;
	border-width: 0.5rem 0.25rem;
	color: #696969;
	display: inline-block;
	height: 0;
	line-height: 1;
	vertical-align: middle;
	width: 0;
}

.p-top-service__tab-btn.active-filter .p-top-service__tab-btn-arrow {
	border-top-color: #fff;
}

.p-top-service__box-sort-wrap {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.p-top-service__box-records {
	-webkit-box-align: end;
	-webkit-align-items: end;
	    -ms-flex-align: end;
	        align-items: end;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.p-top-service__box-records-num {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1;
}

.p-top-service__box-records-text {
	font-size: 0.75rem;
	font-weight: bold;
	line-height: 1;
}

.p-top-service__box-sort {
	-webkit-align-content: center;
	    -ms-flex-line-pack: center;
	        align-content: center;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.375rem;
}

.p-top-service__box-sort-btn-icon {
	height: 1.25rem;
	width: 1.25rem;
}

.p-top-service__list {
	background-color: #EDFCFF;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 0.25rem;
	padding: 1.5rem 1.25rem;
}

.p-top-service__item {
	background-color: #fff;
	border: 0.125rem solid #49BCD7;
	padding: 2.5rem 1.625rem;
	position: relative;
}

.p-top-service__item-image {
	width: 100%;
}

.p-top-service__item-title-wrap {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 1.25rem;
	margin-bottom: 1.5rem;
}

.p-top-service__item-subtitle {
	font-size: 1.5rem;
	font-weight: bold;
	margin-top: auto;
}

.p-top-service__item-title {
	color: #49BCD7;
	font-size: 2.5rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: underline;
	text-decoration-thickness: 0.0625rem;
	text-underline-offset: 0.4375rem;
}

.p-top-service__box-title {
	font-family: "Zen Old Mincho", "Arial", "メイリオ", serif;
	font-size: 1.875rem;
	font-weight: 600;
	line-height: 1;
	text-decoration-thickness: 0.0625rem;
	text-underline-offset: 0.4375rem;
}

.p-top-service__item-text {
	color: #49BCD7;
	font-size: 0.75rem;
	font-weight: bold;
	line-height: 1;
}

.p-top-service__item-catch {
	font-size: 1.625rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 0.3125rem;
	text-align: center;
}

.p-top-service__item-link {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-shadow: 0 0.25rem 0 0;
	        box-shadow: 0 0.25rem 0 0;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 2rem;
	font-weight: bold;
	gap: 0.625rem;
	height: 6rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	line-height: 1;
	margin: 0 auto;
	padding: 0.625rem;
	position: relative;
	-webkit-transform: translateY(0px);
	        transform: translateY(0px);
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	width: 100%;
}

.p-top-service__item-line {
	background-color: #000;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	height: 0.0625rem;
}

.p-top-service__item-line:hover {
	-webkit-box-shadow: 0 0rem 0 0 #00762B;
	        box-shadow: 0 0rem 0 0 #00762B;
	-webkit-transform: translateY(4px);
	        transform: translateY(4px);
}

.p-top-service__item-line-logo {
	max-width: 2.75rem;
	width: 100%;
}

.p-top-service__item-hp {
	background-color: #F76488;
	border-radius: 100vmax;
	-webkit-box-shadow: 0 0.25rem 0 0 #b32719;
	        box-shadow: 0 0.25rem 0 0 #b32719;
	color: #fff;
}

.p-top-service__item-hp:hover {
	-webkit-box-shadow: 0 0rem 0 0 #b32719;
	        box-shadow: 0 0rem 0 0 #b32719;
	-webkit-transform: translateY(4px);
	        transform: translateY(4px);
}

.p-top-service__item-link-arrow {
	color: #fff;
	display: inline-block;
	height: 0.75rem;
	line-height: 1;
	position: absolute;
	right: 1.25rem;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
	vertical-align: middle;
	width: 0.75rem;
}

.p-top-service__item-link-arrow::before,
.p-top-service__item-link-arrow::after {
	background: #fff;
	border-radius: 0.1em;
	content: "";
	position: absolute;
}

.p-top-service__item-link-arrow::before {
	height: 0.0625rem;
	left: 0;
	right: 0;
	top: 0;
}

.p-top-service__item-link-arrow::after {
	bottom: 0;
	right: 0;
	top: 0;
	width: 0.0625rem;
}

.p-top-service__item-note {
	margin-left: auto;
	margin-top: 1.875rem;
	width: -moz-fit-content;
	width: -webkit-fit-content;
	width: fit-content;
}

.p-top-service__item-swiper {
	overflow: hidden;
	width: 100%;
}

.p-top-service__item-swiper-wrap {
	padding: 0 2.8125rem;
	position: relative;
}

.swiper-slide {
	width: auto; /* or a specific width */
}

.swiper-button-next,
.swiper-button-prev {
	position: absolute;
	top: 50%;
}

.swiper-button-next:after,
.swiper-button-prev:after {
	border-style: solid;
	content: ""; /* 空指定してデフォルトの矢印を消す */
	height: 0;
	position: absolute;
	top: -50%;
	width: 0;
}

/* 前へ次への矢印カスタマイズ */

.swiper-button-prev::before,
.swiper-button-next::before {
	background-color: #69696B;
	border-radius: 100vmax;
	content: "";
	height: 2.5rem;
	margin: auto;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 2.5rem;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}

/* 前への矢印カスタマイズ */

.swiper-button-prev::after {
	border-bottom: 8px solid transparent;
	border-right: 12px solid #FFF;
	border-top: 8px solid transparent;
}

/* 次への矢印カスタマイズ */

.swiper-button-next::after {
	border-bottom: 8px solid transparent;
	border-left: 12px solid #fff;
	border-top: 8px solid transparent;
}

.p-top-service__item-swiper-wrap .swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after,
.p-top-service__item-swiper-wrap .swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
	content: "";
}

.p-top-service__item-number {
	height: 4.5625rem;
	left: 50%;
	position: absolute;
	top: -2.28125rem;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: 4.5625rem;
}

.p-top-service__case-text {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1;
}

.p-top-service__case-number {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1;
}

.p-top-service__item-case {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: url(../images/top/case_bg.svg) no-repeat center center/contain;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	font-family: "Zen Old Mincho", "Arial", "メイリオ", serif;
	height: 4rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 4rem;
}

.p-top-service__item-case-text {
	font-size: 0.5625rem;
	font-weight: bold;
	line-height: 1;
}

.p-top-service__item-case-number {
	font-size: 1.875rem;
	font-weight: bold;
	line-height: 0.8;
}

.p-top-service__item-slide {
	background-color: #EDFCFF;
	padding: 1.5rem 0.625rem;
}

.p-top-service__container {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.p-top-service__container-left {
	width: 18.75rem;
}

.p-top-service__container-right {
	width: 18.75rem;
}

.p-top-service__row {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.p-top-service__row-item {
	width: 8.75rem;
}

.p-top-service__row-head {
	background-color: #0089A9;
	color: #fff;
	padding: 0.375rem;
}

.p-top-service__row-desc {
	background-color: #fff;
	color: #0089A9;
	font-family: "Zen Old Mincho", "Arial", "メイリオ", serif;
	padding: 0.1875rem;
}

.p-top-service__top-text {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.2;
}

.p-top-service__text {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.2;
}

.p-top-service__container-right {
	max-width: 17.8125rem;
	position: relative;
	top: -1.875rem;
	width: 100%;
}

.p-top-service__before-after {
	position: relative;
}

.p-top-service__detail-row {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.p-top-service__detail-row-head {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #0089A9;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	padding: 0.375rem 1.25rem;
	width: 8.625rem;
}

.p-top-service__detail-row-desc {
	background-color: #fff;
	color: #0089A9;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-family: "Zen Old Mincho", "Arial", "メイリオ", serif;
	padding: 0.5rem;
}

.p-top-service__best {
	background-color: #fff;
	border: 0.3125rem solid #F76488;
	border-radius: 1rem;
	height: -moz-fit-content;
	height: -webkit-fit-content;
	height: fit-content;
	padding: 1.25rem;
	position: relative;
	width: 100%;
}

.p-top-service__best-title {
	font-size: 1rem;
	line-height: 1;
}

.p-top-service__best-head {
	background-color: #fff;
	border-radius: 0.5rem;
	color: #F76488;
	font-size: 1.125rem;
	font-weight: 700;
	left: 50%;
	line-height: 1;
	padding: 0.625rem;
	position: absolute;
	top: -1.375rem;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: -moz-max-content;
	width: -webkit-max-content;
	width: max-content;
}

.p-top-service__best-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.625rem;
}

.p-top-service__best-item {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
}

.p-top-service__best-item-icon {
	height: 2rem;
	width: 2rem;
}

.p-top-service__best-item-text {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-size: 1.3125rem;
	line-height: 1.2;
}

.p-top-service__pricing-table {
	border-collapse: collapse;
	border-left: 0.0625rem solid #888888;
	border-right: 0.0625rem solid #888888;
	border-top: 0.0625rem solid #888888;
	display: table;
	margin-bottom: 2rem;
	width: 100%;
}

.p-top-service__pricing-row {
	border-bottom: 0.0625rem solid #888888;
}

.p-top-service__cell {
	border-right: 0.0625rem solid #888888;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.2;
	padding: 0.3125rem 0.625rem;
	text-align: center;
	vertical-align: middle;
}

.p-top-service__cell:last-child {
	border-right: none;
}

.p-top-service__cell--header {
	background-color: #EDFCFF;
	color: #0089A9;
	font-weight: bold;
	padding: 0.75rem 0.625rem;
}

.p-top-service__cell--header,
.p-top-service__pricing-row--campaign .p-top-service__cell {
	font-size: 1.25rem;
}

.js-accordion-content {
	max-height: 0;
	overflow: hidden;
	-webkit-transition: max-height 0.3s ease;
	transition: max-height 0.3s ease;
}

.js-accordion-content.is-active {
	border-bottom: 0.0625rem solid #49BCD7;
	border-top: 0.0625rem solid #49BCD7;
	padding-bottom: 0.75rem;
	padding-top: 0.75rem;
}

.js-accordion {
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

.js-accordion:hover {
	opacity: 0.75;
}

.js-accordion.is-open {
	opacity: 0.75;
}

.js-accordion.is-open::before,
.js-accordion.is-open::after {
	-webkit-transition: -webkit-transform 0.3s ease;
	transition: -webkit-transform 0.3s ease;
	transition: transform 0.3s ease;
	transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.js-accordion.is-open::before {
	-webkit-transform: translate(-50%, -50%) rotate(135deg);
	        transform: translate(-50%, -50%) rotate(135deg);
}

.js-accordion.is-open::after {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	        transform: translate(-50%, -50%) rotate(45deg);
}

/* ====================================
# location
==================================== */

.p-top-service__location {
	border: 0.0625rem solid #49BCD7;
	border-radius: 0.5rem;
	overflow: hidden;
	padding-bottom: 0.75rem;
}

.p-top-service__location-head {
	background-color: #EDFCFF;
	color: #49BCD7;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1;
	padding: 0.75rem 0.625rem;
	text-align: center;
}

.p-top-service__location-list {
	grid-gap: 1.4375rem 0.625rem;
	display: -ms-grid;
	display: grid;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1.4375rem 0.625rem;
	-ms-grid-columns: (1fr)[3];
	grid-template-columns: repeat(3, 1fr);
	padding: 1.25rem;
}

.p-top-service__location-item {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.5rem;
}

.p-top-service__location-item-button {
	background-color: #49BCD7;
	border-radius: 100vmax;
	height: 3.0625rem;
	position: relative;
	width: 3.0625rem;
}

.p-top-service__location-item-button::before,
.p-top-service__location-item-button::after {
	background-color: #fff;
	content: "";
	height: 0.125rem;
	left: 50%;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	width: 0.9375rem;
}

.p-top-service__location-item-button::before {
	-webkit-transform: translate(-50%, -50%) rotate(90deg);
	        transform: translate(-50%, -50%) rotate(90deg);
}

.p-top-service__location-item-button::after {
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.p-top-service__location-item-name {
	font-size: 1.25rem;
	line-height: 1;
}

.p-top-service__location-info {
	border-left: 0.0625rem solid #49BCD7;
	border-right: 0.0625rem solid #49BCD7;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin: 0 0.75rem;
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

.p-top-service__location-info--normal {
	border: 0.0625rem solid #49BCD7;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	margin: 0 0.75rem;
	padding: 0.625rem;
}

.p-top-service__location-info-item {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-left: 0.0625rem solid #888888;
	border-right: 0.0625rem solid #888888;
	border-top: 0.0625rem solid #888888;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
  align-items: stretch;
}

.p-top-service__location-info-item:last-child {
	border-bottom: 0.0625rem solid #888888;
}

.p-top-service__location-info-item-head {
	background-color: #EDFCFF;
	border-right: 0.0625rem solid #888888;
	color: #49BCD7;
	font-size: 1rem;
	line-height: 1;
	padding: 2.40625rem 0.625rem;
	text-align: center;
	white-space: nowrap;
	width: 6.25rem;
}

.p-top-service__location-info-item-text {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.25;
	padding: 0.625rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

/* ====================================
# summary
==================================== */

.p-top-summary__inner {
	padding: 0 1.25rem;
}

.p-top-summary__box {
	border: 0.0625rem solid #49BCD7;
	border-radius: 0.5rem;
	overflow: hidden;
	padding: 1.25rem;
}

.p-top-summary__list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.875rem;
}

.p-top-summary__item {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #EDFCFF;
	border: 0.0625rem solid #0089A9;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
	padding: 0.625rem;
}

.p-top-summary__item-icon {
	height: 3.5rem;
	width: 3.5rem;
}

.p-top-summary__item-text {
	color: #0089A9;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.25;
}

/* ====================================
# flow
==================================== */

.p-top-flow {
	background: url(../images/top/bg01.png) no-repeat center center/cover;
	padding-top: 0.75rem;
}

.p-top-flow__title {
	margin-bottom: 1.5rem;
}

.p-top-flow__heading {
	margin-top: 0rem;
}

.p-top-flow__card-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1.5rem 2.375rem;
	padding: 1.5rem;
}

.p-top-flow__card {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #fff;
	border: 0.125rem solid #89805F;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: relative;
}

.p-top-flow__card:last-of-type::after {
	content: none;
}

.p-top-flow__card-step {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #89805F;
	border-radius: 100vmax;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 1.5rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	left: -0.6875rem;
	margin: 0 auto;
	position: absolute;
	text-align: center;
	top: -1.1875rem;
	width: 1.5rem;
}

.p-top-flow__card-step::before {
	-webkit-clip-path: polygon(100% 100%, 65% 0, 0 65%);
	background-color: #89805F;
	bottom: 0rem;
	clip-path: polygon(100% 100%, 65% 0, 0 65%);
	content: "";
	height: 0.3125rem;
	position: absolute;
	right: 0.125rem;
	width: 0.3125rem;
}

.p-top-flow__card-step-point {
	font-family: "Zen Old Mincho", "Arial", "メイリオ", serif;
	font-size: 0.3125rem;
	font-weight: bold;
	line-height: 1;
}

.p-top-flow__card-step-number {
	font-family: "Zen Old Mincho", "Arial", "メイリオ", serif;
	font-size: 0.875rem;
	font-weight: bold;
	line-height: 0.9;
}

.p-top-flow__card-title {
	color: #89805F;
	font-family: "Zen Old Mincho", "Arial", "メイリオ", serif;
	font-size: 1.9375rem;
	font-weight: bold;
	margin: 0 auto;
	padding: 0.625rem 0.625rem;
	width: 10.625rem;
}

.p-top-flow__card-desc {
	background: url(../images/top/card_bg.png) no-repeat center center/cover;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-family: "Zen Old Mincho", "Arial", "メイリオ", serif;
	font-size: 1.375rem;
	font-weight: bold;
	line-height: 1.1;
	margin: 0.3125rem;
	padding: 0.75rem;
	position: relative;
}

.p-top-flow__card-desc::before {
	background-color: #89805F;
	content: "";
	height: calc(100% + 0.625rem);
	left: -0.3125rem;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 0.125rem;
}

.p-top-flow__best {
	padding: 0 1.5rem 0.75rem;
}

.p-top-flow__best-container {
	background-color: #EDFCFF;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.75rem;
	padding: 0.75rem 0.75rem 1.5rem;
}

.p-top-flow__best-catch {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: -webkit-gradient(linear, left top, right top, from(#05B998), to(#49BCD7));
	background: linear-gradient(to right, #05B998, #49BCD7);
	border-radius: 100vmax;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 1.5rem;
	font-weight: 700;
	height: 3.8125rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	line-height: 1.2;
	margin: 0 auto;
	max-width: 30.75rem;
	padding: 0.625rem 1.25rem;
	position: relative;
	width: 100%;
}

.p-top-flow__best-catch::before {
	-webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
	background-color: #05B998;
	bottom: -0.75rem;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	content: "";
	height: 0.75rem;
	position: absolute;
	right: 50%;
	-webkit-transform: translateX(50%);
	        transform: translateX(50%);
	width: 1rem;
}

.p-top-flow__best-title {
	color: #0089A9;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}

.p-top-flow__best-img {
	width: 100%;
}

.p-top-flow__best-desc {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 150%;
}

.p-top-flow__best-item-feature {
	background-color: #fff;
	border: 0.3125rem solid #F76488;
	border-radius: 1rem;
	height: -moz-fit-content;
	height: -webkit-fit-content;
	height: fit-content;
	padding: 1.25rem;
	position: relative;
	width: 100%;
}

.p-top-flow__best-item-feature-title {
	font-size: 1rem;
	line-height: 1;
}

.p-top-flow__best-item-feature-head {
	background-color: #fff;
	border-radius: 0.5rem;
	color: #F76488;
	font-size: 1.125rem;
	font-weight: 700;
	left: 50%;
	line-height: 1;
	padding: 0.625rem;
	position: absolute;
	top: -1.375rem;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: -moz-max-content;
	width: -webkit-max-content;
	width: max-content;
}

.p-top-flow__best-item-feature-list {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.625rem;
}

.p-top-flow__best-item-feature-item {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
}

.p-top-flow__best-item-feature-item-icon {
	height: 2rem;
	width: 2rem;
}

.p-top-flow__best-item-feature-item-text {
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-size: 1.3125rem;
	line-height: 1.2;
}

.p-top-flow__best-link-catch {
	font-size: 1.625rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 0.3125rem;
	text-align: center;
}

.p-top-flow__best-link {
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-shadow: 0 0.25rem 0 0;
	        box-shadow: 0 0.25rem 0 0;
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	font-size: 2rem;
	font-weight: bold;
	gap: 0.625rem;
	height: 6rem;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	line-height: 1;
	margin: 0 auto;
	padding: 0.625rem;
	position: relative;
	-webkit-transform: translateY(0px);
	        transform: translateY(0px);
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	width: 100%;
}

.p-top-flow__best-hp {
	background-color: #F76488;
	border-radius: 100vmax;
	-webkit-box-shadow: 0 0.25rem 0 0 #094502;
	        box-shadow: 0 0.25rem 0 0 #094502;
	color: #fff;
}

.p-top-flow__best-hp:hover {
	-webkit-box-shadow: 0 0rem 0 0 #b32719;
	        box-shadow: 0 0rem 0 0 #b32719;
	-webkit-transform: translateY(4px);
	        transform: translateY(4px);
}

.p-top-flow__best-link-arrow {
	color: #fff;
	display: inline-block;
	height: 0.75rem;
	line-height: 1;
	position: absolute;
	right: 2.5rem;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	        transform: translateY(-50%) rotate(45deg);
	vertical-align: middle;
	width: 0.75rem;
}

.p-top-flow__best-link-arrow::before,
.p-top-flow__best-link-arrow::after {
	background: #fff;
	border-radius: 0.1em;
	content: "";
	position: absolute;
}

.p-top-flow__best-link-arrow::before {
	height: 0.1em;
	left: 0;
	right: 0;
	top: 0;
}

.p-top-flow__best-link-arrow::after {
	bottom: 0;
	right: 0;
	top: 0;
	width: 0.1em;
}

.u-hidden-pc {
	display: none;
}

.u-hidden-pc-ib {
	display: none;
}

.u-hidden-sp {
	display: block;
}

.u-hidden-sp-ib {
	display: inline-block;
}
.u-hidden-sp-i {
	display: inline;
}

.u-hidden-pc-f {
	display: none;
}

.u-hidden-sp-f {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.u-mb1 {
	margin-bottom: 0.0625rem;
}

.u-mb2 {
	margin-bottom: 0.125rem;
}

.u-mb3 {
	margin-bottom: 0.1875rem;
}

.u-mb4 {
	margin-bottom: 0.25rem;
}

.u-mb5 {
	margin-bottom: 0.3125rem;
}

.u-mb6 {
	margin-bottom: 0.375rem;
}

.u-mb7 {
	margin-bottom: 0.4375rem;
}

.u-mb8 {
	margin-bottom: 0.5rem;
}

.u-mb9 {
	margin-bottom: 0.5625rem;
}

.u-mb10 {
	margin-bottom: 0.625rem;
}

.u-mb11 {
	margin-bottom: 0.6875rem;
}

.u-mb12 {
	margin-bottom: 0.75rem;
}

.u-mb13 {
	margin-bottom: 0.8125rem;
}

.u-mb14 {
	margin-bottom: 0.875rem;
}

.u-mb15 {
	margin-bottom: 0.9375rem;
}

.u-mb16 {
	margin-bottom: 1rem;
}

.u-mb17 {
	margin-bottom: 1.0625rem;
}

.u-mb18 {
	margin-bottom: 1.125rem;
}

.u-mb19 {
	margin-bottom: 1.1875rem;
}

.u-mb20 {
	margin-bottom: 1.25rem;
}

.u-mb21 {
	margin-bottom: 1.3125rem;
}

.u-mb22 {
	margin-bottom: 1.375rem;
}

.u-mb23 {
	margin-bottom: 1.4375rem;
}

.u-mb24 {
	margin-bottom: 1.5rem;
}

.u-mb25 {
	margin-bottom: 1.5625rem;
}

.u-mb26 {
	margin-bottom: 1.625rem;
}

.u-mb27 {
	margin-bottom: 1.6875rem;
}

.u-mb28 {
	margin-bottom: 1.75rem;
}

.u-mb29 {
	margin-bottom: 1.8125rem;
}

.u-mb30 {
	margin-bottom: 1.875rem;
}

.u-mb31 {
	margin-bottom: 1.9375rem;
}

.u-mb32 {
	margin-bottom: 2rem;
}

.u-mb33 {
	margin-bottom: 2.0625rem;
}

.u-mb34 {
	margin-bottom: 2.125rem;
}

.u-mb35 {
	margin-bottom: 2.1875rem;
}

.u-mb36 {
	margin-bottom: 2.25rem;
}

.u-mb37 {
	margin-bottom: 2.3125rem;
}

.u-mb38 {
	margin-bottom: 2.375rem;
}

.u-mb39 {
	margin-bottom: 2.4375rem;
}

.u-mb40 {
	margin-bottom: 2.5rem;
}

.u-mb41 {
	margin-bottom: 2.5625rem;
}

.u-mb42 {
	margin-bottom: 2.625rem;
}

.u-mb43 {
	margin-bottom: 2.6875rem;
}

.u-mb44 {
	margin-bottom: 2.75rem;
}

.u-mb45 {
	margin-bottom: 2.8125rem;
}

.u-mb46 {
	margin-bottom: 2.875rem;
}

.u-mb47 {
	margin-bottom: 2.9375rem;
}

.u-mb48 {
	margin-bottom: 3rem;
}

.u-mb49 {
	margin-bottom: 3.0625rem;
}

.u-mb50 {
	margin-bottom: 3.125rem;
}

.u-mb51 {
	margin-bottom: 3.1875rem;
}

.u-mb52 {
	margin-bottom: 3.25rem;
}

.u-mb53 {
	margin-bottom: 3.3125rem;
}

.u-mb54 {
	margin-bottom: 3.375rem;
}

.u-mb55 {
	margin-bottom: 3.4375rem;
}

.u-mb56 {
	margin-bottom: 3.5rem;
}

.u-mb57 {
	margin-bottom: 3.5625rem;
}

.u-mb58 {
	margin-bottom: 3.625rem;
}

.u-mb59 {
	margin-bottom: 3.6875rem;
}

.u-mb60 {
	margin-bottom: 3.75rem;
}

.u-mb61 {
	margin-bottom: 3.8125rem;
}

.u-mb62 {
	margin-bottom: 3.875rem;
}

.u-mb63 {
	margin-bottom: 3.9375rem;
}

.u-mb64 {
	margin-bottom: 4rem;
}

.u-mb65 {
	margin-bottom: 4.0625rem;
}

.u-mb66 {
	margin-bottom: 4.125rem;
}

.u-mb67 {
	margin-bottom: 4.1875rem;
}

.u-mb68 {
	margin-bottom: 4.25rem;
}

.u-mb69 {
	margin-bottom: 4.3125rem;
}

.u-mb70 {
	margin-bottom: 4.375rem;
}

.u-mb71 {
	margin-bottom: 4.4375rem;
}

.u-mb72 {
	margin-bottom: 4.5rem;
}

.u-mb73 {
	margin-bottom: 4.5625rem;
}

.u-mb74 {
	margin-bottom: 4.625rem;
}

.u-mb75 {
	margin-bottom: 4.6875rem;
}

.u-mb76 {
	margin-bottom: 4.75rem;
}

.u-mb77 {
	margin-bottom: 4.8125rem;
}

.u-mb78 {
	margin-bottom: 4.875rem;
}

.u-mb79 {
	margin-bottom: 4.9375rem;
}

.u-mb80 {
	margin-bottom: 5rem;
}

.u-mb81 {
	margin-bottom: 5.0625rem;
}

.u-mb82 {
	margin-bottom: 5.125rem;
}

.u-mb83 {
	margin-bottom: 5.1875rem;
}

.u-mb84 {
	margin-bottom: 5.25rem;
}

.u-mb85 {
	margin-bottom: 5.3125rem;
}

.u-mb86 {
	margin-bottom: 5.375rem;
}

.u-mb87 {
	margin-bottom: 5.4375rem;
}

.u-mb88 {
	margin-bottom: 5.5rem;
}

.u-mb89 {
	margin-bottom: 5.5625rem;
}

.u-mb90 {
	margin-bottom: 5.625rem;
}

.u-mb91 {
	margin-bottom: 5.6875rem;
}

.u-mb92 {
	margin-bottom: 5.75rem;
}

.u-mb93 {
	margin-bottom: 5.8125rem;
}

.u-mb94 {
	margin-bottom: 5.875rem;
}

.u-mb95 {
	margin-bottom: 5.9375rem;
}

.u-mb96 {
	margin-bottom: 6rem;
}

.u-mb97 {
	margin-bottom: 6.0625rem;
}

.u-mb98 {
	margin-bottom: 6.125rem;
}

.u-mb99 {
	margin-bottom: 6.1875rem;
}

.u-mb100 {
	margin-bottom: 6.25rem;
}

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

.l-header {
	height: 7.34375vw;
	padding-left: 1.640625vw;
}

.l-header__content {
	gap: 1.953125vw;
}

}

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

html {
	font-size: 16px;
}

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

.l-body {
	padding-bottom: 4.375rem;
	padding-top: 0.75rem;
}

.l-header {
	height: 100%;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: 100%;
}

}

@media (max-width: 720px) {

.c-text__large {
	font-size: 7.8vw;
}

.p-top-point__heading {
	font-size: 5vw;
}

.p-top-point__item-head-wrap {
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

.p-top-chart__human01 {
	left: 3vw;
	width: 19.5vw;
}

.p-top-chart__human02 {
	right: 9vw;
	width: 16vw;
}

.u-hidden-pc {
	display: block;
}

.u-hidden-pc-ib {
	display: inline-block;
}

.u-hidden-sp {
	display: none;
}

.u-hidden-sp-ib {
	display: none;
}
.u-hidden-sp-i {
	display: none;
}

.u-hidden-pc-f {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.u-hidden-sp-f {
	display: none;
}

}

@media (max-width: 600px) {

.c-heading {
	font-size: 5vw;
	padding: 1.25rem 2.1875rem;
}

.c-heading::before,
.c-heading::after {
	height: 0.25rem;
	width: 2.5rem;
}

.p-top-table__data {
	font-size: 0.8125rem;
}

.p-top-chart__human01 {
	left: 0;
}

.p-top-chart__human02 {
	right: 0;
}

.p-top-chart__title {
	font-size: 8vw;
}

.p-top-chart__box-btn {
	font-size: 1rem;
	height: 4.375rem;
}

.p-top-chart__box-link {
	font-size: 1.5rem;
}

.p-top-service__title {
	font-size: 1.5rem;
}

.p-top-service__list {
	padding: 1.5rem 0.75rem;
}

.p-top-service__item {
	padding: 2.5rem 0.75rem;
}

.p-top-service__item-subtitle {
	font-size: 1.125rem;
}

.p-top-service__item-title {
	font-size: 1.875rem;
}

.p-top-service__item-catch {
	font-size: 1.25rem;
}

.p-top-service__item-link {
	font-size: 1.5rem;
}

.p-top-service__item-swiper-wrap {
	padding: 0 1.25rem;
}

.p-top-service__item-swiper-wrap .swiper-button-next,
.swiper-rtl .swiper-button-prev {
	right: -0.3125rem;
}

.p-top-service__item-swiper-wrap .swiper-button-prev,
.swiper-rtl .swiper-button-next {
	left: -0.3125rem;
}

.swiper-button-prev::before,
.swiper-button-next::before {
	height: 2rem;
	width: 2rem;
}

.swiper-button-prev::after {
	border-bottom: 5px solid transparent;
	border-right: 8px solid #FFF;
	border-top: 5px solid transparent;
}

.swiper-button-next::after {
	border-bottom: 5px solid transparent;
	border-left: 8px solid #FFF;
	border-top: 5px solid transparent;
}

.p-top-service__container {
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: column-reverse;
	    -ms-flex-direction: column-reverse;
	        flex-direction: column-reverse;
}

.p-top-service__container-left {
	max-width: 100%;
	width: 100%;
}

.p-top-service__container-right {
	margin-left: auto;
	max-width: 13.75rem;
	top: 0rem;
	width: 50%;
}

.p-top-service__row-item {
	width: 50%;
}

.p-top-service__detail-row-head {
	padding: 0.375rem 0.3125rem;
	width: 6.5625rem;
}

.p-top-service__best-item-text {
	font-size: 1.125rem;
}

.p-top-service__location-item-name {
	font-size: 1.125rem;
}

.p-top-summary__inner {
	padding: 0 0.75rem;
}

.p-top-summary__item-icon {
	height: 3rem;
	width: 3rem;
}

.p-top-summary__item-text {
	font-size: 1.5rem;
}

.p-top-flow__card-step {
	top: -1rem;
}

.p-top-flow__card-title {
	font-size: 1.5rem;
	width: 9.375rem;
}

.p-top-flow__card-desc {
	font-size: 1.25rem;
}

.p-top-flow__best {
	padding: 0 0.75rem 1.5rem;
}

.p-top-flow__best-catch {
	font-size: 1.3125rem;
	height: 3.5rem;
}

.p-top-flow__best-title {
	font-size: 5.8vw;
}

.p-top-flow__best-desc {
	font-size: 1rem;
}

.p-top-flow__best-item-feature-item-text {
	font-size: 1.125rem;
}

.p-top-flow__best-link-catch {
	font-size: 1.25rem;
}

.p-top-flow__best-link {
	font-size: 1.5rem;
}

.p-top-flow__best-link-arrow {
	right: 1.25rem;
}

}

@media (max-width: 480px) {

.c-heading {
	font-size: 1.375rem;
	padding: 1.25rem 1.5625rem;
}

.c-heading::before,
.c-heading::after {
	height: 0.25rem;
	width: 1.875rem;
}

.c-heading::before {
	left: -0.625rem;
}

.c-heading::after {
	right: -0.625rem;
}

.c-heading03 {
	font-size: 1.125rem;
	height: 3.125rem;
}

.c-text {
	font-size: 1.25rem;
}

.c-text__head {
	font-size: 1.25rem;
}

.c-text__wide {
	font-size: 1.25rem;
}

.c-text__small {
	font-size: 0.75rem;
}

.p-top-recommend__inner {
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}

.p-top-recommend__card-list {
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
}

.p-top-recommend__card-item-text {
	font-size: 0.9375rem;
}

.p-top-chart__inner {
	padding: 1.25rem;
}

.p-top-chart__subtitle {
	font-size: 1.5rem;
}

.p-top-chart__box-btn {
	font-size: 0.9375rem;
	height: 3.75rem;
}

.p-top-chart__box-link {
	font-size: 1.25rem;
}

.p-top-service__title {
	font-size: 1.3125rem;
}

.p-top-service__item-subtitle {
	font-size: 1rem;
}

.p-top-service__item-title {
	font-size: 1.5rem;
}

.p-top-service__box-title {
	font-size: 1.25rem;
}

.p-top-service__item-catch {
	font-size: 1.125rem;
}

.p-top-service__item-link {
	font-size: 4.2vw;
	height: 3.125rem;
}

.p-top-service__item-note {
	margin-top: 0.75rem;
}

.swiper-button-prev::before,
.swiper-button-next::before {
	height: 1.5rem;
	width: 1.5rem;
}

.p-top-service__best-item-text {
	font-size: 1rem;
}

.p-top-service__cell {
	font-size: 0.875rem;
}

.p-top-service__cell--header,
.p-top-service__pricing-row--campaign .p-top-service__cell {
	font-size: 0.9375rem;
}

.p-top-service__location-list {
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
}

.p-top-service__location-item-name {
	font-size: 0.9375rem;
}

.p-top-summary__item-icon {
	height: 2.25rem;
	width: 2.25rem;
}

.p-top-summary__item-text {
	font-size: 1.125rem;
}

.p-top-flow__card-step {
	top: -0.875rem;
}

.p-top-flow__card-title {
	font-size: 1.25rem;
	width: 8.125rem;
}

.p-top-flow__card-desc {
	font-size: 1rem;
	padding: 0.5rem;
}

.p-top-flow__best-catch {
	font-size: 1rem;
	height: 3.125rem;
}

.p-top-flow__best-desc {
	font-size: 0.9375rem;
}

.p-top-flow__best-item-feature-item-text {
	font-size: 1rem;
}

.p-top-flow__best-link-catch {
	font-size: 1rem;
}

.p-top-flow__best-link {
	font-size: 4.2vw;
	height: 3.125rem;
}

}

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

.c-loop {
	padding: 0.625rem 0;
}

.c-loop__item img {
	height: 1.5625rem;
}

.c-text {
	font-size: 1rem;
	font-weight: 500;
}

.c-text__head {
	font-size: 1.125rem;
}

.c-text__wide {
	font-size: 1rem;
}

}

@media (max-width: 420px) {

.p-top-flow__card-list {
	gap: 1.25rem;
	-ms-grid-columns: (1fr)[1];
	grid-template-columns: repeat(1, 1fr);
	padding-right: 0.75rem;
	padding-right: 0.75rem;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@-webkit-keyframes scroll {

0% {
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

100% {
	-webkit-transform: translateX(-100%);
	        transform: translateX(-100%);
}

}

@keyframes scroll {

0% {
	-webkit-transform: translateX(0);
	        transform: translateX(0);
}

100% {
	-webkit-transform: translateX(-100%);
	        transform: translateX(-100%);
}

}

@-webkit-keyframes fadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes fadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@-webkit-keyframes fadeOut {

from {
	opacity: 1;
}

to {
	opacity: 0;
}

}

@keyframes fadeOut {

from {
	opacity: 1;
}

to {
	opacity: 0;
}

}

@-webkit-keyframes slideUp {

from {
	-webkit-transform: translateY(100%);
	        transform: translateY(100%);
}

to {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

}

@keyframes slideUp {

from {
	-webkit-transform: translateY(100%);
	        transform: translateY(100%);
}

to {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

}

@-webkit-keyframes slideDown {

from {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

to {
	-webkit-transform: translateY(100%);
	        transform: translateY(100%);
}

}

@keyframes slideDown {

from {
	-webkit-transform: translateY(0);
	        transform: translateY(0);
}

to {
	-webkit-transform: translateY(100%);
	        transform: translateY(100%);
}

}

