body {
	font-family: "Zen Maru Gothic", sans-serif;
}

._pc {
	display: block !important;
}

._pc_flex {
	display: flex !important;
}

._pc_grid {
	display: grid !important;
}

._sp {
	display: none !important;
}

._sp_flex {
	display: none !important;
}

._sp_grid {
	display: none !important;
}

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

html {
	font-size: 16px;
}

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

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

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

/* Set core root defaults */

html {
	scroll-behavior: smooth;
}

/* Set core body defaults */

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

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

ul,
ol {
	list-style: none;
}

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

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

/* Make images easier to work with */

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

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

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

/* Inherit fonts for inputs and buttons */

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

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

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

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

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

textarea {
	resize: vertical;
}

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

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

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

/* ホバー */

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

.about {
	margin-top: -7.5rem;
}

.contactDeep__table {
	background-color: #fff;
	border-collapse: collapse;
	margin-top: 0.625rem;
}

.contactDeep__table a {
	-webkit-text-decoration: underline;
	color: green;
	text-decoration: underline;
}

.contactDeep__table .cell1_1,
.contactDeep__table .cell1_8,
.contactDeep__table .cell1_9 {
	direction: ltr;
	letter-spacing: 0.5em;
	padding-left: 0.625rem;
	padding-right: 0.25rem;
	text-align: center;
	width: 2.75rem;
}

.contactDeep__table .cell6_2,
.contactDeep__table .cell6_7,
.contactDeep__table .cell6_8,
.contactDeep__table .cell6_9,
.contactDeep__table .cell6_13 {
	padding: 0.5rem;
}

.contactDeep__table .cell2_2 {
	width: 1.9375rem;
}

.contactDeep__table .cell3_2 {
	width: 13.375rem;
}

.contactDeep__table .cell4_2 {
	width: 13.375rem;
}

.contactDeep__table .cell5_2 {
	width: 21rem;
}

.contactDeep__graphic {
	height: 100px;
	left: 0;
	padding-left: 1.125rem;
	padding-right: 1.125rem;
	position: absolute;
	top: -0.3125rem;
	width: 100%;
	z-index: -1;
}

.contactDeep__graphic img {
	margin-left: auto;
	margin-right: auto;
	width: 43.75rem;
}

.contactDeep__table .bubble {
	width: 20.875rem;
}

.contactDeep__table .table__graphic img {
	margin-left: auto;
	margin-right: auto;
	width: 4.8125rem;
}

.contactDeep__table ._border-bottom_none {
	border-bottom: none;
}

.contactDeep__table ._border-top_none {
	border-top: none;
}

.contactDeep__table th,
.contactDeep__table td {
	border: 0.0625rem solid #333;
	line-height: 1.5;
}

.contactDeep__table th {
	background-color: #DAEAD5;
	padding-bottom: 1rem;
	padding-top: 1rem;
}

.contactDeep__table td {
	padding-bottom: 0.95625rem;
	padding-left: 1rem;
	padding-top: 0.95625rem;
}

.drawer {
	-webkit-overflow-scrolling: touch;
	background-color: #95D0DD;
	color: #fff;
	height: 101vh;
	left: 0;
	overflow-y: scroll;
	padding: 1.25rem 1.25rem 6.875rem;
	position: absolute;
	top: 0;
	transform: translateX(100%);
	transition: ease 0.5s;
	transition: transform 0.3s ease-out;
	width: 100%;
	z-index: 10;
}

.drawer.js-open {
	transform: translateX(0%);
}

.drawer__list {
	margin-left: auto;
	margin-right: auto;
	margin-top: 5.625rem;
}

.drawer__link {
	display: block;
	font-size: 1rem;
	font-weight: 500;
	position: relative;
}

.drawer__link::after {
	background-color: red;
	bottom: 0;
	content: "";
	height: 1px;
	left: 50%;
	opacity: 0;
	position: absolute;
	transform: translateX(-50%);
	transition: 0.3s all;
	width: 100%;
}

.drawer__link span {
	display: block;
	font-family: second-font-family;
	font-size: 0.875rem;
	font-weight: 400;
}

.drawer__logo {
	margin: 5.125rem auto 0;
	width: 20.6875rem;
}

.drawer__cross {
	display: none;
	height: 1.25rem;
	position: absolute;
	right: 0.9375rem;
	top: 2.1875rem;
	width: 1.25rem;
}

.drawer__cross:before,
.drawer__cross:after {
	background-color: #333;
	content: "";
	display: block;
	height: 0.125rem;
	position: absolute;
	right: 0.27rem;
	top: 46%;
	width: 0.9375rem;
}

.drawer__cross:before {
	transform: rotate(90deg);
	transition-duration: 0.2s;
}

.drawer__cross.is-active::after {
	opacity: 0;
}

.drawer__cross.is-active::before {
	transform: rotate(0);
}

.drawer__accordion {
	display: none;
	margin-bottom: 1.25rem;
	margin-top: -1.25rem;
	padding: 0;
	position: relative;
	width: 100%;
}

.drawer__accordion li {
	margin-left: 0.625rem;
	width: 100%;
}

.drawer__accordion li a {
	display: block;
	font-size: 0.875rem;
	padding: 0.9375rem 0rem 0.3125rem 0.75rem;
	padding-left: 0.75rem;
}

.follow {
	bottom: 0;
	display: none;
	left: 50%;
	opacity: 0;
	position: fixed;
	transform: translateX(-50%);
	transition: 0.5s;
	width: 100%;
	z-index: 20;
}

