body {
	font-feature-settings: "pnum";
	font-family: "Noto Sans JP", sans-serif;
	font-variant-numeric: proportional-nums;
}

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

html {
	font-size: 16px;
}

body {
	color: #333333;
	line-height: 1.5;
}

.l-bodyWrap {
	overflow-x: clip;
}

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

/* pcの電話番号発信対応 */

/* ホバー */

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

a::before,
a::after {
	transition: opacity 0.3s;
}

.txt-lightblue {
	color: #66a3ae;
}

/*! 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;
	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;
}

/* 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;
	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 {
	-webkit-text-decoration: none;
	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;
	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
 */

/**
 * 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;
}

.p-form__item {
	border-bottom: 0.0625rem solid #b5b5b5;
	display: flex;
	padding: 1.25rem 0;
}

.p-form__item:first-of-type {
	border-top: 0.0625rem solid #b5b5b5;
}

.p-form__title {
	align-items: center;
	display: flex;
	font-size: 1.125rem;
	gap: 0.625rem;
	padding: 0 1.875rem;
	width: 30%;
}

.p-form__title span {
	background-color: #d00000;
	color: #fff;
	display: inline-block;
	font-size: 0.75rem;
	padding: 0.3125rem;
}

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

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

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

.p-form__input {
	flex: 1;
}

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

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

.p-formInput input {
	border: 0.0625rem solid #b5b5b5;
	border-radius: 0;
	font-size: 1rem;
	height: 3.75rem;
	padding-left: 1.25rem;
	width: 100%;
}

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

.p-formInput--sm input {
	max-width: 100%;
	width: 21.875rem;
}

.p-formInput__post {
	align-items: center;
	display: flex;
	gap: 0.625rem;
}

.p-formInput__post input {
	margin-left: auto;
	margin-right: auto;
	width: 20rem;
}

.p-formInput__address {
	margin-top: 0.625rem;
}

.p-formInput__address input {
	width: 70%;
}

.p-formInput--tel {
	align-items: center;
	display: flex;
	gap: 0.3125rem;
}

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

.p-formInput--tel input {
	max-width: 100%;
	width: 9.375rem;
}

.p-formSelect select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../img/common/ico_pulldown.svg) right 0.625rem center/0.625rem no-repeat;
	border: 0.0625rem solid #b5b5b5;
	border-radius: 0;
	color: lightgray;
	font-size: 1rem;
	height: 3.75rem;
	max-width: 100%;
	padding-left: 1.25rem;
	width: 15.625rem;
}

.p-formSelect select:focus {
	outline: 0.125rem solid #b5b5b5;
}

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

.p-formDate__flex {
	align-items: center;
	display: flex;
	gap: 2.1875rem;
}

.p-formDate__flex + .p-formDate__flex {
	margin-top: 1.25rem;
}

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

.p-form__dataBlockFlex {
	align-items: center;
	display: flex;
}

.p-form__dataBlockFlex + .p-form__dataBlockFlex {
	margin-top: 1.25rem;
}

.p-form__dataBlockLabel {
	font-size: 1rem;
	width: 5rem;
}

.p-formCalendar {
	position: relative;
}

.p-formCalendar input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../img/common/ico_calendar.svg) right 0.5rem center/0.9375rem no-repeat;
	background-color: #fff;
	border: 0.0625rem solid #b5b5b5;
	border-radius: 0;
	color: lightgray;
	font-size: 1rem;
	height: 3.75rem;
	padding-left: 1.25rem;
	padding-right: 0.3125rem;
	position: relative;
	width: 15.625rem;
}

.p-formCalendar input::-webkit-calendar-picker-indicator {
	background: transparent;
	bottom: 0;
	color: transparent;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}

.p-formCalendar input::-webkit-date-and-time-value {
	text-align: left;
}

.p-formCalendar input:focus {
	outline: 0.125rem solid #b5b5b5;
}

.p-formCalendar input:not(.p-formDate__default) {
	color: #333;
}

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

.p-formNumber__flex {
	align-items: center;
	display: flex;
	gap: 1.875rem;
	margin-top: 1.25rem;
}

.p-formNumber__block {
	align-items: center;
	display: flex;
}

.p-formNumber__blockLabel01 {
	font-size: 1rem;
	margin-right: 1.875rem;
}

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

.p-formNumber__blockInput {
	margin-right: 0.625rem;
	width: 9.375rem;
}

.p-formCheckbox input {
	display: none;
}

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

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

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

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

.p-formCheckbox--vertical .wpcf7-list-item + .wpcf7-list-item {
	margin-top: 1.25rem;
}

.p-formCheckbox input + span {
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	padding: 0 0 0 2.1875rem;
	position: relative;
	width: auto;
}

.p-formCheckbox input + span::before {
	background-color: #f5f5f5;
	border: 0.0625rem solid #989898;
	border-radius: 0.25rem;
	box-shadow: 0rem 0.125rem 0.1875rem inset rgba(0, 0, 0, 0.17);
	content: "";
	display: block;
	height: 1.25rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
}

.p-formCheckbox input + span::after {
	border-bottom: 0.1875rem solid #2e808e;
	border-right: 0.1875rem solid #2e808e;
	content: "";
	display: block;
	height: 0.8125rem;
	left: 0.375rem;
	margin-top: -0.5rem;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: rotate(45deg);
	width: 0.5rem;
}

.p-formCheckbox input:checked + span::after {
	opacity: 1;
}

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

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

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

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

.p-formRadio--vertical .wpcf7-list-item + .wpcf7-list-item {
	margin-top: 1.25rem;
}

.p-formRadio input + span {
	cursor: pointer;
	display: flex;
	font-size: 1.25rem;
}

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

.p-formRadio input + span::before {
	background: #f5f5f5;
	border: 0.0625rem solid #b5b5b5;
	border-radius: 100%;
	content: "";
	height: 1.625rem;
	margin-bottom: auto;
	margin-right: 0.6em;
	margin-top: auto;
	width: 1.625rem;
}

.p-formRadio input:checked + span::before {
	background-color: #2e808e;
	box-shadow: inset 0 0 0 0.4375rem #f5f5f5;
}

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

.p-formFile .wpcf7-form-control-wrap + .wpcf7-form-control-wrap {
	margin-top: 1.25rem;
}

.p-formFile input {
	font-size: 1rem;
	line-height: 1;
	max-width: 100%;
}

.p-formTextarea textarea {
	border: 0.0625rem solid #b5b5b5;
	border-radius: 0;
	font-size: 1rem;
	min-height: 21.875rem;
	padding-left: 1.25rem;
	padding-top: 0.625rem;
	width: 100%;
}

.p-form__privacy {
	font-size: 1rem;
	margin-top: 1.875rem;
	text-align: center;
}

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

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

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

.p-formBtn input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #313d58;
	border: none;
	border: none;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	font-size: 1.125rem;
	padding: 1.25rem 0;
	text-align: center;
	transition: opacity 0.5s;
	width: 18.75rem;
}

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

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #2c94de;
	font-size: 1.5rem;
	padding: 0.9375rem 0.625rem;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: red;
	font-size: 1.5rem;
	padding: 0.9375rem 0.625rem;
}

.wpcf7-spinner {
	display: none;
}

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

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

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

.p-formValidation__error {
	color: red;
	display: none;
	font-size: 1rem;
	font-weight: normal;
	margin-top: 0.625rem;
}

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

/****** flex ******/

.p-formInput--flex {
	align-items: center;
	display: flex;
	flex: auto;
	gap: 0 0.9375rem;
}

.u-flex-align-end {
	align-items: flex-end;
}

.micromodal-slide {
	display: none;
}

.micromodal-slide.is-hide {
	opacity: 0 !important;
	visibility: hidden !important;
}

.micromodal-slide.is-open {
	display: block;
}

/* モーダル */

.modal-overlay {
	align-items: center;
	background: rgba(0, 41, 62, 0.8);
	bottom: 0;
	display: flex;
	justify-content: center;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 200;
}

.modal-container {
	max-height: 80vh;
	max-width: 47.9375rem;
	position: relative;
}

.modal-close {
	align-items: center;
	background-color: #fff;
	border-radius: 50%;
	box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2);
	color: #000;
	display: flex;
	font-size: 22px;
	height: 50px;
	justify-content: center;
	position: absolute;
	right: -30px;
	top: -30px;
	width: 50px;
}

.modal-content {
	background-color: #fff;
	max-height: 80vh;
	overflow-y: auto;
}

/* モーダルアニメーション */

