@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/* These browsers currently include
** Android 4.3-4.4+,
** Chrome 39-40+,
** Firefox 34-35+,
** Internet Explorer 10-11+,
** iOS 7-8+,
** Safari 7-8+,
** Windows Phone 8.1+.
*/
/*
 * Normalization
 */
:root {
		-ms-overflow-style: -ms-autohiding-scrollbar;
		-webkit-text-size-adjust: 100%;
		        text-size-adjust: 100%;
}

audio:not([controls]) {
		display: none;
}

details {
		display: block;
}

input[type=number] {
		width: auto;
}
input[type=search] {
		-webkit-appearance: textfield;
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
		-webkit-appearance: none;
}

main {
		display: block;
}

summary {
		display: block;
}

pre {
		overflow: auto;
}

progress {
		display: inline-block;
}

small {
		font-size: 75%;
}

template {
		display: none;
}

textarea {
		overflow: auto;
}

[hidden] {
		display: none;
}

[unselectable] {
		-webkit-user-select: none;
		        user-select: none;
}

/*
 * Universal inheritance
 */
*,
::before,
::after {
		box-sizing: inherit;
}

* {
		font-size: inherit;
		line-height: inherit;
}

::before,
::after {
		text-decoration: inherit;
		vertical-align: inherit;
}

/*
 * Opinionated defaults
 */
*,
::before,
::after {
		border-style: solid;
		border-width: 0;
}

* {
		margin: 0;
		padding: 0;
}

:root {
		box-sizing: border-box;
		cursor: default;
		font: 62.5%/1em sans-serif;
		text-rendering: optimizeLegibility;
}
@media screen and (min-width: 769px) {
		:root {
				font: 0.78125vw/1em sans-serif;
		}
}
@media screen and (min-width: 1600px) {
		:root {
				font: 78.125%/1em sans-serif;
		}
}

html {
		background-color: #FFFFFF;
}

a {
		text-decoration: none;
}

audio,
canvas,
iframe,
img,
svg,
video {
		vertical-align: middle;
}

button,
input:not([type=radio]),
select,
textarea {
		background-color: transparent;
}

button,
input:not([type=radio]),
select,
textarea {
		color: inherit;
		font-family: inherit;
		font-style: inherit;
		font-weight: inherit;
}

button,
[type=button],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=reset],
[type=search],
[type=submit],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea {
		min-height: 1em;
}

input[type=submit],
input[type=button] {
		border-radius: 0;
		appearance: button;
		border: none;
		box-sizing: border-box;
		cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
		display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
		outline-offset: -2px;
}

code,
kbd,
pre,
samp {
		font-family: monospace, monospace;
}

nav ol,
nav ul {
		list-style: none;
}

select {
		-moz-appearance: none;
		-webkit-appearance: none;
}
select::-ms-expand {
		display: none;
}
select::-ms-value {
		color: currentColor;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

textarea {
		resize: vertical;
}

::selection {
		color: #FFFFFF;
		background-color: #000000;
		text-shadow: none;
}

@media screen {
		[hidden~=screen] {
				display: inherit;
		}
		[hidden~=screen]:not(:active):not(:focus):not(:target) {
				clip: rect(0 0 0 0) !important;
				position: absolute !important;
		}
}
* {
		margin: 0;
		padding: 0;
		outline: 0;
}

/* general params
--------------------*/
h1, h2, h3, h4, h5, h6,
div, p, pre, ul, ol, dl, dt, dd,
address, form, blockquote {
		margin: 0;
		padding: 0; /* margin&padding reset */
		font-style: normal;
}

h1, h2, h3, h4, h5, h6, dt {
		font-weight: 700;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
		display: block;
		margin: 0;
}

table {
		border-collapse: collapse;
		font-size: small;
		margin: 0;
		empty-cells: show;
}

hr, .areaAnchor, .anchor {
		display: none;
}

img {
		vertical-align: bottom;
		border: none; /* img do not want a border */
}

li {
		list-style: none;
}

blockquote, q {
		quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
		content: "";
		content: none;
}

ins {
		text-decoration: none;
		color: #000;
}

small, sub, sup {
		font-size: 0.83em;
}

sub {
		display: inline-block;
		vertical-align: middle;
		transform: translateY(15%);
}

sup {
		display: inline-block;
		vertical-align: middle;
		transform: translateY(-15%);
}

mark {
		font-weight: bold;
		font-style: italic;
		color: #000;
}

del {
		text-decoration: line-through;
}

abbr[title], dfn[title] {
		cursor: help;
		border-bottom: 1px dotted;
}

table {
		border-spacing: 0;
		border-collapse: collapse;
}

/* acronyms and abbreviations styles
-------------------------------------*/
acronym, abbr {
		cursor: help;
}

/* word break
-------------------------------------*/
p {
		word-break: normal;
}

/* image position
-------------------------------------*/
img {
		vertical-align: bottom;
}

/*
===== 2: form setting ===========================
*/
option {
		padding-right: 10px;
}

input, select {
		vertical-align: middle;
}

/*--------------------------------------------------------------- */
/* 全体で使用する common style を記述
/*--------------------------------------------------------------- */
/* Noto Sans JP
font-family: 'Noto Sans JP';
Medium : 500;
Bold : 700;
*/
/* 游ゴシック */
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 100;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 200;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 300;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Medium");
		font-weight: 400;
}
@font-face {
		font-family: "Yu Gothic";
		src: local("Yu Gothic Bold");
		font-weight: bold;
}
/*-------------------------------------------> font */
.f_def {
		font-weight: 500;
}

.f_sBold {
		font-weight: 700;
}

.f_bold {
		font-weight: 700;
}

/*-------------------------------------------> fill */
.svg .fill-white, .svg .fill-black, .svg .fill-yellow, .svg .fill-blue, .svg .fill-purple, .svg .fill-pink, .svg .fill-orange, .svg .fill-green, .svg .fill-icon {
		transition: all 0.15s ease-out;
}

/*-------------------------------------------> html / body style */
html {
		height: 100%;
		background-color: #FFF33F;
}

body {
		width: 100%;
		min-width: 830px;
		height: 100%;
		color: #FFF;
		background: #FFF33F;
		font-family: "Noto Sans JP", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
		font-weight: 500;
		text-align: center;
		overflow-y: scroll;
		overflow-x: auto;
		position: relative;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		overflow-x: hidden;
}
@media screen and (min-width: 769px) {
		body .pc {
				display: block;
		}
		body .sp {
				display: none;
		}
		body img.pc,
		body .svg.pc {
				display: inline;
		}
		body > * {
				font-feature-settings: "palt";
		}
}
@media screen and (max-width: 768px) {
		body {
				min-width: initial;
				width: 100vw;
		}
		body .pc {
				display: none;
		}
		body .sp {
				display: block;
		}
		body img.pc {
				display: none;
		}
		body img.sp,
		body .svg.sp {
				display: inline;
		}
		body img {
				max-width: 100%;
				height: auto;
		}
		body > * {
				font-feature-settings: "palt";
		}
}

.hide {
		display: none;
}

/*-------------------------------------------> link style */
a {
		outline: none;
		cursor: pointer;
		color: inherit;
}
a:link {
		text-decoration: none;
}
a:visited {
		text-decoration: none;
}
a:hover {
		text-decoration: none;
}
a:active {
		text-decoration: none;
}

