/* ----- about ----- */

.about { /* fv */ /* sec01 */ /* sec02 */
}

.about .fv {
	animation: bg-zoom 1.2s ease-out forwards;
	background: url(../img/about-fv.webp) no-repeat center center/cover;
	height: 579px;
	opacity: 0;
	position: relative;
	transform: scale(1.02);
	transition: opacity 2s ease-out;
}

.about .fv .wrap1080 {
	height: 100%;
	position: relative;
}

.about .fv__title-content {
	color: #fff;
	display: flex;
	flex-direction: column;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
	gap: 20px;
	position: absolute;
	right: 30px;
	top: 34%;
}

.about .fv__title {
	font-size: 32px;
	font-weight: 600;
	line-height: 1.3;
}

.about .fv__desc {
	font-size: 19px;
	font-weight: 600;
	line-height: 1.2;
}

.about .sec01 {
	background: #fffcfc;
	padding: 112px 0 151px;
	position: relative;
	z-index: 1;
}

.about .sec01__inner {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.about .sec01__heading {
	position: relative;
	z-index: 0;
}

.about .sec01__heading::after {
	background: #f3b5c0;
	border-radius: 50%;
	content: "";
	filter: blur(36px);
	height: 187px;
	left: -74px;
	opacity: 0.4;
	position: absolute;
	top: 0px;
	width: 187px;
	z-index: -1;
}

.about .sec01__heading::before {
	background: url(../img/parts/flower-15.webp) no-repeat center center/contain;
	content: "";
	height: 140px;
	position: absolute;
	right: -49px;
	top: -20px;
	width: 145px;
	z-index: 1;
}

.about .sec01__title {
	color: #F8758C;
	font-size: 32px;
	font-weight: bold;
}

.about .sec01__title-en {
	left: -48px;
	position: absolute;
	top: -69px;
	width: 407px;
}

.about .sec01__text {
	font-size: 16px;
	line-height: 2;
	position: relative;
	z-index: 0;
}

.about .sec01__text::after {
	background: #f3b5c0;
	border-radius: 50%;
	bottom: -127px;
	content: "";
	filter: blur(36px);
	height: 249px;
	opacity: 0.3;
	position: absolute;
	right: -26px;
	width: 249px;
	z-index: -1;
}

.about .sec02 {
	background: url(../img/about-bg.webp) no-repeat center center/cover;
	padding-block: 72px 176px;
	z-index: 2;
}

.about .sec02__inner {
	display: flex;
	flex-direction: column;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
	gap: 15px;
	text-align: center;
}

.about .sec02__title {
	color: #F8758C;
	font-size: 28px;
	font-weight: bold;
}

.about .sec02__text {
	font-size: 16px;
	font-weight: 400;
	line-height: 2.38;
}

.about .sec02__text span {
	font-size: 14px;
}

.about .sec02__parts1 {
	left: 7px;
	position: absolute;
	top: -12px;
	width: 102px;
}

.about .sec02__parts2 {
	bottom: 65px;
	position: absolute;
	right: -11px;
	width: 176px;
	z-index: 80;
}

/* ----- firsttime 初めての方へ ----- */

.firsttime .sec01 {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 56px;
	padding-bottom: 124px;
}

.firsttime .sec01 .wrap776 {
	padding: 0;
}

.firsttime .sec01__title {
	color: #F8758C;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}

.firsttime .sec01__title span {
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
	font-size: 49px;
	font-weight: 400;
}

.firsttime .sec01__items {
	display: flex;
	flex-direction: column;
	gap: 53px;
	margin-inline: auto;
	margin-top: 54px;
	max-width: 706px;
	width: 100%;
}

.firsttime .sec01__item {
	display: flex;
	flex-direction: column;
	margin-inline: auto 0;
	max-width: 580px;
	padding-inline: 40px 0px;
	width: -moz-fit-content;
	width: fit-content;
}

.firsttime .sec01__item.--even {
	margin-inline: 0 auto;
	padding-inline: 0 40px;
}

.firsttime .sec01__head {
	margin-left: 10px;
	position: relative;
}

.firsttime .sec01__head.--even {
	margin-left: 40px;
}

.firsttime .sec01__head.--pc {
	display: none;
}

.firsttime .sec01__head-num {
	bottom: -17px;
	color: #f3b5c0;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
	font-size: 58px;
	font-style: italic;
	left: -9px;
	opacity: 0.3;
	padding-right: 20px;
	position: absolute;
}

.firsttime .sec01__head-title {
	color: #F8758C;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}

.firsttime .sec01__image {
	aspect-ratio: 335/178;
	border-radius: 12px 0 0 12px;
	margin-inline: auto 0;
	margin-top: 12px;
	overflow: hidden;
	width: 100%;
}

.firsttime .sec01__image.--even {
	border-radius: 0 12px 12px 0;
	margin-inline: 0px auto;
}

.firsttime .sec01__image img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: top center;
	object-position: top center;
}

.firsttime .sec01__body {
	margin-top: 11px;
	padding-inline: 0 40px;
	width: 100%;
}

.firsttime .sec01__body.--even {
	padding-inline: 40px 0;
}

.firsttime .sec02 {
	background: #fff;
	padding-block: 37px 181px;
}

.firsttime .sec02__title {
	color: #F8758C;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
	font-size: 28px;
	font-weight: 600;
	text-align: center;
}

.firsttime .sec02__title span {
	font-size: 49px;
	font-weight: 400;
}

.firsttime .sec02__items {
	display: flex;
	flex-direction: column;
	gap: 42px;
	margin-top: 46px;
}

.firsttime .sec02__item {
	align-items: center;
	background: #fff5f7;
	border-radius: 16px;
	display: flex;
	height: 75px;
	justify-content: center;
	position: relative;
}

.firsttime .sec02__parts {
	position: absolute;
}

.firsttime .sec02__parts.--1 {
	right: -27px;
	rotate: -1deg;
	top: -55px;
	width: 122px;
}

.firsttime .sec02__parts.--2 {
	left: -20px;
	top: -50px;
	width: 130px;
}

.firsttime .sec02__parts.--4 {
	left: -5px;
	top: -32px;
	width: 90px;
}

.firsttime .sec02__parts.--6 {
	bottom: -75px;
	right: -8px;
	width: 155px;
}

.firsttime .sec02__tag {
	align-items: center;
	color: #F8758C;
	display: flex;
	flex-direction: column;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
	left: 14px;
	position: absolute;
	top: -15px;
}

.firsttime .sec02__tag.--even {
	left: auto;
	right: 24px;
}

.firsttime .sec02__num {
	font-size: 34px;
	font-weight: 400;
	letter-spacing: -1px;
	line-height: 1;
}

.firsttime .sec02__label {
	font-size: 8px;
	font-weight: 400;
}

.firsttime .sec02__text {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

.firsttime .sec03 {
	background: #daf5ed;
	padding-block: 73px 169px;
}

.firsttime .sec03__title {
	color: #6DB29E;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}

.firsttime .sec03__items {
	display: flex;
	flex-direction: column;
	gap: 52px;
	margin-top: 41px;
}

.firsttime .sec03__item {
	display: flex;
	flex-direction: column;
	gap: 34px;
	position: relative;
}

.firsttime .sec03__head {
	align-items: center;
	background: #fff;
	border-radius: 8px;
	display: flex;
	height: 84px;
	justify-content: center;
	padding: 0 20px;
	position: relative;
}

.firsttime .sec03__head::after {
	border-left: 11px solid transparent;
	border-right: 11px solid transparent;
	border-top: 21px solid #fff;
	bottom: -15px;
	content: "";
	height: 0;
	left: 38px;
	position: absolute;
	width: 0;
}

.firsttime .sec03__head-text {
	color: #6DB29E;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
}

.firsttime .sec03__head-icon {
	position: absolute;
}

.firsttime .sec03__head-icon.--1 {
	bottom: -28px;
	right: 16px;
	width: 53px;
}

.firsttime .sec03__head-icon.--2 {
	right: 22px;
	top: -54px;
	width: 46px;
}

.firsttime .sec03__body-text {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.73;
}

/* ----- class クラスのご案内 ----- */

.class {
	position: relative; /* sec01 */
}

.class::after {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) -16.2%, #ffdde3 61.2%);
	bottom: 0;
	content: "";
	height: 42%;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.class .sec01 {
	margin-top: 62px;
	padding-bottom: 174px;
}

.class .sec01__items {
	align-items: center;
	background: #fff;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 51px;
	padding: 57px 20px 48px;
	position: relative;
}

.class .sec01__item {
	align-items: center;
	display: flex;
	flex-direction: column;
	max-width: 500px;
}

.class .sec01__item.--last {
	margin-top: 48px;
}

.class .sec01__lead {
	font-size: 15px;
	font-weight: bold;
	position: relative;
	text-align: center;
	z-index: 0;
}

.class .sec01__lead::before,
.class .sec01__lead::after {
	background-color: #707070;
	bottom: 3px;
	content: "";
	height: 13px;
	position: absolute;
	right: -15px;
	transform: rotate(40deg);
	width: 1px;
}

.class .sec01__lead::after {
	left: -15px;
	right: auto;
	transform: rotate(-40deg);
}

.class .sec01__content {
	display: flex;
	flex-direction: column;
	gap: 21px;
	margin-top: 9px;
	position: relative;
}

.class .sec01__parts {
	position: absolute;
	z-index: 1;
}

.class .sec01__parts.--p1 {
	right: -28px;
	top: -45px;
	transform: rotate(7deg);
	width: 127px;
}

.class .sec01__parts.--p2 {
	left: -51px;
	top: -74px;
	width: 141px;
}

.class .sec01__parts.--p3 {
	bottom: -95px;
	right: -38px;
	width: 115px;
}

.class .sec01__thumb {
	position: relative;
}

.class .sec01__img {
	aspect-ratio: 295/206;
	border-radius: 15px;
	overflow: hidden;
	width: 100%;
}

.class .sec01__img img {
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	height: 100%;
	object-position: center;
	width: 100%;
}

.class .sec01__badge {
	align-items: center;
	background: #F8758C;
	border-radius: 50%;
	bottom: -50px;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 2px;
	height: 100px;
	justify-content: center;
	padding-bottom: 10px;
	position: absolute;
	right: 12px;
	width: 100px;
}

.class .sec01__badge-sub {
	font-size: 11px;
	font-weight: 500;
}

.class .sec01__badge-text {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.1764705882;
	text-align: center;
}

.class .sec01__badge-text span {
	font-size: 10px;
}

.class .sec01__body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.class .sec01__title {
	color: #F8758C;
	font-size: 20px;
	font-weight: bold;
}

.class .sec01__text {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.6666666667;
}

/* ----- beginner 入門クラス ----- */

.beginner {
	background: #fff5f5;
}

.beginner .c-heading__title::after {
	display: none;
}

.beginner .sec01 {
	background: #ecfcf7;
	padding-bottom: 124px;
	padding-top: 60px;
}

.beginner .sec01__heading {
	display: flex;
	flex-direction: column;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
	text-align: center;
}

.beginner .sec01__heading-title {
	font-size: 36px;
	font-weight: 600;
}

.beginner .sec01__heading-sub-title {
	font-size: 26px;
	font-weight: 600;
	line-height: 1.2;
}

.beginner .sec01__lists {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin-top: 32px;
}

.beginner .sec01__list {
	align-items: center;
	display: flex;
	gap: 18px;
	width: 315px;
}

.beginner .sec01__head {
	padding-left: 20px;
	position: relative;
}

.beginner .sec01__head::before {
	background-color: #6db29e;
	content: "";
	height: 18px;
	left: 0px;
	position: absolute;
	top: 11px;
	transform: rotate(35deg);
	transform-origin: bottom left;
	width: 1px;
}

.beginner .sec01__num {
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.3;
}

.beginner .sec02 {
	background: #ffffff;
	padding-bottom: 224px;
	padding-top: 115px;
}

/* ----- kids 子どもクラス ----- */

.kids {
	background: #fff;
}

.kids .sec01 {
	background: #fff4eb;
	padding-bottom: 147px;
	padding-top: 60px;
}

.kids .sec01__title {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}

.kids .sec01__lists {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 45px;
	margin-top: 29px;
	padding-inline: 16px;
}

.kids .sec01__list {
	align-items: center;
	display: flex;
	gap: 15px;
	width: 283px;
}

.kids .sec01__head {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding-left: 20px;
	padding-top: 8px;
	position: relative;
}

.kids .sec01__head::after {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.153' height='32.323' viewBox='0 0 11.153 32.323'%3E%3Cpath d='M47,56.666h0V24.344a13.871,13.871,0,0,1,7.964,5.677,17.38,17.38,0,0,1,2.342,4.819,19.37,19.37,0,0,1,0,11.333,17.38,17.38,0,0,1-2.342,4.818A13.871,13.871,0,0,1,47,56.666Z' transform='translate(-47 -24.344)' fill='%23ff9f58'/%3E%3C/svg%3E") no-repeat center center/contain;
	content: "";
	height: 32px;
	left: 0px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 11px;
}

.kids .sec01__label {
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
}

.kids .sec01__num {
	font-size: 28px;
	font-weight: bold;
	line-height: 1;
}

.kids .sec02 {
	background: #FF9F58;
	padding-bottom: 136px;
	padding-top: 68px;
}

.kids .sec02__title {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}

.kids .sec02__lists {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 48px;
	margin-top: 41px;
}

.kids .sec02__list {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: center;
}

.kids .sec02__num {
	font-size: 20px;
	font-weight: bold;
	position: relative;
	z-index: 0;
}

.kids .sec02__num::after {
	background: url(../img/parts/flower-13.webp) no-repeat center center/contain;
	content: "";
	height: 52px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 52px;
	z-index: -1;
}

.kids .sec02__sup {
	color: #fff;
	font-size: 12px;
	font-weight: 400;
}

.kids .sec03 {
	background: #fff;
	padding-bottom: 166px;
	padding-top: 85px;
}

/* ----- campaine キャンペーン ----- */

.campaine {
	background: #fff;
	padding-bottom: 170px; /* sec01 */
}

.campaine__title {
	color: #D392C0;
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.6818181818;
	text-align: center;
}

.campaine .sec01 {
	margin-top: 61px;
}

.campaine .sec01__items {
	display: flex;
	flex-direction: column;
	gap: 44px;
}

.campaine .sec01__head {
	align-items: center;
	background-color: #d392c0;
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.168627451) 4px, transparent 4px), linear-gradient(rgba(255, 255, 255, 0.168627451) 4px, transparent 4px);
	background-position: 10px 10px;
	background-size: 10px 10px;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 19px 20px 20px;
	width: 100%;
}

.campaine .sec01__head.--2 {
	padding: 15px 20px 6px;
}

.campaine .sec01__head-title {
	font-size: 33px;
	font-weight: bold;
	line-height: 1.65;
}

.campaine .sec01__head-sub {
	font-size: 25px;
	font-weight: bold;
	line-height: 0.7;
}

.campaine .sec01__body {
	align-items: center;
	background: #fff8fd;
	display: flex;
	flex-direction: column;
	padding-inline: 20px;
}

.campaine .sec01__label {
	align-items: center;
	background: #fff;
	border-radius: 14px;
	display: flex;
	gap: 6px;
	justify-content: center;
	padding: 4px 15px 5px;
}

.campaine .sec01__label-text {
	font-size: 13px;
	font-weight: bold;
	line-height: 1;
}

.campaine .sec01__label-num {
	font-family: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
}

.campaine .sec01__price {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding-bottom: 32px;
	padding-top: 28px;
}

.campaine .sec01__reg-num {
	font-size: 20px;
	font-weight: 500;
}

.campaine .sec01__reg-num span {
	font-size: 30px;
	font-weight: bold;
}

.campaine .sec01__arrow {
	border-left: 77px solid transparent;
	border-right: 77px solid transparent;
	border-top: 17px solid #f0d9ea;
	height: 0;
	margin-top: 17px;
	width: 0;
}

.campaine .sec01__now-num {
	font-size: 31px;
	font-weight: bold;
	margin-top: 9px;
}

.campaine .sec01__now-num span {
	font-size: 80px;
	font-weight: bold;
}

.campaine .sec01__note {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.8666666667;
}

.campaine .sec01__text {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.6;
	margin-top: 38px;
	text-align: center;
}

.campaine .sec01__img {
	margin-bottom: 43px;
	margin-top: 19px;
	width: 258px;
}

/* ----- access スタジオ ----- */

.access {
	padding-bottom: 134px;
}

.access__desc {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.1333333333;
	margin-top: 28px;
	min-height: 57px;
	text-align: center;
}

.access__container {
	margin-top: 29px;
}

.access__img {
	aspect-ratio: 335/354;
	border-radius: 12px;
	flex-shrink: 0;
	margin: 0 auto;
	overflow: hidden;
	width: 335px;
}

.access__img img {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.access__content {
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 30px;
}

.access__item-head {
	align-items: center;
	display: flex;
	gap: 8px;
}

.access__item-icon {
	width: 23px;
}

.access__item-icon.--ping {
	width: 16px;
}

.access__item-text {
	font-size: 14px;
	font-weight: bold;
}

.access__map {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.access__map iframe {
	height: 234px;
	width: 100%;
}

.access .sec01 {
	display: flex;
	flex-direction: column;
	gap: 11px;
	position: relative;
	z-index: 1;
}

.access .sec01__info-row {
	display: flex;
	gap: 11px;
	padding-bottom: 10px;
}

.access .sec01__info-row.--dashed {
	background-image: repeating-linear-gradient(90deg, currentColor, currentColor 3px, transparent 3px, transparent 9px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 100% 1px;
}

.access .sec01__info-label {
	font-size: 15px;
	font-weight: bold;
	width: 50px;
}

.access .sec01__text {
	color: #707070;
	font-size: 14px;
	font-weight: 500;
}

.access .sec02__lists {
	display: flex;
	flex-direction: column;
	gap: 5px;
	list-style: decimal;
	margin-top: 15px;
	padding-left: 1em;
}

.access .sec02__list {
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	padding-left: 5px;
}

.access .sec03__box {
	border: 1px solid;
	margin-top: 14px;
}

.access .sec03__row {
	align-items: stretch;
	background: #fff;
	display: flex;
	min-height: 84px;
}

.access .sec03__row + .sec03__row {
	border-top: 1px solid currentColor;
}

.access .sec03__head {
	align-items: center;
	display: flex;
	justify-content: center;
	width: 30px;
}

.access .sec03__num {
	color: #fff;
	font-size: 22px;
	font-weight: bold;
}

.access .sec03__body {
	align-items: center;
	color: #707070;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	padding: 14px 7px 14px 14px;
	width: 100%;
}

.access .sec03__text {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4285714286;
}

.access .sec03__text span {
	font-size: 12px;
	line-height: 1.25;
}

.access .sec03__text.--info {
	font-size: 13px;
	line-height: 1.5384615385;
}

/* ----- system 料金について ----- */

.system {
	padding-bottom: 174px;
	position: relative; /* sec01 */ /* sec02 */
}

.system::after {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) -16.2%, #ffdde3 61.2%);
	bottom: 0;
	content: "";
	height: 42%;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.system .sec01 {
	background: #fff;
	border-radius: 12px;
	margin-top: 62px;
	padding: 54px 20px 44px;
}

.system .sec01__inner {
	margin: 0 auto;
	max-width: 800px;
}

.system .sec01__items {
	display: flex;
	flex-direction: column;
	gap: 43px;
}

.system .sec01__head {
	border-bottom: 2px solid #eaeaea;
	padding-bottom: 4px;
}

.system .sec01__head-text {
	font-size: 22px;
	font-weight: bold;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
}

.system .sec01__head-text::after {
	background: #F8758C;
	bottom: -6px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 100%;
}

.system .sec01__lists {
	display: flex;
	flex-direction: column;
	gap: 27px;
	margin-top: 22px;
}

.system .sec01__lists.--fir {
	gap: 18px;
}

.system .sec01__list {
	border-bottom: 1px solid #eaeaea;
	display: flex;
	flex-direction: column;
	gap: 9px;
	padding-bottom: 4px;
}

.system .sec01__list.--fir {
	align-items: center;
	flex-direction: row;
	justify-content: space-between;
}

.system .sec01__title {
	flex-shrink: 0;
	font-size: 16px;
	font-weight: bold;
}

.system .sec01__title span {
	font-size: 14px;
}

.system .sec01__title.--fir {
	font-size: 18px;
}

.system .sec01__campaign {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.system .sec01__lead {
	background: #F8758C;
	border-radius: 13px;
	color: #fff;
	font-size: 13px;
	font-weight: bold;
	padding: 2px 9px;
}

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

.system .sec01__term.--fir {
	align-items: center;
	gap: 12px;
	justify-content: end;
}

.system .sec01__price {
	font-size: 18px;
	font-weight: bold;
}

.system .sec01__price.--line {
	font-size: 15px;
	position: relative;
}

.system .sec01__price.--line::after {
	background: #707070;
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.system .sec01__price span {
	font-size: 13px;
}

.system .sec01__label {
	align-items: center;
	border: 1px solid #6DB29E;
	color: #6DB29E;
	display: flex;
	height: -moz-fit-content;
	height: fit-content;
	justify-content: center;
	padding: 3px 12px 2px;
}

.system .sec01__label-text {
	font-size: 15px;
	font-weight: bold;
	line-height: 1;
}

.system .sec01__notes {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 33px;
}

.system .sec01__note {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4285714286;
	padding-left: 16px;
	position: relative;
}

.system .sec01__note::after {
	border-bottom: 6.5px solid transparent;
	border-left: 8.442px solid #f8758c;
	border-top: 6.5px solid transparent;
	content: "";
	height: 0;
	left: 0;
	position: absolute;
	top: 3.5px;
	width: 0;
}

.system .sec01__examples {
	display: flex;
	gap: 12px;
	margin-top: 20px;
	padding-left: 11px;
}

.system .sec01__tag {
	background: #f3b5c0;
	border-radius: 10px;
	color: #fff;
	font-size: 13px;
	font-weight: bold;
	height: -moz-fit-content;
	height: fit-content;
	padding: 1px 8px;
}

.system .sec01__block {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.system .sec01__examples-head {
	align-items: center;
	display: flex;
	gap: 8px;
}

.system .sec01__text1 {
	font-size: 14px;
	font-weight: bold;
}

.system .sec01__text1 span {
	font-size: 11px;
}

.system .sec01__text2 {
	font-size: 13px;
	font-weight: 500;
}

.system .sec01__sup {
	font-size: 10px;
	font-weight: 500;
	line-height: 1;
}

.system .sec02 {
	border: 1px dashed #f8758c;
	border-radius: 10px;
	margin-top: 61px;
	padding: 33px 20px 46px;
}

.system .sec02__title {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
}

.system .sec02__cards {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 28px;
}

.system .sec02__card {
	align-items: center;
	background: #fff;
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	padding: 0 10px 26px;
}

.system .sec02__head {
	align-items: center;
	color: #f3b5c0;
	display: flex;
	flex-direction: column;
	line-height: 1;
	padding-top: 25px;
	position: relative;
}

.system .sec02__head::after {
	background: #f3b5c0;
	content: "";
	height: 20px;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 1px;
}

.system .sec02__head-text {
	font-size: 12px;
	font-weight: bold;
}

.system .sec02__head-num {
	font-size: 22px;
	font-weight: bold;
}

.system .sec02__img {
	margin-top: 14px;
	width: 58px;
}

.system .sec02__text {
	font-size: 18px;
	font-weight: bold;
	margin-top: 10px;
}

.system .sec02__desc {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.6153846154;
	margin-top: 9px;
	text-align: center;
}

.system .sec02__items {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: center;
	margin-top: 36px;
}

.system .sec02__item {
	border: 1px solid #F8758C;
	border-radius: 22px;
	padding: 2px 11px;
	position: relative;
}

.system .sec02__item .c-t-pink {
	font-size: 15px;
	font-weight: bold;
}

.system .sec02__icon {
	bottom: 24px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 18px;
}

.system .sec02__icon.--big {
	width: 23px;
}

.system .sec02__plus {
	height: 12px;
	position: relative;
	width: 12px;
}

.system .sec02__plus span {
	background-color: #F8758C;
	height: 3px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 12px;
}

.system .sec02__plus span:nth-child(2) {
	height: 12px;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 3px;
}

.system .sec02__triangle {
	border-left: 59px solid transparent;
	border-right: 59px solid transparent;
	border-top: 12px solid #f3b5c0;
	height: 0;
	margin-top: 13px;
	width: 0;
}

.system .sec02__note {
	align-items: center;
	display: flex;
	flex-direction: column;
	margin-top: 15px;
}

.system .sec02__note-text {
	font-size: 13px;
	font-weight: bold;
}

.system .sec02__note p.c-t-pink {
	font-size: 19px;
	font-weight: bold;
}

/* ----- entry ご入会の流れ ----- */

.entry .sec01 {
	margin-top: 63px;
	padding-bottom: 125px;
}

.entry .sec01__desc {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6875;
	padding-left: 20px;
}

.entry .sec01__items {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 18px;
	margin-top: 14px;
}

.entry .sec01__item {
	background: #fff;
	border-radius: 12px;
	padding: 26px 0 25px 54px;
	position: relative;
	width: 100%;
}

.entry .sec01__label {
	align-items: center;
	background: #f3b5c0;
	display: flex;
	justify-content: end;
	left: -5px;
	padding: 4px 8px;
	position: absolute;
	top: 24px;
	width: 46px;
}

.entry .sec01__label-num {
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}

.entry .sec01__head {
	display: flex;
	flex-direction: column;
}

.entry .sec01__head-title {
	font-size: 18px;
	font-weight: bold;
}

.entry .sec01__head-note {
	font-size: 14px;
	font-weight: 500;
}

.entry .sec01__body {
	margin-top: 9px;
}

.entry .sec01__lead {
	align-items: center;
	display: flex;
	gap: 8px;
	margin-bottom: 12px;
}

.entry .sec01__lead-icon {
	width: 27px;
}

.entry .sec01__lead-text {
	font-size: 20px;
	font-weight: bold;
}

.entry .sec01__text {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4285714286;
}

.entry .sec01__notes {
	background: #f4f4f4;
	border-radius: 11px;
	margin-top: 14px;
	padding: 6px 28px 5px 13px;
	width: -moz-fit-content;
	width: fit-content;
}

.entry .sec01__note {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4285714286;
}

.entry .sec01__arrow {
	border-left: 24.5px solid transparent;
	border-right: 24.5px solid transparent;
	border-top: 11px solid #f8758c;
	height: 0;
	width: 0;
}

.entry .sec02 {
	background: #daf5ed;
	padding-bottom: 174px;
	padding-top: 55px;
}

.entry .sec02__title {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}

.entry .sec02__lead {
	background: #fff;
	border: 3px solid #6DB29E;
	border-radius: 19px;
	margin-top: 32px;
	padding: 14px 0 13px;
	text-align: center;
}

.entry .sec02__lead-text {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6875;
}

.entry .sec02__items {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 36px;
}

.entry .sec02__item {
	background: #fff;
	border-radius: 12px;
	padding: 30px 0 26px 35px;
	width: 100%;
}

.entry .sec02__item-button {
	margin-top: 23px;
}

.entry .sec02__head {
	font-size: 20px;
	font-weight: bold;
}

.entry .sec02__body {
	margin-top: 2px;
}

.entry .sec02__text {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.3333333333;
	margin-bottom: 5px;
}

.entry .sec02__desc {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4285714286;
}

.entry .sec02__desc.--indent {
	padding-left: 1em;
	text-indent: -1em;
}

.entry .sec02__tel {
	align-items: center;
	display: flex;
	gap: 6px;
	margin-top: 14px;
	width: -moz-fit-content;
	width: fit-content;
}

.entry .sec02__icon {
	width: 23px;
}

.entry .sec02__num {
	font-size: 24px;
	font-weight: bold;
}

.entry .sec02__button {
	margin-top: 20px;
}

/* ----- faq よくあるご質問 ----- */

.faq {
	background: #fffcfc;
	padding-bottom: 200px; /* sec01 */ /* sec02 */
}

.faq .sec01 {
	margin-top: 58px;
}

.faq .sec01__items {
	display: flex;
	flex-wrap: wrap;
	gap: 19px 13px;
}

.faq .sec01__item {
	align-items: center;
	background: #fff;
	border: 1px solid #f3b5c0;
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 10px;
	transition: 0.3s;
	width: calc((100% - 13px) / 2);
}

.faq .sec01__item:hover {
	background: #F8758C;
	border: 1px solid #F8758C;
}

.faq .sec01__item:hover .sec01__text {
	color: #fff;
}

.faq .sec01__item:hover .sec01__arrow {
	border-top: 6px solid #fff;
}

.faq .sec01__text {
	color: #F8758C;
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	transition: 0.3s;
}

.faq .sec01__text span {
	font-size: 17px;
}

.faq .sec01__arrow {
	border-left: 11.5px solid transparent;
	border-right: 11.5px solid transparent;
	border-top: 6px solid #F8758C;
	height: 0;
	transition: 0.3s;
	width: 0;
}

.faq .sec02 {
	margin-top: 56px;
}

.faq .sec02__container {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.faq .sec02__items {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.faq .sec02__head {
	background: #F8758C;
	border-radius: 6px;
	margin-bottom: 4px;
	padding: 9px 20px;
}

.faq .sec02__head-text {
	color: #fff;
	font-size: 16px;
	font-weight: bold;
}

.faq .sec02__head-text span {
	font-size: 22px;
}

.faq .sec02__item {
	background: #fff;
	border: 1px solid #f3b5c0;
	border-radius: 12px;
	color: #F8758C;
}

.faq .sec02__question {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 22px;
	justify-content: space-between;
	padding: 12px 23px 12px 12px;
	transition: 0.3s;
}

.faq .sec02__question:hover {
	opacity: 0.7;
}

.faq .sec02__question.is-open .sec02__question-icon span:last-child {
	opacity: 0;
	transform: translateY(-50%) rotate(180deg);
}

.faq .sec02__question-inner {
	align-items: center;
	display: flex;
	gap: 10px;
}

.faq .sec02__question-label {
	align-items: center;
	background: #efefef;
	border-radius: 50%;
	display: flex;
	flex-shrink: 0;
	height: 37px;
	justify-content: center;
	width: 37px;
}

.faq .sec02__question-label p {
	font-size: 18px;
	font-weight: bold;
}

.faq .sec02__question-text {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3333333333;
}

.faq .sec02__question-icon {
	flex-shrink: 0;
	height: 18px;
	position: relative;
	width: 18px;
}

.faq .sec02__question-icon span {
	background: #F8758C;
	border-radius: 2px;
	height: 4px;
	left: 0;
	position: absolute;
	top: 50%;
	transition: transform 0.3s ease, opacity 0.3s ease;
	width: 18px;
}

.faq .sec02__question-icon span:first-child {
	transform: translateY(-50%) rotate(0);
}

.faq .sec02__question-icon span:last-child {
	transform: translateY(-50%) rotate(90deg);
}

.faq .sec02__body {
	padding: 0px 13px 20px;
}

.faq .sec02__body-inner {
	background-image: repeating-linear-gradient(90deg, #f8758c, #f8758c 4px, transparent 4px, transparent 10px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 1px;
	padding-top: 20px;
}

.faq .sec02__body-text {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5714285714;
}

/* ----- contact お問い合わせ ----- */

.contact {
	padding-bottom: 170px;
}

.contact .sec01 {
	margin-top: 64px;
}

.contact__text {
	font-size: 14px;
	margin-bottom: 45px;
}

.contact__text.--message {
	font-size: 13px;
	margin: 0;
}

/* ----- thanks 問い合わせ完了 ----- */

.thanks {
	padding-bottom: 170px;
}

.thanks__heading {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.thanks__heading-title {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}

.thanks__heading-desc {
	color: #000;
	font-size: 18px;
	font-weight: bold;
}

.thanks__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 50px;
	margin-top: 30px;
}

.thanks__content {
	line-height: 1.8;
}

.thanks__content p {
	font-size: 16px;
}

/* ----- policy プライバシーポリシー ----- */

.policy .lists {
	list-style-type: decimal;
	margin-top: 60px;
	padding-left: 1em;
}

.policy .lists li {
	font-size: 15px;
	font-weight: 500;
	line-height: 2;
	margin-top: 20px;
}

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

.firsttime .sec01__items {
	padding-inline: 40px;
}

.firsttime .sec01__image {
	border-radius: 12px;
}

.firsttime .sec01__image.--even {
	border-radius: 12px;
}

}

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

.system .sec01__box {
	display: flex;
	gap: 37px;
}

.system .sec01__examples-head {
	align-items: start;
	height: -moz-fit-content;
	height: fit-content;
}

.entry .sec01__desc {
	text-align: center;
}

.entry .sec01__item {
	border-radius: 16px;
	padding: 40px 54px;
}

.entry .sec01__head {
	text-align: center;
}

.entry .sec01__body {
	align-items: center;
	display: flex;
	flex-direction: column;
	text-align: center;
}

.entry .sec02__item {
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 30px 35px 26px;
	text-align: center;
}

.entry .sec02__body {
	align-items: center;
	display: flex;
	flex-direction: column;
	text-align: center;
}

}

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

.about .fv {
	background: url(../img/about-fv-pc.webp) no-repeat center center/cover;
	height: 813px;
}

.about .fv__title-content {
	gap: 26px;
	top: 36%;
}

.about .fv__title {
	font-size: 42px;
}

.about .fv__desc {
	font-size: 24px;
}

.about .sec01 {
	padding: 183px 0 162px;
}

.about .sec01__inner {
	gap: 48px;
}

.about .sec01__heading {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.about .sec01__heading::after {
	height: 245px;
	left: -150px;
	width: 245px;
}

.about .sec01__heading::before {
	right: 220px;
}

.about .sec01__title {
	padding-right: 164px;
}

.about .sec01__title-en {
	left: 229px;
	top: -67px;
}

.about .sec01__text {
	font-size: 18px;
}

.about .sec02 {
	background: url(../img/about-bg-pc.webp) no-repeat center top/cover;
	padding-block: 148px 176px;
}

.about .sec02__inner {
	gap: 28px;
}

.about .sec02__title {
	font-size: 38px;
}

.about .sec02__text span {
	font-size: 18px;
}

.about .sec02__text {
	font-size: 18px;
	line-height: 2.4545454545;
}

.about .sec02__parts1 {
	left: 111px;
	top: 44px;
	width: 170px;
}

.about .sec02__parts2 {
	bottom: 61px;
	right: 0px;
	width: 359px;
}

.firsttime .sec01 {
	margin-top: 70px;
	padding-bottom: 200px;
}

.firsttime .sec01__title {
	font-size: 36px;
}

.firsttime .sec01__title span {
	font-size: 64px;
}

.firsttime .sec01__items {
	gap: 80px;
	margin-top: 46px;
	max-width: none;
	padding: 0;
}

.firsttime .sec01__item {
	align-items: center;
	flex-direction: row-reverse;
	gap: 45px;
	margin: 0;
	max-width: none;
	padding: 0;
}

.firsttime .sec01__item.--even {
	flex-direction: row;
	margin: 0;
	padding: 0;
}

.firsttime .sec01__head {
	padding-left: 0;
}

.firsttime .sec01__head.--even {
	margin: 0;
}

.firsttime .sec01__head.--sp {
	display: none;
}

.firsttime .sec01__head.--pc {
	display: block;
}

.firsttime .sec01__head-title {
	font-size: 24px;
}

.firsttime .sec01__image {
	aspect-ratio: 360/200;
	flex-shrink: 0;
	margin: 0;
	width: 360px;
}

.firsttime .sec01__image.--even {
	margin: 0;
}

.firsttime .sec01__body {
	display: flex;
	flex-direction: column;
	gap: 17px;
	margin: 0;
	padding: 40px 0 0;
}

.firsttime .sec01__body.--even {
	padding: 40px 0 0;
}

.firsttime .sec02 {
	padding-block: 93px 220px;
}

.firsttime .sec02__title {
	font-size: 36px;
}

.firsttime .sec02__items {
	margin-top: 78px;
}

.firsttime .sec02__item {
	height: 86px;
}

.firsttime .sec02__parts.--1 {
	right: 0;
}

.firsttime .sec02__parts.--2 {
	left: 0;
	top: -37px;
}

.firsttime .sec02__parts.--4 {
	left: 0;
}

.firsttime .sec02__parts.--6 {
	right: 0;
}

.firsttime .sec02__tag {
	left: 30px;
}

.firsttime .sec02__tag.--even {
	right: 30px;
}

.firsttime .sec02__num {
	font-size: 46px;
}

.firsttime .sec02__label {
	font-size: 11px;
}

.firsttime .sec02__text {
	font-size: 18px;
}

.firsttime .sec03 {
	padding-block: 73px 195px;
}

.firsttime .sec03__title {
	font-size: 36px;
}

.firsttime .sec03__head::after {
	left: 86px;
}

.firsttime .sec03__head-text {
	font-size: 22px;
}

.firsttime .sec03__body-text {
	font-size: 18px;
	padding-inline: 40px;
}

.class .sec01 {
	margin-top: 120px;
	width: 100%;
}

.class .sec01__items {
	align-items: start;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 97px 68px;
	justify-content: center;
	padding: 93px 50px 130px;
}

.class .sec01__item {
	max-width: 382px;
	width: calc((100% - 68px) / 2);
}

.class .sec01__item.--last {
	margin: 0;
}

.class .sec01__lead {
	font-size: 18px;
}

.class .sec01__parts {
	display: none;
}

.class .sec01__img {
	aspect-ratio: 382/236;
	border-radius: 25px;
}

.class .sec01__badge {
	height: 114px;
	width: 114px;
}

.class .sec01__badge-sub {
	font-size: 13px;
}

.class .sec01__badge-text {
	font-size: 22px;
}

.class .sec01__title {
	font-size: 24px;
}

.class .sec01__text {
	font-size: 18px;
}

.beginner .sec01__list {
	width: 540px;
}

.beginner .sec01__head::before {
	height: 30px;
	top: 5px;
	transform: rotate(25deg);
	width: 2px;
}

.beginner .sec01__num {
	font-size: 35px;
}

.kids .sec01__lists {
	margin-top: 50px;
	padding-inline: 0;
}

.kids .sec01__list {
	width: 485px;
}

.kids .sec01__label {
	font-size: 14px;
}

.kids .sec01__num {
	font-size: 30px;
}

.kids .sec02__lists {
	gap: 60px;
	margin-top: 60px;
}

.kids .sec02__list {
	gap: 25px;
}

.kids .sec02__num {
	font-size: 25px;
}

.kids .sec02__num::after {
	height: 70px;
	width: 70px;
}

.kids .sec02__sup {
	font-size: 16px;
}

.campaine__title {
	font-size: 30px;
}

.campaine .sec01__label-text {
	font-size: 16px;
}

.campaine .sec01__label-num {
	font-size: 20px;
}

.campaine .sec01__price {
	padding-block: 50px;
}

.campaine .sec01__reg-num {
	font-size: 24px;
}

.campaine .sec01__arrow {
	border-left: 90px solid transparent;
	border-right: 90px solid transparent;
	border-top: 30px solid #f0d9ea;
}

.campaine .sec01__note {
	font-size: 16px;
}

.campaine .sec01__text {
	font-size: 24px;
}

.campaine .sec01__img {
	margin-block: 30px 60px;
	width: 500px;
}

.access {
	padding-bottom: 206px;
}

.access__desc {
	font-size: 18px;
	min-height: auto;
	text-align: left;
}

.access__container {
	align-items: start;
	display: flex;
	gap: 60px;
	margin-top: 40px;
}

.access__img {
	margin: 0;
}

.access__content {
	gap: 26px;
	margin-top: 0;
	width: 100%;
}

.access__map iframe {
	height: 463px;
	max-width: 1000px;
}

.access .sec01__info-row {
	gap: 20px;
}

.access .sec03__row {
	min-height: 50px;
}

.access .sec03__body {
	padding: 14px 22px 14px 14px;
}

.system .sec01 {
	margin-top: 120px;
	padding: 95px 20px 132px;
}

.system .sec01__items {
	gap: 66px;
}

.system .sec01__head {
	padding-bottom: 9px;
}

.system .sec01__head-text::after {
	bottom: -11px;
}

.system .sec01__head-text {
	font-size: 30px;
}

.system .sec01__lists {
	margin-top: 50px;
}

.system .sec01__lists.--course .sec01__title {
	font-size: 18px;
}

.system .sec01__list {
	flex-direction: row;
	gap: 22px;
	justify-content: space-between;
	padding-bottom: 16px;
}

.system .sec01__title {
	font-size: 22px;
}

.system .sec01__title.--fir {
	font-size: 22px;
}

.system .sec01__campaign {
	flex-direction: row;
	justify-content: space-between;
	width: 100%;
}

.system .sec01__lead {
	border-radius: 14px;
	font-size: 18px;
}

.system .sec01__term {
	gap: 16px;
	justify-content: end;
}

.system .sec01__notes {
	gap: 2px;
	margin-top: 46px;
}

.system .sec01__note {
	font-size: 18px;
	line-height: 2;
	padding-left: 24px;
}

.system .sec01__note::after {
	top: 50%;
	transform: translateY(-50%);
}

.system .sec01__examples {
	gap: 32px;
	margin-top: 38px;
	padding-left: 0;
}

.system .sec01__tag {
	border-radius: 12px;
	font-size: 17px;
	padding: 1px 15px;
}

.system .sec01__block {
	gap: 31px;
}

.system .sec01__examples-head {
	align-items: center;
}

.system .sec01__text1 {
	font-size: 22px;
	line-height: 1;
}

.system .sec01__text1 span {
	font-size: 16px;
}

.system .sec01__text2 {
	font-size: 18px;
	line-height: 1;
}

.system .sec01__sup {
	font-size: 15px;
	margin-top: 5px;
}

.system .sec02 {
	padding: 60px 20px 46px;
}

.system .sec02__cards {
	flex-direction: row;
	gap: 52px;
	justify-content: center;
	margin-top: 42px;
}

.system .sec02__card {
	border-radius: 40px;
	width: 471px;
}

.system .sec02__head {
	padding-top: 40px;
}

.system .sec02__head-text {
	font-size: 13px;
}

.system .sec02__head-num {
	font-size: 24px;
}

.system .sec02__img {
	margin-top: 21px;
	width: 99px;
}

.system .sec02__text {
	font-size: 24px;
}

.system .sec02__items {
	margin-top: 84px;
}

.system .sec02__item {
	padding: 10px 30px;
}

.system .sec02__icon {
	bottom: 38px;
	width: 28px;
}

.system .sec02__icon.--big {
	width: 41px;
}

.system .sec02__plus {
	height: 20px;
	width: 20px;
}

.system .sec02__plus span {
	height: 5px;
	width: 20px;
}

.system .sec02__plus span:nth-child(2) {
	height: 20px;
	width: 5px;
}

.system .sec02__triangle {
	border-left: 94.5px solid transparent;
	border-right: 94.5px solid transparent;
	border-top: 19px solid #f3b5c0;
	height: 0;
	margin-top: 16px;
	width: 0;
}

.system .sec02__note p.c-t-pink {
	font-size: 24px;
}

.entry .sec01 {
	padding-bottom: 175px;
}

.entry .sec01__desc {
	font-size: 18px;
	padding-left: 0;
	text-align: center;
}

.entry .sec01__items {
	gap: 30px;
	margin-top: 50px;
}

.entry .sec01__label-num {
	font-size: 24px;
}

.entry .sec01__head-title {
	font-size: 22px;
}

.entry .sec01__text {
	font-size: 18px;
}

.entry .sec01__note {
	font-size: 16px;
}

.entry .sec01__arrow {
	border-left: 50px solid transparent;
	border-right: 50px solid transparent;
	border-top: 20px solid #f8758c;
}

.entry .sec02 {
	padding-top: 100px;
}

.entry .sec02__title {
	font-size: 28px;
}

.entry .sec02__lead {
	padding: 25px 0 18px;
}

.entry .sec02__lead-text {
	font-size: 18px;
}

.entry .sec02__items {
	gap: 40px;
}

.entry .sec02__item-button {
	margin: 23px auto 0;
}

.entry .sec02__head {
	font-size: 24px;
}

.entry .sec02__text {
	font-size: 18px;
}

.entry .sec02__desc {
	font-size: 18px;
}

.entry .sec02__tel {
	justify-content: center;
}

.entry .sec02__num {
	font-size: 26px;
}

.faq .sec01 {
	margin-top: 80px;
}

.faq .sec01__items {
	gap: 13px;
}

.faq .sec01__item {
	gap: 10px;
	width: calc((100% - 39px) / 4);
}

.faq .sec01__item:hover .sec01__arrow {
	border-top: 12px solid #fff;
}

.faq .sec01__text {
	font-size: 16px;
}

.faq .sec01__text span {
	font-size: 20px;
}

.faq .sec01__arrow {
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 12px solid #F8758C;
}

.faq .sec02 {
	margin-top: 80px;
}

.faq .sec02__container {
	gap: 60px;
}

.faq .sec02__items {
	gap: 30px;
}

.faq .sec02__head-text {
	font-size: 18px;
}

.faq .sec02__head-text span {
	font-size: 26px;
}

.faq .sec02__question {
	gap: 30px;
	padding: 20px 30px 20px 20px;
}

.faq .sec02__question-inner {
	gap: 20px;
}

.faq .sec02__question-label {
	height: 45px;
	width: 45px;
}

.faq .sec02__question-label p {
	font-size: 22px;
}

.faq .sec02__question-text {
	font-size: 20px;
}

.faq .sec02__body {
	padding: 0px 20px 20px 30px;
}

.faq .sec02__body-inner {
	padding-top: 30px;
}

.faq .sec02__body-text {
	font-size: 18px;
}

.contact__text {
	font-size: 16px;
	text-align: center;
}

.contact__text.--message {
	text-align: left;
}

.thanks__content p {
	font-size: 18px;
}

.policy .lists li {
	font-size: 18px;
}

}

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

.about .sec02__parts2 {
	right: 50px;
}

}

