<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";

* {
    box-sizing: border-box;
}

:root {
    --pink: #b44f78;
    --blue: #3287a7;
}

html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
}

body {
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    color: #222;
    /*font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;*/
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    margin: 0;
}

img {
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%;
}

a {
    color: var(--blue);
    text-decoration: none;
}

a[href="#"],
a[href="#"]:hover {
    cursor: auto;
    opacity: .6 !important;
    pointer-events: none
}

p {
    font-size: 1.4rem;
    line-height: 1.71428571429;
    margin: 1em 0 0 0;
    word-break: break-all;
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

h1,
h2,
h3,
h4,
h5 {
    font-weight: bold;
    margin-bottom: 0;
}

button,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: 0;
    border: 0;
}

/*---------------------------------------------
 * header
 *---------------------------------------------*/
#header {
    padding: 0 5em;
}

#header &gt; .inner {
    height: 14em;
}

#logo {
    font-size: 1rem;
    width: 12em;
}

.tel-btn &gt; p,
.entry-btn &gt; p {
    letter-spacing: .1em;
    line-height: 1;
}

.tel-btn {
    background-color: #f0f9fd;
    border: var(--blue) 1px solid ;
    color: var(--blue);
}

.entry-btn {
    background-color: var(--pink);
    color: #fff;
}

#header-btns &gt; .tel-btn,
#header-btns &gt; .entry-btn {
    border-radius: 50%;
    height: 10em;
    width: 10em;
}

#header-btns &gt; .tel-btn {
    margin-right: 1em;
}

#header-btns &gt; .tel-btn &gt; p {
    font-size: 1.3rem;
    margin-top: 2.6em;
}

#header-btns &gt; .entry-btn &gt; p {
    font-size: 1.6rem;
    margin-top: 2em;
}

#header-btns span {
    display: block;
    font-size: 1.4rem;
    margin-top: .3em;
}

/*---------------------------------------------
 * MV
 *---------------------------------------------*/
#mv-nav {
    padding: 0 5em;
}

#mv-nav &gt; .inner {
    grid-template-columns: repeat(auto-fit, minmax(40em, 1fr));
}

/*---------------------------------------------
 * Nav
 *---------------------------------------------*/
#nav a {
    background-color: #003245;
    display: block;
    height: 100%;
    position: relative;
}

#nav .label {
    background-color: var(--pink);
    border: 1px solid var(--pink);
    border-radius: .3571428571em;
    color: #fff;
    font-weight: bold;
    height: 2.4285714286em;
    left: .7142857143em;
    margin: 0;
    position: absolute;
    text-align: center;
    -webkit-transition: background-color .3s ease, color .3s ease;
    transition: background-color .3s ease, color .3s ease;
    top: .7142857143em;
    width: 7.1428571429em;
}

#nav a:hover &gt; .label {
    background-color: #fff;
    color: var(--pink);
}

#nav img {
    height: 100%;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
}

#nav a:hover &gt; img {
    opacity: .5;
}

#nav .subtitle {
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    margin: 0;
    opacity: 0;
    position: absolute;
    right: 50%;
    text-align: center;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    -webkit-transform: translate(50%, -60%);
    transform: translate(50%, -60%);
    top: 60%;
    width: 100%;
}

#nav .subtitle::after {
    background-image: url(../images/arrow_down.png);
    background-size: cover;
    content: "";
    display: block;
    height: 1.25em;
    margin: .8em auto 0;
    width: 1em;
}

#nav a:hover .subtitle {
    opacity: 1;
}

#nav &gt; .grid {
    gap: 2.5em;
    grid-template-columns: 1fr 1fr;
}

#nav .concept {
    grid-row: 1 / 3;
    grid-column: 1 / 2;
}

#nav .about {
    grid-row: 3 / 4;
    grid-column: 1 / 2;
}


/*---------------------------------------------
 * Summary
 *---------------------------------------------*/
#summary {
    margin-top: 10em;
    padding: 0 5em;
}

#detail {
    background-color: #f6f1eb;
    border-radius: 1em;
    margin-top: 2em;
    padding: 2em 5em;
}

#features {
    margin: 1em 4em 0 0;
    width: 42em;
}

#features &gt; .title {
    background-color: var(--blue);
    color: #fff;
    font-size: 2rem;
    margin: 0;
}

