@charset "UTF-8";
:root { --white: #fff; --gray: #f7f7f7; --text: #000; --key1: #ffb300; --green1: #22b573; --green2: #006300; --blue1: #66a6ff; --blue2: #73c2f8; --border: rgba(0,0,0,.1025); }

/*!レスポンシブ*/
html { font-family: sans-serif; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }

body { margin: 0; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }

audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }

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

[hidden], template { display: none; }

a { background: transparent; }

a:active, a:hover { outline: 0; }

abbr[title] { border-bottom: 1px dotted; }

b, strong { font-weight: 700; }

dfn { font-style: italic; }

h1 { font-size: 2em; margin: .67em 0; }

mark { background: #ff0; color: #000; }

small { font-size: 80%; }

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

sup { top: -.5em; }

sub { bottom: -.25em; }

img { border: 0; }

svg:not(:root) { overflow: hidden; }

figure { margin: 1em 40px; }

hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }

pre { overflow: auto; }

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

input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }

button { overflow: visible; }

button, select { text-transform: none; }

button, html input[type="button"], input[type=reset], input[type=submit] { -webkit-appearance: button; /*cursor:pointer*/ }

button[disabled], html input[disabled] { /*cursor:default*/ }

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

input { line-height: normal; }

input[type=checkbox], input[type=radio] { box-sizing: border-box; padding: 0; }

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

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

fieldset { border: 1px solid silver; margin: 0 2px; padding: .35em .625em .75em; }

legend { border: 0; padding: 0; }

textarea { overflow: auto; }

optgroup { font-weight: 700; }

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

td, th { padding: 0; }

/*!//normalize.css*/
/*! locomotive-scroll v4.1.3 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth { overflow: hidden; }

html.has-scroll-dragging { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

.has-scroll-smooth body { overflow: hidden; }

.has-scroll-smooth [data-scroll-container] { min-height: 100vh; }

[data-scroll-direction=horizontal] [data-scroll-container] { display: inline-block; height: 100vh; white-space: nowrap; }

[data-scroll-direction=horizontal] [data-scroll-section] { display: inline-block; height: 100%; vertical-align: top; white-space: nowrap; }

.c-scrollbar { height: 100%; opacity: 0; position: absolute; right: 0; top: 0; transform-origin: center right; transition: transform .3s,opacity .3s; width: 11px; }

.c-scrollbar:hover { transform: scaleX(1.45); }

.c-scrollbar:hover, .has-scroll-dragging .c-scrollbar, .has-scroll-scrolling .c-scrollbar { opacity: 1; }

[data-scroll-direction=horizontal] .c-scrollbar { bottom: 0; height: 10px; top: auto; transform: scaleY(1); width: 100%; }

[data-scroll-direction=horizontal] .c-scrollbar:hover { transform: scaleY(1.3); }

.c-scrollbar_thumb { background-color: #000; border-radius: 10px; cursor: -webkit-grab; cursor: grab; margin: 2px; opacity: .5; position: absolute; right: 0; top: 0; width: 7px; }

.has-scroll-dragging .c-scrollbar_thumb { cursor: -webkit-grabbing; cursor: grabbing; }

[data-scroll-direction=horizontal] .c-scrollbar_thumb { bottom: 0; right: auto; }

/*!basic css*/
html { height: 100%; font-size: 1.2vw; }
@media screen and (max-width: 768px) { html { font-size: 3.5vw; } }
@media screen and (min-width: 1367px) { html { font-size: 16.4px; } }

body { margin: 0; position: relative; margin-left: auto; margin-right: auto; width: auto; height: auto; font-family: 'Inter', Avenir Next,Verdana, 游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,Osaka,sans-serif; font-weight: 400; letter-spacing: 0; -webkit-text-size-adjust: 100%; overflow-x: hidden; overflow-y: auto; background: var(--white); color: var(--text); transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; padding-bottom: 1px; }

* { color: var(--text); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; font-feature-settings: "palt"; }

::selection { background-color: rgba(0, 0, 0, 0.15); color: var(--text); }

/*!TEXT*/
p, h1, h2, h3, h4, h5 { display: block; -webkit-margin-before: 0em; -webkit-margin-after: 0em; -webkit-margin-start: 0px; -webkit-margin-end: 0px; margin: 0; font-size: 1em; }

h1, h2, h3, h4, h5 { position: relative; z-index: 15; }

p { letter-spacing: 0; font-weight: 400; line-height: 1.5; }

.sans { font-family: 'Montserrat',Avenir Next,Verdana,'Noto Sans JP',游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,Osaka,sans-serif; }

i { font-style: normal; }

a { text-decoration: none; }

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

