/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}
body {
    margin: 0
}
main {
    display: block
}
h1 {
    font-size: 2em;
    margin: .67em 0
}
hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible
}
pre {
    font-family: monospace, monospace;
    font-size: 1em
}
a {
    background-color: rgba(0,0,0,0)
}
abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}
b, strong {
    font-weight: bolder
}
code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em
}
small {
    font-size: 80%
}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}
sub {
    bottom: -0.25em
}
sup {
    top: -0.5em
}
img {
    border-style: none
}
button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}
button, input {
    overflow: visible
}
button, select {
    text-transform: none
}
button, [type=button], [type=reset], [type=submit] {
    -webkit-appearance: button
}
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-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
outline:1px dotted ButtonText
}
fieldset {
    padding: .35em .75em .625em
}
legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}
progress {
    vertical-align: baseline
}
textarea {
    overflow: auto
}
[type=checkbox], [type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 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
}
::-webkit-file-upload-button {
-webkit-appearance:button;
font:inherit
}
details {
    display: block
}
summary {
    display: list-item
}
template {
    display: none
}
[hidden] {
    display: none
}
.splide__container {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative
}
.splide__list {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important
}
.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}
.splide__pagination {
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    margin: 0;
    pointer-events: none
}
.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto
}
.splide__progress__bar {
    width: 0
}
.splide {
    position: relative;
    visibility: hidden
}
.splide.is-initialized, .splide.is-rendered {
    visibility: visible
}
.splide__slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -ms-flex-negative: 0;
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative
}
.splide__slide img {
    vertical-align: bottom
}
.splide__spinner {
    -webkit-animation: splide-loading 1s linear infinite;
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: rgba(0,0,0,0);
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px
}
.splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}
.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
    display: none
}
.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}
.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0
}
@-webkit-keyframes splide-loading {
0% {
-webkit-transform:rotate(0);
transform:rotate(0)
}
to {
-webkit-transform:rotate(1turn);
transform:rotate(1turn)
}
}
@keyframes splide-loading {
0% {
-webkit-transform:rotate(0);
transform:rotate(0)
}
to {
-webkit-transform:rotate(1turn);
transform:rotate(1turn)
}
}
.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -moz-user-select: none;
    user-select: none
}
.splide__track--fade>.splide__list {
    display: block
}
.splide__track--fade>.splide__list>.splide__slide {
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    z-index: 0
}
.splide__track--fade>.splide__list>.splide__slide.is-active {
    opacity: 1;
    position: relative;
    z-index: 1
}
.splide--rtl {
    direction: rtl
}
.splide__track--ttb>.splide__list {
    display: block
}
.splide__arrow {
    -ms-flex-align: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    background: #ccc;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    height: 2em;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 2em;
    z-index: 1
}
.splide__arrow svg {
    fill: #000;
    height: 1.2em;
    width: 1.2em
}
.splide__arrow:hover:not(:disabled) {
    opacity: .9
}
.splide__arrow:disabled {
    opacity: .3
}
.splide__arrow:focus-visible {
outline:3px solid #0bf;
outline-offset:3px
}
.splide__arrow--prev {
    left: 1em
}
.splide__arrow--prev svg {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}
.splide__arrow--next {
    right: 1em
}
.splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}
.splide__pagination {
    bottom: .5em;
    left: 0;
    padding: 0 1em;
    position: absolute;
    right: 0;
    z-index: 1
}
.splide__pagination__page {
    background: #ccc;
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin: 3px;
    opacity: .7;
    padding: 0;
    position: relative;
    -webkit-transition: -webkit-transform .2s linear;
    transition: -webkit-transform .2s linear;
    transition: transform .2s linear;
    transition: transform .2s linear, -webkit-transform .2s linear;
    width: 8px
}
.splide__pagination__page.is-active {
    background: #fff;
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    z-index: 1
}
.splide__pagination__page:hover {
    cursor: pointer;
    opacity: .9
}
.splide__pagination__page:focus-visible {
outline:3px solid #0bf;
outline-offset:3px
}
.splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}
.splide__progress__bar {
    background: #ccc;
    height: 3px
}
.splide__slide {
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}
.splide__slide:focus {
    outline: 0
}
@supports(outline-offset: -3px) {
.splide__slide:focus-visible {
outline:3px solid #0bf;
outline-offset:-3px
}
}

@media screen and (-ms-high-contrast: none) {
.splide__slide:focus-visible {
border:3px solid #0bf
}
}
@supports(outline-offset: -3px) {
.splide.is-focus-in .splide__slide:focus {
outline:3px solid #0bf;
outline-offset:-3px
}
}

@media screen and (-ms-high-contrast: none) {
.splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf
}
.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus {
    border-color: #0bf
}
}
.splide__toggle {
    cursor: pointer
}
.splide__toggle:focus-visible {
outline:3px solid #0bf;
outline-offset:3px
}
.splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}
.splide__track--nav>.splide__list>.splide__slide {
    border: 3px solid rgba(0,0,0,0);
    cursor: pointer
}
.splide__track--nav>.splide__list>.splide__slide.is-active {
    border: 3px solid #000
}
.splide__arrows--rtl .splide__arrow--prev {
    left: auto;
    right: 1em
}
.splide__arrows--rtl .splide__arrow--prev svg {
    -webkit-transform: scaleX(1);
    transform: scaleX(1)
}
.splide__arrows--rtl .splide__arrow--next {
    left: 1em;
    right: auto
}
.splide__arrows--rtl .splide__arrow--next svg {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}
.splide__arrows--ttb .splide__arrow {
    left: 50%;
    -webkit-transform: translate(-50%);
    transform: translate(-50%)
}
.splide__arrows--ttb .splide__arrow--prev {
    top: 1em
}
.splide__arrows--ttb .splide__arrow--prev svg {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}
.splide__arrows--ttb .splide__arrow--next {
    bottom: 1em;
    top: auto
}
.splide__arrows--ttb .splide__arrow--next svg {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}
.splide__pagination--ttb {
    bottom: 0;
    display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: column;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    flex-direction: column;
    left: auto;
    padding: 1em 0;
    right: .5em;
    top: 0
}

body {
    position: relative;
    font-family: var(--font_sans);
    font-size: 3.4666666667vw;
    font-weight: 500;
    letter-spacing: .14em;
    color: var(--color_black_01)
}

@media screen and (min-width: 768px) {
body {
    font-size: 14px
}
}
body.is-nav-opened, body.is-modal-opened, body.is-scroll-disabled {
    height: 100%;
    overflow: hidden
}
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
    font-weight: normal;
    -webkit-font-smoothing: antialiased
}
p {
    margin: 0;
    padding: 0
}
figure {
    margin: 0
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: top
}
svg {
    max-width: 100%;
    height: auto;
    vertical-align: top
}
a {
    color: var(--color_black_01);
    text-decoration: none
}
a[href^="tel:"] {
    color: inherit
}

@media screen and (min-width: 768px) {
a[href^="tel:"] {
    pointer-events: none
}
}
.link {
    color: var(--base_color_01);
    text-decoration: underline
}
.link:hover {
    text-decoration: none
}
button {
    cursor: pointer
}
ul, ol, li, dl, dd {
    padding: 0;
    margin: 0;
}
.main {
    margin-top: 67.5px
}

@media screen and (min-width: 768px) {
.main {
    margin-top: 0
}
}
@font-face {
    font-family: "icomoon";
    src: url("../fonts/icomoon.eot?ov4eto");
    src: url("../fonts/icomoon.eot?ov4eto#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?ov4eto") format("truetype"), url("../fonts/icomoon.woff?ov4eto") format("woff"), url("../fonts/icomoon.svg?ov4eto#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block
}
[class^=icon-], [class*=" icon-"] {
    font-family: "icomoon" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}
.icon-arrow-circle-right:before {
    content: ""
}
.icon-book-open:before {
    content: ""
}
.icon-home-lg-alt:before {
    content: ""
}
.is-pc {
    display: none !important
}

@media screen and (min-width: 768px) {
.is-pc {
    display: block !important
}
}
.is-pc--narrow {
    display: none !important
}

@media screen and (min-width: 1360px) {
.is-pc--narrow {
    display: block !important
}
}
.is-sp {
    display: block !important
}

@media screen and (min-width: 768px) {
.is-sp {
    display: none !important
}
}
.is-disable-link {
    pointer-events: none
}
.align-left {
    text-align: left
}
.align-center {
    text-align: center
}
.align-right {
    text-align: right
}
.mt--0 {
    margin-top: 0px !important
}
.mb--0 {
    margin-bottom: 0px !important
}
.mr--0 {
    margin-right: 0px !important
}
.ml--0 {
    margin-left: 0px !important
}
.pt--0 {
    padding-top: 0px !important
}
.pb--0 {
    padding-bottom: 0px !important
}
.pr--0 {
    padding-right: 0px !important
}
.pl--0 {
    padding-left: 0px !important
}
.mt--5 {
    margin-top: 5px !important
}
.mb--5 {
    margin-bottom: 5px !important
}
.mr--5 {
    margin-right: 5px !important
}
.ml--5 {
    margin-left: 5px !important
}
.pt--5 {
    padding-top: 5px !important
}
.pb--5 {
    padding-bottom: 5px !important
}
.pr--5 {
    padding-right: 5px !important
}
.pl--5 {
    padding-left: 5px !important
}
.mt--10 {
    margin-top: 10px !important
}
.mb--10 {
    margin-bottom: 10px !important
}
.mr--10 {
    margin-right: 10px !important
}
.ml--10 {
    margin-left: 10px !important
}
.pt--10 {
    padding-top: 10px !important
}
.pb--10 {
    padding-bottom: 10px !important
}
.pr--10 {
    padding-right: 10px !important
}
.pl--10 {
    padding-left: 10px !important
}
.mt--15 {
    margin-top: 15px !important
}
.mb--15 {
    margin-bottom: 15px !important
}
.mr--15 {
    margin-right: 15px !important
}
.ml--15 {
    margin-left: 15px !important
}
.pt--15 {
    padding-top: 15px !important
}
.pb--15 {
    padding-bottom: 15px !important
}
.pr--15 {
    padding-right: 15px !important
}
.pl--15 {
    padding-left: 15px !important
}
.mt--20 {
    margin-top: 20px !important
}
.mb--20 {
    margin-bottom: 20px !important
}
.mr--20 {
    margin-right: 20px !important
}
.ml--20 {
    margin-left: 20px !important
}
.pt--20 {
    padding-top: 20px !important
}
.pb--20 {
    padding-bottom: 20px !important
}
.pr--20 {
    padding-right: 20px !important
}
.pl--20 {
    padding-left: 20px !important
}
.mt--25 {
    margin-top: 25px !important
}
.mb--25 {
    margin-bottom: 25px !important
}
.mr--25 {
    margin-right: 25px !important
}
.ml--25 {
    margin-left: 25px !important
}
.pt--25 {
    padding-top: 25px !important
}
.pb--25 {
    padding-bottom: 25px !important
}
.pr--25 {
    padding-right: 25px !important
}
.pl--25 {
    padding-left: 25px !important
}
.mt--30 {
    margin-top: 30px !important
}
.mb--30 {
    margin-bottom: 30px !important
}
.mr--30 {
    margin-right: 30px !important
}
.ml--30 {
    margin-left: 30px !important
}
.pt--30 {
    padding-top: 30px !important
}
.pb--30 {
    padding-bottom: 30px !important
}
.pr--30 {
    padding-right: 30px !important
}
.pl--30 {
    padding-left: 30px !important
}
.mt--35 {
    margin-top: 35px !important
}
.mb--35 {
    margin-bottom: 35px !important
}
.mr--35 {
    margin-right: 35px !important
}
.ml--35 {
    margin-left: 35px !important
}
.pt--35 {
    padding-top: 35px !important
}
.pb--35 {
    padding-bottom: 35px !important
}
.pr--35 {
    padding-right: 35px !important
}
.pl--35 {
    padding-left: 35px !important
}
.mt--40 {
    margin-top: 40px !important
}
.mb--40 {
    margin-bottom: 40px !important
}
.mr--40 {
    margin-right: 40px !important
}
.ml--40 {
    margin-left: 40px !important
}
.pt--40 {
    padding-top: 40px !important
}
.pb--40 {
    padding-bottom: 40px !important
}
.pr--40 {
    padding-right: 40px !important
}
.pl--40 {
    padding-left: 40px !important
}
.mt--45 {
    margin-top: 45px !important
}
.mb--45 {
    margin-bottom: 45px !important
}
.mr--45 {
    margin-right: 45px !important
}
.ml--45 {
    margin-left: 45px !important
}
.pt--45 {
    padding-top: 45px !important
}
.pb--45 {
    padding-bottom: 45px !important
}
.pr--45 {
    padding-right: 45px !important
}
.pl--45 {
    padding-left: 45px !important
}
.mt--50 {
    margin-top: 50px !important
}
.mb--50 {
    margin-bottom: 50px !important
}
.mr--50 {
    margin-right: 50px !important
}
.ml--50 {
    margin-left: 50px !important
}
.pt--50 {
    padding-top: 50px !important
}
.pb--50 {
    padding-bottom: 50px !important
}
.pr--50 {
    padding-right: 50px !important
}
.pl--50 {
    padding-left: 50px !important
}
.display-none {
    display: none
}
.italic {
    font-style: italic
}
.bold {
    font-weight: bold
}
.basecolor-bg--01 {
    background-color: var(--base_color_01)
}
.color-red {
    color: var(--color_red_01)
}
.noise-bg {
    background-size: 400px;
    background-repeat: repeat;
    -webkit-animation: noise 1.5s steps(5) alternate infinite;
    animation: noise 1.5s steps(5) alternate infinite
}
.txt-Sdw-W{
	    text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}

@media screen and (max-width: 767px) {
.noise-bg {
    background-image: url("../images/common/body_bg_sp.jpg")
}
}

@media screen and (min-width: 768px) {
.noise-bg {
    background-image: url("../images/common/body_bg_pc.jpg")
}
}

@media only screen and (min-width: 768px)and (-webkit-min-device-pixel-ratio: 2) {
.noise-bg {
    background-image: url("../images/common/body_bg_pc@2x.jpg")
}
}
@-webkit-keyframes noise {
0% {
background-position:-88px 166px
}
20% {
background-position:222px -333px
}
40% {
background-position:-111px 444px
}
60% {
background-position:33px -66px
}
80% {
background-position:-138px 212px
}
100% {
background-position:317px -197px
}
}
@keyframes noise {
0% {
background-position:-88px 166px
}
20% {
background-position:222px -333px
}
40% {
background-position:-111px 444px
}
60% {
background-position:33px -66px
}
80% {
background-position:-138px 212px
}
100% {
background-position:317px -197px
}
}
.title-01 {
    position: relative
}
.title-01--white {
    color: var(--color_white_01)
}

@media screen and (max-width: 767px) {
.title-01 {
    text-align: center
}
}
.title-01__ja {
    display: block;
    position: relative;
    line-height: 2.1;
    letter-spacing: .08em;
    font-size: 3.4666666667vw;
    font-weight: bold;
    z-index: 2
}

@media screen and (min-width: 768px) {
.title-01__ja {
    font-size: 14px
}
}
.title-01__ja::after {
    display: block;
    width: 5.3333333333vw;
    height: 1.0666666667vw;
    margin: 1.8em auto 1.7em;
    background-color: var(--base_color_02);
    content: ""
}

@media screen and (min-width: 768px) {
.title-01__ja::after {
    width: 14px;
    height: 4px;
    margin: 2.3em 0 2.2em
}
}
.title-01--center .title-01__ja {
    text-align: center
}
.title-01--center .title-01__ja::after {
    margin-right: auto;
    margin-left: auto
}
.title-01__en {
    display: block;
    position: relative;
    line-height: 1;
    letter-spacing: 0;
    font-size: 13.3333333333vw;
    font-weight: bold;
    font-family: var(--font_en_sans);
    z-index: 2
}

@media screen and (min-width: 768px) {
.title-01__en {
    margin-left: -0.06em;
    font-size: 60px
}
}
.title-01--center .title-01__en {
    text-align: center
}
.title-01__number {
    position: absolute;
    top: 0;
    left: 0;
    width: 78.1333333333vw;
    letter-spacing: 0;
    font-family: var(--font_en_sans);
    font-weight: 700
}

@media screen and (min-width: 768px) {
.title-01__number {
    width: 28.9583333333vw;
    max-width: 417px
}
}
.title-02 {
    margin-bottom: .7em;
    line-height: 2.1;
    letter-spacing: .08em;
    font-size: 4.2666666667vw;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.title-02 {
    margin-bottom: 1em;
    line-height: 2.2;
    letter-spacing: .05em;
    font-size: 20px
}
}

.title-04 {
    text-align: center;
    line-height: 2.2;
    letter-spacing: .09em;
    font-size: 4.2666666667vw;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.title-04 {
    font-size: 22px
}
}
.title-05 {
    padding: .1em 0 .1em .75em;
    letter-spacing: .04em;
    font-size: 4.2666666667vw;
    font-weight: bold
}

@media screen and (max-width: 767px) {
.title-05 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    line-height: 2.2;
    padding: 0
}
}