#features &gt; .title &gt; .ff-anton {
    font-size: 1.8em;
    letter-spacing: .1em;
    margin: 0 .2em 0 .45em;
}

#features &gt; .title &gt; span:not(.ff-anton) {
    font-size: .6em;
}

#features-list {
    line-height: 1.8;
    margin-top: 1.1em;
}

#features-list &gt; li {
    font-size: 1.5rem;
    font-weight: bold;
}

/*#features-list &gt; li:nth-of-type(n+4) {*/
/*    font-size: 1.6rem;*/
/*}*/

#features-list &gt; li::before {
    background-color: var(--blue);
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: .5833333333em;
    margin-right: .3333333333em;
    width: .5833333333em;
}

#cost {
    border-bottom: 1px dashed var(--blue);
    border-top: 1px dashed var(--blue);
    margin-top: 1.3em;
    padding: 2em 0;
    width: 100%;
}

#cost-table {
    border-collapse: collapse;
    text-align: left;
}

#cost-table tbody .price &gt; p,
#cost-table tbody .monthly &gt; p {
    color: #fff;
    font-weight: bold;
    font-size: 1.6rem;
    height: 1.8125em;
    margin: 0;
    width: 12em;
}

#cost-table .price &gt; p {
    background-color: #222;
}

#cost-table .monthly &gt; p {
    background-color: var(--blue);
}

#cost-table tbody td {
    font-size: 1.7rem;
    font-weight: bold;
}

#cost-table tbody .ff-anton {
    color: var(--blue);
    font-size: 1.5em;
    letter-spacing: .05em;
}

#cost-table tbody .ff-anton.large {
    font-size: 2.5em;
}

#cost-table tbody &gt; tr &gt; td:first-of-type {
    padding-right: 1.3em;
}

#cost-table tbody &gt; tr:nth-of-type(4) &gt; td {
    padding-top: 1em;
}

#cost-table tbody &gt; tr &gt; td[colspan="2"] {
    font-size: 1.2rem;
}

#features .caution {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.6666666667;
    margin: 0;
    white-space: nowrap;
}

#features .caution:nth-of-type(1) {
    margin-top: .55em;
}

#features .caution:nth-of-type(2) {
    /*text-indent: .8em;*/
}

#map {
    background-image: url(../images/map.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    border-radius: 50%;
    height: 34em;
    text-align: center;
    width: 34em;
}

#map p {
    font-weight: bold;
}

#map &gt; .desc {
    color: var(--blue);
    font-size: 1.3rem;
    line-height: 1.5384615385;
    margin-top: 3.8em;
}

#map &gt; .guide {
    font-size: 1.2rem;
    margin-top: .75em;
}

#map &gt; .guide &gt; .shop {
    background-color: var(--blue);
    color: #fff;
    height: 1.6666666667em;
    margin-right: .55em;
    padding: .2em 0 .2em .5em;
}

#map &gt; .guide &gt; .address {
    
}

.booking-btns {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 2em;
    -moz-column-gap: 2em;
    column-gap: 2em;
    margin: 2em auto 0;
}

.booking-btns &gt; a {
    padding: 1.421em 0;
}

.booking-btns p {
    font-size: 3rem;
    margin: 0;
}

.booking-btns span {
    display: block;
    font-size: 1.4rem;
    line-height: 1;
    margin-top: .4em;
}

.booking-btns &gt; .tel-btn &gt; p::before {
    background-image: url(../images/tel.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: .6333333333em;
    margin: 0 .33em .1em 0;
    width: 1em;
}

/*---------------------------------------------
 * Concept
 *---------------------------------------------*/
#concept {
    background-image: url(../images/concept_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 0 5em 10em;
}

section &gt; .title {
    color: #beb17a;
    font-size: 10em;
    letter-spacing: .1em;
    line-height: .95;
    margin: 1.5em 0 0 0;
    text-align: center;
    -webkit-transform: translateY(-.5em);
    transform: translateY(-.5em);
}

section &gt; .title::before,
section &gt; .title::after {
    content: "";
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#concept &gt; .img-wrap {
    margin: .5em auto 0;
    width: 20em;
}

#concept &gt; p {
    text-align: center;
    white-space: pre-line;
}

#concept &gt; p:nth-of-type(1) {
    font-size: 4rem;
    line-height: 1.5;
    margin: 1em 0 -.1em;
}