img.objf, video.objf { width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover;'; }

/*!ul/dl*/
ul, dl { -webkit-margin-before: 0; -webkit-margin-after: 0; -webkit-margin-start: 0; -webkit-margin-end: 0; -webkit-padding-start: 0; -moz-margin-before: 0; -moz-margin-after: 0; -moz-margin-start: 0; -moz-margin-end: 0; -moz-padding-start: 0; -ms-margin-before: 0; -ms-margin-after: 0; -ms-margin-start: 0; -ms-margin-end: 0; -ms-padding-start: 0; -o-margin-before: 0; -o-margin-after: 0; -o-margin-start: 0; -o-margin-end: 0; -o-padding-start: 0; margin-before: 0; margin-after: 0; margin-start: 0; margin-end: 0; padding-start: 0; -webkit-padding-left: 0; -moz-padding-left: 0; -ms-padding-left: 0; -o-padding-left: 0; padding-left: 0; margin-top: 0; margin-bottom: 0; }

ul li { list-style-type: none; }

dl dd { margin-left: 0; }

.clear::after { content: ''; display: block; clear: both; }

/*!fugure*/
figure { margin: 0; }
figure figurecaption { font-size: .85em; margin-top: .41em; display: block; }

/*!.sticky*/
.sticky { position: -webkit-sticky; position: sticky; top: 0; z-index: 8999; }

/*!.slider*/
.slider { display: flex; padding: 1.0667em 0; }
@media screen and (max-width: 768px) { .slider { padding: 4px 0; } }
.slider .slider__inner { display: flex; padding: 0 1.0667em; }
@media screen and (max-width: 768px) { .slider .slider__inner { padding: 0 4px; } }
.slider .slider__inner:first-child { animation: loop 180s linear infinite; }
.slider .slider__inner:nth-child(2) { animation: loop2 180s -120s linear infinite; }
.slider .slider__inner:last-child { animation: loop3 180s -60s linear infinite; }
.slider .slider__inner .slider__item { width: 860px; padding: 0 1.0667em; }
@media screen and (max-width: 768px) { .slider .slider__inner .slider__item { width: calc(100vw - (1.0667em * 2)); padding: 0 4px; } }
.slider .slider__inner .slider__item .aspect { border-radius: 18px; overflow: hidden; }
@media screen and (max-width: 768px) { .slider .slider__inner .slider__item .aspect { border-radius: 10px; } }

@keyframes loop { 0% { transform: translateX(200%); }
  to { transform: translateX(-100%); } }
@keyframes loop2 { 0% { transform: translateX(100%); }
  to { transform: translateX(-200%); } }
@keyframes loop3 { 0% { transform: translateX(0%); }
  to { transform: translateX(-300%); } }
/*!.visible*/
.visible-xs { display: none; }
@media screen and (max-width: 768px) { .visible-xs { display: block; } }

@media screen and (max-width: 768px) { .hidden-xs { display: none; } }

#cv { position: fixed; left: 0; bottom: 0; z-index: 9999; width: 100%; height: 6.4em; background: url(../img/aside_cv_background.png); background-size: cover; transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
#cv::before { content: ''; position: absolute; top: 0; left: 0; z-index: -1; display: block; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.0615); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
#cv .toggle_switch { position: absolute; top: -2.05em; right: 0; display: flex; align-items: center; justify-content: center; min-height: 2.05em; padding: 0 24px; background: var(--blue1); border: solid 1px var(--blue2); border-bottom: none; border-radius: 8px 8px 0 0; font-size: 13px; letter-spacing: .041em; color: var(--white); cursor: pointer; transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
#cv .toggle_switch img { width: 1em; height: 1em; transform: rotate(90deg); filter: brightness(0) invert(1); transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
#cv .toggle_switch:hover { filter: brightness(0.9); transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
#cv .wrapper { position: relative; z-index: 15; display: flex; align-items: center; justify-content: center; column-gap: 2.1334em; max-width: 1136px; padding: 0 1.0667em; margin: 0 auto; }
@media screen and (max-width: 768px) { #cv .wrapper { column-gap: 1.0667em; padding: 0 8px; } }
#cv .wrapper .image { position: relative; z-index: 15; width: 6.4em; aspect-ratio: 179/184; margin-right: 2.1334em; line-height: 0; }
#cv .wrapper .image .inner { position: absolute; bottom: 0; width: calc(100% + 2.6667em); }
#cv .wrapper .text { display: flex; align-items: center; gap: 4px 2.1334em; }
@media screen and (max-width: 768px) { #cv .wrapper .text { flex-direction: column; } }
#cv .wrapper p { font-weight: 600; font-size: 1.5525em; line-height: 1.23; color: var(--white); text-shadow: 0 0 10px #aac9e9; }
@media screen and (max-width: 768px) { #cv .wrapper p { font-size: 1.075em; } }
#cv .wrapper a { display: flex; align-items: center; min-height: 3.28em; padding: 0 calc(1.0667em / 2 * 3); background: var(--text); border-radius: calc(1.0667em / 2); overflow: hidden; color: var(--white); font-weight: 600; letter-spacing: .041em; transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
@media screen and (max-width: 768px) { #cv .wrapper a { justify-content: center; width: 100%; min-height: 2.255em; padding: 0 calc(1.0667em / 2 * 2); border-radius: calc(1.0667em / 4); font-size: .9em; } }
#cv .wrapper a:hover { transform: scale(0.985); filter: brightness(0.95); transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
#cv.active { bottom: -6.4em; transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
#cv.active .toggle_switch { filter: brightness(0.9); transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
#cv.active .toggle_switch img { transform: rotate(-90deg); transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }

#lp_header { position: fixed; top: 0; z-index: 9999; width: 100%; background: var(--white); }
#lp_header .wrapper { display: flex; align-items: center; width: calc(100% / 32 * 30); min-height: 50px; margin: 0 auto; }
@media screen and (max-width: 768px) { #lp_header .wrapper { width: calc(100% / 32 * 31); min-height: 30px; } }
#lp_header hgroup { display: flex; align-items: center; flex-direction: row-reverse; gap: calc(8.5em / 8); }
@media screen and (max-width: 768px) { #lp_header hgroup { gap: calc(8.5em / 16); } }
#lp_header hgroup h1 { font-size: 14px; }
@media screen and (max-width: 768px) { #lp_header hgroup h1 { font-size: 10px; } }
#lp_header hgroup .logo { line-height: 0; }
@media screen and (max-width: 768px) { #lp_header hgroup .logo img { width: auto; height: 15px; } }

main hgroup { display: flex; text-align: center; }
main hgroup:has(.lead) { flex-direction: column; gap: calc(1.0667em * 1); }
main hgroup:has(.lead) p { font-weight: 600; font-size: calc(8.5em / 8 * 5); line-height: 1.1275; letter-spacing: -.041em; }
@media screen and (max-width: 768px) { main hgroup:has(.lead) p { font-size: calc(8.5em / 8 * 2.5); } }
main hgroup:has(.lead) .sub { display: inline; line-height: 1.8; padding: 5px; background: linear-gradient(to right, var(--key1), #ff9a2b); -webkit-box-decoration-break: clone; box-decoration-break: clone; font-size: calc(8.5em / 16 * 3); font-weight: 600; }
@media screen and (max-width: 768px) { main hgroup:has(.lead) .sub { padding: 4px; line-height: 2; font-size: calc(8.5em / 16 * 2); } }
main hgroup:has(h2) { align-items: center; flex-direction: column; gap: calc(8.5em / 8); }
@media screen and (max-width: 768px) { main hgroup:has(h2) { gap: calc(8.5em / 16); } }
main hgroup:has(h2) h2 { font-size: calc(8.5em / 8 * 3); }
@media screen and (max-width: 768px) { main hgroup:has(h2) h2 { font-size: calc(8.5em / 8 * 1.3325); } }
main hgroup:has(h2) p { font-weight: 600; font-size: calc(8.5em / 8 * 5); line-height: 1.1275; }
@media screen and (max-width: 768px) { main hgroup:has(h2) p { font-size: calc(8.5em / 8 * 2.255); } }
main hgroup:has(h2) + p { display: table; margin: 0 auto; margin-top: calc(1.0667em * 2); }
main hgroup:has(h3) { align-items: flex-start; flex-direction: column-reverse; }
main hgroup:has(h3) h3 { font-size: 2.6667em; }
@media screen and (max-width: 768px) { main hgroup:has(h3) h3 { font-size: 1.6667em; } }
main hgroup:has(h3) .subtitle { font-size: 1.3334em; font-weight: 600; color: var(--key1); }
@media screen and (max-width: 768px) { main hgroup:has(h3) .subtitle { font-size: 1em; } }
main hgroup:has(h3) + p { margin-top: 1.0667em; }
@media screen and (max-width: 768px) { main hgroup:has(h3) + p { margin-top: 8px; } }
main section { position: relative; z-index: 15; overflow: hidden; }
main section.mainvisual { min-height: 100vh; padding-top: 50px; }
@media screen and (max-width: 768px) { main section.mainvisual { height: calc(100vh - 6.4em); min-height: 200vw; padding-top: 30px; } }
main section.mainvisual .background { position: absolute; top: 0; left: 0; z-index: -5; width: 100%; height: 100%; }
main section.mainvisual .warpper { aspect-ratio: 171 / 116; padding-top: calc(1.0667em * 1.5); }
@media screen and (max-width: 768px) { main section.mainvisual .warpper { aspect-ratio: initial; } }
main section.mainvisual .warpper ul.ranking { font-size: calc(1.0667em * 1); }
@media screen and (max-width: 768px) { main section.mainvisual .warpper ul.ranking { font-size: calc(1.0667em / 8 * 6); } }
main section.mainvisual .warpper ul.ranking + * { margin-top: calc(1.0667em * 1); }
main section.outline { padding-top: calc(1.0667em * 8); padding-bottom: calc(1.0667em * 12); }
@media screen and (max-width: 768px) { main section.outline { padding-top: calc(1.0667em * 4); padding-bottom: calc(1.0667em * 4); } }
main section.outline .wrapper { max-width: 1136px; padding: 0 1.0667em; margin: 0 auto; }
main section.outline .wrapper .outline_head { margin-top: calc(1.0667em * 2); }
main section.reason { position: relative; z-index: 15; padding-top: calc(1.0667em * 8); padding-bottom: calc(1.0667em * 12); background: linear-gradient(to bottom, var(--blue1), var(--blue2), var(--gray)); }
@media screen and (max-width: 768px) { main section.reason { padding-top: calc(1.0667em * 4); padding-bottom: calc(1.0667em * 4); } }
main section.reason > .background { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: auto; mix-blend-mode: lighten; }
main section.reason > .background img { width: 100%; height: auto; }
main section.reason .wrapper { max-width: 1136px; padding: 0 1.0667em; margin: 0 auto; }
main section.reason .wrapper hgroup * { color: var(--white); }
main section.reason .wrapper .grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(20, 1.5em); grid-column-gap: calc(1.0667em * 2); grid-row-gap: calc(1.0667em * 2); margin-top: calc(8.5em / 8 * 2); }
@media screen and (max-width: 768px) { main section.reason .wrapper .grid { grid-template-columns: 1fr; grid-template-rows: repeat(40, 2em); grid-column-gap: calc(4px * 2); grid-row-gap: calc(4px * 2); } }
main section.reason .wrapper .grid .item1 { grid-area: 1 / 1 / 11 / 2; }
@media screen and (max-width: 768px) { main section.reason .wrapper .grid .item1 { grid-area: 1 / 1 / 13 / 2; } }
main section.reason .wrapper .grid .item2 { grid-area: 11 / 1 / 16 / 2; }
@media screen and (max-width: 768px) { main section.reason .wrapper .grid .item2 { grid-area: 13 / 1 / 17 / 2; } }
main section.reason .wrapper .grid .item3 { grid-area: 16 / 1 / 21 / 2; }
@media screen and (max-width: 768px) { main section.reason .wrapper .grid .item3 { grid-area: 17 / 1 / 21 / 2; } }
main section.reason .wrapper .grid .item4 { grid-area: 1 / 2 / 8 / 3; }
@media screen and (max-width: 768px) { main section.reason .wrapper .grid .item4 { grid-area: 21 / 1 / 30 / 2; } }
main section.reason .wrapper .grid .item5 { grid-area: 8 / 2 / 21 / 3; }
@media screen and (max-width: 768px) { main section.reason .wrapper .grid .item5 { grid-area: 30 / 1 / 41 / 2; } }
main section.reason .wrapper .grid .grid-item { position: relative; z-index: 15; display: flex; flex-direction: column; justify-content: space-between; background: var(--white); border: solid 1px var(--white); border-radius: calc(1.0667em * 1.5); overflow: hidden; box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px; }
@media screen and (max-width: 768px) { main section.reason .wrapper .grid .grid-item { border-radius: calc(1.0667em * 1); } }
main section.reason .wrapper .grid .grid-item:has(.background) .text { align-items: center; justify-content: center; height: 100%; }
main section.reason .wrapper .grid .grid-item:has(.background) .text * { color: var(--white); }
main section.reason .wrapper .grid .grid-item:has(.background) .text dl { gap: calc(1.0667em / 2); }
main section.reason .wrapper .grid .grid-item .text { display: flex; flex-direction: column; gap: calc(1.0667em / 2); padding: calc(1.0667em * 3) 0; }
@media screen and (max-width: 768px) { main section.reason .wrapper .grid .grid-item .text { padding: calc(1.0667em * 2) 0; } }
main section.reason .wrapper .grid .grid-item .text .icon { display: block; width: calc(8.5em / 8 * 3); height: calc(8.5em / 8 * 3); margin: 0 auto; }
@media screen and (max-width: 768px) { main section.reason .wrapper .grid .grid-item .text .icon { width: calc(8.5em / 8 * 2.5); height: calc(8.5em / 8 * 2.5); } }
main section.reason .wrapper .grid .grid-item .text dl { display: flex; align-items: center; flex-direction: column; }
main section.reason .wrapper .grid .grid-item .text dl > dt { font-size: calc(8.5em / 16 * 3); font-weight: 600; }
@media screen and (max-width: 768px) { main section.reason .wrapper .grid .grid-item .text dl > dt { font-size: calc(8.5em / 16 * 2.5); } }
main section.reason .wrapper .grid .grid-item .text dl > dt strong { color: var(--blue1); }
main section.reason .wrapper .grid .grid-item .image { position: relative; z-index: 15; flex: 1; height: 100%; }
main section.reason .wrapper .grid .grid-item .image::before { content: ''; position: absolute; top: 0; left: 0; display: block; width: 100%; height: calc(1.0667em * 3); background: linear-gradient(to bottom, var(--white), transparent); }
main section.reason .wrapper .grid .grid-item .background { position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%; filter: brightness(0.75); }
main section.reason .wrapper .grid.done .grid-item { transform: scale(0.9); opacity: 0; transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
main section.reason .wrapper .grid.gone .grid-item { transform: scale(1); opacity: 1; transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
main section.reason .wrapper .grid.gone .grid-item:nth-child(1) { transition-delay: 0.05s; }
main section.reason .wrapper .grid.gone .grid-item:nth-child(2) { transition-delay: 0.1s; }
main section.reason .wrapper .grid.gone .grid-item:nth-child(3) { transition-delay: 0.15s; }
main section.reason .wrapper .grid.gone .grid-item:nth-child(4) { transition-delay: 0.2s; }
main section.reason .wrapper .grid.gone .grid-item:nth-child(5) { transition-delay: 0.25s; }
main section.plan { padding-bottom: calc(1.0667em * 8); background: var(--gray); }
@media screen and (max-width: 768px) { main section.plan { padding-bottom: calc(1.0667em * 1.5); } }
main section.plan .wrapper { max-width: 1136px; padding: 0 1.0667em; margin: 0 auto; }
main section.plan .plan_haed { margin-top: calc(1.0667em * 3); }
@media screen and (max-width: 768px) { main section.plan .plan_haed { margin-top: calc(1.0667em * 1.5); } }
main section.plan .plan_haed ul.list_course { display: flex; gap: calc(1.0667em * 1) calc(1.0667em * 2); }
@media screen and (max-width: 768px) { main section.plan .plan_haed ul.list_course { flex-direction: column; } }
main section.plan .plan_haed ul.list_course li { position: relative; z-index: 15; flex: 1; padding: calc(1.0667em * 2.5); background: var(--white); border: solid 1px var(--white); border-radius: calc(1.0667em * 1.5); overflow: hidden; box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px; }
@media screen and (max-width: 768px) { main section.plan .plan_haed ul.list_course li { padding: calc(1.0667em * 1.5); border-radius: calc(1.0667em * 1); } }
main section.plan .plan_haed ul.list_course li .plan_name { font-size: 1.5034em; font-weight: 600; color: var(--green1); }
@media screen and (max-width: 768px) { main section.plan .plan_haed ul.list_course li .plan_name { font-size: 18.45px; text-align: center; } }
main section.plan .plan_haed ul.list_course li .plan_type { display: flex; align-items: baseline; justify-content: center; font-weight: 600; white-space: nowrap; }
@media screen and (max-width: 768px) { main section.plan .plan_haed ul.list_course li .plan_type { justify-content: center; } }
main section.plan .plan_haed ul.list_course li .plan_type .num { font-size: 6em; line-height: 1.23; }
@media screen and (max-width: 768px) { main section.plan .plan_haed ul.list_course li .plan_type .num { font-size: 61.5px; } }
main section.plan .plan_haed ul.list_course li .plan_type .attr { font-size: 4em; }
@media screen and (max-width: 768px) { main section.plan .plan_haed ul.list_course li .plan_type .attr { font-size: 45.1px; } }
main section.plan .plan_haed ul.list_course li .plan_type .course { font-size: 1.6em; }
@media screen and (max-width: 768px) { main section.plan .plan_haed ul.list_course li .plan_type .course { font-size: 20.5px; } }
main section.plan .plan_haed ul.list_course li .price { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; padding: calc(1.0667em / 2); background: var(--gray); border-radius: calc(1.0667em / 4); overflow: hidden; }
main section.plan .plan_haed ul.list_course li .price .num { font-size: 1.9134em; font-weight: 600; }
main section.plan .plan_haed ul.list_course li .price .attr { margin-right: auto; font-size: .9334em; font-weight: 600; }
main section.plan .plan_haed ul.list_course li .price .type { margin-left: auto; font-size: .9334em; }
main section.plan .plan_haed ul.list_course li .price .mass { display: flex; align-items: baseline; }
main section.plan .plan_haed ul.list_course li .price + * { margin-top: 12px; }
main section.plan .plan_haed ul.list_course li .caption { font-size: .8em; }
@media screen and (max-width: 768px) { main section.plan .plan_haed ul.list_course li .caption { font-size: .7334em; } }
main section.plan .plan_haed ul.list_course li.current { background-color: #071f00; background-image: radial-gradient(circle at 76% 28%, #124513 12.2878671416%, transparent 95.2423094713%); background-blend-mode: normal; border-color: var(--green2); }
main section.plan .plan_haed ul.list_course li.current::before { content: 'most popular'; position: absolute; top: 0; right: calc(1.0667em * 1.5); font-size: .75em; display: flex; align-items: center; min-height: 2em; padding: 0 1em; background: linear-gradient(to right, var(--green1), var(--green2)); border-radius: 0 0 6px 6px; color: var(--white); letter-spacing: .0205em; text-transform: uppercase; }
@media screen and (max-width: 768px) { main section.plan .plan_haed ul.list_course li.current::before { top: calc(1.0667em * 1); right: 0; min-height: auto; padding: .75em .5em; border-radius: 6px 0 0 6px; font-size: .7em; -webkit-writing-mode: vertical-lr; writing-mode: vertical-lr; } }
main section.plan .plan_haed ul.list_course li.current .price { background: linear-gradient(to right, var(--green1), var(--green2)); }
main section.plan .plan_haed ul.list_course li.current .plan_type *, main section.plan .plan_haed ul.list_course li.current .price *, main section.plan .plan_haed ul.list_course li.current .caption { color: var(--white); }
main section.plan .plan_haed + * { margin-top: calc(8.5em / 8 * 2); }
main section.plan .plan_body { display: flex; align-items: center; flex-direction: column; padding: calc(1.0667em * 4) 0 calc(1.0667em * 6); background: var(--white); border-radius: calc(1.0667em * 1.5); overflow: hidden; }
@media screen and (max-width: 768px) { main section.plan .plan_body { padding: calc(1.0667em * 1.5); border-radius: calc(1.0667em * 1); } }
main section.plan .plan_body .plan_body_head { font-weight: 600; font-size: calc(1.0667em * 2); }
@media screen and (max-width: 768px) { main section.plan .plan_body .plan_body_head { font-size: 28px; } }
main section.plan .plan_body .plan_body_head strong { color: var(--green1); }
main section.plan .plan_body .plan_body_head + * { margin-top: calc(1.0667em * 3); }
@media screen and (max-width: 768px) { main section.plan .plan_body .plan_body_head + * { margin-top: calc(1.0667em * 2); } }
main section.plan .plan_body + * { margin-top: calc(1.0667em * 6); }
@media screen and (max-width: 768px) { main section.plan .plan_body + * { margin-top: calc(1.0667em * 1); } }
main section.plan .calculation { width: 100%; max-width: 670px; margin-top: calc(1.0667em * 4); }
main section.plan .calculation > .calculation_head { font-size: 1.075em; font-weight: 600; }
@media screen and (max-width: 768px) { main section.plan .calculation > .calculation_head { font-size: 1em; } }
main section.plan .calculation > .calculation_body { font-size: .95em; }
@media screen and (max-width: 768px) { main section.plan .calculation > .calculation_body { font-size: .85em; } }
main section.voice { padding-top: calc(1.0667em * 8); padding-bottom: calc(1.0667em * 12); background: linear-gradient(to bottom, var(--key1), var(--white) 75%); }
@media screen and (max-width: 768px) { main section.voice { padding-top: calc(1.0667em * 4); padding-bottom: calc(1.0667em * 4); } }
main section.voice .wrapper hgroup * { color: #231900; }
main section.voice .wrapper .voice_head { margin-top: calc(8.5em / 8 * 2); }
@media screen and (max-width: 768px) { main section.voice .wrapper .voice_head { margin-top: calc(1.0667em * 1.5); } }
main section.voice .wrapper .voice_head .voice_item { display: flex; flex-direction: column; justify-content: space-between; gap: calc(1.0667em * 2); height: 100%; padding: calc(1.0667em * 2.5) calc(1.0667em * 3); background: rgba(255, 255, 255, 0.615); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: solid 1px var(--white); border-radius: calc(1.0667em * 1.5); overflow: hidden; box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px; }
@media screen and (max-width: 768px) { main section.voice .wrapper .voice_head .voice_item { gap: calc(1.0667em * 1); padding: calc(1.0667em * 1.5); border-radius: calc(1.0667em * 1); } }
main section.voice .wrapper .voice_head .voice_item .comment dl { display: flex; flex-direction: column; gap: 8px; }
main section.voice .wrapper .voice_head .voice_item .comment dl > dt { font-size: calc(1.0667em / 2 * 3); font-weight: 600; }
@media screen and (max-width: 768px) { main section.voice .wrapper .voice_head .voice_item .comment dl > dt { font-size: 20px; } }
main section.voice .wrapper .voice_head .voice_item .comment dl > dd { font-size: 1.0667em; }
@media screen and (max-width: 768px) { main section.voice .wrapper .voice_head .voice_item .comment dl > dd { font-size: 14px; } }
main section.voice .wrapper .voice_head .voice_item .comment .score { display: flex; align-items: center; column-gap: 8px; margin-top: 8px; }
main section.voice .wrapper .voice_head .voice_item .comment .score .star { display: flex; align-items: center; column-gap: 4px; font-size: 1.23em; }
@media screen and (max-width: 768px) { main section.voice .wrapper .voice_head .voice_item .comment .score .star { font-size: 1.0667em; } }
main section.voice .wrapper .voice_head .voice_item .comment .score .star i { display: block; width: 1em; height: 1em; }
main section.voice .wrapper .voice_head .voice_item .comment .score .star i.fill { color: var(--key1); }
main section.voice .wrapper .voice_head .voice_item .comment .score .star i.nul { color: var(--gray); }
main section.voice .wrapper .voice_head .voice_item .comment .score .count { font-size: 1.5034em; }
@media screen and (max-width: 768px) { main section.voice .wrapper .voice_head .voice_item .comment .score .count { font-size: 1.3667em; } }
main section.voice .wrapper .voice_head .voice_item .profile { display: flex; align-items: center; column-gap: 12px; }
main section.voice .wrapper .voice_head .voice_item .profile .icon { width: 60px; height: 60px; border: solid 2px var(--key1); border-radius: 60px; overflow: hidden; }
main section.voice .wrapper .voice_head .voice_item .profile .text > dt { font-size: 1.0934em; font-weight: 600; }
main section.voice .wrapper .voice_head .voice_item .profile .text > dd { font-size: .9334em; }
main section.voice .wrapper .voice_head .slider + .slider > .slider__inner { animation-direction: reverse; }
main section.voice .wrapper .voice_head + * { margin-top: calc(8.5em / 8 * 2); }
main section.voice .wrapper .voice_body + * { margin-top: calc(8.5em / 8 * 2); }
@media screen and (max-width: 768px) { main section.voice .wrapper .voice_body + * { margin-top: calc(8.5em / 8 * 1.5); } }
main section.voice .wrapper .voice_foot p { display: table; margin: 0 auto; font-size: calc(8.5em / 16 * 3); font-weight: 600; }
main section.flowandfaq { padding-top: calc(1.0667em * 8); padding-bottom: calc(1.0667em * 12); background: var(--gray); }
@media screen and (max-width: 768px) { main section.flowandfaq { padding-top: calc(1.0667em * 4); padding-bottom: calc(1.0667em * 1.5); } }
main section.flowandfaq .wrapper { max-width: 1136px; padding: 0 1.0667em; margin: 0 auto; }
main section.flowandfaq .wrapper hgroup ~ hgroup { margin-top: calc(1.0667em * 6); }
@media screen and (max-width: 768px) { main section.flowandfaq .wrapper hgroup ~ hgroup { margin-top: calc(1.0667em * 3); } }
main section.flowandfaq .flow_wrapper { margin-top: calc(1.0667em * 2); }
@media screen and (max-width: 768px) { main section.flowandfaq .flow_wrapper { margin-top: calc(1.0667em * 1.5); } }
main section.flowandfaq .flow_wrapper .f-carousel { --f-carousel-slide-width: calc(100% / 2.5); --f-carousel-gap: calc(1.0667em * 2); }
@media screen and (max-width: 768px) { main section.flowandfaq .flow_wrapper .f-carousel { --f-carousel-slide-width: calc(100% / 1.1275); --f-carousel-gap: 8px; } }
main section.flowandfaq .flow_wrapper .f-carousel .f-carousel__viewport { overflow: visible; }
main section.flowandfaq .flow_wrapper .f-carousel .f-carousel__slide { padding: calc(1.0667em * 3); background: var(--white); border: solid 1px var(--white); border-radius: calc(1.0667em * 1.5); overflow: hidden; box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px; }
@media screen and (max-width: 768px) { main section.flowandfaq .flow_wrapper .f-carousel .f-carousel__slide { padding: calc(1.0667em * 1.5); border-radius: calc(1.0667em * 1); } }
main section.flowandfaq .flow_wrapper .card { position: relative; z-index: 15; display: flex; flex-direction: column; gap: 1.0667em; }
@media screen and (max-width: 768px) { main section.flowandfaq .flow_wrapper .card { gap: 8px; } }
main section.flowandfaq .flow_wrapper .card .background { position: absolute; right: 0; bottom: -8px; line-height: 0; pointer-events: none; }
main section.flowandfaq .flow_wrapper .card .text { display: flex; flex-direction: column; gap: 8px; }
main section.flowandfaq .flow_wrapper .card .text > dt { font-size: 1.8667em; font-weight: 600; }
@media screen and (max-width: 768px) { main section.flowandfaq .flow_wrapper .card .text > dt { font-size: 1.5034em; } }
main section.flowandfaq .flow_wrapper + * { margin-top: calc(1.0667em * 6); }
@media screen and (max-width: 768px) { main section.flowandfaq .flow_wrapper + * { margin-top: calc(1.0667em * 3); } }
main section.flowandfaq .faq_wrapper { margin-top: calc(1.0667em * 2); padding: calc(1.0667em * 4) 0 calc(1.0667em * 6); background: var(--white); border: solid 1px var(--white); border-radius: calc(1.0667em * 1.5); overflow: hidden; box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px; }
@media screen and (max-width: 768px) { main section.flowandfaq .faq_wrapper { margin-top: calc(1.0667em * 1); padding: calc(1.0667em * 1.5); padding-top: calc(1.0667em * .5); border-radius: calc(1.0667em * 1); } }
main section.flowandfaq .faq_wrapper .faq_body { width: 100%; max-width: 670px; margin: 0 auto; }
main section.flowandfaq .faq_wrapper .faq_body ul > li { padding: calc(1.0667em / 2 * 3) 0; border-bottom: solid 1px var(--border); }
main section.flowandfaq .faq_wrapper .faq_body ul > li dl { display: flex; flex-direction: column; gap: calc(1.0667em / 2); }
main section.flowandfaq .faq_wrapper .faq_body ul > li dl > dt { display: flex; align-items: center; justify-content: space-between; font-size: 1.075em; font-weight: 600; cursor: pointer; }
main section.flowandfaq .faq_wrapper .faq_body ul > li dl > dt::after { content: ''; display: block; width: 1em; min-width: 1em; height: 1em; background: url(../img/toggleArrow.svg); background-size: cover; transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
main section.flowandfaq .faq_wrapper .faq_body ul > li dl > dt.open::after { transform: rotate(180deg); transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
main .cv_banar { position: relative; z-index: 15; display: flex; padding: 0 calc(1.0667em * 3); background: var(--key1); border-radius: calc(1.0667em * 1.5); border: solid 1px #f1aa04; box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px; transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
@media screen and (max-width: 768px) { main .cv_banar { padding: 0 calc(1.0667em * 1) 0 calc(1.0667em * 2); border-radius: calc(1.0667em * 1); } }
main .cv_banar > .text { flex: 2; display: flex; justify-content: center; padding: calc(1.0667em * 3) 0; }
@media screen and (max-width: 768px) { main .cv_banar > .text { flex: 5; padding: calc(1.0667em * 2) 0; } }
main .cv_banar > .text p { font-size: 1.9134em; font-weight: 600; color: var(--white); line-height: 1.23; }
@media screen and (max-width: 768px) { main .cv_banar > .text p { font-size: 20.5px; } }
main .cv_banar > .image { position: relative; z-index: 15; flex: 1; }
@media screen and (max-width: 768px) { main .cv_banar > .image { flex: 4; } }
main .cv_banar > .image img { position: absolute; top: 50%; transform: translateY(-50%); }
main .cv_banar.done { transform: scale(0.9); opacity: 0; }
main .cv_banar.gone { transform: scale(1); opacity: 1; }
main .cv_banar:hover { transform: scale(0.985); filter: brightness(0.95); transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s; }
main ul.ranking { display: flex; align-items: center; justify-content: center; column-gap: calc(1.0667em * 1); font-size: 1.5034em; }
@media screen and (max-width: 768px) { main ul.ranking { flex-wrap: wrap; gap: 6px 12px; font-size: .8667em; } }
main ul.ranking > li { display: flex; align-items: center; justify-content: center; column-gap: 12px; font-weight: 600; }
@media screen and (max-width: 768px) { main ul.ranking > li { column-gap: 6px; }
  main ul.ranking > li:nth-child(2) { order: -1; width: 100%; } }
main ul.ranking > li::before, main ul.ranking > li::after { content: ''; display: block; width: calc(1.0667em / 2 * 3); height: calc(1.0667em / 2 * 6); background: url(../img/award.svg); }
main ul.ranking > li::after { transform: rotateY(180deg); }
main ul.ranking > li .text { display: flex; align-items: center; flex-direction: column; }
main ul.ranking > li .text .title { white-space: nowrap; }
@media screen and (max-width: 768px) { main ul.ranking > li .text .title { line-height: 1; } }
main ul.ranking > li .text .number { display: flex; align-items: baseline; }
@media screen and (max-width: 768px) { main ul.ranking > li .text .number { font-size: 1.3325em; } }
main ul.ranking > li .text .number .attr { display: flex; align-items: center; }
main ul.ranking > li .text .number .attr .fill { color: var(--key1); }
main ul.ranking > li .text .number .attr .nul { color: var(--gray); }
main ul.ranking > li .text .number .num { font-size: 1.435em; }
main ul.ranking + * { margin-top: calc(1.0667em * 1.5); }

#lp_footer .wrapper { display: flex; align-items: center; justify-content: space-between; gap: 24px 1.0667em; width: calc(100% / 24 * 22); min-height: 100px; margin: 0 auto; padding: 1.0667em; font-size: 13px; }
@media screen and (max-width: 768px) { #lp_footer .wrapper { justify-content: center; flex-direction: column; padding: calc(1.0667em * 2) 1.0667em 1.0667em; } }
#lp_footer .wrapper ul { display: flex; align-items: baseline; gap: calc(1.0667em / 4 * 3) calc(1.0667em); }
@media screen and (max-width: 768px) { #lp_footer .wrapper ul { align-items: center; flex-direction: column; } }
#lp_footer .wrapper ul > li:has([target="_blank"]) { display: flex; align-items: center; gap: calc(1.0667em / 2); }
#lp_footer .wrapper ul > li:has([target="_blank"])::after { content: ''; display: block; width: 1em; height: 1em; background: url(../img/outerlink.svg); background-size: cover; }
#lp_footer .wrapper ul > li a { position: relative; z-index: 15; padding-bottom: calc(1.0667em / 4); }
#lp_footer .wrapper ul > li a::before, #lp_footer .wrapper ul > li a::after { content: ''; position: absolute; top: 100%; display: block; height: 1px; transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
#lp_footer .wrapper ul > li a::before { left: 0; width: 0; background: var(--text); }
#lp_footer .wrapper ul > li a::after { right: 0; width: 100%; background: var(--border); transition-delay: .205s; }
#lp_footer .wrapper ul > li a:hover::before, #lp_footer .wrapper ul > li a:hover::after { transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; }
#lp_footer .wrapper ul > li a:hover::before { width: 100%; transition-delay: .205s; }
#lp_footer .wrapper ul > li a:hover::after { width: 0; }
