@charset "UTF-8";
@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap";

html {
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	word-break: normal;
	-moz-tab-size: 4;
	-o-tab-size: 4;
	tab-size: 4
}

*,
:before,
:after {
	background-repeat: no-repeat;
	box-sizing: inherit
}

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

* {
	margin: 0;
	padding: 0
}

hr {
	color: inherit;
	height: 0;
	overflow: visible
}

details,
main {
	display: block
}

summary {
	display: list-item
}

small {
	font-size: 80%
}

[hidden] {
	display: none
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted
}

a {
	background-color: transparent
}

a:active,
a:hover {
	outline-width: 0
}

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

pre {
	font-size: 1em
}

b,
strong {
	font-weight: bolder
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

table {
	border-color: inherit;
	text-indent: 0
}

iframe {
	border-style: none
}

input {
	border-radius: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

textarea {
	overflow: auto;
	resize: vertical
}

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

optgroup {
	font-weight: 700
}

button {
	overflow: visible
}

button,
select {
	text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
	cursor: pointer
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0
}

button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	outline: 1px dotted ButtonText
}

button,
html [type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button
}

button,
input,
select,
textarea {
	background-color: transparent;
	border-style: none
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline-width: 0
}

select {
	-moz-appearance: none;
	-webkit-appearance: none
}

select::-ms-expand {
	display: none
}

select::-ms-value {
	color: currentColor
}

legend {
	border: 0;
	color: inherit;
	display: table;
	max-width: 100%;
	white-space: normal
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	color: inherit;
	font: inherit
}

[disabled] {
	cursor: default
}

img {
	border-style: none
}

progress {
	vertical-align: baseline
}

[aria-busy=true] {
	cursor: progress
}

[aria-controls] {
	cursor: pointer
}

[aria-disabled=true] {
	cursor: default
}

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	height: 100%;
	text-rendering: optimizeLegibility
}

body {
	background-color: #fff;
	color: #000;
	font-family: Noto Sans JP, sans-serif;
	font-feature-settings: "palt";
	font-optical-sizing: auto;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 2;
	text-align: center
}

a {
	color: inherit;
	text-decoration: none
}

img {
	display: block;
	width: auto
}

li {
	list-style-type: none
}

* {
	outline: none
}

.title {
	align-items: center;
	display: flex;
	justify-content: center
}

.button {
	height: 81px;
	max-width: 380px
}

.button img {
	width: 100%
}

.button .hidden-text {
	pointer-events: none;
	visibility: hidden
}

.start-button {
	background: url(/assets/images/btn_start.svg) no-repeat 50% 50%/contain;
	bottom: 56px;
	filter: drop-shadow(0 2px 16px rgba(0, 0, 0, .25));
	left: 0;
	margin: auto;
	opacity: 1;
	pointer-events: all;
	position: fixed;
	right: 0;
	transition: all .2s;
	z-index: 10
}

.mask {
	position: relative;
	width: 100%;
	z-index: 0
}

.mask:after {
	background: #fff;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transform: translate(0);
	transition: transform .6s;
	width: 100%;
	z-index: 1
}

.mask.is-show:after {
	transform: translate(100%)
}

.slide-up {
	overflow: hidden
}

.slide-up img {
	transform: translateY(100%);
	transition: transform .5s
}

.slide-up.is-show img {
	transform: translateY(0)
}

.main {
	overflow: hidden
}

.kv {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: relative
}

.kv .title {
	position: absolute;
	width: 100%
}

.kv .title-pc {
	display: none
}

.kv .title-pc img {
	width: 100%
}

.kv .bg,
.kv .phone-pc {
	height: 932px;
	width: 100%
}

.kv .bg {
	background: url(/assets/images/kv_sp.webp) no-repeat 50% 50%/cover
}

.kv .info {
	display: none
}

.kv .info .qr {
	width: 120px
}

.kv .info .qr img {
	width: 100%
}

.kv .info .text {
	color: #fff;
	font-size: 20px;
	letter-spacing: .16em;
	line-height: 28px;
	margin-bottom: 12px;
	text-align: left;
	text-shadow: 0 0 24px rgba(0, 0, 0, .4);
	width: calc(100% - 147px)
}