@media screen and (min-width: 769px) {
		.OverOpacity,
		.OverOpacityGroup a {
				opacity: 1;
				transition: opacity 0.15s ease-out;
		}
		.OverOpacity:hover,
		.OverOpacityGroup a:hover {
				opacity: 0.3;
		}
}
/*-------------------------------------------> Common style */
.inner {
		width: 830px;
		margin-left: auto;
		margin-right: auto;
		box-sizing: border-box;
}
@media screen and (max-width: 768px) {
		.inner {
				max-width: initial;
				width: 100vw;
				padding-left: 5.3333333333vw;
				padding-right: 5.3333333333vw;
				margin-left: 0;
				margin-right: 0;
		}
}

img {
		max-width: 100%;
		height: auto;
		vertical-align: top;
}

.cqBase {
		container-type: inline-size;
}

br.pc {
		display: block;
}
br.pc.sp {
		display: block;
}
br.sp {
		display: none;
}
@media screen and (max-width: 768px) {
		br.pc {
				display: none;
		}
		br.sp {
				display: block;
		}
		br.sp.pc {
				display: block;
		}
}

.taLeft {
		text-align: left !important;
}

.taCenter {
		text-align: center !important;
}

.taRight {
		text-align: right !important;
}

.clearfix:after {
		content: "";
		display: block;
		clear: both;
}

.mod_table {
		display: table;
}
.mod_table dl {
		display: table-row;
}
.mod_table dl dt, .mod_table dl dd {
		display: table-cell;
		text-align: left;
		vertical-align: middle;
}

