/* ---------------------------------------------
 * rem への計算式
 *   - 10px を 1rem として計算（＝ html { font-size: 62.5% } 想定）
 * ------------------------------------------- */

body {
	color: #606060;
	font-family: "Noto Sans JP";
	font-weight: 500;
}

.wrapper {
	overflow: hidden;
	position: relative;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

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

html {
	font-size: 62.5%;
}

*,
*::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;
	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 */

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

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

.access {
	background: #E2F5FF;
	padding-bottom: 5vw;
	padding-top: 3.5vw;
	position: relative;
	z-index: 0;
}

.access::before {
	background: transparent url(../images/access-bg.png) no-repeat top center/contain;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: -2vw;
	transform: translateX(-50%);
	width: 100%;
	z-index: -1;
}

.access::after {
	background: transparent url(../images/access.png) no-repeat top right/contain;
	content: "";
	height: 31vw;
	position: absolute;
	right: 7vw;
	top: 1.5vw;
	width: 21vw;
}

.access__wrapper {
	overflow: hidden;
	position: relative;
}

.access__wrapper::after {
	background: transparent url(../images/access-deco.png) no-repeat center center/contain;
	content: "";
	height: 100%;
	left: 49%;
	position: absolute;
	position: absolute;
	top: 56%;
	transform: translate(-50%, -50%);
	width: 108%;
	z-index: -1;
}

.access__top {
	color: #5D9FEA;
	text-align: center;
}

.access__head {
	background: linear-gradient(transparent 25%, #fff 25%);
	font-size: 1.9vw;
	font-weight: 700;
	margin: 0 auto;
	width: -moz-fit-content;
	width: fit-content;
}

.access__title {
	font-size: 3.13vw;
	font-weight: 900;
	line-height: 2;
}

.access__lead {
	font-size: 1.49vw;
	font-weight: 700;
	margin-top: 0.3vw;
}

.access ul {
	margin: 2vw auto 0;
	padding-left: 1.5vw;
	width: 50%;
}

.access ul li {
	font-size: 1.1vw;
	font-weight: 400;
	line-height: 1.78581;
	position: relative;
}

.access ul li::before {
	color: #5D9FEA;
	content: "●";
	height: 1em;
	left: -1em;
	position: absolute;
	top: 0;
	width: 1em;
}

.access__map {
	margin: 3vw 1vw 0 0vw;
}

.access__cta {
	grid-gap: 0 2%;
	display: grid;
	gap: 0 2%;
	grid-template-columns: repeat(2, 1fr);
	margin: -1vw auto 0;
	width: 55%;
}

.access__cta-item {
	align-items: center;
	border-radius: 6.3vw;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-size: 1.57vw;
	font-weight: 700;
	justify-content: center;
	padding: 1vw 0;
	position: relative;
}

.access__cta-item::before {
	background: transparent url(../images/arrow-4.svg) no-repeat center right/contain;
	content: "";
	height: 1em;
	position: absolute;
	right: 0%;
	top: 30%;
	transform: translateX(-50%);
	transition: transform 0.3s ease, filter 0.3s ease;
	width: 2em;
}

.access__cta-item:hover {
	color: #fff;
	filter: brightness(1.05);
	transform: scale(1.02);
	transition: filter 0.3s ease, transform 0.3s ease;
}

/* ホバーで矢印を右へ 5px スライド */

.access__cta-item:hover::before {
	filter: brightness(1.1);
	transform: translateX(calc(-50% + 5px)) scale(1.08);
}

.access__cta-item span {
	font-size: 1.2vw;
}

.access__cta-item1 {
	background: #5BC3E9;
}

.access__cta-item2 {
	background: #76C5AA;
}

.charm {
	padding: 5.7vw 0;
	position: relative;
}

.charm::before {
	background: transparent url(../images/charm-deco.png) no-repeat center center/contain;
	content: "";
	height: 100%;
	left: 47%;
	position: absolute;
	top: 3%;
	transform: translateX(-50%);
	width: 108%;
	z-index: 1;
}

.charm::after {
	background: transparent url(../images/charm.png) no-repeat center center/contain;
	content: "";
	height: 20vw;
	position: absolute;
	right: 7%;
	top: 1%;
	width: 14vw;
	z-index: 1;
}

.charm__wrapper {
	position: relative;
}

.charm__wrapper::before {
	background: transparent url(../images/charm-bg.png) no-repeat top center/cover;
	content: "";
	height: 200%;
	left: 50%;
	position: absolute;
	top: -42%;
	transform: translateX(-50%);
	width: 100%;
}

.charm__title {
	color: #5D9FEA;
	font-size: 4rem;
	font-size: 3.13vw;
	font-weight: 900;
	text-align: center;
}

.charm__title span {
	font-size: 6rem;
	font-size: 4.7vw;
}

.charm__items {
	grid-gap: 2.5vw 3%;
	display: grid;
	gap: 2.5vw 3%;
	grid-template-columns: 39% 27% 28%;
	grid-template-rows: repeat(2, 1fr);
	margin: 8vw auto 0;
	position: relative;
	width: max(700px, min(75%, 1400px));
	width: 75%;
}

.charm__item1 {
	grid-area: 1/1/2/2;
}

.charm__item2 {
	grid-area: 1/2/2/3;
}

.charm__item3 {
	grid-area: 1/3/2/4;
}

.charm__item4 {
	grid-area: 2/1/3/2;
	margin-left: 44%;
	width: 71%;
}

.charm__item5 {
	grid-area: 2/2/3/4;
	margin-left: 10%;
	width: 71%;
}

.charm__item-text {
	background: #5D9FEA;
	border-radius: 7rem;
	color: #fff;
	font-size: 3rem;
	font-size: 2.35vw;
	font-weight: 700;
	padding: 1.4vw 0;
	position: relative;
	text-align: center;
}

.charm__item1 .charm__item-text {
	font-size: 2.11vw;
}

.charm__item-text span {
	font-size: 2rem;
	font-size: 1.57vw;
	font-weight: 700;
}

.charm__item-num {
	left: -0.5em;
	position: absolute;
	top: -1.3em;
	width: 2.5em;
}

.check {
	margin-top: -2%;
	padding: 6.2vw 0;
	position: relative;
}

.check::before {
	background: transparent url(../images/wave-w.png) no-repeat top center/contain;
	content: "";
	height: 120%;
	left: 50%;
	position: absolute;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
	z-index: 0;
}

.check::after {
	background: transparent url(../images/check-deco.png) no-repeat center center/contain;
	content: "";
	height: 110%;
	left: 53%;
	position: absolute;
	top: 56%;
	transform: translate(-50%, -50%);
	width: 120%;
	z-index: 0;
}

.check__inner {
	margin: 0 auto;
	position: relative;
	width: max(700px, min(82%, 1400px));
	width: 82%;
	z-index: 1;
}

.check__title {
	font-size: 2.9rem;
	font-size: 2.26vw;
	font-weight: 900;
	margin: 0 auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.check__title::before {
	background: transparent url(../images/check-title.png) no-repeat top center/contain;
	content: "";
	height: 125%;
	left: 50%;
	position: absolute;
	top: 1.2em;
	transform: translateX(-50%);
	width: 120%;
}

.check__title::after {
	background: transparent url(../images/check.png) no-repeat bottom left/contain;
	bottom: -1em;
	content: "";
	height: 5.5em;
	left: -7em;
	position: absolute;
	width: 6em;
}

.check__items {
	grid-gap: 0 2%;
	display: grid;
	gap: 0 2%;
	grid-template-columns: repeat(4, 1fr);
	margin: 5.5vw auto 0;
	width: 88%;
}

.check__item {
	align-items: center;
	aspect-ratio: 1/1;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 1.8rem;
	font-size: 1.4vw;
	font-weight: 700;
	justify-content: center;
	line-height: 1.44444;
	position: relative;
	text-align: center;
	transition: transform 0.3s ease, filter 0.3s ease;
}

.check__item:hover {
	color: #fff;
	filter: brightness(1.05);
	transform: scale(1.03);
	transition: transform 0.3s ease, filter 0.3s ease;
}

.check__item span {
	background: transparent url(../images/fukidashi-1.png) no-repeat center center/100% 100%;
	background-position-x: calc(50% - 2px);
	font-size: 2.9rem;
	font-size: 2.26vw;
	left: 0;
	padding: 2rem 3rem 2rem 2rem;
	position: absolute;
	top: -4%;
}

.check__item img {
	bottom: 11%;
	height: auto;
	left: 50%;
	position: absolute;
	transform: translateX(-50%) translateY(0);
	transition: transform 0.3s ease;
	width: 2.5rem;
}

/* ホバー時に下へ 4px 移動 */

.check__item:hover img {
	transform: translateX(-50%) translateY(4px);
}

.check__item1 {
	background: #76C5AA;
	box-shadow: 0 5px 0 #598B7A;
}

.check__item1 span {
	color: #76C5AA;
}

.check__item2 {
	background: #929DD6;
	box-shadow: 0 5px 0 #5A6395;
}

.check__item2 span {
	color: #929DD6;
}

.check__item3 {
	background: #5BC3E9;
	box-shadow: 0 5px 0 #3989A7;
}

.check__item3 span {
	color: #5BC3E9;
}

.check__item4 {
	background: #F09B81;
	box-shadow: 0 5px 0 #CB4522;
}

.check__item4 span {
	color: #F09B81;
}

.contents {
	background: transparent url(../images/contents-bg2.png) no-repeat top center/cover;
	height: 100%;
	margin-top: -4vw;
	padding-bottom: 8vw;
	width: 100%;
}

.contents__top {
	background: transparent url(../images/contents-bg.png) no-repeat top center/contain;
	font-size: 3.13vw;
	font-weight: 900;
	height: 100%;
	line-height: 1.525;
	padding: 4.5vw 0 8vw;
	position: relative;
	text-align: center;
	width: 100%;
}

.contents__top::before {
	background: transparent url(../images/contents1.png) no-repeat top left/contain;
	content: "";
	height: 27vw;
	left: 11vw;
	position: absolute;
	top: 2vw;
	width: 15vw;
}

.contents__top::after {
	background: transparent url(../images/contents2.png) no-repeat top right/contain;
	content: "";
	height: 19vw;
	position: absolute;
	right: 11vw;
	top: -3vw;
	width: 13vw;
}

.course {
	margin-top: 1.5vw;
}

.course__inner {
	margin: 0 auto;
	width: 75%;
}

.course__title {
	font-size: 2.03vw;
	font-weight: 900;
	text-align: center;
}

.course__items {
	grid-gap: 1.6vw 2%;
	display: grid;
	gap: 1.6vw 2%;
	grid-template-columns: repeat(6, 1fr);
	margin-top: 3vw;
}

.course__item1 {
	grid-area: 1/1/2/4;
}

.course__item2 {
	grid-area: 1/4/2/7;
}

.course__item3 {
	grid-area: 2/1/3/3;
}

.course__item4 {
	grid-area: 2/3/3/5;
}

.course__item5 {
	grid-area: 2/5/3/7;
}

.course__item {
	border-radius: 1.57vw;
}

.course__img {
	border-radius: 1.57vw 1.57vw 0 0;
	overflow: hidden;
}

.course__img img {
	border-radius: 1.57vw 1.57vw 0 0;
	transition: all 0.3s ease;
}

.course__item:hover .course__img img {
	filter: brightness(1.05) drop-shadow(0 0.3vw 0.5vw rgba(0, 0, 0, 0.2));
	transform: scale(1.05);
}

.course__text {
	border-radius: 0 0 1.57vw 1.57vw;
	color: #fff;
	font-size: 1.4vw;
	font-weight: 700;
	padding: 0.6vw 0;
	text-align: center;
}

.course__text img {
	margin: 0 auto;
	padding: 0.5% 0;
	width: 36%;
}

.course__item1 .course__text {
	background: #F58F26;
}

.course__item2 .course__text {
	background: #F6CA30;
}

.course__item3 .course__text {
	background: #B663D6;
}

.course__item4 .course__text {
	background: #48CAC3;
}

.course__item5 .course__text {
	background: #F496C5;
}

.course__button {
	background: transparent url(../images/course-button.png) no-repeat top center/contain;
	display: block;
	font-size: 1.49vw;
	font-weight: 900;
	height: 100%;
	line-height: 2.5;
	margin: 3.5vw auto 0;
	padding: 0 6vw 1vw;
	position: relative;
	text-align: center;
	transition: filter 0.3s, transform 0.3s; /* for hover effect */
	width: -moz-fit-content;
	width: fit-content;
}

.course__button span {
	font-size: 1.17vw;
	font-weight: 700;
	transition: text-shadow 0.3s;
}

.course__button::before {
	background: transparent url(../images/arrow-3.svg) no-repeat bottom right/contain;
	bottom: 2.5vw;
	content: "";
	height: 2vw;
	position: absolute;
	right: 2vw;
	transition: transform 0.3s ease;
	width: 3vw;
}

/* ホバーでボタンを右へ 5px スライド、明るく、拡大、テキストシャドウ */

.course__button:hover {
	filter: brightness(1.1);
	transform: scale(1.02);
}

.course__button:hover::before { /* ホバーでボタンを右へ 5px スライド */
	transform: translateX(5px);
}

.course__button:hover span {
	text-shadow: 0 0.2vw 0.3vw rgba(0, 0, 0, 0.2);
}

.cta {
	margin-top: 2.5vw;
}

.cta__inner {
	margin: 0 auto;
	width: 75%;
}

.cta__items {
	grid-gap: 0 2%;
	align-items: center;
	display: grid;
	gap: 0 2%;
	grid-template-columns: repeat(2, 1fr);
}

.cta__item1 {
	grid-gap: 0 3%;
	align-items: center;
	background: #E887AD;
	border-radius: 6.3vw 0.8vw 0.8vw 6.3vw;
	display: grid;
	gap: 0 3%;
	grid-template-columns: 25% 72%;
	padding: 1.8vw 2vw 2.2vw;
}

.cta__item2 {
	grid-gap: 0 3%;
	align-items: center;
	background: #5BC3E9;
	border-radius: 0.8vw 6.3vw 6.3vw 0.8vw;
	display: grid;
	gap: 0 3%;
	grid-template-columns: 72% 25%;
	padding: 2vw 2vw 2vw;
}

.cta__check span {
	align-items: center;
	aspect-ratio: 1/1;
	background: #fff;
	border-radius: 50%;
	display: flex;
	font-size: 1.57vw;
	font-weight: 700;
	justify-content: center;
}

.cta__item1 .cta__check span {
	color: #E887AD;
}

.cta__item2 .cta__check span {
	color: #5BC3E9;
}

.cta__text {
	color: #fff;
	font-size: 2.35vw;
	font-weight: 700;
	text-align: center;
}

.cta__text span {
	font-size: 1.57vw;
}

.cta__item1:hover {
	opacity: 0.9;
	transform: scale(1.02);
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.cta__item2:hover {
	opacity: 0.9;
	transform: scale(1.02);
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.fv {
	margin-top: 88px;
	overflow: hidden;
	position: relative;
}

.fv__img {
	left: 5.5vw;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 35%;
}

.fv__img-inner {
	animation: scrollVertical 200s linear infinite;
	display: flex;
	flex-direction: column;
}

.fv__img-inner li {
	margin-bottom: 1.5vw;
}

.fv__img-inner img {
	height: auto;
	width: 100%;
}

/* 位置決め：画面中央下あたりに */

.fv__scroll {
	height: 6.5vw;
	left: 50%;
	position: absolute;
	top: -4rem;
	transform: translateX(-50%);
	width: 3vw;
}

.fv__scroll-anime {
	animation: arrowMove 1.6s ease-in-out infinite; /* 画像矢印をそのまま上下アニメ */
	display: inline-block;
	height: inherit;
	width: inherit;
}

.fv__scroll-anime img {
	display: block;
	height: inherit;
	width: 100%;
}

/* キーフレーム：上下に 8px 動かす */

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

.oc {
	margin-top: 3vw;
}

.oc__inner {
	margin: 0 auto;
	width: 83%;
}

.oc__title {
	background: #F09B81;
	border-radius: 1.57vw 1.57vw 0 0;
	color: #fff;
	font-size: 2.26vw;
	font-weight: 700;
	padding: 1vw 0;
	text-align: center;
}

.oc__menu {
	grid-gap: 0 4%;
	background: #FAF1ED;
	border-radius: 0 0 1.57vw 1.57vw;
	display: grid;
	gap: 0 4%;
	grid-template-columns: 42% 54%;
	padding: 2.5vw 4vw;
}

.oc__menu-head {
	color: #F09B81;
	font-size: 1.88vw;
	font-weight: 700;
	text-align: center;
}

.oc__pg--text {
	grid-gap: 0 2%;
	display: grid;
	font-size: 1.14vw;
	gap: 0 2%;
	grid-template-columns: repeat(2, 1fr);
	margin: 0.5vw auto 0 6vw;
	width: 81%;
}

.oc__pg--text li {
	position: relative;
}

.oc__pg--text li::before {
	color: #F09B81;
	content: "●";
	height: 1em;
	left: -1.5em;
	position: absolute;
	top: 0;
	width: 1em;
}

.oc__date {
	background: #fff;
	border-radius: 0.4vw;
	margin-top: 1.5vw;
	padding: 0.3vw 0.3vw;
	position: relative;
}

.oc__link {
	bottom: 17%;
	position: absolute;
	right: 5%;
	transition: transform 0.3s ease;
	width: 21%;
}

/* ホバーで右へ 5px スライド */

.oc__link:hover {
	transform: translateX(5px);
}

.oc__date ul {
	grid-gap: 0.2vw 1%;
	display: grid;
	gap: 0.2vw 1%;
	grid-template-columns: repeat(7, 1fr);
}

.date-box {
	align-items: center;
	aspect-ratio: 1/1;
	background: #FAF1ED;
	border-radius: 0.5vw;
	display: flex;
	flex-direction: column;
	padding: 0.5vw 0.4vw 0;
	position: relative;
}

.oc_date {
	color: #F09B81;
	font-size: 1.1vw;
	font-weight: 700;
}

.oc_day {
	background: #F09B81;
	color: #fff;
	font-size: 0.95vw;
	font-weight: 700;
	text-align: center;
	width: 100%;
}

.finish {
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	height: 89%;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 89%;
}

.oc__benefits-items {
	grid-gap: 0 2%;
	display: grid;
	gap: 0 2%;
	grid-template-columns: repeat(3, 1fr);
	margin: 1.5vw auto 0;
	width: 91%;
}

.oc__benefits-item {
	align-items: center;
	background: #fff;
	border-radius: 6.3vw;
	color: #F09B81;
	display: flex;
	font-size: 1.09vw;
	font-weight: 700;
	justify-content: center;
	line-height: 1.57142;
	padding: 1vw 0.5vw;
	text-align: center;
}

.oc__btn {
	margin-top: 1.2vw;
}

/* =========================
   OC ボタン画像アニメーション
   ========================= */

/* 通常状態 */

.oc__img {
	display: inline-block;
	filter: brightness(1);
	transition: transform 0.35s ease, filter 0.35s ease;
}

/* ホバー時：上へ5px＆ちょっと拡大＋明るさ15%アップ */

.oc__img:hover {
	filter: brightness(1.05);
	transform: translateY(-5px) scale(1.03);
}

.q1 {
	background: #F1F9F7;
}

.q1::before {
	background: transparent url(../images/q1-wave.png) no-repeat top center/contain;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
	z-index: -1;
}

.q__item1 .q__head::before {
	background: transparent url(../images/q1.png) no-repeat bottom right/contain;
	bottom: 2.6vw;
	content: "";
	height: 15.5vw;
	position: absolute;
	right: 8em;
	width: 18vw;
}

.q__item1 .q__head {
	background: transparent url(../images/q1-bg.png) no-repeat center center/contain;
	background-size: 100% 100%;
}

.q__item1 .q__q-num span {
	color: #76C5AA;
}

.q1__items {
	grid-gap: 0 0%;
	align-items: center;
	display: grid;
	gap: 0 0%;
	grid-template-columns: 29% 4% 29% 7% 31%;
	margin: 0 auto;
	width: 95%;
}

.q1__1,
.q1__3 {
	background: #E7FCF6;
	border-radius: 0.8vw;
	font-size: 1.4vw;
	font-weight: 500;
	position: relative;
	text-align: center;
	width: 100%;
}

.q1__1 {
	padding: 2.5vw 0 1.5vw;
}

.q1__3 {
	padding: 3.5vw 0 2.7vw;
}

.q1__1 span,
.q1__3 span {
	background: #76C5AA;
	border-radius: 0.8vw;
	color: #fff;
	font-size: 1.2vw;
	font-weight: 700;
	left: -0.6em;
	padding: 0.5vw 2vw;
	position: absolute;
	top: -0.6em;
}

.q1__2 {
	color: #76C5AA;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 2.2vw;
	font-weight: 700;
	text-align: center;
}

.q1__4 img {
	margin: 0 auto;
	width: 75%;
}

.q1__5 {
	align-items: center;
	aspect-ratio: 1/1;
	background: #E7FCF6;
	border-radius: 50%;
	color: #76C5AA;
	display: flex;
	flex-direction: column;
	font-size: 1.9vw;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
}

.q1__5 span {
	font-size: 3.5vw;
}

.q2 {
	background: #EDEFFA;
	padding-top: 0.9vw;
}

.q2::before {
	background: transparent url(../images/q2-wave.png) no-repeat top center/contain;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
	z-index: -1;
}

.q2::after {
	background: transparent url(../images/q2-deco2.png) no-repeat center center/contain;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	position: absolute;
	top: 54%;
	transform: translate(-50%, -50%);
	width: 120%;
	z-index: -1;
}

.q__item2 .q__head::before {
	background: transparent url(../images/q2.png) no-repeat bottom right/contain;
	bottom: 2vw;
	content: "";
	height: 16.5vw;
	position: absolute;
	right: 2em;
	width: 18vw;
}

.q__item2 .q__head {
	background: transparent url(../images/q2-bg.png) no-repeat center center/contain;
	background-size: 100% 100%;
}

.q__item2 .q__q-num span {
	color: #929DD6;
}

.q2__1 {
	background: #F7F7F7;
	border-radius: 1.57vw;
	padding: 2vw 2.3vw 3vw 0.3vw;
}

.q2__1-b {
	grid-gap: 0 0;
	align-items: center;
	border-radius: 3.8vw;
	display: grid;
	gap: 0 0;
	grid-template-columns: 25% 76%;
	height: 100%;
	margin: 2vw auto 0;
	position: relative;
	width: 80%;
}

.q2__1-b::before {
	background: transparent url(../images/arrow-5.png) no-repeat top left/contain;
	content: "";
	height: 5vw;
	left: -6%;
	position: absolute;
	top: -15%;
	width: 3vw;
}

.q2__1-b::after {
	background: transparent url(../images/q2-deco.png) no-repeat bottom right/contain;
	bottom: 13%;
	content: "";
	height: 3vw;
	position: absolute;
	right: -3%;
	width: 5vw;
}

.q2__1-b-l {
	align-items: center;
	background: #FFF200;
	border-radius: 1.17vw 0 0 1.17vw;
	display: flex;
	font-size: 1.72vw;
	font-weight: 700;
	height: inherit;
	justify-content: center;
}

.q2__1-b-r {
	background: #FFFDE7;
	border-radius: 0 1.17vw 1.17vw 0;
	font-size: 1.72vw;
	height: inherit;
	line-height: 1.545454;
	padding: 1.6vw 0vw 1.6vw 1.8vw;
}

.q2__2 {
	background: #F6EFF4;
	border-radius: 1.57vw;
	margin-top: 2vw;
	padding: 2.8vw 2.3vw 2.8vw 2.3vw;
	position: relative;
}

.q2__2-head {
	left: 2.5em;
	position: absolute;
	top: 1vw;
}

.q2__2-head span {
	font-size: 1.57vw;
	font-weight: 700;
	position: relative;
	z-index: 0;
}

.q2__2-head span::before {
	background: transparent url(../images/fukidashi-3.png) no-repeat center center/contain;
	content: "";
	height: 260%;
	left: 50%;
	position: absolute;
	top: 59%;
	transform: translate(-50%, -50%);
	width: 141%;
	z-index: -1;
}

.q2__2-items {
	grid-gap: 0 3%;
	display: grid;
	gap: 0 3%;
	grid-template-columns: 40% 57%;
}

.q2__2-l {
	font-size: 1.2vw;
	font-weight: 400;
	line-height: 1.78;
	padding-top: 3.8vw;
}

.q2__2-l span {
	-webkit-text-decoration: underline;
	font-weight: 700;
	text-decoration: underline;
}

.q3 {
	background: #E2F5FF;
	padding-top: 0.9vw;
}

.q3::before {
	background: transparent url(../images/q3-wave.png) no-repeat top center/contain;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
	z-index: -1;
}

.q3::after {
	background: transparent url(../images/q3-deco.png) no-repeat center center/contain;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	position: absolute;
	top: 67%;
	transform: translate(-50%, -50%);
	width: 120%;
	z-index: -1;
}

.q__item3 .q__head::before {
	background: transparent url(../images/q3.png) no-repeat bottom right/contain;
	bottom: 3vw;
	content: "";
	height: 15vw;
	position: absolute;
	right: 6em;
	width: 18vw;
}

.q__item3 .q__head {
	background: transparent url(../images/q3-bg.png) no-repeat center center/contain;
	background-size: 100% 100%;
}

.q__item3 .q__q-num span {
	color: #5BC3E9;
}

.q3__1 {
	background: #F0F7FA;
	border-radius: 1.57vw;
	padding: 2.4vw 2.3vw 2.5vw 3.3vw;
}

.q3__1-intro {
	background: #fff;
	border-radius: 0.8vw;
	font-size: 1.25vw;
	letter-spacing: 0.2px;
	line-height: 1.16666;
	padding: 0.7vw 7vw 0.7vw 5.5vw;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.q3__1-items {
	grid-gap: 0 3%;
	display: grid;
	gap: 0 3%;
	grid-template-columns: 58% 39%;
	margin: 2vw auto 0;
}

.q3__1-img {
	padding-left: 5%;
}

.q3__1-text {
	color: #21A7D8;
	display: flex;
	font-size: 1.4vw;
	justify-content: center;
	padding-top: 8%;
	position: relative;
	z-index: 0;
}

.q3__1-text::before {
	background: transparent url(../images/q3-detail-bg.png) no-repeat center center/contain;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 38%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: -1;
}

.q3__1-s {
	font-size: 1.88vw;
}

.q3__1-b {
	font-size: 1.95vw;
}

.q3__2 {
	background: #F7F7F7;
	border-radius: 1.57vw;
	margin-top: 1.7vw;
	padding: 2.3vw 2.3vw 3vw 2.3vw;
}

.q3__2-head {
	font-size: 1.88vw;
	font-weight: 700;
}

.q3__2-head span {
	font-size: 1.57vw;
	padding-right: 1%;
}

.q3__2-img {
	margin-top: 1.3vw;
}

.q4 {
	background: #FEF6F3;
	padding-top: 0.9vw;
}

.q4::before {
	background: transparent url(../images/q4-wave.png) no-repeat top center/contain;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
	z-index: -1;
}

.q4::after {
	background: transparent url(../images/q4-deco.png) no-repeat center center/contain;
	content: "";
	height: 100%;
	left: 50%;
	position: absolute;
	position: absolute;
	top: 37%;
	transform: translate(-50%, -50%);
	width: 120%;
	z-index: -1;
}

.q__item4 .q__head::before {
	background: transparent url(../images/q4.png) no-repeat bottom right/contain;
	bottom: 3.1vw;
	content: "";
	height: 17vw;
	position: absolute;
	right: 9.5em;
	width: 18vw;
}

.q__item4 .q__head {
	background: transparent url(../images/q4-bg.png) no-repeat center center/contain;
	background-size: 100% 100%;
}

.q__item4 .q__q-num span {
	color: #F09B81;
}

.q4__1-head {
	color: #F09B81;
	font-size: 1.95vw;
	font-weight: 700;
	text-align: center;
}

.q4__1-items {
	grid-gap: 0 1.5%;
	display: grid;
	gap: 0 1.5%;
	grid-template-columns: repeat(4, 1fr);
	margin: 1.7vw auto 0;
}

.q4__1-item {
	background: #F8DED7;
	border-radius: 1.17vw;
	padding: 1.2vw 1.2vw 1vw;
}

.q4__1-img {
	aspect-ratio: 199/140;
	height: auto;
	width: 100%;
}

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

.q4__1-text {
	font-size: 1.57vw;
	font-weight: 700;
	padding-top: 0.8vw;
	text-align: center;
}

.q4__tab {
	background: #F09B81;
	border-radius: 1.57vw 1.57vw 0 0;
	color: #fff;
	font-size: 2.18vw;
	font-weight: 700;
	padding: 1vw 0;
	text-align: center;
	width: 29%;
}

.q4__wrapper {
	background: #F7F7F7;
	border-radius: 0 1.57vw 1.57vw 1.57vw;
}

.q4__body {
	padding: 2.5vw 2.3vw 0;
}

.q4__lead {
	font-size: 1.57vw;
	font-weight: 400;
	line-height: 1.95;
}

.q4__lead span {
	color: #F09B81;
	font-weight: 700;
}

.q4__inner {
	margin-top: 3vw;
}

.q4__inner-head {
	background: #F8DED7;
	border-radius: 1.57vw 1.57vw 0 0;
	font-size: 2vw;
	font-weight: 700;
	padding: 1vw 0;
	text-align: center;
}

.q4__2 {
	margin-top: 4.5vw;
}

.q4__2-img {
	margin-top: 2.7vw;
}

.q4__2-inner-items {
	grid-gap: 0 5.5%;
	background: #FAF1ED;
	border-radius: 0 0 1.57vw 1.57vw;
	display: grid;
	gap: 0 5.5%;
	grid-template-columns: 15% 15% 11% 42%;
	padding: 1.8vw 2.3vw 2.7vw;
}

.q4__2-inner-item li {
	font-size: 1.25vw;
	font-weight: 400;
	line-height: 2;
}

.q4__2-bottom {
	font-size: 1.09vw;
	font-weight: 400;
	margin-top: 0.5vw;
	text-align: right;
}

.q4__2-inner {
	position: relative;
}

.q4__2-icon {
	align-items: center;
	aspect-ratio: 1/1;
	background: #F09B81;
	border-radius: 50%;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-weight: 700;
	justify-content: center;
	padding: 2.7vw;
	position: absolute;
	right: 3%;
	top: 50%;
	transform: translateY(-50%);
}

.q4__2-icon-t span:first-of-type {
	font-size: 1.57vw;
}

.q4__2-icon-t span:last-of-type {
	font-size: 1.88vw;
	position: relative;
}

.q4__2-icon-t span:last-of-type::after {
	background-color: currentColor;
	bottom: 0;
	content: "";
	height: 0.1vw;
	left: 0;
	position: absolute;
	width: 100%;
}

.q4__2-icon-b {
	font-size: 5.5vw;
	line-height: 1.4;
}

.q4__2-icon-b span {
	font-size: 3.13vw;
}

.q4__3 {
	margin-top: 3.4vw;
}

.q4__3-head {
	position: relative;
}

.q4__3-head::after {
	background: transparent url(../images/q4-detail3.png) no-repeat top right/contain;
	content: "";
	height: 116%;
	position: absolute;
	right: -135%;
	top: -28%;
	width: 13em;
}

.q4__3-inner-items {
	grid-gap: 0 0;
	align-items: center;
	background: #FAF1ED;
	border-radius: 0 0 1.57vw 1.57vw;
	display: grid;
	gap: 0 0;
	grid-template-columns: 51% 49%;
}

.q4__3-inner-items.q4__3-t {
	padding: 1.3vw 16vw;
	position: relative;
}

.q4__3-inner-items.q4__3-t::before {
	background: #AFAFAF;
	bottom: 0;
	content: "";
	height: 0.2vw;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 85%;
}

.q4__3-inner-items.q4__3-b {
	padding: 1.8vw 12.5vw 2.3vw;
}

.q4__3-t-item1 {
	text-align: center;
}

.q4__3-t-item1 p:first-of-type {
	font-size: 2.11vw;
	font-weight: 700;
	line-height: 1;
}

.q4__3-t-item1 p:nth-of-type(2) {
	color: #F09B81;
	font-size: 6.4vw;
	font-weight: 700;
	line-height: 1;
}

.q4__3-t-item1 p:nth-of-type(2) span {
	font-size: 4.8vw;
}

.q4__3-t-item1 p:last-of-type {
	font-size: 1.2vw;
	margin-top: 0.5vw;
}

.q4__3-t-item2 {
	margin-top: -4%;
}

.q4__3-t-item2 > div {
	grid-gap: 0 4%;
	align-items: center;
	display: grid;
	gap: 0 4%;
	grid-template-columns: 61% 35%;
}

.q4__3-t-item2 > div > p:first-of-type {
	font-size: 1.49vw;
	margin-top: 7%;
	text-align: right;
}

.q4__3-t-item2 > div > p:last-of-type {
	color: #F09B81;
	font-size: 3vw;
	line-height: 1.2;
}

.q4__3-t-item2 > div > p:last-of-type span {
	font-size: 1.17vw;
}

.q4__3-b-item1 {
	grid-gap: 0 0;
	align-items: center;
	display: grid;
	gap: 0 0;
	grid-template-columns: 50% 50%;
}

.q4__3-b-item1 > div:first-of-type {
	font-size: 1.4vw;
	line-height: 1.38888;
	text-align: center;
}

.q4__3-b-item1 > div:last-of-type {
	color: #F09B81;
	font-size: 2.35vw;
	font-weight: 700;
}

.q4__3-b-item1 > div:last-of-type span {
	font-size: 5.5vw;
	line-height: 1;
}

.q4__3-b-item2 > div {
	background: #fff;
	border-radius: 1.17vw;
	font-size: 1.2vw;
	line-height: 1.33333;
	padding: 2vw 1.7vw;
}

.q {
	padding-bottom: 3vw;
	position: relative;
	z-index: 0;
}

.q.q4 {
	padding-bottom: 10vw;
}

.q__inner {
	margin: 0 auto;
	width: max(700px, min(83%, 1400px));
	width: 83%;
}

.q__item { /* 角丸 30px & ドロップシャドウ (x:10, y:10, blur:0, color:#ACC5CE 20%) */
	border-radius: 2.35vw;
	box-shadow: 10px 10px 0 rgba(172, 197, 206, 0.2);
}

.q__head {
	border-radius: 3rem 3rem 0 0;
	padding: 2.6vw 6.5vw 6.7vw;
	position: relative;
}

.q__head-t,
.q__head-b {
	grid-gap: 0 3%;
	display: grid;
	gap: 0 3%;
	grid-template-columns: 10% 87%;
}

.q__head-t {
	align-items: center;
	line-height: 3;
	margin-bottom: 1vw;
}

.q__head-b {
	align-items: center;
	line-height: 3;
}

.q__q-num span {
	background: transparent url(../images/fukidashi-1.png) no-repeat center center/100% 100%;
	background-position-x: calc(50% + 0px);
	font-size: 2.9rem;
	font-size: 2.26vw;
	font-weight: 900;
	padding: 2rem 3rem 2rem 2rem;
	padding: 1.57vw 2.35vw 1.57vw 1.57vw;
}

.q__q-text {
	color: #fff;
	font-size: 4rem;
	font-size: 3.13vw;
	font-weight: 900;
	line-height: 1.55;
}

.q__a-a span {
	background: transparent url(../images/fukidashi-2.png) no-repeat center center/100% 90%;
	background-position-y: calc(50% - 2px);
	color: #fff;
	font-size: 2.9rem;
	font-size: 2.26vw;
	font-weight: 900;
	padding: 2rem 4rem 3rem 3rem;
	padding: 1.57vw 3.13vw 2.35vw 2.35vw;
}

.q__a-text {
	color: #fff;
	font-size: 2.4rem;
	font-size: 1.88vw;
	font-weight: 500;
	line-height: 1.45933;
}

.q__detail {
	background: #fff;
	border: solid 1px #E8EBED;
	border-radius: 0 0 3rem 3rem;
	margin-top: -4%;
}

.q1 .q__detail {
	padding: 3vw 4vw 2vw 4vw;
}

.q2 .q__detail {
	padding: 5.5vw 4vw 3.7vw 4vw;
}

.q3 .q__detail {
	padding: 5.5vw 4vw 4vw 4vw;
}

.q4 .q__detail {
	padding: 4.5vw 4vw 4vw 4vw;
}

.support {
	margin-top: 2.5vw;
}

.support__inner {
	grid-gap: 0 5%;
	background: #E2F5F0;
	border-radius: 1.57vw;
	display: grid;
	gap: 0 5%;
	grid-template-columns: 45% 50%;
	margin: 0 auto;
	width: 83%;
}

.support__title {
	background: #76C5AA;
	border-radius: 1.57vw 0 1.57vw 0;
	color: #fff;
	font-size: 2.26vw;
	font-weight: 700;
	padding: 1.1vw 0;
	text-align: center;
}

.support__intro {
	font-size: 1.18vw;
	letter-spacing: 1px;
	line-height: 1.9375;
	margin-top: 2vw;
	padding-left: 4vw;
}

.support__right {
	grid-gap: 0 2%;
	display: grid;
	gap: 0 2%;
	grid-template-columns: repeat(2, 1fr);
	padding: 1.5vw 4vw 2vw 2vw;
}

.support__item {
	background: #fff;
	border: 3px solid #76C5AA;
	border-radius: 1.17vw;
	padding: 1.3vw 1vw;
}

.support__item-head {
	color: #76C5AA;
	font-size: 1.57vw;
	font-weight: 700;
	line-height: 1.45;
	text-align: center;
}

.support__item-detail {
	font-size: 0.95vw;
	font-weight: 400;
	line-height: 1.41666;
	margin-top: 0.8vw;
}

@media (max-width: 1060px) {

html {
	font-size: 0.9433962264vw;
}

}

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

.fv {
	margin-top: 55px;
}

}

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

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

html {
	font-size: 62.5%;
}

.access {
	padding-bottom: 13vw;
	padding-top: 6.5vw;
}

.access::before {
	background: transparent url(../images/access-bg_sp.png) no-repeat top center/contain;
}

.access::after {
	background: transparent url(../images/access_sp.png) no-repeat top right/contain;
	height: 45vw;
	right: -3vw;
	top: -0.5vw;
	width: 28vw;
}

.access__wrapper::after {
	display: none;
}

.access__head {
	font-size: 3.6vw;
}

.access__title {
	font-size: 5.13vw;
}

.access__lead {
	font-size: 3.08vw;
	margin-top: 1.3vw;
}

.access ul {
	margin: 7vw auto 0;
	padding-left: 1.5vw;
	width: 76%;
}

.access ul li {
	font-size: 3.6vw;
}

.access ul li span {
	display: none;
}

.access__map {
	margin: 8vw 0vw 0 1vw;
}

.access__cta {
	gap: 2vw 0;
	grid-template-columns: 1fr;
	margin: 8vw auto 0;
	width: 83%;
}

.access__cta-item {
	border-radius: 20.5vw;
	font-size: 4.1vw;
}

.access__cta-item::before {
	right: 4%;
	top: 33%;
	width: 1.5em;
}

.access__cta-item:hover {
	filter: none;
	transform: none;
	transition: none;
}

.access__cta-item:hover::before {
	filter: none;
	transform: none;
}

.access__cta-item span {
	font-size: 3.4vw;
}

.access__cta-item1 {
	padding: 2vw 0;
}

.access__cta-item2 {
	padding: 4.5vw 0;
}

.charm {
	padding: 10vw 0;
}

.charm::before {
	display: none;
}

.charm::after {
	height: 34vw;
	right: -4%;
	top: 17%;
	width: 28vw;
}

.charm__wrapper::before {
	background: transparent url(../images/charm-bg_sp.png) no-repeat top center/cover;
	height: 130%;
	top: -13%;
}

.charm__title {
	font-size: 4.9vw;
}

.charm__title span {
	font-size: 7.45vw;
}

.charm__items {
	gap: 4.5vw 0;
	grid-template-columns: 1fr;
	grid-template-rows: repeat(5, 1fr);
	margin: 18vw auto 0;
	width: 79%;
}

.charm__item1 {
	grid-area: auto;
}

.charm__item2 {
	grid-area: auto;
}

.charm__item3 {
	grid-area: auto;
}

.charm__item4 {
	grid-area: auto;
	margin-left: 0;
	width: 100%;
}

.charm__item5 {
	grid-area: auto;
	margin-left: 0;
	width: 100%;
}

.charm__item-text {
	font-size: 5.13vw;
	padding: 4vw 0 4vw 14vw;
	text-align: left;
}

.charm__item1 .charm__item-text {
	font-size: 5.13vw;
}

.charm__item-text span {
	font-size: 4.1vw;
}

.charm__item-num {
	left: -0.6em;
	top: -1.6em;
	width: 3.5em;
}

.check {
	margin-top: 0;
	padding: 16.5vw 0;
}

.check::before {
	top: 3vw;
}

.check::after {
	display: none;
}

.check__title {
	font-size: 5.13vw;
	line-height: 1.45;
}

.check__title::before {
	height: 41%;
	top: 3em;
}

.check__title::after {
	bottom: 2.5em;
	height: 5em;
	left: -2em;
	width: 3.3em;
}

.check__items {
	gap: 5vw 0;
	grid-template-columns: 1fr;
	margin: 14.3vw auto 0;
	width: 96%;
}

.check__item {
	aspect-ratio: auto;
	border-radius: 18vw;
	font-size: 4.65vw;
}

.check__item:hover {
	filter: none;
	transform: none;
	transition: none;
}

.check__item span {
	background-position-x: calc(50% - 1px);
	font-size: 5.13vw;
	padding: 3vw 4vw 3vw 3vw;
	top: -0.5em;
}

.check__item img {
	bottom: auto;
	left: auto;
	position: absolute;
	right: 5%;
	top: 50%;
	transform: translateY(-50%);
}

.check__item:hover img {
	transform: none;
}

.check__item1 {
	padding: 6.3vw 0;
}

.check__item2 {
	padding: 8vw 0;
}

.check__item3 {
	padding: 6.3vw 0;
}

.check__item4 {
	padding: 6.3vw 0;
}

.contents {
	padding-bottom: 15vw;
}

.contents__top {
	background: transparent url(../images/contents-bg_sp.png) no-repeat top center/contain;
	font-size: 5.13vw;
	padding: 5.5vw 0 8vw;
}

.contents__top::before {
	height: 34vw;
	left: 3vw;
	top: 8vw;
	width: 20vw;
}

.contents__top::after {
	height: 22vw;
	right: 1vw;
	width: 18vw;
}

.course__inner {
	width: 82%;
}

.course__title {
	font-size: 4.1vw;
}

.course__items {
	gap: 2.5vw 0%;
	grid-template-columns: 1fr;
	margin-top: 5vw;
}

.course__item1 {
	grid-area: auto;
}

.course__item2 {
	grid-area: auto;
}

.course__item3 {
	grid-area: auto;
}

.course__item4 {
	grid-area: auto;
}

.course__item5 {
	grid-area: auto;
}

.course__img {
	aspect-ratio: 320/97;
	height: auto;
	vertical-align: top;
	width: 100%;
}

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

.course__item:hover .course__img img {
	filter: none;
	transform: none;
}

.course__text {
	font-size: 3.08vw;
	padding: 1.6vw;
}

.course__button {
	background: transparent url(../images/course-button_sp.png) no-repeat top center/contain;
	font-size: 4.1vw;
	margin: 6vw auto 0;
	padding: 0px 10vw 2vw 0vw;
	width: 100%;
}

.course__button span {
	font-size: 3.08vw;
	margin-left: 9vw;
	transition: none;
}

.course__button::before {
	bottom: 6.5vw;
	right: 7vw;
	transition: none;
	width: 6.5vw;
}

.course__button:hover {
	filter: none;
	transform: none;
}

.course__button:hover::before {
	transform: none;
}

.course__button:hover span {
	text-shadow: none;
}

.cta {
	margin-top: 3.5vw;
}

.cta__inner {
	width: 82%;
}

.cta__items {
	grid-template-columns: 1fr;
}

.cta__item1 {
	border-radius: 20.5vw;
	gap: 0 2%;
	grid-template-columns: 77% 21%;
}

.cta__item1 .cta__check {
	order: 2;
}

.cta__item1 .cta__text {
	order: 1;
}

.cta__item2 {
	border-radius: 20.5vw;
	gap: 0 2%;
	grid-template-columns: 77% 21%;
	margin-top: 3vw;
}

.cta__check span {
	font-size: 3.08vw;
}

.cta__text {
	font-size: 5.13vw;
	letter-spacing: 0.5px;
	margin-top: -3%;
}

.cta__text span {
	font-size: 3.1vw;
}

.cta__item1:hover {
	opacity: 1;
	transform: none;
	transition: none;
}

.cta__item2:hover {
	opacity: 1;
	transform: none;
	transition: none;
}

.fv__img {
	left: 0;
	top: 9vw;
	width: 3100%;
}

.fv__img-inner {
	animation: scrollHorizontal 200s linear infinite;
	display: flex;
	flex-direction: row;
}

.fv__img-inner li {
	margin-bottom: 0;
	margin-right: 3vw;
}

.fv__scroll {
	bottom: -2rem;
	height: 18.5vw;
	width: 9vw;
}

.inner {
	padding-left: 20px;
	padding-right: 20px;
}

.oc {
	margin-top: 5.5vw;
}

.oc__inner {
	width: 82%;
}

.oc__title {
	font-size: 4.1vw;
	padding: 1.8vw 0;
}

.oc__menu {
	gap: 0;
	grid-template-columns: 1fr;
	padding: 3.5vw 2.5vw 5vw;
}

.oc__menu-head {
	font-size: 4.1vw;
}

.oc__pg--text {
	font-size: 3.8vw;
	gap: 0.5vw 11%;
	grid-template-columns: 50% 39%;
	margin: 0;
	padding: 4vw 0 0 6vw;
	width: 100%;
}

.oc__pg--text li::before {
	left: -1.3em;
}

.oc__date {
	padding: 4vw 3vw 8vw;
}

.oc__link {
	bottom: 8%;
	right: 6%;
}

.oc__date ul {
	gap: 1vw 1%;
	grid-template-columns: repeat(5, 1fr);
}

.date-box {
	border-radius: 1.3vw;
	padding: 1.5vw 1.4vw 0.5vw;
}

.oc_date {
	font-size: 3.6vw;
}

.oc_day {
	font-size: 3.08vw;
}

.oc__benefits {
	margin-top: 6vw;
}

.oc__benefits-items {
	gap: 2.5vw 0;
	grid-template-columns: 1fr;
	margin-top: 2.5vw;
	width: 100%;
}

.oc__benefits-item {
	font-size: 3.5vw;
	padding: 4vw 0.5vw;
}

.oc__btn {
	margin: 5vw auto 0;
	width: 100%;
}

.oc__img:hover {
	filter: none;
	transform: none;
}

.q1::before {
	top: -15vw;
}

.q__item1 .q__head::before {
	bottom: 23.6vw;
	height: 18.5vw;
	right: 2em;
}

.q__item1 .q__head {
	background: transparent url(../images/q1-bg_sp.png) no-repeat center center/contain;
}

.q1__items {
	grid-template-columns: 1fr;
	width: 83%;
}

.q1__1,
.q1__3 {
	font-size: 4.1vw;
}

.q1__1 {
	padding: 10.7vw 0 5.3vw;
}

.q1__3 {
	padding: 14.5vw 0 7.7vw;
}

.q1__1 span,
.q1__3 span {
	border-radius: 2.6vw;
	font-size: 4.1vw;
	left: -0.2em;
	padding: 1.5vw 5.5vw;
	top: -0.3em;
}

.q1__2 {
	font-size: 7vw;
}

.q1__4 img {
	margin: 4vw auto 0;
	transform: rotate(90deg);
	width: 13%;
}

.q1__5 {
	font-size: 4.1vw;
	margin: 4vw auto 0;
	width: 78%;
}

.q1__5 span {
	font-size: 8vw;
}

.q2 {
	background: linear-gradient(180deg, #F1F9F7 0%, #F1F9F7 15vw, #EDEFFA 15vw, #EDEFFA 100%);
}

.q2::before {
	top: 15vw;
}

.q2::after {
	display: none;
}

.q__item2 .q__head::before {
	bottom: 40.6vw;
	height: 22.5vw;
	right: 0em;
}

.q__item2 .q__head {
	background: transparent url(../images/q2-bg_sp.png) no-repeat center center/contain;
	background-size: 100% 100%;
}

.q2__1 {
	padding: 2.5vw 3vw 3vw 3vw;
}

.q2__1-img img {
	margin-bottom: 5vw;
	max-width: 132vw;
	width: 132vw;
}

.q2__1-b {
	grid-template-columns: 1fr;
	margin: 6vw auto 0;
	width: 100%;
}

.q2__1-b::before {
	height: 6vw;
	left: 4%;
	top: -13%;
	width: 6vw;
}

.q2__1-b::after {
	display: none;
}

.q2__1-b-l {
	border-radius: 1.3vw 1.3vw 0 0;
	font-size: 4.1vw;
	padding: 1.8vw 0;
}

.q2__1-b-r {
	border-radius: 0 0 1.3vw 1.3vw;
	font-size: 3.08vw;
	line-height: 1.66666;
	padding: 1.6vw 0vw 1.6vw 2.8vw;
}

.q2__2 {
	margin-top: 7vw;
	padding: 6.8vw 2.5vw 2.8vw 2.5vw;
}

.q2__2-head {
	left: 1.5em;
}

.q2__2-head span {
	font-size: 3.08vw;
}

.q2__2-head span::before {
	top: 69%;
}

.q2__2-items {
	gap: 4vw 0;
	grid-template-columns: 1fr;
}

.q2__2-l {
	font-size: 3.6vw;
}

.q2__2-r img {
	margin: 0 auto;
	width: 83%;
}

.q3 {
	background: linear-gradient(180deg, #EDEFFA 0%, #EDEFFA 15vw, #E2F5FF 15vw, #E2F5FF 100%);
}

.q3::before {
	top: 15vw;
}

.q3::after {
	display: none;
}

.q__item3 .q__head::before {
	bottom: 26.6vw;
	height: 19.5vw;
	right: 2em;
}

.q__item3 .q__head {
	background: transparent url(../images/q3-bg_sp.png) no-repeat center center/contain;
	background-size: 100% 100%;
}

.q3__1 {
	padding: 2.5vw 3vw 6vw 3vw;
}

.q3__1-intro {
	font-size: 3.6vw;
	line-height: 1.5;
	padding: 3vw 1.8vw 2.3vw 1.8vw;
	white-space: nowrap;
	width: 100%;
}

.q3__1-items {
	gap: 0;
	grid-template-columns: 1fr;
	margin: 4vw auto 0;
}

.q3__1-img {
	padding: 0;
}

.q3__1-text {
	display: none;
}

.q3__2 {
	margin-top: 5vw;
	padding: 5.2vw 2.5vw 4.8vw 2.5vw;
}

.q3__2-head {
	font-size: 4.1vw;
}

.q3__2-head span {
	font-size: 3.6vw;
}

.q3__2-img {
	margin-top: 4vw;
}

.q3__2-img img {
	margin-bottom: 5vw;
	max-width: 152vw;
	width: 152vw;
}

.q4 {
	background: linear-gradient(180deg, #E2F5FF 0%, #E2F5FF 15vw, #FEF6F3 15vw, #FEF6F3 100%);
}

.q4::before {
	top: 15vw;
}

.q4::after {
	display: none;
}

.q__item4 .q__head::before {
	bottom: 32vw;
	height: 19.5vw;
	right: 2.5em;
}

.q__item4 .q__head {
	background: transparent url(../images/q4-bg_sp.png) no-repeat center center/contain;
	background-size: 100% 100%;
}

.q4__1-head {
	font-size: 4.65vw;
}

.q4__1-items {
	gap: 2vw 2.5%;
	grid-template-columns: repeat(2, 1fr);
	margin: 2vw auto 0;
}

.q4__1-item {
	border-radius: 1.3vw;
	padding: 2vw 2vw 1.5vw;
}

.q4__1-img {
	aspect-ratio: 144/95;
}

.q4__1-text {
	font-size: 3.08vw;
	padding-top: 1.8vw;
}

.q4__tab {
	font-size: 4.65vw;
	padding: 1.4vw 0;
	width: 35%;
}

.q4__lead {
	font-size: 4.1vw;
	line-height: 1.5625;
}

.q4__inner {
	margin-top: 5vw;
}

.q4__inner-head {
	font-size: 4.1vw;
	padding: 1.4vw 0;
}

.q4__2 {
	margin-top: 5.5vw;
}

.q4__2-img {
	margin-top: 4vw;
}

.q4__2-img img {
	margin-bottom: 5vw;
	max-width: 123vw;
	width: 123vw;
}

.q4__2-inner-items {
	gap: 0 0;
	grid-template-columns: 62% 38%;
	padding: 4.8vw 12.3vw 26vw;
}

.q4__2-inner-item1 {
	grid-area: 1/1/2/2;
}

.q4__2-inner-item2 {
	grid-area: 2/1/3/2;
}

.q4__2-inner-item3 {
	grid-area: 1/2/2/3;
}

.q4__2-inner-item4 {
	grid-area: 2/2/3/3;
}

.q4__2-inner-item li {
	font-size: 3.6vw;
	line-height: 1.78571;
}

.q4__2-bottom {
	font-size: 2.6vw;
}

.q4__2-icon {
	bottom: 3%;
	padding: 3.5vw;
	right: 11%;
	top: auto;
	transform: none;
}

.q4__2-icon-t span:first-of-type {
	font-size: 2.6vw;
}

.q4__2-icon-t span:last-of-type {
	font-size: 3.08vw;
}

.q4__2-icon-b {
	font-size: 8.7vw;
}

.q4__2-icon-b span {
	font-size: 4.9vw;
}

.q4__3 {
	margin-top: 7.4vw;
}

.q4__3-head::after {
	background: transparent url(../images/q4-detail3_sp.png) no-repeat top right/contain;
	height: 105%;
	right: -173%;
	top: -23%;
}

.q4__3-inner-items.q4__3-t {
	gap: 0 5%;
	grid-template-columns: 51% 44%;
	padding: 4.3vw 5vw;
}

.q4__3-inner-items.q4__3-b {
	gap: 1vw 0;
	grid-template-columns: 1fr;
	padding: 3.8vw 2.5vw 2.3vw;
}

.q4__3-t-item1 p:first-of-type {
	font-size: 4.1vw;
}

.q4__3-t-item1 p:nth-of-type(2) {
	font-size: 12.8vw;
	line-height: 1.1;
}

.q4__3-t-item1 p:nth-of-type(2) span {
	font-size: 10vw;
}

.q4__3-t-item1 p:last-of-type {
	font-size: 2.6vw;
	margin-top: 1.5vw;
}

.q4__3-t-item2 {
	margin-top: 0;
}

.q4__3-t-item2 > div {
	grid-template-columns: 1fr;
}

.q4__3-t-item2 > div:last-of-type {
	margin-top: 8%;
}

.q4__3-t-item2 > div > p:first-of-type {
	font-size: 3.6vw;
	line-height: 1;
	margin-top: 0;
	text-align: center;
}

.q4__3-t-item2 > div > p:last-of-type {
	font-size: 7vw;
	line-height: 1;
	text-align: center;
}

.q4__3-t-item2 > div > p:last-of-type span {
	font-size: 3.08vw;
}

.q4__3-b-item1 {
	grid-template-columns: 41% 59%;
	padding-left: 15%;
}

.q4__3-b-item1 > div:first-of-type {
	font-size: 3.08vw;
}

.q4__3-b-item1 > div:last-of-type {
	font-size: 4.65vw;
}

.q4__3-b-item1 > div:last-of-type span {
	font-size: 11.5vw;
}

.q4__3-b-item2 > div {
	font-size: 3.08vw;
	line-height: 1.41666;
}

.q.q1 {
	padding-top: 12vw;
}

.q.q2 {
	padding-top: 5vw;
}

.q.q3 {
	padding-top: 4vw;
}

.q.q4 {
	padding-bottom: 18vw;
	padding-top: 5vw;
}

.q__inner {
	width: 89%;
}

.q__item {
	border-radius: 5.13vw;
}

.q__head {
	border-radius: 5.13vw 5.13vw 0 0;
}

.q.q1 .q__head {
	padding: 3vw 3.5vw 9.7vw;
}

.q.q2 .q__head {
	padding: 5.13vw 3.5vw 5.7vw;
}

.q.q3 .q__head {
	padding: 3.13vw 3vw 10.7vw;
}

.q.q4 .q__head {
	padding: 3.13vw 3vw 10.7vw;
}

.q__head-t,
.q__head-b {
	grid-template-columns: 12% 85%;
}

.q.q2 .q__head-t,
.q.q2 .q__head-b {
	margin-bottom: 4vw;
}

.q__q-num span {
	font-size: 3.8vw;
	padding: 2vw 3vw 2vw 2vw;
}

.q__q-text {
	font-size: 4.4vw;
}

.q__a-a span {
	font-size: 3.8vw;
	padding: 1.5vw 4.2vw 3.5vw 3.2vw;
}

.q__a-text {
	font-size: 3.6vw;
}

.q1 .q__a-text p {
	white-space: nowrap;
}

.q__a-text span {
	font-size: 3.08vw;
}

.q__detail {
	border-radius: 0 0 5.13vw 5.13vw;
}

.q1 .q__detail {
	margin-top: -6%;
	padding: 12.5vw 3vw 8.6vw 3vw;
}

.q2 .q__detail {
	margin-top: -8%;
	padding: 11vw 3vw 3.6vw 3vw;
}

.q3 .q__detail {
	margin-top: -8%;
	padding: 10.5vw 3vw 3.6vw 3vw;
}

.q4 .q__detail {
	margin-top: -8%;
	padding: 7.5vw 3vw 3.6vw 3vw;
}

.support {
	margin-top: 9vw;
}

.support__inner {
	gap: 5vw 0;
	grid-template-columns: 1fr;
	width: 82%;
}

.support__title {
	font-size: 4.1vw;
	padding: 2vw 0;
}

.support__intro {
	font-size: 4.1vw;
	letter-spacing: 0px;
	line-height: 1.5625;
	margin-top: 5vw;
	padding: 0vw 3vw;
}

.support__right {
	gap: 3vw 0;
	grid-template-columns: 1fr;
	padding: 0 2.5vw 2vw;
}

.support__item {
	border: 2px solid #76C5AA;
	border-radius: 3.8vw;
	padding: 5vw 6vw 6vw;
}

.support__item-head {
	font-size: 4.1vw;
}

.support__item-detail {
	font-size: 3.08vw;
	margin-top: 2vw;
}

}

@media (max-width: 375px) {

html {
	font-size: 2.6666666667vw;
}

}

@keyframes scrollVertical {

0% {
	transform: translateY(-50%);
}

100% {
	transform: translateY(0);
}

}

@keyframes scrollHorizontal {

0% {
	transform: translateX(0);
}

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

}

@keyframes arrowMove {

0%,100% {
	opacity: 1;
	transform: translateY(0);
}

50% {
	opacity: 0.5;
	transform: translateY(8px);
}

}


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