html {
	font-size: min(10px, 0.694444444vw);
}

body {
	background: #fff;
	color: #333333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 1.6rem;
	font-weight: 400;
}

a {
	display: block;
	transition: 0.2s;
}

a:hover {
	opacity: 0.6;
	transition: 0.2s;
}

dt {
	font-weight: normal;
}

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

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

/* Set core body defaults */

body {
	text-rendering: optimizeSpeed;
}

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

/* Inherit fonts for inputs and buttons */

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

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

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

/*
 * l-inner
 * -------------------------------------------------------------
 */

.l-inner {
	margin: auto;
	padding: 0 2rem;
}

/*
 * l-main
 * -------------------------------------------------------------
 */

.l-main {
	margin-top: 8rem;
	overflow: hidden;
}

/*
 * c-cta
 * -------------------------------------------------------------
 */

.c-cta {
	display: flex;
	flex-direction: column;
	gap: 1.5rem 0;
	width: 100%;
}

.c-cta__btn {
	align-items: center;
	border: 1px solid #F15C90;
	border-radius: 8rem;
	box-shadow: 4px 6px 4px rgba(51, 51, 51, 0.25);
	display: flex;
	font-size: 2rem;
	font-weight: 600;
	justify-content: space-between;
	letter-spacing: 0.08em;
	line-height: 1.45;
	max-width: 39.5rem;
	padding: 2.4rem 5.9rem 2.4rem 4.5rem;
	transition: all 0.3s;
	width: 100%;
}

.c-cta__btn.--contact {
	background: #FBD039;
}

.c-cta__btn.--request {
	background: #fff;
}

.c-cta__btn::after {
	-webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background: #333;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	content: "";
	display: inline-block;
	height: 1.2rem;
	transition: all 0.2s;
	width: 1rem;
}

/* hover */

.c-cta__btn.--contact:hover {
	background: #fff;
	color: #FBD039;
	opacity: 1;
}

.c-cta__btn.--contact:hover::after {
	background: #fbd039;
}

.c-cta__btn.--request:hover {
	background: #F15C90;
	color: #fff;
	opacity: 1;
}

.c-cta__btn.--request:hover::after {
	background: #fff;
}

/*
 * c-hamburger
 * -------------------------------------------------------------
 */

.c-hamburger {
	display: none;
	gap: 1.8rem 0;
	height: 5rem;
	position: relative;
	width: 6rem;
	z-index: 10;
}

.c-hamburger span {
	background: #f15c90;
	border-radius: 0.2rem;
	display: block;
	height: 0.4rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	transition: all 0.2s;
	width: 100%;
}

.c-hamburger span:nth-child(1) {
	top: 5%;
}

.c-hamburger span:nth-child(2) {
	transform: translate(-50%, -50%);
}

.c-hamburger span:nth-child(3) {
	top: 90%;
}

.c-hamburger span.is-active:nth-child(1) {
	top: 50%;
	transform: translate(-50%, -50%) rotate(-40deg);
}

.c-hamburger span.is-active:nth-child(2) {
	opacity: 0;
}

.c-hamburger span.is-active:nth-child(3) {
	top: 50%;
	transform: translate(-50%, -50%) rotate(40deg);
}

/*
 * c-sec-ttl
 * -------------------------------------------------------------
 */

.c-secttl {
	font-size: 3.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.44;
	text-align: center;
}

.c-secttl.--left {
	text-align: left;
}

/*
 * u-pc
 * -------------------------------------------------------------
 */

.u-pc {
	display: block;
}

/*
 * u-sp
 * -------------------------------------------------------------
 */

.u-sp {
	display: none;
}

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

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

.about-detail {
	padding: 10rem 0 7rem;
}

.about-detail__inner {
	max-width: 127.1rem;
	position: relative;
}

.about-detail__inner::before {
	background: url(./../images/about_detail_obj.webp) no-repeat center/100%;
	content: "";
	display: block;
	height: 45.9rem;
	left: -9rem;
	position: absolute;
	top: -4.3rem;
	width: 56.4rem;
}

.about-detail__cont {
	align-items: flex-end;
	display: flex;
	gap: 0 3.6rem;
	margin-top: -4.2rem;
}

.about-detail__txtarea {
	border: 1px solid #F15C90;
	flex: 1;
	padding: 3rem 1rem 2.9rem 4.1rem;
}

.about-detail__txt {
	color: #000;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 3.11;
}

.about-detail__txt .color {
	color: #F15C90;
}

.about-detail__txt .highlight {
	border-bottom: 1rem solid rgba(255, 223, 113, 0.66);
	display: inline-block;
	line-height: 1;
}

.about-detail__img {
	max-width: 22.8rem;
	width: 100%;
}

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

.about-top {
	padding: 8.9rem 0 10rem;
	position: relative;
}

.about-top__inner {
	max-width: 122rem;
}

.about-top:before {
	background: url(./../images/about_obj_right01.webp) no-repeat center/100%;
	bottom: 0;
	content: "";
	display: block;
	height: 44rem;
	max-width: 23rem;
	position: absolute;
	right: -0.7rem;
	width: 100%;
}

.about-top:after {
	background: url(./../images/about_obj_right02.webp) no-repeat center/100%;
	bottom: 0;
	content: "";
	display: block;
	height: 26.2rem;
	max-width: 38rem;
	position: absolute;
	right: 0;
	width: 100%;
}

.about-top__cont {
	display: flex;
	gap: 0 19.6rem;
	max-width: 109.2rem;
}

.about-top__img {
	max-width: 22.7rem;
	position: relative;
}

.about-top__img::before {
	background: url(./../images/about_obj_left02.webp) no-repeat center/100%;
	content: "";
	display: block;
	height: 50rem;
	left: -10.2rem;
	position: absolute;
	top: 4.5rem;
	width: 42rem;
	z-index: -1;
}

.about-top__obj {
	position: relative;
}

.about-top__txtarea {
	flex: 1;
	position: relative;
	top: -3rem;
}

.about-top__lead {
	color: #E52D6D;
	font-size: 3.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.44;
	margin-top: 5rem;
}