@media screen and (min-width: 769px) {
		/*-------------------------------------------> PC */
		html {
				background-color: #FFF33F;
		}
		#Main {
				background-image: url(../images/bg.png);
				background-repeat: no-repeat;
				background-position: center top;
				background-size: 2000px auto;
		}
		/*-------------------------------------------> Header */
		#Header {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				display: flex;
				justify-content: space-between;
				align-items: center;
				z-index: 99;
				height: 60px;
				color: #FFF;
				background-color: #533076;
				display: flex !important;
				padding: 0 30px;
		}
		#Header.Play {
				animation-name: fadeIn;
		}
		#Header h1 a {
				width: 300px;
				display: inline-block;
		}
		#Header #Navi ul {
				display: flex;
				justify-content: flex-end;
				align-items: center;
		}
		#Header #Navi ul li a {
				display: block;
				display: flex;
				justify-content: center;
				align-items: center;
				height: 60px;
				padding-left: 15px;
				padding-right: 15px;
				font-size: 16px;
				line-height: 1;
				letter-spacing: 0em;
				transition: all 0.15s ease-out;
				color: inherit;
		}
		#Header #Navi ul li a:hover {
				color: #FFF33F;
		}
		#Cover {
				position: relative;
		}
		#Cover .image {
				height: 780px;
		}
		#Cover .image .step1, #Cover .image .step2, #Cover .image .step3, #Cover .image .step4, #Cover .image .step5 {
				height: 780px;
				width: 1490px;
				position: absolute;
				top: 0px;
				left: 50%;
				translate: -50% 0;
				opacity: 0;
				translate: -50% 50px;
				transition: all 0.5s ease-out;
		}
		#Cover .image .step1 {
				z-index: 5;
		}
		#Cover .image .step2 {
				z-index: 4;
		}
		#Cover .image .step3 {
				z-index: 3;
		}
		#Cover .image .step4 {
				z-index: 10;
		}
		#Cover .image .step5 {
				z-index: 10;
		}
		#Cover .image .step2 {
				scale: 0.7;
				transition-delay: 0.5s;
		}
		#Cover .image .step3 {
				scale: 0.7;
				transition-delay: 0.7s;
		}
		#Cover .image .step4 {
				transition-delay: 1s;
		}
		#Cover .image .step5 {
				transition-delay: 1.1s;
		}
		#Cover .copy {
				margin-top: 115px;
				margin-bottom: 120px;
		}
		#Cover .copy .inner {
				width: 564px;
		}
		#Cover .copy {
				color: #533076;
				font-size: 26px;
				line-height: 2.1923076923;
				letter-spacing: 0em;
				text-align: center;
		}
		#Cover .copy span {
				display: block;
				background: url(../images/svg/line_dot.svg) no-repeat left bottom;
		}
		#Cover .copy {
				text-align: center;
		}
		#Cover.Play .image .step1, #Cover.Play .image .step2, #Cover.Play .image .step3, #Cover.Play .image .step4, #Cover.Play .image .step5 {
				opacity: 1;
				scale: 1;
				translate: -50% 0;
		}
		#reserveBtn {
				display: block;
				position: fixed;
				right: 50px;
				bottom: 20px;
				z-index: 99;
				width: 200px;
				height: 200px;
		}
		#reserveBtn.Play {
				animation-name: fadeIn;
		}
		#reserveBtn a {
				position: absolute;
				display: block;
				width: 200px;
				height: 200px;
		}
		#reserveBtn a .svg, #reserveBtn a img {
				overflow: visible;
				position: relative;
				z-index: 10;
				filter: drop-shadow(3px 3px 0 rgba(0, 0, 0, 0.5));
		}
		#reserveBtn a .svg .fill-pink, #reserveBtn a img .fill-pink {
				fill: #EA6DA4;
				transition: fill 0.15s ease-out;
		}
		#reserveBtn a:hover .svg .fill-pink {
				fill: #533076;
		}
		#reserveBtn.Play {
				animation-name: fadeInUp;
		}
		#About {
				position: relative;
				text-align: left;
				margin-bottom: 180px;
		}
		#About .frame {
				width: 1030px;
				height: 1030px;
				border-radius: 550px;
				background: #FFF;
				display: flex;
				justify-content: center;
				align-items: center;
				text-align: center;
				margin-left: auto;
				margin-right: auto;
		}
		#About .sectionTitle img {
				width: 310px;
		}
		#About .term {
				margin-top: 47px;
				margin-bottom: 73px;
		}
		#About .term img {
				width: 725px;
		}
		#About .mod_table {
				margin-left: auto;
				margin-right: auto;
		}
		#About .mod_table dl dt, #About .mod_table dl dd {
				padding-top: 15px;
				min-height: 90px;
				text-align: left;
				font-size: 18px;
				line-height: 1.6666666667;
				letter-spacing: 0em;
				font-weight: bold;
				vertical-align: top;
		}
		#About .mod_table dl dt {
				color: #EA6DA4;
				letter-spacing: 0.06em;
		}
		#About .mod_table dl dd {
				color: #533076;
				padding-left: 50px;
		}
		#Program {
				margin-bottom: 200px;
		}
		#Program .inner {
				width: 1000px;
		}
		#Program .sectionTitle {
				text-align: center;
				margin-bottom: 100px;
		}
		#Program .sectionTitle small {
				display: block;
				color: #533076;
				font-size: 18px;
				line-height: 1;
				letter-spacing: 0.036em;
				text-align: center;
				margin-bottom: 15px;
		}
		#Program .sectionTitle img {
				width: 786px;
		}
		#Program .list {
				width: 1000px;
				margin-left: auto;
				margin-right: auto;
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap;
		}
		#Program .list .block {
				position: relative;
				width: 454px;
		}
		#Program .list .block::before {
				content: "";
				display: block;
				width: 87px;
				height: 58px;
				position: absolute;
				top: -55px;
				left: 3px;
				background-repeat: no-repeat;
				background-size: 100%;
		}
		#Program .list .block.num1::before {
				background-image: url(../images/svg/program_01_num.svg);
		}
		#Program .list .block.num2::before {
				background-image: url(../images/svg/program_02_num.svg);
		}
		#Program .list .block.num3::before {
				background-image: url(../images/svg/program_03_num.svg);
		}
		#Program .list .block.num4::before {
				background-image: url(../images/svg/program_04_num.svg);
		}
		#Program .list .block.num3, #Program .list .block.num4 {
				margin-top: 100px;
		}
		#Program .list .block .image {
				border: solid 9px #533076;
				border-radius: 9px;
				overflow: hidden;
				background: #533076;
		}
		#Program .list .block .image img {
				background: #533076;
		}
		#Program .list .block .text {
				margin-top: 30px;
				text-align: center;
		}
		#Program .list .block .text dl dt {
				color: #EA6DA4;
				font-size: 35px;
				line-height: 1;
				letter-spacing: 0.06em;
		}
		#Program .list .block .text dl dd {
				width: 440px;
				margin-left: auto;
				margin-right: auto;
				color: #533076;
				font-size: 16px;
				line-height: 1.8125;
				letter-spacing: 0em;
				margin-top: 1em;
		}
		#Application {
				text-align: center;
		}
		#Application > .frame {
				width: 1050px;
				height: 1050px;
				border-radius: 525px;
				background: #FFF;
				display: flex;
				justify-content: center;
				align-items: center;
				text-align: center;
				margin-left: auto;
				margin-right: auto;
		}
		#Application .sectionTitle {
				border-bottom: solid 3px #533076;
				padding-bottom: 22px;
				margin-bottom: 16px;
		}
		#Application .sectionTitle img {
				width: 554px;
		}
		#Application .text {
				color: #533076;
				font-size: 16px;
				line-height: 1.8125;
				letter-spacing: 0.06em;
				margin-bottom: 50px;
		}
		#Application .link {
				position: relative;
				width: 473px;
				height: 76px;
				margin-left: auto;
				margin-right: auto;
		}
		#Application .link + .link {
				margin-top: 20px;
		}
		#Application .link::after {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				border-radius: 999px;
				position: absolute;
				left: 5px;
				top: 5px;
				z-index: 1;
				background: rgba(234, 109, 164, 0.52);
		}
		#Application .link a {
				position: relative;
				z-index: 10;
				display: flex;
				justify-content: center;
				align-items: center;
				width: 473px;
				height: 76px;
				border: solid 3px #EA6DA4;
				background: #EA6DA4;
				border-radius: 999px;
				transition: all 0.5s ease-out;
				color: #FFF;
		}
		#Application .link a span {
				font-size: 30px;
				line-height: 1;
				letter-spacing: 0.06em;
		}
		#Application .link a:hover {
				top: 5px;
				left: 5px;
				color: #EA6DA4;
				background: #FFF;
		}
		#Application .present {
				width: 627px;
				margin-left: auto;
				margin-right: auto;
				margin-top: 35px;
				background: rgba(255, 243, 63, 0.25);
				border-radius: 20px;
				text-align: center;
				padding-top: 10px;
				padding-bottom: 10px;
		}
		#Application .present .title {
				color: #533076;
				font-size: 25px;
				line-height: 1.32;
				letter-spacing: 0.036em;
				text-align: center;
				margin-bottom: 25px;
		}
		#Application .present .qr, #Application .present .note {
				width: 590px;
				margin-left: auto;
				margin-right: auto;
		}
		#Application .present .qr {
				display: flex;
				justify-content: space-between;
		}
		#Application .present .qr .banner {
				width: 290px;
		}
		#Application .present .note {
				color: #533076;
				font-size: 10px;
				line-height: 1;
				letter-spacing: 0.01em;
				text-align: left;
				margin-top: 1em;
		}
		#Pickup {
				margin-top: 110px;
				text-align: center;
		}
		#Pickup .inner {
				width: 808px;
		}
		#Pickup .sectionTitle img {
				width: 340px;
		}
		#Pickup .voice {
				width: 808px;
				margin-left: auto;
				margin-right: auto;
				margin-top: 40px;
		}
		#Pickup .voice .subTitle {
				color: #533076;
				font-size: 40px;
				line-height: 1;
				letter-spacing: 0.036em;
				padding-bottom: 20px;
				border-bottom: solid 3px #533076;
				display: inline-block;
				margin-left: auto;
				margin-right: auto;
		}
		#Pickup .voice .chat:after {
				content: "";
				display: block;
				clear: both;
		}
		#Pickup .voice .chat {
				margin-top: 110px;
		}
		#Pickup .voice .chat .block {
				position: relative;
				width: 238px;
		}
		#Pickup .voice .chat .block .icon {
				width: 238px;
		}
		#Pickup .voice .chat .block .fukidashi {
				position: absolute;
				top: -53px;
				width: 210px;
				height: 210px;
				background-repeat: no-repeat;
				background-position: left top;
				background-size: 100%;
				display: flex;
				justify-content: center;
				align-items: center;
		}
		#Pickup .voice .chat .block .fukidashi span {
				color: #FFF;
				font-size: 17px;
				line-height: 1.4705882353;
				letter-spacing: 0.06em;
		}
		#Pickup .voice .chat .block:nth-child(even) {
				margin-left: auto;
		}
		#Pickup .voice .chat .block:nth-child(even) .fukidashi {
				background-image: url(../images/svg/pickup_popup_02.svg);
				right: 250px;
				transform-origin: right bottom;
		}
		#Pickup .voice .chat .block:nth-child(odd) {
				margin-right: auto;
		}
		#Pickup .voice .chat .block:nth-child(odd) .fukidashi {
				background-image: url(../images/svg/pickup_popup_01.svg);
				left: 250px;
				transform-origin: left bottom;
		}
		#Pickup .voice .chat .block:nth-child(n+2) {
				margin-top: -30px;
		}
		#Pickup .voice .chat {
				margin-top: 70px;
		}
		#Pickup .voice .chat p {
				margin-top: 10px;
				transform-origin: left center;
		}
		#Pickup .voice .chat p.question {
				margin-top: 23px;
				margin-bottom: 23px;
				transform-origin: right center;
		}
		#Pickup .voice .chat p:first-child {
				margin-top: 0;
		}
		#Pickup .support {
				margin-top: 340px;
				width: 784px;
				margin-left: auto;
				margin-right: auto;
		}
		#Pickup .support .subTitle {
				display: inline-block;
				margin-left: auto;
				margin-right: auto;
				margin-bottom: 40px;
				text-align: center;
		}
		#Pickup .support .subTitle span, #Pickup .support .subTitle strong {
				display: block;
		}
		#Pickup .support .subTitle span {
				color: #533076;
				font-size: 40px;
				line-height: 1;
				letter-spacing: 0.036em;
				border-bottom: solid 3px #533076;
				padding-bottom: 20px;
				margin-bottom: 30px;
		}
		#Pickup .support .subTitle strong {
				color: #EA6DA4;
				font-size: 35px;
				line-height: 1;
				letter-spacing: 0.01em;
		}
		#Pickup .support .photoArea {
				position: relative;
		}
		#Pickup .support .photoArea::after {
				content: "";
				display: block;
				width: 213px;
				height: 158px;
				background: url(../images/svg/support_mark.svg) no-repeat left top;
				background-size: 100%;
				position: absolute;
				top: -100px;
				right: -130px;
				z-index: 10;
		}
		#Pickup .support .photoArea .image {
				position: relative;
				z-index: 1;
				border-radius: 9px;
				overflow: hidden;
		}
		#Pickup .support .photoArea .main .text {
				color: #533076;
				font-size: 16px;
				line-height: 1.8125;
				letter-spacing: 0.01em;
				margin-top: 55px;
		}
		#Pickup .support .photoArea .left, #Pickup .support .photoArea .right {
				width: 400px;
				position: absolute;
				top: 0;
				left: 50%;
		}
		#Pickup .support .photoArea .left {
				translate: -817px -304px;
		}
		#Pickup .support .photoArea .right {
				translate: 417px 227px;
		}
		#Pickup .support .frame {
				position: relative;
				margin-top: 55px;
				height: 798px;
		}
		#Pickup .support .frame .text {
				margin-top: 30px;
				text-align: left;
		}
		#Pickup .support .frame .text dl dt {
				font-size: 25px;
				line-height: 1.44;
				letter-spacing: 0.01em;
				color: #00A6DC;
		}
		#Pickup .support .frame .text dl dd {
				font-size: 16px;
				line-height: 1.8125;
				letter-spacing: 0.01em;
				color: #533076;
				margin-top: 1.8em;
		}
		#Pickup .support .frame .image {
				position: absolute;
				top: 0;
				right: 0;
		}
		#Contents {
				margin-top: 530px;
				margin-bottom: 150px;
		}
		#Contents .sectionTitle img {
				width: 440px;
		}
		#Contents .copy {
				width: 620px;
				margin-left: auto;
				margin-right: auto;
				border-top: solid 3px #FFF;
				font-size: 16px;
				line-height: 1.8125;
				letter-spacing: 0.06em;
				text-align: center;
				margin-top: 30px;
				padding-top: 30px;
				margin-bottom: 80px;
		}
		#Contents .block {
				position: relative;
				width: 684px;
				margin-left: auto;
				margin-right: auto;
		}
		#Contents .block .title {
				margin-bottom: 40px;
		}
		#Contents .block .title img {
				width: 354px;
		}
		#Contents .plus {
				position: relative;
				width: 978px;
				margin-top: 550px;
				margin-left: auto;
				margin-right: auto;
		}
		#Contents .plus .text {
				display: flex;
				align-items: center;
				color: #533076;
				margin-top: 40px;
		}
		#Contents .plus .text dl {
				display: flex;
				align-items: center;
		}
		#Contents .plus .text dl dt {
				font-size: 57px;
				line-height: 1;
				letter-spacing: 0.06em;
				white-space: nowrap;
				padding-right: 15px;
		}
		#Contents .plus .text dl dt sup {
				translate: 0 -50%;
		}
		#Contents .plus .text dl dd {
				font-size: 15px;
				line-height: 1.4666666667;
				letter-spacing: 0.06em;
				text-align: left;
				padding-left: 24px;
				padding-right: 24px;
				border-left: solid 3px #533076;
		}
		#Contents .plus .text .link a {
				width: 247px;
				height: 61px;
				display: flex;
				justify-content: center;
				align-items: center;
				background: #533076;
				border: solid 3px #533076;
				border-radius: 999px;
		}
		#Contents .plus .text .link a img, #Contents .plus .text .link a .svg {
				width: 76px;
				transition: all 0.15s ease-out;
		}
		#Contents .plus .text .link a img .fill-white, #Contents .plus .text .link a .svg .fill-white {
				transition: all 0.15s ease-out;
		}
		#Contents .plus .text .link a:hover {
				background: #FFF;
		}
		#Contents .plus .text .link a:hover img .fill-white, #Contents .plus .text .link a:hover .svg .fill-white {
				fill: #533076;
		}
		#Banner {
				background: rgba(255, 255, 255, 0.65);
				padding-top: 47px;
				padding-bottom: 47px;
		}
		#Banner .banner {
				margin-left: auto;
				margin-right: auto;
				width: 1040px;
				display: grid;
				gap: 10px;
				grid-template-columns: repeat(3, minmax(0, 1fr));
		}
		#Banner .banner li img {
				display: block;
				width: 100%;
				height: 100%;
				object-fit: cover;
		}
		#Banner .banner li a {
				transition: opacity 0.3s;
		}
		#Banner .banner li a:hover {
				opacity: 0.7;
		}
		/*-------------------------------------------> Footer */
		#Footer {
				min-width: 1200px;
				width: 100%;
				background: #533076;
				padding-top: 55px;
				padding-bottom: 20px;
		}
		#Footer .navi {
				display: flex;
				justify-content: center;
				font-size: 14px;
				line-height: 1.5;
				letter-spacing: 0.1em;
				margin-top: 15px;
		}
		#Footer .navi li {
				border-left: solid 1px #FFF;
		}
		#Footer .navi li + li {
				border-right: solid 1px #FFF;
		}
		#Footer .navi a {
				display: inline-block;
				padding-left: 30px;
				padding-right: 30px;
				color: #FFF;
		}
		#Footer .copyright {
				font-size: 12px;
				line-height: 1;
				letter-spacing: 0em;
				color: #a694b7;
				margin-top: 40px;
		}
		/*-------------------------------------------> Overflow */
		#Main {
				min-width: 1200px;
				width: 100%;
				overflow: hidden;
		}
}
@media screen and (max-width: 768px) {
		/*-------------------------------------------> SP */
		html {
				background-color: #FFF33F;
		}
		/*-------------------------------------------> background */
		#Cover, #About, #Program, #Application, #Pickup .voice, #Pickup .support, #Contents, #Contents .plus {
				position: relative;
				z-index: 10;
		}
		#Cover::after, #About::after, #Program::after, #Application::after, #Pickup .voice::after, #Pickup .support::after, #Contents::after, #Contents .plus::after {
				content: "";
				display: block;
				width: 100vw;
				background-repeat: no-repeat;
				background-position: left top;
				background-size: 100% auto;
				position: absolute;
				z-index: 1;
				left: 0;
				pointer-events: none;
		}
		#Cover::after {
				background-image: url(../images/bg_cover@sp.png);
				height: 59.2vw;
				top: 214.1333333333vw;
		}
		#About::after {
				background-image: url(../images/bg_about@sp.png);
				height: 246vw;
				top: -39.2vw;
		}
		#Program::after {
				background-image: url(../images/bg_program@sp.png);
				height: 614.1333333333vw;
				top: 38.9333333333vw;
		}
		#Application::after {
				background-image: url(../images/bg_app@sp.png);
				height: 306.6666666667vw;
				top: -27.4666666667vw;
		}
		#Pickup .voice::after {
				background-image: url(../images/bg_pickup@sp.png);
				height: 211.4666666667vw;
				top: 10.6666666667vw;
				left: -5.3333333333vw;
		}
		#Pickup .support::after {
				background-image: url(../images/bg_support@sp.png);
				height: 276.6666666667vw;
				top: -20.2666666667vw;
				left: -5.3333333333vw;
		}
		#Contents::after {
				background-image: url(../images/bg_contents@sp.png);
				height: 219.2vw;
				top: -33.6vw;
		}
		#Contents .plus::after {
				background-image: url(../images/bg_plus@sp.png);
				height: 27.7333333333vw;
				top: 97.8666666667vw;
				left: -5.3333333333vw;
		}
		/*-------------------------------------------> #Header */
		#Header {
				position: fixed;
				top: 0;
				left: 0;
				z-index: 999;
				width: 100%;
				display: block !important;
		}
		#Header.Play {
				animation-name: fadeIn;
		}
		#Header h1 {
				height: 16vw;
		}
		#Header h1 .svg .fill-hd-logo {
				fill: #FFF;
		}
		#Header h1 a {
				display: block;
				width: 55.2vw;
				position: relative;
				z-index: 9999;
				margin-right: auto;
				padding-top: 5.0666666667vw;
				margin-left: 5.3333333333vw;
		}
		#Header::after {
				content: "";
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 16vw;
				background-color: #533076;
				display: block;
				z-index: 999;
				pointer-events: none;
				backface-visibility: hidden;
		}
		#Header::before {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				background: #533076;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 100;
				opacity: 0;
				transition: opacity 0.15s ease-out;
				pointer-events: none;
				backface-visibility: hidden;
		}
		#Header #Navi {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				display: flex;
				justify-content: center;
				align-items: center;
				display: block;
				text-align: center;
				overflow: hidden;
				pointer-events: none;
				padding-top: 24vw;
		}
		#Header #Navi ul {
				position: relative;
				z-index: 200;
				margin-left: auto;
				margin-right: auto;
		}
		#Header #Navi ul li {
				opacity: 0;
				transition: opacity 0.5s ease-out;
		}
		#Header #Navi ul li:nth-child(1) {
				transition-delay: 0.1s;
		}
		#Header #Navi ul li:nth-child(2) {
				transition-delay: 0.2s;
		}
		#Header #Navi ul li:nth-child(3) {
				transition-delay: 0.3s;
		}
		#Header #Navi ul li:nth-child(4) {
				transition-delay: 0.4s;
		}
		#Header #Navi ul li:nth-child(5) {
				transition-delay: 0.5s;
		}
		#Header #Navi ul li:nth-child(6) {
				transition-delay: 0.6s;
		}
		#Header #Navi ul li:nth-child(7) {
				transition-delay: 0.7s;
		}
		#Header #Navi ul li:nth-child(8) {
				transition-delay: 0.8s;
		}
		#Header #Navi ul li:nth-child(9) {
				transition-delay: 0.9s;
		}
		#Header #Navi ul li:nth-child(10) {
				transition-delay: 0.1s;
		}
		#Header #Navi ul li a {
				display: block;
				font-size: 14px;
				/* legacy */
				font-size: 7.4666666667vw;
				line-height: 1;
				letter-spacing: 0.06em;
				line-height: 1;
				color: #fff;
				padding: 6.6666666667vw 0;
		}
		#Header #MenuBtn {
				position: absolute;
				top: 4.2666666667vw;
				right: 5.3333333333vw;
				z-index: 9999;
				pointer-events: auto;
		}
		#Header #MenuBtn a {
				display: block;
				width: 10.6666666667vw;
				height: 7.7333333333vw;
		}
		#Header #MenuBtn a img {
				width: 100%;
				height: 100%;
		}
		#Header #MenuBtn a.close {
				overflow: hidden;
				transition: transform 0.15s ease-out;
		}
		#Header #MenuBtn a.open {
				display: none;
		}
		.MOpen #Header::after {
				background: #FFF33F;
		}
		.MOpen #Header::before {
				opacity: 1;
		}
		.MOpen #Header h1 .svg .fill-hd-logo {
				fill: #533076;
		}
		.MOpen #Header #Navi {
				overflow: scroll;
				overflow-x: hidden;
				overflow-y: auto;
		}
		.MOpen #Header #Navi ul {
				pointer-events: auto;
		}
		.MOpen #Header #Navi ul li {
				opacity: 1;
		}
		.MOpen #Header #MenuBtn a.close {
				display: none;
		}
		.MOpen #Header #MenuBtn a.open {
				display: block;
		}
		.MOpen #Header {
				overflow-x: hidden;
				overflow-y: scroll;
				pointer-events: auto;
				height: 100%;
		}
		.MClose #Header #Navi::before {
				transition: opacity 0.3s ease-out;
		}
		.MClose #Header #Navi ul li {
				transition: opacity 0.3s ease-out;
		}
		.MClose #Header #Navi ul li:nth-child(1) {
				transition-delay: 0;
		}
		.MClose #Header #Navi ul li:nth-child(2) {
				transition-delay: 0;
		}
		.MClose #Header #Navi ul li:nth-child(3) {
				transition-delay: 0;
		}
		.MClose #Header #Navi ul li:nth-child(4) {
				transition-delay: 0;
		}
		.MClose #Header #Navi ul li:nth-child(5) {
				transition-delay: 0;
		}
		.MClose #Header #Navi ul li:nth-child(6) {
				transition-delay: 0;
		}
		.MClose #Header #Navi ul li:nth-child(7) {
				transition-delay: 0;
		}
		.MClose #Header #Navi ul li:nth-child(8) {
				transition-delay: 0;
		}
		.MClose #Header #Navi ul li:nth-child(9) {
				transition-delay: 0;
		}
		.MClose #Header #Navi ul li:nth-child(10) {
				transition-delay: 0;
		}
		#Cover {
				position: relative;
		}
		#Cover .image {
				width: 100%;
				height: 210.6666666667vw;
		}
		#Cover .image .step1, #Cover .image .step2, #Cover .image .step3, #Cover .image .step4, #Cover .image .step5 {
				width: 100%;
				height: 210.6666666667vw;
				position: absolute;
				opacity: 0;
				top: 0;
				left: 0;
				transition: all 0.5s ease-out;
		}
		#Cover .image .step1 {
				z-index: 5;
		}
		#Cover .image .step2 {
				z-index: 4;
		}
		#Cover .image .step3 {
				z-index: 3;
		}
		#Cover .image .step4 {
				z-index: 10;
		}
		#Cover .image .step5 {
				z-index: 10;
		}
		#Cover .image .step1 {
				translate: 0 13.3333333333vw;
		}
		#Cover .image .step2 {
				scale: 0.7;
				transition-delay: 0.5s;
		}
		#Cover .image .step3 {
				scale: 0.7;
				transition-delay: 0.7s;
		}
		#Cover .image .step4 {
				transition-delay: 1s;
		}
		#Cover .image .step5 {
				transition-delay: 1.1s;
		}
		#Cover .copy {
				margin-top: 25.3333333333vw;
		}
		#Cover .copy .inner {
				width: 76vw;
				margin-left: auto;
				margin-right: auto;
		}
		#Cover .copy {
				color: #533076;
				font-size: 7px;
				/* legacy */
				font-size: 3.7333333333vw;
				line-height: 2.2142857143;
				letter-spacing: 0em;
				text-align: center;
		}
		#Cover .copy span {
				display: block;
				background: url(../images/svg/line_dot@sp.svg) no-repeat left bottom;
		}
		#Cover .copy {
				text-align: center;
		}
		#Cover.Play .image .step1, #Cover.Play .image .step2, #Cover.Play .image .step3, #Cover.Play .image .step4, #Cover.Play .image .step5 {
				opacity: 1;
				scale: 1;
				translate: 0 0;
		}
		#reserveBtn {
				position: fixed;
				right: 5.3333333333vw;
				bottom: 6.6666666667vw;
				z-index: 99;
				width: 31.2vw;
				height: 31.2vw;
		}
		#reserveBtn.Play {
				animation-name: fadeIn;
		}
		#reserveBtn .svg, #reserveBtn img {
				position: relative;
				z-index: 10;
		}
		#reserveBtn a {
				position: absolute;
				display: block;
				width: 31.2vw;
				height: 31.2vw;
		}
		#reserveBtn a .svg, #reserveBtn a img {
				overflow: visible;
				position: relative;
				z-index: 10;
				filter: drop-shadow(0.8vw 0.8vw 0 rgba(0, 0, 0, 0.5));
		}
		#reserveBtn a .svg .fill-pink, #reserveBtn a img .fill-pink {
				fill: #EA6DA4;
				transition: fill 0.15s ease-out;
		}
		#About {
				position: relative;
				margin-top: 48vw;
				margin-bottom: 32vw;
		}
		#About .frame {
				position: relative;
				z-index: 10;
		}
		#About .sectionTitle img {
				width: 58.6666666667vw;
		}
		#About .term {
				margin-top: 14.6666666667vw;
				margin-bottom: 14.6666666667vw;
		}
		#About .term img {
				width: 84vw;
		}
		#About .mod_table {
				width: 100%;
				margin-left: auto;
				margin-right: auto;
				display: block;
		}
		#About .mod_table dl {
				display: block;
		}
		#About .mod_table dl dt, #About .mod_table dl dd {
				display: block;
				padding: 4vw 5.3333333333vw;
				color: #533076;
				text-align: center;
				font-size: 8px;
				/* legacy */
				font-size: 4.2666666667vw;
				line-height: 1.625;
				letter-spacing: 0em;
				font-weight: bold;
		}
		#About .mod_table dl dt {
				color: #EA6DA4;
				letter-spacing: 0.06em;
				padding-bottom: 1.8666666667vw;
		}
		#About .mod_table dl dd {
				color: #533076;
				padding-top: 0;
		}
		#Program {
				margin-bottom: 66.6666666667vw;
		}
		#Program .inner {
				position: relative;
				z-index: 10;
				margin-left: auto;
				margin-right: auto;
				padding-left: 0;
				padding-right: 0;
		}
		#Program .sectionTitle {
				text-align: center;
				margin-bottom: 10.6666666667vw;
		}
		#Program .sectionTitle small {
				display: block;
				color: #533076;
				font-size: 8px;
				/* legacy */
				font-size: 4.2666666667vw;
				line-height: 1.4375;
				letter-spacing: 0.036em;
				text-align: center;
				margin-bottom: 5.3333333333vw;
		}
		#Program .sectionTitle img {
				width: 70.4vw;
		}
		#Program .list {
				width: 88.8vw;
				margin-left: auto;
				margin-right: auto;
		}
		#Program .list .block {
				position: relative;
				width: 88.8vw;
		}
		#Program .list .block + .block {
				margin-top: 26.6666666667vw;
		}
		#Program .list .block::before {
				content: "";
				display: block;
				width: 14.9333333333vw;
				height: 10.1333333333vw;
				position: absolute;
				top: -9.0666666667vw;
				left: 0.5333333333vw;
				background-repeat: no-repeat;
				background-size: 100%;
		}
		#Program .list .block.num1::before {
				background-image: url(../images/svg/program_01_num.svg);
		}
		#Program .list .block.num2::before {
				background-image: url(../images/svg/program_02_num.svg);
		}
		#Program .list .block.num3::before {
				background-image: url(../images/svg/program_03_num.svg);
		}
		#Program .list .block.num4::before {
				background-image: url(../images/svg/program_04_num.svg);
		}
		#Program .list .block .image {
				border: solid 9px #533076;
				border-radius: 9px;
				overflow: hidden;
				background: #533076;
		}
		#Program .list .block .image img {
				background: #533076;
		}
		#Program .list .block .text {
				width: 82.6666666667vw;
				margin-left: auto;
				margin-right: auto;
				margin-top: 5.3333333333vw;
				text-align: center;
		}
		#Program .list .block .text dl dt {
				color: #EA6DA4;
				font-size: 13.5px;
				/* legacy */
				font-size: 7.2vw;
				line-height: 1;
				letter-spacing: 0.06em;
		}
		#Program .list .block .text dl dd {
				color: #533076;
				font-size: 7.5px;
				/* legacy */
				font-size: 4vw;
				line-height: 1.6666666667;
				letter-spacing: 0em;
				margin-top: 1em;
		}
		#Application {
				text-align: center;
		}
		#Application .frame {
				position: relative;
				z-index: 10;
		}
		#Application .sectionTitle {
				width: 89.3333333333vw;
				margin-left: auto;
				margin-right: auto;
				border-bottom: solid 0.8vw #533076;
				padding-bottom: 4vw;
				margin-bottom: 4vw;
		}
		#Application .sectionTitle img {
				width: 89.3333333333vw;
		}
		#Application .text {
				color: #533076;
				font-size: 7px;
				/* legacy */
				font-size: 3.7333333333vw;
				line-height: 1.9285714286;
				letter-spacing: 0.06em;
				margin-bottom: 8vw;
		}
		#Application .link {
				position: relative;
				width: 86.9333333333vw;
				height: 13.6vw;
				margin-left: auto;
				margin-right: auto;
		}
		#Application .link + .link {
				margin-top: 6.6666666667vw;
		}
		#Application .link::after {
				content: "";
				display: block;
				width: 100%;
				height: 100%;
				border-radius: 999px;
				position: absolute;
				left: 1.0666666667vw;
				top: 1.0666666667vw;
				z-index: 1;
				background: rgba(234, 109, 164, 0.52);
		}
		#Application .link a {
				position: relative;
				z-index: 10;
				display: flex;
				justify-content: center;
				align-items: center;
				width: 86.9333333333vw;
				height: 13.6vw;
				background: #EA6DA4;
				border-radius: 999px;
				color: #FFF;
		}
		#Application .link a span {
				font-size: 12px;
				/* legacy */
				font-size: 6.4vw;
				line-height: 1;
				letter-spacing: 0.06em;
		}
		#Application .present {
				width: 89.3333333333vw;
				margin-left: auto;
				margin-right: auto;
				margin-top: 12vw;
				background: rgba(255, 243, 63, 0.25);
				border-radius: 5.3333333333vw;
				text-align: center;
				padding-top: 10.6666666667vw;
				padding-bottom: 10.6666666667vw;
		}
		#Application .present .title {
				color: #533076;
				font-size: 9.5px;
				/* legacy */
				font-size: 5.0666666667vw;
				line-height: 1.3157894737;
				letter-spacing: 0.036em;
				margin-bottom: 8vw;
		}
		#Application .present .qr, #Application .present .note {
				width: 77.3333333333vw;
				margin-left: auto;
				margin-right: auto;
		}
		#Application .present .qr .banner {
				width: 77.3333333333vw;
		}
		#Application .present .qr .banner + .banner {
				margin-top: 2.6666666667vw;
		}
		#Application .present .note {
				color: #533076;
				font-size: 4.5px;
				/* legacy */
				font-size: 2.4vw;
				line-height: 1;
				letter-spacing: 0.01em;
				text-align: left;
				margin-top: 2.6666666667vw;
		}
		#Pickup {
				margin-top: 26.6666666667vw;
				padding-top: 26.6666666667vw;
				text-align: center;
		}
		#Pickup .inner {
				padding-left: 0;
				padding-right: 0;
		}
		#Pickup .sectionTitle img {
				width: 51.7333333333vw;
		}
		#Pickup .voice {
				width: 89.3333333333vw;
				margin-left: auto;
				margin-right: auto;
				margin-top: 5.3333333333vw;
		}
		#Pickup .voice .subTitle {
				color: #533076;
				font-size: 9.5px;
				/* legacy */
				font-size: 5.0666666667vw;
				line-height: 1;
				letter-spacing: 0.036em;
				padding-bottom: 2.6666666667vw;
				border-bottom: solid 0.8vw #533076;
				display: inline-block;
				margin-left: auto;
				margin-right: auto;
		}
		#Pickup .voice .chat {
				margin-top: 25.3333333333vw;
		}
		#Pickup .voice .chat .block {
				position: relative;
				z-index: 10;
				width: 21.8666666667vw;
		}
		#Pickup .voice .chat .block .icon {
				width: 21.8666666667vw;
		}
		#Pickup .voice .chat .block .fukidashi {
				position: absolute;
				top: -18.6666666667vw;
				width: 29.3333333333vw;
				height: 29.3333333333vw;
				background-repeat: no-repeat;
				background-position: left top;
				background-size: 100%;
				display: flex;
				justify-content: center;
				align-items: center;
		}
		#Pickup .voice .chat .block .fukidashi span {
				color: #FFF;
				font-size: 5px;
				/* legacy */
				font-size: 2.6666666667vw;
				line-height: 1.5;
				letter-spacing: 0.06em;
		}
		#Pickup .voice .chat .block:nth-child(even) {
				margin-left: auto;
		}
		#Pickup .voice .chat .block:nth-child(even) .fukidashi {
				background-image: url(../images/svg/pickup_popup_02.svg);
				right: 16vw;
				transform-origin: right bottom;
		}
		#Pickup .voice .chat .block:nth-child(odd) {
				margin-right: auto;
		}
		#Pickup .voice .chat .block:nth-child(odd) .fukidashi {
				background-image: url(../images/svg/pickup_popup_01.svg);
				left: 16vw;
				transform-origin: left bottom;
		}
		#Pickup .voice .chat .block:nth-child(n+2) {
				margin-top: -2.6666666667vw;
		}
		#Pickup .support {
				margin-top: 50.6666666667vw;
				width: 89.3333333333vw;
				margin-left: auto;
				margin-right: auto;
		}
		#Pickup .support .subTitle {
				position: relative;
				z-index: 10;
				display: inline-block;
				margin-left: auto;
				margin-right: auto;
				margin-bottom: 4vw;
				text-align: center;
		}
		#Pickup .support .subTitle span, #Pickup .support .subTitle strong {
				display: block;
		}
		#Pickup .support .subTitle span {
				color: #533076;
				font-size: 10px;
				/* legacy */
				font-size: 5.3333333333vw;
				line-height: 1;
				letter-spacing: 0.036em;
				border-bottom: solid 0.8vw #533076;
				padding-bottom: 2.6666666667vw;
				margin-bottom: 2.6666666667vw;
		}
		#Pickup .support .subTitle strong {
				color: #EA6DA4;
				font-size: 8px;
				/* legacy */
				font-size: 4.2666666667vw;
				line-height: 1.5;
				letter-spacing: 0.01em;
		}
		#Pickup .support .photoArea {
				position: relative;
				z-index: 10;
		}
		#Pickup .support .photoArea::after {
				content: "";
				display: block;
				width: 21.0666666667vw;
				height: 15.7333333333vw;
				background: url(../images/svg/support_mark.svg) no-repeat left top;
				background-size: 100%;
				position: absolute;
				top: -17.3333333333vw;
				right: -1.3333333333vw;
				z-index: 10;
		}
		#Pickup .support .photoArea .image {
				position: relative;
				z-index: 1;
				border-radius: 2.4vw;
				overflow: hidden;
		}
		#Pickup .support .photoArea .main .text {
				color: #533076;
				font-size: 7px;
				/* legacy */
				font-size: 3.7333333333vw;
				line-height: 1.7142857143;
				letter-spacing: 0.01em;
				margin-top: 5.3333333333vw;
		}
		#Pickup .support .photoArea .left, #Pickup .support .photoArea .right {
				position: absolute;
		}
		#Pickup .support .photoArea .left {
				width: 52.2666666667vw;
				top: 85.6vw;
				left: -12.2666666667vw;
		}
		#Pickup .support .photoArea .right {
				width: 57.0666666667vw;
				top: 140.8vw;
				left: 42.9333333333vw;
		}
		#Pickup .support .frame {
				position: relative;
				margin-top: 55px;
				height: 798px;
		}
		#Pickup .support .frame .text {
				margin-top: 30px;
				text-align: left;
		}
		#Pickup .support .frame .text dl dt {
				font-size: 25px;
				line-height: 1.44;
				letter-spacing: 0.01em;
				color: #00A6DC;
		}
		#Pickup .support .frame .text dl dd {
				font-size: 16px;
				line-height: 1.8125;
				letter-spacing: 0.01em;
				color: #533076;
				margin-top: 1.8em;
		}
		#Pickup .support .frame .image {
				position: absolute;
				top: 0;
				right: 0;
		}
		#Contents {
				text-align: center;
				margin-top: 186.6666666667vw;
				margin-bottom: 26.6666666667vw;
		}
		#Contents .inner {
				position: relative;
				z-index: 10;
				width: 89.3333333333vw;
				margin-left: auto;
				margin-right: auto;
				padding-left: 0;
				padding-right: 0;
		}
		#Contents .sectionTitle img {
				width: 68.2666666667vw;
		}
		#Contents .copy {
				width: 100%;
				border-top: solid 0.8vw #FFF;
				font-size: 6.5px;
				/* legacy */
				font-size: 3.4666666667vw;
				line-height: 1.9230769231;
				letter-spacing: 0.06em;
				text-align: center;
				margin-top: 5.3333333333vw;
				padding-top: 5.3333333333vw;
				margin-bottom: 12vw;
		}
		#Contents .block {
				position: relative;
				width: 89.6vw;
				margin-left: auto;
				margin-right: auto;
		}
		#Contents .block .title {
				margin-bottom: 5.3333333333vw;
		}
		#Contents .block .title img {
				width: 67.2vw;
		}
		#Contents .plus {
				position: relative;
				width: 100%;
				margin-top: 65.0666666667vw;
				margin-left: auto;
				margin-right: auto;
		}
		#Contents .plus .text {
				position: relative;
				z-index: 10;
				color: #533076;
				margin-top: 4vw;
		}
		#Contents .plus .text dl dt {
				text-align: left;
				font-size: 19px;
				/* legacy */
				font-size: 10.1333333333vw;
				line-height: 1;
				letter-spacing: 0.06em;
				white-space: nowrap;
				padding-bottom: 2.6666666667vw;
				margin-bottom: 2.6666666667vw;
				border-bottom: solid 0.8vw #533076;
		}
		#Contents .plus .text dl dt sup {
				translate: 0 -50%;
		}
		#Contents .plus .text dl dd {
				font-size: 7px;
				/* legacy */
				font-size: 3.7333333333vw;
				line-height: 1.5714285714;
				letter-spacing: 0.06em;
				text-align: left;
		}
		#Contents .plus .text .link {
				width: 47.2vw;
				margin-left: auto;
				margin-right: auto;
				margin-top: 6.6666666667vw;
		}
		#Contents .plus .text .link a {
				width: 47.2vw;
				height: 11.7333333333vw;
				display: flex;
				justify-content: center;
				align-items: center;
				background: #533076;
				border-radius: 999px;
		}
		#Contents .plus .text .link a img, #Contents .plus .text .link a .svg {
				width: 13.8666666667vw;
		}
		/*-------------------------------------------> Banner */
		#Banner {
				width: 100%;
				padding: 10.6666666667vw 5.3333333333vw;
				background: rgba(255, 255, 255, 0.65);
		}
		#Banner .banner {
				display: grid;
				gap: 1.8666666667vw 1.8666666667vw;
				grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		#Banner .banner li img {
				display: block;
				width: 100%;
				height: 100%;
				object-fit: cover;
		}
		/*-------------------------------------------> fixBanner */
		#fixBanner {
				opacity: 0;
				pointer-events: none;
				position: fixed;
				z-index: 100;
				left: 50%;
				bottom: 0;
				transform: translateX(-50%);
				width: 80vw;
				padding: 0 0 4.2666666667vw;
				transition: all 0.3s ease-out;
				box-sizing: border-box;
		}
		#fixBanner #BnrBtn {
				position: absolute;
				right: 0;
				top: -11.2vw;
				width: 8.5333333333vw;
				height: 8.5333333333vw;
				cursor: pointer;
				transition: all 0.3s ease-out;
		}
		#fixBanner #BnrBtn .svg .line2 {
				transform: rotate(-90deg);
				transition: all 0.3s ease-out;
		}
		.fixBnrShow #fixBanner {
				opacity: 1;
				pointer-events: auto;
		}
		.bnrHide #fixBanner {
				position: fixed;
				transform: translateY(100%) translateX(-50%);
		}
		.bnrHide #fixBanner #BnrBtn .svg .line2 {
				transform: rotate(0);
		}
		/*-------------------------------------------> Footer */
		#Footer {
				background: #533076;
				padding-top: 10.6666666667vw;
				padding-bottom: 40vw;
		}
		#Footer .navi {
				display: flex;
				justify-content: center;
				font-size: 7px;
				/* legacy */
				font-size: 3.7333333333vw;
				line-height: 1.5;
				letter-spacing: 0.1em;
				margin-top: 4vw;
		}
		#Footer .navi li {
				border-left: solid 1px #FFF;
		}
		#Footer .navi li + li {
				border-right: solid 1px #FFF;
		}
		#Footer .navi a {
				display: inline-block;
				padding-left: 2em;
				padding-right: 2em;
				color: #FFF;
		}
		#Footer .copyright {
				font-size: 6px;
				/* legacy */
				font-size: 3.2vw;
				line-height: 1;
				letter-spacing: 0em;
				margin-top: 9.3333333333vw;
				color: #a694b7;
		}
		#Footer .logo img {
				width: 101.3333333333vw;
		}
		/*-------------------------------------------> Overflow */
		#Main {
				width: 100vw;
				overflow: hidden;
		}
		/*-------------------------------------------> plugin style */
}
/* animation
.image {
	animation-delay: 0.3s;
}
&.inView {
	.base, .image {
		animation-name: fadeInUp;
	}
}
*/
.isAnim.is-will-change,
.jsWillChange.is-will-change {
		will-change: opacity, transform;
}