.content {
	background: #fff;
	margin: auto;
	max-width: 430px;
	position: relative
}

.content .text span {
	display: block
}

.about {
	padding-bottom: 163px;
	padding-top: 152px;
	position: relative
}

.about .title {
	position: relative
}

.about .title-image {
	height: 89px
}

.about .movie {
	margin: 0 auto 37px;
	position: relative
}

.about .movie .inner {
	height: 417px;
	margin-top: -14px
}

.about .movie .inner .bg {
	background: url("data:image/svg+xml,%3csvg%20width='373'%20height='418'%20viewBox='0%200%20373%20418'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M21.01%200.439941H351.75C363.07%200.439941%20372.26%209.62994%20372.26%2020.9499V396.12C372.26%20407.44%20363.07%20416.63%20351.75%20416.63H21.01C9.69%20416.63%200.5%20407.44%200.5%20396.12V20.9499C0.5%209.62994%209.69%200.439941%2021.01%200.439941Z'%20fill='url(%23paint0_linear_1393_106)'/%3e%3cpath%20d='M351.753%200.88C362.812%200.88%20371.812%209.88%20371.812%2020.94V396.11C371.812%20407.17%20362.812%20416.17%20351.753%20416.17H21.0125C9.9525%20416.17%200.9525%20407.17%200.9525%20396.11V20.95C0.9525%209.89%209.9525%200.89%2021.0125%200.89H351.753M351.753%200H21.0125C9.4425%200%200.0625%209.38%200.0625%2020.95V396.12C0.0625%20407.69%209.4425%20417.07%2021.0125%20417.07H351.753C363.323%20417.07%20372.703%20407.69%20372.703%20396.12V20.95C372.703%209.38%20363.323%200%20351.753%200Z'%20fill='black'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_1393_106'%20x1='186.39'%20y1='0.449941'%20x2='186.39'%20y2='416.62'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%2303C0EA'/%3e%3cstop%20offset='0.605769'%20stop-color='%23EDEBF9'/%3e%3cstop%20offset='1'%20stop-color='%23EDEBF9'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e") no-repeat center/contain;
	height: 417px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 373px
}

.about .movie .border {
	border: 1px solid #000;
	border-radius: 20px;
	height: auto;
	left: 0;
	margin: auto;
	max-width: 160px;
	overflow: hidden;
	position: absolute;
	right: 0;
	top: 58px;
	z-index: 2
}

.about .movie video {
	margin-top: 10px;
	transform: scale(1.1);
	width: 160px
}

.about .module {
	z-index: 2
}

.about .module-kira-01 {
	margin-left: 185px;
	top: -20px
}

.about .module-kira-02 {
	margin-left: -175px;
	top: 15px;
	z-index: 2
}

.about .module-kira-03 {
	bottom: -38px;
	margin-left: 148px;
	z-index: 2
}

.about .module-about-01 {
	margin-left: 92px;
	top: 15px
}

.about .module-about-02 {
	margin-left: -106px;
	top: 64px
}

.about .module-about-03 {
	margin-left: 165px;
	top: 129px
}

.about .module-about-04 {
	bottom: 89px;
	margin-left: -148px
}

.about .module-about-05 {
	bottom: 101px;
	margin-left: 91px;
	z-index: 0
}

.about .module-about-06 {
	bottom: -16px;
	margin-left: -40px
}

.about .text {
	font-weight: 400;
	line-height: 1.96
}

.overview {
	padding-bottom: 55px;
	position: relative
}

.overview .title {
	font-size: 24px;
	line-height: 36px;
	margin-bottom: 54px
}

.overview .image {
	display: flex;
	justify-content: center;
	margin-bottom: 25px
}

.overview .image img {
	left: 3px;
	position: relative
}

.overview .note {
	display: flex;
	flex-direction: column;
	font-size: 14px;
	font-weight: 400;
	gap: 8px;
	letter-spacing: .033em;
	line-height: 24px;
	margin: 0 22px;
	text-align: left;
	width: auto
}

.districts {
	position: relative
}