.about-top__lead span {
	display: block;
	position: relative;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1;
}

.about-top__lead span::after {
	background: rgba(255, 223, 113, 0.66);
	content: "";
	display: block;
	height: 1rem;
	position: relative;
	top: -1.1rem;
	width: 100%;
	z-index: -1;
}

.about-top__txt {
	color: #333333;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.44;
	margin-top: 3.4rem;
}

.about-top__tagline {
	background: #E06666;
	border-radius: 2rem;
	color: #FFFFFF;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.45;
	margin-top: 3.5rem;
	max-width: 47.5rem;
	padding: 1rem 3rem;
	text-align: center;
}

.about-top__footer {
	background: #F15C90;
	border-radius: 10rem;
	margin-left: 2.7rem;
	margin-top: 2.5rem;
	max-width: 69.9rem;
	padding: 1.5rem 2rem 2rem;
	position: relative;
	text-align: center;
}

.about-top__footer::before {
	color: #E52D6D;
	content: "“";
	display: inline-block;
	font-size: 12rem;
	font-weight: 700;
	left: -4rem;
	letter-spacing: 0.05em;
	position: absolute;
	top: -3.3rem;
}

.about-top__footer::after {
	bottom: -4.3rem;
	color: #E52D6D;
	content: "“";
	display: inline-block;
	font-size: 12rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	position: absolute;
	right: -3.7rem;
	transform: rotate(180deg);
}

.about-top__footer-txt {
	color: #FFE074;
	font-size: 3.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.44;
	text-align: center;
	text-shadow: 4px 4px 4px rgba(51, 51, 51, 0.2);
}

.about-top__footer-txt span {
	color: #FFFFFF;
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-shadow: none;
}

.about-top__footer-txt span:before {
	content: "/";
	display: inline-block;
	margin-right: 0.4em;
	transform: rotate(-37deg);
}

.about-top__footer-txt span:after {
	content: " /";
	display: inline-block;
	margin-left: 0.3em;
}

.about-top__obj {
	background: url(./../images/about_obj_left01.webp) no-repeat center/100%;
	content: "";
	display: block;
	height: 66rem;
	left: 0rem;
	position: absolute;
	top: -10rem;
	width: 25rem;
	z-index: -1;
}

/*
 * banner
 * -------------------------------------------------------------
 */