@media screen and (min-width: 768px) {
.title-05 {
    border-left: 6px solid var(--base_color_01);
    font-size: 14px
}
}

@media screen and (max-width: 767px) {
.title-05::before {
    width: 1.6vw;
    margin-right: 1em;
    height: 100;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(12%, rgba(255, 255, 255, 0)), color-stop(12%, rgb(48, 169, 168)), color-stop(50%, rgb(48, 169, 168)), color-stop(84%, rgb(48, 169, 168)), color-stop(84%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0) 12%, rgb(48, 169, 168) 12%, rgb(48, 169, 168) 50%, rgb(48, 169, 168) 84%, rgba(255, 255, 255, 0) 84%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 12%, rgb(48, 169, 168) 12%, rgb(48, 169, 168) 50%, rgb(48, 169, 168) 84%, rgba(255, 255, 255, 0) 84%);
    content: ""
}
}
.title-06 {
    text-align: center;
    letter-spacing: 0
}
.title-06::before {
    display: block;
    width: 3px;
    height: 13.3333333333vw;
    margin: 0 auto 1.15em;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: -webkit-transform .6s ease-in;
    transition: -webkit-transform .6s ease-in;
    transition: transform .6s ease-in;
    transition: transform .6s ease-in, -webkit-transform .6s ease-in;
    background-color: var(--color_black_01);
    content: ""
}

@media screen and (min-width: 768px) {
.title-06::before {
    width: 2px;
    height: 60px;
    margin: 0 auto 1em
}
}
.title-06.is-inview::before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}
.title-06__inner {
    display: block
}
.title-06__en {
    display: block;
    margin-bottom: .15em;
    font-size: 9.3333333333vw;
    font-family: var(--font_en_sans);
    font-weight: 700
}