#concept &gt; p:nth-of-type(1) &gt; span {
    color: var(--blue);
    letter-spacing: .1em;
}

#concept &gt; p:nth-of-type(n+2) {
    font-size: 1.6rem;
    line-height: 1.875;
    margin: 1.8em 0 0;
}

/*---------------------------------------------
 * About
 *---------------------------------------------*/
#about {
    padding: 0 5em;
}

#about &gt; .title::after {
    background-image: url(../images/about_title_decor.png);
    height: .88em;
    margin: -.025em -.6em 0 .1em;
    width: .5em;
}

#about &gt; .desc {
    background-color: var(--blue);
    border-radius: 1em;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: .2em;
    line-height: 2;
    margin: -.2em auto 0;
    width: 20em;
}

#about &gt; .img-wrap {
    margin: 4em auto 0;
    max-width: 81.9em;
}

#about &gt; .img-wrap:nth-of-type(2) {
    max-width: 80.9em;
}

#about &gt; p:not(.desc) {
    color: var(--blue);
    font-size: 3rem;
    font-weight: bold;
    letter-spacing: .2em;
    line-height: 1.45;
    margin-top: .75em;
}

#about &gt; p:not(.desc)::before,
#about &gt; p:not(.desc)::after {
    background-image: url(../images/about_slash_decor.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: .3333333333em;
    width: 6.7em;
}

#about &gt; p:not(.desc)::before {
    margin-right: .66em;
}

#about &gt; p:not(.desc)::after {
    margin-left: .45em;
}

/*---------------------------------------------
 * Point
 *---------------------------------------------*/
#point {
    background-color: #d9e9e9;
    padding: 0 5em 10em;
}

#point &gt; .title::after {
    background-image: url(../images/point_title_decor.png);
    height: .66em;
    margin: -.28em -1.06em 0 .12em;
    width: .94em;
}

#point &gt; .desc {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    margin: -1.15em 0 -.5em;
}

#point &gt; .desc &gt; span {
    color: var(--blue);
    letter-spacing: .1em;
    margin-top: -.875em;
}

#point-list {
    counter-reset: number;
    list-style: none;
    margin: 1em 0 0 0;
    padding: 0;
}

#point-list &gt; li {
    background-color: var(--pink);
    border-radius: 3em;
    height: 30em;
    margin: 5em 2.5em 0;
    padding: 0 2em;
    position: relative;
    width: 30em;
}

#point-list &gt; li &gt; .label {
    left: 2em;
    position: absolute;
    top: 2em;
}

#point-list &gt; li &gt; .label::before {
    background-color: #fff;
    border-radius: 50%;
    color: var(--pink);
    content: 'P.'counter(number);
    counter-increment: number;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    font-size: 2.4rem;
    height: 2.5em;
    line-height: 2.5em;
    text-align: center;
    width: 2.5em;
}

#point-list &gt; li:nth-of-type(-n+2) &gt; .img-wrap {
    width: 8em;
}

#point-list &gt; li:nth-of-type(1) &gt; .img-wrap {
    margin: 5em auto 0;
}

#point-list &gt; li:nth-of-type(2) &gt; .img-wrap {
    margin: 5.3em auto 0;
}

#point-list &gt; li:nth-of-type(3) &gt; .img-wrap {
    margin: 3.9em auto 0;
    width: 5.9em;
}

#point-list &gt; li &gt; .title {
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}

#point-list &gt; li &gt; .desc {
    color: #fff;
}

/*---------------------------------------------
 * Lineup
 *---------------------------------------------*/
#lineup {
    padding: 0 5em;
}

#lineup &gt; .title::before {
    background-image: url(../images/lineup_title_decor.png);
    height: .73em;
    margin: .15em .29em 0 -1.06em;
    width: .77em;
}

#lineup &gt; .desc {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: .2em;
    margin: .4em 0 -.2em;
}

#lineup-list &gt; li {
    height: 30em;
    margin-top: 5em;
}

#lineup-list .content {
    background-color: #f4f4f4;
    padding: 0 4em;
    width: 36em;
}

#lineup-list .title {
    font-size: 3rem;
    letter-spacing: .1em;
    text-align: center;
}

#lineup-list .title::before {
    background-image: url(../images/arrow_right.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: .7em;
    margin: 0 .6em 0 -1.2em;
    width: .6em;
}