.follow.is-show {
	opacity: 1;
	transition: 0.5s;
}

.follow__inner {
	grid-gap: 1.625rem;
	align-items: baseline;
	display: grid;
	gap: 1.625rem;
	grid-template-columns: 1fr 1fr auto;
	justify-content: center;
}

.follow .press {
	display: flex;
	font-size: 2rem;
	justify-content: center;
	line-height: 1.4;
	margin-top: 0rem;
	padding-left: 0rem;
	padding-right: 0rem;
	width: auto;
	width: 100%;
}

.follow__press:last-child .press__arrow {
	width: 3.75rem;
}

.footer {
	background-color: #95D0DD;
	padding-bottom: 3.125rem;
	padding-top: 4.375rem;
}

.footer__bg {
	padding: 5rem 0;
}

.footer__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 70rem;
}

.footer__address {
	color: #fff;
	font-size: 1.6875rem;
	font-style: normal;
	margin-top: 1.875rem;
}

.footer__telephone {
	color: #fff;
	font-size: 1.6875rem;
}

.footer__icons {
	display: flex;
	gap: 1.25rem;
	grid-column: 2;
	justify-self: flex-end;
	margin-top: 1.25rem;
}

.footer__area {
	display: grid;
	grid-template-columns: auto 1fr;
	justify-content: space-between;
}

.footer__wrap {
	display: flex;
	justify-content: space-between;
}

.footer__right {
	width: 40.625%;
}

.footer__logo {
	display: block;
	max-width: 28.125rem;
}

.footer__logo a {
	display: block;
}

.footer__sns {
	width: 1.5rem;
}

.footer__nav {
	display: flex;
	gap: 1.25rem;
	justify-self: flex-end;
}

.footer__list {
	display: flex;
	flex: 1;
	gap: 1.75rem;
}

.footer__item {
	color: white;
	display: block;
	font-size: 1.6875rem;
	position: relative;
}

.footer__copyright {
	align-content: center;
	color: #fff;
	display: block;
	display: grid;
	font-size: 0.875rem;
	height: 3.75rem;
	justify-content: center;
	line-height: 1;
	place-content: center;
}

.form {
	background-color: #fff;
	border-radius: 2.9375rem;
	margin-bottom: 15.75rem;
	margin-left: auto;
	margin-right: auto;
	margin-top: -2.5rem;
	max-width: 75rem;
	padding-bottom: 4.6875rem;
	padding-left: 6.25rem;
	padding-right: 6.25rem;
	padding-top: 2.5rem;
	padding-top: 5rem;
	position: relative;
	width: 100%;
}

.form__item {
	align-items: center;
	display: flex;
	transform: rotate(0.05deg);
}

.form__item > span {
	width: 100%;
}

.form__item + .form__item {
	margin-top: 1.5rem;
}

.form__item.form__memo {
	margin-top: 1.75rem;
}

.form__label {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	font-weight: 700;
	justify-content: space-between;
	margin-right: 1rem;
	padding-left: 1rem;
	width: 14.875rem;
}

.form__label-text {
	color: #9b8c75;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1;
}

.form__label-required {
	background-color: #f5939d;
	border-radius: 0.25rem;
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
	padding: 0.25rem 0.5rem;
	padding: 0.5rem 0.625rem 0.375rem;
}

.form__input {
	background-color: #f2f2f2;
	border-radius: 0.5rem;
	color: #A0937F;
	flex: 1;
	font-size: 1.125rem;
	font-weight: 500;
	height: 3.75rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
	padding: 0.75rem 1rem;
	transition: background-color 0.5s, color 0.5s;
	width: 100%;
}

.form__input::-moz-placeholder {
	color: #ccc;
}

.form__input::placeholder {
	color: #ccc;
}

.form__birthArea,
.form__graduationArea {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.form__yearInput {
	width: 14.375rem;
}

.form__monthInput {
	width: 6.25rem;
}

.form__dayInput {
	width: 6.25rem;
}

.form__selectWrap {
	align-items: center;
	display: flex;
	position: relative;
}

.form__select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #f2f2f2;
	background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6H0z' fill='%239B8C75'/%3E%3C/svg%3E");
	background-position: right 0.75rem center;
	background-repeat: no-repeat;
	background-size: 0.625rem 0.375rem;
	border-radius: 0.5rem;
	color: #A0937F;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5;
	padding: 0.75rem 2.5rem 0.75rem 1rem;
	transition: background-color 0.5s, color 0.5s;
}

.form__selectUnit {
	color: #9b8c75;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-left: 0.5rem;
}

.form__item.form__radio {
	margin-top: 1.5625rem;
}

.form__radioGroup {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: 1rem;
	gap: 1.25rem;
}

.form__radioLabel {
	align-items: center;
	cursor: pointer;
	display: flex;
	position: relative;
}

.form__radioVisual {
	border: 0.125rem solid #9b8c75;
	border-radius: 50%;
	flex-shrink: 0;
	height: 1rem;
	margin-right: 0.5rem;
	position: relative;
	transition: border-color 0.5s, background-color 0.5s;
	width: 1rem;
}

.form__radioVisual::after {
	background-color: #f5939d;
	border-radius: 50%;
	content: "";
	height: 0.375rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) scale(0);
	transition: transform 0.5s;
	width: 0.375rem;
}

.form__radioInput:checked + .form__radioVisual::after {
	transform: translate(-50%, -50%) scale(1);
}