@media screen and (min-width: 768px) {
.title-06__en {
    margin-bottom: .25em;
    font-size: 40px
}
}
.title-06__ja {
    display: block;
    font-size: 3.2vw;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.title-06__ja {
    font-size: 12px
}
}
.line-marker {
    display: inline;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(0%, #e8fa20));
    background: -webkit-linear-gradient(transparent 60%, #e8fa20 0%);
    background: linear-gradient(transparent 60%, #e8fa20 0%)
}
.line-text--vertical {
    display: inline;
    background: -webkit-gradient(linear, left top, right top, color-stop(93%, transparent), color-stop(0%, var(--color_black_01)));
    background: -webkit-linear-gradient(left, transparent 93%, var(--color_black_01) 0%);
    background: linear-gradient(90deg, transparent 93%, var(--color_black_01) 0%);
    padding-right: .25em
}

@media screen and (min-width: 768px) {
.line-text--vertical {
    background: -webkit-gradient(linear, left top, right top, color-stop(95%, transparent), color-stop(0%, var(--color_black_01)));
    background: -webkit-linear-gradient(left, transparent 95%, var(--color_black_01) 0%);
    background: linear-gradient(90deg, transparent 95%, var(--color_black_01) 0%);
    padding-right: .15em
}
}
.price-icon {
    display: block;
    width: 4.2em;
    padding: .15em 0;
    border: 1px solid;
    border-radius: 1em;
    text-align: center;
    letter-spacing: 0;
    font-size: 2.6666666667vw;
    font-family: var(--font_en_sans);
    font-weight: 700
}

@media screen and (min-width: 768px) {
.price-icon {
    border-width: 2px;
    border-radius: 10px;
    font-size: .8333333333vw
}
}

@media screen and (min-width: 1441px) {
.price-icon {
    font-size: 12px
}
}
.link {
    text-decoration: underline;
    color: var(--base_color_01)
}
.link:hover {
    text-decoration: none
}
.link-map {
    text-decoration: underline;
    padding-right: 2em;
    background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20187%20273%22%20style%3D%22enable-background%3Anew%200%200%20187%20273%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cg%3E%20%3Cg%3E%20%3Cpath%20d%3D%22M84%2C0c6.3%2C0%2C12.7%2C0%2C19%2C0c0.9%2C0.3%2C1.8%2C0.8%2C2.8%2C0.9c38.6%2C5.3%2C69.2%2C32.8%2C78.4%2C70.5c1%2C4.2%2C1.9%2C8.4%2C2.8%2C12.5c0%2C6.3%2C0%2C12.7%2C0%2C19%20c-0.3%2C1.1-0.8%2C2.2-0.9%2C3.3c-1.7%2C12.9-5.9%2C24.9-12.7%2C35.9c-25.5%2C41.9-51%2C83.9-76.5%2C125.8c-0.8%2C1.4-1.8%2C2.7-3%2C4.5%20c-1.3-1.9-2.3-3.4-3.2-4.9C65.1%2C226%2C39.3%2C184.5%2C14.1%2C142.6c-5.2-8.7-8.1-18.8-11.7-28.4C1%2C110.6%2C0.7%2C106.7%2C0%2C103%20c0-6.3%2C0-12.7%2C0-19c0.3-0.9%2C0.8-1.8%2C0.9-2.8C6.3%2C42.3%2C34.3%2C11.5%2C72.4%2C2.5C76.2%2C1.5%2C80.1%2C0.8%2C84%2C0z%20M93.3%2C136.1%20c23.3%2C0.1%2C42.4-18.8%2C42.6-42c0.2-23.3-19.1-42.8-42.4-42.8c-23.1%2C0-42.3%2C19.2-42.4%2C42.4C51%2C116.8%2C70.1%2C136%2C93.3%2C136.1z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M0%2C103c0.7%2C3.7%2C1%2C7.6%2C2.3%2C11.2c3.6%2C9.6%2C6.5%2C19.7%2C11.7%2C28.4c25.2%2C41.9%2C51%2C83.4%2C76.7%2C125.1%20c0.9%2C1.5%2C1.9%2C3%2C3.2%2C4.9c1.2-1.8%2C2.2-3.1%2C3-4.5c25.5-41.9%2C51-83.8%2C76.5-125.8c6.7-11.1%2C11-23.1%2C12.7-35.9c0.1-1.1%2C0.6-2.2%2C0.9-3.3%20c0%2C56.6%2C0%2C113.2%2C0%2C170c-31.1%2C0-62.2%2C0-93.3%2C0c-31.1%2C0-62.3%2C0-93.7%2C0C0%2C216.3%2C0%2C159.7%2C0%2C103z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M84%2C0c-3.9%2C0.8-7.8%2C1.5-11.6%2C2.5c-38.1%2C9-66.1%2C39.9-71.5%2C78.8C0.8%2C82.2%2C0.3%2C83.1%2C0%2C84C0%2C56%2C0%2C28%2C0%2C0%20C28%2C0%2C56%2C0%2C84%2C0z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M187%2C84c-0.9-4.2-1.8-8.4-2.8-12.5C175%2C33.7%2C144.3%2C6.2%2C105.8%2C0.9c-0.9-0.1-1.9-0.6-2.8-0.9c28%2C0%2C56%2C0%2C84%2C0%20C187%2C28%2C187%2C56%2C187%2C84z%22%2F%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M93.3%2C136.1C70.1%2C136%2C51%2C116.8%2C51.1%2C93.6c0.1-23.2%2C19.2-42.3%2C42.4-42.4c23.3%2C0%2C42.6%2C19.5%2C42.4%2C42.8%20C135.7%2C117.3%2C116.6%2C136.1%2C93.3%2C136.1z%22%2F%3E%20%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat right center
}
.link-map:hover {
    text-decoration: none
}
.button-01__link {
    display: inline-block;
    padding: 1.3em 2.6em;
    border-radius: 2em;
    border: 2px solid var(--color_black_01);
    background-color: var(--color_white_01);
    text-align: center;
    letter-spacing: .08em;
    font-size: 3.2vw;
    font-family: var(--font_en_sans);
    font-weight: 700;
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
    color: var(--color_black_01)
}

@media screen and (min-width: 768px) {
.button-01__link {
    padding: 1.5em 2.6em;
    border-radius: 27px;
    font-size: 12px
}
}
.button-01--transparent .button-01__link {
    background-color: rgba(0,0,0,0);
    border-color: var(--color_white_01)
}

@media screen and (min-width: 768px) {
.button-01--transparent .button-01__link {
    padding: 1.4em 2.4em;
    font-size: 10px
}
}

@media screen and (min-width: 768px) {
.button-01--wide .button-01__link {
    padding: 1.5em 4.5em
}
}
.button-01__link:hover {
    -webkit-transition-duration: .2s;
    transition-duration: .2s;
    border-color: var(--base_color_02);
    background-color: var(--base_color_02);
    color: var(--color_white_01)
}
.button-01__arrow {
    display: inline-block;
    margin-left: .3em;
    -webkit-transform: translateY(-0.1em);
    transform: translateY(-0.1em);
    vertical-align: middle
}
.button-02__link {
    letter-spacing: .08em;
    font-size: 5.3333333333vw;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.button-02__link {
    font-size: 22px
}
}
.button-02--white .button-02__link {
    color: var(--color_white_01)
}
.button-02--small .button-02__link {
    font-size: 3.4666666667vw;
    -webkit-transition: color .4s ease;
    transition: color .4s ease
}

@media screen and (min-width: 768px) {
.button-02--small .button-02__link {
    font-size: 14px
}
}
.button-02--small .button-02__link:hover {
    color: var(--base_color_02)
}
.button-03__link {
    padding: .1em .6em;
    background-color: var(--color_black_01);
    border-radius: 2em;
    letter-spacing: .04em;
    font-size: 3.7333333333vw;
    color: var(--color_white_01);
    -webkit-transition: background-color .4s ease;
    transition: background-color .4s ease
}

@media screen and (min-width: 768px) {
.button-03__link {
    padding: .5em 1.3em;
    border-radius: 12px;
    font-size: 10px
}
}
.button-03__link:hover {
    background-color: var(--base_color_02)
}
.splide__arrow {
    width: 16.1333333333vw;
    height: 16.1333333333vw;
    background-color: var(--color_white_01);
    border: 1px solid var(--color_black_01);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    opacity: 1
}

@media screen and (max-width: 767px) {
.splide__arrow {
    position: static
}
}

@media screen and (min-width: 768px) {
.splide__arrow {
    width: 5.5555555556vw;
    height: 5.5555555556vw;
    border-width: 2px;
    -webkit-transition: opacity .4s ease, background-color .4s ease, border-color .4s ease;
    transition: opacity .4s ease, background-color .4s ease, border-color .4s ease
}
}

@media screen and (min-width: 768px) {
.splide__arrow:hover:not(:disabled) {
    background-color: var(--base_color_02);
    border-color: var(--base_color_02);
    -webkit-transition-duration: .2s;
    transition-duration: .2s
}
}
.splide__arrow:disabled {
    background-color: var(--color_black_01);
    opacity: 1;
    -webkit-transition-duration: .1s;
    transition-duration: .1s
}
.splide__arrow svg {
    width: 2.9333333333vw;
    height: auto;
    fill: var(--color_black_01);
    -webkit-transition: fill .4s ease;
    transition: fill .4s ease
}

@media screen and (min-width: 768px) {
.splide__arrow svg {
    width: .9722222222vw
}
}

@media screen and (min-width: 768px) {
.splide__arrow:hover:not(:disabled) svg {
    fill: var(--color_white_01);
    -webkit-transition-duration: .2s;
    transition-duration: .2s
}
}
.splide__arrow:disabled svg {
    fill: var(--color_white_01);
    -webkit-transition-duration: .2s;
    transition-duration: .2s
}
.splide__pagination__page {
    width: 2vw;
    height: 2vw;
    margin: 0 10px;
    background-color: #000;
    opacity: 1
}

@media screen and (min-width: 768px) {
.splide__pagination__page {
    width: 5px;
    height: 5px
}
}
.splide__pagination__page.is-active {
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    background-color: var(--base_color_02)
}

@media screen and (min-width: 768px) {
.splide__pagination__page.is-active {
    -webkit-transform: scale(1.6);
    transform: scale(1.6)
}
}
.table-01 {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0
}
.table-01 tr:not(:first-child) th, .table-01 tr:not(:first-child) td {
    padding-top: 1.5em
}
.table-01 th, .table-01 td {
    padding-bottom: .5em;
    border-bottom: 1px dotted #e0e0e0;
    font-weight: bold
}

@media screen and (max-width: 767px) {
.table-01 th, .table-01 td {
    width: 50%
}
}

@media screen and (min-width: 768px) {
.table-01 th, .table-01 td {
    background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%204%201%22%20style%3D%22enable-background%3Anew%200%200%204%201%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23222222%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M0%2C0.5C0%2C0.2%2C0.2%2C0%2C0.5%2C0l0%2C0C0.8%2C0%2C1%2C0.2%2C1%2C0.5l0%2C0C1%2C0.8%2C0.8%2C1%2C0.5%2C1l0%2C0C0.2%2C1%2C0%2C0.8%2C0%2C0.5z%22%2F%3E%3C%2Fsvg%3E") repeat-x bottom;
    background-size: 4px
}
}
.table-01 th {
    padding-left: 1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
    letter-spacing: .08em;
    font-size: 2.6666666667vw
}

@media screen and (min-width: 768px) {
.table-01 th {
    width: 12.5em;
    padding-left: 3em;
    font-size: 10px
}
}
.table-01 td {
    padding-bottom: .55em;
    letter-spacing: 0;
    font-size: 3.7333333333vw
}

@media screen and (max-width: 767px) {
.table-01 td {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"
}
}

@media screen and (min-width: 768px) {
.table-01 td {
    padding-left: 2.5em;
    font-size: 14px
}
}

@media screen and (min-width: 768px) {
.table-02 {
    border-spacing: 4.1666666667vw 0
}
}

@media screen and (min-width: 768px) {
.table-02 tr:not(:first-child) th, .table-02 tr:not(:first-child) td {
    padding-top: 1em
}
}
.table-02 th, .table-02 td {
    padding-bottom: 1em;
    padding-right: 1.3em;
    padding-left: 1.3em;
    border-bottom: 1px solid;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 2.2
}

@media screen and (max-width: 767px) {
.table-02 th, .table-02 td {
    display: block;
    padding-bottom: 0
}
}
.table-02 th {
    text-align: left;
    vertical-align: top
}

@media screen and (max-width: 767px) {
.table-02 th {
    padding-top: 1em;
    padding-bottom: 1.25em;
    border-bottom: none
}
}

@media screen and (min-width: 768px) {
.table-02 th {
    width: 200px
}
}
.table-02 td {
    letter-spacing: .08em
}

@media screen and (max-width: 767px) {
.table-02 td {
    padding-bottom: 1em
}
}
.table-03 {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0
}
.table-03 caption {
    padding-bottom: 1.2em;
    text-align: left
}

@media screen and (min-width: 768px) {
.table-03 caption {
    font-size: 12px
}
}

@media screen and (min-width: 768px) {
.table-03 tr:not(:last-of-type) th, .table-03 tr:not(:last-of-type) td {
    padding-bottom: 2.15em
}
}
.table-03 th, .table-03 td {
    padding-top: 2.15em;
    border-top: 1px solid var(--color_gray_01);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-weight: normal
}

@media screen and (max-width: 767px) {
.table-03 th, .table-03 td {
    padding-top: 1.5em;
    display: block
}
}
.table-03 th {
    text-align: left
}

@media screen and (max-width: 767px) {
.table-03 th {
    padding-bottom: 1em;
    border-bottom: none
}
}

@media screen and (min-width: 768px) {
.table-03 th {
    width: 200px
}
}

@media screen and (max-width: 767px) {
.table-03 td {
    padding-top: 0;
    padding-bottom: 1.5em;
    border-top: none
}
}
.table-03 td p {
    line-height: 2.2
}
.table-03 td p:not(:last-child) {
    margin-bottom: 1em
}

@media screen and (min-width: 768px) {
.table-03 .mulch-line {
    vertical-align: top;
    padding-top: 3.7em
}
}
.table-03 .require:before {
    margin-right: 1em;
    color: var(--color_red_01);
    content: "※"
}

@media screen and (min-width: 768px) {
.table-03 .require:before {
    font-size: 12px
}
}
.list-01 {
    word-wrap: break-word
}
.list-01 li {
    text-indent: -1em;
    padding-left: 1em
}
.list-01 li:before {
    content: "・"
}
.list-02 {
    padding-left: 1.5em
}
.list-02 li {
    list-style: decimal
}
.definition-list {
    letter-spacing: .08em
}
.definition-list__title {
    margin-bottom: 1.5em;
    padding-bottom: .1em;
    border-bottom: 1px solid;
    line-height: 2;
    letter-spacing: .08em;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.definition-list__title {
    font-size: 20px
}
}
.definition-list_content {
    margin-bottom: 2.5em;
    line-height: 2.2
}

@media screen and (min-width: 768px) {
.definition-list_content {
    margin-bottom: 5em
}
}

@media screen and (max-width: 767px) {
.area {
    margin-bottom: 26.86%
}
}

@media screen and (min-width: 768px) {
.area {
    max-width: 59em;
    margin-bottom: 10%;
    font-size: 16px
}
}
.area__description {
    line-height: 2.2;
    margin-bottom: 1.5em
}
.area__button {
    text-align: right
}

@media screen and (max-width: 767px) {
.input-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%
}
}

@media screen and (max-width: 767px) {
.input-wrap label {
    margin-right: 1.7em
}
}

@media screen and (max-width: 767px) {
.input-wrap .input-text {
    width: 100%;
    margin-left: 0
}
}
.input-text, .input-zip, .textarea {
    width: 100%;
    padding: .86em;
    border: 1px solid var(--color_gray_01);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: var(--color_white_01);
    outline-color: var(--base_color_01);
    font-size: 16px
}

@media screen and (min-width: 768px) {
.input-text, .input-zip, .textarea {
    padding: 1.5em;
    border-radius: 6px;
    font-size: inherit
}
}

@media screen and (min-width: 768px) {
.input-text--narrow, .input-zip--narrow, .textarea--narrow {
    width: 330px
}
}
.input-text--zip, .input-zip--zip, .textarea--zip {
    width: 200px;
    margin-left: 1.7em
}

@media screen and (min-width: 768px) {
.input-text--zip, .input-zip--zip, .textarea--zip {
    width: 330px
}
}
.input-checkbox {
    margin-right: .5em
}
.input-checkbox:checked {
    background-color: var(--base_color_01)
}
input[type=date], input[type=time] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}
.textarea {
    height: 20em;
    resize: vertical
}
::-webkit-input-placeholder {
color:#bababa
}
::-moz-placeholder {
color:#bababa
}
:-ms-input-placeholder {
color:#bababa
}
::-ms-input-placeholder {
color:#bababa
}
::placeholder {
color:#bababa
}
.form__policy {
    margin: 2em 0;
    line-height: 2.7;
    letter-spacing: .12em;
    -webkit-font-smoothing: antialiased
}

@media screen and (min-width: 768px) {
.form__policy {
    margin: 4.1em 0 2.2em
}
}
.form__policy p:not(:last-child) {
    margin-bottom: 1em
}
.form__submit {
    text-align: center
}
.form__thanks {
    text-align: center;
    line-height: 2.2
}
.hero {
    position: relative
}

@media screen and (min-width: 768px) {
.hero {
    height: 50%
}
}

@media screen and (min-width: 1441px) {
.hero {
    height: 720px
}
}
.hero__image {
    -webkit-filter: brightness(0.6);
    filter: brightness(0.6);
    width: 100%;
    max-width: none;
    height: 90.4vw;
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (min-width: 768px) {
.hero__image {
    height: 100%
}
}
.hero__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: var(--color_white_01)
}
.hero-title {
    text-align: center
}

@media screen and (min-width: 768px) {
.hero-title {
    margin-top: -0.8em
}
}
.hero-title__en {
    display: block;
    margin-bottom: .17em;
    letter-spacing: 0;
    font-size: 10.6666666667vw;
    font-family: var(--font_en_sans);
    font-weight: 700
}

@media screen and (min-width: 768px) {
.hero-title__en {
    font-size: 4.1666666667vw
}
}

@media screen and (min-width: 1441px) {
.hero-title__en {
    font-size: 60px
}
}
.hero-title__ja {
    display: block;
    letter-spacing: .08em;
    font-size: 3.4666666667vw
}

@media screen and (min-width: 768px) {
.hero-title__ja {
    font-size: .9722222222vw
}
}

@media screen and (min-width: 1441px) {
.hero-title__ja {
    font-size: 14px
}
}
.bg-text {
    position: absolute
}
.bg-text__image {
    width: auto;
    max-width: none
}

@media screen and (max-width: 767px) {
.bg-text__image {
    height: 19.2vw
}
}

@media screen and (min-width: 768px) {
.bg-text__image {
    height: 10vw
}
}
.section {
    padding: 21.33% 0
}

@media screen and (min-width: 768px) {
.section {
    padding: 9.72% 0
}
}

@media screen and (max-width: 767px) {
.section__inner {
    padding: 0 6.66%
}
}

@media screen and (min-width: 768px) {
.section__inner {
    width: 80.83%;
    max-width: 1000px;
    margin: 0 auto
}
}
.section__title {
    margin-bottom: 10.66%
}

@media screen and (min-width: 768px) {
.section__title {
    margin-bottom: 6%
}
}

@media screen and (min-width: 768px) {
.section-01__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 80.83%;
    max-width: 1164px;
    margin: 0 auto
}
}

@media screen and (max-width: 767px) {
.section-01__col--figure {
    margin-bottom: 9.53%
}
}

@media screen and (min-width: 768px) {
.section-01__col--figure {
    width: 46.3%
}
}

@media screen and (min-width: 768px) {
.section-01__col--content {
    width: 51.11%;
    padding-top: .8em
}
}

@media screen and (max-width: 767px) {
.section-01__title {
    margin-bottom: .7em;
    letter-spacing: .08em
}
}

@media screen and (min-width: 768px) {
.section-01__title {
    padding-right: .6em;
    margin-bottom: 1.3em
}
}

@media screen and (max-width: 999px) {
.section-01__title br {
    display: none
}
}

@media screen and (max-width: 767px) {
.section-01__title br {
    display: block
}
}
.section-01__description {
    text-align: center;
    line-height: 2.2;
    letter-spacing: .07em
}

@media screen and (min-width: 768px) {
.section-01__description {
    padding: 0 13.78% 0 11.26%
}
}

@media screen and (max-width: 767px) {
.section-02 {
    padding: 24% 0 0
}
}

@media screen and (min-width: 768px) {
.section-02__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}
}

@media screen and (max-width: 767px) {
.section-02__col--title {
    margin-bottom: 17.19%
}
}

@media screen and (min-width: 768px) {
.section-02__col--title {
    width: 44.44%
}
}
.section-02__sticky {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media screen and (min-width: 768px) {
.section-02__sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    padding-left: 23.43%
}
}

@media screen and (min-width: 1025px) {
.section-02__title {
    padding-left: 22.44%
}
}

@media screen and (max-width: 1024px)and (min-width: 768px) {
.section-02__title {
    padding-left: 0
}
}

@media screen and (max-width: 767px) {
.section-02__number {
    top: -2.6666666667vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}
}

@media screen and (min-width: 768px) {
.section-02__number {
    top: 50%;
    left: -18.36%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}
}
.section-02__description {
    line-height: 2.2;
    letter-spacing: .08em
}

@media screen and (max-width: 767px) {
.section-02__description {
    text-align: center;
    padding: 0 6.66%
}
}

@media screen and (min-width: 768px) {
.section-02__description {
    width: 74.48%;
    margin-top: 22.85%
}
}

@media screen and (min-width: 768px) {
.section-02__col--content {
    width: 55.55%
}
}
.section-02-content {
    position: relative;
    counter-increment: content_index 1
}
.section-02__figure {
    overflow: hidden
}

@media screen and (min-width: 768px) {
.section-02__image {
    width: 100%
}
}
.section-02-content__figcaption {
    position: absolute;
    bottom: 0;
    z-index: 1;
    color: var(--color_white_01)
}

@media screen and (max-width: 767px) {
.section-02-content__figcaption {
    padding: 6.66% 6.66% 9.33%
}
}

@media screen and (min-width: 768px) {
.section-02-content__figcaption {
    width: 56.87%;
    margin-bottom: 5.37%;
    padding-left: 9.37%
}
}
.section-02-content__number {
    line-height: 1;
    font-family: var(--font_en_sans);
    font-size: 16vw;
    font-weight: 700;
    content: "0" counter(content_index)
}

@media screen and (max-width: 767px) {
.section-02-content__number {
    display: block;
    margin-bottom: .05em
}
}

@media screen and (min-width: 768px) {
.section-02-content__number {
    line-height: 1.3;
    font-size: 60px
}
}
.section-02-content__title {
    margin-bottom: .8em;
    font-size: 5.0666666667vw;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.section-02-content__title {
    font-size: 24px
}
}
.section-02-content__description {
    line-height: 2.2;
    letter-spacing: .1em
}
.section-03 {
    padding: 11.06% 0 16.93%;
    letter-spacing: .08em;
    line-height: 2.2
}