.banner {
	background: linear-gradient(96.41deg, #FF96BB 5.05%, #E22366 99.09%);
	margin-top: 13rem;
}

.banner__inner {
	align-items: center;
	display: flex;
	gap: 0 24.3rem;
	justify-content: space-between;
	max-width: 115rem;
	padding-bottom: 2rem;
	padding-top: 2rem;
	position: relative;
}

.banner__inner::before {
	background: url(./../images/banner_obj.webp) no-repeat center/100%;
	bottom: 1.3rem;
	content: "";
	display: block;
	height: 19.3rem;
	position: absolute;
	right: -14.3rem;
	width: 23.7rem;
}

.banner__img {
	left: 0;
	max-width: 30rem;
	position: absolute;
	top: -7.4rem;
}

.banner__box {
	align-items: center;
	background: #fff;
	border-radius: 2rem;
	box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	display: flex;
	flex-direction: column;
	margin-left: auto;
	margin-right: 3.5rem;
	max-width: 56.7rem;
	padding: 2rem 2rem 2.8rem;
	width: 100%;
}

.banner__logo {
	margin: 0 auto;
	max-width: 21.8rem;
}

.banner__txt {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2.22;
	margin-top: 1.8rem;
}

.banner__cta {
	align-items: center;
	margin: 1.7rem auto 0;
}

/*
 * faq
 * -------------------------------------------------------------
 */

.faq {
	background: #f9ebeb;
	padding: 10rem 0;
}

.faq__inner {
	max-width: 122rem;
}

.faq__items {
	display: flex;
	flex-direction: column;
	gap: 1.4rem 0;
	margin-top: 10rem;
}

.faq__item {
	background: #FFFFFF;
	border-radius: 2rem;
	box-shadow: 2px 4px 12px rgba(51, 51, 51, 0.2);
	padding: 3.5rem 11rem;
}

.faq__ttl {
	align-items: center;
	display: flex;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.25em;
	line-height: 1.66;
}

.faq__item.open .faq__ttl {
	padding-bottom: 3.5rem;
}

.faq__ttl::before {
	color: #FBD039;
	content: "Q.";
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.5;
	margin-right: 2rem;
}

.faq__btn {
	background: #f15c90;
	border-radius: 50%;
	cursor: pointer;
	display: inline-block;
	height: 2.2rem;
	margin-left: auto;
	position: relative;
	width: 2.2rem;
}

.faq__btn::before {
	-webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
	background: #fff;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	content: "";
	display: inline-block;
	height: 0.84rem;
	left: 53%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.2s;
	width: 0.7rem;
}

.faq__item.open .faq__btn::before {
	-webkit-clip-path: none;
	background: #fff;
	clip-path: none;
	content: "";
	display: inline-block;
	height: 4px;
	left: 50%;
	width: 1rem;
}

.faq__content {
	align-items: center;
	border-top: 1px solid #333333;
	display: flex;
	display: none;
	font-size: 1.8rem;
	gap: 0 2rem;
	letter-spacing: 0.25em;
	line-height: 1.66;
	padding-top: 3.5rem;
}

.faq__item.open .faq__content {
	display: flex;
}

.faq__content::before {
	color: #F15C90;
	content: "A.";
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.5;
}

.faq__content a {
	-webkit-text-decoration: underline;
	color: #F15C90;
	display: inline-block;
	font-weight: 700;
	text-decoration: underline;
}

.faq__content a::after {
	background: url(./../images/faq_link.webp) no-repeat center/100%;
	content: "";
	display: inline-block;
	height: 1.33rem;
	margin: 0 0.5rem 0 0.3rem;
	width: 1.33rem;
}

/*
 * flow
 * -------------------------------------------------------------
 */

.flow {
	padding: 10rem 0 11.3rem;
	position: relative;
}

.flow::before {
	background: url(./../images/flow_obj_right01.webp) no-repeat center/100%;
	bottom: 27rem;
	content: "";
	display: block;
	height: 26.5rem;
	position: absolute;
	right: 0;
	width: 17.5rem;
	z-index: -1;
}

.flow__inner {
	max-width: 125.1rem;
	position: relative;
}

.flow__inner::before {
	background: url(./../images/flow_obj_right02.webp) no-repeat center/100%;
	bottom: -1rem;
	content: "";
	display: block;
	height: 33.2rem;
	position: absolute;
	right: -8.5rem;
	width: 32.5rem;
}

.flow__items {
	grid-gap: 0 1.3rem;
	display: grid;
	gap: 0 1.3rem;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 10rem;
}

.flow__item {
	position: relative;
}

.flow__item:last-child::after {
	display: none;
}

.flow__item-head {
	background: #fff;
	border: 4px solid #F15C90;
	border-radius: 50%;
	height: 25rem;
	margin: 0 auto;
	max-width: 25rem;
	padding: 3.5rem 4rem 4.9rem;
}

.flow__num {
	display: block;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.66;
	text-align: center;
	text-align: center;
	text-transform: uppercase;
}

.flow__item-head img {
	margin: 1.6rem auto 0;
	max-width: 16.4rem;
}

.flow__item-body {
	background: #f15c90;
	border-radius: 4rem;
	margin-top: -2rem;
	padding: 3.4rem;
	text-align: center;
	width: 100%;
}

.flow__ttl {
	color: #FFFFFF;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.45;
}

.flow__cta {
	align-items: center;
	margin-top: 8rem;
	width: 100%;
}

.flow__obj {
	background: url(./../images/flow_obj_left.webp) no-repeat center/100%;
	height: 35.1rem;
	height: 33.5rem;
	left: 0;
	max-width: 18rem;
	max-width: 22.5rem;
	position: absolute;
	top: 1.5rem;
	width: 100%;
	z-index: -1;
}

/*
 * footer
 * -------------------------------------------------------------
 */

.footer {
	background: #333;
}

.footer__inner {
	align-items: center;
	display: flex;
	gap: 0 3.5rem;
	max-width: 122rem;
	padding-bottom: 1.5rem;
	padding-top: 3.5rem;
}

.dooter__logo {
	max-width: 9.4rem;
}

.footer__nav {
	flex: 1;
	max-width: 59rem;
}

.footer__nav-items {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0;
}

.footer__nav-item a {
	align-items: center;
	color: #FFFFFF;
	display: flex;
	letter-spacing: 0.12em;
	line-height: 1.875;
}

.footer__nav-item a::after {
	background: #fff;
	content: "";
	display: inline-block;
	height: 1rem;
	margin: 0 3rem;
	width: 1px;
}

.footer__nav-item:last-child a::after {
	display: none;
}

.footer__nav-item:nth-child(1) a,
.footer__nav-item:nth-child(4) a,
.footer__nav-item:nth-child(7) a {
	padding-left: 0;
}

.footer__cta {
	margin-left: auto;
	max-width: 25.6rem;
	width: 100%;
}

.footer__cta .c-cta__btn {
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 2.1;
	padding: 1.34rem 3.6rem 1.34rem 2.2rem;
}

.footer__cta .c-cta__btn::after {
	height: 0.85rem;
	width: 0.8rem;
}

.footer__link {
	color: #FFFFFF;
	display: flex;
	font-size: 0.6rem;
	gap: 0 1rem;
	letter-spacing: 0.11em;
	line-height: 1.66;
	margin: 0 auto;
	max-width: 144rem;
	padding: 0 1.5rem;
	padding-bottom: 1.2rem;
}

.footer__link-item {
	display: flex;
	gap: 0 1em;
}

.footer__coptright {
	background: #fff;
	color: #333333;
	letter-spacing: 0.12em;
	line-height: 1.875;
	margin: 0 calc(50% - 50vw);
	padding: 2.1rem;
	text-align: center;
}

/*
 * header
 * -------------------------------------------------------------
 */

.header {
	background: #fff;
	height: 8rem;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 10;
}

.header__inner {
	align-items: center;
	display: flex;
	height: 100%;
	margin: 0 auto;
	max-width: 122rem;
	padding: 0 2rem;
}

.header__logo {
	max-width: 7.1rem;
}

.header__cta {
	display: flex;
	flex: 1;
	gap: 0 2rem;
	justify-content: flex-end;
	margin-left: 15rem;
	text-align: center;
}

.header__cta-btn {
	border: 1px solid #F15C90;
	border-radius: 80px;
	box-shadow: 2px 4px 4px rgba(51, 51, 51, 0.25);
	line-height: 1.43;
	padding: 1.6rem 3rem;
}

.header__cta-btn.--request {
	background: #fff;
	max-width: 12.8rem;
	width: 100%;
}

.header__cta-btn.--contact {
	background: #FBD039;
	max-width: 23.2rem;
	width: 100%;
}

/*
 * mv
 * -------------------------------------------------------------
 */

.mv {
	background: linear-gradient(96.88deg, #F8D4E1 -21.72%, #FF96BB 17.52%, #E22366 99.03%);
	padding: 4.8rem 0 6rem;
}

.mv__inner {
	align-items: flex-end;
	display: flex;
	height: 100%;
	justify-content: space-between;
	max-width: 122rem;
}

.mv__detail {
	flex: 1;
}

.mv__head-txt {
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.45;
}

.mv__head-txt::after {
	background: url(./../images/mv_txt_object.webp) no-repeat center/100%;
	content: "";
	display: block;
	height: 1.7rem;
	margin: 0 auto;
	max-width: 17.9rem;
	width: 100%;
}

.mv__lead {
	color: #FFFFFF;
	font-size: 4.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.33;
	text-transform: uppercase;
}

.mv__lead .highlight01 {
	display: flex;
}

.mv__lead em {
	align-items: center;
	background: #fff;
	border-radius: 5px;
	color: #CD3659;
	display: grid;
	font-size: 4.8rem;
	font-style: normal;
	font-weight: 700;
	height: 8.2rem;
	justify-items: center;
	line-height: 1.66;
	margin: 1.2rem 0;
	padding: 1px 1.2rem;
	place-items: center;
}

.mv__lead em:nth-of-type(2) {
	margin-left: 4.1rem;
	position: relative;
}

.mv__lead em:nth-of-type(2)::before {
	align-items: center;
	color: #FFF;
	content: "x";
	display: flex;
	display: inline-block;
	font-size: 3.2rem;
	font-weight: 500;
	left: -3rem;
	letter-spacing: 0.05em;
	line-height: 1.875;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.mv__txt {
	line-height: 1.875;
	margin-top: 2.4rem;
}

.mv__txt span {
	display: inline-block;
}

.mv__cta {
	margin-top: 2.4rem;
}

.mv__img {
	flex: 1;
	max-width: 46.4rem;
	position: relative;
	top: 3.6rem;
}

.mv__img-set {
	align-items: flex-end;
	display: flex;
	position: relative;
}

.mv__img-01 {
	left: 0;
	max-width: 20.1rem;
	position: absolute;
}

.mv__img-02 {
	margin-left: auto;
	max-width: 29rem;
}

.mv__logo {
	display: none;
	left: 0;
	max-width: 17.4rem;
	position: absolute;
	top: 3.3rem;
	width: 100%;
}

.mv__logo-line {
	max-width: 6.4rem;
}

.mv__logo-beauty {
	max-width: 11rem;
}

/*
 * nav
 * -------------------------------------------------------------
 */

.nav {
	margin-left: 6rem;
}

.nav.is-active {
	transform: translateX(0);
}

.nav__items {
	display: flex;
	gap: 0 2.8rem;
}

.nav__item a {
	letter-spacing: 0.12em;
	line-height: 1.875;
	transition: all 0.3s;
}

.nav__item a:hover {
	-webkit-text-decoration: underline;
	color: #F15C90;
	opacity: 1;
	text-decoration: underline;
}

/*
 * plan
 * -------------------------------------------------------------
 */

.plan {
	background: #fffbfb;
	padding: 10rem 0;
}

.plan__inner {
	max-width: 106.9rem;
}

.plan__body {
	margin-top: 10rem;
	position: relative;
}

.plan__label {
	color: #E4296A;
	display: block;
	font-size: 1.8rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	line-height: 1.66;
	max-width: 25.5rem;
	position: absolute;
	right: 0;
	text-align: center;
	top: -3.1rem;
	width: 100%;
}

.plan__body::before {
	background: url(./../images/plan_img.webp) no-repeat center/100%;
	content: "";
	display: inline-block;
	height: 25.2rem;
	left: 0;
	position: absolute;
	top: -24.9rem;
	width: 27.3rem;
}

.plan__table {
	width: 100%;
}

.plan__table tr:last-child th,
.plan__table tr:last-child td {
	border-bottom: none;
}

.plan__table,
.plan__table td,
.plan__table th {
	border: 3px solid #fff;
	border-collapse: collapse;
	text-align: center;
}

.plan__table th,
.plan__table td {
	vertical-align: middle;
	width: 25%;
}

.plan__table th {
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.25em;
	line-height: 1.66;
}

.plan__table .space {
	background: #e4296a;
}

.plan__table-col {
	background: #fedc74;
	height: 10rem;
}

.plan__table-col span {
	background: #fff;
	border-radius: 1rem;
	display: inline-block;
	padding: 1rem 2rem;
}

.plan__table-row {
	background: #ff97bc;
	color: #fff;
	height: 11.2rem;
}

.plan__table td {
	background: #fee5e5;
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.81;
}

/*
 * problem
 * -------------------------------------------------------------
 */

.problem {
	background: #f1edea;
	padding: 10rem 0 7.8rem;
}

.problem__inner {
	max-width: 96.2rem;
}

.problem__sec-ttl {
	left: 5.2rem;
	position: relative;
}

.problem__sec-ttl span:nth-child(n+2) {
	display: inline-block;
	font-size: 4.8rem;
}

.problem__sec-ttl span:not(:nth-child(1)):before {
	background: #f15c90;
	border-radius: 50%;
	content: "";
	display: block;
	height: 1.3rem;
	margin: 0 auto;
	position: relative;
	top: 0.3rem;
	width: 1.3rem;
}

.problem__sec-ttl span:nth-child(1),
.problem__sec-ttl span:nth-child(4) {
	letter-spacing: 0.2em;
}

.problem__cont {
	align-items: center;
	display: flex;
	gap: 0 7rem;
	margin-top: 1.5rem;
}

.problem__img {
	max-width: 26.9rem;
}

.problem__body {
	flex: 1;
}

.problem__items {
	display: flex;
	flex-direction: column;
	gap: 1.2rem 0;
}

.problem__item {
	align-items: center;
	background: #fff;
	background: #fff;
	border-radius: 4rem;
	display: flex;
	font-size: 1.6rem;
	font-weight: 500;
	gap: 0 2.4rem;
	letter-spacing: 0.12em;
	line-height: 1.875;
	padding: 0.7rem 4rem;
}

.problem__item::before {
	background: url(./../images/check.webp) no-repeat center/100%;
	content: "";
	display: inline-block;
	height: 1.7rem;
	width: 2.2rem;
}

/*
 * resv-flow
 * -------------------------------------------------------------
 */

.resv-flow {
	padding: 10rem 0;
}

.resv-flow__head {
	text-align: center;
}

.resv-flow__txt {
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	line-height: 1.66;
	margin-top: 5rem;
}

.resv-flow__body {
	margin: 15rem calc(50% - 50vw) 0;
}

.resv-flow__slider {
	margin: 0 auto;
	width: 100%;
}

.resv-flow__slider .slick-list {
	overflow: visible;
}

.resv-flow__slider .slick-track {
	align-items: center;
	display: flex;
	justify-content: center;
}

.resv-flow__slider img {
	width: 100%;
}

.resv-flow__slider .slick-slide {
	height: auto !important;
	margin-left: 3.25rem !important;
	margin-right: 3.25rem !important;
}

.resv-flow__slider .slick-slide {
	transform: scale(0.9);
	transition: transform 1s;
}

.resv-flow__slider .slick-slide.slick-active {
	transform: scale(1.2);
}

.slick-dots {
	display: flex;
	gap: 0 1.5rem;
	justify-content: center;
	margin-top: 9.2rem;
}

.slick-dots li {
	background: #fff;
	border: 1px solid #F15C90;
	border-radius: 50%;
	cursor: pointer;
	height: 1.7rem;
	width: 1.7rem;
}

.slick-dots button {
	position: relative;
	text-indent: -9999px;
}

.slick-dots .slick-active {
	background: #F15C90;
}

/*
 * service
 * -------------------------------------------------------------
 */

.service {
	padding: 10rem 0;
}

.service__inner {
	max-width: 120.3rem;
}

.service__items {
	grid-gap: 4.6rem 3.3rem;
	display: grid;
	gap: 4.6rem 3.3rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 8rem;
}

.service__item {
	display: flex;
	flex-direction: column;
}

.service__img {
	margin: 0 auto;
	max-width: 18.5rem;
	position: relative;
	position: relative;
	top: 2rem;
}

.service__desc {
	background: #FFF0EF;
	border-radius: 4rem;
	height: 100%;
	padding: 3.6rem 1rem 2.4rem;
	text-align: center;
}

.service__ttl {
	color: #F15C90;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.45;
}

.service__txt {
	letter-spacing: 0.08em;
	line-height: 1.875;
	padding-top: 1.2rem;
}

.service__item:first-child .service__img::before {
	background: url(./../images/line_icon.webp) no-repeat center/100%;
	content: "";
	display: block;
	height: 7.4rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 7.4rem;
}

/*
 * solution
 * -------------------------------------------------------------
 */

.solution {
	background: #fff0ef;
	padding: 10rem 0;
}

.solution__inner {
	max-width: 112rem;
}

.solution__items {
	grid-gap: 0 6.5rem;
	display: grid;
	gap: 0 6.5rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 10rem;
}

.solution__img {
	margin: 0 auto;
	max-width: 33rem;
}

.solution__body {
	margin-top: 3.5rem;
	text-align: center;
}

.solution__ttl {
	background: #F15C90;
	border-radius: 1rem;
	color: #FFFFFF;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.45;
	text-align: center;
}

.solution__txt {
	letter-spacing: 0.08em;
	line-height: 1.875;
	padding-top: 2rem;
}

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

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

}

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

.l-inner {
	padding: 0 1rem;
}

.banner__inner {
	padding-bottom: 2rem;
	padding-top: 2rem;
}

}

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

html {
	font-size: 1.333333333vw;
}

body {
	font-weight: 500;
}

.l-inner {
	padding: 0 2rem;
}

.c-cta {
	align-items: center;
	gap: 2.1rem 0;
}

.c-cta__btn {
	border-radius: 4rem;
	border-width: 0.4rem;
	box-shadow: 0.2rem 0.3rem 0.2rem rgba(0, 0, 0, 0.168627451);
	font-size: 2.7rem;
	line-height: 1.2;
	max-width: 64.1rem;
	padding: 1.9rem 4.8rem 2rem 13.8rem;
}

.c-cta__btn::after {
	height: 1.7rem;
	width: 1.5rem;
}

.c-cta.--lg {
	gap: 3.2rem 0;
}

.c-cta.--lg .c-cta__btn {
	border-radius: 6rem;
	border-width: 0.6rem;
	box-shadow: 0.3rem 0.5rem 0.3rem rgba(0, 0, 0, 0.168627451);
	font-size: 3.9rem;
	letter-spacing: 0.07em;
	line-height: 1.2;
	padding: 3.2rem 7.4rem 3.2rem 5rem;
}

.c-cta.--lg .c-cta__btn::after {
	height: 2.3rem;
	width: 2rem;
}

.c-cta.--sm .c-cta__btn {
	font-size: 2.4rem;
	line-height: 1.2;
	padding: 1.5rem 3.4rem 1.5rem 10.9rem;
}

.c-cta.--sm .c-cta__btn::after {
	height: 1.5rem;
	width: 1.3rem;
}

.c-hamburger {
	display: block;
}

.c-secttl {
	font-size: 4.5rem;
	line-height: 1.39;
}

.c-secttl.--left {
	text-align: center;
}

.u-pc {
	display: none;
}

.about-detail {
	padding: 8rem 0 0;
}

.about-detail__inner::before {
	display: none;
}

.about-detail__cont {
	display: block;
	margin: 5.55rem auto 0;
	max-width: 68rem;
	position: relative;
}

.about-detail__txtarea {
	border-width: 0.3rem;
	overflow: hidden;
	padding: 3.2rem 0 3.4rem 1.38rem;
	position: relative;
}

.about-detail__txtarea::before {
	background: url(./../images/about_detail_obj.webp) no-repeat center/100%;
	bottom: 0;
	bottom: -3rem;
	content: "";
	display: block;
	height: 46rem;
	left: -6.8rem;
	max-width: 58.4rem;
	position: absolute;
	width: 100%;
}

.about-detail__txt {
	font-feature-settings: "palt";
	font-size: 2.7rem;
	line-height: 1.62;
}

.about-detail__txt .highlight {
	border-width: 0.5rem;
	line-height: 1.65;
	line-height: 1;
}

.about-detail__txt .highlight.--space {
	margin-top: 1rem;
}

.about-detail__img {
	bottom: -1.7rem;
	max-width: 19rem;
	position: absolute;
	right: -1.8rem;
	transform: rotate(3deg);
}

.about-top {
	padding: 3.7rem 0 5.8rem;
}

.about-top__inner {
	max-width: 100%;
}

.about-top:before {
	height: 40rem;
	max-width: 22.4rem;
}

.about-top:after {
	bottom: 21.8rem;
	height: 23.4rem;
	max-width: 35.4rem;
	right: 6.2rem;
}

.about-top__cont {
	flex-wrap: wrap;
	gap: 0 2.1rem;
	max-width: 69rem;
}

.about-top__img {
	margin-top: 6rem;
	max-width: 25.1rem;
	order: 2;
}

.about-top__img::before {
	display: none;
}

.about-top__txtarea {
	display: contents;
}

.about-top__sec-ttl {
	order: 1;
	width: 100%;
}

.about-top__body {
	flex: 1;
	margin-top: 6rem;
	max-width: 414rem;
	order: 3;
}

.about-top__lead {
	font-size: 3.8rem;
	margin-top: -2rem;
}

_::-webkit-full-page-media,
_:future,
:root .about-top__lead {
	font-size: 3.7rem;
}

.about-top__lead span::after {
	height: 0.5rem;
	max-width: 28.4rem;
}

.about-top__lead span::before {
	background: rgba(255, 223, 113, 0.66);
	bottom: -4.7rem;
	content: "";
	display: block;
	height: 0.5rem;
	position: relative;
	width: 100%;
	z-index: -1;
}

.about-top__txt {
	font-size: 1.3rem;
	line-height: 1.6;
	margin-top: 3rem;
	text-align: center;
}

.about-top__tagline {
	border-radius: 1.5rem;
	font-size: 1.7rem;
	margin: 0.3rem auto 0;
	max-width: 33.8rem;
	padding: 1rem;
}

.about-top__footer {
	border-radius: 5.6rem;
	box-shadow: 0.2rem 0.3rem 0.2rem rgba(0, 0, 0, 0.168627451);
	margin-left: 0;
	margin-top: 7rem;
	max-width: 100%;
	padding: 2.4rem 3rem;
}

.about-top__footer::before {
	left: -1rem;
	top: -4.8rem;
}

.about-top__footer::after {
	bottom: -4.9rem;
	right: -1rem;
}

.about-top__footer-txt {
	font-size: 3.9rem;
	line-height: 1;
	text-shadow: none;
}

.about-top__footer-txt span {
	font-size: 1.8rem;
	letter-spacing: 0.04em;
	line-height: 1;
	margin-bottom: 0.7rem;
}

.about-top__obj {
	background: url(./../images/sp_about_obj_left.webp) no-repeat center/100%;
	height: 137.5rem;
	left: -20.7rem;
	top: -19.2rem;
	width: 73rem;
}

.banner {
	margin-top: 0;
}

.banner__inner {
	display: block;
	padding-bottom: 7.7rem;
	padding-top: 9.5rem;
}

.banner__inner::before {
	display: none;
}

.banner__img {
	left: 8.2rem;
	max-width: 20.4rem;
	top: 3.2rem;
	z-index: 1;
}

.banner__box {
	box-shadow: 0.2rem 0.3rem 0.2rem rgba(0, 0, 0, 0.168627451);
	margin: 0 auto;
	max-width: 65.2rem;
	padding: 4.8rem 2rem 3.4rem;
	position: relative;
}

.banner__box::before {
	background: url(./../images/sp_banner_obj.webp) no-repeat center/100%;
	content: "";
	display: block;
	height: 24.5rem;
	max-width: 23.3rem;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.banner__head {
	left: 1.4rem;
	margin-left: auto;
	max-width: 39.5rem;
	position: relative;
}

.banner__logo {
	margin: 0 auto 0 1rem;
	max-width: 35.6rem;
}

.banner__txt {
	font-size: 2.7rem;
	line-height: 1.4;
	text-align: center;
}

_::-webkit-full-page-media,
_:future,
:root .banner__txt {
	font-size: 2.6rem;
}

.banner__cta {
	margin-top: 7.7rem;
	max-width: 56.8rem;
}

.faq {
	padding: 6.9rem 0 6rem;
}

.faq__inner {
	max-width: 64.2rem;
}

.faq__items {
	gap: 2.5rem 0;
	margin-top: 3.7rem;
}

.faq__item {
	border: 0.4rem solid #F15C90;
	border-radius: 0.9rem;
	box-shadow: 0.2rem 0.3rem 0.2rem rgba(0, 0, 0, 0.168627451);
	padding: 3rem 1.6rem 2.6rem;
}

.faq__ttl {
	font-feature-settings: "palt";
	font-size: 2.1rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.54;
}

.faq__item.open .faq__ttl {
	padding-bottom: 2rem;
}

.faq__ttl::before {
	line-height: 1.54;
	margin-right: 2.4rem;
}

.faq__btn {
	height: 2.7rem;
	width: 2.7rem;
}

.faq__btn::before {
	height: 1.2rem;
	width: 1.1rem;
}

.faq__item.open .faq__btn::before {
	height: 0.2rem;
	width: 1.1rem;
}

.faq__content {
	font-size: 2.1rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.54;
	padding-top: 2.35rem;
}

.faq__content::before {
	line-height: 1.54;
	margin-right: 2.4rem;
}

.faq__content a::after {
	height: 2.1rem;
	margin: 0 0.6rem;
	width: 2.1rem;
}

.flow {
	padding: 12rem 0 9.7rem;
}

.flow::before {
	background: url(./../images/sp_flow_obj_right.webp) no-repeat center/100%;
	bottom: -20.9rem;
	height: 58.8rem;
	right: -13rem;
	width: 58.5rem;
}

.flow__inner::before {
	display: none;
}

.flow__items {
	gap: 6.4rem 0;
	grid-template-columns: repeat(1, 1fr);
	margin-top: 5rem;
}

.flow__item::after {
	-webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
	background: #fee5e5;
	bottom: -5rem;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	content: "";
	display: block;
	height: 3.2rem;
	left: 54%;
	position: absolute;
	transform: translateX(-50%);
	width: 3.7rem;
}

.flow__item-head {
	align-items: center;
	border-width: 0.5rem;
	display: grid;
	height: 19rem;
	justify-items: center;
	left: -0.5rem;
	padding: 0;
	place-items: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 19rem;
}

.flow__num {
	color: #FBD039;
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.39;
}

.flow__item-head img {
	margin: 0 auto;
	max-width: 15.5rem;
}

.flow__item-body {
	border: 0.4rem solid #F15C90;
	border-radius: 5.2rem;
	box-shadow: 0.2rem 0.3rem 0.2rem rgba(0, 0, 0, 0.168627451);
	flex: 1;
	height: 10.3rem;
	margin: 0 auto;
	max-width: 62.6rem;
	overflow: hidden;
	padding: 0;
	padding-right: 13.7rem;
	width: 100%;
}

.flow__item-inner {
	margin-left: auto;
	max-width: 26.5rem;
}

.flow__ttl {
	font-size: 3.9rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.39;
}

.flow__cta {
	margin-top: 10.2rem;
}

.flow__obj {
	height: 34.5rem;
	max-width: 27.5rem;
	top: -8.5rem;
}

.footer__inner {
	flex-direction: column;
	gap: 3.95rem 0;
	max-width: 68.2rem;
	padding-bottom: 6.2rem;
	padding-top: 3.9rem;
}

.dooter__logo {
	margin: 0 auto;
	max-width: 44.2rem;
}

.footer__nav {
	max-width: 50rem;
}

.footer__nav-items {
	gap: 3rem 0;
	justify-content: flex-start;
}

.footer__nav-item a {
	font-size: 2.5rem;
	font-weight: 400;
	padding: 0;
}

.footer__nav-item a::after {
	height: 2.7rem;
	margin: 0 4rem;
	right: auto;
	width: 0.2rem;
}

.footer__nav-item.--noborder a::after {
	display: none;
}

.footer__cta {
	margin-top: 2.2rem;
	max-width: 100%;
}

.footer__cta .c-cta__btn {
	border-radius: 4rem;
	border-width: 0.4rem;
	box-shadow: 0.2rem 0.3rem 0.2rem rgba(0, 0, 0, 0.168627451);
	font-size: 2.7rem;
	line-height: 1.2;
	max-width: 64.1rem;
	padding: 1.9rem 4.8rem 2rem 13.8rem;
}

.footer__cta .c-cta__btn::after {
	height: 1.7rem;
	width: 1.5rem;
}

.footer__coptright {
	font-size: 2.1rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	line-height: 1.2;
	padding: 2.3rem;
}

.header {
	height: 9.345rem;
}

.header__inner {
	justify-content: space-between;
	padding: 0 2.5rem;
}

.header__logo {
	max-width: 7.3rem;
}

.mv {
	background: linear-gradient(90deg, rgb(253, 171, 200) 0%, rgb(228, 44, 107) 100%);
	padding: 4.75rem 0 6.25rem;
	position: relative;
}

.mv::before {
	background: url(./../images/sp_mv_obj.webp) no-repeat center/100%;
	content: "";
	display: block;
	height: 67.2rem;
	position: absolute;
	top: 50.5rem;
	width: 82.2rem;
}

.mv__inner {
	flex-direction: column;
	max-width: 73.7rem;
}

.mv__detail {
	display: contents;
}

.mv__head {
	order: 1;
	position: relative;
	width: 100%;
}

.mv__head-txt {
	font-size: 2.5rem;
	line-height: 1.2;
}

.mv__lead {
	font-size: 6.3rem;
	line-height: 1.2;
}

.mv__lead .highlight {
	position: relative;
	z-index: 1;
}

.mv__lead .highlight::after {
	background: #FBD039;
	content: "";
	display: block;
	height: 1.3rem;
	opacity: 0.63;
	width: 100%;
}

.mv__lead .highlight01::after {
	bottom: 1.7rem;
	left: 50%;
	position: absolute;
	transform: translate(-50%);
	width: calc(100% + 1rem);
}

.mv__lead .highlight02::after {
	bottom: 1.7rem;
	bottom: 0.6rem;
	left: -0.5rem;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.mv__lead em {
	border-radius: 0.6rem;
	font-size: 5.9rem;
	height: 9.4rem;
	line-height: 1.2;
	margin: 2.47rem 0 2.56rem;
	padding: 0.1rem 2rem;
	position: relative;
	z-index: 1;
}

_::-webkit-full-page-media,
_:future,
:root .mv__lead em {
	font-size: 5.7rem;
}

.mv__lead em:nth-of-type(2) {
	margin-left: 5.5rem;
}

.mv__lead em:nth-of-type(2)::before {
	font-size: 3.7rem;
	left: -3.8rem;
}

.mv__txt {
	font-size: 2.8rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 2.17;
}

.mv__txt span {
	color: #F15C90;
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 1.7;
	text-shadow: white 2px 0px 2px, white -2px 0px 2px, white 0px -2px 2px, white -2px 0px 2px, white 2px 2px 2px, white -2px 2px 2px, white 2px -2px 2px, white -2px -2px 2px, white 1px 2px 2px, white -1px 2px 2px, white 1px -2px 2px, white -1px -2px 2px, white 2px 1px 2px, white -2px 1px 2px, white 2px -1px 2px, white -2px -1px 2px, white 1px 1px 2px, white -1px 1px 2px, white 1px -1px 2px, white -1px -1px 2px;
}

.mv__txt span:nth-of-type(1) {
	margin: 0 0.5rem;
}

.mv__cta {
	margin-top: 7.5rem;
	order: 3;
	position: relative;
}

.mv__img {
	margin-right: 1.4rem;
	margin-top: -15rem;
	max-width: 42.9rem;
	order: 2;
}

.mv__logo {
	display: flex;
	left: auto;
	max-width: 19rem;
	right: 0;
	top: 7rem;
}

.nav {
	background: rgba(255, 255, 255, 0.96);
	border-radius: 2.3rem 0 2.3rem 2.3rem;
	max-width: 61.2rem;
	padding: 18.4rem 5rem 12.8rem 10.7rem;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateX(61.2rem);
	transition: all 0.6s;
	width: 100%;
	z-index: 1;
}

.nav__items {
	flex-direction: column;
	gap: 5.7rem 0;
}

.nav__item a {
	font-size: 3rem;
	line-height: 1.2;
}

.plan {
	background: #fff;
	padding: 18rem 0 0;
}

.plan__body {
	margin-top: 8rem;
}

.plan__label {
	font-size: 2.5rem;
	line-height: 1.2;
	max-width: 18.2rem;
	top: -4rem;
}

.plan__body::before {
	height: 18.8rem;
	left: 0.8rem;
	max-width: 21.4rem;
	top: -17.5rem;
}

.plan__table {
	border-bottom: none;
}

.plan__table,
.plan__table td,
.plan__table th {
	border-collapse: separate;
	border-right: none;
	border-spacing: 1rem 0;
	border-top: none;
	border-width: 1px;
	position: relative;
	right: 0.6rem;
	width: calc(100% + 2rem);
}

.plan__table th,
.plan__table td {
	width: auto;
}

.plan__table th {
	font-size: 1.5rem;
	line-height: 1.2;
}

.plan__table .space {
	height: 5.8rem;
	width: 14.6rem;
}

.plan__table-col {
	height: 5.8rem;
}

.plan__table-col span {
	border-radius: 0.8rem;
	padding: 1.4rem 1.7rem 1.1rem 1.7rem;
}

.plan__table-row {
	height: 6.45rem;
	width: 14.6rem;
}

.plan__table td {
	font-size: 1.9rem;
	letter-spacing: 0.06em;
	line-height: 1.2;
}

.problem {
	padding: 6rem 0 4.3rem;
}

.problem__sec-ttl {
	left: auto;
	margin: 0 calc(50% - 50vw);
}

.problem__sec-ttl span:nth-child(n+2) {
	font-size: 6.4rem;
}

.problem__sec-ttl span:nth-child(1),
.problem__sec-ttl span:nth-child(4) {
	letter-spacing: 0.05em;
}

.problem__cont {
	align-items: flex-start;
	flex-direction: column-reverse;
	gap: 0;
	margin: 5rem auto 0;
	max-width: 67.8rem;
}

.problem__img {
	margin-left: 2.7rem;
	margin-top: -2rem;
	max-width: 28.2rem;
	position: relative;
}

.problem__img::after {
	background: url(./../images/sp_problem_obj.webp) no-repeat center/100%;
	bottom: 11rem;
	content: "";
	display: block;
	height: 12rem;
	max-width: 18.5rem;
	position: absolute;
	right: -23.9rem;
	width: 100%;
}

.problem__item {
	font-size: 2.6rem;
	gap: 0 4.2rem;
	line-height: 1.44;
	padding: 1.7rem 2.8rem 1.7rem 4.65rem;
}

.problem__item::before {
	height: 2.8rem;
	width: 3.6rem;
}

.resv-flow {
	padding: 9rem 0 0;
}

.resv-flow__txt {
	font-size: 2.7rem;
	line-height: 1.4;
	margin-top: 3rem;
}

.resv-flow__body {
	margin-top: 16rem;
}

.resv-flow__slider .slick-slide {
	margin-left: 4.4rem !important;
	margin-right: 4.4rem !important;
}

.resv-flow__slider .slick-slide.slick-active {
	transform: scale(1.2);
}

.slick-dots {
	gap: 0 2.1rem;
	margin-top: 13rem;
}

.slick-dots li {
	height: 2.7rem;
	width: 2.7rem;
}

.service {
	padding: 13.3rem 0 8rem;
}

.service__inner {
	max-width: 69.2rem;
}

.service__items {
	gap: 5rem 6rem;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 5.4rem;
}

.service__img {
	max-width: 14.1rem;
	top: 1.8rem;
}

.service__desc {
	border-radius: 3rem;
	padding: 3.3rem 1rem 2.3rem;
}

.service__ttl {
	font-size: 1.8rem;
	line-height: 1.2;
}

.service__txt {
	font-size: 1.25rem;
	letter-spacing: 0.05em;
	line-height: 1.84;
}

.service__item:first-child .service__img::before {
	height: 5.4rem;
	width: 5.4rem;
}

.solution {
	padding: 11rem 0 7rem;
}

.solution__items {
	gap: 8.7rem 0;
	grid-template-columns: repeat(1, 1fr);
	margin-top: 6.2rem;
}

.solution__item {
	display: flex;
	flex-direction: column;
}

.solution__img {
	order: 2;
}

.solution__item:nth-child(1) .solution__img {
	margin-top: -2rem;
}

.solution__item:nth-child(2) .solution__img {
	margin-top: 1.4rem;
}

.solution__item:nth-child(3) .solution__img {
	margin-top: -1rem;
}

.solution__body {
	display: contents;
}

.solution__ttl {
	border-radius: 2.8rem;
	font-size: 3.7rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.29;
	margin: 0 auto;
	max-width: 39rem;
	order: 1;
	padding: 1rem;
	padding: 0.5rem;
	width: 100%;
}

.solution__txt {
	font-size: 2.8rem;
	letter-spacing: 0.05em;
	line-height: 1.4;
	order: 3;
	padding-top: 2.6rem;
}

}

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

.u-sp {
	display: block;
}

.mv__head-txt::after {
	height: 1.9rem;
	margin-top: 0.8rem;
	max-width: 18.5rem;
}

}

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

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

.about-top:after {
	bottom: 20rem;
}

.about-top__txt {
	font-size: 1.7rem;
}

.about-top__tagline {
	font-size: 2.2rem;
	max-width: 43rem;
	min-width: 40.8rem;
}

.about-top__footer {
	margin-top: 9rem;
}

.service {
	padding: 15rem 0 11rem;
}

.service__items {
	gap: 7rem;
	grid-template-columns: repeat(1, 1fr);
	margin-top: 8rem;
}

.service__img {
	max-width: 25rem;
	top: 3.2rem;
}

.service__desc {
	padding: 6.3rem 1rem 5.3rem;
}

.service__ttl {
	font-size: 3.8rem;
}

.service__txt {
	font-size: 2.7rem;
	padding-top: 2rem;
}

}


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