.form__radioInput {
	color: #9b8c75;
	display: flex;
	font-size: 0.875rem;
	font-size: 1rem;
	font-weight: 500;
	gap: 1.25rem;
	letter-spacing: 0.05em;
	line-height: 1;
	padding-bottom: 1.4375rem;
	padding-top: 1.4375rem;
}

.form__radioInput > span {
	margin-left: 0rem;
	position: relative;
}

.form__item.form__tel {
	margin-top: 3.4375rem;
	position: relative;
}

.form__telCaution {
	left: 15.625rem;
	position: absolute;
	top: -2.125rem;
}

.form__radioGroup input[type=radio] + .wpcf7-list-item-label {
	padding-left: 1.875rem;
}

.form__radioGroup input[type=radio]:checked + .wpcf7-list-item-label {
	position: relative;
}

.form__radioGroup input[type=radio] + .wpcf7-list-item-label::before {
	aspect-ratio: 1;
	background-color: #F2F2F2;
	border: solid 0.0625rem #A0937F;
	border-radius: 0.5rem;
	content: "";
	left: 0rem;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
}

.form__radioGroup input[type=radio]:checked + .wpcf7-list-item-label::after {
	aspect-ratio: 1;
	background-color: #FF8898;
	border-radius: 0.375rem;
	content: "";
	left: 0.1875rem;
	pointer-events: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.625rem;
}

.form__postal {
	align-items: center;
	display: flex;
}

.form__postalMark {
	color: #9b8c75;
	flex-shrink: 0;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-left: 0.375rem;
	padding-right: 1rem;
}

.form__postalInput {
	background-color: #f2f2f2;
	border-radius: 0.5rem;
	color: #A0937F;
	height: 3.75rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
	padding: 0.75rem 1rem;
	transition: background-color 0.5s, color 0.5s;
	width: 14.375rem;
}

.form__postalInput::-moz-placeholder {
	color: #ccc;
}

.form__postalInput::placeholder {
	color: #ccc;
}

.form__memoText {
	aspect-ratio: 750/248;
	background-color: #f2f2f2;
	border-radius: 0.5rem;
	border-radius: 0.625rem;
	color: #333;
	font-size: 0.875rem;
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	letter-spacing: 0.01em;
	line-height: 1.6;
	margin-top: 0.625rem;
	padding: 1.25rem 1rem;
	resize: vertical;
	transform: rotate(0.05deg);
	transition: background-color 0.5s, color 0.5s;
	width: 100%;
}

.form__memoText::-moz-placeholder {
	color: #ccc;
}

.form__memoText::placeholder {
	color: #ccc;
}

.hidden-fields-container {
	display: none;
}

.form-send {
	margin-top: 4.8125rem;
	position: relative;
}

.form-send::before {
	background: url("../images/form/shape2.svg") center left/contain no-repeat;
	content: "";
	height: 36rem;
	left: 0;
	position: absolute;
	top: 8.75rem;
	width: 47.8125rem;
}

.form-send::after {
	background: url("../images/form/shape1.svg") center right/contain no-repeat;
	content: "";
	height: 27.0625rem;
	position: absolute;
	right: 0rem;
	top: -11.875rem;
	width: 32.1875rem;
	z-index: -1;
}

.form-send__graphic {
	grid-row: span 2;
	position: relative;
	width: 14.25rem;
	z-index: 1;
}

.form-send__graphic::after {
	background: url("../images/form/shape3.svg") center center/contain no-repeat;
	content: "";
	height: 9.3125rem;
	left: -8.3125rem;
	position: absolute;
	top: -7.125rem;
	width: 16.0625rem;
}

.form-send__inner {
	-moz-column-gap: 1.625rem;
	align-content: center;
	column-gap: 1.625rem;
	display: flex;
	font-size: 1.25rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 63.75rem;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	row-gap: 1rem;
}

.form-send__writing {
	position: relative;
	transform: rotate(0.05deg);
}

.form-send__writing-text {
	align-self: end;
	line-height: 1.6;
	margin-top: 6.625rem;
}

.form-send__writing-caution {
	font-size: 1rem;
	margin-top: 0.875rem;
}

.form__acceptance {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.0625rem;
	transform: rotate(0.05deg);
	width: -moz-max-content;
	width: max-content;
}

.form__acceptanceInput {
	display: block;
	width: -moz-max-content;
	width: max-content;
}

.form__acceptanceInput + .wpcf7-list-item-label {
	align-items: center;
	display: flex;
	gap: 0.625rem;
	position: relative;
}

.form__acceptanceInput + .wpcf7-list-item-label::before {
	aspect-ratio: 1;
	background-color: #F2F2F2;
	border: solid 0.0625rem #A0937F;
	content: "";
	display: block;
	width: 0.9375rem;
}

.form__acceptanceInput:checked + .wpcf7-list-item-label::after {
	aspect-ratio: 1;
	background: url("../images/common/check.svg") center center/contain no-repeat;
	content: "";
	display: block;
	left: -0.0625rem;
	position: absolute;
	top: 48%;
	transform: translateY(-50%);
	width: 1.25rem;
}

.press.form__press {
	justify-content: center;
	margin-top: 2.4375rem;
	padding: 0;
}

.press.form__press input {
	display: block;
	padding: 1rem 2.3125rem 1rem 2.4375rem;
	width: 20.5rem;
}

.wpcf7-validation-errors {
	background-color: #fff0f0;
	border: 0.0625rem solid #d00;
	color: #d00;
	font-size: 0.875rem;
	line-height: 1.4;
	margin-top: 1rem;
	padding: 0.75rem;
}