@media screen and (min-width: 768px) {
.section-03 {
    padding: 9.02% 0 10.76%
}
}
.section-03--white {
    background-color: var(--color_white_01)
}

@media screen and (max-width: 767px) {
.section-03__inner {
    padding: 0 6.66%
}
}

@media screen and (min-width: 768px) {
.section-03__inner {
    width: 66.66%;
    max-width: 960px;
    margin: 0 auto
}
}

@media screen and (min-width: 768px) {
.section-03--wide .section-03__inner {
    width: auto;
    max-width: none
}
}

@media screen and (max-width: 767px) {
.section-03__row {
    padding: 0 6.66%
}
}

@media screen and (min-width: 768px) {
.section-03__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 63.88%;
    max-width: 920px;
    margin: 0 auto
}
}

@media screen and (min-width: 768px) {
.section-03--wide .section-03__row {
    width: auto;
    max-width: none
}
}

@media screen and (min-width: 768px) {
.section-03__col--title {
    width: 41.3%
}
}
.section-03__title {
    font-weight: bold;
    font-size: 4.2666666667vw
}

@media screen and (max-width: 767px) {
.section-03__title {
    margin-bottom: .6em;
    text-align: center
}
}

@media screen and (min-width: 768px) {
.section-03__title {
    font-size: 20px
}
}

@media screen and (max-width: 767px) {
.section-03__col--content {
    text-align: center
}
}

@media screen and (min-width: 768px) {
.section-03__col--content {
    width: 50%
}
}
.section-04 {
    padding: 18.66% 6.66% 21.33%
}

@media screen and (min-width: 768px) {
.section-04 {
    padding: 9.72% 0 11.11%
}
}

@media screen and (min-width: 768px) {
.section-04__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 80.83%;
    max-width: 1000px;
    margin: 0 auto
}
}

@media screen and (max-width: 767px) {
.section-04__col--figure {
    margin-bottom: 10.66%
}
}

@media screen and (min-width: 768px) {
.section-04__col--figure {
    width: 42%
}
}
.section-04__col--content {
    color: var(--color_white_01)
}

@media screen and (min-width: 768px) {
.section-04__col--content {
    width: 50%;
    padding-top: 4.8%
}
}
.section-04__title {
    margin-bottom: .8em;
    line-height: 2.1;
    letter-spacing: .08em;
    font-size: 4.2666666667vw;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.section-04__title {
    font-size: 20px
}
}
.section-04__content {
    line-height: 2.2;
    letter-spacing: .08em
}
.detail {
    width: 86.66%;
    margin: 0 auto 21.33%;
    padding: 13.2% 5.33% 14.66%;
    border-radius: 2.6666666667vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: 0 0 5.0666666667vw 0 rgba(0,0,0,.17);
    box-shadow: 0 0 5.0666666667vw 0 rgba(0,0,0,.17);
    background-color: var(--color_white_01)
}

@media screen and (min-width: 768px) {
.detail {
    width: 80.83%;
    max-width: 1000px;
    margin: 0 auto 9.72%;
    padding: 6.87% 6.94% 9.72%;
    border-radius: 4%;
    -webkit-box-shadow: 0 0 37px 0 rgba(0,0,0,.06);
    box-shadow: 0 0 37px 0 rgba(0,0,0,.06)
}
}
.hero-lineup+.detail {
    margin-top: 16.93%
}

@media screen and (min-width: 768px) {
.hero-lineup+.detail {
    margin-top: 10.76%
}
}
.detail-plan {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 7.01%;
    padding-bottom: 5.26%;
    border-bottom: 2px solid
}

@media screen and (min-width: 768px) {
.detail-plan {
    margin-bottom: 4.37%;
    padding-bottom: 3.37%
}
}
.detail-plan__name {
    width: 26.46%;
    margin-top: -0.7em;
    text-align: center;
    line-height: .5;
    letter-spacing: .08em;
    font-size: 4.5333333333vw;
    font-family: var(--font_en_sans);
    font-weight: 700
}

@media screen and (min-width: 768px) {
.detail-plan__name {
    width: 31%;
    margin-top: -0.4em;
    font-size: 2.7777777778vw
}
}

@media screen and (min-width: 1441px) {
.detail-plan__name {
    font-size: 40px
}
}
.detail-plan__name:first-letter {
    position: relative;
    line-height: 1;
    letter-spacing: 0;
    font-size: 18.6666666667vw
}

@media screen and (min-width: 768px) {
.detail-plan__name:first-letter {
    font-size: 10.4166666667vw
}
}

@media screen and (min-width: 1441px) {
.detail-plan__name:first-letter {
    font-size: 150px
}
}
.detail-plan-price {
    width: 69.64%;
    padding-left: 6.76%;
    border-left: 2px solid;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media screen and (min-width: 768px) {
.detail-plan-price {
    width: 68.99%;
    padding: 2.12% 0 1.87% 8.75%;
    border-left: 2px solid
}
}
.detail-plan-price__icon {
    margin-bottom: .4em
}

@media screen and (min-width: 768px) {
.detail-plan-price__icon {
    margin-bottom: .5em
}
}
.detail-plan-price__01 {
    display: inline;
    letter-spacing: .04em;
    font-size: 9.3333333333vw;
    font-family: var(--font_en_sans);
    font-weight: 700
}

@media screen and (min-width: 768px) {
.detail-plan-price__01 {
    font-size: 80px
}
}
.detail-plan-price__02 {
    display: inline;
    letter-spacing: .04em;
    font-size: 3.7333333333vw;
    font-weight: 900
}

@media screen and (min-width: 768px) {
.detail-plan-price__02 {
    font-size: 30px
}
}
.detail-plan-price__03 {
    display: inline;
    letter-spacing: .04em;
    font-weight: 900;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"
}

@media screen and (max-width: 767px) {
.detail-plan-price__03 {
    display: none
}
}

@media screen and (min-width: 768px) {
.detail-plan-price__03 {
    font-size: 14px
}
}
.detail-plan-price__layout {
    margin-top: .2em;
    letter-spacing: .08em;
    font-size: 3.2vw
}

@media screen and (max-width: 767px) {
.detail-plan-price__layout {
    line-height: 1.8
}
}

@media screen and (min-width: 768px) {
.detail-plan-price__layout {
    margin-top: .7em;
    font-size: 16px
}
}
.detail__note {
    margin-bottom: 11.92%;
    line-height: 2.2;
    letter-spacing: .04em;
    font-size: 2.6666666667vw
}

@media screen and (min-width: 768px) {
.detail__note {
    margin-bottom: 9.12%;
    font-size: 10px
}
}

@media screen and (max-width: 767px) {
.detail-figures {
    margin-bottom: 16.66%
}
}

@media screen and (min-width: 768px) {
.detail-figures {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 0 3.25%
}
}
.detail-figures__figure {
    text-align: center;
    letter-spacing: .04em
}

@media screen and (min-width: 768px) {
.detail-figures__figure {
    width: 44.34%;
    margin-bottom: 12.5%
}
}

@media screen and (max-width: 767px) {
.detail-figures__figure:not(:last-child) {
    margin-bottom: 14.03%
}
}
.detail-figures__image {
    margin-bottom: 8.77%
}

@media screen and (min-width: 768px) {
.detail-figures__image {
    margin-bottom: 13.35%
}
}
.detail-figures__figcaption {
    display: inline-block;
    padding: .4em .5em;
    border: 2px solid;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.detail-figures__figcaption {
    padding: .5em .85em;
    font-size: 12px
}
}

@media screen and (min-width: 768px) {
.specification {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}
}

@media screen and (max-width: 767px) {
.specification__table {
    margin-bottom: 10.87%
}
}

@media screen and (min-width: 768px) {
.specification__table {
    width: 38.75%
}
}
.specification___description {
    line-height: 2.2;
    letter-spacing: .08em
}

@media screen and (min-width: 768px) {
.specification___description {
    width: 50%
}
}
.gallery {
    margin-bottom: 21.33%
}

@media screen and (min-width: 768px) {
.gallery {
    margin-bottom: 17.91%
}
}
.gallery__title {
    margin-bottom: 10.66%
}

@media screen and (min-width: 768px) {
.gallery__title {
    margin-bottom: 4.02%
}
}

@media screen and (max-width: 767px) {
.gallery__slider {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 45.3333333333vw 41.3333333333vw;
    grid-template-columns: 45.3333333333vw 41.3333333333vw;
-ms-grid-rows:(auto)[2];
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 0px;
    grid-row-gap: 6.6666666667vw;
    width: 86.66%;
    margin: 0 auto
}
}

@media screen and (max-width: 767px) {
.gallery__track {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-area: 1/1/2/3
}
}
.gallery__slide {
    width: 100%
}

@media screen and (min-width: 768px) {
.gallery__slide {
    width: 45.83%
}
}
.gallery__image {
    width: 100%
}

@media screen and (max-width: 767px) {
.splide__arrows {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 2/2/3/3;
    -ms-grid-column-align: end;
    justify-self: end
}
}

@media screen and (max-width: 767px) {
.gallery__arrow {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}
}
.gallery__arrow--prev {
    left: 23.75vw
}

@media screen and (max-width: 767px) {
.gallery__arrow--prev {
    margin-right: .8em
}
}
.gallery__arrow--next {
    right: 24.2361111111vw
}

@media screen and (max-width: 767px) {
.gallery__pagination {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 2/1/3/2;
    position: static;
    padding: 0
}
}

@media screen and (min-width: 768px) {
.gallery__pagination {
    -webkit-box-pack: start;
    -webkit-justify-content: start;
    -ms-flex-pack: start;
    justify-content: start;
    bottom: -4.0277777778vw;
    width: 47.22%;
    margin: 0 auto;
    padding: 0
}
}
.modal {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    background-color: rgba(0,0,0,.8);
    color: var(--color_white_01);
    overflow: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 100;
    opacity: 0;
    -webkit-transition: opacity .4s;
    transition: opacity .4s;
    pointer-events: none
}

@media screen and (max-width: 767px) {
.modal {
    padding: 13.33% 0 26.66%
}
}

@media screen and (min-width: 768px) {
.modal {
    padding: 6.94% 0
}
}

@media screen and (min-width: 1441px) {
.modal {
    padding-top: 13.8888888889vw
}
}
.is-modal-opened .modal {
    display: block;
    opacity: 1;
    pointer-events: auto
}
.modal__close {
    position: fixed;
    background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2070%2069.1%22%20style%3D%22enable-background%3Anew%200%200%2070%2069.1%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23FFFFFF%3B%7D%20.st1%7Bfill%3Anone%3Bstroke%3A%23212121%3Bstroke-width%3A4%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M34.1%2C0C54.3%2C0%2C70%2C15.7%2C70%2C34.1c0%2C20.2-15.7%2C35-35.9%2C35C15.7%2C69.1%2C0%2C54.3%2C0%2C34.1C0%2C15.7%2C15.7%2C0%2C34.1%2C0z%22%2F%3E%3Cpath%20class%3D%22st1%22%20d%3D%22M16.1%2C25.9l37.8%2C17.3%22%2F%3E%3Cpath%20class%3D%22st1%22%20d%3D%22M16.1%2C43.2l37.8-17.3%22%2F%3E%3C%2Fsvg%3E") no-repeat;
    background-size: contain;
    cursor: pointer;
    z-index: 2
}

@media screen and (max-width: 767px) {
.modal__close {
    top: 2.5%;
    right: 2.5%;
    width: 50px;
    height: 50px
}
}

@media screen and (min-width: 768px) {
.modal__close {
    top: 6.3%;
    right: 5%;
    width: 70px;
    height: 70px
}
}
.modal__inner {
    height: auto;
    margin: 0 auto
}

@media screen and (max-width: 999px) {
.modal__inner {
    width: 85.33%
}
}

@media screen and (min-width: 1000px) {
.modal__inner {
    width: 63.88%;
    max-width: 920px
}
}

@media screen and (min-width: 1000px) {
.modal__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
}
}

@media screen and (max-width: 999px) {
.modal__col--figure {
    display: block;
    margin-bottom: 5.33%
}
}

@media screen and (min-width: 1000px) {
.modal__col--figure {
    width: 50%
}
}

@media screen and (min-width: 1000px) {
.modal__col--content {
    width: 42.39%;
    padding-top: 3.58%
}
}
.modal-title {
    margin-bottom: 3.2em;
    padding: 0 0 .35em .6em;
    border-bottom: 1px solid var(--color_white_01);
    letter-spacing: .014em
}
.modal-title__en {
    font-family: var(--font_en_sans);
    font-weight: bold;
    font-size: 7.2vw
}

@media screen and (min-width: 768px) {
.modal-title__en {
    font-size: 40px
}
}
.modal-title__ja {
    margin-left: 1.6em;
    font-size: 3.4666666667vw
}

@media screen and (min-width: 768px) {
.modal-title__ja {
    font-size: 14px
}
}
.modal__image {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    max-width: none
}

@media screen and (max-width: 767px) {
.modal-list:not(:last-child) {
    margin-bottom: 12.5%
}
}

@media screen and (min-width: 768px) {
.modal-list:not(:last-child) {
    margin-bottom: 12.56%
}
}
.modal-list__title {
    margin-bottom: 1.2em;
    letter-spacing: .3em
}

@media screen and (min-width: 768px) {
.modal-list__title {
    font-size: 12px
}
}
.modal-list__title span {
    padding: .25em 1em;
    border: 1px solid
}
.modal-list__item {
    display: inline;
    margin-right: .2em;
    line-height: 2.2;
    letter-spacing: .1em
}
.modal-list__item--note {
    display: block
}
.modal-toggle {
    cursor: pointer
}

@media screen and (min-width: 768px) {
.fade-alpha {
    -webkit-transition: opacity .4s ease-in;
    transition: opacity .4s ease-in
}
}

@media screen and (min-width: 768px) {
.fade-alpha:hover {
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    opacity: .6;
    text-decoration: none
}
}
.fade-trans {
    position: relative
}
.fade-trans__en, .fade-trans__ja {
    -webkit-transition: opacity .4s ease-in;
    transition: opacity .4s ease-in
}
.fade-trans:hover .fade-trans__en, .is-current .fade-trans .fade-trans__en, .fade-trans:hover .fade-trans__ja, .is-current .fade-trans .fade-trans__ja {
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out
}