#lineup-list .desc {
    line-height: 1.875;
}

#lineup-list img {
    height: 100%;
}

/*---------------------------------------------
 * Step
 *---------------------------------------------*/
#step {
    background-color: #efdee5;
    padding: 0 5em 10em;
}

#step &gt; .title {
    line-height: 1.1;
}

#step &gt; .title::after {
    background-image: url(../images/step_title_decor.png);
    height: .62em;
    margin: .15em -.68em 0 0.08em;
    width: .6em;
}

#step &gt; .desc {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    margin: 0 0 -.5em;
}

#step &gt; .desc &gt; span {
    color: var(--blue);
    letter-spacing: .1em;
    margin-top: -.875em;
}

#step-list {
    counter-reset: number;
    list-style-type: none;
    margin: 0;
    padding: 0;
}

#step-list &gt; li {
    background-color: #fff;
    border-radius: 50%;
    height: 18.4em;
    margin: 5em 1em 0;
    width: 18.4em;
}

#step-list &gt; li .label {
    display: block;
    font-size: 2.2rem;
    line-height: 1;
    margin-top: 1.3em;
    text-align: center;
}

#step-list &gt; li .label::before {
    content: 'Step.'counter(number, decimal-leading-zero);
    counter-increment: number;
    color: var(--pink);
    letter-spacing: .1em;
}

#step-list &gt; li:nth-of-type(1) &gt; .img-wrap {
    margin: 1.1em auto 1.6em;
    width: 7em;
}

#step-list &gt; li:nth-of-type(2) &gt; .img-wrap {
    margin: .6em auto 1.1em;
    width: 6.4em;
}

#step-list &gt; li:nth-of-type(3) &gt; .img-wrap {
    margin: 1.2em auto 1.5em;
    width: 7em;
}

#step-list &gt; li:nth-of-type(4) &gt; .img-wrap {
    margin: 1em auto 1.5em;
    width: 5.4em;
}

#step-list &gt; li:nth-of-type(5) &gt; .img-wrap {
    margin: 1.5em auto 2em;
    width: 7em;
}

#step-list .name {
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1;
    margin: 0;
    text-align: center;
}



#etc {
    margin-top: 10em;
    padding: 0 5em;
}

#copyright {
    font-size: 1.2rem;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    line-height: 1.25;
    margin: 8.1em 0 2.4em;
}

#page-top {
    background-image: url(../images/page_top.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: 5.3em;
    content: "";
    height: 4.3em;
    position: fixed;
    right: 2.9em;
    width: 5em;
}

/*---------------------------------------------
 * about us
 *---------------------------------------------*/
#about-us-wrap {
    margin-top: 10em;
    padding: 0 5em;
}

#about-us-wrap &gt; .title {
    font-size: 5rem;
    letter-spacing: .1em;
    line-height: 1;
    margin: 0;
    text-align: center;
}

#about-us {
    border-collapse: collapse;
    border: var(--blue) 1px solid;
    margin-top: 5em;
    width: 100%;
}

#about-us th,
#about-us td {
    border: var(--blue) 1px solid;
    line-height: .3;
}

#about-us td &gt; p {
    font-size: 1.6rem;
    line-height: 1.5;
    margin: 0;
}

#about-us th {
    background-color: #f0f9fd;
    color: var(--blue);
    font-size: 1.6rem;
    padding: 1.5em 0;
    width: 10em;
    /*text-align: left;*/
}

#about-us td {
    padding: 2em 2.5em;
    white-space: pre-line;
}

#about-us td a:hover {
    text-decoration: underline;
}

#about-us td .map-btn {
    background-color: #333;
    color: #fff;
    font-size: 0.8em;
    font-weight: bold;
    height: 2em;
    line-height: 2em;
    margin-left: 1em;
    text-align: center;
    width: 7.6em;
}

#about-us td .flex {
    margin: -.35em 0;
}

/* 1400px */
@media (max-width: 87.5em) {
    #nav .subtitle {
        font-size: 1.2vw;
    }
    
    #nav .label {
        font-size: 1vw;
    }
}

/* 999px */
@media (max-width: 62.4375em) {
    #features {
        margin-right: 0;
        width: 44em;
    }
    
    #map {
        margin-top: 3em;
    }
}