.wpcf7-previous {
	color: #fff;
}

body.noscroll {
	overflow: hidden;
}

.header {
	background-color: #95D0DD;
	max-height: 100%;
	padding: 0;
	padding-bottom: 3vw;
	padding-top: 3vw;
	position: fixed;
	transition: 0.5s all;
	width: 100%;
	z-index: 11;
}

.header.js-up {
	animation: UpAnime 0.5s forwards;
}

.header.js-down {
	animation: DownAnime 0.5s forwards;
	background-color: #fff;
	top: 0px;
}

.header__inner {
	align-items: center;
	background-color: transparent;
	display: flex;
	flex-direction: row;
	height: inherit;
	justify-content: space-between;
	position: relative;
	z-index: 12;
}

.header__logo {
	max-width: 28.125rem;
}

.header__logoLink img {
	width: 22.5rem;
}

.header__nav {
	height: inherit;
}

.header__list {
	align-items: center;
	display: flex;
	height: inherit;
}

.header__item {
	height: inherit;
	padding: 0 0.8125rem;
	position: relative;
}

.header__link {
	align-items: center;
	color: white;
	display: block;
	display: flex;
	font-size: 1.6875rem;
	font-weight: 700;
	height: inherit;
	justify-content: center;
	position: relative;
}

.header__link span {
	display: block;
	position: relative;
}

.header__link span::after {
	bottom: -0.8125rem;
	content: "";
	height: 3px;
	left: 50%;
	opacity: 0;
	position: absolute;
	transform: translateX(-50%);
	transition: 0.3s all;
	width: 100%;
}

.header__hamburger {
	display: none;
}

.hamburger {
	cursor: pointer;
	display: block;
	height: 1.125rem;
	position: relative;
	transition: 0.3s all;
	width: 1.5rem;
}

.hamburger span {
	background-color: #fff;
	display: inline-block;
	height: 3px;
	left: 0;
	margin: 0 auto;
	position: absolute;
	right: 0;
	top: calc((100% - 2px) / 2);
	transition: ease 0.5s all;
	width: 100%;
}

.hamburger span:nth-child(1) {
	transform: translateY(-6px);
}

.hamburger span:nth-child(3) {
	transform: translateY(6px);
}

/*OPEN時の動き*/

.js-open.header__hamburger {
	margin-left: auto;
}

.js-open .hamburger span {
	transition: ease 0.5s;
}

.js-open .hamburger span:nth-child(1) {
	transform: rotate(45deg);
}

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

.js-open .hamburger span:nth-child(3) {
	left: 0;
	right: 0;
	transform: rotate(-45deg);
	width: 100%;
}

.spNav {
	display: none;
}

.spNav.js-open {
	transform: translateX(0%);
}

.spNav__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	margin-top: 5.625rem;
	width: 100%;
}

.spNav__link {
	color: #333;
	display: block;
	font-size: 1rem;
	font-weight: 500;
	position: relative;
}

.spNav__link::after {
	background-color: text;
	bottom: 0;
	content: "";
	height: 1px;
	left: 50%;
	opacity: 0;
	position: absolute;
	transform: translateX(-50%);
	transition: 0.3s all;
	width: 100%;
}

.spNav__link span {
	display: block;
	font-family: second-font-family;
	font-size: 0.875rem;
	font-weight: 400;
}

.spNav__logo {
	margin: 5.125rem auto 0;
	width: 20.6875rem;
}

.cross {
	display: block;
	height: 1.25rem;
	position: absolute;
	right: 0.9375rem;
	top: 2.1875rem;
	width: 1.25rem;
}

.cross:before,
.cross:after {
	background-color: #333;
	content: "";
	display: block;
	height: 0.125rem;
	position: absolute;
	right: 0.27rem;
	top: 46%;
	width: 0.9375rem;
}

.cross:before {
	transform: rotate(90deg);
	transition-duration: 0.2s;
}

.is-active .cross::after {
	opacity: 0;
}

.is-active .cross::before {
	transform: rotate(0);
}

.accordion {
	display: none;
	margin-bottom: 1.25rem;
	margin-top: -1.25rem;
	padding: 0;
	position: relative;
	width: 100%;
}

.accordion li {
	margin-left: 0.625rem;
	width: 100%;
}

.accordion li a {
	display: block;
	font-size: 0.875rem;
	padding: 0.9375rem 0rem 0.3125rem 0.75rem;
	padding-left: 0.75rem;
}

.hero {
	aspect-ratio: 2579/2488;
	position: relative;
}

.hero__copy {
	font-size: 2.25vw;
	line-height: 1.75;
	margin-left: auto;
	padding-right: 18%;
	padding-top: 25%;
	position: relative;
	width: 100%;
	writing-mode: vertical-rl;
	z-index: 2;
}

.hero__copyWord2 {
	margin-top: -0.4em;
}

.splide.hero__splide {
	aspect-ratio: 1241/827;
	left: 14.5%;
	position: absolute;
	top: 19%;
	width: 64.5vw;
}