@media screen and (min-width: 768px) {
.fade-trans__en {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1
}
}

@media screen and (min-width: 768px) {
.fade-trans:hover .fade-trans__en, .is-current .fade-trans .fade-trans__en {
    opacity: 0
}
}

@media screen and (min-width: 768px) {
.fade-trans__ja {
    opacity: 0
}
}

@media screen and (min-width: 768px) {
.fade-trans:hover .fade-trans__ja, .is-current .fade-trans .fade-trans__ja {
    opacity: 1
}
}
.slide-trans {
    position: relative
}

@media screen and (min-width: 768px) {
.slide-trans {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    height: 1.86em;
    overflow: hidden
}
}

@media screen and (min-width: 768px) {
.slide-trans__en, .slide-trans__ja {
    -webkit-transition: -webkit-transform .4s ease;
    transition: -webkit-transform .4s ease;
    transition: transform .4s ease;
    transition: transform .4s ease, -webkit-transform .4s ease
}
}

@media screen and (min-width: 768px) {
.slide-trans__en {
    display: block
}
}

@media screen and (min-width: 768px) {
.slide-trans:hover .slide-trans__en, .is-current .slide-trans .slide-trans__en {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}
}

@media screen and (min-width: 768px) {
.slide-trans__ja {
    display: block;
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
}
}

@media screen and (min-width: 768px) {
.slide-trans:hover .slide-trans__ja, .is-current .slide-trans .slide-trans__ja {
    -webkit-transform: translateY(calc(-100% - 0.2em));
    transform: translateY(calc(-100% - 0.2em))
}
}
.accordion {
    background-color: var(--color_white_01);
    counter-increment: accordion_index 1;
    border-radius: 1.3333333333vw
}

@media screen and (min-width: 768px) {
.accordion {
    margin: 0 auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 10px;
    -webkit-box-shadow: 0 0 16px 0 rgba(0,0,0,.1);
    box-shadow: 0 0 16px 0 rgba(0,0,0,.1)
}
}
.accordion:not(:last-child) {
    margin-bottom: 5.33%
}

@media screen and (min-width: 768px) {
.accordion:not(:last-child) {
    margin-bottom: 2.08%
}
}
.accordion__toggle {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    position: relative;
    padding: 10.3% 6.15% 6.15% 6.15%;
    font-size: 4.2666666667vw;
    cursor: pointer
}

@media screen and (max-width: 767px) {
.accordion__toggle {
    line-height: 2
}
}

@media screen and (min-width: 768px) {
.accordion__toggle {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 3.58% 5.43% 3.26% 7.28%;
    font-size: 18px
}
}
.accordion__toggle:before {
    width: 1.9em;
    font-family: var(--font_en_sans);
    font-size: 8vw;
    font-weight: 700;
    content: "Q" counter(accordion_index)
}

@media screen and (max-width: 767px) {
.accordion__toggle:before {
    margin-top: -0.4em
}
}

@media screen and (min-width: 768px) {
.accordion__toggle:before {
    width: 2.55em;
    font-size: 40px
}
}

@media screen and (max-width: 767px) {
.accordion-question__text {
    width: 61.4%
}
}
.accordion__arrow {
    display: block;
    position: absolute;
    top: 50%;
    right: 5.33%;
    width: 13.3333333333vw;
    height: 13.3333333333vw;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: var(--color_black_01);
    -webkit-transition: background-color .4s;
    transition: background-color .4s
}

@media screen and (min-width: 768px) {
.accordion__arrow {
    right: 6.52%;
    width: 3.4722222222vw;
    height: 3.4722222222vw;
    max-width: 50px;
    max-height: 50px
}
}
.accordion__toggle:hover .accordion__arrow, .accordion.is-expand .accordion__arrow {
    -webkit-transition-duration: .2s;
    transition-duration: .2s;
    background-color: var(--base_color_02)
}
.accordion__arrow::before, .accordion__arrow::after {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40%;
    height: 2px;
    background-color: #030303;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: -webkit-transform .4s;
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s;
    content: "";
    background-color: var(--color_white_01)
}

@media screen and (min-width: 768px) {
.accordion__arrow::before, .accordion__arrow::after {
    width: 1.3888888889vw;
    max-width: 20px;
    height: 2px
}
}
.accordion__arrow::before {
    -webkit-transform: translateX(-50%) rotate(0deg);
    transform: translateX(-50%) rotate(0deg)
}
.accordion__arrow::after {
    -webkit-transform: translateX(-50%) rotate(90deg);
    transform: translateX(-50%) rotate(90deg)
}
.is-expand .accordion__arrow::after {
    -webkit-transform: translateX(-50%) rotate(180deg);
    transform: translateX(-50%) rotate(180deg)
}
.accordion__content {
    max-height: 0;
    -webkit-transition: max-height 1s ease-out 0s;
    transition: max-height 1s ease-out 0s;
    overflow: hidden
}
.is-expand .accordion__content {
    max-height: 100vh;
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    overflow: auto
}
.accordion__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 87.69%;
    margin: 0 auto;
    padding: 6.92% 0 10.46%;
    border-top: 1px solid #ededed;
    line-height: 1.85;
    letter-spacing: .1em
}

@media screen and (min-width: 768px) {
.accordion__body {
    width: 91.3%;
    padding: 3.8% 1.19% 3.92% 4.52%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
}
.accordion__body::before {
    margin-right: 1.2em;
    line-height: 1.2;
    font-size: 8vw;
    font-family: var(--font_en_sans);
    font-weight: 700;
    content: "A"
}

@media screen and (min-width: 768px) {
.accordion__body::before {
    margin-right: 1.55em;
    font-size: 40px
}
}
.fade, .fade--scale, .fade--down, .fade--up {
    -webkit-transition: opacity 1s .4s ease-out, -webkit-transform 1s .4s ease-out;
    transition: opacity 1s .4s ease-out, -webkit-transform 1s .4s ease-out;
    transition: transform 1s .4s ease-out, opacity 1s .4s ease-out;
    transition: transform 1s .4s ease-out, opacity 1s .4s ease-out, -webkit-transform 1s .4s ease-out;
    opacity: 0
}
.fade.is-inview, .is-inview.fade--scale, .is-inview.fade--down, .is-inview.fade--up {
    -webkit-transform: none;
    transform: none;
    opacity: 1
}
.fade--up {
    -webkit-transform: translateY(30px);
    transform: translateY(30px)
}
.fade--down {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px)
}
.fade--scale {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    overflow: hidden
}

@media screen and (min-width: 768px) {
.inview--dilay01 {
    -webkit-transition-delay: .4s;
    transition-delay: .4s
}
}

@media screen and (min-width: 768px) {
.inview--dilay02 {
    -webkit-transition-delay: .8s;
    transition-delay: .8s
}
}

@media screen and (min-width: 768px) {
.inview--dilay03 {
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s
}
}

@media screen and (min-width: 768px) {
.inview--dilay04 {
    -webkit-transition-delay: 1.6s;
    transition-delay: 1.6s
}
}

@media screen and (min-width: 768px) {
.inview--dilay05 {
    -webkit-transition-delay: 2s;
    transition-delay: 2s
}
}

@media screen and (min-width: 768px) {
.inview--dilay06 {
    -webkit-transition-delay: 2.4s;
    transition-delay: 2.4s
}
}

@media screen and (min-width: 768px) {
.inview--dilay07 {
    -webkit-transition-delay: 2.8s;
    transition-delay: 2.8s
}
}

@media screen and (min-width: 768px) {
.inview--dilay08 {
    -webkit-transition-delay: 3.2s;
    transition-delay: 3.2s
}
}

@media screen and (min-width: 768px) {
.inview--dilay09 {
    -webkit-transition-delay: 3.6s;
    transition-delay: 3.6s
}
}
.fade--text {
    -webkit-transition: opacity 1.5s .5s, -webkit-transform 1.5s .5s;
    transition: opacity 1.5s .5s, -webkit-transform 1.5s .5s;
    transition: transform 1.5s .5s, opacity 1.5s .5s;
    transition: transform 1.5s .5s, opacity 1.5s .5s, -webkit-transform 1.5s .5s;
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
    opacity: 0
}
.fade--text.is-inview {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1
}
.slide-in__wrapper {
    display: inline-block;
    overflow: hidden
}
.slide-in__inner {
    position: relative;
    bottom: -2em
}
.is-inview.slide-in .slide-in__inner {
    bottom: 0;
    -webkit-transition: bottom 1.4s ease-out 0s;
    transition: bottom 1.4s ease-out 0s
}


.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 25px;
    z-index: 20;
    pointer-events: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media screen and (min-width: 768px) {
.header {
    padding: 60px 0 0
}
}
.header__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start
}

@media screen and (min-width: 768px) {
.header__inner {
    width: 91.66%;
    margin: 0 auto
}
}
.header__logo {
    display: block;
    width: 180.5px;
    pointer-events: auto
}

@media screen and (min-width: 768px) {
.header__logo {
    width: auto
}
}
.header-logo__path {
    fill: var(--color_black_01);
    fill-rule: evenodd;
    -webkit-transition: fill .4s ease;
    transition: fill .4s ease
}
.is-nav-opened .header-logo__path, .is-invert .header-logo__path {
    fill: var(--color_white_01)
}

@media screen and (min-width: 768px) {
.is-invert--is-pc .header-logo__path {
    fill: var(--color_white_01)
}
}

@media screen and (max-width: 767px) {
.is-invert--right .header-logo__path {
    fill: var(--color_white_01)
}
}

.main-nav li {
    list-style: none;
}
.nav-toggle {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    width: 70px;
    height: 33px;
    margin-top: -4.5px;
    padding: 8.5px 0;
    border: none;
    background: none;
    pointer-events: auto;
    cursor: pointer
}

@media screen and (min-width: 768px) {
.nav-toggle {
    width: 80px;
    height: 56px;
    padding: 20px 0;
    margin-top: -20px
}
}
.nav-toggle::before, .nav-toggle::after {
    height: 4px;
    background-color: var(--color_black_01);
    content: "";
    -webkit-transition: width .2s ease .2s, background-color .4s ease 0s, -webkit-transform .4s ease 0s;
    transition: width .2s ease .2s, background-color .4s ease 0s, -webkit-transform .4s ease 0s;
    transition: width .2s ease .2s, transform .4s ease 0s, background-color .4s ease 0s;
    transition: width .2s ease .2s, transform .4s ease 0s, background-color .4s ease 0s, -webkit-transform .4s ease 0s
}
.is-invert .nav-toggle::before, .is-invert--right .nav-toggle::before, .is-invert .nav-toggle::after, .is-invert--right .nav-toggle::after {
    background-color: var(--color_white_01)
}

@media screen and (min-width: 768px) {
.is-invert--is-pc .nav-toggle::before, .is-invert--is-pc .nav-toggle::after {
    background-color: var(--color_white_01)
}
}
.is-nav-opened .nav-toggle::before, .is-nav-opened .nav-toggle::after {
    -webkit-transition: width .4s ease 0s, -webkit-transform .4s ease .4s;
    transition: width .4s ease 0s, -webkit-transform .4s ease .4s;
    transition: width .4s ease 0s, transform .4s ease .4s;
    transition: width .4s ease 0s, transform .4s ease .4s, -webkit-transform .4s ease .4s;
    background-color: var(--color_white_01)
}

@media screen and (min-width: 768px) {
.is-nav-opened .nav-toggle::before, .is-nav-opened .nav-toggle::after {
    background-color: var(--color_black_01)
}
}
.nav-toggle::before {
    width: 100%
}
.is-nav-opened .nav-toggle::before {
    -webkit-transform: rotate(15deg) translate(5%, 115%);
    transform: rotate(15deg) translate(5%, 115%)
}
.nav-toggle::after {
    width: 47px;
    -webkit-align-self: end;
    -ms-flex-item-align: end;
    -ms-grid-row-align: end;
    align-self: end
}

@media screen and (min-width: 768px) {
.nav-toggle::after {
    width: 50px
}
}
.is-nav-opened .nav-toggle::after {
    width: 100%;
    -webkit-transform: rotate(-15deg) translate(5%, -115%);
    transform: rotate(-15deg) translate(5%, -115%)
}
.page-position {
    display: none;
    position: fixed;
    z-index: 5;
    pointer-events: auto
}

@media screen and (min-width: 1000px) {
.page-position {
    display: block;
    top: 140px;
    right: 0;
    margin-right: 2.7em
}
}
.is-nav-opened .page-position {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .4s ease 0s;
    transition: opacity .4s ease 0s
}
.page-position__item {
    margin-bottom: .8em;
    font-weight: bold;
    letter-spacing: .04em
}
.page-position__link {
    -webkit-transition: color .4s ease 0s;
    transition: color .4s ease 0s
}
.is-invert .page-position__link, .is-invert--right .page-position__link {
    color: var(--color_white_01)
}

@media screen and (min-width: 768px) {
.is-invert--is-pc .page-position__link {
    color: var(--color_white_01)
}
}

@media screen and (min-width: 768px) {
.page-position__en {
    font-size: 14px
}
}
.page-position__ja {
    display: inline-block
}

@media screen and (min-width: 768px) {
.page-position__ja {
    font-size: 10px
}
}
.page-position__arrow {
    margin-left: .4em;
    vertical-align: middle;
    color: var(--base_color_02)
}

@media screen and (min-width: 768px) {
.page-position__arrow {
    font-size: 12px
}
}
.footer {
    overflow: hidden;
	background-color: #222	
}

@media screen and (min-width: 768px) {
.footer {
    background-color: #222
}
}
.footer__inner {
    position: relative;
    padding: 48.66% 0 18.66%
}

@media screen and (max-width: 767px) {
.footer__inner {
    background-color: #222
}
}

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

}
.footer-button {
    position: fixed;
    bottom: 0;
    z-index: 20
}

@media screen and (max-width: 767px) {
.footer-button {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%
}
}

@media screen and (min-width: 768px) {
.footer-button {
    right: 3.5em
}
}

@media screen and (max-width: 767px) {
.footer-button__item {
    width: 50%
}
}