.districts .title {
	font-size: 24px;
	line-height: 36px;
	margin-bottom: 54px
}

.districts .lead {
	display: flex;
	flex-direction: column;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.37;
	margin-bottom: -3px
}

.districts .note {
	display: flex;
	flex-direction: column;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 24px;
	margin: 0 44px 65px;
	text-align: center;
	width: auto
}

.districts .text {
	font-size: 18px;
	font-weight: 400;
	letter-spacing: .04em;
	margin-bottom: 41px
}

.districts .text-highlight {
	font-size: 32px;
	line-height: 1
}

.districts .accordion {
	margin-bottom: 70px;
	position: relative
}

.districts .accordion:after {
	background-image: linear-gradient(0deg, #fff, #fff0);
	bottom: -1px;
	content: "";
	height: 145px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 100%
}

.districts .accordion:has(.content.active) {
	margin-bottom: 0
}

.districts .accordion:has(.content.active):after {
	display: none
}

.districts .accordion .open-button {
	background-image: url("data:image/svg+xml,%3csvg%20width='42'%20height='42'%20viewBox='0%200%2042%2042'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M21%2041C32.0457%2041%2041%2032.0457%2041%2021C41%209.95431%2032.0457%201%2021%201C9.95431%201%201%209.95431%201%2021C1%2032.0457%209.95431%2041%2021%2041Z'%20fill='url(%23paint0_linear_363_1802)'%20stroke='black'%20stroke-miterlimit='10'/%3e%3cpath%20d='M11%2021.3301H31'%20stroke='black'%20stroke-miterlimit='10'/%3e%3cpath%20d='M21%2011.3301V31.3301'%20stroke='black'%20stroke-miterlimit='10'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_363_1802'%20x1='21'%20y1='1'%20x2='21'%20y2='41'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.18'%20stop-color='white'/%3e%3cstop%20offset='0.96'%20stop-color='%2300BCFF'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e");
	background-size: cover;
	bottom: -44px;
	cursor: pointer;
	height: 40px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 40px;
	z-index: 2
}

.districts .accordion .open-button:has(+.content.active) {
	display: none
}

.districts .accordion .close-button {
	background-image: url("data:image/svg+xml,%3csvg%20width='42'%20height='42'%20viewBox='0%200%2042%2042'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M21%2041C32.0457%2041%2041%2032.0457%2041%2021C41%209.95431%2032.0457%201%2021%201C9.95431%201%201%209.95431%201%2021C1%2032.0457%209.95431%2041%2021%2041Z'%20fill='url(%23paint0_linear_363_1807)'%20stroke='black'%20stroke-miterlimit='10'/%3e%3cpath%20d='M11%2021.3301H31'%20stroke='black'%20stroke-miterlimit='10'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_363_1807'%20x1='21'%20y1='1'%20x2='21'%20y2='41'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.18'%20stop-color='white'/%3e%3cstop%20offset='0.96'%20stop-color='%2300BCFF'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e");
	background-size: cover;
	cursor: pointer;
	display: none;
	height: 40px;
	width: 40px
}

.districts .accordion .content {
	font-weight: 400;
	height: 145px;
	overflow: hidden;
	transition: all .5s ease-out
}

.districts .accordion .content.active {
	margin-bottom: 12px
}

.districts .accordion .content.active .close-button {
	display: inline-block
}

.districts .accordion .content .text {
	margin: 0 22px 20px
}

.districts .accordion .content .text span {
	letter-spacing: .01em;
	line-height: 1.5
}

.howto {
	padding-bottom: 297px;
	padding-top: 203px;
	position: relative
}

.howto .title {
	margin-bottom: 109px;
	position: relative
}

.howto .title .module-howto-01 {
	bottom: -4px;
	margin-left: -168px
}

.howto .title .module-howto-02 {
	margin-left: 153px;
	top: -14px
}

.howto .card {
	align-items: center;
	display: flex;
	flex-direction: column;
	position: relative
}

.howto .card-01 .module {
	margin-left: 1px;
	top: -58px
}

.howto .card-01 .image {
	margin-bottom: 17px
}

.howto .card-02 {
	margin-top: 127px
}

.howto .card-02 .module {
	margin-left: 3px;
	top: -72px
}

.howto .card-02 .image {
	margin-bottom: 18px
}

.howto .card-03 {
	margin-top: 127px
}

.howto .card-03 .module {
	margin-left: 7px;
	top: -58px
}

.howto .card-03 .image {
	margin-bottom: 20px
}

.howto .card .module {
	left: 50%;
	position: absolute;
	transform: translate(-50%)
}

.howto .card .image {
	border: 1px solid #000;
	border-radius: 50%;
	height: 230px;
	overflow: hidden;
	width: 230px
}

.howto .card .text {
	font-weight: 400;
	line-height: 1.4
}

.qa {
	padding-bottom: 378px;
	position: relative
}

.qa .title {
	margin-bottom: 61px;
	position: relative
}

.qa .title .module-qa-01 {
	margin-left: -156px;
	top: -9px
}

.qa .title .module-qa-02 {
	bottom: 8px;
	margin-left: 167px
}

.qa .accordion {
	position: relative
}

.qa .accordion:after {
	background-image: linear-gradient(0deg, #fff, #fff0);
	bottom: 0;
	content: "";
	height: 120px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 100%
}

.qa .accordion:has(.content.active):after {
	display: none
}

.qa .accordion .open-button {
	background-image: url("data:image/svg+xml,%3csvg%20width='42'%20height='42'%20viewBox='0%200%2042%2042'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M21%2041C32.0457%2041%2041%2032.0457%2041%2021C41%209.95431%2032.0457%201%2021%201C9.95431%201%201%209.95431%201%2021C1%2032.0457%209.95431%2041%2021%2041Z'%20fill='url(%23paint0_linear_363_1731)'%20stroke='black'%20stroke-miterlimit='10'/%3e%3cpath%20d='M11%2021.3301H31'%20stroke='black'%20stroke-miterlimit='10'/%3e%3cpath%20d='M21%2011.3301V31.3301'%20stroke='black'%20stroke-miterlimit='10'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_363_1731'%20x1='21'%20y1='1'%20x2='21'%20y2='41'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.18'%20stop-color='white'/%3e%3cstop%20offset='0.96'%20stop-color='%23FFFF40'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e");
	background-size: cover;
	bottom: -44px;
	cursor: pointer;
	height: 42px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	width: 42px;
	z-index: 2
}

.qa .accordion .open-button:has(+.content.active) {
	display: none
}

.qa .accordion .close-button {
	background-image: url("data:image/svg+xml,%3csvg%20width='42'%20height='42'%20viewBox='0%200%2042%2042'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M21%2041C32.0457%2041%2041%2032.0457%2041%2021C41%209.95431%2032.0457%201%2021%201C9.95431%201%201%209.95431%201%2021C1%2032.0457%209.95431%2041%2021%2041Z'%20fill='url(%23paint0_linear_363_251)'%20stroke='black'%20stroke-miterlimit='10'/%3e%3cpath%20d='M11%2021.3301H31'%20stroke='black'%20stroke-miterlimit='10'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_363_251'%20x1='21'%20y1='1'%20x2='21'%20y2='41'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='0.18'%20stop-color='white'/%3e%3cstop%20offset='0.96'%20stop-color='%23FFFF40'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e");
	background-size: cover;
	cursor: pointer;
	display: none;
	height: 40px;
	width: 40px
}

.qa .accordion .content {
	height: 151px;
	overflow: hidden;
	transition: all .5s ease-out
}

.qa .accordion .content.active .close-button {
	display: inline-block
}

.qa .list {
	font-size: 18px;
	font-weight: 400;
	margin: 0 25px;
	text-align: left
}

.qa .list dt,
.qa .list dd {
	display: flex;
	letter-spacing: .13em;
	line-height: 1.37;
	padding-left: 37px;
	position: relative
}

.qa .list dt:before,
.qa .list dd:before {
	content: "";
	display: block;
	height: 23px;
	left: 4px;
	margin-right: 5px;
	position: absolute;
	width: 23px
}

.qa .list dt {
	border-bottom: 1px solid #E8E8E8;
	margin-bottom: 10px;
	padding-bottom: 12px
}

.qa .list dt:before {
	background: url("data:image/svg+xml,%3csvg%20width='23'%20height='22'%20viewBox='0%200%2023%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M9.0385%2019.288C7.7905%2019.288%206.6225%2019.064%205.5345%2018.616C4.4625%2018.152%203.5185%2017.512%202.7025%2016.696C1.8865%2015.864%201.2465%2014.888%200.782501%2013.768C0.318501%2012.632%200.0865005%2011.392%200.0865005%2010.048C0.0865005%208.704%200.318501%207.472%200.782501%206.352C1.2465%205.216%201.8865%204.24%202.7025%203.424C3.5185%202.592%204.4625%201.952%205.5345%201.504C6.6225%201.056%207.7905%200.831999%209.0385%200.831999C10.2865%200.831999%2011.4465%201.064%2012.5185%201.528C13.6065%201.976%2014.5585%202.616%2015.3745%203.448C16.1905%204.264%2016.8305%205.232%2017.2945%206.352C17.7585%207.472%2017.9905%208.704%2017.9905%2010.048C17.9905%2011.392%2017.7585%2012.632%2017.2945%2013.768C16.8305%2014.888%2016.1905%2015.864%2015.3745%2016.696C14.5585%2017.512%2013.6065%2018.152%2012.5185%2018.616C11.4465%2019.064%2010.2865%2019.288%209.0385%2019.288ZM9.0385%2017.488C10.0785%2017.488%2011.0225%2017.296%2011.8705%2016.912C12.7345%2016.528%2013.4785%2015.992%2014.1025%2015.304C14.7265%2014.616%2015.2065%2013.824%2015.5425%2012.928C15.8945%2012.032%2016.0705%2011.072%2016.0705%2010.048C16.0705%209.04%2015.8945%208.088%2015.5425%207.192C15.2065%206.296%2014.7265%205.504%2014.1025%204.816C13.4785%204.128%2012.7345%203.592%2011.8705%203.208C11.0225%202.824%2010.0785%202.632%209.0385%202.632C7.9985%202.632%207.0465%202.824%206.1825%203.208C5.3345%203.592%204.5985%204.128%203.9745%204.816C3.3505%205.504%202.8625%206.296%202.5105%207.192C2.1745%208.088%202.0065%209.04%202.0065%2010.048C2.0065%2011.072%202.1745%2012.032%202.5105%2012.928C2.8625%2013.824%203.3505%2014.616%203.9745%2015.304C4.5985%2015.992%205.3425%2016.528%206.2065%2016.912C7.0705%2017.296%208.0145%2017.488%209.0385%2017.488ZM14.1985%2021.16L7.8385%2011.848H10.0225L16.3825%2021.16H14.1985ZM20.6048%2019V16.36H22.5248V19H20.6048Z'%20fill='black'/%3e%3c/svg%3e") no-repeat center/contain;
	top: 1px
}

.qa .list dd {
	margin-bottom: 46px
}

.qa .list dd:before {
	background: url("data:image/svg+xml,%3csvg%20width='22'%20height='18'%20viewBox='0%200%2022%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0.780563%2018L7.30856%200.119998H9.37256L15.9006%2018H13.8846L12.3486%2013.632H4.35656L2.79656%2018H0.780563ZM4.98056%2011.832H11.6766L8.05256%201.56H8.62856L4.98056%2011.832ZM19.6048%2018V15.36H21.5248V18H19.6048Z'%20fill='black'/%3e%3c/svg%3e") no-repeat center/contain;
	top: 0
}

.qa .list dd:last-of-type {
	margin-bottom: 14px
}

.message {
	padding-bottom: 95px;
	position: relative;
	z-index: 1
}

.message .title {
	margin-bottom: 77px;
	position: relative
}

.message .title .module-message-01 {
	margin-left: -162px;
	top: -16px
}

.message .title .module-message-02 {
	bottom: 19px;
	margin-left: 165px
}

.message .text {
	font-weight: 700;
	letter-spacing: .04em
}

.message .text:nth-child(n+2) {
	margin-top: 2em
}

.message .text-01 {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: .13em;
	line-height: 1.6
}

.message .logo {
	display: flex;
	justify-content: center;
	margin-top: 79px
}

.loop {
	padding-bottom: 274px;
	position: relative
}

.loop .loop-image {
	margin-left: -30px;
	position: relative;
	width: calc(100% + 60px);
	z-index: 0
}

.loop .loop-image .loop {
	display: flex;
	height: auto;
	overflow: hidden;
	padding-bottom: 0
}

.loop .loop-image .loop>* {
	height: auto
}

.loop .loop-image .loop.loop-to-left {
	padding-top: 53px
}

.loop .loop-image .loop.loop-to-right {
	padding-bottom: 53px
}

.loop .loop-image .loop.loop-to-right-line,
.loop .loop-image .loop.loop-to-left-line {
	position: absolute;
	z-index: 2
}

.loop .loop-image .loop.loop-to-right-line {
	top: 0
}

.loop .loop-image .loop.loop-to-left-line {
	bottom: 0
}

.powered {
	position: relative;
	z-index: 1
}

.powered .title {
	margin-bottom: 22px;
	position: relative
}

.powered .title .module-powered-01 {
	margin-left: -170px;
	top: -21px
}

.powered .title .module-powered-02 {
	bottom: -9px;
	margin-left: 166px
}

.powered .title .image {
	margin-bottom: 0
}

.powered .list {
	display: flex;
	flex-direction: column;
	gap: 10px
}

.powered .list li:nth-child(2) .image {
	margin-bottom: 8px
}

.powered .image {
	margin-bottom: -2px
}

.powered .image img {
	margin: 0 auto
}

.powered .text {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .03em;
	line-height: 24px;
	padding-left: 40px;
	padding-right: 40px;
	text-align: left
}

.powered .more {
	align-items: center;
	display: flex;
	justify-content: center
}

.information {
	margin: 0 30px;
	padding-top: 54px;
	position: relative
}

.information .inner {
	border-bottom: 1px solid #000;
	border-top: 1px solid #000;
	padding-bottom: 13px;
	padding-top: 15px
}

.information .inner .text {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.71;
	text-align: left
}

.information .inner .text~.text {
	margin-top: 25px
}

.modal {
	background: #000000e6;
	-webkit-backdrop-filter: blur(15px);
	backdrop-filter: blur(15px);
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: opacity .3s;
	width: 100%;
	z-index: -1
}

.modal .inner {
	display: grid;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: space-between;
	overflow-y: scroll;
	padding-bottom: 56px;
	padding-top: 60px
}

.modal .close-button {
	background: url("data:image/svg+xml,%3csvg%20width='42'%20height='42'%20viewBox='0%200%2042%2042'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M41%201L1%2041'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cpath%20d='M41%2041L1%200.999998'%20stroke='white'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e") no-repeat 50% 50%/contain;
	height: 40px;
	position: absolute;
	right: 32px;
	top: 32px;
	width: 40px
}

.modal .text-block {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: space-between;
	left: 0;
	margin-top: auto;
	max-height: 456px;
	padding: 0 30px
}

.modal .text,
.modal .note {
	color: #fff;
	line-height: 1.33;
	text-align: center
}

.modal .text span,
.modal .note span {
	display: block
}

.modal .text {
	font-size: 24px;
	font-weight: 400;
	letter-spacing: .04em
}

.modal .note {
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .08em;
	margin-top: 5px
}

.modal .select {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 17px;
	margin-top: 52px
}

.modal .select-01,
.modal .select-02 {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 370px;
	text-align: left
}

.modal .select label {
	color: #fff;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	margin-left: 18px
}

.modal .select-button {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 370px;
	position: relative;
	-moz-text-align-last: left;
	text-align-last: left;
	width: 100%
}

.modal .select-button:after {
	background: url("data:image/svg+xml,%3csvg%20width='17'%20height='10'%20viewBox='0%200%2017%2010'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M16.4701%200.530273L8.5002%208.5002L0.530273%200.530273'%20stroke='%23555555'%20stroke-linecap='round'/%3e%3c/svg%3e") no-repeat 50% 50%/contain;
	content: "";
	display: block;
	height: 16px;
	position: absolute;
	right: 16px;
	width: 16px
}

.modal .select-button select {
	background: #fff;
	border-radius: 24px;
	color: #555;
	cursor: pointer;
	font-weight: 400;
	height: 48px;
	padding: 0 20px;
	width: 100%
}

.modal .withUs {
	color: #fff;
	font-weight: 400;
	margin-top: 20px
}

.modal .withUs .lead {
	font-size: 20px;
	line-height: 1.8
}

.modal .withUs .text {
	font-size: 14px;
	letter-spacing: .14em
}

.modal .withUs .link {
	font-size: 16px;
	margin-top: 2px
}

.modal .withUs .link a {
	letter-spacing: .22em;
	text-decoration: underline;
	text-underline-offset: 6px
}

.modal .ar-button {
	align-self: flex-end;
	background: url(/assets/images/btn_ar.svg) no-repeat 50% 50%/contain;
	height: 81px;
	justify-self: center;
	margin-left: auto;
	margin-right: auto;
	min-height: 81px;
	pointer-events: all;
	transition: background .2s;
	width: 380px
}

.modal .ar-button.is-disabled {
	pointer-events: none
}

body.is-show {
	overflow: hidden
}

body.is-show .modal {
	opacity: 1;
	z-index: 100
}

.module {
	left: 50%;
	pointer-events: none;
	position: absolute;
	transform: translate(-50%)
}

.module-01 {
	margin-left: 127px;
	top: -42px
}

.module-02 {
	bottom: 71px;
	margin-left: 174px
}

.module-03 {
	bottom: -50px;
	margin-left: -146px
}

.module-04 {
	bottom: -171px;
	margin-left: -117px
}

.module-05 {
	bottom: -255px;
	margin-left: 128px;
	z-index: 1
}

.module-06 {
	bottom: 144px;
	margin-left: -144px
}

.module-07 {
	bottom: -9px;
	margin-left: 98px
}

.module-08 {
	bottom: 222px;
	margin-left: 163px
}

.module-09 {
	bottom: 50px;
	margin-left: -102px
}

.module-10 {
	bottom: -17px;
	margin-left: 183px
}

.module-11 {
	bottom: 115px;
	margin-left: -153px
}

.module-12 {
	bottom: 48px;
	margin-left: 142px
}

.module-13 {
	bottom: -159px;
	margin-left: 161px
}

.module-14 {
	margin-left: -177px;
	top: 168px
}

.foot {
	padding-bottom: 140px;
	padding-top: 47px
}

.foot .logo {
	align-items: center;
	display: flex;
	justify-content: center
}

.foot .copy {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 24px;
	margin-top: 24px;
}

.contact {
	margin-top: 39px;
}
.contact p,
.contact a,
.contact address {
	line-height: 1.6em;
	font-size: 12px;
	font-weight: 400;
}
.contact .address {
	margin-top: 12px
}

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

	.kv .bg,
	.kv .phone-pc {
		height: 1200px
	}
}

@media screen and (min-width: 768px) {
	.kv .title {
		left: 1.7%;
		max-width: 96%
	}

	.kv .title-pc {
		align-items: center;
		display: flex;
		justify-content: center;
		width: 100%
	}

	.kv .bg,
	.kv .phone-pc {
		background-position: 30% 50%;
		background-size: cover;
		height: 1080px
	}

	.kv .bg {
		background-image: url(/assets/images/kv_bg_pc.webp)
	}
}

@media screen and (min-width: 980px) {
	.start-button {
		display: none
	}

	.kv {
		left: 0;
		position: fixed;
		top: 0;
		width: calc(100vw - 430px)
	}

	.kv .bg,
	.kv .phone-pc {
		height: 100vh
	}

	.kv .info {
		align-items: flex-end;
		bottom: 45px;
		display: flex;
		grid-gap: 14px;
		position: absolute;
		width: calc(100% - 105px)
	}

	.content {
		margin-left: auto;
		margin-right: 0;
		overflow: hidden
	}
}

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

	.kv .bg,
	.kv .phone-pc {
		background-position: 0 50%
	}
}