/*-------------------------------------------> animation module */
.anim-fadeInUp {
		opacity: 0;
		animation-duration: 0.75s;
		animation-iteration-count: 1;
		animation-timing-function: cubic-bezier(0.67, 0, 0.18, 1);
		animation-fill-mode: both;
}

.inView .isAnim.inView.anim-fadeInUp,
.inView .isAnim.inView .anim-fadeInUp,
.inView .anim-fadeInUp,
.inView.anim-fadeInUp {
		animation-name: fadeInUp;
}

.inView .isAnim.anim-fadeInUp,
.inView .isAnim .anim-fadeInUp {
		animation-name: none;
}

.anim-fadeIn {
		opacity: 0;
		animation-duration: 0.5s;
		animation-iteration-count: 1;
		animation-timing-function: cubic-bezier(0.67, 0, 0.18, 1);
		animation-fill-mode: both;
}

.inView .isAnim.inView.anim-fadeIn,
.inView .isAnim.inView .anim-fadeIn,
.inView .anim-fadeIn,
.inView.anim-fadeIn {
		animation-name: fadeIn;
}

.inView .isAnim.anim-fadeIn,
.inView .isAnim .anim-fadeIn {
		animation-name: none;
}

.anim-popup {
		opacity: 0;
		animation-duration: 0.15s;
		animation-iteration-count: 1;
		animation-timing-function: linear;
		animation-fill-mode: both;
}