.hero__icon {
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.hero__area {
	color: white;
	font-weight: 700;
	margin-left: auto;
	margin-right: auto;
	margin-top: 22vw;
	position: relative;
	width: -moz-max-content;
	width: max-content;
	z-index: 1;
}

.hero__title {
	align-items: baseline;
	display: flex;
	gap: 2.3125rem;
	justify-content: center;
}

.hero__titleWord1 {
	font-size: 3.125rem;
}

.hero__titleWord2 {
	color: #fff600;
	font-size: 1.875rem;
	line-height: 1.25;
	position: relative;
}

.hero__titleWord2::after {
	aspect-ratio: 5;
	background: url("../images/common/arrow.svg") center center/contain no-repeat;
	bottom: 20%;
	content: "";
	left: 128%;
	position: absolute;
	width: 3.4375rem;
}

.hero__list {
	margin-top: 0.9375rem;
}

.hero__item {
	font-size: 1.5rem;
	font-weight: 700;
	padding: 1.5rem 4.875rem 1.875rem 7rem;
}

.hero__item + .hero__item {
	border-top: 1px solid white;
}

.hero__link {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: -moz-max-content;
	width: max-content;
}

.hero__itemWord1 {
	color: #fff600;
}

.hero__itemWord2 {
	margin-left: 2.5rem;
}

.kindergarten {
	background: url("../images/top/back.svg") top center/cover no-repeat;
	margin-top: 10.375rem;
	padding-bottom: 5rem;
	padding-top: 1.25rem;
}

.kindergarten__content {
	gap: 1.25rem;
	margin-top: 5rem;
}

._reverse {
	flex-direction: row-reverse;
}

.kindergarten__media {
	gap: 2.5rem;
}

.kindergarten__graphic {
	aspect-ratio: 1;
	border-radius: 50%;
	width: 25.125rem;
}

.kindergarten__writing {
	flex-basis: 50%;
	margin-top: 1.25rem;
}

.kindergarten__writingTitle {
	align-items: center;
	color: #95D0DD;
	display: flex;
	font-size: 2rem;
	font-weight: 700;
	gap: 1.25rem;
}

.kindergarten__writingTitle::before {
	aspect-ratio: 51/71;
	content: "";
	display: block;
	width: 3.1875rem;
}

.kindergarten__writingText {
	margin-top: 2.5rem;
}

.kindergarten__writingPress {
	background-color: #95D0DD;
	border-radius: 0.3125rem;
	color: #fff;
	display: block;
	font-weight: 700;
	margin-top: 1.25rem;
	padding: 0.3125rem 3.75rem;
	width: -moz-max-content;
	width: max-content;
}

.kindergarten__graphic {
	position: relative;
}

.kindergarten__graphic:after {
	aspect-ratio: 493/434;
	background: url("../images/top/shadow2.svg") center center/cover no-repeat;
	content: "";
	left: 0;
	position: absolute;
	top: 0;
	width: 30.8125rem;
	z-index: -1;
}

.press {
	display: block;
	font-size: 2rem;
	font-weight: 700;
	width: -moz-max-content;
	width: max-content;
}

.kindergarten .press {
	width: 100%;
}

.press_right {
	margin-left: auto;
}

.range {
	margin-left: auto;
	margin-right: auto;
	max-width: 1465px;
	padding-left: 20px;
	padding-right: 20px;
	width: 100%;
}

._flex {
	display: flex;
}

.service {
	margin-top: 11.875rem;
}

.service__list {
	grid-gap: 2.5rem;
	display: grid;
	gap: 2.5rem;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 5.25rem;
}

.service__item {
	aspect-ratio: 1;
	border-radius: 50%;
	color: #fff;
	font-size: 2.5rem;
	text-align: center;
}

.service__item:first-child {
	line-height: 1.2;
	position: relative;
}

.service__item:first-child::before {
	background: url("../images/top/service1.png") center center/contain no-repeat;
	bottom: 40%;
	content: "";
	height: 12.125rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 18.25rem;
}

.service__item:first-child .service__itemLink {
	padding-top: 11.875rem;
}

.service__item:nth-child(2) {
	line-height: 1.2;
	position: relative;
}

.service__item:nth-child(2)::before {
	background: url("../images/top/service2.png") center center/contain no-repeat;
	bottom: 40%;
	content: "";
	height: 13.875rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 14.5rem;
}

.service__item:nth-child(2) .service__itemLink {
	padding-top: 11.875rem;
}

.service__item:last-child,
.service__item:nth-child(3) {
	line-height: 1.25;
	position: relative;
}

.service__item:last-child::after,
.service__item:nth-child(3)::after {
	background: url("../images/common/arrow2.png") center center/contain no-repeat;
	content: "";
	height: 0.875rem;
	left: 50%;
	position: absolute;
	top: 70%;
	transform: translateX(-50%);
	width: 4.5625rem;
}

.service__item .service__itemLink {
	padding-top: 6.25rem;
}

.service__itemLink {
	display: block;
	height: 100%;
	width: 100%;
}

.service__area {
	gap: 1.25rem;
	margin-top: 3.125rem;
}

.service__graphic {
	grid-row: span 2;
	margin-left: 2.75rem;
	margin-top: 2.5rem;
	position: relative;
	width: 32.5rem;
}

.service__graphic::after {
	aspect-ratio: 477/420;
	background: url("../images/top/shadow1.svg") center center/cover no-repeat;
	content: "";
	left: 0;
	position: absolute;
	top: 12.625rem;
	width: 29.8125rem;
	z-index: -1;
}

.service__title {
	align-self: flex-end;
	text-align: center;
}

.service__writing {
	aspect-ratio: 868/453;
	background: url("../images/top/box.png") center center/contain no-repeat;
	margin-left: -2.5rem;
	margin-top: 0rem;
	padding: 5rem 0 0 5rem;
	padding: 0rem;
	position: relative;
	z-index: 1;
}

.service__writingTitle {
	color: #4998c6;
	font-size: max(0px, min(3.7vw, 3.1875rem));
	font-weight: 700;
	letter-spacing: -0.06em;
	margin-left: max(0px, min(20vw, 20rem));
	margin-top: max(0px, min(12vw, 8.5rem));
}

.service__writingText {
	font-size: 1.5625rem;
	font-weight: 700;
	line-height: 1.8;
	margin-left: 7.5rem;
	margin-top: 1.5rem;
}

.service__total {
	color: #fff;
	gap: 1.25rem;
	margin-left: 7.5rem;
	margin-top: 2.0625rem;
}

.service__part {
	border-radius: 0.3125rem;
	font-size: 2.125rem;
	font-weight: 700;
	text-align: center;
	width: 50%;
}

.service__partLink {
	display: block;
	padding: 0.0625rem 3.75rem;
	width: 100%;
}

.staff {
	margin-top: 9.375rem;
}

.thanks {
	margin-bottom: 12.5rem;
	padding: 80px 20px;
	text-align: center;
}

.thanks__title {
	font-size: 2rem;
	margin-bottom: 20px;
}

.thanks__text {
	font-size: 1rem;
	margin-bottom: 30px;
}

.topMedia__content {
	gap: 1.25rem;
	margin-top: 5rem;
}

._reverse {
	flex-direction: row-reverse;
}

.topMedia {
	gap: 4.0625rem;
	justify-content: left;
}

.about .topMedia {
	gap: 3.3125rem;
	margin-left: 3.625rem;
}

.staff .topMedia {
	gap: 1.9375rem;
	padding-right: 3.75rem;
}

.topMedia__graphic {
	aspect-ratio: 1;
	border-radius: 50%;
	position: relative;
	width: 43.625rem;
	z-index: 1;
}

.about .topMedia__graphic,
.staff .topMedia__graphic {
	width: 33.625rem;
}

.topMedia__graphic_left:after {
	aspect-ratio: 493/434;
	background: url("../images/top/shadow1.svg") center center/cover no-repeat;
	content: "";
	left: -3.75rem;
	position: absolute;
	top: 12.0625rem;
	width: 30.8125rem;
	z-index: -1;
}

.topMedia__graphic_right:after {
	aspect-ratio: 493/434;
	background: url("../images/top/shadow1.svg") center center/cover no-repeat;
	bottom: -5.125rem;
	content: "";
	left: 6.25rem;
	position: absolute;
	width: 30.8125rem;
	z-index: -1;
}

.topMedia__writing {
	margin-top: 5.125rem;
}

.about .topMedia__writing {
	margin-top: 7.875rem;
}

.kindergarten .topMedia__writing {
	margin-top: 11rem;
}

.topMedia__writingText {
	font-size: 1.5625rem;
	line-height: 1.65;
	margin-left: 0.8125rem;
	margin-top: 2.5625rem;
}

.topMedia__writingPress {
	align-items: center;
	border-radius: 0.625rem;
	color: #fff;
	display: grid;
	font-size: 2.1875rem;
	justify-items: center;
	margin-top: 2.5625rem;
	padding-bottom: 0.3125rem;
	padding-top: 0.3125rem;
	width: 26.25rem;
}

.topTitle {
	align-items: end;
	color: #95D0DD;
	display: flex;
	font-size: 3.875rem;
	font-weight: 700;
	gap: 1.25rem;
	letter-spacing: 0.1em;
}

.topTitle::before {
	aspect-ratio: 61/71;
	background: url("../images/common/icon.svg") center center/contain no-repeat;
	content: "";
	display: block;
	width: 3.8125rem;
}

.kindergarten .topTitle:before {
	background: url("../images/common/icon2.svg") center center/cover no-repeat;
}

.service .topTitle {
	justify-content: center;
}

._center {
	align-items: center;
	display: grid;
	justify-items: center;
	place-items: center;
}

._center_x {
	display: grid;
	justify-items: center;
}

._center_y {
	align-items: center;
	display: grid;
}

._center_m {
	margin-left: auto;
	margin-right: auto;
	width: -moz-max-content;
	width: max-content;
}

._center_a {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translateX(-50%);
}

._center_ax {
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

._center_ay {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

._color_yellow1 {
	color: #fff600;
}

._color_blue1 {
	color: #95D0DD;
}

._color_blue2 {
	color: #4998c6;
}

._color_blue3 {
	color: #95d0dd;
}

._color_orange1 {
	color: #f2a73b;
}

._backColor_yellow1 {
	background-color: #fff600;
}

._backColor_blue1 {
	background-color: #95D0DD;
}

._backColor_blue2 {
	background-color: #4998c6;
}

._backColor_blue3 {
	background-color: #95d0dd;
}

._backColor_orange1 {
	background-color: #f2a73b;
}

._columns1_1 {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

._columns1_2 {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

._columns2_1 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

._columns2_2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

._columns3_1 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

._columns3_2 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

._flex {
	display: flex;
}

._flex_1 {
	display: flex;
}

._flex_remain {
	flex: 1;
}

._ellipsis1 {
	-webkit-box-orient: vertical; /* 縦方向にボックスを並べる */
	line-clamp: 1; /* 行数を制限（ここでは2行） */
	-webkit-line-clamp: 1;
	display: -webkit-box; /* Flexboxの古い仕様を利用 */
	overflow: hidden; /* はみ出しを隠す */
}

._ellipsis2 {
	-webkit-box-orient: vertical; /* 縦方向にボックスを並べる */
	line-clamp: 2; /* 行数を制限（ここでは2行） */
	-webkit-line-clamp: 2;
	display: -webkit-box; /* Flexboxの古い仕様を利用 */
	overflow: hidden; /* はみ出しを隠す */
}

._ellipsis3 {
	-webkit-box-orient: vertical; /* 縦方向にボックスを並べる */
	line-clamp: 3; /* 行数を制限（ここでは2行） */
	-webkit-line-clamp: 3;
	display: -webkit-box; /* Flexboxの古い仕様を利用 */
	overflow: hidden; /* はみ出しを隠す */
}

._nowrap {
	display: inline-block;
	white-space: nowrap;
}

._uppercase {
	text-transform: uppercase;
}

._text_l {
	text-align: left;
}

._text_c {
	text-align: center;
}

._text_r {
	text-align: right;
}

@media (any-hover: hover) {

.header__link:hover span:after {
	opacity: 1;
	transition: 0.3s all;
}

.header__link:hover {
	opacity: 0.7;
	transition: 0.3s;
}

}

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

.drawer__link:hover:after {
	opacity: 1;
	transition: 0.3s all;
}

.spNav__link:hover:after {
	opacity: 1;
	transition: 0.3s all;
}

}

@media (max-width: 1425px) {

html {
	font-size: 1.1228070175vw;
}

}

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

.contactDeep__table {
	width: 60rem;
}

}

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

._pc {
	display: none !important;
}

._pc_flex {
	display: none !important;
}

._pc_grid {
	display: none !important;
}

._sp {
	display: block !important;
}

._sp_flex {
	display: flex !important;
}

._sp_grid {
	display: grid !important;
}

html {
	font-size: 4.1025641026vw;
}

.about {
	margin-top: 5rem;
}

.drawer__item {
	border-bottom: 1px solid #fff;
	position: relative;
	width: 100%;
}

.drawer__link {
	padding: 1.875rem 0;
	text-align: left;
}

.drawer__logo {
	margin: 2.5rem auto 0;
	width: 210px;
}

.follow {
	display: block;
}

.follow__inner {
	gap: 0.3125rem;
}

.follow .press {
	font-size: 1rem;
}

.footer__inner {
	max-width: 39.375rem;
	padding-left: 40px;
	padding-right: 40px;
	width: 100%;
}

.footer__address {
	text-align: center;
}

.footer__telephone {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: -moz-max-content;
	width: max-content;
}

.footer__icons {
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.5rem;
}

.footer__icon {
	max-width: 2.5rem;
}

.footer__area {
	display: block;
}

.footer__wrap {
	flex-direction: column;
}

.footer__right {
	margin-top: 2.5rem;
	width: 100%;
}

.footer__logo {
	margin-left: auto;
	margin-right: auto;
}

.footer__sns {
	margin-left: auto;
	margin-right: auto;
}

.footer__tel {
	font-size: 1.625rem;
	line-height: 1;
}

.footer__nav {
	gap: 0;
	justify-self: center;
	margin-top: 2.5rem;
	text-align: center;
}

.footer__list {
	flex-direction: column;
	padding-left: 0rem;
}

.form {
	margin-bottom: 5rem;
	margin-top: 2.5rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 2.5rem;
}

.form__item + .form__item {
	margin-top: 0rem;
}

.form__item {
	align-items: start;
	flex-direction: column;
	padding: 1.25rem 0;
}

.form__label {
	justify-content: start;
	padding-left: 0rem;
}

.form__label-required {
	margin-left: 0.625rem;
}

.form__input {
	margin-top: 0.625rem;
	padding: 0.875rem 1.25rem;
}

.form__birthArea,
.form__graduationArea {
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	row-gap: 0rem;
}

.form__select {
	padding: 0.875rem 2.75rem 0.875rem 1.25rem;
}

.form__radioGroup {
	gap: 1.75rem;
}

.form__item.form__tel {
	margin-top: 0rem;
	padding-bottom: 6.25rem;
}

.form__telCaution {
	bottom: 1.875rem;
	left: 0;
	top: auto;
}

.form__postal {
	margin-top: 0.625rem;
}

.form__postalInput {
	padding: 0.875rem 1.25rem;
	width: 12.5rem;
}

.form__memoText {
	padding: 1.25rem;
}

.form-send::before {
	width: 12.5rem;
}

.form-send::after {
	width: 12.5rem;
}

.form-send__inner {
	flex-direction: column;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.form-send__writing-text {
	margin-top: 0rem;
}

.press.form__press {
	width: 100%;
}

.header {
	padding-bottom: 0rem;
	padding-top: 0rem;
}

.header__inner {
	padding-left: 0.625rem;
	padding-right: 0;
}

.header__logo {
	max-width: 12.5rem;
}

.header__logoLink img {
	width: 9rem;
}

.header__nav {
	display: none;
}

.header__hamburger {
	align-items: center;
	display: block;
	display: flex;
	height: 2.5rem;
	justify-content: center;
	margin-left: auto;
	position: relative;
	width: 2.8125rem;
}

.spNav {
	-webkit-overflow-scrolling: touch;
	background: white;
	background-color: #eee;
	color: #232323;
	color: #333;
	display: block;
	height: 101vh;
	left: 0;
	overflow-y: scroll;
	padding: 1.25rem 1.25rem 6.875rem;
	position: fixed;
	top: 0;
	transform: translateX(100%);
	transition: ease 0.5s;
	transition: transform 0.3s ease-out;
	width: 100%;
}

.spNav__item {
	border-bottom: 1px solid #000;
	position: relative;
	width: 100%;
}

.spNav__link {
	padding: 1.875rem 0;
	text-align: left;
}

.spNav__logo {
	margin: 2.5rem auto 0;
	width: 210px;
}

.hero__copy {
	font-size: 0.5rem;
	padding-right: 4.5rem;
	padding-top: 6rem;
}

.splide.hero__splide {
	top: 11%;
}

.hero__area {
	color: black;
	margin-top: 14.375rem;
	width: 100%;
}

.hero__title {
	grid-gap: 0rem;
	align-items: center;
	display: grid;
	flex-direction: column;
	gap: 0rem;
	justify-items: center;
}

.hero__titleWord1 {
	font-size: 2rem;
}

.hero__titleWord2 {
	color: #95D0DD;
	font-size: 1.5rem;
}

.hero__titleWord2::after {
	background: url("../images/common/arrow3.svg") center center/contain no-repeat;
	width: 2.5rem;
}

.hero__list {
	margin-top: 1.875rem;
}

.hero__item {
	padding: 0rem 1.25rem;
}

.hero__item + .hero__item {
	padding-top: 0.625rem;
}

.hero__itemWord1 {
	color: #95D0DD;
}

.hero__itemWord2 {
	display: block;
	margin-left: 0rem;
	margin-top: 0.3125rem;
}

.kindergarten {
	margin-top: 0rem;
	padding-top: 0rem;
}

.kindergarten__content {
	align-items: center;
	gap: 2.5rem;
}

.kindergarten__graphic {
	flex: 1;
}

.kindergarten__writing {
	align-items: center;
	margin-top: 0rem;
	width: 50%;
}

.kindergarten__writingText {
	margin-top: 1.25rem;
}

.range {
	padding-left: 40px;
	padding-right: 40px;
}

.service {
	margin-top: 5rem;
}

.service__list {
	gap: 3.75rem;
	grid-template-columns: 1fr;
	margin-top: 2.5rem;
}

.service__item {
	aspect-ratio: 1;
	font-size: 1.25rem;
	margin-left: auto;
	margin-right: auto;
	width: 12.5rem;
}

.service__item:first-child::before {
	bottom: 22%;
	width: 11.25rem;
}

.service__item:first-child .service__itemLink {
	padding-top: 8rem;
}

.service__item:nth-child(2)::before {
	bottom: 22%;
	width: 10rem;
}

.service__item:nth-child(2) .service__itemLink {
	padding-top: 8.125rem;
}

.service__item .service__itemLink {
	padding-top: 3.75rem;
}

.service__area {
	align-content: center;
}

.service__graphic {
	margin-left: 0rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 12.5rem;
	width: 100%;
}

.service__graphic::after {
	left: 1.25rem;
	top: 2.5rem;
	width: 100%;
}

.service__title {
	grid-column: 2;
	grid-row: 1;
	text-align: left;
}

.service__writing {
	aspect-ratio: unset;
	background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
	background: initial;
	margin-left: 0rem;
}

.service__writingTitle {
	font-size: 2rem;
	margin-left: 0rem;
	text-align: center;
}

.service__writingText {
	font-size: 1rem;
	margin-left: 0rem;
}

.service__total {
	margin-left: 0rem;
}

.service__part {
	font-size: 1.25rem;
	padding: 0.3125rem 0rem;
}

.service__partLink {
	font-size: 1.25rem;
	padding: 0rem;
}

.staff {
	margin-top: 5rem;
}

.topMedia__content {
	align-items: center;
	gap: 2.5rem;
}

.about .topMedia {
	flex-direction: column-reverse;
	margin-left: 0rem;
}

.staff .topMedia {
	margin-right: 0rem;
	padding-right: 0rem;
}

.topMedia__graphic {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.25rem;
	max-width: 12.5rem;
	width: 100%;
}

.about .topMedia__graphic,
.staff .topMedia__graphic {
	width: 100%;
}

.topMedia__graphic_left:after {
	left: -1.25rem;
	top: 3.75rem;
	width: 100%;
}

.topMedia__graphic_right:after {
	bottom: -1.25rem;
	left: -1.25rem;
	width: 100%;
}

.about .topMedia__writing {
	margin-top: 0rem;
}

.topMedia__writing {
	align-items: center;
	margin-top: 0rem;
}

.topMedia__writingText {
	font-size: 1rem;
	margin-top: 1.25rem;
}

.topMedia__writingPress {
	font-size: 1.5rem;
	margin-left: auto;
	margin-right: auto;
	max-width: 25.6875rem;
	width: 100%;
}

.topTitle {
	font-size: 2rem;
	justify-content: center;
}

.topTitle::before {
	width: 2rem;
}

._columns1_1 {
	grid-template-columns: repeat(1, 1fr);
}

._columns1_2 {
	grid-template-columns: repeat(2, 1fr);
}

._columns2_1 {
	grid-template-columns: repeat(1, 1fr);
}

._columns2_2 {
	grid-template-columns: repeat(2, 1fr);
}

._columns3_1 {
	grid-template-columns: repeat(1, 1fr);
}

._columns3_2 {
	grid-template-columns: repeat(2, 1fr);
}

._flex_1 {
	flex-direction: column;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}

@keyframes UpAnime {

from {
	opacity: 1;
	transform: translateY(0);
}

to {
	opacity: 0;
	transform: translateY(-100px);
}

}

@keyframes DownAnime {

from {
	opacity: 0;
	transform: translateY(-100px);
}

to {
	opacity: 1;
	transform: translateY(0);
}

}


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