@import url("https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@100..900&display=swap");

main * {
	box-sizing: border-box;
}

main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main ul,
main ol,
main dl,
main li,
main dt,
main dd,
main p,
main div,
main span,
main img,
main a,
main table,
main tr,
main th,
main td {
	border: 0;
	font-size: 100%;
	font-weight: 500;
	line-height: 1.67;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

main h1::before,
main h2::before,
main h3::before,
main h4::before,
main h5::before,
main h6::before,
main ul::before,
main ol::before,
main dl::before,
main li::before,
main dt::before,
main dd::before,
main p::before,
main div::before,
main span::before,
main img::before,
main a::before,
main table::before,
main tr::before,
main th::before,
main td::before {
	display: none;
}

main nav,
main section,
main article,
main aside,
main figure,
main figcaption {
	display: block;
}

main ol,
main ul {
	list-style: none;
	list-style-type: none;
}

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

main a:visited,
main a:link {
	color: inherit;
}

main button {
	background: none;
	border: none;
	color: inherit;
	display: block;
	font: inherit;
	padding: 0;
}

/*============================================
# ブレークポイント
============================================*/

/*============================================
# メディアクエリ
============================================*/

/*============================================
# vw変換
============================================*/

:root { /*============================================
  # カラー
  ============================================*/
	--color-main: #FFE048;
	--color-sub: #0000ff;
	--color-bg: #f1f1f1;
	--color-bg2: #E7E7E7;
	--color-text: #3E3A39;
	--color-subtext: #6A6A6A;
	--color-btn: #A51E23;
	--color-btn2: #CF252B;
	--color-accent: #E81D25;
	--color-accent2: #1D4AE8;
	--color-accent3: #E10022;
	--color-border: #F0F0F0;
	--color-border2: #D9D9D9;
}

main {
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%; /* Safari */
	color: var(--color-text);
	font-family: "M PLUS 2", -apple-system, BlinkMacSystemFont, 游ゴシック, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Sans W3", "Hiragino Sans", メイリオ, Meiryo, sans-serif;
	font-size: 16.6666656px;
}

main img {
	vertical-align: bottom;
	width: 100%;
}

main a {
	color: inherit;
}

main .pc {
	display: block;
}

main .sp {
	display: none;
}

main .accent {
	color: var(--color-accent);
}

main .accent2 {
	color: var(--color-accent2);
}

main button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

main .mv h2.mv-anim img {
	opacity: 0;
}

main .mv h2.mv-anim img:first-child {
	animation: fadeInBack 1.6s ease 0.5s forwards;
}

main .mv h2.mv-anim img:nth-child(2) {
	animation: fadeInBack 1.6s ease 0.9s forwards;
}

main .mv h2.mv-anim img:last-child {
	animation: fadeTop 0.5s ease 1.2s forwards;
}

main .anim-box {
	opacity: 0;
}

main .anim-box.fadeTop.is-animated {
	animation: fadeTop 0.5s ease forwards;
}

.fadeTop {
	opacity: 0;
	transform: translateY(20px);
}

.fadeBtm {
	animation: fadeBtm 0.5s ease forwards;
	opacity: 0;
	transform: translateY(-20px);
}

.fadeIn {
	animation: fadeIn 0.5s ease forwards;
	opacity: 0;
	pointer-events: none;
}

.wrapper {
	background: url("../images/pc_wave.svg") no-repeat left bottom/100%, #f1f1f1;
	background-attachment: fixed;
	overflow: hidden;
	position: relative;
	width: 100%;
	z-index: 0;
}

.wrapper::before {
	background: url("../images/pc_flag.svg") no-repeat left top/100%;
	background-attachment: fixed;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.wrapper::after {
	background: url("../images/pc_bg.svg") no-repeat 8px 88.5%/99.5%;
	background-attachment: fixed;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.wrapper .scroll-btn {
	align-items: center;
	background-color: transparent;
	bottom: 20px;
	cursor: default;
	display: flex;
	flex-direction: column;
	height: 160px;
	justify-content: space-between;
	letter-spacing: 0.03em;
	opacity: 1;
	position: fixed;
	right: 4px;
	transform: translateX(-50%);
	transition: opacity 0.3s ease;
	width: 28px;
	z-index: 100;
}

.wrapper .scroll-btn.js-hide {
	opacity: 0;
	pointer-events: none;
}

.wrapper .scroll-btn span {
	font-size: 12px;
	font-weight: 500;
	writing-mode: vertical-rl;
}

.wrapper .scroll-btn svg path {
	stroke-dashoffset: 300px;
	stroke-dasharray: 300px;
	stroke: #3E3A39;
	animation: svgAnime 3.5s ease-in-out 1.5s forwards infinite;
}

main {
	background-color: #fff;
	box-shadow: 0px 28px 28px 0px rgba(0, 0, 0, 0.1019607843);
	margin-inline: auto;
	max-width: 500px;
	position: relative;
	z-index: 100; /*============================================
  # close対応分
  ============================================*/
}

main .mv {
	background: var(--color-accent);
	padding-bottom: 230.769216px;
}

main .mv h2 {
	height: 633.3332928px;
	padding-top: 11.5384608px;
	position: relative;
}

main .mv h2 img {
	display: block;
	margin-inline: auto;
	position: relative;
	z-index: 1;
}

main .mv h2 img:first-child {
	width: 448.71792px;
}

main .mv h2 img:nth-child(2) {
	margin-top: 15.3846144px;
}

main .mv h2 img:nth-child(3) {
	margin-top: 15.3846144px;
	width: 448.71792px;
}

main .mv h2::after {
	background: url("../images/mv_bg.svg") no-repeat center bottom/100%;
	content: "";
	height: 287.1794688px;
	left: 0;
	position: absolute;
	top: 96%;
	width: 100%;
}

main .card {
	position: relative;
	z-index: 3;
}

main .card__title {
	margin: 26.9230752px auto 0;
	width: 435.897408px;
}

main .card__list {
	margin-top: 38.461536px;
}

main .card__item {
	border-radius: 12.820512px;
	box-shadow: 0px 5.1282048px 24.3589728px 5.1282048px rgba(62, 58, 57, 0.1);
	letter-spacing: 0.04em;
	margin-inline: auto;
	overflow: hidden;
	width: 448.71792px;
}

main .card__item:not(:first-child) {
	margin-top: 25.641024px;
}

main .card__top {
	padding: 25.641024px 25.641024px 17.9487168px;
}

main .card__top-text {
	margin-top: 19.230768px;
}

main .card__btm {
	background-color: var(--color-text);
	color: #fff;
	padding-block: 8.9743584px;
	position: relative;
	text-align: center;
}

main .card__btm span {
	display: block;
	font-size: 14.1025632px;
}

main .card__btm::after {
	background: url("../images/btn-arrow.svg") no-repeat center center/contain;
	content: "";
	height: 14.1025632px;
	position: absolute;
	right: 5.5%;
	top: 50%;
	transform: translateY(-50%);
	width: 16.6666656px;
}

main .howto {
	background-color: var(--color-bg2);
	margin-top: 225.6410112px;
	padding-bottom: 192.30768px;
	position: relative;
	z-index: 1;
}

main .howto::before {
	background: url("../images/howto_bg.svg") no-repeat center bottom/100%;
	content: "";
	height: 905.1281472px;
	left: 0;
	position: absolute;
	top: -264.1025472px;
	width: 100%;
	z-index: -1;
}

main .howto::after {
	background: url("../images/about_bg.svg") no-repeat center bottom/100%;
	bottom: -98.7179424px;
	content: "";
	height: 399.9999744px;
	left: 0;
	position: absolute;
	width: 100%;
}

main .howto__title {
	margin: 0 auto;
	width: 298.7179296px;
}

main .howto__lead {
	font-size: 21.7948704px;
	letter-spacing: 0.04em;
	line-height: 1.55;
	margin-top: 33.3333312px;
	text-align: center;
}

main .howto__method,
main .howto .accordion {
	margin-inline: auto;
	width: 448.71792px;
}

main .howto__method {
	border-radius: 12.820512px;
	font-size: 19.230768px;
	letter-spacing: 0.04em;
	margin-top: 20.5128192px;
	overflow: hidden;
}

main .howto__method-dt {
	background-color: var(--color-text);
	color: #fff;
	line-height: 1.5;
	padding-block: 17.9487168px;
	text-align: center;
}

main .howto__method-dd {
	background-color: #fff;
	padding-block: 20.5128192px 25.641024px;
	text-align: center;
}

main .howto__method-dd p {
	line-height: 1.45;
}

main .howto__method-list {
	background: var(--color-bg);
	border-radius: 12.820512px;
	color: var(--color-subtext);
	margin: 20.5128192px 25.641024px 0;
	padding: 16.6666656px 0 16.6666656px 16.6666656px;
	text-align: left;
}

main .howto__method-list li {
	letter-spacing: 0em;
	line-height: 1.45;
	padding-left: 1em;
	text-indent: -1em;
}

main .howto__method-list li:nth-child(2) {
	letter-spacing: 0.04em;
	margin-top: 7.6923072px;
}

main .howto__btn {
	margin-top: 24.3589728px;
}

main .howto__accordion {
	margin-top: 30.7692288px;
}

main .howto__accordion.js-open {
	margin-top: 25.641024px;
}

main .howto__accordion2 {
	margin-top: 28.2051264px;
}

main .howto__accordion2.js-open {
	margin-top: 38.461536px;
}

main .howto__accordion2 .accordion__btn {
	line-height: 1.5;
}

main .howto__accordion2 .howto__step:nth-of-type(2) .howto__step-text {
	margin-top: 0;
}

main .howto__accordion2 .howto__steps {
	padding-bottom: 8.9743584px;
}

main .howto__accordion3 {
	margin-top: 28.2051264px;
}

main .howto__accordion3.js-open {
	margin-top: 38.461536px;
}

main .howto__accordion3 .howto__step:first-of-type {
	padding-bottom: 32.05128px;
}

main .howto__accordion3 .howto__steps {
	padding-bottom: 25.641024px;
}

main .howto__steps {
	overflow: hidden;
	padding-bottom: 5.1282048px;
	padding-inline: 25.641024px;
	padding-top: 38.461536px;
}

main .howto__step {
	padding-bottom: 25.641024px;
}

main .howto__step:not(:has(.howto__step-inner)) {
	display: flex;
	gap: 21.7948704px;
}

main .howto__step:not(:first-child) {
	padding-top: 34.6153824px;
}

main .howto__step:nth-of-type(2) .howto__step-text {
	margin-top: -6.410256px;
}

main .howto__step:nth-of-type(3) {
	padding-top: 30.7692288px;
}

main .howto__step:nth-of-type(3) .howto__step-text {
	margin-top: -3.8461536px;
}

main .howto__step:nth-of-type(4) {
	padding-bottom: 33.3333312px;
	padding-top: 33.3333312px;
}

main .howto__step:nth-of-type(4) .howto__step-text {
	margin-top: 1.2820512px;
}

main .howto__step:not(:last-child) {
	border-bottom: 1.2820512px solid var(--color-border);
}

main .howto__step-title {
	flex-shrink: 0;
	width: 105.1281984px;
}

main .howto__step-text {
	font-size: 21.7948704px;
	letter-spacing: 0.04em;
	line-height: 1.5;
	margin-top: -3.8461536px;
}

main .howto__step-text a {
	color: var(--color-accent3);
	line-height: 1.5;
	text-decoration: underline;
}

main .howto__step-subtext li {
	line-height: 1.45;
	margin-left: 0.1em;
	margin-top: 7.6923072px;
	padding-left: 1.2em;
	position: relative;
}

main .howto__step-subtext li span {
	line-height: inherit;
}

main .howto__step-subtext li::before {
	color: var(--color-text);
	content: "・";
	display: block;
	font-size: 21.7948704px;
	left: 0;
	position: absolute;
	top: 0;
}

main .howto__step-subtext li:not(:first-child) {
	margin-top: 12.820512px;
}

main .howto__step-attention {
	display: block;
	font-size: 19.230768px;
	line-height: 1.5;
	margin-top: 12.820512px;
	padding-left: 1em;
	text-indent: -1em;
}

main .howto__step-inner {
	display: flex;
	gap: 21.7948704px;
}

main .howto__if {
	margin-top: 28.2051264px;
}

main .howto__if:not(:first-of-type) {
	margin-top: 32.05128px;
}

main .howto__if:not(:first-of-type) .howto__if-img {
	margin-top: 19.230768px;
	padding-bottom: 7.6923072px;
}

main .howto__if-title {
	background-color: var(--color-main);
	border-radius: 5.1282048px;
	font-size: 19.230768px;
	font-weight: bold;
	letter-spacing: 0.04em;
	padding-block: 6.410256px;
	position: relative;
	text-align: center;
}

main .howto__if-title::before {
	border-color: var(--color-main) transparent transparent;
	border-style: solid;
	border-width: 7.6923072px 7.6923072px 0;
	content: "";
	display: block;
	height: 0;
	left: 50%;
	position: absolute;
	top: 99%;
	transform: translate(-50%, 0);
	width: 0;
}

main .howto__if-text {
	font-size: 19.230768px;
	letter-spacing: 0.04em;
	letter-spacing: 0.05em;
	line-height: 1.45;
	margin-left: 1em;
	margin-top: 12.820512px;
	padding-left: 0.2em;
	position: relative;
}

main .howto__if-text::before {
	color: var(--color-text);
	content: "●";
	display: block;
	font-size: 19.230768px;
	left: 0;
	position: absolute;
	top: 0;
	transform: translate(-100%, 0);
}

main .howto__if-img {
	margin: 20.5128192px auto 0;
	width: 230.769216px;
}

main .howto__if-img--3 {
	width: 398.7179232px;
}

main .howto__if-img--4 {
	margin-bottom: 5.1282048px;
	width: 194.8717824px;
}

main a.btn {
	align-items: center;
	background-color: var(--color-btn);
	border-radius: 115.384608px;
	color: #fff;
	display: flex;
	font-size: 21.7948704px;
	height: 89.743584px;
	justify-content: center;
	margin-inline: auto;
	position: relative;
	text-align: center;
	width: 397.435872px;
}

main a.btn.btn--apply {
	background: linear-gradient(180deg, var(--color-btn) 0%, var(--color-btn) 50%, var(--color-btn2) 50%, var(--color-btn2) 100%);
	font-size: 25.641024px;
	height: 102.564096px;
	letter-spacing: 0.03em;
}

main a.btn.btn--apply::after {
	right: 7%;
}

main a.btn.btn--new {
	letter-spacing: 0.04em;
	line-height: 1.4;
	margin-bottom: 39.7435872px;
	margin-top: 35.8974336px;
	width: unset;
}

main a.btn::after {
	background: url("../images/btn-arrow.svg") no-repeat center center/contain;
	content: "";
	height: 24.3589728px;
	position: absolute;
	right: 5.5%;
	top: 50%;
	transform: translateY(-50%);
	width: 28.2051264px;
}

main .accordion {
	border-radius: 12.820512px;
	overflow: hidden;
	position: relative;
	transition: all 0.3s ease;
	z-index: 1;
}

main .accordion dt {
	background: #fff;
	transition: all 0.4s ease;
}

main .accordion dd {
	background-color: #fff;
	display: none;
	padding-bottom: 38.461536px;
}

main .accordion__btn {
	font-size: 21.7948704px;
	font-weight: bold;
	height: 148.7179392px;
	letter-spacing: 0.04em;
	line-height: 1.52;
	padding: 25.641024px;
	position: relative;
	text-align: left;
	transition: all 0.3s ease;
	width: 100%;
}

main .accordion__btn-icon {
	background: var(--color-main);
	border-radius: 50%;
	display: block;
	height: 43.5897408px;
	position: absolute;
	right: 5.5%;
	top: 50%;
	transform: translateY(-50%);
	width: 43.5897408px;
}

main .accordion__btn-icon::before,
main .accordion__btn-icon::after {
	background: var(--color-text);
	border-radius: 12.820512px;
	content: "";
	display: block;
	height: 1.9230768px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.3s ease;
	width: 21.7948704px;
}

main .accordion__btn-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

main .accordion.js-open dt {
	background-color: var(--color-main);
}

main .accordion.js-open .accordion__btn-icon {
	background: #fff;
}

main .accordion.js-open .accordion__btn-icon::after {
	transform: translate(-50%, -50%) rotate(180deg);
}

main .about {
	padding-bottom: 223.0769088px;
	position: relative;
	z-index: 1;
}

main .about::after {
	background: url("../images/terms_bg.svg") no-repeat center bottom/100%;
	bottom: -98.7179424px;
	content: "";
	height: 364.1025408px;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: -1;
}

main .about__title {
	margin-left: 111.5384544px;
	padding-top: 84.6153792px;
	width: 364.1025408px;
}

main .about__lead {
	font-size: 21.7948704px;
	letter-spacing: 0.04em;
	line-height: 1.5;
	margin-top: 29.4871776px;
	text-align: center;
}

main .about__lead:nth-of-type(2) {
	margin-top: 15.3846144px;
}

main .about__lead--sub {
	color: var(--color-subtext);
	font-size: 19.230768px;
	letter-spacing: 0.048em;
	line-height: 1.5;
	margin-top: 25.641024px;
	text-align: center;
}

main .about__lead--sub.sub2 {
	margin-top: 12.820512px;
}

main .about__points {
	margin-top: 37.1794848px;
}

main .about__point {
	background: #fff;
	border: 1px solid var(--color-border2);
	border-radius: 12.820512px;
	margin: 0 auto;
	overflow: hidden;
	width: 448.71792px;
}

main .about__point-top {
	display: flex;
}

main .about__point-top span {
	align-items: center;
	background: var(--color-text);
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	width: 96.15384px;
}

main .about__point-top span img {
	display: block;
	width: 38.461536px;
}

main .about__point-top p {
	background: var(--color-btn);
	color: #fff;
	flex-grow: 1;
	font-size: 25.641024px;
	font-weight: bold;
	letter-spacing: 0.04em;
	line-height: 1.4;
	padding-block: 16.6666656px 17.9487168px;
	padding-inline: 25.641024px;
}

main .about__point-btm div {
	margin-inline: auto;
	margin-top: 30.7692288px;
}

main .about__point-btm p {
	font-size: 19.230768px;
	letter-spacing: 0.04em;
	line-height: 1.467;
	padding: 25.641024px 25.641024px 30.7692288px 25.641024px;
}

main .about__point:nth-of-type(1) .about__point-btm div {
	width: 185.897424px;
}

main .about__point:nth-of-type(2) span img {
	width: 42.56409984px;
}

main .about__point:nth-of-type(2) .about__point-btm div {
	width: 397.435872px;
}

main .about__point:nth-of-type(2) .about__point-btm p {
	padding-top: 20.5128192px;
}

main .about__point:nth-of-type(3) span img {
	width: 42.56409984px;
}

main .about__point:nth-of-type(3) .about__point-btm div {
	margin-top: 35.8974336px;
	width: 397.435872px;
}

main .about__point:nth-of-type(3) .about__point-btm p {
	padding-top: 16.6666656px;
}

main .about__point:nth-of-type(3) .about__point-btm a {
	color: var(--color-accent3);
	display: inline-block;
	font-size: 19.230768px;
	text-decoration: underline;
}

main .about__point:nth-of-type(3) .about__point-btm a img {
	height: 16.6666656px;
	vertical-align: middle;
	width: 23.0769216px;
}

main .about__point:not(:first-child) {
	margin-top: 25.641024px;
}

main .terms {
	background: var(--color-bg2);
	padding-top: 64.10256px;
}

main .terms__title {
	margin: 0 auto;
	width: 406.4102304px;
}

main .terms__box {
	background-color: #fff;
	border-radius: 12.820512px;
	margin-inline: auto;
	margin-top: 30.7692288px;
	overflow: hidden;
	position: relative;
	width: 448.71792px;
}

main .terms__box::after {
	background: #fff;
	bottom: -1%;
	content: "";
	height: 31.4102544px;
	left: 25.641024px;
	overflow: hidden;
	position: absolute;
	width: 90%;
}

main .terms__box-inner {
	font-size: 19.230768px;
	height: 561.5384256px;
	overflow-y: scroll;
	padding: 25.641024px;
}

main .terms__box-inner * {
	line-height: 1.467;
}

main .terms__box-text:not(:first-child) {
	letter-spacing: 0.05em;
	margin-top: 15.3846144px;
}

main .terms__box-dl {
	margin-top: 19.230768px;
}

main .terms__box-dl:not(:first-of-type) {
	margin-top: 23.0769216px;
}

main .terms__box-dl:nth-of-type(5) {
	margin-top: 25.641024px;
}

main .terms__box-dl:nth-of-type(6) {
	margin-top: 30.7692288px;
}

main .terms__box-dl:nth-of-type(7),
main .terms__box-dl:nth-of-type(8),
main .terms__box-dl:nth-of-type(9) {
	margin-top: 29.4871776px;
}

main .terms__box-dl:nth-of-type(11) {
	margin-top: 26.9230752px;
}

main .terms__box-dt {
	background-color: var(--color-bg2);
	border-radius: 5.1282048px;
	color: #545454;
	font-weight: bold;
	letter-spacing: 0.04em;
	line-height: 1.8;
	padding-left: 11.5384608px;
}

main .terms__box-dd {
	letter-spacing: 0.04em;
	margin-top: 11.5384608px;
}

main .terms__box-dd a {
	color: var(--color-accent3);
	text-decoration: underline;
}

main .terms__box-item {
	letter-spacing: 0.04em;
	padding-left: 1.2em;
	position: relative;
}

main .terms__box-item::before {
	color: var(--color-text);
	content: "・";
	display: block;
	font-size: 19.230768px;
	left: -0.5%;
	position: absolute;
	top: 0;
}

main .terms__box-item span {
	display: block;
	font-size: 14.1025632px;
	letter-spacing: 0.048em;
	line-height: inherit;
	margin-bottom: 10.2564096px;
	margin-top: -2.5641024px;
}

main .terms__attentions {
	margin-inline: auto;
	margin-top: 17.9487168px;
	padding-bottom: 17.9487168px;
	width: 448.71792px;
}

main .terms__attention {
	color: var(--color-subtext);
	font-size: 14.1025632px;
	line-height: 1.454;
	padding-left: 1.2em;
	position: relative;
}

main .terms__attention::before {
	color: var(--color-subtext);
	content: "※";
	display: block;
	font-size: 14.1025632px;
	left: 0;
	position: absolute;
	top: 0;
}

main .minus-ls {
	letter-spacing: -0.02em;
}

main span.no-ls {
	line-height: inherit;
}

main .no-ls {
	letter-spacing: 0;
}

main .close {
	background: rgba(255, 255, 255, 0.9);
	display: grid;
	left: 0;
	place-content: center;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 10;
}

main .close__text {
	height: 97.4358912px;
	width: 415.3845888px;
}

main .mv,
main .howto,
main .terms {
	position: relative;
}

main .mv .close {
	height: 642.3076512px;
}

main .mv .close__text {
	margin-top: 5.1282048px;
}

main .howto .close {
	height: 1389.7435008px;
	top: -17.9487168px;
}

main .howto .close__text {
	margin-top: 76.923072px;
}

main .howto:has(.close) {
	padding-bottom: 269.230752px;
}

main .terms .close {
	height: 787.1794368px;
	top: 23.0769216px;
}

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

main a {
	transition: opacity 0.2s ease;
}

main a:hover {
	opacity: 0.8;
}

main .howto__step-text a:hover {
	text-decoration: none;
}

main .about__point:nth-of-type(3) .about__point-btm a:hover {
	opacity: 1;
	text-decoration: none;
}

main .terms__box-dd a:hover {
	opacity: 1;
	text-decoration: none;
}

}

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

main {
	padding-top: 76px;
}

}

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

main {
	font-size: 3.3333333333vw;
	line-height: 1.6;
}

main img {
	height: auto;
}

main .pc {
	display: none;
}

main .sp {
	display: block;
}

.wrapper {
	overflow: hidden;
}

.wrapper .scroll-btn {
	display: none;
}

main {
	box-shadow: none;
	max-width: none;
}

main .mv {
	padding-bottom: 46.1538461538vw;
}

main .mv h2 {
	height: 126.6666666667vw;
	padding-top: 3.0769230769vw;
}

main .mv h2 img:first-child {
	width: 89.7435897436vw;
}

main .mv h2 img:nth-child(2) {
	margin-top: 3.0769230769vw;
}

main .mv h2 img:nth-child(3) {
	margin-top: 3.0769230769vw;
	width: 89.7435897436vw;
}

main .mv h2::after {
	height: 57.4358974359vw;
}

main .card__title {
	margin: 5.3846153846vw auto 0;
	width: 87.1794871795vw;
}

main .card__list {
	margin-top: 7.6923076923vw;
}

main .card__item:not(:first-child) {
	margin-top: 5.1282051282vw;
}

main .card__item {
	border-radius: 2.5641025641vw;
	box-shadow: 0px 1.0256410256vw 4.8717948718vw 1.0256410256vw rgba(62, 58, 57, 0.1);
	width: 89.7435897436vw;
}

main .card__top {
	padding: 5.1282051282vw 5.1282051282vw 3.5897435897vw;
}

main .card__top-text {
	margin-top: 3.8461538462vw;
}

main .card__btm {
	padding-block: 1.7948717949vw;
}

main .card__btm span {
	font-size: 2.8205128205vw;
}

main .card__btm::after {
	height: 2.8205128205vw;
	width: 3.3333333333vw;
}

main .howto {
	margin-top: 45.1282051282vw;
	padding-bottom: 38.4615384615vw;
}

main .howto::before {
	height: 181.0256410256vw;
	top: -52.8205128205vw;
}

main .howto::after {
	bottom: -19.7435897436vw;
	height: 80vw;
}

main .howto__title {
	width: 59.7435897436vw;
}

main .howto__lead {
	font-size: 4.358974359vw;
	margin-top: 6.6666666667vw;
}

main .howto__method,
main .howto .accordion {
	width: 89.7435897436vw;
}

main .howto__method {
	border-radius: 2.5641025641vw;
	font-size: 3.8461538462vw;
	margin-top: 4.1025641026vw;
}

main .howto__method-dt {
	padding-block: 3.5897435897vw;
}

main .howto__method-dd {
	padding-block: 4.1025641026vw 5.1282051282vw;
}

main .howto__method-list {
	border-radius: 2.5641025641vw;
	margin: 4.1025641026vw 5.1282051282vw 0;
	padding: 3.3333333333vw 0 3.3333333333vw 3.3333333333vw;
}

main .howto__method-list li:nth-child(2) {
	margin-top: 1.5384615385vw;
}

main .howto__btn {
	margin-top: 4.8717948718vw;
}

main .howto__accordion.js-open {
	margin-top: 5.1282051282vw;
}

main .howto__accordion {
	margin-top: 6.1538461538vw;
}

main .howto__accordion2 {
	margin-top: 5.641025641vw;
}

main .howto__accordion2.js-open {
	margin-top: 7.6923076923vw;
}

main .howto__accordion2 .howto__steps {
	padding-bottom: 1.7948717949vw;
}

main .howto__accordion3 {
	margin-top: 5.641025641vw;
}

main .howto__accordion3.js-open {
	margin-top: 7.6923076923vw;
}

main .howto__accordion3 .howto__step:first-of-type {
	padding-bottom: 6.4102564103vw;
}

main .howto__accordion3 .howto__steps {
	padding-bottom: 5.1282051282vw;
}

main .howto__steps {
	padding-bottom: 1.0256410256vw;
	padding-inline: 5.1282051282vw;
	padding-top: 7.6923076923vw;
}

main .howto__step {
	padding-bottom: 5.1282051282vw;
}

main .howto__step:not(:has(.howto__step-inner)) {
	gap: 4.358974359vw;
}

main .howto__step:not(:first-child) {
	padding-top: 6.9230769231vw;
}

main .howto__step:nth-of-type(2) .howto__step-text {
	margin-top: -1.2820512821vw;
}

main .howto__step:nth-of-type(3) {
	padding-top: 6.1538461538vw;
}

main .howto__step:nth-of-type(3) .howto__step-text {
	margin-top: -0.7692307692vw;
}

main .howto__step:nth-of-type(4) {
	padding-bottom: 6.6666666667vw;
	padding-top: 6.6666666667vw;
}

main .howto__step:nth-of-type(4) .howto__step-text {
	margin-top: 0.2564102564vw;
}

main .howto__step:not(:last-child) {
	border-bottom: 0.2564102564vw solid var(--color-border);
}

main .howto__step-title {
	width: 21.0256410256vw;
}

main .howto__step-text {
	font-size: 4.358974359vw;
	margin-top: -0.7692307692vw;
}

main .howto__step-subtext li {
	margin-top: 1.7948717949vw;
}

main .howto__step-subtext li::before {
	font-size: 4.358974359vw;
}

main .howto__step-subtext li:not(:first-child) {
	margin-top: 2.5641025641vw;
}

main .howto__step-attention {
	font-size: 3.8461538462vw;
	margin-top: 2.5641025641vw;
}

main .howto__step-inner {
	gap: 4.358974359vw;
}

main .howto__if {
	margin-top: 5.641025641vw;
}

main .howto__if:not(:first-of-type) {
	margin-top: 6.4102564103vw;
}

main .howto__if:not(:first-of-type) .howto__if-img {
	margin-top: 3.8461538462vw;
	padding-bottom: 1.5384615385vw;
}

main .howto__if-title {
	border-radius: 1.0256410256vw;
	font-size: 3.8461538462vw;
	padding-block: 1.2820512821vw;
}

main .howto__if-title::before {
	border-width: 1.5384615385vw 1.5384615385vw 0;
}

main .howto__if-text::before {
	font-size: 3.8461538462vw;
}

main .howto__if-text {
	font-size: 3.8461538462vw;
	margin-top: 2.5641025641vw;
}

main .howto__if-img {
	margin: 4.1025641026vw auto 0;
	width: 46.1538461538vw;
}

main .howto__if-img--3 {
	width: 79.7435897436vw;
}

main .howto__if-img--4 {
	margin-bottom: 1.0256410256vw;
	width: 38.9743589744vw;
}

main a.btn.btn--apply {
	font-size: 5.1282051282vw;
	height: 20.5128205128vw;
}

main a.btn.btn--new {
	margin-bottom: 7.9487179487vw;
	margin-top: 7.1794871795vw;
}

main a.btn::after {
	height: 4.8717948718vw;
	width: 5.641025641vw;
}

main a.btn {
	border-radius: 23.0769230769vw;
	font-size: 4.358974359vw;
	height: 17.9487179487vw;
	width: 79.4871794872vw;
}

main .accordion {
	border-radius: 2.5641025641vw;
}

main .accordion dd {
	padding-bottom: 7.6923076923vw;
}

main .accordion__btn {
	font-size: 4.358974359vw;
	height: 29.7435897436vw;
	padding: 5.1282051282vw;
}

main .accordion__btn-icon {
	height: 8.7179487179vw;
	width: 8.7179487179vw;
}

main .accordion__btn-icon::before,
main .accordion__btn-icon::after {
	border-radius: 2.5641025641vw;
	height: 0.3846153846vw;
	width: 4.358974359vw;
}

main .about {
	padding-bottom: 44.6153846154vw;
}

main .about::after {
	bottom: -19.7435897436vw;
	height: 72.8205128205vw;
}

main .about__title {
	margin-left: 22.3076923077vw;
	padding-top: 16.9230769231vw;
	width: 72.8205128205vw;
}

main .about__lead {
	font-size: 4.358974359vw;
	margin-top: 5.8974358974vw;
}

main .about__lead:nth-of-type(2) {
	margin-top: 3.0769230769vw;
}

main .about__lead--sub {
	font-size: 3.8461538462vw;
	margin-top: 5.1282051282vw;
}

main .about__lead--sub.sub2 {
	margin-top: 2.5641025641vw;
}

main .about__points {
	margin-top: 7.4358974359vw;
}

main .about__point {
	border-radius: 2.5641025641vw;
	width: 89.7435897436vw;
}

main .about__point-top span {
	width: 19.2307692308vw;
}

main .about__point-top span img {
	width: 7.6923076923vw;
}

main .about__point-top p {
	font-size: 5.1282051282vw;
	padding-block: 3.3333333333vw 3.5897435897vw;
	padding-inline: 5.1282051282vw;
}

main .about__point-btm div {
	margin-top: 6.1538461538vw;
}

main .about__point-btm p {
	font-size: 3.8461538462vw;
	padding: 5.1282051282vw 5.1282051282vw 6.1538461538vw 5.1282051282vw;
}

main .about__point:nth-of-type(1) .about__point-btm div {
	width: 37.1794871795vw;
}

main .about__point:nth-of-type(2) span img {
	width: 8.5128205128vw;
}

main .about__point:nth-of-type(2) .about__point-btm div {
	width: 79.4871794872vw;
}

main .about__point:nth-of-type(2) .about__point-btm p {
	padding-top: 4.1025641026vw;
}

main .about__point:nth-of-type(3) span img {
	width: 8.5128205128vw;
}

main .about__point:nth-of-type(3) .about__point-btm div {
	margin-top: 7.1794871795vw;
	width: 79.4871794872vw;
}

main .about__point:nth-of-type(3) .about__point-btm p {
	padding-top: 3.3333333333vw;
}

main .about__point:nth-of-type(3) .about__point-btm a {
	font-size: 3.8461538462vw;
}

main .about__point:nth-of-type(3) .about__point-btm a img {
	height: 3.3333333333vw;
	width: 4.6153846154vw;
}

main .about__point:not(:first-child) {
	margin-top: 5.1282051282vw;
}

main .terms {
	padding-top: 12.8205128205vw;
}

main .terms__title {
	width: 81.2820512821vw;
}

main .terms__box::after {
	height: 6.2820512821vw;
	left: 5.1282051282vw;
}

main .terms__box {
	border-radius: 2.5641025641vw;
	margin-top: 6.1538461538vw;
	width: 89.7435897436vw;
}

main .terms__box-inner {
	font-size: 3.8461538462vw;
	height: 112.3076923077vw;
	padding: 5.1282051282vw;
}

main .terms__box-text:not(:first-child) {
	margin-top: 3.0769230769vw;
}

main .terms__box-dl {
	margin-top: 3.8461538462vw;
}

main .terms__box-dl:not(:first-of-type) {
	margin-top: 4.6153846154vw;
}

main .terms__box-dl:nth-of-type(5) {
	margin-top: 5.1282051282vw;
}

main .terms__box-dl:nth-of-type(6) {
	margin-top: 6.1538461538vw;
}

main .terms__box-dl:nth-of-type(7),
main .terms__box-dl:nth-of-type(8),
main .terms__box-dl:nth-of-type(9) {
	margin-top: 5.8974358974vw;
}

main .terms__box-dl:nth-of-type(11) {
	margin-top: 5.3846153846vw;
}

main .terms__box-dt {
	border-radius: 1.0256410256vw;
	padding-left: 2.3076923077vw;
}

main .terms__box-dd {
	margin-top: 2.3076923077vw;
}

main .terms__box-item::before {
	font-size: 3.8461538462vw;
}

main .terms__box-item span {
	font-size: 2.8205128205vw;
	margin-bottom: 2.0512820513vw;
	margin-top: -0.5128205128vw;
}

main .terms__attentions {
	margin-top: 3.5897435897vw;
	padding-bottom: 3.5897435897vw;
	width: 89.7435897436vw;
}

main .terms__attention::before {
	font-size: 2.8205128205vw;
}

main .terms__attention {
	font-size: 2.8205128205vw;
}

main .close__text {
	height: 19.4871794872vw;
	width: 83.0769230769vw;
}

main .mv .close {
	height: 128.7179487179vw;
}

main .mv .close__text {
	margin-top: 1.0256410256vw;
}

main .howto .close {
	height: 277.9487179487vw;
	top: -3.5897435897vw;
}

main .howto .close__text {
	margin-top: 15.3846153846vw;
}

main .howto:has(.close) {
	padding-bottom: 53.8461538462vw;
}

main .terms .close {
	height: 157.4358974359vw;
	top: 4.6153846154vw;
}

}

@keyframes fadeTop {

0% {
	opacity: 0;
	transform: translateY(20px);
}

100% {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes fadeBtm {

0% {
	opacity: 0;
	transform: translateY(-20px);
}

100% {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes fadeIn {

0% {
	opacity: 0;
	pointer-events: none;
}

95% {
	pointer-events: all;
}

100% {
	opacity: 1;
	pointer-events: all;
}

}

@keyframes fadeInBack {

0% {
	opacity: 0;
	transform: translate(0%, 0%) scale(0.87);
}

16% {
	opacity: 1;
	transform: translate(0%, 0%) scale(1.03);
}

28% {
	transform: translate(0%, 0%) scale(1);
}

88% {
	transform: translate(0%, 0%) scale(1);
}

100% {
	opacity: 1;
	transform: translate(0%, 0%) scale(1);
}

}

@keyframes svgAnime {

0% {
	stroke-dashoffset: 300px;
}

60% {
	stroke-dashoffset: 0px;
}

80% {
	stroke-dashoffset: 0px;
	stroke-opacity: 1;
}

90% {
	stroke-opacity: 0;
}

100% {
	stroke-dashoffset: 0px;
	stroke-opacity: 0;
}

}