.inView .isAnim.inView.anim-popup,
.inView .isAnim.inView .anim-popup,
.inView .anim-popup,
.inView.anim-popup {
		animation-name: popup;
}

.inView .isAnim.anim-popup,
.inView .isAnim .anim-popup {
		animation-name: none;
}

/* delay */
.delay0 {
		animation-delay: 0s;
}

.delay1 {
		animation-delay: 0.2s;
}

.delay2 {
		animation-delay: 0.4s;
}

.delay3 {
		animation-delay: 0.6s;
}

.delay4 {
		animation-delay: 0.8s;
}

.delay5 {
		animation-delay: 1s;
}

.delay6 {
		animation-delay: 1.2s;
}

.delay7 {
		animation-delay: 1.4s;
}

.delay8 {
		animation-delay: 1.6s;
}

.delay9 {
		animation-delay: 1.8s;
}

.delay10 {
		animation-delay: 2s;
}

.delay11 {
		animation-delay: 2.2s;
}

/*-------------------------------------------> keyframe */
@keyframes fadeInUp {
		from {
				opacity: 0;
				transform: translate3d(0, 20px, 0);
		}
		to {
				opacity: 1;
				transform: none;
		}
}
@keyframes fadeIn {
		from {
				opacity: 0;
		}
		to {
				opacity: 1;
		}
}
@keyframes popup {
		0% {
				opacity: 0;
				transform: scale(0, 0);
		}
		1% {
				opacity: 1;
				transform: scale(0, 0);
		}
		70% {
				opacity: 1;
				transform: scale(1.1, 1.1);
		}
		100% {
				opacity: 1;
				transform: scale(1, 1);
		}
}
@keyframes loading {
		from {
				transform: rotate(0deg);
		}
		to {
				transform: rotate(-360deg);
		}
}
@keyframes scrollAnim {
		0% {
				clip-path: inset(0 100% 0 0);
		}
		5% {
				clip-path: inset(0 100% 0 0);
		}
		30% {
				clip-path: inset(0 0 0 0);
		}
		75% {
				clip-path: inset(0 0 0 0);
		}
		100% {
				clip-path: inset(0 0 0 100%);
		}
}