/* 768px */
@media (max-width: 48em) {
    
    html {
        font-size: calc(100vw / 75);
    }
    
    p {
        font-size: 2.6rem;
    }
    
    #header &gt; .inner {
        height: 16em;
    }
    
    #header-btns &gt; .tel-btn,
    #header-btns &gt; .entry-btn {
        font-size: 1.2rem;
    }
    
    #header-btns &gt; .tel-btn &gt; p {
        font-size: 1.6rem;
    }
    
    #header-btns &gt; .entry-btn &gt; p {
        font-size: 2rem;
    }
    
    #header-btns span {
        font-size: 1.6rem;
    }
    
    #nav .label {
        display: none;
    }
    
    #nav a {
        pointer-events: none;
    }
    
    #features {
        width: 100%;
    }
    
    #features &gt; .title {
        font-size: 2.4rem;
    }
    
    #features-list &gt; li {
        font-size: 2rem;
    }
    
    /*#features-list &gt; li:nth-of-type(n+4) {*/
    /*    font-size: 2rem;*/
    /*}*/
    
    #cost-table tbody .price &gt; p,
    #cost-table tbody .monthly &gt; p {
        font-size: 2rem;
    }
    
    #cost-table tbody td {
        font-size: 2.4rem;
    }
    
    #cost-table tbody &gt; tr &gt; td[colspan="2"] {
        font-size: 1.8rem;
    }
    
    #features .caution {
        font-size: 1.6rem;
    }
    
    #detail {
        margin-top: 5em;
        padding: 4em 5em;
    }
    
    #map {
        font-size: 1.5rem;
    }
    
    #map &gt; .desc {
        font-size: 2rem;
    }
    
    #map &gt; .guide {
        font-size: 1.8rem;
    }
    
    .booking-btns {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        -webkit-column-gap: 0;
        -moz-column-gap: 0;
        column-gap: 0;
        margin-top: 3em;
        row-gap: 3em;
    }
    
    .booking-btns &gt; a {
        font-size: 2rem;
    }
    
    .booking-btns p {
        font-size: 4.4rem;
    }
    
    .booking-btns span {
        font-size: 2.4rem;
    }
    
    #concept &gt; p:nth-of-type(1) {
        font-size: 3.4rem;
    }
    
    #concept &gt; p:nth-of-type(n+2) {
        font-size: 2.4rem;
        padding: 0 .6em;
        text-align: left;
        letter-spacing: -.01em;
    }
    
    section &gt; .title {
        font-size: 9rem;
    }
    
    #about &gt; .desc,
    #point &gt; .desc,
    #lineup &gt; .desc,
    #step &gt; .desc {
        font-size: 2.4rem;
    }
    
    #about &gt; p:not(.desc) {
        font-size: 3.3rem;
        margin-top: 1.25em;
    }
    
    #copyright {
        font-size: 2rem;
        margin: 5.75em 0 2em;
    }
    
    #page-top {
        font-size: 1.6rem;
    }
    
    #point-list &gt; li {
        font-size: 1.47rem;
    }
    
    #point-list &gt; li &gt; .desc {
        font-size: 2.2rem;
    }
    
    #point-list &gt; li &gt; .title {
        font-size: 3rem;
    }
    
    #point-list &gt; li:nth-of-type(1) &gt; .img-wrap {
        margin: 3em auto 0;
    }
    
    #point-list &gt; li:nth-of-type(2) &gt; .img-wrap {
        margin: 3.3em auto 0;
    }
    
    #lineup-list &gt; li {
        height: auto;
    }
    
    #lineup-list .content {
        padding: 0 4em 4em;
        width: 100%;
    }
    
    #lineup-list .img-wrap {
        height: calc((100vw - 10em)/2.1333333333);
    }
    
    #lineup-list .title {
        font-size: 4rem;
    }
    
    #step-list &gt; li {
        font-size: 2.4rem;
        margin: 2.5em 0 0;
    }
    
    #step-list &gt; li .label {
        font-size: 5.8rem;
    }
    
    #step-list .name {
        font-size: 3.4rem;
    }
    
    #lineup &gt; .title::before {
        margin-left: -.7em;
    }
    
    #about-us th {
        font-size: 2.4rem;
        padding: 1.5em 0;
        width: 6.6em;
    }
    
    #about-us td &gt; p {
        font-size: 2.1rem;
    }
    
    #about-us td .flex {
        margin: -.25em 0;
    }
}
</pre></body></html>