@media screen and (min-width: 768px) {
.footer-button__item {
    margin-bottom: 1.2em
}
}

@media screen and (max-width: 767px) {
.footer-button__item--reserve {
    background-color: var(--base_color_02)
}
}

@media screen and (max-width: 767px) {
.footer-button__item--request {
    background-color: #0dae64
}
}
.footer-button__link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    letter-spacing: .04em
}

@media screen and (max-width: 767px) {
.footer-button__link {
    padding: 1.5em 0;
    font-size: 3.2vw;
    color: var(--color_white_01)
}
}

@media screen and (min-width: 768px) {
.footer-button__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    position: relative;
    width: 100px;
    height: 100px;
    font-size: 10px;
    border-radius: 50%;
    background-color: var(--color_black_01);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    line-height: 1.8;
    color: var(--color_white_01);
    -webkit-transition: background-color .4s ease;
    transition: background-color .4s ease
}
}

@media screen and (min-width: 768px) {
.footer-button__link::before {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 90px;
    height: 90px;
    border: 1px solid var(--color_white_01);
    border-radius: 50%;
    opacity: 0;
    -webkit-transition: opacity .4s ease;
    transition: opacity .4s ease;
    content: ""
}
}

@media screen and (min-width: 768px) {
.footer-button__link:hover {
    background-color: var(--base_color_02);
    -webkit-transition-duration: .2s;
    transition-duration: .2s
}
}
.footer-button__link:hover::before {
    opacity: 1;
    -webkit-transition-duration: .2s;
    transition-duration: .2s
}

@media screen and (max-width: 767px) {
.footer-button__link br {
    display: none
}
}
.footer-button__icon {
    font-size: 3.7333333333vw
}

@media screen and (max-width: 767px) {
.footer-button__icon {
    margin-right: .2em
}
}

@media screen and (min-width: 768px) {
.footer-button__icon {
    margin-bottom: .6em;
    font-size: 14px
}
}
.reserve {
    background: url("../images/common/reserve_bg_sp.jpg") no-repeat;
    background-size: cover
}

@media screen and (max-width: 767px) {
.reserve {
    margin: 18.66% 6.66% 21.33%;
    padding: 19.06% 0 21.33%
}
}

@media screen and (min-width: 768px) {
.reserve {
    padding: 10.62% 0 11.11%;
    background: url("../images/common/reserve_bg_pc.jpg") no-repeat;
    background-size: cover;
    background-attachment: fixed
}
}

@media only screen and (min-width: 768px)and (-webkit-min-device-pixel-ratio: 2) {
.reserve {
    background-image: url("../images/common/reserve_bg_pc@2x.jpg")
}
}
.reserve__title {
    margin-bottom: 1.8em
}

@media screen and (min-width: 768px) {
.reserve__title {
    margin-bottom: 3.12%
}
}
.reserve__title .title-01__ja:not(.reserve__address)::after {
    display: none
}
.reserve__address {
    display: block;
    text-align: center;
    font-weight: bold;
    line-height: 1.3;
    font-size: 5.3333333333vw
}

@media screen and (min-width: 768px) {
.reserve__address {
    font-size: 24px
}
}

@media screen and (min-width: 768px) {
.reserve__address::after {
    margin: 1.4em 0 1.3em
}
}
.reserve__button {
    text-align: center;
    line-height: 1.6
}
.reserve__button .button-01__link {
    border-radius: 3em
}
.reserve-lower {
    padding: 26.4% 0 26.8%;
    background: url("../images/common/reserve_bg_sp_lower.jpg") no-repeat;
    background-size: cover
}

@media screen and (min-width: 768px) {
.reserve-lower {
    padding: 10.2% 0 6.8%;
    background: url("../images/common/reserve_bg_pc.jpg") no-repeat;
    background-size: cover;
    background-attachment: fixed
}
}

@media only screen and (min-width: 768px)and (-webkit-min-device-pixel-ratio: 2) {
.reserve-lower {
    background-image: url("../images/common/reserve_bg_pc@2x.jpg")
}
}
.reserve-lower__title {
    margin-bottom: 1.2em;
    text-align: center;
    letter-spacing: .08em;
    font-size: 3.4666666667vw;
    font-weight: bold;
    line-height: 2;
    color: var(--color_white_01)
}

@media screen and (min-width: 768px) {
.reserve-lower__title {
    font-size: 14px
}
}

@media screen and (max-width: 767px) {
.footer-contact {
    margin-bottom: 32%
}
}

@media screen and (min-width: 768px) {
.footer-contact {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-area: 1/1/2/4;
    padding-bottom: 13.74%
}
}
.footer-contact__title {
    margin-bottom: 1.8em
}

@media screen and (min-width: 768px) {
.footer-contact__title {
    margin-bottom: 4.63%
}
}
.footer-contact__button {
    text-align: center
}
.footer-contact__bg-text {
    top: 16vw
}

@media screen and (min-width: 768px) {
.footer-contact__bg-text {
    top: 4.1666666667vw
}
}
.footer-company {
    color: var(--color_white_01)
}

@media screen and (max-width: 767px) {
.footer-company {
    margin-bottom: 16.66%;
    text-align: center
}
}

@media screen and (min-width: 768px) {
.footer-company {
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 2/1/4/2;
    padding-right: 15.01%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
}

@media screen and (max-width: 767px) {
.footer-company__logo {
    width: 61.6%;
    margin: 0 auto 1.8em
}
}

@media screen and (min-width: 768px) {
.footer-company__logo {
    margin-bottom: 1.8em
}
}
.footer-logo__path {
    fill: #fdfeff;
    fill-rule: evenodd
}
.footer-company__name {
    margin-bottom: .8em;
    letter-spacing: .1em;
    font-size: 3.7333333333vw;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.footer-company__name {
    margin-bottom: 1.1em;
    font-size: 12px
}
}
.footer-company__address {
    line-height: 2.1;
    letter-spacing: .1em;
    font-size: 3.2vw;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.footer-company__address {
    font-size: 10px
}
}

@media screen and (max-width: 767px) {
.footer-nav {
    margin-bottom: 1.3em;
    padding: 0 4%
}
}

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

}
.footer-nav__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
	list-style: none;
}

@media screen and (max-width: 767px) {
.footer-nav__list {
    line-height: 2.6
}
}
.footer-nav__item {
    letter-spacing: 0;
    font-family: var(--font_en_sans);
    font-weight: 700;
    -webkit-font-smoothing: antialiased
}

@media screen and (min-width: 768px) {
.footer-nav__item {
    font-size: 12px
}
}

.footer-forms {
    display: none
}

@media screen and (min-width: 768px) {
.footer-forms {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-grid-row-align: end;
    align-self: end;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
    grid-area: 3/2/4/4;
    padding-top: 4.35%
}
}

@media screen and (min-width: 768px) {
.footer-forms__item:not(:last-child) {
    margin-right: 1.5em
}
}
.footer-forms__item br {
    display: none
}
.footer-forms__link {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: var(--color_white_01)
}

@media screen and (min-width: 768px) {
.footer-forms__link {
    width: 180px
}
}
.footer-forms__icon {
    margin-right: .3em;
    vertical-align: middle
}

@media screen and (min-width: 768px) {
.footer-forms__icon {
    font-size: 14px
}
}


@media screen and (max-width: 767px) {
.footer__copyright {
    text-align: right;
    padding: 0 12%
}
}

@media screen and (min-width: 768px) {
.footer__copyright {
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-area: 4/1/5/4;
    padding-top: 4.35%;
    font-size: 10px
}
}


.intro-slider {
    position: relative;
    overflow: hidden
}
.intro-slider-01 {
    width: 100%;
    height: 72vw
}

@media screen and (min-width: 768px) {
.intro-slider-01 {
    width: 54.7916666667vw;
    height: 34.7222222222vw
}
}
.intro-slider-02 {
    width: 33.33%;
    height: 56.1333333333vw
}

@media screen and (min-width: 768px) {
.intro-slider-02 {
    width: 21.5277777778vw;
    height: 31.25vw;
    margin: 0 0 0 auto
}
}
.intro-slider__item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: -webkit-transform 1s ease-out 2s;
    transition: -webkit-transform 1s ease-out 2s;
    transition: transform 1s ease-out 2s;
    transition: transform 1s ease-out 2s, -webkit-transform 1s ease-out 2s
}

@media screen and (max-width: 767px) {
.intro-slider__item {
    height: 100%
}
}
.intro-slider__item.is-visible, .intro-slider__item.is-load {
    z-index: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition-delay: 0s, 0s;
    transition-delay: 0s, 0s
}
.intro-slider__item.is-load {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}
.intro-slider__item.is-prev {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: -webkit-transform 2.2s ease-out .3333333333s;
    transition: -webkit-transform 2.2s ease-out .3333333333s;
    transition: transform 2.2s ease-out .3333333333s;
    transition: transform 2.2s ease-out .3333333333s, -webkit-transform 2.2s ease-out .3333333333s
}
.intro-slider__img {
    width: 100%;
    max-width: none;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}
.intro-slider-progress {
    position: absolute;
    top: -18.9333333333vw;
    right: 20.2666666667vw;
    width: 29.3333333333vw;
    height: 29.3333333333vw;
    z-index: 2
}

@media screen and (min-width: 768px) {
.intro-slider-progress {
    top: 6.9444444444vw;
    left: 9.5138888889vw;
    width: 9.0277777778vw;
    height: 9.0277777778vw;
    max-width: 130px;
    max-height: 130px
}
}

@media screen and (min-width: 1441px) {
.intro-slider-progress {
    top: 100px
}
}
.intro-slider-progress__bar {
    fill: rgba(0,0,0,0);
    stroke: var(--base_color_02);
    stroke-width: 2;
    stroke-dasharray: 500 500;
    -webkit-animation: circle 4.5s linear 0s infinite;
    animation: circle 4.5s linear 0s infinite
}
.intro-slider-progress__bg {
    fill: rgba(0,0,0,0);
    stroke: #d5d5d5;
    stroke-width: 2
}
.intro-slider-progress__num {
    font-family: var(--font_en_sans);
    font-weight: 700;
    color: #222
}

@media screen and (min-width: 768px) {
.intro-slider-progress__num {
    font-size: 18px
}
}
@-webkit-keyframes circle {
0% {
stroke-dasharray:0 500
}
20% {
stroke-dasharray:0 500
}
100% {
stroke-dasharray:500 500
}
}
@keyframes circle {
0% {
stroke-dasharray:0 500
}
20% {
stroke-dasharray:0 500
}
100% {
stroke-dasharray:500 500
}
}
.story {
    padding: 19.86% 0 21.33%
}

@media screen and (max-width: 767px) {
.story {
    position: relative
}
}

@media screen and (min-width: 768px) {
.story {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 9.72% 45.13% 29.86%;
    grid-template-columns: 9.72% 45.13% 29.86%;
-ms-grid-rows:(auto)[4];
    grid-template-rows: repeat(4, auto);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    width: 100%;
    margin: 0 auto;
    padding: 9.72% 0 4.58%
}
}
.story__content {
    padding: 0 6.66%
}

@media screen and (min-width: 768px) {
.story__content {
    -ms-grid-row: 1;
    -ms-grid-row-span: 4;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 1/2/5/3;
    -ms-grid-row-align: center;
    align-self: center;
    padding: 12.3% 10.76% 13.23% 18.61%
}
}
.story__description {
    margin-bottom: 2.7em;
    line-height: 2.2;
    letter-spacing: .08em
}

@media screen and (min-width: 768px) {
.story__description {
    letter-spacing: .1em
}
}
.story__title {
    margin-bottom: 114.39%;
    padding-top: 8.5333333333vw
}

@media screen and (min-width: 768px) {
.story__title {
    margin-bottom: 17.39%;
    padding-top: 0
}
}

@media screen and (min-width: 768px) {
.story__subtitle {
    max-width: 18em
}
}
.story__button {
    text-align: right
}
.story__number {
    left: 14.6666666667vw
}

@media screen and (min-width: 768px) {
.story__number {
    top: -32.05%;
    left: -43.57%
}
}
.story__figure--01 {
    overflow: hidden
}

@media screen and (max-width: 767px) {
.story__figure--01 {
    position: absolute;
    top: 93.2vw;
    width: 22.6666666667vw
}
}

@media screen and (min-width: 768px) {
.story__figure--01 {
    -ms-grid-row: 2;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 2/1/5/2;
    -ms-grid-row-align: end;
    align-self: end;
    padding-bottom: 17.64%
}
}
.story__figure--02 {
    overflow: hidden
}

@media screen and (max-width: 767px) {
.story__figure--02 {
    position: absolute;
    top: 78.5333333333vw;
    right: 6.6666666667vw;
    width: 65.3333333333vw
}
}

@media screen and (min-width: 768px) {
.story__figure--02 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
    grid-area: 1/3/4/4
}
}
.story__image {
    width: 100%;
    max-width: none
}
.problem {
    position: relative;
    overflow: hidden
}
.problem__inner {
    margin-top: 21.33%;
    padding: 37.6% 6.66% 21.33%;
    background: url("../images/home/problem_bg_sp.jpg") no-repeat 0;
    background-size: cover
}

@media screen and (min-width: 768px) {
.problem__inner {
    position: relative;
    margin-top: 9.72%;
    padding: 12.63% 0 9.02%;
    background: url("../images/home/problem_bg_pc.jpg") no-repeat 0;
    background-size: cover;
    background-attachment: fixed
}
}

@media only screen and (min-width: 768px)and (-webkit-min-device-pixel-ratio: 2) {
.problem__inner {
    background-image: url("../images/home/problem_bg_pc@2x.jpg")
}
}

@media screen and (min-width: 1441px) {
.problem__inner {
    padding: 182px 0 130px
}
}
.problem__title {
    margin-bottom: 18.6666666667vw;
    position: static
}

