/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
	line-height: 1.15;
	/* 1 */
	-webkit-text-size-adjust: 100%;
	/* 2 */
	-webkit-tap-highlight-color: transparent;
	/* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
	margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
	font-weight: bold;
}

dd {
	margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	/* 1 */
	height: 0;
	/* 1 */
	overflow: visible;
	/* 2 */
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	/* 1 */
	font-size: inherit;
	/* 2 */
}

address {
	font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	text-decoration: underline dotted;
	/* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: inherit;
	/* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
	vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	/* 1 */
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
	text-align: inherit;
	text-transform: inherit;
	/* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
	-webkit-appearance: checkbox;
	appearance: checkbox;
}

[type=radio] {
	-webkit-appearance: radio;
	appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
	cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
	cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
	outline: auto;
}

select:disabled {
	opacity: inherit;
}

/**
 * Remove padding
 */
option {
	padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
}

legend {
	padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
	outline-offset: -2px;
	/* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}

/**
 * Clickable labels
 */
label[for] {
	cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
	outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
	border-color: inherit;
	/* 1 */
	border-collapse: collapse;
}

caption {
	text-align: left;
}

td,
th {
	vertical-align: top;
	padding: 0;
}

th {
	text-align: left;
	font-weight: bold;
}

:root {
	--vw: 1vw;
}

html {
	font-size: 62.5%;
}

@media screen and (max-width: 1100px) {
	html {
		font-size: 0.9090909091vw;
	}
}
@media screen and (max-width: 767px) {
	html {
		font-size: 2.5641025641vw;
	}
}
body {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	font-style: normal;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0;
	color: #0F0A14;
	line-break: strict;
	isolation: isolate;
	background: #fff;
}

@media screen and (max-width: 767px) {
	body {
		min-width: inherit;
	}
}
.js-preload * {
	-webkit-transition: none !important;
	-moz-transition: none !important;
	-o-transition: none !important;
	transition: none !important;
}

img {
	image-rendering: -webkit-optimize-contrast;
	image-orientation: none;
	width: 100%;
	height: auto;
}

.safari img {
	image-rendering: inherit;
}

/* mouseover
--------------------------------------------------*/
@media screen and (min-width: 1040.1px) {
	.over:hover {
		opacity: 0.6;
		transition: opacity 0.3s;
	}
}
label {
	cursor: pointer;
}

/* main
--------------------------------------------------*/
.f-wrap {
	max-width: 100rem;
	margin: 0 auto;
	/*
	@include deviceTABmin{
		padding: 0 2rem;
	}
	*/
}

@media screen and (max-width: 767px) {
	.f-wrap {
		width: auto;
		padding: 0 2.4rem;
	}
}
.simplebar-content-wrapper::-webkit-scrollbar {
	display: none;
}

/* link
--------------------------------------------------*/
a {
	color: #0F0A14;
	transition: 0.5s;
	will-change: transform, opacity;
}

a:link, a:active, a:visited {
	text-decoration: none;
}

a:focus {
	text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
	a:hover {
		text-decoration: none;
		opacity: 0.5;
	}
}
a[href*="tel:"] {
	pointer-events: none;
}

@media screen and (max-width: 767px) {
	a[href*="tel:"] {
		pointer-events: all;
	}
}
/* input
--------------------------------------------------*/
button {
	color: #0F0A14;
	transition: 0.5s;
	will-change: transform;
}

button:focus {
	text-decoration: none;
}

.f-main {
	padding-top: 7rem;
}
@media screen and (max-width: 767px) {
	.f-main {
		padding-top: 5.4rem;
	}
}

.l-header {
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	padding: 1.5rem 0;
	background-color: #fff;
	z-index: 100;
}

@media screen and (max-width: 767px) {
	.l-header {
		padding: 1rem 0;
	}
}
.l-header__wrap {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.l-header__wrap {
		padding: 0 1rem;
	}
}
.l-header__logo {
	width: 16.3rem;
}

@media screen and (max-width: 767px) {
	.l-header__logo {
		width: 12.2rem;
		line-height: 1;
	}
}
.l-header__btn {
	width: 27.2rem;
	height: 4rem;
	letter-spacing: 0.04em;
	font-weight: 500;
}

@media screen and (max-width: 767px) {
	.l-header__btn {
		width: 19.6rem;
		height: 3.4rem;
		font-size: 1.2rem;
	}
}
.l-header__btn a {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	background: #FFD000;
	width: 100%;
	height: 100%;
	border-radius: 2rem;
	position: relative;
}
.l-header__btn a::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.5rem 0 0.5rem 0.9rem;
	border-color: transparent transparent transparent #9333B5;
	margin-left: 0.7rem;
}

.p-float {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 25rem;
	padding: 1rem;
	background: #9333B5;
	z-index: 10;
}
.p-float a {
	display: block;
}

@media screen and (max-width: 767px) {
	.p-float {
		width: 100%;
		height: 8rem;
		padding: 0.7rem 2.4rem 1rem 2.4rem;
		background: #fff;
	}
}
@media screen and (max-width: 767px) {
	.p-float__img {
		display: none;
	}
}
.p-float__btn {
	margin: -1rem 0 0;
}

@media screen and (max-width: 767px) {
	.p-float__btn {
		margin: 0;
	}
}
.l-footer {
	background: linear-gradient(90deg, #9333B5 0%, #5B2DBC 100%);
	padding: 3.2rem 0 0;
}

@media screen and (max-width: 767px) {
	.l-footer {
		padding: 4rem 0 8rem;
	}
}
.l-footer__wrap {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	align-items: start;
	gap: 0 6rem;
}

@media screen and (max-width: 767px) {
	.l-footer__wrap {
		display: block;
		padding: 0 2.4rem 4rem;
	}
}
.l-footer__img {
	width: 22.6rem;
}

@media screen and (max-width: 767px) {
	.l-footer__img {
		display: none;
	}
}
.l-footer-content {
	width: 51.3rem;
}

@media screen and (max-width: 767px) {
	.l-footer-content {
		width: auto;
	}
}
.l-footer-content__pre {
	font-size: 2.6rem;
	line-height: 1;
	font-weight: 700;
	color: #fff;
	margin: 1.6rem 0 2.4rem;
}

@media screen and (max-width: 767px) {
	.l-footer-content__pre {
		font-size: 2.2rem;
		margin: 0rem 0 3rem;
	}
}
.l-footer-content__en {
	font-size: 2.3rem;
	line-height: 1;
	font-style: italic;
	font-weight: 700;
	color: #fff;
	margin: 0 0 1.2rem;
}

@media screen and (max-width: 767px) {
	.l-footer-content__en {
		font-size: 2rem;
	}
}
.l-footer-content__logo {
	max-width: 34.6rem;
}

@media screen and (max-width: 767px) {
	.l-footer-content__logo {
		max-width: 30rem;
	}
}
.l-footer-content__sub {
	font-size: 1.2rem;
	line-height: 1;
	font-weight: 500;
	color: #fff;
	margin: 1rem 0 0;
}

@media screen and (max-width: 767px) {
	.l-footer-content__sub {
		font-size: 1.3rem;
		margin: 2rem 0 0;
	}
}
.l-footer .c-btns {
	margin: 1.5rem 0 0;
}

@media screen and (max-width: 767px) {
	.l-footer .c-btns {
		justify-content: flex-start;
		gap: 0 1rem;
		margin: 1rem 0 0;
	}
}
.l-footer .c-btns__item {
	gap: 0 2.4rem;
}

@media screen and (max-width: 767px) {
	.l-footer .c-btns__item {
		gap: 0 1.6rem;
	}
}
@media screen and (max-width: 767px) {
	.l-footer .c-btns__item a img {
		height: 4.4rem;
	}
}

.l-footer__copy {
	color: #fff;
	text-align: center;
	background: #0F0A14;
	line-height: 1;
	font-size: 1.2rem;
	padding: 1.3rem 0;
}

@media screen and (max-width: 767px) {
	.l-footer__copy {
		font-size: 1.2rem;
		padding: 0.8rem 0;
	}
}
.c-heading {
	font-size: 3.4rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.3;
	padding-bottom: 2.6rem;
	position: relative;
}

@media screen and (max-width: 767px) {
	.c-heading {
		font-size: 3rem;
	}
}
.c-heading::after {
	content: "";
	width: 12rem;
	height: 0.6rem;
	background: linear-gradient(to right, #9A4AB6 0%, #9A4AB6 50%, #5B2DBC 50%, #5B2DBC 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.c-heading span {
	font-size: 4rem;
	background: linear-gradient(90deg, #9333B5 0%, #5B2DBC 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
}

.c-heading span.--txtN {
	font-size: 3.4rem;
	color: #9333B5;
}

@media screen and (max-width: 767px) {
	.c-heading span {
		font-size: 3.4rem;
	}
	.c-heading span.--txtN {
		font-size: 3rem;
	}
}
.c-btns {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 0 5.4rem;
	margin: 4.2rem 0 0;
}

@media screen and (max-width: 767px) {
	.c-btns {
		justify-content: center;
		gap: 0 2.5rem;
		margin: 2.3rem 0 0;
	}
}
.c-btns__item {
	display: flex;
	align-items: center;
	gap: 0 1rem;
}

.c-btns__item a {
	display: block;
}

.c-btns__item a img {
	width: auto;
	height: 4.4rem;
}

@media screen and (max-width: 767px) {
	.c-btns__item a img {
		height: 5rem;
	}
}
.c-btns__qr {
	width: 7rem;
}
@media screen and (max-width: 767px) {
	.c-btns__qr {
		display: none;
	}
}

/* --------------------------------------------------
  display
-------------------------------------------------- */
.u-sp {
	display: none;
}

@media screen and (min-width: 1040.1px) {
	.u-sp {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.u-sp {
		display: block;
	}
	.u-pc {
		display: none;
	}
}
/* --------------------------------------------------
  cleafix
-------------------------------------------------- */
.u-clearfix:after {
	display: block;
	clear: both;
	content: "";
}

/* --------------------------------------------------
  align
-------------------------------------------------- */
.u-alignL {
	text-align: left;
}

.u-alignC {
	text-align: center;
}

.u-alignR {
	text-align: right;
}

/* --------------------------------------------------
  margin
-------------------------------------------------- */
.u-mt10 {
	margin-top: 1rem;
}

.u-mt15 {
	margin-top: 1.5rem;
}

.u-mt20 {
	margin-top: 2rem;
}

.u-mt30 {
	margin-top: 3rem;
}

.u-mt40 {
	margin-top: 4rem;
}

.u-mt50 {
	margin-top: 5rem;
}

/* --------------------------------------------------
  padding
-------------------------------------------------- */
.-ratio16-9 {
	padding-top: 56.25%;
}

.-ratio4-3 {
	padding-top: 75%;
}

/* --------------------------------------------------
other
-------------------------------------------------- */
.u-bold {
	/*font-weight: 700;*/
}

.p-mv {
	background: url(../images/bg_mv.jpg) center center/cover no-repeat;
}

@media screen and (max-width: 767px) {
	.p-mv {
		background: url(../images/bg_mv_sp.jpg) center center/cover no-repeat;
		padding: 2.2rem 0 0;
	}
}
.p-mv__wrap {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.p-mv__wrap {
		flex-flow: column;
	}
}
.p-mv-ttl {
	font-weight: 800;
	font-size: 3.8rem;
	line-height: 1.5;
}

@media screen and (max-width: 767px) {
	.p-mv-ttl {
		font-size: 2.7rem;
		margin-right: -1rem;
	}
}
span.p-mv-ttl__one {
	color: #9333B5;
	font-size: 4rem;
	background: linear-gradient(90deg, #9333B5 0%, #5B2DBC 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
}

@media screen and (max-width: 767px) {
	span.p-mv-ttl__one {
		font-size: 3.3rem;
	}
}
.p-mv__img {
	width: 37.7rem;
	margin: 1.1rem 0 -3.3rem;
}

@media screen and (max-width: 767px) {
	.p-mv__img {
		width: 39rem;
		margin: 2.9rem -3rem 0;
	}
}
.p-mv-txt {
	font-weight: 500;
	line-height: 1.6;
	margin-top: 1.1rem;
}
@media screen and (max-width: 767px) {
	.p-mv-txt {
		font-size: 1.4rem;
	}
}

.p-about {
	padding: 9.7rem 0 8rem;
}
@media screen and (max-width: 767px) {
	.p-about {
		padding: 5rem 0 6.4rem;
	}
}
.p-about__inner {
	margin: 4rem 0 0;
}
.p-about-list {
	display: flex;
	justify-content: center;
	gap: 0 3.2rem;
	margin: 4rem 0 0;
}
@media screen and (max-width: 767px) {
	.p-about-list {
		flex-direction: column;
		align-items: center;
		gap: 2.4rem 0;
		margin: 3.6rem 0 0;
	}
}
.p-about-list__item {
	width: 31.2rem;
	text-align: center;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.4;
	padding: 1.8rem;
	background: linear-gradient(90deg, rgba(196, 139, 216, 0.02) 0%, rgba(196, 139, 216, 0.16) 100%), #F7F2F9;
	border-radius: 1rem;
}
@media screen and (max-width: 767px) {
	.p-about-list__item {
		padding: 1.2rem;
	}
}
.p-about-list__item span {
	background: linear-gradient(90deg, #9333B5 0%, #5B2DBC 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
}

.p-feature {
	padding: 6rem 0 3.2rem;
}

@media screen and (max-width: 767px) {
	.p-feature {
		padding: 4rem 0 0;
	}
}
.p-feature__pre {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	line-height: 1;
	width: 12rem;
	font-size: 2rem;
	font-weight: 700;
	background: linear-gradient(90deg, #9333B5 0%, #5B2DBC 100%);
	color: #fff;
	border-radius: 3rem;
	padding: 0.8rem 0;
	gap: 0 0.5rem;
	margin: 0 0 0.8rem;
}

@media screen and (max-width: 767px) {
	.p-feature__pre {
		width: 9.3rem;
		font-size: 1.8rem;
		padding: 0.3rem 0 0.5rem;
	}
}
.p-feature__pre span {
	font-size: 2.4rem;
}

@media screen and (max-width: 767px) {
	.p-feature__pre span {
		font-size: 2.2rem;
	}
}
.p-feature__ttl {
	font-size: 2.8rem;
	line-height: 1.4;
	font-weight: 700;
	border-bottom: 2px solid #E4BFF2;
	padding: 0 0 0.8rem;
	margin: 0 0 1.6rem;
}

@media screen and (max-width: 767px) {
	.p-feature__ttl {
		font-size: 2.4rem;
	}
}
.p-feature__ttl span {
	background: linear-gradient(90deg, #9333B5 0%, #5B2DBC 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
}

.p-feature-content {
	padding: 4.8rem 0;
}
.p-feature-content__inner {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 0 6rem;
}
.p-feature-content__inner.is-reverse {
	flex-flow: row-reverse;
}
@media screen and (max-width: 767px) {
	.p-feature-content__inner.is-reverse {
		flex-flow: column;
	}
}
.p-feature-content._02 {
	background-color: #F7F2F9;
}

@media screen and (max-width: 767px) {
	.p-feature-content__inner {
		flex-flow: column;
	}
}
.p-feature-content__detail {
	width: 75rem;
}

@media screen and (max-width: 767px) {
	.p-feature-content__detail {
		width: auto;
	}
}
._02 .p-feature-content__detail {
	/*width: 62rem;*/
	width: 62.4rem;
}

@media screen and (max-width: 767px) {
	._02 .p-feature-content__detail {
		width: auto;
	}
}
._03 .p-feature-content__detail {
	width: 56rem;
}

@media screen and (max-width: 767px) {
	._03 .p-feature-content__detail {
		width: auto;
	}
}
.p-feature-content__img {
	flex: 1;
	position: relative;
}

@media screen and (max-width: 767px) {
	.p-feature-content__img {
		margin: 4rem auto 0;
	}
	._01 .p-feature-content__img {
		width: 19rem;
	}
	._02 .p-feature-content__img {
		width: 31.8rem;
	}
	._03 .p-feature-content__img {
		width: 31.8rem;
	}
}
.p-feature-content__img .ai {
	position: absolute;
	top: -0.5rem;
	right: -0.5rem;
	width: 4rem;
	height: 4rem;
}

.p-feature-content__img-f5 {
	position: relative;
	width: 30rem;
	margin: 20px auto 0;
}

.p-start {
	background: #F7F2F9;
	padding: 5rem 0 6rem;
}

@media screen and (max-width: 767px) {
	.p-start {
		padding: 2rem 0;
	}
}
.p-start__movie {
	width: 60rem;
	height: 33.5rem;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.p-start__movie {
		width: 100%;
		height: auto;
		/*aspect-ratio: 6/4;*/
		aspect-ratio: 16/9;
		margin: 0;
	}
}
.p-start__movie iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.p-start__movie video {
	width: 100%;
	height: 100%;
	border: 0;
}

.p-method {
	padding: 4.8rem 0;
	background: #F7F2F9;
}

@media screen and (max-width: 767px) {
	.p-method {
		padding: 5rem 0;
	}
}
.p-method__inner {
	margin: 4rem 0 0;
}

@media screen and (max-width: 767px) {
	.p-method__inner {
		margin: 4rem 0 0;
	}
}
.p-method__img {
	display: block;
	width: 88rem;
	margin: 4rem auto 0;
}

@media screen and (max-width: 767px) {
	.p-method__img {
		width: calc(100% + 4.8rem);
		margin: 4rem -2.4rem 0;
	}
}
.p-pagelink {
	padding: 8rem 0;
}
@media screen and (max-width: 767px) {
	.p-pagelink {
		padding: 6.4rem 0 4.8rem;
	}
}
.p-pagelink-list {
	display: flex;
	justify-content: center;
	gap: 0 8rem;
}
@media screen and (max-width: 767px) {
	.p-pagelink-list {
		gap: 0 2rem;
	}
}
.p-pagelink-list__item {
	width: 46rem;
}
@media screen and (max-width: 767px) {
	.p-pagelink-list__item {
		width: auto;
		flex: 1;
	}
}
.p-pagelink-list__item a {
	display: block;
	padding: 1.6rem 1.6rem 3.2rem;
	border-radius: 1.6rem;
	position: relative;
}
@media screen and (max-width: 767px) {
	.p-pagelink-list__item a {
		padding: 1rem 1rem 2.3rem;
	}
}
.p-pagelink-list__item a::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.4rem 0.8rem 0 0.8rem;
	border-color: #FFD000 transparent transparent transparent;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.8rem;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.p-pagelink-list__item a::after {
		border-width: 1rem 0.6rem 0 0.6rem;
		bottom: 0.7rem;
	}
}
.p-pagelink-list__item._01 a {
	background-color: #0087D2;
}
.p-pagelink-list__item._02 a {
	background-color: #9333B5;
}
.p-pagelink-list__item .p-pagelink__ttl {
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 1;
	letter-spacing: 0.06em;
	font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
	.p-pagelink-list__item .p-pagelink__ttl {
		font-size: 1.6rem;
		line-height: 1.2;
	}
}
.p-pagelink-list__item .p-pagelink__ttl span {
	display: inline-block;
	vertical-align: 0.1rem;
	height: 2.4rem;
	margin-right: 1rem;
}
@media screen and (max-width: 767px) {
	.p-pagelink-list__item .p-pagelink__ttl span {
		display: block;
		height: 2rem;
		margin: 0 0 0.2rem;
	}
}
.p-pagelink-list__item .p-pagelink__ttl img {
	width: auto;
	height: 100%;
}
.p-pagelink-list__item .p-pagelink__txt {
	color: #fff;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.3;
	letter-spacing: 0.04em;
	margin-top: 1rem;
}

.c-linkbox {
	display: block;
	padding: 1.9rem 5rem 1.5rem;
	position: relative;
}
@media screen and (max-width: 767px) {
	.c-linkbox {
		padding: 1.3rem 2.4rem 1.1rem;
	}
}
.c-linkbox._01 {
	background: linear-gradient(90deg, #0087D2 0%, #0073B5 100%);
}
.c-linkbox._02 {
	background: linear-gradient(90deg, #9333B5 0%, #5B2DBC 100%);
	margin-top: 8rem;
}
.c-linkbox .c-linkbox__ttl {
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 3.2rem;
	line-height: 1;
	letter-spacing: 0.06em;
	font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
	.c-linkbox .c-linkbox__ttl {
		font-size: 2.2rem;
	}
}
.c-linkbox .c-linkbox__ttl span {
	display: inline-block;
	vertical-align: 0.1rem;
	height: 2.6rem;
	margin-right: 1rem;
}
@media screen and (max-width: 767px) {
	.c-linkbox .c-linkbox__ttl span {
		height: 2.2rem;
		margin-right: 0.8rem;
	}
}
.c-linkbox .c-linkbox__ttl img {
	width: auto;
	height: 100%;
}
.c-linkbox .c-linkbox__txt {
	color: #fff;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.2222222222;
	letter-spacing: 0;
	margin-top: 1.2rem;
}
@media screen and (max-width: 767px) {
	.c-linkbox .c-linkbox__txt {
		font-size: 1.4rem;
		line-height: 1.2857142857;
		margin-top: 0.8rem;
	}
}

.p-pyramid {
	padding: 6rem 0 4rem;
}
@media screen and (max-width: 767px) {
	.p-pyramid {
		padding: 3rem 0 0;
	}
}
.p-pyramid__ttl {
	text-align: center;
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.4;
}
@media screen and (max-width: 767px) {
	.p-pyramid__ttl {
		font-size: 2rem;
	}
}
.p-pyramid__inner {
	margin-top: 3.4rem;
}
.p-pyramid__img {
	display: block;
	width: 90rem;
	margin: 4rem auto 0;
}
@media screen and (max-width: 767px) {
	.p-pyramid__img {
		width: calc(100% + 4.8rem);
		margin: 4rem -2.4rem 0;
	}
}

.p-point {
	padding: 8rem 0;
}
.p-point .c-heading span {
	background: linear-gradient(0deg, #0087D2, #0087D2), linear-gradient(90deg, #0087D2 0%, #0073B5 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
}
.p-point-content {
	margin-top: 6.4rem;
}
.p-point-content + .p-point-content {
	margin-top: 8rem;
}
.p-point-content__head {
	display: flex;
	align-items: flex-start;
	gap: 0 1.6rem;
	padding-bottom: 1.2rem;
	border-bottom: 0.2rem solid #E4BFF2;
}
.p-point__pre {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 12rem;
	font-weight: 700;
	font-size: 2rem;
	line-height: 1;
	background: linear-gradient(90deg, #9333B5 0%, #5B2DBC 100%);
	color: #fff;
	border-radius: 3rem;
	padding: 0.3rem 0 0.5rem;
	gap: 0 0.5rem;
	margin-top: 0.2rem;
}
@media screen and (max-width: 767px) {
	.p-point__pre {
		width: 10.5rem;
		font-size: 1.8rem;
		gap: 0 0.4rem;
	}
}
.p-point__pre span {
	font-size: 2.4rem;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	.p-point__pre span {
		font-size: 2.2rem;
	}
}
.p-point__ttl {
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.1428571429;
}
@media screen and (max-width: 767px) {
	.p-point__ttl {
		font-size: 2.4rem;
	}
}
.p-point__txt {
	margin-top: 2.4rem;
}
.p-point-content__detail {
	display: flex;
	align-items: flex-start;
	gap: 0 6.8rem;
	margin-top: 5.6rem;
}
@media screen and (max-width: 767px) {
	.p-point-content__detail {
		flex-direction: column;
		gap: 6.8rem 0;
		margin-top: 2.4rem;
	}
}
.p-point-online {
	width: 26.2rem;
	position: relative;
}
@media screen and (max-width: 767px) {
	.p-point-online {
		width: 100%;
	}
}
.p-point-online::after {
	content: "";
	width: 3.6rem;
	height: 3.2rem;
	background: url(../images/icn_point_arw_01.svg) no-repeat center/contain;
	position: absolute;
	right: -4.8rem;
	top: calc(50% + 0.5rem);
}
@media screen and (max-width: 767px) {
	.p-point-online::after {
		width: 3.6rem;
		height: 3.2rem;
		rotate: 90deg;
		left: 0;
		right: 0;
		top: auto;
		bottom: -5rem;
		margin: 0 auto;
	}
}
.p-point-online__ttl {
	text-align: center;
	color: #0087D2;
	font-weight: 700;
	line-height: 1.5;
	padding: 0.5rem 0.5rem 0.6rem;
	background-color: #E7F3FA;
	margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
	.p-point-online__img {
		width: 29rem;
		margin: 0 auto;
	}
}
.p-point-app {
	flex: 1;
}
@media screen and (max-width: 767px) {
	.p-point-app {
		width: 100%;
	}
}
.p-point-app__ttl {
	text-align: center;
	color: #9333B5;
	font-weight: 700;
	line-height: 1.5;
	padding: 0.5rem 0.5rem 0.6rem;
	background-color: #F7F2F9;
	margin-bottom: 1.6rem;
}
.p-point-app__imgwrap {
	display: flex;
	align-items: flex-start;
	gap: 0 4rem;
}
@media screen and (max-width: 767px) {
	.p-point-app__imgwrap {
		flex-direction: column;
		gap: 4.2rem 0;
	}
}
.p-point-app__img {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 0 2.4rem;
	position: relative;
}
@media screen and (max-width: 767px) {
	.p-point-app__img {
		margin: 0 auto;
		gap: 0 1rem;
	}
}
.p-point-app__img._01::after {
	content: "";
	width: 1.5rem;
	height: 2.5rem;
	background: url(../images/icn_point_arw_02.svg) no-repeat center/contain;
	position: absolute;
	right: -3.2rem;
	top: 12rem;
}
@media screen and (max-width: 767px) {
	.p-point-app__img._01::after {
		rotate: 90deg;
		left: 0;
		right: 0;
		top: auto;
		bottom: -3.4rem;
		margin: 0 auto;
	}
}
.p-point-app__img._02 {
	flex: 1;
}
@media screen and (max-width: 767px) {
	.p-point-app__img._02 {
		width: 100%;
	}
}
.p-point-app__img figcaption {
	text-align: center;
	color: #9333B5;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.3;
	margin-top: 0.8rem;
}
@media screen and (max-width: 767px) {
	.p-point-app__img figcaption {
		font-size: 1.2rem;
		margin-top: 0.5rem;
	}
}
.p-point-content._01 .p-point-app__img._01 {
	width: 15.3rem;
}
.p-point-content._02 .p-point-content__detail {
	gap: 0 5.2rem;
}
@media screen and (max-width: 767px) {
	.p-point-content._02 .p-point-content__detail {
		gap: 6.5rem 0;
	}
}
.p-point-content._02 .p-point-online {
	width: 29rem;
}
@media screen and (max-width: 767px) {
	.p-point-content._02 .p-point-online {
		width: 100%;
	}
}
.p-point-content._02 .p-point-app__imgwrap {
	gap: 0 3.4rem;
}
@media screen and (max-width: 767px) {
	.p-point-content._02 .p-point-app__imgwrap {
		gap: 5rem 0;
	}
}
.p-point-content._02 .p-point-app__imgwrap > div {
	flex: 1;
}
@media screen and (max-width: 767px) {
	.p-point-content._02 .p-point-app__imgwrap > div {
		width: 100%;
	}
}
.p-point-content._02 .p-point-app__img._01 {
	gap: 0 1.2rem;
}
.p-point-content._02 .p-point-app__img._01 > figure:nth-child(1) {
	width: 16rem;
}
.p-point-content._02 .p-point-app__img._01 > figure:nth-child(2) {
	width: 14rem;
}
.p-point-content._02 .p-point-app__img._02 {
	gap: 0 1.8rem;
}
.p-point-content._02 .p-point-app__img._02 > figure:nth-child(1) {
	width: 14.8rem;
}
.p-point-content._02 .p-point-app__img._02 > figure:nth-child(2) {
	width: 13.8rem;
}
.p-point-content._03 .p-point-app__img._01 {
	width: 15.3rem;
}
.p-point-content._03 .p-point-app__img._02 {
	display: block;
}
.p-point-content._03 .p-point-app__img._02 > figure {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2.4rem;
}
@media screen and (max-width: 767px) {
	.p-point-content._03 .p-point-app__img._02 > figure {
		gap: 0 0.4rem;
	}
}
.p-point-content._03 .p-point-app__img._02 > figure img {
	display: block;
	width: 14.3rem;
}
@media screen and (max-width: 767px) {
	.p-point-content._03 .p-point-app__img._02 > figure img {
		width: calc((100% - 0.8rem) / 3);
	}
}
.p-point-content._03 .p-point-app__img._02 > figure figcaption {
	width: 100%;
}

.p-cycle {
	padding: 5.8rem 0 3.8rem;
	background: #F7F2F9;
}

@media screen and (max-width: 767px) {
	.p-cycle {
		padding: 5rem 0 4rem;
	}
}
.p-cycle__inner {
	margin: 4rem 0 0;
}

@media screen and (max-width: 767px) {
	.p-cycle__inner {
		margin: 4rem 0 0;
	}
}
.p-cycle__img {
	display: block;
	width: 100%;
	margin: 4rem auto 0;
}

.p-download {
	padding: 6rem 0 0;
	position: relative;
}

@media screen and (max-width: 767px) {
	.p-download {
		padding: 3.2rem 0;
		background: linear-gradient(90deg, #9333B5 0%, #5B2DBC 100%);
		margin-top: 4rem;
	}
}
@media screen and (min-width: 768px) {
	.p-download::before {
		content: "";
		width: 100%;
		height: 23rem;
		background: linear-gradient(90deg, #9333B5 0%, #5B2DBC 100%);
		position: absolute;
		left: 0;
		bottom: 0;
	}
}
.p-download .f-wrap {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	align-items: flex-end;
	gap: 0 6rem;
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 767px) {
	.p-download .f-wrap {
		display: block;
	}
}
.p-download__img {
	width: 19.6rem;
}

@media screen and (max-width: 767px) {
	.p-download__img {
		display: none;
	}
}
.p-download-content {
	width: 66.7rem;
	padding-bottom: 3.2rem;
}

@media screen and (max-width: 767px) {
	.p-download-content {
		width: 100%;
		padding: 0;
	}
}
.p-download-content__ttl {
	text-align: center;
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	color: #fff;
	padding-bottom: 1.2rem;
	border-bottom: 1px solid #fff;
}

@media screen and (max-width: 767px) {
	.p-download-content__ttl {
		font-size: 2rem;
	}
}
.p-download .c-btns {
	gap: 0 9rem;
	margin: 2.4rem 0 0;
}

@media screen and (max-width: 767px) {
	.p-download .c-btns {
		justify-content: flex-start;
		gap: 0 3.3rem;
		margin: 3.2rem 0 0;
	}
}
.p-download .c-btns__item {
	gap: 0 2.4rem;
}

.p-download .c-btns__item a img {
	height: 5.4rem;
}
@media screen and (max-width: 767px) {
	.p-download .c-btns__item a img {
		height: 4.8rem;
	}
}

.p-download .c-btns__qr {
	width: 10rem;
}

.p-other {
	margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
	.p-other {
		margin-top: 4rem;
	}
}

.p-other__block {
	padding: 4.8rem 0;
}
@media screen and (max-width: 767px) {
	.p-other__block {
		padding: 3rem 0 4rem;
	}
}

.p-other__block.is-02 {
	background: #FAFAFA;
}
@media screen and (max-width: 767px) {
	.p-other__block.is-02 {
		padding-bottom: 0;
	}
}

.p-other__block .f-wrap {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
}

@media screen and (max-width: 767px) {
	.p-other__block .f-wrap {
		flex-flow: column;
	}
}
.p-other-content {
	width: 53rem;
}

@media screen and (max-width: 767px) {
	.p-other-content {
		width: 100%;
	}
}
.p-other-content__ttl {
	margin: 0 0 3rem;
}

@media screen and (max-width: 767px) {
	.p-other-content__ttl {
		margin: 0 0 2rem;
	}
}
.p-other-content__ttl img {
	width: auto;
	height: 3.2rem;
}

@media screen and (max-width: 767px) {
	.p-other-content__ttl img {
		height: 3rem;
	}
}
.is-02 .p-other-content__ttl img {
	height: 3.8rem;
}

@media screen and (max-width: 767px) {
	.is-02 .p-other-content__ttl img {
		height: 3.4rem;
	}
}
.p-other-content__sub {
	color: #0087D2;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1;
	margin: 0 0 2rem;
}

@media screen and (max-width: 767px) {
	.p-other-content__sub {
		font-size: 2rem;
		line-height: 1.2;
		letter-spacing: 0.04em;
		margin: 0 0 1rem;
	}
}
.p-other-content__txt {
	line-height: 1;
}

@media screen and (max-width: 767px) {
	.p-other-content__txt {
		line-height: 1.8;
	}
}
.p-other__img {
	width: 42rem;
}

@media screen and (max-width: 767px) {
	.p-other__img {
		width: calc(100% + 4.8rem);
		margin: 4rem -2.4rem 0;
	}
}
.p-other__img img {
	width: 100%;
	height: auto;
}

.p-other-list {
	margin: 3.2rem 0 0;
}

@media screen and (max-width: 767px) {
	.p-other-list {
		margin: 2rem 0 0;
	}
}
.is-01 .p-other-list {
	width: 38rem;
}

@media screen and (max-width: 767px) {
	.is-01 .p-other-list {
		width: auto;
	}
}
.p-other-list__item {
	position: relative;
	background: #E7F3FA;
	border-radius: 1rem;
	font-weight: 600;
	font-size: 1.8rem;
	line-height: 1;
	padding: 1.5rem 0 1.7rem 5rem;
	margin-top: 1rem;
}

@media screen and (max-width: 767px) {
	.p-other-list__item {
		font-size: 1.8rem;
		line-height: 1.4;
		padding: 1.2rem 1.5rem 1.2rem 4.5rem;
	}
}
.p-other-list__item:first-child {
	margin-top: 0;
}

.p-other-list__item::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 1.8rem;
	width: 2rem;
	height: 1.7rem;
	background: url(../images/icn_other.svg) 0 0/100% auto no-repeat;
	transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
	.p-other-list__item::before {
		top: 1.7rem;
		transform: none;
	}
}

.p-other__btn {
	width: 38rem;
	height: 5rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 3.2rem 0 0;
}

@media screen and (max-width: 767px) {
	.p-other__btn {
		width: 100%;
		margin: 3rem 0 0;
	}
}
.p-other__btn a {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border: 2px solid #0087D2;
	color: #0087D2;
	border-radius: 5rem;
}

@media (hover: hover) and (pointer: fine) {
	.p-other__btn a:hover {
		background: #0087D2;
		color: #fff;
		opacity: 1;
	}
}
.p-cta {
	/*background: #FAFAFA;*/
	padding: 4rem 0;
}
.p-cta.bg {
	background: #FAFAFA;
}

@media screen and (max-width: 767px) {
	.p-cta {
		padding: 3rem 2.4rem;
	}
}
.p-cta__ttl {
	text-align: center;
	font-size: 2.2rem;
	line-height: 1;
	font-weight: 700;
}

@media screen and (max-width: 767px) {
	.p-cta__ttl {
		font-size: 2rem;
		line-height: 1.4;
	}
}
.p-cta__txt {
	text-align: center;
	font-weight: 500;
	line-height: 1.6;
	margin-top: 1.6rem;
}

@media screen and (max-width: 767px) {
	.p-cta__txt {
		text-align: left;
		font-size: 1.5rem;
	}
}
.p-cta__btn {
	width: 37.2rem;
	height: 5.6rem;
	font-size: 1.8rem;
	letter-spacing: 0.04em;
	font-weight: 700;
	margin: 2.4rem auto 0;
}

@media screen and (max-width: 767px) {
	.p-cta__btn {
		width: 100%;
		margin: 2.4rem 0 0;
	}
}
.p-cta__btn a {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #FFD000;
	border: 2px solid #FFD000;
	border-radius: 5rem;
	position: relative;
}
.p-cta__btn a::after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.6rem 0 0.6rem 1rem;
	border-color: transparent transparent transparent #9333B5;
	margin-left: 1.2rem;
}