.micromodal-slide[aria-hidden=false] .modal-overlay {
	animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=false] .modal-container {
	animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal-overlay {
	animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden=true] .modal-container {
	animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
	bottom: -1.5625rem;
	text-align: right;
}

.swiper-pagination-bullet-active {
	background: #391e88;
}

.wp-pagenavi {
	display: flex;
	gap: 0.625rem;
	justify-content: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
	align-items: center;
	background-color: #7633A4;
	border-radius: 50%;
	color: #FFFFFF;
	display: inline-flex;
	font-size: 1.25rem;
	font-weight: bold;
	height: 2.8125rem;
	justify-content: center;
	transition: 0.3s ease;
	width: 2.8125rem;
}

.wp-pagenavi a:hover {
	background-color: #F1EBF8;
	color: #4F31A5;
	opacity: 1;
}

.wp-pagenavi span.current {
	background-color: #F1EBF8;
	color: #4F31A5;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1130px;
	padding-left: 25px;
	padding-right: 25px;
}

.c-btn {
	align-items: center;
	background-color: #fc5135;
	border-radius: 0.3125rem;
	color: #fff;
	display: flex;
	font-size: 1rem;
	font-weight: 500;
	justify-content: center;
	padding: 1rem 3.5625rem 1rem 3.125rem;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.c-btn::after {
	border-right: solid 0.0625rem #fff;
	border-top: solid 0.0625rem #fff;
	bottom: 0;
	content: "";
	display: block;
	height: 0.5rem;
	margin: auto;
	position: absolute;
	right: 1.25rem;
	top: 0;
	transform: rotate(45deg);
	width: 0.5rem;
}

.c-btn.center {
	margin-left: auto;
	margin-right: auto;
}

.c-ttl01 {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-bottom: 4.75rem;
}

.c-ttl01__mainTxt {
	color: #222;
	font-family: "Noto Serif JP", sans-serif;
	font-size: 2.5rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-align: center;
}

.c-ttl01__subTxt {
	color: #bbdfe5;
	font-size: 1.75rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	margin-top: -0.625rem;
	text-align: center;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* アニメーション
――――――――――――――――――――――――――――――――――――――――――――――*/

/****** フェードイン ******/

.js-fade {
	opacity: 0;
	transform: translateY(1.875rem);
	transition: opacity 1.2s, transform 1.2s;
}

.js-fade.is-active {
	opacity: 1;
	transform: translate(0);
}

.js-fade-load {
	filter: opacity(0);
	transform: translateY(1.875rem);
	transition: filter 1.2s, transform 1.2s;
}

.js-fade-load.is-active {
	filter: opacity(1);
	transform: translate(0);
}

.js-fadeRow > * {
	opacity: 0;
	transform: translateY(1.875rem);
	transition: opacity 1.2s, transform 1.2s;
}

.js-fadeRow.is-active > * {
	opacity: 1;
	transform: translate(0);
}

.js-fadeRow.is-active > *:nth-child(1) {
	transition-delay: 0s;
}

.js-fadeRow.is-active > *:nth-child(2) {
	transition-delay: 0.2s;
}

.js-fadeRow.is-active > *:nth-child(3) {
	transition-delay: 0.4s;
}

.js-fadeRow.is-active > *:nth-child(4) {
	transition-delay: 0.6s;
}

.js-fadeRow.is-active > *:nth-child(5) {
	transition-delay: 0.8s;
}

.js-fadeRow.is-active > *:nth-child(6) {
	transition-delay: 1s;
}

.js-fadeRow.is-active > *:nth-child(7) {
	transition-delay: 1.2s;
}

.js-fadeRow.is-active > *:nth-child(8) {
	transition-delay: 1.4s;
}

.js-fadeRow.is-active > *:nth-child(9) {
	transition-delay: 1.6s;
}

.js-fadeRow.is-active > *:nth-child(10) {
	transition-delay: 1.8s;
}

.page-contact .p-headerContact,
.page-contact-thanks .p-headerContact {
	display: none;
}

.page-contact .p-headerTel__time,
.page-contact-thanks .p-headerTel__time {
	color: #000;
}

.page-contact-thanks .p-headerContact {
	display: none;
}

.page-contact-thanks .p-headerTel {
	display: none;
}

.p-contact {
	font-weight: 500;
	padding-top: 10rem;
}

.p-contact__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 61.25rem;
	padding: 0 1.5625rem 6.25rem;
	padding-left: 1.5625rem;
	padding-right: 1.5625rem;
	width: 100%;
}

.p-form__title {
	font-size: 1.25rem;
	margin-right: 5.125rem;
	min-width: 20rem;
	padding: 0 0rem 0 6.375rem;
	position: relative;
}

.p-form__title span {
	background-color: #fc5135;
	color: #fff;
	display: inline-block;
	flex-shrink: 0;
	font-size: 0.9375rem;
	left: 0;
	padding: 0.125rem 1rem;
	position: absolute;
}

.p-form__title .note {
	color: #8b8b8b;
	font-size: 0.75rem;
}

.p-form__item {
	border: none;
	padding: 1.0625rem 0;
}

.p-form__item:first-of-type {
	border: none;
	padding-top: 0;
}

.p-form__item:last-of-type {
	padding-bottom: 0;
}

.p-form__input span {
	font-size: 1rem;
}

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

.p-formInput input {
	border: solid 0.0625rem #989898;
	height: 3.125rem;
	padding-left: 1.125rem;
	padding-right: 1.125rem;
}

.p-formNumber__flex {
	margin-top: 0;
}

/****** ラジオボタン ******/

.p-formRadio .wpcf7-radio {
	gap: 1.25rem 3.125rem;
}

/****** ラジオボタンカスタマイズ ******/

.wpcf7-form-control-wrap[data-name=details] .wpcf7-radio {
	gap: 0.625rem 0.5rem;
}

.wpcf7-form-control-wrap[data-name=details] label {
	align-items: center;
	background-color: #74b1bc;
	border-radius: 0.4375rem;
	cursor: pointer;
	display: flex;
	justify-content: center;
	padding: 0.8125rem 0.9375rem;
	width: 11.25rem;
}

.wpcf7-form-control-wrap[data-name=details] input + span {
	color: #fff;
	font-size: 1.0625rem;
}

.wpcf7-form-control-wrap[data-name=details] input + span::before {
	border: none;
	box-shadow: inset 0 0 0 0.3125rem #f5f5f5;
	height: 1.125rem;
	margin-right: 0.3em;
	width: 1.125rem;
}

/******  ******/

.p-form__item.--company {
	padding: 0;
}

.p-form__item-company {
	display: flex;
}

[data-id=your-company] {
	padding: 1.0625rem 0;
}

/****** 住所自動反映ボタン ******/

.autoAddressInput {
	background-color: #74b1bc;
	border-radius: 0.9375rem;
	color: #fff;
	display: block;
	flex-shrink: 0;
	font-size: 1rem;
	margin-left: 1.25rem;
	padding: 0.3125rem 0.9375rem;
	width: -moz-fit-content;
	width: fit-content;
}

.autoAddressInput:hover {
	cursor: pointer;
	opacity: 0.8;
}

.p-formInput__ttl-style01 {
	align-items: center;
	background-color: #ebebeb;
	display: flex;
	flex-shrink: 0;
	font-size: 1.125rem;
	justify-content: center;
	width: 6.75rem;
}

.p-form__item.--kind {
	padding: 1.875rem 0;
}

/****** 仕上がり希望時間 ******/

.p-form__item.--comp-time .p-formNumber__blockInput {
	width: 6.25rem;
}

/****** 着る目的 ******/

.p-form__item.--purpose .p-formDate__flex {
	align-items: stretch;
}

.p-form__item.--purpose .wpcf7-checkbox {
	flex-wrap: wrap;
	gap: 0.625rem 0.9375rem;
	max-width: 18.75rem;
	white-space: nowrap;
}

.p-form__item.--purpose .wpcf7-list-item {
	width: 100%;
}

.p-form__item.--purpose .p-formDate__flex + .p-formDate__flex {
	border-top: solid 0.0625rem #ebebeb;
	margin-top: 2.1875rem;
	padding-top: 2.1875rem;
}

/****** 着物の種類 ******/

.p-form__item.--kimono-kind .wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem 0.9375rem;
	max-width: 22.5rem;
	white-space: nowrap;
}

.p-form__item.--kimono-kind .wpcf7-list-item {
	width: calc((100% - 0.9375rem) / 2);
}

.p-form__item.--kimono-kind .p-formDate__flex + .p-formDate__flex {
	border-top: solid 0.0625rem #ebebeb;
	margin-top: 2.1875rem;
	padding-top: 2.1875rem;
}

/****** ヘアセット ******/

.p-form__item.--hair-set {
	padding: 1.875rem 0;
}

/****** 送信ボタン ******/

.p-formBtn input[type=submit] {
	background-color: #74b1bc;
	border-radius: 6.25rem;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* p-cta
――――――――――――――――――――――――――――――――――――――――――――――*/

.p-cta {
	align-items: center;
	background: linear-gradient(180deg, rgba(255, 245, 231, 0.4) 0%, rgba(222, 197, 165, 0.4) 100%);
	box-shadow: 0rem 0rem 1rem rgba(154, 152, 152, 0.2);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 55rem;
	padding: 2.1875rem 10.625rem 2.5625rem 0.9375rem;
	position: relative;
	width: 100%;
	z-index: 0;
}

.p-cta::before {
	aspect-ratio: 147/105;
	background: url(../img/common/cta_deco-flower.svg) no-repeat center center/100%;
	bottom: 2.5rem;
	content: "";
	display: block;
	height: auto;
	left: -2.375rem;
	margin: auto;
	position: absolute;
	width: 9.1875rem;
	z-index: -1;
}

.p-cta::after {
	aspect-ratio: 198/266;
	background: url(../img/common/cta_deco-woman.webp) no-repeat center center/100%;
	bottom: 0;
	content: "";
	display: block;
	height: auto;
	margin: auto;
	position: absolute;
	right: 0;
	width: 14.25rem;
	z-index: -1;
}

.p-cta__ttl {
	font-size: 1.5rem;
	font-weight: 500;
	margin-bottom: 2.125rem;
	text-align: center;
}

.p-ctaLinkBox {
	display: flex;
	flex-wrap: wrap;
	gap: 1.4375rem 1.5rem;
	justify-content: center;
}

.p-ctaLink__item {
	width: 18.125rem;
}

.p-ctaLink__topTxt {
	font-size: 0.875rem;
	margin-bottom: 0.3125rem;
	text-align: center;
}

.p-ctaLinkTel {
	align-items: center;
	background-color: #89cbd8;
	flex-direction: column;
	height: 4.125rem;
	padding: 0.8125rem 1.25rem;
	width: 100%;
}

.p-ctaLinkTel::after {
	display: none;
}

.p-ctaLinkTel__number {
	font-size: 1.5rem;
	font-weight: 300;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-ctaLinkTel__number::before {
	background: url(../img/common/ico_tel.svg) no-repeat center center/100%;
	content: "";
	display: inline-block;
	height: 1.125rem;
	margin: 0 0.3125rem 0 0;
	width: 1.125rem;
}

.p-ctaLinkTel__subTxt {
	font-size: 0.6875rem;
	margin-right: -1.3125rem;
	margin-top: 0.125rem;
}

.p-ctaLinkContact {
	height: 4.125rem;
	padding: 0.8125rem 1.25rem;
	position: relative;
	width: 100%;
}

.p-ctaLinkContact::before {
	-webkit-mask-image: url(../img/common/ico_mail.svg);
	-webkit-mask-size: 100%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	aspect-ratio: 18/14;
	background-color: #fff;
	content: "";
	display: inline-block;
	flex-shrink: 0;
	height: auto;
	margin: 0 0.375rem -0.125rem 0;
	mask-image: url(../img/common/ico_mail.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 100%;
	width: 1.125rem;
}

.p-ctaLinkContact::after {
	display: none;
}

.p-ctaLinkContact__txt {
	font-weight: 500;
	letter-spacing: 0.04em;
}

.p-ctaLinkLine {
	background-color: #00b900;
	min-height: 4.125rem;
	padding: 1rem 1.25rem 1rem 1.25rem;
	width: 18.125rem;
}

.p-ctaLinkLine::before {
	-webkit-mask-image: url(../img/common/ico_line.svg);
	-webkit-mask-size: 100%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	aspect-ratio: 25/24;
	background-color: #fff;
	content: "";
	display: inline-block;
	height: auto;
	margin: 0 0.375rem -0.1875rem -0.1875rem;
	mask-image: url(../img/common/ico_line.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 100%;
	width: 1.5625rem;
}

.p-ctaLinkLine::after {
	display: none;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* p-flow
――――――――――――――――――――――――――――――――――――――――――――――*/

.p-flow {
	background: rgba(246, 239, 216, 0.34) url(../img/common/bg02.webp) repeat center center/33.0625rem 24.75rem;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-flow__ttl {
	margin-bottom: 2.5rem;
}

.p-flow__ttl .c-ttl01__subTxt {
	color: #e6c498;
}

.p-flow__contBox {
	background-color: #fff;
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 55rem;
	padding: 3.75rem 1.875rem 3.5rem;
	width: 100%;
}

.p-flowlist {
	counter-reset: number 0;
}

.p-flowlist__item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 3.9375rem;
	padding-left: 5rem;
	position: relative;
}

.p-flowlist__item::before {
	align-items: center;
	background-color: #e6c498;
	border-radius: 50%;
	color: #fff;
	content: counter(number, decimal-leading-zero);
	counter-increment: number 1;
	display: flex;
	font-family: Helvetica, sans-serif;
	font-size: 1.5rem;
	font-style: italic;
	height: 3.9375rem;
	justify-content: center;
	left: 0;
	margin: auto;
	position: absolute;
	top: 0;
	width: 3.9375rem;
	z-index: 2;
}

.p-flowlist__item::after {
	background-color: #e6c498;
	content: "";
	display: block;
	height: calc(100% + 1.25rem);
	left: 1.875rem;
	margin: auto;
	position: absolute;
	top: 0;
	width: 0.375rem;
	z-index: 0;
}

.p-flowlist__item:last-of-type::after {
	display: none;
}

.p-flowlist__item + .p-flowlist__item {
	margin-top: 1.25rem;
}

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

/**********************************************************

p-footer

***********************************************************/

.p-footer {
	background: url(../img/common/footer_bg.webp) no-repeat center center/cover;
	color: #fff;
	padding-bottom: 5.625rem;
	padding-top: 5.625rem;
	position: relative;
	z-index: 0;
}

.p-footer::before {
	background: rgba(0, 0, 0, 0.5411764706);
	content: "";
	display: block;
	height: 100%;
	left: 0;
	margin: auto;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.p-footer__inner {
	display: flex;
	max-width: 58.6875rem;
}

.p-footerTxt {
	padding-right: 4rem;
}

.p-footerLogo {
	display: block;
	font-size: 2rem;
	margin-bottom: 1.0625rem;
}

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

.p-footerTxt__address {
	font-size: 0.875rem;
	margin-top: 1.0625rem;
}

.p-footerInfo {
	border-left: solid 0.0625rem #fff;
	padding-left: 4.5rem;
	padding-top: 1rem;
}

.p-footerTel {
	display: block;
}

.p-footerTel__topTxt {
	font-size: 0.875rem;
	margin-bottom: 0.3125rem;
}

.p-footerTel__topTxt::before {
	background: url(../img/common/ico_tel.svg) no-repeat center center/100%;
	content: "";
	display: inline-block;
	height: 1rem;
	margin: 0 0.4375rem -0.0625rem 0.3125rem;
	width: 1rem;
}

.p-footerTel__num {
	font-size: 2.25rem;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-footerTel__time {
	font-size: 0.6875rem;
	margin-top: 0.375rem;
}

.p-footerContact {
	margin-top: 1.1875rem;
}

.p-footerContact__link {
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	padding-bottom: 0.625rem;
	padding-top: 0.625rem;
	width: 100%;
}

.p-footerContact__link::after {
	display: none;
}

.p-footerContact__link + .p-footerContact__link {
	margin-top: 0.9375rem;
}

.p-footerContact__link.--contact::before {
	background: url(../img/common/ico_mail.svg) no-repeat center center/100%;
	content: "";
	display: inline-block;
	height: 0.75rem;
	margin: 0 0.625rem 0 0;
	width: 0.9375rem;
}

.p-footerContact__link.--line {
	background-color: #00b900;
}

.p-footerContact__link.--line::before {
	-webkit-mask-image: url(../img/common/ico_line.svg);
	-webkit-mask-size: 100%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	aspect-ratio: 25/24;
	background-color: #fff;
	content: "";
	display: inline-block;
	height: auto;
	margin: 0 0.625rem -0.1875rem 0;
	mask-image: url(../img/common/ico_line.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 100%;
	width: 1.125rem;
}

.p-footerCopy {
	align-items: center;
	background-color: #333333;
	color: #fff;
	display: flex;
	justify-content: center;
	padding: 1rem 0.9375rem;
}

.p-footerCopy__txt {
	font-size: 0.75rem;
	font-weight: 400;
	text-align: center;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* sp
――――――――――――――――――――――――――――――――――――――――――――――*/

.p-header {
	left: 0;
	position: absolute;
	top: 0.875rem;
	width: 100%;
	z-index: 20;
}

.p-header__inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	max-width: 90rem;
}

.p-headerLogo {
	width: 13.75rem;
}

.p-headerCta {
	display: flex;
	gap: 0 1.5rem;
	margin-left: auto;
}

.p-headerTel {
	background-color: #89cbd8;
	height: 2.9375rem;
	padding: 0.75rem 1rem 0.75rem 1.25rem;
}

.p-headerTel::after {
	display: none;
}

.p-headerTel__number {
	font-size: 1.5rem;
	font-weight: 300;
	letter-spacing: 0.04em;
	position: relative;
}

.p-headerTel__number::before {
	background: url(../img/common/ico_tel.svg) no-repeat center center/100%;
	content: "";
	display: inline-block;
	height: 1.125rem;
	margin: 0 0.3125rem 0 0;
	width: 1.125rem;
}

.p-headerTel__time {
	font-size: 0.6875rem;
	font-weight: 300;
	margin-right: -1.4375rem;
	position: absolute;
	top: calc(100% + 0.125rem);
}

.p-headerContact {
	font-size: 1rem;
	height: 2.9375rem;
	padding: 0.75rem 1.25rem 0.75rem 1.375rem;
}

.p-headerContact::before {
	-webkit-mask-image: url(../img/common/ico_mail.svg);
	-webkit-mask-size: 100%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	aspect-ratio: 18/14;
	background-color: #fff;
	content: "";
	display: inline-block;
	height: auto;
	margin: 0 0.375rem -0.0625rem 0;
	mask-image: url(../img/common/ico_mail.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 100%;
	width: 1.125rem;
}

.p-headerContact::after {
	display: none;
}

.p-headerLine {
	background-color: #00b900;
	cursor: pointer;
	font-size: 1rem;
	height: 2.9375rem;
	padding: 0.75rem 1.25rem 0.75rem 1.375rem;
}

.p-headerLine::before {
	-webkit-mask-image: url(../img/common/ico_line.svg);
	-webkit-mask-size: 100%;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	aspect-ratio: 25/24;
	background-color: #fff;
	content: "";
	display: inline-block;
	height: auto;
	margin: 0 0.375rem -0.1875rem -0.1875rem;
	mask-image: url(../img/common/ico_line.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 100%;
	width: 1.5625rem;
}

.p-headerLine::after {
	display: none;
}

.p-kv {
	background: url(../img/top/kv_bg.webp) no-repeat center center/cover;
	height: 48.75rem;
	padding-bottom: 3.125rem;
	padding-top: 3.125rem;
	width: 100%;
}

.p-kv__inner {
	align-items: center;
	display: flex;
	height: 100%;
	max-width: 84rem;
}

.p-kv__txtBox {
	margin-top: 4.5625rem;
}

.p-kvTxtHead {
	align-items: center;
	display: flex;
}

.p-kvTxtHead__txt {
	margin: 0 0 0.5625rem 0.875rem;
}

.p-kvTxtHead__txt:nth-child(1) img {
	width: 29.375rem;
}

.p-kvTxtHead__txt:nth-child(2) {
	width: 18.25rem;
}

.p-kvMain {
	margin-bottom: 2.5rem;
}

.p-kvMain__txt01 {
	margin-bottom: 0rem;
	margin-left: 0rem;
}

.p-kvMain__txt01 img {
	width: 33.9375rem;
}

.p-kvMain__txt02 img {
	width: 33.9375rem;
}

.p-kvMain__txt03 {
	margin-top: 1.25rem;
}

.p-kvMain__txt03 img {
	width: 33.1875rem;
}

.p-kvTxtPoint {
	display: flex;
	gap: 1.125rem 0.5rem;
}

.p-kvTxtPoint__txt:nth-child(1) img {
	height: 9.6875rem;
	width: auto;
}

.p-kvTxtPoint__txt:nth-child(2) img {
	height: 9.6875rem;
	width: auto;
}

.p-kvTxtPoint__txt:nth-child(3) img {
	height: 9.6875rem;
	width: auto;
}

.p-modal__img {
	width: 12.5rem;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* p-topAbout
――――――――――――――――――――――――――――――――――――――――――――――*/

.p-topAbout {
	position: relative;
	z-index: 3;
}

.p-topAbout__inner {
	align-items: stretch;
	display: flex;
	gap: 0 2.5rem;
	max-width: 58.25rem;
	min-height: 36.4375rem;
}

.p-topAbout__obj {
	bottom: -7.125rem;
	left: 0;
	position: absolute;
	width: 57.375rem;
}

.p-topAbout__txtBox {
	align-self: center;
	position: relative;
	width: 80vw;
	z-index: 1;
}

.p-topAbout__ttl {
	font-family: "Noto Serif JP", sans-serif;
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin-bottom: 3rem;
}

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

.p-topAbout__link {
	margin-top: 2.9375rem;
}

.p-topAbout__img {
	margin-right: calc(50% - 50vw);
	position: relative;
	width: 87vw;
	z-index: 2;
}

.p-topAbout__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* p-topCase
――――――――――――――――――――――――――――――――――――――――――――――*/

.p-topCase {
	background: rgba(246, 239, 216, 0.34) url(../img/common/bg01.png) repeat center center/47.8125rem 36.375rem;
	padding-bottom: 7.5rem;
	padding-top: 8.125rem;
}

.p-topCase__ttl {
	margin-bottom: 4.125rem;
}

.p-topCase__ttl .c-ttl01__subTxt {
	color: #e6c498;
}

.p-topCaseList {
	display: flex;
	flex-wrap: wrap;
	gap: 1.875rem 2.125rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 67.5rem;
	width: 100%;
}

.p-topCaseList__item {
	background: url(../img/top/case_texture01.svg) no-repeat top 10px left 10px/18px 18px, url(../img/top/case_texture02.svg) no-repeat bottom 10px right 10px/18px 18px;
	background-color: #fff;
	box-shadow: 0rem 0rem 1.25rem #ecdab1;
	padding: 2.75rem 2.0625rem 2.25rem;
	width: calc((100% - 2.125rem) / 2);
}

.p-topCaseList__img img {
	-o-object-fit: cover;
	aspect-ratio: 457/260;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-topCaseList__body {
	align-items: center;
	color: #000;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1.25rem 1.25rem;
}

.p-topCaseList__ttl {
	border-bottom: solid 0.0625rem #96741f;
	color: #96741f;
	font-family: "Noto Serif JP", sans-serif;
	font-size: 2rem;
	font-weight: 500;
	margin-bottom: 2.0625rem;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 0.625rem;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-topCaseList__txt {
	font-size: 1.125rem;
	margin-top: 2.5rem;
	text-align: center;
}

.p-topCaseSecondList {
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
	max-width: 27.5rem;
	width: 100%;
}

.p-topCaseSecondList__txt {
	font-size: 1.125rem;
	padding-left: 1em;
	text-indent: -1em;
	width: 50%;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* p-topCase2
――――――――――――――――――――――――――――――――――――――――――――――*/

.p-topCase2 {
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-topCase2__ttl {
	margin-bottom: 2rem;
}

.p-topCase2__ttl .c-ttl01__subTxt {
	color: #e6c498;
}

.p-topCase2__listBox {
	background: linear-gradient(90deg, #efe1cf 0%, #c4e9f0 100%);
	padding: 4rem 5rem;
}

.p-topCase2List {
	display: flex;
	flex-wrap: wrap;
	gap: 2.0625rem 3rem;
}

.p-topCase2List__item {
	position: relative;
	width: calc((100% - 6rem) / 3);
}

.p-topCase2List__item::after {
	aspect-ratio: 26/35;
	background: url(../img/top/casehotel_ico-arrow.svg) no-repeat center center/100%;
	bottom: 0;
	content: "";
	display: block;
	height: auto;
	left: calc(100% + 0.75rem);
	margin: auto;
	position: absolute;
	top: 0;
	width: 1.625rem;
}

.p-topCase2List__item:last-of-type::after {
	display: none;
}

.p-topCase2List__img {
	box-shadow: 0rem 0rem 1.75rem rgba(154, 152, 152, 0.6);
}

.p-topCase2List__ttl {
	background: linear-gradient(90deg, #775b15 0%, rgba(123, 93, 20, 0.89) 70%, rgba(150, 116, 31, 0) 100%);
	bottom: 0;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 400;
	left: 0;
	padding: 0.375rem 0.75rem;
	position: absolute;
	width: 100%;
	z-index: 2;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* p-topConsul
――――――――――――――――――――――――――――――――――――――――――――――*/

.p-topConsul {
	background: rgba(246, 239, 216, 0.34) url(../img/common/bg02.webp) repeat center center/33.0625rem 24.75rem;
	padding-bottom: 10rem;
	padding-top: 7.5rem;
}

.p-topConsul__ttl {
	margin-bottom: 4rem;
}

.p-topConsul__ttl .c-ttl01__subTxt {
	color: #e6c498;
}

.p-topConsulList {
	display: flex;
	flex-wrap: wrap;
	gap: 6.5rem 0;
}

.p-topConsulList__item {
	background-color: #fff;
	border-radius: 0.125rem;
	padding: 1.75rem 1.625rem 1.75rem;
	width: 25%;
}

.p-topConsulList__item:nth-child(2n) {
	transform: translateY(2.5rem);
}

.p-topConsulList__img {
	margin-bottom: 1rem;
}

.p-topConsulList__name {
	background-color: #000;
	border-radius: 0.125rem;
	color: #fff;
	font-size: 1.25rem;
	font-weight: 400;
	margin-left: auto;
	margin-right: auto;
	padding: 0.125rem 0.625rem;
	text-align: center;
	width: 9.625rem;
}

.p-topConsulList__item:nth-child(1) .p-topConsulList__name {
	background-color: #ffb987;
}

.p-topConsulList__item:nth-child(2) .p-topConsulList__name {
	background-color: #ffabb9;
}

.p-topConsulList__item:nth-child(3) .p-topConsulList__name {
	background-color: #f7d381;
}

.p-topConsulList__item:nth-child(4) .p-topConsulList__name {
	background-color: #d2badb;
}

.p-topConsulList__item:nth-child(5) .p-topConsulList__name {
	background-color: #d2badb;
}

.p-topConsulList__item:nth-child(6) .p-topConsulList__name {
	background-color: #f7d381;
}

.p-topConsulList__item:nth-child(7) .p-topConsulList__name {
	background-color: #ffabb9;
}

.p-topConsulList__item:nth-child(8) .p-topConsulList__name {
	background-color: #ffb987;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* p-topAbout
――――――――――――――――――――――――――――――――――――――――――――――*/

.p-topCtaArea {
	background-color: #fff;
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-topCtaArea.first {
	padding-bottom: 7.4375rem;
	padding-top: 5rem;
}

.p-topCtaArea.second {
	padding-bottom: 5rem;
	padding-top: 5.6875rem;
}

.p-topFeatures {
	background-color: rgba(196, 233, 240, 0.1);
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-topFeatures__ttl {
	margin-bottom: 3.9375rem;
}

.p-topFeaturesList {
	counter-reset: number 0;
	position: relative;
}

.p-topFeaturesList::before {
	aspect-ratio: 236/155;
	background: url(../img/top/features_deco-flower02.svg) no-repeat center center/100%;
	content: "";
	display: block;
	height: auto;
	left: -6.75rem;
	margin: auto;
	position: absolute;
	top: -2.25rem;
	width: 14.75rem;
	z-index: 2;
}

.p-topFeaturesList::after {
	aspect-ratio: 224/187;
	background: url(../img/top/features_deco-flower03.svg) no-repeat center center/100%;
	bottom: -3.75rem;
	content: "";
	display: block;
	height: auto;
	margin: auto;
	position: absolute;
	right: -0.625rem;
	transform: rotateX(180deg);
	width: 14rem;
	z-index: 2;
}

.p-topFeaturesList__item {
	background-color: #fff;
	box-shadow: 0rem 0rem 1.25rem 0rem rgba(196, 233, 240, 0.3);
	padding: 6.5625rem 5rem 3.75rem;
	position: relative;
	z-index: 0;
}

.p-topFeaturesList__item + .p-topFeaturesList__item {
	margin-top: 5.625rem;
}

.p-topFeaturesList__item::before {
	-webkit-clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
	align-items: center;
	background-color: #96741f;
	clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
	color: #fff;
	content: counter(number, decimal-leading-zero);
	counter-increment: number 1;
	display: flex;
	font-family: Helvetica, sans-serif;
	font-size: 1.5rem;
	font-style: italic;
	height: 4.375rem;
	justify-content: center;
	left: 0;
	margin: auto;
	padding-top: 0.625rem;
	position: absolute;
	right: 0;
	top: -0.9375rem;
	width: 4.875rem;
}

.p-topFeaturesList__item::after {
	border: solid 0.0625rem #dad2c0;
	bottom: 0;
	content: "";
	display: block;
	height: calc(100% - 2.5rem);
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: calc(100% - 2.5rem);
	z-index: -1;
}

.p-topFeaturesList__ttl {
	color: #96741f;
	font-family: "Noto Serif JP", sans-serif;
	font-size: 1.875rem;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 3.125rem;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-topFeaturesList__content {
	display: flex;
	gap: 0 2.0625rem;
}

.p-topFeaturesList__img {
	width: 26.875rem;
}

.p-topFeaturesList__txt {
	color: #010101;
	font-size: 1.375rem;
	font-weight: 400;
	line-height: 1.8636;
	margin-bottom: 3rem;
	width: 27.5rem;
}

.p-topFeaturesList__txt strong {
	background: linear-gradient(transparent 70%, #fff134 70%, #fff134 90%, transparent 90%);
	color: #f5482c;
	font-weight: 500;
}

/****** ex ******/

.p-topFeaturesList__item.--ex {
	padding-bottom: 10rem;
}

.p-topFeaturesList__item.--ex .p-topFeaturesList__txt {
	text-align: center;
	width: auto;
}

.p-topFeaturesEx {
	display: flex;
	flex-direction: column;
	gap: 5rem 5.75rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 51.25rem;
	width: 100%;
}

.p-topFeaturesEx__item {
	background-color: rgba(246, 239, 216, 0.3411764706);
	padding: 2.5rem 1.875rem 2.5rem;
	position: relative;
	width: auto;
}

.p-topFeaturesEx__ttl {
	border-bottom: solid 0.0625rem #96741f;
	color: #96741f;
	font-family: "Noto Serif JP", sans-serif;
	font-size: 1.5rem;
	margin-bottom: 1.25rem;
	padding-bottom: 0.625rem;
	padding-left: 1.5625rem;
	padding-right: 1.5625rem;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-topFeaturesExList__item {
	position: relative;
}

.p-topFeaturesExList__item + .p-topFeaturesExList__item {
	margin-top: 1.5625rem;
}

.p-topFeaturesExList__txt {
	font-size: 1rem;
	line-height: 1.3;
	padding-left: 2.5rem;
	position: relative;
}

.p-topFeaturesExList__txt .num {
	align-items: center;
	background-color: #4a89bc;
	color: #fff;
	display: flex;
	font-family: "Noto Serif JP", sans-serif;
	font-size: 1.125rem;
	height: 1.875rem;
	justify-content: center;
	left: 0;
	position: absolute;
	top: -0.25rem;
	width: 1.875rem;
}

.p-topFeaturesExList__txt .num + .num {
	top: 1.9375rem;
}

.p-topFeaturesExList__txt .subTxt {
	font-size: 0.75rem;
}

.p-topFeaturesEx__human {
	position: absolute;
	width: 9.125rem;
	z-index: 0;
}

.p-topFeaturesEx__img-map {
	bottom: 1.25rem;
	position: absolute;
	right: 0;
	width: 13.1875rem;
	z-index: 0;
}

.p-topFeaturesEx__img-check {
	bottom: 1.25rem;
	position: absolute;
	right: 0;
	width: 10.1875rem;
	z-index: 0;
}

/****** bad ******/

.p-topFeaturesEx__item.--bad {
	background: url(../img/top/features_ex-bad.svg) no-repeat center center/100% 100%;
	padding-left: 8.75rem;
	padding-right: 8.75rem;
}

.p-topFeaturesEx__item.--bad .p-topFeaturesEx__ttl {
	border-bottom: none;
	color: #347bb4;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.p-topFeaturesEx__item.--bad .p-topFeaturesEx__ttl::before {
	color: #aed2ec;
	content: "✕";
	display: block;
	font-size: 5rem;
	font-weight: bold;
	left: -3.125rem;
	line-height: 0.5;
	margin: auto;
	position: absolute;
	top: -2.5rem;
	transform: rotate(-20deg);
}

.p-topFeaturesEx__item.--bad .p-topFeaturesExList {
	margin-left: auto;
	margin-right: auto;
	width: -moz-fit-content;
	width: fit-content;
}

.p-topFeaturesEx__item.--bad .p-topFeaturesEx__human {
	right: 7.5rem;
	top: 1.875rem;
	width: 6.25rem;
}

/****** good ******/

.p-topFeaturesEx__item.--good {
	background-color: rgba(246, 239, 216, 0.34);
	padding-left: 3.125rem;
	padding-right: 3.125rem;
	position: relative;
}

.p-topFeaturesEx__item.--good::before {
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	background-color: #efe1cf;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
	display: block;
	height: 2.375rem;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: -3.125rem;
	width: 8.6875rem;
}

.p-topFeaturesEx__item.--good .p-topFeaturesExList {
	max-width: 31.25rem;
}

.p-topFeaturesEx__item.--good .p-topFeaturesEx__ttl {
	border-bottom-color: #fc5135;
	color: #fc5135;
	font-size: 1.625rem;
	margin-bottom: 1.875rem;
	margin-left: 5.625rem;
	position: relative;
}

.p-topFeaturesEx__item.--good .p-topFeaturesEx__ttl::before {
	background: url(../img/top/features_ex-flower.webp) no-repeat center center/100%;
	content: "";
	display: block;
	height: 5.0625rem;
	margin: auto;
	position: absolute;
	right: calc(100% + 0.9375rem);
	top: -1.25rem;
	width: 5.875rem;
}

.p-topFeaturesEx__item.--good .p-topFeaturesExList__txt {
	padding-left: 3.4375rem;
}

.p-topFeaturesEx__item.--good .p-topFeaturesExList__txt::before {
	color: #ffa192;
	content: "◎";
	display: block;
	font-size: 2.5rem;
	left: 0;
	line-height: 1;
	margin: auto;
	position: absolute;
	top: 0;
}

.p-topFeaturesEx__item.--good .p-topFeaturesEx__human {
	bottom: -2rem;
	right: -0.75rem;
	width: 19.4375rem;
}

.p-topFeatures__cta {
	background-color: transparent;
	margin-top: 5rem;
	padding: 0;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* sp
――――――――――――――――――――――――――――――――――――――――――――――*/

/**********************************************************

p-topPrice

***********************************************************/

.p-topPrice {
	background-color: rgba(196, 233, 240, 0.1019607843);
	padding-bottom: 7.5rem;
	padding-top: 7.5rem;
}

.p-topPrice__ttl {
	margin-bottom: 1.4375rem;
}

.p-topPrice__lead {
	color: #66a3ae;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.8;
	margin-bottom: 2.5rem;
	text-align: center;
}

.p-topPrice__lead .strong {
	font-size: 2rem;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* p-topPriceSec
――――――――――――――――――――――――――――――――――――――――――――――*/

.p-topPriceSec {
	margin-left: auto;
	margin-right: auto;
	max-width: 55rem;
	width: 100%;
}

.p-topPriceSec + .p-topPriceSec {
	margin-top: 4.375rem;
}

.p-topPriceSec__ttl {
	background-color: #66a3ae;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 400;
	margin-bottom: 4.375rem;
	padding: 0.3125rem 0.9375rem;
	position: relative;
	text-align: center;
}

.p-topPriceTable__container {
	background-color: #fff;
	border-radius: 0.375rem;
	box-shadow: 0rem 0rem 1rem rgba(154, 152, 152, 0.2);
	padding: 2.375rem 4.25rem 3.125rem;
}

.p-topPriceTable__container + .p-topPriceTable__container {
	margin-top: 3.625rem;
}

.p-topPriceTable__block + .p-topPriceTable__block {
	margin-top: 2.875rem;
}

.p-topPriceTable__block.--first .p-topPriceTable__ttlIcon {
	align-items: center;
	background-color: #f792a3;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-family: "Noto Serif JP", sans-serif;
	font-size: 1.125rem;
	height: 4.6875rem;
	justify-content: center;
	line-height: 1.2;
	text-align: center;
	width: 4.6875rem;
}

.p-topPriceTable__ttl {
	align-items: baseline;
	border-bottom: solid 0.0625rem #66a3ae;
	color: #66a3ae;
	display: flex;
	flex-wrap: wrap;
	font-size: 1.25rem;
	gap: 0.3125rem 0.9375rem;
	padding-bottom: 0.625rem;
	position: relative;
}

.p-topPriceTable__ttl .small {
	font-size: 1rem;
}

.p-topPriceTable__ttl .p-topPriceTable__icon-tebura {
	position: absolute;
	right: 0rem;
	top: -0.625rem;
	width: 12rem;
}

.p-topPriceList__item {
	align-items: center;
	border-bottom: solid 0.0625rem #d9d9d9;
	display: flex;
	justify-content: space-between;
	padding: 1.0625rem 1rem 1.125rem;
}

.p-topPriceList__ttl {
	font-size: 1.25rem;
	font-weight: 400;
}

.p-topPriceList__price {
	font-size: 1.25rem;
	font-weight: 400;
}

.p-topPriceList__price .subTxt {
	display: block;
	font-size: 0.875rem;
	line-height: 1;
	margin-top: -0.125rem;
}

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

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

/****** 交通費 ******/

.p-topPriceTable__block.--fare .p-topPriceTable__ttl {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding-bottom: 1.125rem;
	padding-right: 1rem;
}

.p-topPriceTable__block.--fare .fareTtl__sub {
	background-color: #66a3ae;
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	margin-left: 1.25rem;
	padding: 0.0625rem 0.3125rem 0.125rem;
}

.p-topPriceTable__block.--fare .p-topPriceList__price {
	color: #333;
}

/****** その他 ******/

.p-topPriceTable__other {
	align-items: center;
	background-color: #f5f5f5;
	display: flex;
	gap: 0 1.25rem;
	margin-top: 3.375rem;
	padding: 1.6875rem 1.6875rem;
}

.p-topPriceTable__otherTtl {
	align-items: center;
	color: #66a3ae;
	display: flex;
	font-size: 1.25rem;
	justify-content: center;
	width: 8.125rem;
}

/*――――――――――――――――――――――――――――――――――――――――――――
/* p-topPriceExList
――――――――――――――――――――――――――――――――――――――――――――――*/

.p-topPriceExList {
	display: flex;
	gap: 0 0.6875rem;
}

.p-topPriceExList__item {
	background-color: #fff;
	box-shadow: 0rem 0rem 1rem rgba(154, 152, 152, 0.2);
	display: flex;
	flex-direction: column;
	padding: 2.5rem 1.25rem 1.25rem;
}

.p-topPriceExList__ttl {
	color: #66a3ae;
	font-size: 1.25rem;
	line-height: 1.3;
	margin-bottom: 0.75rem;
	min-height: 4.875rem;
	text-align: center;
}

.p-topPriceExListInfo {
	margin-bottom: 1rem;
}

.p-topPriceExListInfo__item {
	align-items: flex-start;
	display: flex;
	gap: 0 0.5rem;
}

.p-topPriceExListInfo__item + .p-topPriceExListInfo__item {
	margin-top: 0.5rem;
}

.p-topPriceExListInfo__ttl {
	background-color: #66a3ae;
	color: #fff;
	flex-shrink: 0;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.2;
	padding: 0.125rem 0.125rem;
	text-align: center;
	width: 4.75rem;
}

.p-topPriceExListInfo__txt {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.2;
}

.p-topPriceExList__img {
	margin-top: auto;
}

.p-topPriceExList__img img {
	-o-object-fit: cover;
	aspect-ratio: 246/173;
	height: auto;
	object-fit: cover;
}

.p-topZenkoku {
	background: rgba(246, 239, 216, 0.34) url(../img/common/bg02.webp) repeat center center/33.0625rem 24.75rem;
	padding-bottom: 9.25rem;
	padding-top: 8.625rem;
}

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

.p-topZenkoku__txt {
	margin-left: 4.375rem;
}

.p-topZenkoku__img01 {
	left: 0;
	margin: auto;
	position: absolute;
	width: 24.625rem;
}

.p-topZenkoku__img02 {
	margin: auto;
	position: absolute;
	right: -1.9375rem;
	top: 1.875rem;
	width: 24.5rem;
}

@media screen and (min-width: 48rem) {

.p-formBtn input:disabled:hover {
	cursor: not-allowed;
}

.p-formBtn input:hover {
	opacity: 0.7;
	transition: opacity 0.5s;
}

}

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

.sp {
	display: none !important;
}

html {
	font-size: 1.4159292035vw;
}

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

a:hover {
	opacity: 0.8;
}

.p-topCaseList__item.--education {
	background: url(../img/top/case_texture01.svg) no-repeat top 0.625rem left 0.5555555556 1.125rem;
	background-color: #fff;
	display: flex;
	gap: 0 1.8125rem;
	padding: 1.625rem 1.6875rem 1.625rem;
	width: 100%;
}

.p-topCaseList__item.--education .p-topCaseList__img {
	width: 52%;
}

.p-topCaseList__item.--education .p-topCaseList__img img {
	aspect-ratio: 512/334;
}

.p-topCaseList__item.--education .p-topCaseList__body {
	background: url(../img/top/case_texture02.svg) no-repeat bottom 0.625rem right/1.125rem 1.125rem;
	width: 48%;
}

.p-topPriceExListInfo.u-mt-n-10 {
	margin-top: -0.9375rem;
}

}

@media (min-width: 1130px) {

html {
	font-size: 16px;
}

}

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

.pc {
	display: none !important;
}

.p-form__item {
	align-items: flex-start;
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
}

.p-form__title {
	padding: 0 0.625rem;
	width: 100%;
}

.p-form__title--type02 {
	align-items: flex-start;
	flex-direction: column;
}

.p-form__input {
	margin-top: 0.625rem;
	padding: 0 0.625rem;
	width: 100%;
}

.p-formInput input {
	height: 3.125rem;
	margin-left: 0;
	padding-left: 0.9375rem;
	width: 100%;
}

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

.p-formInput__post input {
	width: 100%;
}

.p-formInput__address input {
	width: 100%;
}

.p-formSelect select {
	height: 3.125rem;
	width: 100%;
}

.p-formDate__flex {
	align-items: flex-start;
	gap: 1.25rem;
}

.p-form__dataBlock {
	flex: 1;
}

.p-form__dataBlockLabel {
	display: none;
}

.p-form__dataBlockDate {
	width: 100%;
}

.p-formCalendar input {
	height: 3.125rem;
	width: 100%;
}

.Android .p-formCalendar input {
	padding-left: 0.9375rem;
}

.p-form__dataBlockSelect {
	width: 100%;
}

.p-formNumber__flex {
	align-items: flex-start;
	flex-direction: column;
	gap: 0.625rem;
}

.p-formNumber__blockLabel01 {
	width: 3.4375rem;
}

.p-formNumber__blockInput {
	flex: 1;
	margin-right: 1.25rem;
}

.p-formRadio input + span {
	font-size: 1rem;
}

.p-formTextarea textarea {
	margin-left: 0;
	min-height: 18.75rem;
	padding-left: 0.9375rem;
	width: 100%;
}

.p-form__privacy {
	text-align: left;
}

.p-form__acceptance {
	text-align: left;
}

.p-form__submit {
	margin-top: 1.875rem;
}

.wpcf7 form.sent .wpcf7-response-output {
	font-size: 1rem;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	font-size: 1rem;
}

.p-formInput--flex {
	gap: 0 0.625rem;
}

.modal-container {
	width: calc(100% - 1.875rem);
}

.modal-close {
	right: -0.625rem;
	top: -1.875rem;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 31.25rem;
	padding-left: 15px;
	padding-right: 15px;
	width: 100%;
}

.c-ttl01 {
	margin-bottom: 1.875rem;
}

.c-ttl01__mainTxt {
	font-size: 1.75rem;
}

.c-ttl01__subTxt {
	font-size: 1.5rem;
	margin-top: 0;
}

.p-contact {
	padding-top: 7.5rem;
}

.p-contact__inner {
	max-width: 34.375rem;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
}

.p-form__title {
	font-size: 1.125rem;
	margin-right: 0;
	padding: 0;
}

.p-form__title span {
	font-size: 0.75rem;
	position: static;
}

.p-form__title .note {
	margin-left: 0.625rem;
}

.p-form__input {
	padding-left: 0;
}

.p-formNumber__flex {
	flex-direction: row;
	gap: 0 1.25rem;
}

.p-formNumber__blockInput {
	margin-right: 0.625rem;
}

.wpcf7-form-control-wrap[data-name=details] .wpcf7-list-item {
	width: calc((100% - 0.5rem) / 2);
}

.wpcf7-form-control-wrap[data-name=details] label {
	justify-content: flex-start;
	width: auto;
}

.wpcf7-form-control-wrap[data-name=details] input + span {
	font-size: 0.875rem;
}

.p-form__item-company {
	display: block;
}

.p-formInput__ttl-style01 {
	width: 5.625rem;
}

.p-form__item.--purpose .wpcf7-checkbox {
	white-space: wrap;
}

.p-cta {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 55rem;
	padding: 3.75rem 1.875rem 4.375rem 0rem;
	width: 100%;
}

.p-cta::before {
	bottom: auto;
	display: block;
	left: -0.4375rem;
	position: absolute;
	top: -1.0625rem;
	width: 7.875rem;
}

.p-cta::after {
	bottom: 0;
	display: block;
	position: absolute;
	right: -6.25rem;
	width: 11.875rem;
	z-index: -1;
}

.p-cta__ttl {
	font-size: 1.25rem;
	font-weight: 500;
	margin-bottom: 1.375rem;
	margin-left: -1.875rem;
	text-align: center;
}

.p-ctaLinkBox {
	display: flex;
	flex-direction: column;
	gap: 0.75rem 1.5rem;
	justify-content: center;
	margin-left: -1.875rem;
}

.p-ctaLink__item {
	width: 15.5rem;
}

.p-ctaLink__topTxt {
	font-size: 0.875rem;
	margin-bottom: 0.1875rem;
	text-align: center;
}

.p-ctaLinkTel {
	align-items: center;
	flex-direction: column;
	height: 3.75rem;
	padding: 0.8125rem 1.25rem;
	width: 100%;
}

.p-ctaLinkTel::after {
	display: none;
}

.p-ctaLinkTel__number {
	font-size: 1.5rem;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-ctaLinkTel__number::before {
	display: inline-block;
	height: 1rem;
	margin: 0 0.3125rem 0 0;
	width: 1rem;
}

.p-ctaLinkTel__subTxt {
	font-size: 0.6875rem;
	margin-right: -1.3125rem;
	margin-top: 0.125rem;
}

.p-ctaLinkContact {
	font-size: 1rem;
	height: 3.75rem;
	padding: 0.8125rem 0.625rem;
	position: relative;
	width: 100%;
}

.p-ctaLinkContact::before {
	display: inline-block;
	flex-shrink: 0;
	height: auto;
	margin: 0 0.375rem -0.125rem 0;
	width: 1.125rem;
}

.p-ctaLinkContact::after {
	display: none;
}

.p-ctaLinkContact__txt {
	font-weight: 500;
	letter-spacing: 0.04em;
}

.p-ctaLinkLine {
	font-size: 0.9375rem;
	min-height: 3.75rem;
	padding: 0.8125rem 0.625rem;
	width: auto;
}

.p-ctaLinkLine::before {
	display: inline-block;
	width: 1.5625rem;
}

.p-flow {
	padding-bottom: 3rem;
	padding-top: 3rem;
}

.p-flow__ttl {
	margin-bottom: 1.25rem;
}

.p-flow__contBox {
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 55rem;
	padding: 1.25rem 0.9375rem 1.25rem;
	width: 100%;
}

.p-flowlist {
	counter-reset: number 0;
}

.p-flowlist__item {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 3.625rem;
	padding-left: 4.375rem;
	position: relative;
}

.p-flowlist__item::before {
	align-items: center;
	display: flex;
	font-size: 1.25rem;
	height: 3.625rem;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 0;
	width: 3.625rem;
	z-index: 2;
}

.p-flowlist__item::after {
	display: block;
	height: calc(100% + 1rem);
	left: 1.75rem;
	margin: auto;
	position: absolute;
	top: 0;
	width: 0.25rem;
	z-index: 0;
}

.p-flowlist__item:last-of-type::after {
	display: none;
}

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

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

.p-footer {
	background: url(../img/common/footer_bg-sp.webp) no-repeat center center/cover;
	padding-bottom: 2.5rem;
	padding-top: 2.5rem;
}

.p-footer__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	max-width: 58.6875rem;
}

.p-footerTxt {
	padding-right: 0;
}

.p-footerLogo {
	display: block;
	font-size: 1.5rem;
	margin-bottom: 1.0625rem;
	text-align: center;
}

.p-footerTxt__txt {
	font-size: 1rem;
	text-align: center;
}

.p-footerTxt__address {
	font-size: 0.875rem;
	margin-top: 1.0625rem;
	text-align: center;
}

.p-footerInfo {
	border: none;
	border-top: solid 0.0625rem #fff;
	margin-top: 1.1875rem;
	padding-left: 0;
	padding-top: 1.125rem;
}

.p-footerTel {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.p-footerTel__topTxt {
	font-size: 0.875rem;
	margin-bottom: 0.125rem;
}

.p-footerTel__topTxt::before {
	display: inline-block;
	height: 1rem;
	margin: 0 0.4375rem -0.0625rem 0.3125rem;
	width: 1rem;
}

.p-footerTel__num {
	font-size: 2.25rem;
	letter-spacing: 0.04em;
	line-height: 1;
}

.p-footerTel__time {
	font-size: 0.6875rem;
	margin-top: 0.375rem;
}

.p-footerContact {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 1.1875rem;
}

.p-footerContact__topTxt {
	font-size: 0.875rem;
	margin-bottom: 0.625rem;
}

.p-footerContact__topTxt::before {
	display: inline-block;
	height: 0.75rem;
	margin: 0 0.375rem -0.0625rem 0;
	width: 0.9375rem;
}

.p-footerContact__link {
	font-size: 0.875rem;
	letter-spacing: 0.04em;
	padding-bottom: 0.625rem;
	padding-top: 0.625rem;
	width: 100%;
}

.p-footerContact__link::after {
	display: none;
}

.p-footerCopy {
	align-items: center;
	display: flex;
	justify-content: center;
	padding: 0.75rem 0.6875rem;
}

.p-footerCopy__txt {
	font-size: 0.625rem;
}

.p-header {
	left: 0;
	position: absolute;
	top: 0.875rem;
	width: 100%;
}

.p-header__inner {
	align-items: center;
	display: flex;
	justify-content: center;
	max-width: 90rem;
}

.p-headerLogo {
	margin-bottom: 10px;
	width: 11.875rem;
}

.p-headerCta {
	display: flex;
	gap: 0 0.625rem;
	margin: 0;
}

.p-headerTel {
	height: 2.375rem;
	padding: 0.75rem 0.4375rem 0.75rem 0.4375rem;
}

.p-headerTel::after {
	display: none;
}

.p-headerTel__number {
	font-size: 1.25rem;
	font-weight: 300;
	letter-spacing: 0.04em;
	position: relative;
}

.p-headerTel__number::before {
	display: inline-block;
	height: 0.9375rem;
	margin: 0 0.3125rem 0 0;
	width: 0.9375rem;
}

.p-headerTel__time {
	color: #000;
	font-size: 0.6875rem;
	font-weight: 300;
	margin-right: 0;
	position: absolute;
	top: calc(100% - 0.0625rem);
}

.p-headerContact {
	font-size: 0.9375rem;
	height: 2.375rem;
	padding: 0.75rem 1.25rem 0.75rem 1.375rem;
}

.p-headerContact::before {
	display: inline-block;
	height: auto;
	margin: 0 0.375rem -0.0625rem 0;
	width: 0.9375rem;
}

.p-headerLine {
	background-color: #00b900;
	font-size: 0.9375rem;
	height: 2.375rem;
	padding: 0.75rem 1.25rem 0.75rem 1.375rem;
}

.p-headerLine::before {
	height: auto;
	margin: 0 0.375rem -0.1875rem -0.1875rem;
	width: 1.25rem;
}

.p-kv {
	aspect-ratio: 375/636;
	background: url(../img/top/kv_bg-sp.webp) no-repeat center 60%/cover;
	height: auto;
	max-height: 55rem;
	padding-bottom: 0.5rem;
	padding-top: 4.8125rem;
	position: relative;
	width: 100%;
}

.p-kv::before {
	background: url(../img/) no-repeat center center/100%;
	content: "";
	display: block;
	height: 1.25rem;
	left: 0;
	margin: auto;
	position: absolute;
	top: 0;
	width: 1.25rem;
}

.p-kv__inner {
	align-items: flex-start;
	display: flex;
	height: 100%;
}

.p-kv__txtBox {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-top: 0;
}

.p-kvTxtHead {
	align-items: center;
	display: flex;
	justify-content: flex-start;
}

.p-kvTxtHead__txt {
	margin-bottom: 0.125rem;
	margin-left: 0rem;
}

.p-kvTxtHead__txt:nth-child(1) img {
	width: 15rem;
}

.p-kvMain {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	margin-bottom: 1.875rem;
}

.p-kvMain__txt01 {
	margin-bottom: -0.375rem;
	margin-left: 0;
}

.p-kvMain__txt01 img {
	width: 19.25rem;
}

.p-kvMain__txt02 img {
	width: 16.625rem;
}

.p-kvMain__txt03 {
	margin-top: 0;
}

.p-kvMain__txt03 img {
	width: 18.75rem;
}

.p-kvTxtPointOuter {
	margin-top: auto;
}

.p-kvTxtPoint__logo {
	margin-bottom: 0.9375rem;
	width: 9.25rem;
}

.p-kvTxtPoint {
	display: flex;
	flex-wrap: wrap;
	gap: 0.125rem 0.3125rem;
	position: relative;
}

.p-kvTxtPoint__txt:nth-child(1) {
	width: 100%;
}

.p-kvTxtPoint__txt:nth-child(1) img {
	height: auto;
	width: 100%;
}

.p-kvTxtPoint__txt:nth-child(2) {
	width: calc(50.8% - 0.1875rem);
}

.p-kvTxtPoint__txt:nth-child(2) img {
	height: auto;
	width: 100%;
}

.p-kvTxtPoint__txt:nth-child(3) {
	width: calc(49.2% - 0.1875rem);
}

.p-kvTxtPoint__txt:nth-child(3) img {
	height: auto;
	width: 100%;
}

.p-topAbout {
	padding-top: 3rem;
	position: relative;
	z-index: 3;
}

.p-topAbout__inner {
	display: block;
	max-width: 58.25rem;
	min-height: 36.4375rem;
}

.p-topAbout__obj {
	bottom: auto;
	left: -0.9375rem;
	position: absolute;
	top: calc(100% - 2.5rem);
	width: 104vw;
	z-index: -1;
}

.p-topAbout__txtBox {
	align-self: center;
	position: relative;
	width: auto;
	z-index: 1;
}

.p-topAbout__ttl {
	font-size: 1.5rem;
	margin-bottom: 2rem;
}

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

.p-topAbout__link {
	margin-top: 1.5rem;
}

.p-topAbout__img {
	margin: 3.25rem -0.9375rem -80% auto;
	position: relative;
	width: 92%;
	z-index: 2;
}

.p-topAbout__img img {
	-o-object-fit: cover;
	-o-object-position: left bottom;
	aspect-ratio: 317/413;
	height: auto;
	object-fit: cover;
	object-position: left bottom;
	width: 100%;
}

.p-topCase {
	padding-bottom: 3rem;
	padding-top: 3.125rem;
}

.p-topCase__ttl {
	margin-bottom: 1.5rem;
}

.p-topCaseList {
	display: flex;
	flex-wrap: wrap;
	gap: 1.875rem 2.125rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 67.5rem;
	width: 100%;
}

.p-topCaseList__item {
	padding: 2.5rem 0.9375rem 3.125rem;
	width: 100%;
}

.p-topCaseList__item.--education {
	display: flex;
	flex-direction: column;
}

.p-topCaseList__item.--education .p-topCaseList__body {
	display: contents;
	padding: 0 0 1.25rem;
}

.p-topCaseList__item.--education .p-topCaseList__img {
	order: 2;
}

.p-topCaseList__item.--education .p-topCaseSecondList {
	margin-top: 30px;
	order: 3;
}

.p-topCaseList__img img {
	-o-object-fit: cover;
	aspect-ratio: 457/260;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-topCaseList__body {
	align-items: center;
	color: #000;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 1.25rem 1.25rem;
}

.p-topCaseList__ttl {
	font-size: 1.375rem;
	margin-bottom: 1.5625rem;
	padding-bottom: 0.625rem;
	position: relative;
}

.p-topCaseList__txt {
	font-size: 1rem;
	margin-top: 1.875rem;
	text-align: center;
}

.p-topCaseSecondList {
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
	max-width: 27.5rem;
	width: 100%;
}

.p-topCaseSecondList__txt {
	font-size: 0.875rem;
	padding-left: 1em;
	text-indent: -1em;
	width: 50%;
}

.p-topCase2 {
	padding-bottom: 3rem;
	padding-top: 3rem;
}

.p-topCase2__ttl {
	margin-bottom: 2rem;
}

.p-topCase2__listBox {
	padding: 2rem 2.25rem;
}

.p-topCase2List {
	display: block;
}

.p-topCase2List__item {
	position: relative;
	width: auto;
}

.p-topCase2List__item + .p-topCase2List__item {
	margin-top: 2rem;
}

.p-topCase2List__item::after {
	bottom: -1.875rem;
	display: block;
	height: auto;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: auto;
	transform: rotate(90deg);
	width: 1.3125rem;
}

.p-topCase2List__item:last-of-type::after {
	display: none;
}

.p-topCase2List__img {
	box-shadow: 0rem 0rem 1.75rem rgba(154, 152, 152, 0.6);
}

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

.p-topConsul {
	padding-bottom: 4.875rem;
	padding-top: 3rem;
}

.p-topConsul__ttl {
	line-height: 1.3;
	margin-bottom: 2.5rem;
}

.p-topConsulList {
	display: flex;
	flex-wrap: wrap;
	gap: 3.75rem 0;
}

.p-topConsulList__item {
	padding: 1.25rem 0.5625rem 1.25rem;
	width: 50%;
}

.p-topConsulList__item:nth-child(2n) {
	transform: translateY(1.875rem);
}

.p-topConsulList__img {
	margin-bottom: 0.75rem;
}

.p-topCtaArea.first {
	padding-bottom: 2.5rem;
	padding-top: 3.1875rem;
}

.p-topCtaArea.second {
	padding-bottom: 2.5rem;
	padding-top: 3.1875rem;
}

.p-topFeatures {
	padding-bottom: 3rem;
	padding-top: 3rem;
}

.p-topFeatures__ttl {
	margin-bottom: 2.8125rem;
	white-space: nowrap;
}

.p-topFeaturesList {
	counter-reset: number 0;
	position: relative;
}

.p-topFeaturesList::before {
	aspect-ratio: 236/155;
	background: url(../img/top/features_deco-flower02.svg) no-repeat center center/100%;
	content: "";
	display: block;
	height: auto;
	left: -2.5rem;
	margin: auto;
	position: absolute;
	top: -2.25rem;
	width: 8.75rem;
	z-index: 2;
}

.p-topFeaturesList::after {
	aspect-ratio: 224/187;
	background: url(../img/top/features_deco-flower03.svg) no-repeat center center/100%;
	bottom: -1.25rem;
	content: "";
	display: block;
	height: auto;
	margin: auto;
	position: absolute;
	right: -1.25rem;
	transform: rotateX(180deg);
	width: 6.875rem;
	z-index: 2;
}

.p-topFeaturesList__item {
	background-color: #fff;
	box-shadow: 0rem 0rem 1.25rem 0rem rgba(196, 233, 240, 0.3);
	padding: 3.125rem 1.25rem 3.125rem;
	position: relative;
	z-index: 0;
}

.p-topFeaturesList__item + .p-topFeaturesList__item {
	margin-top: 3.125rem;
}

.p-topFeaturesList__item::before {
	-webkit-clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
	align-items: center;
	background-color: #96741f;
	clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
	color: #fff;
	content: counter(number, decimal-leading-zero);
	counter-increment: number 1;
	display: flex;
	font-family: Helvetica, sans-serif;
	font-size: 1.25rem;
	font-style: italic;
	height: 3.125rem;
	justify-content: center;
	left: 0;
	margin: auto;
	padding-top: 0.625rem;
	position: absolute;
	right: 0;
	top: -0.9375rem;
	width: 3.4375rem;
}

.p-topFeaturesList__item::after {
	bottom: 0;
	display: block;
	height: calc(100% - 1.25rem);
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: calc(100% - 1.25rem);
	z-index: -1;
}

.p-topFeaturesList__ttl {
	color: #96741f;
	font-family: "Noto Serif JP", sans-serif;
	font-size: 1.375rem;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 1.875rem;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-topFeaturesList__content {
	display: block;
}

.p-topFeaturesList__img {
	margin-bottom: 1.25rem;
	width: auto;
}

.p-topFeaturesList__txt {
	font-size: 1rem;
	margin-bottom: 0rem;
	width: auto;
}

.p-topFeaturesList__txt strong {
	background: linear-gradient(transparent 70%, #fff134 70%, #fff134 90%, transparent 90%);
	color: #f5482c;
	font-weight: 500;
}

/****** ex ******/

.p-topFeaturesList__item.--ex {
	padding-bottom: 1.875rem;
}

.p-topFeaturesList__item.--ex .p-topFeaturesList__txt {
	text-align: center;
	width: auto;
}

.p-topFeaturesEx {
	display: flex;
	flex-direction: column;
	gap: 5rem 5.75rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.125rem;
	max-width: 51.25rem;
	width: 100%;
}

.p-topFeaturesEx__item {
	background-color: rgba(246, 239, 216, 0.3411764706);
	padding: 2.5rem 1.875rem 2.5rem;
	position: relative;
	width: auto;
}

.p-topFeaturesEx__ttl {
	border-bottom: solid 0.0625rem #96741f;
	color: #96741f;
	font-family: "Noto Serif JP", sans-serif;
	font-size: 1.5rem;
	margin-bottom: 1.25rem;
	padding-bottom: 0.625rem;
	padding-left: 1.5625rem;
	padding-right: 1.5625rem;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-topFeaturesExList__item {
	position: relative;
}

.p-topFeaturesExList__item + .p-topFeaturesExList__item {
	margin-top: 1.5625rem;
}

.p-topFeaturesExList__txt {
	font-size: 1rem;
	line-height: 1.3;
	padding-left: 2.25rem;
	position: relative;
}

.p-topFeaturesExList__txt .num {
	align-items: center;
	display: flex;
	font-size: 0.875rem;
	height: 1.5rem;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 0rem;
	width: 1.5rem;
}

.p-topFeaturesExList__txt .num + .num {
	top: 1.9375rem;
}

.p-topFeaturesExList__txt .subTxt {
	font-size: 0.75rem;
}

.p-topFeaturesEx__human {
	position: absolute;
	width: 9.125rem;
	z-index: 0;
}

.p-topFeaturesEx__img-map {
	bottom: 1.25rem;
	position: absolute;
	right: 0;
	width: 13.1875rem;
	z-index: 0;
}

.p-topFeaturesEx__img-check {
	bottom: 1.25rem;
	position: absolute;
	right: 0;
	width: 10.1875rem;
	z-index: 0;
}

/****** bad ******/

.p-topFeaturesEx__item.--bad {
	padding-bottom: 6.25rem;
	padding-left: 0;
	padding-right: 0;
	padding-top: 3.75rem;
}

.p-topFeaturesEx__item.--bad .p-topFeaturesEx__ttl {
	border-bottom: none;
	color: #347bb4;
	font-size: 1.25rem;
	margin-inline: auto;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.p-topFeaturesEx__item.--bad .p-topFeaturesEx__ttl::before {
	color: #aed2ec;
	content: "✕";
	display: block;
	font-size: 3.125rem;
	font-weight: bold;
	left: -0.625rem;
	line-height: 0.5;
	margin: auto;
	position: absolute;
	top: -1.875rem;
	transform: rotate(-20deg);
}

.p-topFeaturesEx__item.--bad .p-topFeaturesExList {
	margin-left: auto;
	margin-right: auto;
	padding-left: 3.125rem;
	padding-right: 3.125rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-topFeaturesEx__item.--bad .p-topFeaturesEx__human {
	bottom: -1.25rem;
	left: auto;
	right: 2.5rem;
	top: auto;
	width: 6.25rem;
}

/****** good ******/

.p-topFeaturesEx__item.--good {
	background-color: rgba(246, 239, 216, 0.34);
	padding-bottom: 11.25rem;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
	position: relative;
}

.p-topFeaturesEx__item.--good::before {
	-webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
	background-color: #efe1cf;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	content: "";
	display: block;
	height: 2.375rem;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: -3.125rem;
	width: 8.6875rem;
}

.p-topFeaturesEx__item.--good .p-topFeaturesExList {
	max-width: 31.25rem;
}

.p-topFeaturesEx__item.--good .p-topFeaturesEx__ttl {
	font-size: 1.25rem;
	margin-bottom: 1.875rem;
	margin-left: auto;
	margin-right: auto;
	padding: 0 0 0.375rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-topFeaturesEx__item.--good .p-topFeaturesEx__ttl::before {
	aspect-ratio: 94/81;
	display: block;
	height: auto;
	margin: auto;
	position: absolute;
	right: calc(100% + 0.625rem);
	top: -0.375rem;
	width: 3.125rem;
}

.p-topFeaturesEx__item.--good .p-topFeaturesExList__txt {
	font-size: 0.9375rem;
	padding-left: 2.5rem;
}

.p-topFeaturesEx__item.--good .p-topFeaturesExList__txt::before {
	color: #ffa192;
	content: "◎";
	display: block;
	font-size: 1.875rem;
	left: 0;
	line-height: 1;
	margin: auto;
	position: absolute;
	top: 0;
}

.p-topFeaturesEx__item.--good .p-topFeaturesEx__human {
	bottom: 0rem;
	right: 0.5rem;
	width: 11.875rem;
}

.p-topFeatures__cta {
	background-color: transparent;
	margin-top: 5rem;
	padding: 0;
}

.p-topPrice {
	padding-bottom: 3rem;
	padding-top: 3rem;
}

.p-topPrice__ttl {
	margin-bottom: 1.4375rem;
}

.p-topPrice__lead {
	font-size: 1rem;
	margin-bottom: 1.5rem;
	text-align: left;
}

.p-topPrice__lead .strong {
	font-size: 1.625rem;
}

.p-topPriceSec {
	margin-left: auto;
	margin-right: auto;
	max-width: 55rem;
	width: 100%;
}

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

.p-topPriceSec__ttl {
	font-size: 1.5rem;
	font-weight: 400;
	margin-bottom: 1.25rem;
	padding: 0.3125rem 0.9375rem;
	text-align: center;
}

.p-topPriceTable__container {
	background-color: #fff;
	border-radius: 0.375rem;
	box-shadow: 0rem 0rem 1rem rgba(154, 152, 152, 0.2);
	padding: 1.875rem 0.9375rem;
}

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

.p-topPriceTable__block + .p-topPriceTable__block {
	margin-top: 1.25rem;
}

.p-topPriceTable__block.--first .p-topPriceTable__ttl {
	padding-left: 4.375rem;
	position: relative;
}

.p-topPriceTable__block.--first .p-topPriceTable__ttlIcon {
	align-items: center;
	bottom: 0;
	display: flex;
	font-size: 0.9375rem;
	height: 3.75rem;
	justify-content: center;
	left: 0;
	margin: auto;
	position: absolute;
	top: -0.5rem;
	width: 3.75rem;
}

.p-topPriceTable__ttl {
	align-items: baseline;
	border-bottom: solid 0.0625rem #66a3ae;
	color: #66a3ae;
	display: flex;
	flex-wrap: wrap;
	font-size: 1.25rem;
	gap: 0.3125rem 0.9375rem;
	padding-bottom: 0.625rem;
	position: relative;
}

.p-topPriceTable__ttl .small {
	font-size: 0.75rem;
}

.p-topPriceTable__ttl .small-sp {
	font-size: 0.75rem;
	margin-left: -0.625rem;
}

.p-topPriceTable__ttl .p-topPriceTable__icon-tebura {
	position: absolute;
	right: -0.3125rem;
	top: -2.5rem;
	width: 8.125rem;
}

.p-topPriceList__item {
	align-items: center;
	border-bottom: solid 0.0625rem #d9d9d9;
	display: flex;
	flex-wrap: wrap;
	gap: 0.3125rem 0.625rem;
	justify-content: space-between;
	padding: 0.75rem 0 0.75rem;
}

.p-topPriceList__ttl {
	font-size: 1rem;
	font-weight: 400;
}

.p-topPriceList__price {
	font-size: 1rem;
	font-weight: 400;
	margin-left: auto;
}

.p-topPriceList__price .subTxt {
	display: block;
	font-size: 0.75rem;
	line-height: 1;
	margin-top: -0.125rem;
}

.p-topPriceNote {
	margin-top: 1rem;
}

.p-topPriceNote__txt {
	font-size: 0.875rem;
	text-align: right;
}

/****** 交通費 ******/

.p-topPriceTable__block.--fare .p-topPriceTable__ttl {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding-bottom: 1.125rem;
	padding-right: 0rem;
}

.p-topPriceTable__block.--fare .fareTtl {
	display: flex;
}

.p-topPriceTable__block.--fare .fareTtl__main {
	flex-shrink: 0;
}

.p-topPriceTable__block.--fare .fareTtl__sub {
	display: block;
	font-size: 0.8125rem;
	margin-left: 0;
	margin-top: 0.625rem;
	padding: 0.0625rem 0.3125rem 0.125rem;
	text-align: center;
	width: 100%;
}

/****** その他 ******/

.p-topPriceTable__other {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0 1.25rem;
	margin-top: 2.5rem;
	padding: 1.6875rem 1.25rem;
}

.p-topPriceTable__otherTtl {
	align-items: center;
	display: flex;
	font-size: 1.25rem;
	justify-content: center;
	margin-bottom: 0.9375rem;
	width: auto;
}

.p-topPriceTable__otherTxt {
	font-size: 0.875rem;
	padding-left: 1em;
	text-indent: -1em;
}

.p-topPriceTable__otherTxt + .p-topPriceTable__otherTxt {
	margin-top: 0.3125rem;
}

.p-topPriceExList {
	display: block;
	padding: 0 1.875rem;
}

.p-topPriceExList__item {
	display: flex;
	flex-direction: column;
	padding: 1.25rem 1.25rem 1.25rem;
}

.p-topPriceExList__item + .p-topPriceExList__item {
	margin-top: 1.25rem;
}

.p-topPriceExList__ttl {
	font-size: 1.25rem;
	line-height: 1.3;
	margin-bottom: 0.75rem;
	min-height: 0;
}

.p-topPriceExListInfo {
	margin-bottom: 1rem;
}

.p-topPriceExListInfo__item {
	align-items: flex-start;
	display: flex;
	gap: 0 0.5rem;
}

.p-topPriceExListInfo__item + .p-topPriceExListInfo__item {
	margin-top: 0.5rem;
}

.p-topPriceExListInfo__ttl {
	flex-shrink: 0;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.2;
	padding: 0.125rem 0.125rem;
	text-align: center;
	width: 4.75rem;
}

.p-topPriceExListInfo__txt {
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.2;
}

.p-topPriceExList__img {
	margin-top: auto;
}

.p-topZenkoku {
	background: rgba(246, 239, 216, 0.34) url(../img/common/bg02.webp) repeat center center/33.0625rem 24.75rem;
	padding-bottom: 9.25rem;
	padding-top: 86vw;
}

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

.p-topZenkoku__txt {
	margin-left: 1.25rem;
	margin-top: 6.25rem;
	width: 8.125rem;
}

.p-topZenkoku__img01 {
	left: -1.875rem;
	margin: auto;
	position: absolute;
	top: -3.75rem;
	width: 9.375rem;
}

.p-topZenkoku__img02 {
	bottom: -8.75rem;
	margin: auto;
	position: absolute;
	right: 0rem;
	top: auto;
	width: 13.125rem;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes mmfadeIn {

from {
	opacity: 0;
}

to {
	opacity: 1;
}

}

@keyframes mmfadeOut {

from {
	opacity: 1;
}

to {
	opacity: 0;
}

}


/*# sourceMappingURL=styles.css.map */