@media screen and (min-width: 768px) {
.problem__title {
    margin-bottom: 5%
}
}
.problem__number {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media screen and (min-width: 768px) {
.problem__number {
    left: 50%;
    -webkit-transform: translate(-50%, -54%);
    transform: translate(-50%, -54%)
}
}
.problems {
    position: relative
}

@media screen and (min-width: 768px) {
.problems::before {
    position: absolute;
    top: 51px;
    left: 0;
    width: 100%;
    height: 1px;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: -webkit-transform 1.5s ease-out;
    transition: -webkit-transform 1.5s ease-out;
    transition: transform 1.5s ease-out;
    transition: transform 1.5s ease-out, -webkit-transform 1.5s ease-out;
    background-color: var(--color_white_01);
    z-index: 1;
    content: ""
}
}
.problems.is-inview::before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1)
}

@media screen and (min-width: 768px) {
.problem__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    width: 71.87%;
    max-width: 1035px;
    margin: 0 auto
}
}
.problem-contet {
    text-align: center
}

@media screen and (max-width: 767px) {
.problem-contet {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 36.6666666667vw auto;
    grid-template-columns: 36.6666666667vw auto;
-ms-grid-rows:(auto)[2];
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 6.6666666667vw;
    grid-row-gap: 0px
}
}

@media screen and (min-width: 768px) {
.problem-contet {
    position: relative;
    width: 28.01%;
    z-index: 2
}
}

@media screen and (max-width: 767px) {
.problem-contet:not(:last-child) {
    margin-bottom: 20%
}
}

@media screen and (max-width: 767px) {
.problem-contet__title {
    -ms-grid-column-align: end;
    justify-self: end;
    -ms-grid-row-align: center;
    align-self: center;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 1/1/2/2
}
}

@media screen and (min-width: 768px) {
.problem-contet__title {
    margin: 0 auto 17.93%
}
}

@media screen and (max-width: 767px) {
.problem-contet__figure {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 1/2/2/3
}
}

@media screen and (min-width: 768px) {
.problem-contet__figure {
    margin-bottom: 16.55%
}
}
.problem-contet__description {
    line-height: 2.2;
    color: var(--color_white_01)
}

@media screen and (max-width: 767px) {
.problem-contet__description {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-area: 2/1/3/3;
    padding-top: 2.1em;
    letter-spacing: .06em
}
}

@media screen and (max-width: 1199px) {
.problem-contet__description {
    font-size: 14px
}
}

@media screen and (max-width: 767px) {
.problem-contet__description {
    font-size: 3.4666666667vw
}
}

@media screen and (min-width: 1200px) {
.problem-contet__description {
    font-size: 1.25vw
}
}

@media screen and (min-width: 1441px) {
.problem-contet__description {
    font-size: 18px
}
}

@media screen and (max-width: 1199px) {
.problem-contet__description br {
    display: none
}
}

@media screen and (max-width: 767px) {
.problem-contet__description br {
    display: block
}
}
.choice {
    position: relative;
    padding: 42.66% 6.66% 19.86%
}

@media screen and (min-width: 768px) {
.choice {
    padding: 20.83% 0 11.11%
}
}
.choice__arrow {
    display: block;
    position: absolute;
    top: -10.6666666667vw;
    left: calc(50% - 14.6666666667vw);
    width: 29.3333333333vw;
    height: 32vw;
    max-width: 220px;
    max-height: 240px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22220px%22%20height%3D%22240px%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20fill%3D%22rgb(237%2C%20237%2C%20237)%22%20d%3D%22M110.000%2C239.1000%20L0.000%2C137.711%20L52.753%2C137.711%20L52.753%2C-0.002%20L167.248%2C-0.002%20L167.248%2C137.711%20L219.1000%2C137.711%20L110.000%2C239.1000%20ZM13.733%2C143.121%20L110.000%2C232.639%20L206.268%2C143.121%20L161.881%2C143.121%20L161.881%2C5.408%20L58.120%2C5.408%20L58.120%2C143.121%20L13.733%2C143.121%20Z%22%2F%3E%3C%2Fsvg%3E") no-repeat;
    background-size: contain;
    z-index: 2
}

@media screen and (min-width: 768px) {
.choice__arrow {
    top: -5.5555555556vw;
    left: calc(50% - 7.6388888889vw);
    width: 15.2777777778vw;
    height: 16.6666666667vw
}
}

@media screen and (min-width: 1441px) {
.choice__arrow {
    top: -80px;
    left: calc(50% - 110px)
}
}
.choice__inner {
    position: relative
}
.choice__bg-text {
    position: absolute;
    top: 31.7333333333vw
}

@media screen and (min-width: 768px) {
.choice__bg-text {
    top: 14.4444444444vw;
    left: 200px
}
}
.lineup {
    position: relative;
    background-color: var(--color_gray_01);
    overflow: hidden
}

@media screen and (max-width: 767px) {
.lineup {
    padding-top: 24.66%;
    padding-bottom: 19.73%
}
}

@media screen and (min-width: 768px) {
.lineup {
    padding-bottom: 10.9027777778vw
}
}

@media screen and (max-width: 767px) {
.lineup--single {
    padding-top: 50.66%
}
}
.lineup__bg-text {
    position: absolute;
    top: 16vw
}

@media screen and (min-width: 768px) {
.lineup__bg-text {
    top: 4.1666666667vw;
    left: 200px
}
}
.lineup__slider {
    position: relative;
    z-index: 2;
    pointer-events: none
}

@media screen and (max-width: 767px) {
.lineup__slider {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column
}
}
.lineup__track {
    pointer-events: none
}

@media screen and (max-width: 767px) {
.lineup__track {
    padding: 5.3333333333vw 0;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}
}

@media screen and (min-width: 768px) {
.lineup__track {
    width: 58.33%;
    margin: 0 0 0 auto;
    padding: 11.1111111111vw 0 2.5694444444vw;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
}

@media screen and (min-width: 768px) {
.lineup__track--single {
    padding-top: 23.61%
}
}

@media screen and (max-width: 767px) {
.lineup__arrows {
    width: 87.69%;
    margin: -13.84% 0 6.15%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end
}
}
.lineup__arrow {
    top: 57.25%;
    pointer-events: auto
}

@media screen and (max-width: 767px) {
.lineup__arrow {
    position: static;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
}
}
.lineup__arrow--prev {
    left: 41.5972222222vw
}

@media screen and (max-width: 767px) {
.lineup__arrow--prev {
    margin-right: .8em
}
}
.lineup__arrow--next {
    right: 20.8333333333vw
}

@media screen and (max-width: 767px) {
.lineup__title {
    margin-bottom: 8%
}
}

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

}

@media screen and (min-width: 1025px) {
.lineup__title {
    padding-left: 13.88%
}
}

@media screen and (min-width: 1441px) {
.lineup__title {
    padding: 37px 0 0 200px
}
}

@media screen and (max-width: 767px) {
.lineup__number {
    top: 21.3333333333vw;
    left: 53%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}
}

@media screen and (min-width: 768px) {
.lineup__title--lower {
    padding: 14.09% 0 0 11.18%
}
}
.lineup-title__inner {
    margin-bottom: 1.4em
}
.lineup__description {
    line-height: 2;
    letter-spacing: .08em
}
.lineup__button {
    text-align: center
}

@media screen and (max-width: 767px) {
.lineup__button {
    margin-top: 9.6%
}
}

@media screen and (min-width: 768px) {
.lineup__button {
    margin-top: 34.44%
}
}
.lineup__description+.lineup__button {
    margin-top: 20.07%
}
.lineup-item {
    width: 86.5333333333vw;
    position: relative;
    padding: 2.311248074vw 2.311248074vw 15.4083204931vw;
    border-radius: 3.0816640986vw;
    -webkit-box-shadow: 0 0 5.0666666667vw 0 rgba(0,0,0,.17);
    box-shadow: 0 0 5.0666666667vw 0 rgba(0,0,0,.17);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: var(--color_white_01);
    pointer-events: auto
}

@media screen and (min-width: 768px) {
.lineup-item {
    width: 31.9444444444vw;
    padding: .6944444444vw .6944444444vw 2.7777777778vw;
    border-radius: 20px;
    -webkit-box-shadow: 0 0 2.6388888889vw 0 rgba(0,0,0,.17);
    box-shadow: 0 0 2.6388888889vw 0 rgba(0,0,0,.17);
    -webkit-transition: -webkit-box-shadow .4s ease-out;
    transition: -webkit-box-shadow .4s ease-out;
    transition: box-shadow .4s ease-out;
    transition: box-shadow .4s ease-out, -webkit-box-shadow .4s ease-out
}
}

@media screen and (min-width: 768px) {
.lineup-item.is-prev {
    -webkit-box-shadow: 0 0 2.6388888889vw 0 rgba(0,0,0,0);
    box-shadow: 0 0 2.6388888889vw 0 rgba(0,0,0,0);
    -webkit-transition-duration: .2s;
    transition-duration: .2s
}
}
.lineup-item__link {
    display: block
}
.lineup-item__figure {
    margin-bottom: 8.69%
}

@media screen and (min-width: 768px) {
.lineup-item__figure {
    margin-bottom: 9.31%;
    overflow: hidden
}
}
.lineup-item__image {
    width: 100%;
    border-radius: 1.8489984592vw
}

@media screen and (min-width: 768px) {
.lineup-item__image {
    border-radius: 12px;
    -webkit-transition: opacity .5s, -webkit-transform .5s ease-out;
    transition: opacity .5s, -webkit-transform .5s ease-out;
    transition: transform .5s ease-out, opacity .5s;
    transition: transform .5s ease-out, opacity .5s, -webkit-transform .5s ease-out
}
}

@media screen and (min-width: 768px) {
.lineup-item__link:hover .lineup-item__image {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    opacity: .7
}
}
.lineup-item__content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 31.36% auto;
    grid-template-columns: 31.36% auto;
-ms-grid-rows:(auto)[2];
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    width: 96.59%;
    margin: 0 auto 7.29%
}
.lineup-item__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 1/1/3/2;
    border-right: 2px solid;
    text-align: center;
    line-height: .95;
    font-size: 4.5333333333vw;
    font-family: var(--font_en_sans);
    font-weight: 700
}

@media screen and (max-width: 767px) {
.lineup-item__title {
    padding-top: .5em
}
}

@media screen and (min-width: 768px) {
.lineup-item__title {
    font-size: 1.6340277778vw
}
}

@media screen and (min-width: 1441px) {
.lineup-item__title {
    font-size: 25px
}
}
.lineup-item__title:first-letter {
    font-size: 18.6666666667vw
}

@media screen and (min-width: 768px) {
.lineup-item__title:first-letter {
    font-size: 6.9444444444vw
}
}

@media screen and (min-width: 1441px) {
.lineup-item__title:first-letter {
    font-size: 100px
}
}
.lineup-item-price {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 1/2/2/3;
    margin-bottom: .1em;
    padding-left: 10.81%;
    line-height: 1;
    letter-spacing: .15em;
    font-weight: bold
}

@media screen and (min-width: 768px) {
.lineup-item-price {
    margin-bottom: 1em
}
}
.lineup-item-price__icon {
    margin-bottom: .6em
}

@media screen and (min-width: 768px) {
.lineup-item-price__icon {
    margin-bottom: 1.2em
}
}
.lineup-item-price__00 {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(0%, #e8fa20));
    background: -webkit-linear-gradient(transparent 50%, #e8fa20 0%);
    background: linear-gradient(transparent 50%, #e8fa20 0%)
}
.lineup-item-price__01 {
    display: inline-block;
    font-family: var(--font_en_sans);
    font-size: 9.3333333333vw;
    font-weight: 700
}

@media screen and (min-width: 768px) {
.lineup-item-price__01 {
    font-size: 3.4722222222vw
}
}

@media screen and (min-width: 1441px) {
.lineup-item-price__01 {
    font-size: 50px
}
}
.lineup-item-price__02 {
    display: inline-block;
    margin-left: .2em;
    font-size: 3.7333333333vw;
    -webkit-transform: translateY(0.25em);
    transform: translateY(0.25em)
}

@media screen and (min-width: 768px) {
.lineup-item-price__02 {
    font-size: 1.3888888889vw
}
}

@media screen and (min-width: 1441px) {
.lineup-item-price__02 {
    font-size: 20px
}
}
.lineup-item__detail {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 2/2/3/3;
    padding-left: 10.81%;
    letter-spacing: .1em;
    font-size: 2.6666666667vw
}

@media screen and (max-width: 767px) {
.lineup-item__detail {
    line-height: 2
}
}

@media screen and (min-width: 768px) {
.lineup-item__detail {
    font-size: .8333333333vw
}
}

@media screen and (min-width: 1441px) {
.lineup-item__detail {
    font-size: 12px
}
}

@media screen and (min-width: 768px) {
.lineup-item__detail br {
    display: none
}
}
.lineup-item-arrow {
    width: 81.81%;
    margin: 0 auto;
    text-align: right;
    letter-spacing: .08em;
    font-size: 3.7333333333vw;
    font-family: var(--font_en_sans);
    font-weight: 700
}

@media screen and (min-width: 768px) {
.lineup-item-arrow {
    font-size: .8333333333vw
}
}
.lineup-item-arrow__icon {
    display: inline-block;
    margin-left: .3em;
    -webkit-transform: translateY(-0.1em);
    transform: translateY(-0.1em);
    vertical-align: middle
}
.lineup__note {
    line-height: 2;
    letter-spacing: .08em;
    text-indent: -1em;
    padding-left: 1em;
    font-weight: bold
}

@media screen and (max-width: 767px) {
.lineup__note {
    width: 86.66%;
    margin: 0 auto;
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
    line-height: 2.2;
    font-size: 2.6666666667vw
}
}

@media screen and (min-width: 768px) {
.lineup__note {
    font-size: 10px;
    padding-left: 45.13%
}
}

@media screen and (min-width: 768px) {
.merit__sticky {
    padding-top: calc(50vh - 14.45%);
    padding-bottom: calc(50vh - 14.45%)
}
}
.reasons {
    padding: 20% 0 0;
    background-color: var(--color_gray_01);
    overflow: hidden
}

@media screen and (min-width: 768px) {
.reasons {
    padding-top: 11.11%
}
}
.reasons__title {
    margin-bottom: 12%
}

@media screen and (min-width: 768px) {
.reasons__title {
    margin-bottom: 6.38%;
    padding-top: 9.37%
}
}
.reasons__number {
    top: 1.3333333333vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media screen and (min-width: 768px) {
.reasons__number {
    top: 0
}
}
.reasons__list {
    width: 86.66%;
    margin: 0 auto
}

@media screen and (min-width: 768px) {
.reasons__list {
    width: 80.83%;
    max-width: 920px
}
}
.function {
    position: relative;
    margin-top: 32%;
    padding: 37.33% 0 21.33%;
    background: url("../images/home/function_bg_sp.jpg") no-repeat;
    background-size: cover
}

@media screen and (min-width: 768px) {
.function {
    margin-top: 13.88%;
    padding: 11.11% 0;
    background: url("../images/home/function_bg_pc.jpg") no-repeat;
    background-size: cover;
    background-attachment: fixed
}
}

@media only screen and (min-width: 768px)and (-webkit-min-device-pixel-ratio: 2) {
.function {
    background-image: url("../images/home/function_bg_pc@2x.jpg")
}
}
.function-content {
    position: relative;
    padding: 18% 0 13.33%;
    background-color: rgba(255,255,255,.9);
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media screen and (min-width: 768px) {
.function-content {
    left: 2.43%;
    width: 64.58%;
    max-width: 850px;
    margin: 0 auto;
    padding: 3.47%
}
}

@media screen and (min-width: 1441px) {
.function-content {
    padding: 50px
}
}
.function-content:not(:last-child) {
    margin-bottom: 34.66%
}

@media screen and (min-width: 768px) {
.function-content:not(:last-child) {
    margin-bottom: 3.47%
}
}

@media screen and (min-width: 768px) {
.function-content:nth-child(2) {
    padding-right: 2.08%
}
}

@media screen and (min-width: 1441px) {
.function-content:nth-child(2) {
    padding-right: 30px
}
}
.function-content-icon {
    position: absolute
}

@media screen and (max-width: 767px) {
.function-content-icon {
    top: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: 0 auto 0
}
}

@media screen and (min-width: 768px) {
.function-content-icon {
    top: 3.76%;
    left: -22.35%
}
}

@media screen and (max-width: 767px) {
.function-content__title {
    width: 86.66%;
    margin: 0 auto 2em
}
}

@media screen and (min-width: 768px) {
.function-content__title {
    margin-bottom: 2.1em
}
}

@media screen and (max-width: 767px) {
.function-content__figure {
    padding-left: 6.66%;
    overflow: auto
}
}

@media screen and (max-width: 767px) {
.function-content__image {
    display: block
}
}

@media screen and (max-width: 767px) {
.function-content__image--01 {
    width: 173.8666666667vw;
    max-width: none
}
}

@media screen and (max-width: 767px) {
.function-content__image--02 {
    width: 204.8vw;
    max-width: none
}
}
.function__bg-text {
    position: absolute
}

@media screen and (max-width: 767px) {
.function__bg-text {
    top: -8vw;
    left: 0vw
}
}

@media screen and (min-width: 768px) {
.function__bg-text {
    top: -5.2%;
    left: 100px
}
}

@media screen and (max-width: 767px) {
.method {
    padding-top: 27.33%
}
}

@media screen and (min-width: 768px) {
.method {
    margin-bottom: 13.88%
}
}

@media screen and (max-width: 767px) {
.method__title {
    margin-bottom: 3em
}
}

@media screen and (min-width: 768px) {
.method__sticky {
    padding-top: calc(50vh - 21.87%);
    padding-bottom: calc(50vh - 21.87%)
}
}

@media screen and (max-width: 767px) {
.hero-lineup {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column
}
}

@media screen and (min-width: 768px) {
.hero-lineup {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 33.33% 66.66%;
    grid-template-columns: 33.33% 66.66%;
    -ms-grid-rows: auto 1fr;
    grid-template-rows: auto 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    width: 100%;
    max-width: 1440px;
    margin: 11.8% auto 0
}
}

@media screen and (min-width: 1000px) {
.hero-lineup {
    -ms-grid-columns: 33.33% 66.66%;
    grid-template-columns: 33.33% 66.66%
}
}

@media screen and (max-width: 767px) {
.hero-lineup__title {
    margin-bottom: 6.4%;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2
}
}

@media screen and (min-width: 768px) {
.hero-lineup__title {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 1/1/2/2;
    padding: 2.5% 0 0 29.16%
}
}
.hero-lineup-plan {
    z-index: 1
}

@media screen and (max-width: 767px) {
.hero-lineup-plan {
    margin-bottom: 1.73%;
    text-align: center;
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3
}
}

@media screen and (min-width: 768px) {
.hero-lineup-plan {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 2/1/3/2;
    padding-left: 29.16%
}
}
.hero-lineup__figure {
    position: relative;
    overflow: hidden
}

@media screen and (max-width: 767px) {
.hero-lineup__figure {
    height: 90.4vw;
    margin-bottom: 11.06%;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1
}
}

@media screen and (min-width: 768px) {
.hero-lineup__figure {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 1/2/3/3
}
}

@media screen and (max-width: 767px) {
.hero-lineup__image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}
}
.hero-lineup-plan__name {
    position: relative;
    text-align: center;
    line-height: .5;
    letter-spacing: .08em;
    font-size: 10.6666666667vw;
    font-family: var(--font_en_sans);
    font-weight: 700;
    z-index: 12
}

@media screen and (max-width: 767px) {
.hero-lineup-plan__name {
    margin-bottom: 13.33%
}
}

@media screen and (min-width: 768px) {
.hero-lineup-plan__name {
    padding: 12.5% .6em 0 0;
    font-size: 3.4722222222vw
}
}

@media screen and (min-width: 1441px) {
.hero-lineup-plan__name {
    font-size: 50px
}
}
.hero-lineup-plan__name:first-letter {
    line-height: 1;
    letter-spacing: 0;
    font-size: 40vw
}

@media screen and (min-width: 768px) {
.hero-lineup-plan__name:first-letter {
    font-size: 13.8888888889vw
}
}

@media screen and (min-width: 1441px) {
.hero-lineup-plan__name:first-letter {
    font-size: 200px
}
}

@media screen and (min-width: 768px) {
.hero-lineup-plan__name::after {
    position: absolute;
    bottom: -12.5%;
    right: -20.83%;
    width: 28.4722222222vw;
    max-width: 410px;
    max-height: 30px;
    padding-top: 2.0833333333vw;
    background: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20410.9%2030%22%20style%3D%22enable-background%3Anew%200%200%20410.9%2030%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3Anone%3Bstroke%3A%23222222%3Bstroke-width%3A2%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M0%2C29h407.6L366%2C0.8%22%2F%3E%3C%2Fsvg%3E") no-repeat right top;
    z-index: 2;
    content: ""
}
}

@media screen and (min-width: 768px)and (min-width: 1441px) {
.hero-lineup-plan__name::after {
    bottom: -60px;
    right: -100px
}
}
.hero-lineup-price {
    text-align: center;
    line-height: 1.32
}

@media screen and (max-width: 767px) {
.hero-lineup-price {
    display: -ms-inline-grid;
    display: inline-grid;
-ms-grid-columns:(auto)[2];
    grid-template-columns: repeat(2, auto);
-ms-grid-rows:(auto)[2];
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    padding-left: .5em
}
}

@media screen and (min-width: 768px) {
.hero-lineup-price {
    padding: 12.5% 6.25% 0 0
}
}
.hero-lineup-price__01 {
    letter-spacing: .04em;
    font-family: var(--font_en_sans);
    font-weight: 700
}

@media screen and (max-width: 767px) {
.hero-lineup-price__01 {
    font-size: 16vw;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 1/1/3/2;
    line-height: 1
}
}

@media screen and (min-width: 768px) {
.hero-lineup-price__01 {
    font-size: 5.5555555556vw
}
}

@media screen and (min-width: 1441px) {
.hero-lineup-price__01 {
    font-size: 80px
}
}
.hero-lineup-price__01.line-marker {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #e8fa20));
    background: -webkit-linear-gradient(transparent 70%, #e8fa20 0%);
    background: linear-gradient(transparent 70%, #e8fa20 0%)
}

@media screen and (min-width: 768px) {
.hero-lineup-price__01.line-marker {
    background: -webkit-gradient(linear, left bottom, left top, color-stop(15%, rgba(255, 255, 255, 0)), color-stop(15%, #e8fa20), color-stop(35%, #e8fa20), color-stop(0%, #e8fa20), color-stop(0%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0) 15%, #e8fa20 15%, #e8fa20 35%, #e8fa20 0%, rgba(255, 255, 255, 0) 0%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 15%, #e8fa20 15%, #e8fa20 35%, #e8fa20 0%, rgba(255, 255, 255, 0) 0%)
}
}
.hero-lineup-price__02 {
    display: block;
    letter-spacing: .04em;
    font-weight: 900
}

@media screen and (max-width: 767px) {
.hero-lineup-price__02 {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 1/2/2/3;
    padding: .15em 0 0 .5em;
    font-size: 6.6666666667vw
}
}

@media screen and (min-width: 768px) {
.hero-lineup-price__02 {
    margin-bottom: .8em;
    font-size: 2.0833333333vw
}
}

@media screen and (min-width: 1441px) {
.hero-lineup-price__02 {
    font-size: 30px
}
}
.hero-lineup-price__03 {
    display: block;
    text-indent: -1em;
    letter-spacing: .04em;
    font-weight: bold
}

@media screen and (max-width: 767px) {
.hero-lineup-price__03 {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 2/2/3/3;
    padding-left: .5em;
    font-size: 4.2666666667vw
}
}

@media screen and (min-width: 768px) {
.hero-lineup-price__03 {
    padding-bottom: 8.33%;
    font-size: 1.1111111111vw
}
}

@media screen and (min-width: 1441px) {
.hero-lineup-price__03 {
    font-size: 16px
}
}

@media screen and (min-width: 768px) {
.hero-lineup__image {
    -o-object-fit: cover;
    object-fit: cover;
    width: auto;
    height: 100%
}
}
.linup-archive {
    position: relative;
    overflow: hidden
}

@media screen and (max-width: 767px) {
.linup-archive {
    padding: 32% 0 21.33%
}
}

@media screen and (min-width: 768px) {
.linup-archive {
    margin: 0 auto 13.7%;
    padding-top: 9.72%
}
}

@media screen and (min-width: 768px) {
.linup-archive__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 80.83%;
    max-width: 1000px;
    margin: 0 auto
}
}

@media screen and (max-width: 767px) {
.lineup-item--archive {
    margin: 0 auto 16%
}
}

@media screen and (min-width: 768px) {
.lineup-item--archive {
    width: 46%;
    margin-bottom: 8%
}
}

@media screen and (min-width: 768px) {
.lineup-item--archive:nth-child(odd) {
    margin-right: 8%
}
}
.linup-archive__note {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end;
    padding-left: 0
}

@media screen and (min-width: 768px) {
.linup-archive__note {
    width: 80.83%;
    max-width: 1000px;
    margin: -3.09% auto 0
}
}
.linup-archive__bg-text {
    position: absolute;
    top: 18.6666666667vw;
    width: 101.7361111111vw;
    max-width: 1465px
}

@media screen and (min-width: 768px) {
.linup-archive__bg-text {
    top: 4.86%;
    left: 200px
}
}
.message {
    background: url("../images/company/message_bg_sp.jpg") no-repeat;
    background-size: cover
}

@media screen and (min-width: 768px) {
.message {
    background: url("../images/company/message_bg_pc.jpg") no-repeat;
    background-size: cover;
    background-attachment: fixed
}
}

@media only screen and (min-width: 768px)and (-webkit-min-device-pixel-ratio: 2) {
.message {
    background-image: url("../images/company/message_bg_pc@2x.jpg")
}
}

@media screen and (min-width: 768px) {
.infomartion__inner {
    width: 77.77%;
    max-width: 1120px
}
}
.strengths {
    padding-top: 0
}

@media screen and (min-width: 768px) {
.strengths {
    padding-bottom: 13.88%
}
}

@media screen and (max-width: 767px) {
.strengths__slider {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 45.3333333333vw 41.3333333333vw;
    grid-template-columns: 45.3333333333vw 41.3333333333vw;
-ms-grid-rows:(auto)[2];
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 0px;
    grid-row-gap: 6.6666666667vw
}
}
.strengths__track {
    border-bottom: 1px solid
}

@media screen and (max-width: 767px) {
.strengths__track {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-area: 1/1/2/3
}
}

@media screen and (min-width: 768px) {
.strengths__track {
    margin-bottom: 2.7%
}
}

@media screen and (min-width: 768px) {
.strengths__content {
    padding: 6.8% 4% 7.4%
}
}

@media screen and (max-width: 767px) {
.strengths__arrows {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-area: 2/2/3/3;
    -ms-grid-column-align: end;
    justify-self: end
}
}

@media screen and (max-width: 767px) {
.strengths__arrow {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}
}

@media screen and (min-width: 768px) {
.strengths__arrow--prev, .strengths__arrow--next {
    top: 17.3611111111vw
}
}

@media screen and (min-width: 1441px) {
.strengths__arrow--prev, .strengths__arrow--next {
    top: 250px;
    max-width: 80px;
    max-height: 80px
}
}

@media screen and (max-width: 767px) {
.strengths__arrow--prev {
    margin-right: .8em
}
}

@media screen and (min-width: 768px) {
.strengths__arrow--prev {
    left: -2.7777777778vw
}
}

@media screen and (min-width: 1441px) {
.strengths__arrow--prev {
    left: -40px
}
}

@media screen and (min-width: 768px) {
.strengths__arrow--next {
    right: -2.7777777778vw
}
}

@media screen and (min-width: 1441px) {
.strengths__arrow--next {
    right: -40px
}
}
.strengths__pagination {
    position: static;
    padding: 0
}

@media screen and (max-width: 767px) {
.strengths__pagination {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-area: 2/1/3/2;
    position: static;
    padding: 0
}
}

@media screen and (min-width: 768px) {
.strengths__pagination {
    -webkit-box-pack: end;
    -webkit-justify-content: end;
    -ms-flex-pack: end;
    justify-content: end;
    margin: 0 -0.5em
}
}

@media screen and (min-width: 768px) {
.policy {
    padding-top: 8.81%
}
}
/*# sourceMappingURL=style.css.map */
