@charset "UTF-8"; /* mixin
========================================================= */
.mt0 {
    margin-top: 0px !important;
}

.mb0 {
    margin-bottom: 0px !important;
}

.pt0 {
    padding-top: 0px !important;
}

.pl0 {
    padding-left: 0px !important;
}

.pb0 {
    padding-bottom: 0px !important;
}

.pad0 {
    padding: 0px !important;
}

.mt5 {
    margin-top: 5px !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.pt5 {
    padding-top: 5px !important;
}

.pl5 {
    padding-left: 5px !important;
}

.pb5 {
    padding-bottom: 5px !important;
}

.pad5 {
    padding: 5px !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.pt10 {
    padding-top: 10px !important;
}

.pl10 {
    padding-left: 10px !important;
}

.pb10 {
    padding-bottom: 10px !important;
}

.pad10 {
    padding: 10px !important;
}

.mt15 {
    margin-top: 15px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.pt15 {
    padding-top: 15px !important;
}

.pl15 {
    padding-left: 15px !important;
}

.pb15 {
    padding-bottom: 15px !important;
}

.pad15 {
    padding: 15px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.pt20 {
    padding-top: 20px !important;
}

.pl20 {
    padding-left: 20px !important;
}

.pb20 {
    padding-bottom: 20px !important;
}

.pad20 {
    padding: 20px !important;
}

.mt25 {
    margin-top: 25px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.pt25 {
    padding-top: 25px !important;
}

.pl25 {
    padding-left: 25px !important;
}

.pb25 {
    padding-bottom: 25px !important;
}

.pad25 {
    padding: 25px !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.pt30 {
    padding-top: 30px !important;
}

.pl30 {
    padding-left: 30px !important;
}

.pb30 {
    padding-bottom: 30px !important;
}

.pad30 {
    padding: 30px !important;
}

.mt35 {
    margin-top: 35px !important;
}

.mb35 {
    margin-bottom: 35px !important;
}

.pt35 {
    padding-top: 35px !important;
}

.pl35 {
    padding-left: 35px !important;
}

.pb35 {
    padding-bottom: 35px !important;
}

.pad35 {
    padding: 35px !important;
}

.mt40 {
    margin-top: 40px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.pt40 {
    padding-top: 40px !important;
}

.pl40 {
    padding-left: 40px !important;
}

.pb40 {
    padding-bottom: 40px !important;
}

.pad40 {
    padding: 40px !important;
}

.mt45 {
    margin-top: 45px !important;
}

.mb45 {
    margin-bottom: 45px !important;
}

.pt45 {
    padding-top: 45px !important;
}

.pl45 {
    padding-left: 45px !important;
}

.pb45 {
    padding-bottom: 45px !important;
}

.pad45 {
    padding: 45px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.pt50 {
    padding-top: 50px !important;
}

.pl50 {
    padding-left: 50px !important;
}

.pb50 {
    padding-bottom: 50px !important;
}

.pad50 {
    padding: 50px !important;
}

.mt55 {
    margin-top: 55px !important;
}

.mb55 {
    margin-bottom: 55px !important;
}

.pt55 {
    padding-top: 55px !important;
}

.pl55 {
    padding-left: 55px !important;
}

.pb55 {
    padding-bottom: 55px !important;
}

.pad55 {
    padding: 55px !important;
}

.mt60 {
    margin-top: 60px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.pt60 {
    padding-top: 60px !important;
}

.pl60 {
    padding-left: 60px !important;
}

.pb60 {
    padding-bottom: 60px !important;
}

.pad60 {
    padding: 60px !important;
}

.mt65 {
    margin-top: 65px !important;
}

.mb65 {
    margin-bottom: 65px !important;
}

.pt65 {
    padding-top: 65px !important;
}

.pl65 {
    padding-left: 65px !important;
}

.pb65 {
    padding-bottom: 65px !important;
}

.pad65 {
    padding: 65px !important;
}

.mt70 {
    margin-top: 70px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.pt70 {
    padding-top: 70px !important;
}

.pl70 {
    padding-left: 70px !important;
}

.pb70 {
    padding-bottom: 70px !important;
}

.pad70 {
    padding: 70px !important;
}

.mt75 {
    margin-top: 75px !important;
}

.mb75 {
    margin-bottom: 75px !important;
}

.pt75 {
    padding-top: 75px !important;
}

.pl75 {
    padding-left: 75px !important;
}

.pb75 {
    padding-bottom: 75px !important;
}

.pad75 {
    padding: 75px !important;
}

.mt80 {
    margin-top: 80px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.pt80 {
    padding-top: 80px !important;
}

.pl80 {
    padding-left: 80px !important;
}

.pb80 {
    padding-bottom: 80px !important;
}

.pad80 {
    padding: 80px !important;
}

.mt85 {
    margin-top: 85px !important;
}

.mb85 {
    margin-bottom: 85px !important;
}

.pt85 {
    padding-top: 85px !important;
}

.pl85 {
    padding-left: 85px !important;
}

.pb85 {
    padding-bottom: 85px !important;
}

.pad85 {
    padding: 85px !important;
}

.mt90 {
    margin-top: 90px !important;
}

.mb90 {
    margin-bottom: 90px !important;
}

.pt90 {
    padding-top: 90px !important;
}

.pl90 {
    padding-left: 90px !important;
}

.pb90 {
    padding-bottom: 90px !important;
}

.pad90 {
    padding: 90px !important;
}

.mt95 {
    margin-top: 95px !important;
}

.mb95 {
    margin-bottom: 95px !important;
}

.pt95 {
    padding-top: 95px !important;
}

.pl95 {
    padding-left: 95px !important;
}

.pb95 {
    padding-bottom: 95px !important;
}

.pad95 {
    padding: 95px !important;
}

.mt100 {
    margin-top: 100px !important;
}

.mb100 {
    margin-bottom: 100px !important;
}

.pt100 {
    padding-top: 100px !important;
}

.pl100 {
    padding-left: 100px !important;
}

.pb100 {
    padding-bottom: 100px !important;
}

.pad100 {
    padding: 100px !important;
}

/* 汎用クラス
========================================================= */
.underline {
    text-decoration: underline;
}

/* リセット
========================================================= */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    line-height: 1;
}

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

nav ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
}

/* change colours to suit your needs */
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

/* change colours to suit your needs */
mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

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

/* change border colour to suit your needs */
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input, select {
    vertical-align: middle;
}

img, iframe {
    vertical-align: bottom;
    max-width: 100%;
}

/* 基本設定
========================================================= */
body {
    font-family: "Sawarabi Mincho", sans-serif;
    font-weight: 400;
    line-height: 2.2;
    color: #424E8F;
    font-size: 15px;
    font-size: 0.9375rem;
    background: #FCFAF6;
    font-feature-settings: "palt";
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    color: #424E8F;
    line-height: 1.6;
}

p {
    margin: 0;
    line-height: 2;
    text-align: justify;
    text-justify: inter-ideograph;
}

p + p {
    margin-top: 2em;
}

ul, dl, figure {
    margin: 0;
    padding: 0;
}

dt {
    font-weight: normal;
}

li {
    list-style: none;
}

em {
    font-style: normal;
}

table {
    border-collapse: collapse;
}

::-moz-selection {
    color: #fff;
    background-color: #D8E5F4;
}

::selection {
    color: #fff;
    background-color: #D8E5F4;
}

ruby > rt {
    -webkit-transform: translateY(40%);
    transform: translateY(40%);
}

/* 表示・非表示
----------------------------------------------- */
.hidden {
    display: none;
}

@media (max-width: 1024px) {
    .hidden-tab {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .hidden-sp {
        display: none !important;
    }
}

@media (max-width: 479px) {
    .hidden-ss {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    .visible-tab {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .visible-sp {
        display: none !important;
    }
}

@media (min-width: 480px) {
    .visible-ss {
        display: none !important;
    }
}

/* 基本 body
========================================================= */
.com-container-01 {
    box-sizing: content-box;
    margin-right: auto;
    margin-left: auto;
    padding-right: 35px;
    padding-left: 35px;
    position: relative;
    padding-left: 3.85vw;
    padding-right: 3.85vw;
}

@media (max-width: 768px) {
    .com-container-01 {
        padding-right: 39px;
        padding-left: 39px;
    }
}

@media (max-width: 1024px) {
    .com-container-01 {
        padding-left: 3.71094vw;
        padding-right: 3.71094vw;
    }
}

@media (max-width: 768px) {
    .com-container-01 {
        padding-right: 39px;
        padding-left: 39px;
    }
}

@media (max-width: 350px) {
    .com-container-01 {
        padding-right: 20px;
        padding-left: 20px;
    }
}

.com-container-01 + .com-container-01 {
    margin-top: 200px;
}

@media (max-width: 1024px) {
    .com-container-01 + .com-container-01 {
        margin-top: 85px;
    }
}

@media (max-width: 767px) {
    .com-container-01 + .com-container-01 {
        flex-wrap: wrap;
        margin-top: 100px;
    }
}

.com-container-02 {
    max-width: 1050px;
    box-sizing: content-box;
    margin-right: auto;
    margin-left: auto;
    padding-right: 35px;
    padding-left: 35px;
}

@media (max-width: 768px) {
    .com-container-02 {
        padding-right: 39px;
        padding-left: 39px;
    }
}

.com-container-03 {
    box-sizing: content-box;
    margin-right: auto;
    margin-left: auto;
    padding-right: 35px;
    padding-left: 35px;
    position: relative;
    max-width: 1760px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 4vw;
    padding-right: 4vw;
}

@media (max-width: 768px) {
    .com-container-03 {
        padding-right: 39px;
        padding-left: 39px;
    }
}

@media (max-width: 1024px) {
    .com-container-03 {
        padding-left: 3.71094vw;
        padding-right: 3.71094vw;
    }
}

@media (max-width: 768px) {
    .com-container-03 {
        padding-right: 39px;
        padding-left: 39px;
    }
}

@media (max-width: 350px) {
    .com-container-03 {
        padding-right: 20px;
        padding-left: 20px;
    }
}

[class*="com-container-"] [class*="com-container-"] {
    padding-right: 0;
    padding-left: 0;
}

/* 中ページ layout
----------------------------------------------- */
@media (min-width: 768px) {
    #container {
        display: flex;
        height: 100vh;
    }
}

body.in-modal #container {
    height: auto;
    padding-right: 20px;
}

.pagetop {
    z-index: 101;
    position: fixed;
    width: 62px;
    height: 62px;
    bottom: 33px;
    right: 33px;
    opacity: 0;
    transition: .4s;
}


@media (max-width: 767px) {
    .pagetop {
        width: 40px;
        height: 40px;
        right: 20px !important;
        bottom: 100px !important;
    }
}
.shien_banner_wrap {
    z-index: 9999;
    position: fixed;
    background: #fff;
    line-height: 1.4em;
    display: inline-block;
    width: 180px;
    height: 111px;
    border-radius: 5px;
    padding-top: 15px;
    text-align: center;
    bottom: 113px;
    right: calc(680/2000*100% + 33px);
    box-shadow: 0.5px 0.5px 2px rgba(0,0,0,.1);
    display: none;
}
.shien_banner_wrap.close {
    display: none !important;
}
@media (max-width: 767px) {
    .shien_banner_wrap {
        bottom: 100px;
        left: 20px;
    }
}
.shien_banner_wrap #shien_banner_close_btn {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 12px;
    height: 12px;
    cursor: pointer;
}
.shien_banner_wrap #shien_banner_close_btn::before,
.shien_banner_wrap #shien_banner_close_btn::after {
    content: "";
    width: 100%;
    background: #333;
    height: 1px;
    display: block;
    position: absolute;
    left: 0;
}
.shien_banner_wrap #shien_banner_close_btn::before {
    transform: rotate(45deg);
    top: 50%;
}
.shien_banner_wrap #shien_banner_close_btn::after {
    transform: rotate(-45deg);
    top: 50%;
}
.shien_banner_wrap span,
.shien_banner_wrap a {
    display: block;
}
.shien_banner_wrap a {
    line-height: 1.4em;
    width: calc(100% - 60px);
    margin: 0px auto 0px;
    border-radius: 5px;
    padding-top: 10px;
    background-color: #424e8f;
    border-radius: 5px;
    cursor: pointer;
    color: #ffffff;
    font-size: 0.85em;
    font-family: sans-serif;
    margin-top: 5px;
    border: 1px solid #424e8f;
    padding: 4px 8px;
}
.shien_banner_wrap a:hover {
    background-color: #fff;
    color: #424e8f;
    opacity: 1;
}
.pagetop.active {
    opacity: 1;
}

#side {
    overflow-x: hidden;
    box-sizing: border-box;
    height: 100vh;
    width: 34%;
    background: #D8E5F4;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

#side::-webkit-scrollbar {
    display: none;
}

@media (max-width: 1024px) {
    #side {
        width: 34.17969%;
    }
}

@media (max-width: 767px) {
    #side {
        height: auto;
        width: auto;
        overflow: hidden;
    }
}

body.in-modal #side {
    display: none !important;
}

#side-logo {
    margin: 0 auto 5.45455%;
    max-width: 82.18181818181818%;
    text-align: center;
}

@media (max-width: 1024px) {
    #side-logo {
        max-width: 246px;
        margin-bottom: 21.20141%;
    }
}

#side-lang {
    position: absolute;
    right: 26px;
    top: 26px;
    display: flex;
    align-items: flex-start;
    font-size: 0px;
    font-size: 0rem;
}

@media (max-width: 1024px) {
    #side-lang {
        right: 24px;
        top: 24px;
    }
}

#side-lang a:hover {
    opacity: 1;
    border-bottom: #424E8F 0.86px solid;
}

#side-lang a:hover img {
    opacity: 1;
}

#side-lang a, #side-lang span {
    position: relative;
    height: 18.96px;
}

@media (max-width: 1024px) {
    #side-lang a, #side-lang span {
        height: 14.4072px;
    }
}

#side-lang span {
    border-bottom: #424E8F 0.86px solid;
}

#side-lang .en img {
    width: 32.27px;
}

@media (max-width: 1024px) {
    #side-lang .en img {
        width: 26.464px;
    }
}

#side-lang .jp::before {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 5.55px;
    height: 17px;
    background: url(../img/common/lang_slash.svg) no-repeat;
    background-size: contain;
    content: '';
}

@media (max-width: 1024px) {
    #side-lang .jp::before {
        left: 0;
        width: 4.3px;
        height: 13px;
    }
}

#side-lang .jp img {
    width: 21.8px;
    margin-left: 5px;
}

@media (max-width: 1024px) {
    #side-lang .jp img {
        width: 18.0869px;
    }
}

#side-inner {
    position: relative;
    padding: 0 11.02941% 100px;
}

@media (max-width: 1024px) {
    #side-inner {
        padding: 0 9.42857% 100px;
    }
}

@media (max-width: 767px) {
    #side-inner {
        padding: 0 35px 100px;
    }
}

#side-inner-02 {
    position: relative;
    padding: 104px 11.02941% 0;
}

@media (max-width: 1024px) {
    #side-inner-02 {
        padding: 90px 9.42857% 0;
    }
}

@media (max-width: 767px) {
    #side-inner-02 {
        padding: 0 35px 0;
    }
}

#side-inner-03 {
    position: relative;
    padding: 0 11.02941% 0;
}

@media (max-width: 1024px) {
    #side-inner-03 {
        padding: 0 9.42857% 0;
    }
}

@media (max-width: 767px) {
    #side-inner-03 {
        padding: 0 0 0;
    }
}

#content {
    position: relative;
    flex: 1;
    overflow-x: hidden;
    height: 100vh;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

#content::-webkit-scrollbar {
    display: none;
}

@media (max-width: 767px) {
    #content {
        height: auto;
    }
}

body.in-modal #content {
    height: auto;
}

#content .pagetop {
    right: calc(680/2000*100% + 33px);
    bottom: 33px;
}

@media (max-width: 767px) {
    #content .pagetop {
        right: 20px;
        bottom: 20px;
    }
}

@media (min-width: 768px) {
    body.in-modal #content .pagetop {
        right: 33px;
    }
}

@media (min-width: 768px) {
    body.no-column #content .pagetop {
        right: 33px;
    }
}

body.is-kv-show #content {
    padding-top: 0;
}

@media (min-width: 768px) {
    body.is-kv-show #content {
        height: 100vh;
    }
}

#content-inner {
    position: relative;
    padding-top: 300px;
    padding-bottom: 300px;
}

@media (max-width: 2000px) {
    #content-inner {
        padding-top: 22.72727%;
        padding-bottom: 200px;
    }
}

@media (max-width: 1024px) {
    #content-inner {
        padding-top: 140px;
    }
}

@media (max-width: 767px) {
    #content-inner {
        padding-top: 144px;
        padding-bottom: 0;
    }
}

#content-inner.has-bg {
    padding-top: 0;
}

@media (min-width: 2000px) {
    #content-inner.has-bg {
        background-size: 1228px auto;
        background-position: 10% center;
    }
}

@media (max-width: 1024px) {
    #content-inner.has-bg {
        padding-top: 0;
    }
}

@media (max-width: 767px) {
    #content-inner.has-bg {
        padding-top: 135px;
        height: auto;
    }
}

body.in-modal #content-inner.has-bg {
    padding-top: 100px;
    background-image: url(../img/news/bg.png);
    background-repeat: no-repeat;
    background-position: calc(540 / 1320 * 100% + 591 / 1320 * 100% / 2) 0;
    background-size: 44.77273% auto;
    padding-bottom: 100px;
}

@media (max-width: 1024px) {
    body.in-modal #content-inner.has-bg {
        padding-top: 60px;
    }
}

@media (max-width: 767px) {
    body.in-modal #content-inner.has-bg {
        background: none;
    }
}

@media (max-width: 767px) {
    #kv + #content-inner {
        padding-top: 0;
    }
}

@media (max-width: 767px) {
    #kv.height-0-s + #content-inner {
        padding-top: 100px;
    }
}

/* パーツ
========================================================= */
/* 共通パーツ
----------------------------------------------- */
/* リンク・ボタン
-------------------------------------- */
a {
    color: #424E8F;
    transition: .4s;
}

a:hover {
    opacity: .3;
    text-decoration: none;
}
@media screen and (max-width: 768px) {
    a:hover {
    opacity: 1;
    text-decoration: none;
}
}

a:hover img {
    opacity: 1;
}

a img {
    transition: .4s;
    opacity: 1;
}

a img:hover {
    opacity: .8;
}

/* セクション間の隙間
----------------------------------------------- */
.com-mt-01 {
    margin-top: 190px !important;
}

@media (max-width: 1024px) {
    .com-mt-01 {
        margin-top: 100px !important;
    }
}

@media (max-width: 767px) {
    .com-mt-01 {
        margin-top: 115px !important;
    }
}

.com-mt-02 {
    margin-top: 150px !important;
}

@media (max-width: 1024px) {
    .com-mt-02 {
        margin-top: 70px !important;
    }
}

@media (max-width: 767px) {
    .com-mt-02 {
        margin-top: 100px !important;
    }
}

.com-mt-03 {
    margin-top: 150px !important;
}

@media (max-width: 1024px) {
    .com-mt-03 {
        margin-top: 90px !important;
    }
}

.com-mt-04 {
    margin-top: 40px !important;
}

@media (max-width: 1024px) {
    .com-mt-04 {
        margin-top: 35px !important;
    }
}

.com-mt-04 {
    margin-top: 40px !important;
}

@media (max-width: 959px) {
    .com-mt-04 {
        margin-top: 30px !important;
    }
}

.com-mt-05 {
    margin-top: 20px !important;
}

@media (max-width: 959px) {
    .com-mt-05 {
        margin-top: 15px !important;
    }
}

.com-mt-06 {
    margin-top: 75px !important;
}

.com-mt-0 {
    margin-top: 0 !important;
}

.com-pt-0 {
    padding-top: 0 !important;
}

.com-pb-0 {
    padding-bottom: 0 !important;
}

/* アニメーション
----------------------------------------------- */
/* フレックスボックス
-------------------------------------- */
.com-flex-01 {
    display: flex;
    flex-wrap: wrap;
}

.com-flex-01 + .com-flex-01 {
    margin-top: 200px;
}

@media (max-width: 1024px) {
    .com-flex-01 + .com-flex-01 {
        margin-top: 85px;
    }
}

@media (max-width: 767px) {
    .com-flex-01 + .com-flex-01 {
        flex-wrap: wrap;
        margin-top: 120px;
    }
}

.com-flex-01 > .com-imgs-01 {
    flex: 1;
    margin-right: 3.5vw;
}

@media (max-width: 1024px) {
    .com-flex-01 > .com-imgs-01 {
        margin-right: 2.92969vw;
    }
}

@media (max-width: 767px) {
    .com-flex-01 > .com-imgs-01 {
        flex: none;
        width: 100%;
        margin-right: 0;
        margin-top: 25px;
    }
}

.com-flex-01 > .main {
    width: 312px;
}

@media (max-width: 1024px) {
    .com-flex-01 > .main {
        width: 46.66667%;
    }
}

@media (max-width: 767px) {
    .com-flex-01 > .main {
        margin-top: 0;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .com-flex-01 > .main.first-sp {
        order: -1;
    }
}

/* パネル
-------------------------------------- */
/* テキストカラー
-------------------------------------- */
.com-color-01 {
    color: #424E8F;
}

.com-color-02 {
    color: #D8E5F4;
}

.com-color-03 {
    color: #FCFAF6;
}

.com-color-04 {
    color: #000;
}

.com-color-05 {
    color: #000;
}

.com-color-06 {
    color: #000;
}

.com-color-07 {
    color: #000;
}

/* フォントウェイト
-------------------------------------- */
.font-bold {
    font-weight: bold;
}

/* フォント
-------------------------------------- */
.font-serif {
    font-family: "Noto Serif JP", serif;
}

.font-sans {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
}

.font-kozuka {
    font-family: kozuka-gothic-pr6n, sans-serif;
}

.font-merriweather {
    font-family: Merriweather, serif;
    font-weight: 400;
}

.font-lora {
    font-family: Lora, serif;
    font-weight: 400;
}

/* 背景色
-------------------------------------- */
.com-bg-01 {
    background-color: #000;
}

.com-bg-02 {
    background-color: #D8E5F4;
}

/* テキスト寄せ
-------------------------------------- */
.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.com-txt-01 {
    font-size: 18px;
    font-size: 1.125rem;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    /* @media (max-width: 767px) {
     text-align: left;
   }*/
}

@media (max-width: 1024px) {
    .com-txt-01 {
        font-size: 15px;
        font-size: 0.9375rem;
    }
}

.com-txt-02 {
    font-size: 12px;
    font-size: 0.75rem;
}

/* 行間
-------------------------------------- */
.com-ls-01 {
    letter-spacing: 0.07em !important;
}

.com-ls-02 {
    letter-spacing: 0.05em !important;
}

/* 画像
-------------------------------------- */
.com-imgs-01 {
    position: relative;
}

@media (max-width: 767px) {
    .com-imgs-01 img {
        width: 100%;
    }
}

.com-imgs-01 figure {
    position: relative;
}

.com-imgs-01 figure + figure {
    margin-top: 15px;
}

@media (max-width: 767px) {
    .com-imgs-01 figure + figure {
        margin-top: 10px;
    }
}

.com-imgs-01 figure.yunayagi:after {
    content: '\02042';
    display: block;
    text-align: right;
    margin-top: 5px;
    margin-right: 5px;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1;
}

@media (min-width: 1025px) {
    .com-imgs-01 figure.width-01 {
        width: 66.66667%;
    }
}

@media (min-width: 1025px) {
    .com-imgs-01 figure.align-right {
        margin-left: auto;
    }
}

@media (min-width: 1025px) {
    .com-imgs-01 figure.align-left {
        margin-right: auto;
    }
}

@media (max-width: 767px) {
    .com-imgs-01 + * {
        margin-top: 20px;
    }
}

@media (max-width: 767px) {
    * + .com-imgs-01 {
        margin-top: 25px;
    }
}

.com-imgs-02 {
    margin-top: 35px;
}

@media (max-width: 1024px) {
    .com-imgs-02 {
        margin-top: 15px;
    }
}

@media (max-width: 767px) {
    .com-imgs-02 {
        margin-top: 17px;
    }
}

.com-imgs-02 figure + figure {
    margin-top: 15px;
}

@media (max-width: 1024px) {
    .com-imgs-02 figure + figure {
        margin-top: 8px;
    }
}

@media (max-width: 767px) {
    .com-imgs-02 figure + figure {
        margin-top: 9px;
    }
}

/* テーブル
-------------------------------------- */
/* リスト
-------------------------------------- */
.com-list-01 {
    line-height: 1.86667;
    letter-spacing: -.02em;
}

@media (max-width: 1024px) {
    .com-list-01 {
        line-height: 1.46667;
        letter-spacing: normal;
    }
}

.com-list-01 li + li {
    margin-top: .6em;
}

@media (max-width: 1024px) {
    .com-list-01 li + li {
        margin-top: .3em;
    }
}

@media (max-width: 767px) {
    .com-list-01 li + li {
        margin-top: .6em;
    }
}

.com-list-01 .colon {
    display: inline-block;
    text-align: center;
    width: .8em;
}

.com-list-01 .com-list-01-tit-01 {
    font-size: 12px;
}

/* スクロールのターゲット（header固定分スクロールをずらすため）
-------------------------------------- */
.scroll-target {
    display: block;
}

@media (min-width: 1025px) {
    .scroll-target {
        margin-top: -95px;
        padding-top: 95px;
    }
}

/* header
========================================================= */
#header {
    position: fixed;
    top: 0;
    right: 34%;
    left: 0;
    z-index: 100;
    background: #FCFAF6;
    transition: opacity .3s;
}

@media (max-width: 1024px) {
    #header {
        right: 34.17969%;
    }
}

@media (max-width: 767px) {
    #header {
        z-index: 112;
        right: 0;
        width: 100%;
        height: 100px;
    }
}

@media (min-width: 768px) {
    body.is-kv-show #header {
        position: absolute;
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
    }
}

@media (max-width: 767px) {
    body.is-kv-show #header {
        background: transparent;
    }
}

body.loading #header {
    opacity: 0 !important;
}

@media (max-width: 767px) {
    body.is-kv-show.is-menu-open #header {
        background: #FCFAF6 !important;
    }
}

@media (max-width: 767px) {
    body.is-reservation-open #header {
        background: #FCFAF6 !important;
    }
}

@media (min-width: 768px) {
    body.in-modal #header {
        display: none;
    }
}

body.no-column #header {
    right: 30%;
}

@media (max-width: 1024px) {
    body.no-column #header {
        right: 34.17969%;
    }
}

@media (min-width: 768px) {
    body.no-column #header #side-thin {
        position: fixed;
        top: 0;
        right: 0;
        overflow-x: hidden;
        box-sizing: border-box;
        width: 30%;
        background: #D8E5F4;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.no-column #header #side-thin {
        width: 34.17969%;
    }
}

@media (min-width: 768px) {
    body.no-column #header #side-logo {
        margin: 15px auto;
        padding-right: 60px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.no-column #header #side-logo {
        margin: 10px auto;
    }
}

@media (min-width: 768px) {
    body.no-column #header #side-logo img {
        height: 70px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.no-column #header #side-logo img {
        height: 50px;
    }
}

#header-logo-sp {
    z-index: 112;
    position: absolute;
    top: 17px;
    left: 50%;
    width: 157px;
    font-size: 1px;
    line-height: 1;
    will-change: width, top;
    transform: translateX(-50%);
    transition: width .2s, opacity .2s;
}

#header-logo-sp a:hover {
    opacity: 1;
}

#header-logo-sp a:hover img {
    opacity: 1;
}

body.is-kv-show #header-logo-sp {
    position: fixed;
    width: 305px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

body.is-reservation-open #header-logo-sp, body.is-menu-open #header-logo-sp {
    top: 17px !important;
    width: 157px !important;
    transform: translateX(-50%) !important;
}

#header-logo-sp.small {
    top: 17px !important;
    width: 157px !important;
    transform: translateX(-50%) !important;
}

body.loading #header-logo-sp {
    opacity: 0 !important;
}

#gnav {
    font-size: 0px;
    font-size: 0rem;
    line-height: 1;
    max-width: 58vw;
    padding-right: 14px;
    margin: 0 auto;
}

@media (max-width: 1024px) {
    #gnav {
        max-width: 58.39844vw;
    }
}

#gnav ul {
    display: flex;
    justify-content: space-between;
    height: 100px;
    align-items: center;
}

@media (max-width: 1024px) {
    #gnav ul {
        height: 70px;
    }
}

#gnav ul a {
    box-sizing: border-box;
    position: relative;
    display: flex;
    padding: 0 9px;
    height: 100%;
    justify-content: center;
    align-items: center;
}

#gnav ul a::after {
    position: absolute;
    right: 9px;
    left: 9px;
    bottom: 0.45vw;
    content: '';
    background: #424E8F;
    height: 2px;
    opacity: 0;
}

@media (max-width: 1024px) {
    #gnav ul a::after {
        height: 1px;
    }
}

#gnav ul a:hover, #gnav ul a.active {
    opacity: 1;
}

#gnav ul a:hover img, #gnav ul a.active img {
    opacity: 1;
}

#gnav ul a:hover::after, #gnav ul a.active::after {
    opacity: 1;
}

#gnav li.gnav-reservation {
    width: 9.5vw;
    margin-right: 1vw;
}

@media (max-width: 1024px) {
    #gnav li.gnav-reservation {
        width: 11.23047vw;
    }
}

#gnav li.gnav-reservation a {
    margin: 0 auto;
    padding: 0;
}

#gnav li.gnav-reservation a::after {
    color: #fff;
}

#gnav li.gnav-reservation a img {
    width: 100%;
}

#gnav li.gnav-sleep a img {
    width: 3.85vw;
}

@media (max-width: 1024px) {
    #gnav li.gnav-sleep a img {
        width: 4.39453vw;
    }
}

#gnav li.gnav-eat a img {
    width: 2.25vw;
}

@media (max-width: 1024px) {
    #gnav li.gnav-eat a img {
        width: 2.53906vw;
    }
}

#gnav li.gnav-walk a img {
    width: 3.65vw;
}

@media (max-width: 1024px) {
    #gnav li.gnav-walk a img {
        width: 4.10156vw;
    }
}

#gnav li.gnav-news a img {
    width: 3.85vw;
}

@media (max-width: 1024px) {
    #gnav li.gnav-news a img {
        width: 4.39453vw;
    }
}

#gnav li.gnav-access a img {
    width: 4.85vw;
}

@media (max-width: 1024px) {
    #gnav li.gnav-access a img {
        width: 5.46875vw;
    }
}

#gnav li.gnav-journal a img {
    width: 5.6vw;
}

@media (max-width: 1024px) {
    #gnav li.gnav-journal a img {
        width: 6.25vw;
    }
}

#gnav li.gnav-shop a {
    margin: 0 auto;
    padding: 0.3vw 1vw;
    background: #D8E5F4;
}

#gnav li.gnav-shop a::after {
    display: none;
}

#gnav li.gnav-shop a img {
    width: 3.5vw;
}

@media (max-width: 1024px) {
    #gnav li.gnav-shop a img {
        width: 3.90625vw;
    }
}

#gnav li.gnav-lang {
    box-sizing: border-box;
    width: 12vw;
    padding-left: 2vw;
}

#gnav li.gnav-lang a {
    justify-content: flex-start;
}

#gnav li.gnav-lang a.hidden {
    display: none;
}

#gnav li.gnav-lang a:hover {
    opacity: .3;
}

#gnav li.gnav-lang a::after {
    display: none;
}

#gnav li.gnav-lang img {
    width: 3.5vw;
}

#h-reservation-btn {
    cursor: pointer;
    width: 100px;
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 25px;
    color: #000;
    position: relative;
}

#h-reservation-btn::before {
    position: absolute;
    width: 100%;
    height: 100%;
    transform-origin: center;
    background: #D8E5F4;
    content: '';
    transition: .8s ease-in-out;
}

#h-reservation-btn span {
    display: block;
}

#h-reservation-btn .r-inner {
    position: relative;
    line-height: 1.3em;
    height: 1.3em;
    overflow: hidden;
}

#h-reservation-btn .r-inner span {
    transition: .3s ease-in-out;
}

#h-reservation-btn:hover::before {
    width: 160px;
    height: 160px;
    border-radius: 100%;
    transform: rotate(180deg);
}

#h-reservation-btn:hover .r-inner span {
    transform: translateY(-100%);
}

.menu-btn-sp {
    display: block;
    position: fixed;
    z-index: 101;
    top: 0;
    left: 0;
    width: 66px;
    height: 56px;
}

.menu-btn-sp:hover {
    opacity: 1;
}

.menu-btn-sp span {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -12.5px;
    transform: rotate(45deg);
    width: 25px;
    height: 1px;
    background: #424E8F;
    transition: .4s;
}

.menu-btn-sp span:nth-of-type(1) {
    transform: translate(-6px, 9px) rotate(45deg);
}

.menu-btn-sp span:nth-of-type(3) {
    transform: translateX(15px) rotate(45deg);
}

body.is-menu-open .menu-btn-sp {
    z-index: 112;
}

body.is-menu-open .menu-btn-sp span {
    width: 36px;
    margin-left: -18px;
}

body.is-menu-open .menu-btn-sp span:nth-of-type(1) {
    transform: rotate(45deg);
}

body.is-menu-open .menu-btn-sp span:nth-of-type(2) {
    opacity: 0;
}

body.is-menu-open .menu-btn-sp span:nth-of-type(3) {
    transform: rotate(-45deg);
}

body.is-reservation-open .menu-btn-sp.menu {
    display: none !important;
}

body:not(.is-reservation-open) .menu-btn-sp.reservation {
    display: none !important;
}

#lang-btn-sp {
    position: absolute;
    right: 0;
    top: 0;
    width: 65px;
    height: 65px;
}

#lang-btn-sp a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65px;
    height: 65px;
}

#lang-btn-sp .en img {
    width: 27px;
}

#lang-btn-sp .jp img {
    width: 19px;
}

/* パンくず
========================================================= */
/* footer
========================================================= */
footer {
    margin-top: 220px;
    padding-bottom: 100px;
    font-family: Merriweather, serif;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
}

@media (min-width: 1600px) {
    footer {
        padding-left: calc(50% + 5px);
    }
}

@media (max-width: 1024px) {
    footer {
        margin-top: 120px;
        padding-bottom: 45px;
    }
}

@media (max-width: 767px) {
    footer {
        margin-top: 130px;
        padding-bottom: 40px;
    }
}

@media (min-width: 768px) {
    body.in-modal footer {
        display: none !important;
    }
}

.footer-nav {
    letter-spacing: .035em;
    font-size: 15px;
    font-size: 0.9375rem;
}

.footer-nav + .footer-nav {
    margin-top: 3em;
}

@media (max-width: 1024px) {
    .footer-nav {
        margin-right: 0;
        flex-wrap: wrap;
    }
}

.footer-nav li {
    display: flex;
}

.footer-nav a {
    display: block;
    line-height: 1.3;
    padding: 0;
    color: #424E8F;
}

.footer-nav a.has-line {
    border-bottom: #424E8F 0.46px solid;
}

.footer-nav a.active {
    opacity: .3;
}

.footer-nav-01 li.mail {
    height: 1.4em;
}

.footer-nav-01 li.tel {
    text-align: center;
}

.footer-nav-01 li + li {
    margin-top: 1.6em;
}

.footer-nav-02 li + li {
    margin-top: 1em;
}

.footer-nav-03 li + li {
    margin-top: .7em;
}

.roll-mail {
    display: block;
    height: 1.4em;
    overflow: hidden;
}

.roll-mail:hover {
    opacity: 1;
}

.roll-mail .flex {
    display: flex;
}

.roll-mail .tit {
    margin-right: 1em;
}

.roll-mail .roll {
    transition: .3s;
}

.roll-mail .roll span {
    display: block;
    text-align: center;
}

.roll-mail:hover .roll {
    transform: translateY(-33.33%);
}

.roll-mail.copied .roll {
    transform: translateY(-66.66%);
}

.footer-copy {
    display: block;
    margin-top: 4em;
    font-size: 13px;
    font-size: 0.8125rem;
}

@media (max-width: 767px) {
    .footer-copy {
        text-align: center;
        font-size: 11px;
        font-size: 0.6875rem;
        margin-top: 135px;
    }

    #content-inner .footer-copy {
        padding-bottom: 100px;
    }
}

@media (max-width: 767px) {
    #side .footer-copy {
        display: block;
    }
}

/* スマホ下部固定予約ボタン
========================================================= */
#sp-fixed-reservation {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 20px;
    z-index: 1;
    width: calc(100% - 40px);
    display: none;
}

#sp-fixed-reservation a {
    box-sizing: border-box;
    padding-bottom: 4px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #424E8F;
}

#sp-fixed-reservation a:hover {
    opacity: 1;
}

#sp-fixed-reservation img {
    width: 158px;
}

/* スマホメニュー
========================================================= */
#sp-menu {
    overflow: auto;
    opacity: 0;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-align: center;
    z-index: -999;
    transition: .5s;
    overflow: auto;
    background: #FCFAF6;
}

#sp-menu .inner {
    /*
    position: relative;
    box-sizing: content-box;
    min-height: 510px;
    padding: 16px;
    */
    padding: 120px 32px 53px;
    background: url(../img/common/gnav_bg_s.svg) no-repeat center 103%;
    background-size: 103% auto;
}

body.is-menu-open #sp-menu {
    z-index: 110;
    opacity: 1;
}

.sp-menu-logo {
    text-align: center;
}

#gnav-sp {
    padding-bottom: 40px;
}

#gnav-sp ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#gnav-sp li {
    width: 100%;
}

#gnav-sp li + li {
    margin-top: 10px;
}

#gnav-sp li a {
    display: block;
}

#gnav-sp li.gnav-reservation a {
    box-sizing: border-box;
    padding-bottom: 4px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #424E8F;
}

#gnav-sp li.gnav-reservation img {
    width: 158px;
}

#gnav-sp li.gnav-concept {
    margin-top: 25px;
}

#gnav-sp li.gnav-concept img {
    width: 102px;
}

#gnav-sp li.gnav-sleep img {
    width: 65px;
}

#gnav-sp li.gnav-eat {
    margin-top: 5px;
}

#gnav-sp li.gnav-eat img {
    width: 37px;
}

#gnav-sp li.gnav-walk img {
    width: 61px;
}

#gnav-sp li.gnav-news img {
    width: 60px;
}

#gnav-sp li.gnav-access img {
    width: 76px;
}

#gnav-sp li.gnav-journal img {
    width: 88px;
}

#gnav-sp li.gnav-shop {
    margin-top: 30px;
}

#gnav-sp li.gnav-shop img {
    width: 55px;
}

#gnav-sp li.gnav-shop a {
    background: #D8E5F4;
    font-size: 0;
    padding: 10px 0;
}

.gnav-sp-sub {
    position: relative;
    text-align: center;
    padding-bottom: 20px;
    font-size: 17px;
    font-size: 1.0625rem;
    font-family: Merriweather, serif;
    letter-spacing: .1em;
    font-weight: 400;
    line-height: 2em;
}

.gnav-sp-sub::before {
    display: block;
    width: 150px;
    height: 1px;
    margin: 0 auto 20px;
    background: #424E8F;
    content: '';
}

.gnav-sp-sub a {
    display: block;
    line-height: 2;
}

.gnav-sp-sub li + li {
    margin-top: .2em;
}

.gnav-sp-mail {
    height: 2em;
    overflow: hidden;
}

.gnav-sp-mail .flex {
    display: flex;
    justify-content: center;
}

.gnav-sp-mail .tit {
    margin-right: 1em;
}

.gnav-sp-mail .roll {
    transition: .3s;
}

.gnav-sp-mail .roll span {
    display: block;
    text-align: center;
}

.gnav-sp-mail:hover .roll {
    transform: translateY(-33.33%);
}

.gnav-sp-mail.copied .roll {
    transform: translateY(-66.66%);
}

.gnav-sp-sns {
    display: flex;
    justify-content: space-between;
    width: 121px;
    margin: 20px auto 0;
}

.gnav-sp-sns img {
    width: 35px;
}

/* ニュースモーダル
========================================================= */
#news-modal-overlay {
    opacity: 0;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: -999;
    transition: .5s;
}

@media (max-width: 767px) {
    #news-modal-overlay {
        display: none;
    }
}

body.is-news-open #news-modal-overlay {
    opacity: 1;
    z-index: 120;
}

#news-modal {
    opacity: 0;
    z-index: -999;
    position: fixed;
    transition: .5s;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    width: calc(100% - 32px);
    height: 100%;
    max-width: 1320px;
    max-height: calc(100vh - 80px);
    background: #FCFAF6;
    background-size: 100% auto;
}

@media (max-width: 1024px) {
    #news-modal {
        max-width: 890px;
        max-height: calc(100vh - 120px);
    }
}

@media (max-width: 800px) {
    #news-modal {
        min-width: 768px;
        transform: translate(-50%, -50%) scale(0.95);
        transform-origin: center;
    }
}

@media (max-width: 767px) {
    #news-modal {
        top: 100px;
        left: 0;
        right: 0;
        bottom: 0;
        transform: none;
        width: 100%;
    }
}

#news-modal .inner {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 80px);
    box-sizing: border-box;
}

body.is-news-open #news-modal {
    opacity: 1;
    z-index: 121;
}

.news-modal-close {
    z-index: 100;
    position: absolute;
    right: 0;
    top: -34px;
    width: 22px;
    height: 22px;
    cursor: pointer;
    transition: .4s;
}

@media (max-width: 1024px) {
    .news-modal-close {
        top: -20px;
        width: 14px;
        height: 14px;
    }
}

.news-modal-close::before, .news-modal-close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 1px;
    background: #fff;
    margin-left: -15px;
    content: '';
}

@media (max-width: 1024px) {
    .news-modal-close::before, .news-modal-close::after {
        width: 18px;
        margin-left: -9px;
    }
}

.news-modal-close::before {
    transform: rotate(45deg);
}

.news-modal-close::after {
    transform: rotate(-45deg);
}

.news-modal-close:hover {
    opacity: .7;
}

.iframe-container {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0 auto;
}

.iframe-container {
    position: relative;
    overflow: hidden;
}

.iframe-scrollable {
    margin-right: -17px;
    /* オーバーレイスクロールバーを消す */
    padding-right: 17px;
    /* オーバーレイスクロールバーを消す */
    height: 100%;
    max-height: calc(100vh - 80px);
    overflow: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 1024px) {
    .iframe-scrollable {
        max-height: calc(100vh - 120px);
    }
}

.iframe-scrollable.is-scrollbar {
    padding-right: 0;
}

.iframe-adjustment {
    /*padding: 1.3em 1.5em;*/
}

.iframe-adjustment iframe {
    border: none;
    width: 100%;
    vertical-align: bottom;
}

.iframe-scrollbar {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 50px;
    background-color: transparent;
}

.iframe-scrollbar::before {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #424E8F;
    content: '';
}

.iframe-scrollbar-thumb {
    position: relative;
    height: 14px !important;
    width: 14px;
    left: 50%;
    margin-left: -7px;
    border-radius: 100%;
    background-color: #424E8F;
}

/* 予約モーダル
========================================================= */
#reservation-modal-overlay {
    opacity: 0;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.9);
    z-index: -999;
    transition: .5s;
}

@media (max-width: 767px) {
    #reservation-modal-overlay {
        display: none;
    }
}

body.is-reservation-open #reservation-modal-overlay {
    opacity: 1;
    z-index: 110;
}

#reservation-modal {
    opacity: 0;
    z-index: -999;
    position: fixed;
    transition: .5s;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-sizing: border-box;
    width: calc(100% - 32px);
    max-width: 1450px;
    max-height: calc(100vh - 80px);
    background: #FCFAF6 url(../img/common/r_bg.png);
    background-size: 100% auto;
    font-family: "Sawarabi Mincho", sans-serif;
}

@media (max-width: 1024px) {
    #reservation-modal {
        max-width: 890px;
    }
}

@media (max-width: 767px) {
    #reservation-modal {
        overflow: auto;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        transform: none;
        max-height: none;
        width: 100%;
        background: #FCFAF6;
    }
}

#reservation-modal .inner {
    overflow: auto;
    width: 100%;
    height: 100%;
    max-height: 100%;
    max-height: calc(100vh - 80px);
    box-sizing: border-box;
    padding: 60px 20px;
}

@media (max-width: 1024px) {
    #reservation-modal .inner {
        padding: 45px 16px 35px;
    }
}

@media (max-width: 767px) {
    #reservation-modal .inner {
        padding: 100px 0 60px;
        max-height: none;
    }
}

#reservation-modal .container-01 {
    max-width: 1300px;
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 1024px) {
    #reservation-modal .container-01 {
        max-width: 732px;
    }
}

@media (max-width: 767px) {
    #reservation-modal .container-01 {
        padding: 0 15px;
    }
}

#reservation-modal .container-02 {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 1024px) {
    #reservation-modal .container-02 {
        max-width: 732px;
    }
}

@media (max-width: 767px) {
    #reservation-modal .container-02 {
        padding: 0 30px;
    }
}

body.is-reservation-open #reservation-modal {
    opacity: 1;
    z-index: 111;
}

.reservation-modal-close {
    z-index: 111;
    position: absolute;
    right: 0;
    top: -34px;
    width: 22px;
    height: 22px;
    cursor: pointer;
    transition: .4s;
}

@media (max-width: 1024px) {
    .reservation-modal-close {
        top: -20px;
        width: 14px;
        height: 14px;
    }
}

.reservation-modal-close::before, .reservation-modal-close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 1px;
    background: #fff;
    margin-left: -15px;
    content: '';
}

@media (max-width: 1024px) {
    .reservation-modal-close::before, .reservation-modal-close::after {
        width: 18px;
        margin-left: -9px;
    }
}

.reservation-modal-close::before {
    transform: rotate(45deg);
}

.reservation-modal-close::after {
    transform: rotate(-45deg);
}

.reservation-modal-close:hover {
    opacity: .7;
}

.reservation-modal-inputs {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 20px;
}

@media (max-width: 1024px) {
    .reservation-modal-inputs {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.reservation-modal-inputs .col-01 {
    display: flex;
    align-items: flex-end;
    width: 40%;
}

@media (max-width: 1024px) {
    .reservation-modal-inputs .col-01 {
        width: 40.02732%;
    }
}

@media (max-width: 767px) {
    .reservation-modal-inputs .col-01 {
        width: 100%;
    }
}

.reservation-modal-inputs .col-01 dl {
    flex: 1;
    letter-spacing: .06em;
}

.reservation-modal-inputs .col-01 dl.active dt::after {
    opacity: 1;
}

.reservation-modal-inputs .col-01 dt {
    font-family: "Sawarabi Mincho", sans-serif;
    font-weight: 500;
    font-size: 16px;
    font-size: 1rem;
}

@media (max-width: 1024px) {
    .reservation-modal-inputs .col-01 dt {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.reservation-modal-inputs .col-01 dt::after {
    color: #424E8F;
    content: ' ▲';
    opacity: 0;
    transition: .4s;
}

.reservation-modal-inputs .col-01 span {
    width: 3em;
    text-align: center;
    line-height: 55px;
}

@media (max-width: 1024px) {
    .reservation-modal-inputs .col-01 span {
        width: 2.5em;
        line-height: 35px;
    }
}

.reservation-modal-inputs .col-02 {
    margin: 0 30px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: 195px;
}

@media (max-width: 1024px) {
    .reservation-modal-inputs .col-02 {
        width: 120px;
        margin: 0 20px;
    }
}

@media (max-width: 767px) {
    .reservation-modal-inputs .col-02 {
        width: 100%;
        justify-content: center;
        margin-top: 17px;
    }
}

.reservation-modal-inputs .col-02 div + div {
    margin-left: 18px;
}

@media (max-width: 1024px) {
    .reservation-modal-inputs .col-02 div + div {
        margin-left: 10px;
    }
}

.reservation-modal-inputs .col-03 {
    flex: 1;
}

@media (max-width: 767px) {
    .reservation-modal-inputs .col-03 {
        margin-top: 17px;
    }
}

.reservation-modal-inputs .col-03 .flex {
    margin-left: -36px;
    display: flex;
    flex-wrap: wrap;
}

@media (max-width: 1024px) {
    .reservation-modal-inputs .col-03 .flex {
        margin-left: -15px;
    }
}

.reservation-modal-inputs .col-03 .flex span {
    box-sizing: border-box;
    padding-left: 36px;
    width: 50%;
}

@media (max-width: 1024px) {
    .reservation-modal-inputs .col-03 .flex span {
        padding-left: 16px;
    }
}

@media (max-width: 767px) {
    .reservation-modal-inputs .col-03 .flex span {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .reservation-modal-inputs .col-03 .flex span + span {
        margin-top: 5px;
    }
}

.reservation-modal-input {
    box-sizing: border-box;
    width: 100%;
    border: none;
    height: 55px;
    line-height: 55px;
    padding: 0 .2em;
    text-align: center;
    font-size: 20px;
    font-size: 1.25rem;
    border-radius: 0;
    box-shadow: none;
    font-family: "Sawarabi Mincho", sans-serif;
    font-weight: 500;
    color: #424E8F;
    background: #D8E5F4;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

@media (max-width: 1024px) {
    .reservation-modal-input {
        height: 35px;
        line-height: 35px;
        font-size: 15px;
        font-size: 0.9375rem;
    }
}

.reservation-modal-select {
    height: 55px;
    line-height: 55px;
    max-width: 100%;
    width: 60px;
    padding: 0 0 0 1em;
    color: #424E8F;
    border: none;
    background: #D8E5F4;
    font-family: "Sawarabi Mincho", sans-serif;
    font-weight: 500;
    font-size: 20px;
    font-size: 1.25rem;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

@media (max-width: 1024px) {
    .reservation-modal-select {
        height: 35px;
        line-height: 35px;
        font-size: 15px;
        font-size: 0.9375rem;
        width: 36px;
    }
}

@media (max-width: 767px) {
    .reservation-modal-select {
        width: 40px;
    }
}

.reservation-modal-select + span {
    font-size: 18px;
    font-size: 1.125rem;
}

@media (max-width: 1024px) {
    .reservation-modal-select + span {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.reservation-modal-btn {
    box-sizing: border-box;
    position: relative;
    display: block;
    margin-right: auto;
    margin-left: auto;
    cursor: pointer;
    text-align: center;
    padding: 0 .5em;
    max-width: 100%;
    width: 100%;
    height: 55px;
    line-height: 55px;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 700;
    color: #424E8F;
    letter-spacing: .36em;
    background: #D8E5F4;
    outline: none;
    border: none;
    font-family: "Sawarabi Mincho", sans-serif;
    transition: .4s;
}

@media (max-width: 1024px) {
    .reservation-modal-btn {
        height: 35px;
        line-height: 35px;
        font-size: 14px;
        font-size: 0.875rem;
        letter-spacing: .33em;
    }
}

@media (max-width: 767px) {
    .reservation-modal-btn {
        letter-spacing: 0.18em !important;
    }
}

.reservation-modal-btn:hover {
    opacity: .8;
}

.reservation-modal-btn.primary {
    color: #fff;
    background: #424E8F;
}

.reservation-modal-btn.low {
    height: 46px;
    line-height: 46px;
    letter-spacing: .3em;
}

@media (max-width: 1024px) {
    .reservation-modal-btn.low {
        height: 35px;
        line-height: 35px;
        letter-spacing: .33em;
    }
}

@media (max-width: 1024px) {
    .reservation-modal-btn.cancel {
        letter-spacing: .15em;
    }
}

.reservation-modal-nav ul {
    display: flex;
    flex-wrap: wrap;
    margin-top: 25px;
    margin-left: -62px;
}

@media (max-width: 1024px) {
    .reservation-modal-nav ul {
        margin-top: 10px;
        margin-left: -10px;
    }
}

@media (max-width: 767px) {
    .reservation-modal-nav ul {
        margin-top: 5px;
    }
}

.reservation-modal-nav li {
    box-sizing: border-box;
    width: 50%;
    margin-top: 15px;
    padding-left: 62px;
}

@media (max-width: 1024px) {
    .reservation-modal-nav li {
        margin-top: 10px;
        padding-left: 10px;
    }
}

@media (max-width: 767px) {
    .reservation-modal-nav li {
        width: 100%;
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    .reservation-modal-nav li + li {
        margin-top: 5px;
    }
}

.reservation-modal-tel {
    text-align: center;
    margin-top: 25px;
}

@media (max-width: 1024px) {
    .reservation-modal-tel {
        margin-top: 20px;
    }
}

@media (max-width: 767px) {
    .reservation-modal-tel {
        display: flex;
        justify-content: center;
        margin-top: 18px;
    }
}

@media (max-width: 374px) {
    .reservation-modal-tel {
        display: block;
    }
}

.reservation-modal-tel dt {
    font-weight: 700;
    font-size: 17px;
    font-size: 1.0625rem;
    letter-spacing: .27em;
}

@media (max-width: 1024px) {
    .reservation-modal-tel dt {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

@media (max-width: 767px) {
    .reservation-modal-tel dt {
        font-size: 11px;
        font-size: 0.6875rem;
    }
}

.reservation-modal-tel dd {
    font-weight: 500;
    font-size: 26px;
    font-size: 1.625rem;
    letter-spacing: .03em;
    line-height: 1.4;
}

@media (max-width: 1024px) {
    .reservation-modal-tel dd {
        font-size: 20px;
        font-size: 1.25rem;
    }
}

@media (max-width: 767px) {
    .reservation-modal-tel dd {
        margin-left: 15px;
        font-size: 15px;
        font-size: 0.9375rem;
    }
}

@media (max-width: 374px) {
    .reservation-modal-tel dd {
        margin-left: 0;
    }
}

/* データピッカー
----------------------------------------------- */
.ui-widget-content {
    background: transparent;
}

.ui-datepicker-inline {
    width: 100% !important;
    border: none !important;
    font-family: "Sawarabi Mincho", sans-serif;
}

.ui-datepicker-header {
    background: transparent !important;
    border: none !important;
}

.ui-datepicker-title {
    color: #424E8F;
    font-size: 22px;
    font-size: 1.375rem;
}

@media (max-width: 1024px) {
    .ui-datepicker-title {
        font-size: 15px;
        font-size: 0.9375rem;
    }
}

.ui-datepicker-next {
    border: none !important;
    background: none !important;
    text-align: center;
    font-weight: bold !important;
}

.ui-datepicker-next::after {
    font-size: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 0 15px 15px;
    border-color: transparent transparent transparent #D8E5F4;
    content: '';
}

@media (max-width: 1024px) {
    .ui-datepicker-next::after {
        border-width: 10px 0 10px 10px;
    }
}

.ui-datepicker-next span {
    display: none !important;
}

.ui-datepicker-prev {
    border: none !important;
    background: none !important;
    text-align: center;
    font-weight: bold !important;
}

.ui-datepicker-prev::after {
    font-size: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 15px 0;
    border-color: transparent #D8E5F4 transparent transparent;
    content: '';
}

@media (max-width: 1024px) {
    .ui-datepicker-prev::after {
        border-width: 10px 10px 10px 0;
    }
}

.ui-datepicker-prev span {
    display: none !important;
}

.ui-datepicker-calendar thead {
    color: #424E8F;
    font-size: 16px;
    font-size: 1rem;
}

@media (max-width: 1024px) {
    .ui-datepicker-calendar thead {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.ui-datepicker-calendar tbody {
    font-family: "Sawarabi Mincho", sans-serif;
}

.ui-datepicker td {
    position: relative;
    padding: 0 !important;
    font-size: 18px;
    font-size: 1.125rem;
    letter-spacing: .06em;
}

.ui-datepicker td a {
    transition: none !important;
}

@media (max-width: 1024px) {
    .ui-datepicker td {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.ui-datepicker td a {
    color: #424E8F !important;
}

.ui-state-default {
    text-align: center !important;
    border-color: transparent !important;
    background: transparent !important;
    color: #424E8F !important;
}

.ui-state-default.ui-state-active {
    background: url(../img/common/r_active.svg) no-repeat center !important;
    background-size: 34px;
}

@media (max-width: 1024px) {
    .ui-state-default.ui-state-active {
        background-size: 22px;
    }
}

@media (max-width: 767px) {
    .ui-state-default.ui-state-active {
        background-size: 25px;
    }
}

.kt-unselectable {
    pointer-events: none;
}

/* Video
========================================================= */
#video-modal {
    position: fixed;
    z-index: 120;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #FFF;
    display: none;
}

#video-modal .video-container {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: none;
}

#video-modal .video-container video {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    transform: translate(-50%, -50%);
}

#video-modal .video-modal-close {
    display: none;
    z-index: 121;
    position: absolute;
    right: 40px;
    top: 40px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    transition: .4s;
}

@media (max-width: 1024px) {
    #video-modal .video-modal-close {
        top: 20px;
        right: 20px;
        width: 25px;
        height: 25px;
    }
}

#video-modal .video-modal-close::before, #video-modal .video-modal-close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 1px;
    background: #424E8F;
    margin-left: -30px;
    content: '';
}

@media (max-width: 1024px) {
    #video-modal .video-modal-close::before, #video-modal .video-modal-close::after {
        width: 32px;
        margin-left: -16px;
    }
}

#video-modal .video-modal-close::before {
    transform: rotate(45deg);
}

#video-modal .video-modal-close::after {
    transform: rotate(-45deg);
}

#video-modal .video-modal-close:hover {
    opacity: .7;
}

#video-modal .video-skip-text {
    position: absolute;
    display: none;
    z-index: 121;
    color: #fff;
    bottom: 40px;
    text-align: center;
    left: 0;
    width: 100%;
    text-shadow: 0 0 5px #424E8F;
    cursor: pointer;
}

/* セクション
----------------------------------------------- */
.com-section-01 {
    position: relative;
}

.com-section-01 p {
    position: relative;
}

@media (max-width: 1024px) and (min-width: 768px) {
    .com-section-01 p {
        line-height: 1.73333;
    }
}

.com-section-01 .com-list-01 {
    margin-top: 2em;
    position: relative;
}

@media (max-width: 1024px) {
    .com-section-01 .com-list-01 {
        margin-top: 1.5em;
    }
}

.com-section-01 .com-list-01 + p {
    margin-top: 2em;
}

@media (max-width: 1024px) {
    .com-section-01 .com-list-01 + p {
        margin-top: 1.5em;
    }
}

.com-section-01 .com-list-01 .att {
    font-size: 80%;
}

.com-section-01 a.has-line {
    border-bottom: #424E8F 0.46px solid;
}

/* 見出し
-------------------------------------- */
.com-tit-01 {
    margin-bottom: 50px;
    text-align: center;
}

@media (max-width: 1024px) {
    .com-tit-01 {
        margin-bottom: 25px;
    }
}

.com-tit-02 {
    margin-bottom: 60px;
    font-size: 0px;
    font-size: 0rem;
    vertical-align: baseline;
}

@media (max-width: 1024px) {
    .com-tit-02 {
        margin-bottom: 27px;
    }
}

@media (max-width: 767px) {
    .com-tit-02 {
        margin-bottom: 32px;
    }
}

.com-tit-02 > img {
    display: inline-block;
    vertical-align: baseline;
}

.com-tit-02 small {
    display: block;
    font-size: 23px;
    font-size: 1.4375rem;
    line-height: 1;
    font-family: Lora, serif;
    letter-spacing: .035em;
}

@media (max-width: 1024px) {
    .com-tit-02 small {
        font-size: 15px;
        font-size: 0.9375rem;
    }
}

.com-tit-02 small img {
    vertical-align: bottom;
}

.com-tit-03 {
    margin-bottom: 50px;
}

@media (max-width: 1024px) {
    .com-tit-03 {
        margin-bottom: 25px;
    }
}

@media (max-width: 767px) {
    .com-tit-03 {
        margin-bottom: 30px;
    }
}

.com-tit-04 {
    margin: 0;
    text-align: center;
}

@media (max-width: 767px) {
    .com-tit-04 {
        margin-bottom: 58px;
    }
}

.com-tit-05 {
    margin-bottom: 0;
}

.com-tit-05 small {
    display: block;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1;
    font-family: Lora, serif;
    letter-spacing: .035em;
}

@media (max-width: 1024px) {
    .com-tit-05 small {
        font-size: 15px;
        font-size: 0.9375rem;
    }
}

.com-tit-05 small img {
    vertical-align: bottom;
}

.com-tit-06 {
    font-size: 20px;
    font-size: 1.25rem;
}

@media (max-width: 767px) {
    .com-tit-06 {
        font-size: 18px;
        font-size: 1.125rem;
    }
}

.com-tit-07 {
    margin-bottom: 90px;
}

.com-tit-08 {
    margin-bottom: 100px;
}

@media (max-width: 1024px) {
    .com-tit-08 {
        margin-bottom: 60px;
    }
}

@media (max-width: 767px) {
    .com-tit-08 {
        margin-bottom: 40px;
    }
}

/* ボタン
----------------------------------------------- */
/* グリッド
----------------------------------------------- */
.com-grid-01 {
    display: flex;
    flex-wrap: wrap;
    margin-left: -50px;
    margin-top: -50px;
}

.com-grid-01 > * {
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 959px) {
    .com-grid-01 {
        margin-left: -20px;
    }
}

.com-grid-01 > * {
    padding-left: 50px;
    margin-top: 50px;
}

@media (max-width: 959px) {
    .com-grid-01 > * {
        padding-left: 20px;
        margin-top: 40px;
    }
}

.com-grid-01.col-2 > * {
    width: 50%;
}

@media (max-width: 767px) {
    .com-grid-01.col-2 > * {
        width: 100%;
    }
}

.com-grid-01.col-3 > * {
    width: calc(100% / 3.001);
}

@media (max-width: 959px) {
    .com-grid-01.col-3 > * {
        width: 50%;
    }
}

@media (max-width: 479px) {
    .com-grid-01.col-3 > * {
        width: 100%;
    }
}

.com-grid-01.col-4 > * {
    width: 25%;
}

@media (max-width: 959px) {
    .com-grid-01.col-4 > * {
        width: 50%;
    }
}

/* アイテム
----------------------------------------------- */
/* ローカルナビ
----------------------------------------------- */
/* パネル
----------------------------------------------- */
/* テーブル
----------------------------------------------- */
/* バナー
----------------------------------------------- */
.com-banner-01 a {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: #424E8F;
    color: #FFF;
    padding: 30px;
}

.com-banner-01 a h3 {
    color: #FFF;
}

.com-banner-01 a h3, .com-banner-01 a p {
    max-width: 100%;
}

#banner_prevention {
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    #banner_prevention {
        margin-bottom: 20px;
    }
}

#banner_prevention a {
    color: #9f9f9f;
}

@media (max-width: 767px) {
    #banner_prevention a {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        background-color: #424E8F;
        color: #FFF;
        padding: 20px;
    }
}

#banner_prevention h3 {
    text-align: center;
    margin-bottom: 2.44px;
}

@media (max-width: 767px) {
    #banner_prevention h3 {
        margin-bottom: 3.97px;
    }
}

#banner_prevention h3 img {
    width: 335px;
}

@media (max-width: 767px) {
    #banner_prevention h3 img {
        width: 269px;
    }
}

#banner_prevention p {
    text-align: center;
}

#banner_award {
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    #banner_award {
        padding: 0 35px;
        margin-bottom: 10px;
    }
}

#banner_award a {
    display: block;
    text-align: center;
    font-size: 0;
}

#banner_movie {
    margin-bottom: 30px;
    text-align: center;
}

@media (max-width: 767px) {
    #banner_movie {
        margin-bottom: 20px;
    }
}

#banner_movie h3 {
    display: inline-block;
    cursor: pointer;
    margin-bottom: 2.44px;
}

@media (max-width: 767px) {
    #banner_movie h3 {
        margin-bottom: 3.97px;
    }
}

#banner_movie h3 img {
    width: 335px;
}

@media (max-width: 767px) {
    #banner_movie h3 img {
        width: 269px;
    }
}

#banner_movie p {
    text-align: center;
}

/* リスト
----------------------------------------------- */
/* news
========================================================= */
#news {
    margin-bottom: 40px;
    position: relative;
    padding: 30px 40px 20px 40px;
    background-color: #FFF;
}

@media (max-width: 1024px) {
    #news {
        padding: 30px 20px 20px 20px;
    }
}

@media (max-width: 767px) {
    #news {
        padding: 30px 35px 20px 35px;
        margin-bottom: 80px;
    }
}

#news::before {
    display: block;
    position: absolute;
    width: 74px;
    height: 26px;
    left: 0;
    top: 0;
    background: url("../img/common/news_icon.svg") no-repeat center;
    background-size: contain;
    content: '';
}

@media (max-width: 767px) {
    #news::before {
        width: 67px;
        height: 23px;
    }
}

.news-list-01 li + li {
    margin-top: 10px;
}

.news-list-01 li a {
    display: block;
    position: relative;
    padding-left: 2em;
    /*
  padding: 22px 40px;
  background-color: #FFF;
  @media (max-width: 1024px) {
  	padding: 22px 20px;
  }
  @media (max-width: 767px) {
  	padding: 23px 35px;
  }*/
}

.news-list-01 li a::before {
    display: block;
    position: absolute;
    left: 0;
}

.news-list-01 li span {
    display: block;
}

.news-list-01 li .tit {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.5;
}

@media (max-width: 1024px) {
    .news-list-01 li .tit {
        font-size: 15px;
        font-size: 0.9375rem;
    }
}

.news-list-01 li:not(.important) a::before {
    content: '-';
    top: 50%;
    margin-top: -.5em;
    line-height: 1;
}

.news-list-01 li.important a::before {
    content: '*';
    font-size: 24px;
    font-size: 1.5rem;
    top: 0;
    line-height: 1.5;
}

.news-btn-01 {
    transform: translateY(40%);
    display: block;
    text-align: right;
    position: relative;
    font-family: Lora, serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 500;
}

@media (max-width: 1024px) {
    .news-btn-01 {
        font-size: 15px;
        font-size: 0.9375rem;
    }
}

@media (max-width: 767px) {
    .news-btn-01 {
        text-align: center;
    }
}

.news-btn-01 span {
    padding-left: 1em;
    letter-spacing: .15em;
    background: #FCFAF6;
}

.news-btn-01:hover {
    opacity: 1;
    color: rgba(66, 78, 143, 0.3);
}

/* news一覧(journal一覧含む)
========================================================= */
@media (max-width: 767px) {
    #news-archive-01 {
        padding-right: 22px;
        padding-left: 22px;
    }
}

.news_contents_header {
    border-bottom: 1px solid #424E8F;
    position: relative;
}

.news_contents_header .list_pager {
    position: absolute;
    right: 0;
    bottom: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

@media (max-width: 1024px) {
    .news_contents_header .list_pager {
        bottom: auto;
        top: 100%;
    }
}

@media (max-width: 500px) {
    .news_contents_header .list_pager {
        justify-content: center;
        width: 100%;
    }
}

.news_contents_header .list_pager .pulldown {
    position: relative;
}

.news_contents_header .list_pager .pulldown p, .news_contents_header .list_pager .pulldown a {
    font-family: Merriweather, serif;
}

.news_contents_header .list_pager .pulldown p:not(.all) {
    color: #424E8F;
    font-size: 15px;
    font-size: 0.9375rem;
    position: relative;
    padding: 10px 24px 10px 10px;
    cursor: pointer;
}

@media (max-width: 768px) {
    .news_contents_header .list_pager .pulldown p:not(.all) {
        font-size: 14px;
        font-size: 0.875rem;
    }
}

.news_contents_header .list_pager .pulldown p:not(.all):after {
    content: '';
    display: block;
    background: url("../img/cms/arrow_bottom.png") no-repeat center center;
    width: 14px;
    height: 6px;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -3px;
}

.news_contents_header .list_pager .pulldown .all a {
    display: block;
    font-size: 15px;
    font-size: 0.9375rem;
    position: relative;
    color: #424E8F;
    position: relative;
    padding: 10px 24px 10px 10px;
    cursor: pointer;
}

@media (max-width: 768px) {
    .news_contents_header .list_pager .pulldown .all a {
        font-size: 14px;
        font-size: 0.875rem;
    }
}

.news_contents_header .list_pager .pulldown .all a:after {
    content: '';
    display: block;
    background: url("../img/cms/arrow_bottom.png") no-repeat center center;
    width: 14px;
    height: 6px;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -3px;
}

.news_contents_header .list_pager .pulldown ul {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #FFF;
    display: none;
    z-index: 2;
    box-shadow: 0px 0px 7px 1px rgba(0, 0, 0, 0.22);
}

.news_contents_header .list_pager .pulldown ul.category {
    width: 170px;
}

.news_contents_header .list_pager .pulldown ul.year {
    width: 70px;
    text-align: center;
}

.news_contents_header .list_pager .pulldown ul li a {
    display: block;
    padding: 10px;
    color: #424E8F;
    transition: all 0.5s;
    line-height: 1.2;
}

.news_contents_header .list_pager .pulldown ul li a:hover {
    background-color: #D8E5F4;
}

.news-archive-tit-01 {
    /*margin-bottom: 50px;
  padding-bottom: 64px;
  border-bottom: $color-01 .75px solid;
  @media (max-width: 1024px) {
  	padding-bottom: 41px;
  }
  @media (max-width: 767px) {
  	margin-bottom: 44px;
  	padding: 0;
  	text-align: center;
  	border: none;
  }*/
}

.news-archive-tit-01 img {
    width: 186px;
}

@media (max-width: 1024px) {
    .news-archive-tit-01 img {
        width: 86px;
    }
}

@media (max-width: 767px) {
    .news-archive-tit-01 img {
        width: 96px;
    }
}

.journal-archive-tit-01 img {
    width: 284px;
}

@media (max-width: 1024px) {
    .journal-archive-tit-01 img {
        width: 131px;
    }
}

@media (max-width: 767px) {
    .journal-archive-tit-01 img {
        width: 146px;
    }
}

.news-archive-tit-02 {
    margin-top: 40px;
    text-align: center;
    font-size: 24px;
    font-size: 1.5rem;
}

@media screen and (max-width: 1024px) {
    .news-archive-tit-02 {
        margin-top: 60px;
    }
}

.news-archive-line-01 {
    margin: 50px 0;
    border-top: #424E8F 0.75px solid;
}

.news-archive-line-01:first-child {
    border-top: 0;
}

@media (max-width: 1024px) {
    .news-archive-line-01 {
        margin: 35px 0;
    }
}

@media (max-width: 767px) {
    .news-archive-line-01 {
        display: none;
    }
}

.news-archive-list-01 {
    margin-top: 135px;
}

@media (max-width: 767px) {
    .news-archive-list-01 {
        margin-top: 71.8px;
    }
}

.news-archive-article {
    margin-top: 73px;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.86667;
}

@media (max-width: 767px) {
    .news-archive-article {
        margin-top: 37.5px;
    }
}

.news-archive-article:first-child {
    margin-top: 0;
}

.news-archive-article header {
    position: relative;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

@media (min-width: 768px) {
    .news-archive-article header {
        padding-left: 65px;
        cursor: pointer;
        align-items: flex-start;
    }
}

@media (max-width: 1024px) and (min-width: 768px) {
    .news-archive-article header {
        padding-left: 45px;
    }
}

@media (max-width: 1024px) {
    .news-archive-article header {
        flex-wrap: wrap;
    }
}

@media (max-width: 767px) {
    .news-archive-article header {
        align-items: center;
    }
}

.news-archive-article header:before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #424E8F;
    border-right: 1px solid #424E8F;
    transform: rotate(135deg);
    position: absolute;
    left: 5px;
    top: 0;
    margin-top: 10px;
    transition: transform .5s;
}

@media (max-width: 767px) {
    .news-archive-article header:before {
        right: 5px;
        left: auto;
    }
}

.news-archive-article header .date {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 2.6;
    font-weight: 500;
    margin-right: 1em;
    letter-spacing: 0.116em;
}

@media (min-width: 768px) {
    .news-archive-article header .date {
        width: 92px;
    }
}

@media (max-width: 1024px) {
    .news-archive-article header .date {
        width: 110px;
        display: inline-block;
        font-size: 18px;
        font-size: 1.125rem;
    }
}

@media (max-width: 767px) {
    .news-archive-article header .date {
        letter-spacing: 0.125em;
    }
}

@media (max-width: 411px) {
    .news-archive-article header .date {
        font-size: 16px;
        font-size: 1rem;
        margin-right: .5em;
    }
}

@media (max-width: 374px) {
    .news-archive-article header .date {
        font-size: 14px;
        font-size: 0.875rem;
    }
}

.news-archive-article header .category {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 2.6;
    font-weight: 500;
    margin-right: 1em;
    font-family: Merriweather, serif;
}

.news-archive-article header .category:after {
    content: '|';
    display: inline-block;
    margin-left: 1em;
    vertical-align: baseline;
}

@media (min-width: 1025px) {
    .news-archive-article header .category {
        flex-shrink: 0;
        flex-grow: 0;
    }
}

@media (max-width: 1024px) {
    .news-archive-article header .category {
        display: inline-block;
        margin-right: 0;
        font-size: 18px;
        font-size: 1.125rem;
    }

    .news-archive-article header .category:after {
        display: none;
    }

    .news-archive-article header .category:before {
        content: '|';
        display: inline-block;
        margin-right: 1em;
        vertical-align: baseline;
    }
}

@media (max-width: 411px) {
    .news-archive-article header .category {
        font-size: 14px;
        font-size: 0.875rem;
    }

    .news-archive-article header .category:before {
        margin-right: .5em;
    }
}

.news-archive-article header .tit {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.69565;
    letter-spacing: -0.032em;
    font-weight: 500;
}

@media (min-width: 1025px) {
    .news-archive-article header .tit {
        width: calc(100% - 92px - 35px);
    }
}

@media (max-width: 1024px) {
    .news-archive-article header .tit {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.95;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .news-archive-article header .tit {
        line-height: 1.59459;
        letter-spacing: normal;
        margin-top: 13.5px;
    }
}

.news-archive-article:not(.open) header .tit {
    overflow: hidden;
}

@media (min-width: 768px) {
    .news-archive-article:not(.open) header .tit {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

@media (max-width: 767px) {
    .news-archive-article:not(.open) header .tit {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}

.news-archive-article p {
    line-height: 2;
}

.news-archive-article.open header:before {
    transform: rotate(-45deg);
    margin-top: 18px;
}

.journal-archive-article {
    margin-top: 73px;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.86667;
}

@media (max-width: 767px) {
    .journal-archive-article {
        margin-top: 37.5px;
    }
}

.journal-archive-article:first-child {
    margin-top: 0;
}

.journal-archive-article header {
    position: relative;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

@media (min-width: 768px) {
    .journal-archive-article header {
        padding-right: 65px;
        cursor: pointer;
        align-items: flex-start;
    }
}

@media (max-width: 1024px) and (min-width: 768px) {
    .journal-archive-article header {
        padding-right: 45px;
    }
}

@media (max-width: 1024px) {
    .journal-archive-article header {
        flex-wrap: wrap;
    }
}

@media (max-width: 767px) {
    .journal-archive-article header {
        align-items: center;
    }
}

.journal-archive-article header:before {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #424E8F;
    border-right: 1px solid #424E8F;
    transform: rotate(45deg);
    position: absolute;
    right: 5px;
    top: 50%;
    margin-top: -5px;
    transition: all .5s;
}

@media (max-width: 767px) {
    .journal-archive-article header:before {
        right: 5px;
        left: auto;
        top: 13px;
        margin-top: 0;
    }
}

.journal-archive-article header .date {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 2.6;
    font-weight: 500;
    margin-right: 35px;
    letter-spacing: 0.116em;
}

@media (min-width: 768px) {
    .journal-archive-article header .date {
        width: 92px;
    }
}

@media (max-width: 1024px) {
    .journal-archive-article header .date {
        width: 110px;
        display: inline-block;
        font-size: 18px;
        font-size: 1.125rem;
    }
}

@media (max-width: 767px) {
    .journal-archive-article header .date {
        letter-spacing: 0.125em;
    }
}

@media (max-width: 411px) {
    .journal-archive-article header .date {
        font-size: 16px;
        font-size: 1rem;
        margin-right: .5em;
    }
}

@media (max-width: 374px) {
    .journal-archive-article header .date {
        font-size: 14px;
        font-size: 0.875rem;
    }
}

.journal-archive-article header .tit {
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.69565;
    letter-spacing: -0.032em;
    font-weight: 500;
    overflow: hidden;
}

@media (min-width: 1025px) {
    .journal-archive-article header .tit {
        width: calc(100% - 92px - 35px);
    }
}

@media (min-width: 768px) {
    .journal-archive-article header .tit {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

@media (max-width: 1024px) {
    .journal-archive-article header .tit {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.95;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .journal-archive-article header .tit {
        line-height: 1.59459;
        letter-spacing: normal;
        margin-top: 13.5px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}

.journal-archive-article a:hover header:before {
    right: 0px;
}

.news-hidden-01 {
    display: none;
}

.news-archive-flex-01 {
    /*@media (min-width: 1025px) {
  	width: 100%;
  	display: -webkit-flex;
  	display: -moz-flex;
  	display: -ms-flex;
  	display: -o-flex;
  	display: flex;
  	justify-content: space-between;
  	margin-top: 60px;
  }*/
    margin-top: 46px;
}

.news-article-img-01 {
    /*@media (min-width: 1025px) {
  	flex-basis: 696/2000 * 100vw;
  	max-width: 696/2000 * 100vw;
  	//flex: 1;
  	order: 2;
  }*/
    text-align: center;
}

.news-archive-text-01 {
    word-break: break-all;
    /*@media (min-width: 1025px) {
  	flex-basis: 395/2000 * 100vw;
  	max-width: 395/2000 * 100vw;
  	//flex: 1;
  	order: 1;
  	margin-top: -7.5px;
  }*/
}

@media (min-width: 768px) {
    .news-archive-text-01 {
        margin-top: 40px;
    }
}

@media (max-width: 767px) {
    .news-archive-text-01 {
        margin-top: 16.5px;
    }
}

.news-pager {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-pager .pager {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 50px;
    margin-right: 50px;
}

@media (max-width: 767px) {
    .news-pager .pager {
        margin-left: 25px;
        margin-right: 25px;
    }
}

.news-pager .pager li {
    margin-right: 40px;
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.95;
}

@media (max-width: 767px) {
    .news-pager .pager li {
        margin-right: 20px;
        font-size: 15px;
        font-size: 0.9375rem;
        line-height: 1.73333;
    }
}

.news-pager .pager li:last-child {
    margin-right: 0;
}

.news-pager .pager li a {
    padding: 10px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
}

.news-pager .pager-arrow {
    width: 35px;
    height: 35px;
}

.news-pager .pager-arrow a {
    display: block;
    width: 35px;
    height: 35px;
    position: relative;
}

.news-pager .pager-arrow a:before {
    position: absolute;
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #424E8F;
    border-right: 1px solid #424E8F;
    left: 50%;
    top: 50%;
}

.news-pager .pager-arrow.prev a:before {
    transform: translate(-50%, -50%) rotate(-135deg);
}

.news-pager .pager-arrow.next a:before {
    transform: translate(-50%, -50%) rotate(45deg);
}

/* journal記事ページ
========================================================= */
#journal * {
    box-sizing: border-box;
}

#journal figure {
    overflow: hidden;
    position: relative;
}

#journal figure img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: cover;";
}

#journal figure:before {
    content: '';
    display: block;
}

.journal-section-01 {
    margin-top: 130px;
}

@media (max-width: 1024px) {
    .journal-section-01 {
        margin-top: 80px;
    }
}

@media (max-width: 767px) {
    .journal-section-01 {
        margin-top: 50px;
    }
}

@media (min-width: 769px) {
    div[class^="journal-flex-"] {
        display: -webkit-flex;
        display: -moz-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    div[class^="journal-image-"] {
        margin-top: 40px;
    }
}

@media (min-width: 769px) {
    .journal-text-01 {
        width: 28.80435%;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .journal-text-01 {
        width: 50%;
    }
}

.journal-text-01 header .date {
    font-size: 23px;
    font-size: 1.4375rem;
    line-height: 1;
    text-align: right;
    margin-bottom: 70px;
}

.journal-tit-01 img {
    width: 284px;
}

@media (max-width: 1024px) {
    .journal-tit-01 img {
        width: 131px;
    }
}

@media (max-width: 767px) {
    .journal-tit-01 img {
        width: 146px;
    }
}

.journal-tit-02 {
    font-size: 40px;
    font-size: 2.5rem;
    line-height: 1.2;
}

@media (max-width: 1024px) {
    .journal-tit-02 {
        font-size: 28px;
        font-size: 1.75rem;
    }
}

@media (max-width: 768px) {
    .journal-tit-02 {
        font-size: 24px;
        font-size: 1.5rem;
    }
}

.journal-tit-03 img {
    width: 410px;
}

@media (max-width: 1024px) {
    .journal-tit-03 img {
        width: 190px;
    }
}

@media (max-width: 767px) {
    .journal-tit-03 img {
        width: 211px;
    }
}

@media (min-width: 769px) {
    .journal-image-01 {
        width: 46.46739%;
        margin-right: 8.69565%;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .journal-image-01 {
        width: 50%;
        margin-left: 30px;
        margin-right: 0;
    }
}

.journal-image-01 .journal-figure-01 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.journal-image-01 .journal-figure-01:before {
    padding-top: 105.73099%;
}

@media (min-width: 769px) {
    .journal-image-05 {
        width: 59.78261%;
        margin-right: 2.17391%;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .journal-image-05 {
        width: 50%;
        margin-left: 30px;
        margin-right: 0;
    }
}

.journal-image-05 .youtube-wrap {
    width: 100%;
    position: relative;
    padding-top: 56.25%;
}

.journal-image-05 .youtube-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.journal-flex-02 .journal-text-01 {
    order: 2;
}

@media (min-width: 769px) {
    .journal-image-02 {
        width: 64.40217%;
    }
}

@media (min-width: 768px) {
    .journal-image-02 {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .journal-image-02 {
        width: 50%;
        margin-right: 30px;
    }
}

.journal-image-02 .journal-figure-02 {
    max-width: 528px;
}

@media (min-width: 768px) {
    .journal-image-02 .journal-figure-02 {
        width: 44.55696%;
    }
}

@media (max-width: 767px) {
    .journal-image-02 .journal-figure-02 {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
}

.journal-image-02 .journal-figure-02:before {
    padding-top: 150.56818%;
}

@media (min-width: 768px) {
    .journal-image-02 .journal-figure-02:first-child {
        margin-right: 10.88608%;
    }
}

@media (max-width: 767px) {
    .journal-image-02 .journal-figure-02:first-child {
        margin-bottom: 20px;
    }
}

.journal-flex-03 .journal-text-01 {
    order: 2;
}

@media (min-width: 769px) {
    .journal-image-03 {
        width: 64.40217%;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .journal-image-03 {
        width: 50%;
        margin-right: 30px;
    }
}

.journal-image-03 .journal-figure-03 {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.journal-image-03 .journal-figure-03:before {
    padding-top: 66.38514%;
}

.journal-flex-04 .journal-text-01 {
    align-self: stretch;
}

@media (min-width: 769px) {
    .journal-flex-04 .journal-text-01 {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: column;
    }
}

@media (min-width: 769px) {
    .journal-flex-04 .journal-info-01 {
        margin-top: auto;
    }
}

@media (max-width: 768px) {
    .journal-flex-04 .journal-info-01 {
        margin-top: 50px;
    }
}

.journal-flex-04 .journal-info-01 ul li {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    word-break: break-all;
}

.journal-flex-04 .journal-info-01 ul li .tit {
    flex-shrink: 0;
    flex-grow: 0;
    position: relative;
    padding-right: 1em;
    margin-right: .5em;
}

.journal-flex-04 .journal-info-01 ul li .tit:after {
    content: '-';
    display: block;
    position: absolute;
    right: 0;
    top: 0;
}

.journal-flex-04 .journal-info-01 ul li .info-direction span {
    display: inline-block;
}

.journal-flex-04 .journal-info-01 ul li .info-direction span.map {
    margin-left: 80px;
}

@media (max-width: 767px) {
    .journal-flex-04 .journal-info-01 ul li .info-direction span.map {
        margin-left: 40px;
    }
}

.journal-flex-04 .journal-info-01 a.has-line {
    border-bottom: #424E8F 0.46px solid;
}

@media (min-width: 769px) {
    .journal-image-04 {
        width: 46.46739%;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .journal-image-04 {
        width: 50%;
        margin-left: 30px;
    }
}

.journal-image-04 .journal-figure-04 {
    width: 100%;
    margin-left: auto;
    margin-right: 0;
}

.journal-image-04 .journal-figure-04:before {
    padding-top: 105.73099%;
}

@media (max-width: 767px) {
    #article-list {
        margin-top: 100px;
    }
}

@media (min-width: 768px) {
    .journal-flex-05 {
        display: -webkit-flex;
        display: -moz-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: flex-start !important;
        align-items: flex-start;
    }
}

@media (min-width: 768px) {
    .journal-flex-05 article {
        width: 28.6413%;
        margin-left: 7.06522%;
    }

    .journal-flex-05 article:first-child {
        margin-left: 0;
    }
}

@media (max-width: 769px) {
    .journal-flex-05 article {
        margin-top: 40px;
    }

    .journal-flex-05 article:first-child {
        margin-top: 0;
    }
}

.journal-flex-05 article p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.journal-flex-05 figure {
    margin-bottom: 50px;
}

@media (max-width: 1024px) {
    .journal-flex-05 figure {
        margin-bottom: 30px;
    }
}

.journal-flex-05 figure:before {
    padding-top: 55%;
}

.journal-flex-05 header {
    overflow: hidden;
}

.journal-flex-05 .date {
    font-size: 23px;
    font-size: 1.4375rem;
    line-height: 1;
    text-align: right;
    margin-bottom: 40px;
}

@media (max-width: 1024px) {
    .journal-flex-05 .date {
        font-size: 18px;
        font-size: 1.125rem;
        margin-bottom: 30px;
    }
}

@media (max-width: 768px) {
    .journal-flex-05 .date {
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) {
    .journal-flex-05 .date {
        font-size: 18px;
        font-size: 1.125rem;
    }
}

.journal-flex-05 .journal-tit-02 {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .journal-flex-05 .journal-tit-02 {
        font-size: 24px;
        font-size: 1.5rem;
    }
}

/* トップページ
========================================================= */
/* keyvisual
----------------------------------------------- */
#kv {
    overflow: hidden;
    height: 100vh;
    transition: 1s ease-out;
}

@media (max-width: 767px) {
    #kv {
        transition: none;
        transition: .2s ease-out;
        will-change: opacity;
    }
}

#kv .inner {
    position: relative;
    height: 100vh;
}

#kv figure {
    transition: .2s opacity;
}

#kv figure img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: cover;";
}

#kv figure img {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    transform: translate(-50%, -50%);
}

body.loading #kv figure {
    opacity: 0;
}

@media (min-width: 768px) {
    body:not(.is-kv-show) #kv {
        height: 0 !important;
        opacity: 0;
    }
}

body.loading #kv {
    height: 100vh !important;
}

@media (max-width: 767px) {
    #kv.height-0-s {
        height: 0 !important;
        opacity: 0;
    }
}

#kv .line {
    position: absolute;
    width: 9.4697%;
    opacity: 0;
    animation: .1s forwards line-show;
}

@media (max-width: 767px) {
    #kv .line {
        display: none !important;
    }
}

#kv .line-01 {
    left: 21.9697%;
    top: 26.2037%;
    animation-delay: 1s;
}

#kv .line-02 {
    right: 11.51515%;
    top: 41.11111%;
    animation-delay: 2s;
}

#kv .line-03 {
    left: 24.24242%;
    top: -0.92593%;
    animation-delay: 2.2s;
}

#kv .line-04 {
    left: 2.57576%;
    top: 45.83333%;
    animation-delay: 3.2s;
}

#kv .line-05 {
    left: 58.18182%;
    top: 51.48148%;
    animation-delay: 4.1s;
}

#kv .line-06 {
    left: 30.90909%;
    top: 57.31481%;
    animation-delay: 4.3s;
}

#kv .line-07 {
    left: 85.60606%;
    top: 76.2037%;
    animation-delay: 4.5s;
}

#kv .line-08 {
    left: 74.84848%;
    top: -6.01852%;
    animation-delay: 5.5s;
}

#kv .line-09 {
    left: -2.80303%;
    top: -3.42593%;
    animation-delay: 5.8s;
}

#kv .line-10 {
    left: 52.5%;
    top: 13.51852%;
    animation-delay: 6s;
}

#kv .line-11 {
    left: 91.36364%;
    top: 26.75926%;
    animation-delay: 7.2s;
}

#kv .line-12 {
    left: 6.06061%;
    top: 73.14815%;
    animation-delay: 7.35s;
}

#kv .line-13 {
    left: 57.65152%;
    top: 78.05556%;
    animation-delay: 7.6s;
}

#kv .scroll {
    opacity: 0;
    position: absolute;
    bottom: 181px;
    left: 50%;
    width: 40.3px;
    transform: translateX(-50%);
    animation: 1s forwards line-show;
    animation-delay: 5.8s;
}

@media (max-width: 1024px) {
    #kv .scroll {
        width: 26px;
        bottom: 95px;
    }
}

@keyframes line-show {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* concept
========================================================= */
@media (max-width: 767px) {
    .concept-section-01 {
        position: relative;
    }
}

@media (max-width: 767px) {
    .concept-section-01::before {
        position: absolute;
        background-repeat: no-repeat;
        background-size: contain;
        content: '';
    }
}

.concept-section-01 > .tit {
    margin-bottom: 50px;
    text-align: center;
}

@media (max-width: 1024px) {
    .concept-section-01 > .tit {
        margin-bottom: 25px;
    }
}

.concept-section-01 + .concept-section-01 {
    margin-top: 170px;
}

@media (max-width: 1024px) {
    .concept-section-01 + .concept-section-01 {
        margin-top: 100px;
    }
}

@media (max-width: 767px) {
    .concept-section-01 + .concept-section-01 {
        margin-top: 150px;
    }
}

.concept-section-01 p {
    line-height: 2.33333;
}

@media (max-width: 1024px) {
    .concept-section-01 p {
        line-height: 1.86667;
    }
}

@media (max-width: 767px) {
    .concept-section-01 p {
        line-height: 2;
    }
}

.concept-section-01 figure {
    margin-top: 15px;
}

#concept-01::before {
    margin-top: -55px;
    left: 50%;
    transform: translateX(-50%);
    width: 289px;
    height: 84px;
    background-image: url(../img/concept/01_bg.svg);
}

#concept-02::before {
    margin-top: -50px;
    margin-left: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 295.5px;
    height: 77.5px;
    background-image: url(../img/concept/02_bg.svg);
}

@media (max-width: 767px) {
    #concept-02::before {
        margin-top: -90px;
        background-image: url(../img/concept/02_bg_sp.svg);
        height: 125.5px;
    }
}

#concept-03::before {
    margin-top: -45px;
    margin-left: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 344.5px;
    height: 96.5px;
    background-image: url(../img/concept/03_bg.svg);
}

@media (max-width: 767px) {
    #concept-03::before {
        margin-top: -110px;
        margin-left: 45px;
        background-image: url(../img/concept/03_bg_sp.svg);
        height: 291.5px;
        height: 85.5px;
    }
}

#concept-04 {
    position: relative;
    margin-top: 60px;
}

@media (max-width: 1024px) {
    #concept-04 {
        margin-top: 40px;
    }
}

@media (max-width: 767px) {
    #concept-04 {
        margin-top: 30px;
    }
}

#concept-04 > * {
    position: relative;
}

#concept-04 .line-bg-sp.line-01 {
    right: -7.86667vw;
    bottom: -0.26667vw;
}

#concept-05 {
    margin-top: 140px;
}

@media (max-width: 1024px) {
    #concept-05 {
        margin-top: 90px;
    }
}

#concept-05 > * {
    position: relative;
}

#concept-05 .line-bg-sp.line-01 {
    left: -13.06667vw;
    top: 93.33333vw;
}

#concept-05 .line-bg-sp.line-02 {
    left: 0vw;
    bottom: -49.33333vw;
}

#concept-05 .line-bg-sp.line-03 {
    right: -11.73333vw;
    bottom: -38.4vw;
}

.concept-section-01 .concept-tit-01 img {
    width: 181px;
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-01 img {
        width: 113px;
    }
}

@media (max-width: 767px) {
    .concept-section-01 .concept-tit-01 img {
        width: 128px;
    }
}

.concept-section-01 .concept-tit-02 {
    margin-bottom: 45px;
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-02 {
        margin-bottom: 20px;
    }
}

.concept-section-01 .concept-tit-02 img {
    width: 265px;
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-02 img {
        width: 165px;
    }
}

@media (max-width: 767px) {
    .concept-section-01 .concept-tit-02 img {
        width: 187px;
    }
}

.concept-section-01 .concept-tit-03 img {
    width: 285px;
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-03 img {
        width: 166px;
    }
}

@media (max-width: 767px) {
    .concept-section-01 .concept-tit-03 img {
        width: 185px;
    }
}

.concept-section-01 .concept-tit-04 {
    margin-bottom: 55px;
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-04 {
        margin-bottom: 36px;
    }
}

.concept-section-01 .concept-tit-04 img {
    width: 183px;
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-04 img {
        width: 106px;
    }
}

@media (max-width: 767px) {
    .concept-section-01 .concept-tit-04 img {
        width: 115px;
    }
}

.concept-section-01 .concept-tit-04 + .name {
    margin-bottom: .6em;
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 1.76471;
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-04 + .name {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.5625;
    }
}

@media (max-width: 767px) {
    .concept-section-01 .concept-tit-04 + .name {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 1.51351;
    }
}

.concept-section-01 .concept-tit-04 + .name .line-01 {
    letter-spacing: .08em;
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-04 + .name .line-01 {
        letter-spacing: .02em;
    }
}

@media (max-width: 767px) {
    .concept-section-01 .concept-tit-04 + .name .line-01 {
        letter-spacing: .06em;
    }
}

.concept-section-01 .concept-tit-04 + .name .line-02 {
    letter-spacing: .04em;
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-04 + .name .line-02 {
        letter-spacing: -.02em;
    }
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-05 {
        margin-bottom: 40px;
    }
}

.concept-section-01 .concept-tit-05 img {
    width: 186px;
}

@media (max-width: 1024px) {
    .concept-section-01 .concept-tit-05 img {
        width: 108px;
    }
}

@media (max-width: 767px) {
    .concept-section-01 .concept-tit-05 img {
        width: 117px;
    }
}

.concept-txt-01 {
    margin-top: .5em;
    letter-spacing: .12em;
}

@media (max-width: 1024px) {
    .concept-txt-01 {
        margin-top: .7em;
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 1.28571 !important;
        letter-spacing: .1em;
    }
}

@media (max-width: 767px) {
    .concept-txt-01 {
        margin-top: .8em;
        line-height: 1.5 !important;
    }
}

.concept-btn-01 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 90px;
    margin: 1em 0 1.8em;
    background: #424E8F;
}

@media (max-width: 1024px) {
    .concept-btn-01 {
        height: 53px;
        margin: 1.3em 0 1.5em;
    }
}

@media (max-width: 767px) {
    .concept-btn-01 {
        height: 108px;
    }
}

.concept-btn-01 img {
    width: 130px;
}

@media (max-width: 1024px) {
    .concept-btn-01 img {
        width: 103px;
    }
}

.concept-list-01 {
    letter-spacing: .06em;
}

@media (max-width: 1024px) {
    .concept-list-01 {
        font-size: 12.8px;
        font-size: 0.8rem;
    }
}

@media (max-width: 767px) {
    .concept-list-01 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
}

.concept-list-01 li {
    display: flex;
    align-items: flex-end;
}

@media (max-width: 767px) {
    .concept-list-01 li {
        width: 100%;
        justify-content: center;
    }
}

.concept-list-01 li + li {
    margin-top: 1em;
}

@media (max-width: 1024px) {
    .concept-list-01 li + li {
        margin-top: 1.3em;
    }
}

.concept-list-01 li.mail {
    margin-bottom: 1.3em;
    letter-spacing: .065em;
}

.concept-list-01 li.sns {
    margin-top: .8em;
    letter-spacing: .035em;
}

@media (max-width: 1024px) {
    .concept-list-01 li.sns {
        margin-top: 1.2em;
    }
}

@media (max-width: 767px) {
    .concept-list-01 li.sns {
        margin-top: 30px;
        width: 35px;
    }
}

@media (max-width: 767px) {
    .concept-list-01 li.sns + .sns {
        margin-left: 50px;
    }
}

@media (max-width: 767px) {
    .concept-list-01 li.sns a {
        border-bottom: none;
    }
}

.concept-list-01 .tit {
    width: 30px;
    letter-spacing: .06em;
}

.concept-list-01 .tel {
    flex: 1;
    letter-spacing: .04em;
}

@media (max-width: 767px) {
    .concept-list-01 .tel {
        flex: none;
    }
}

.concept-list-01 .tel a {
    display: inline-block;
    font-size: 30px;
    font-size: 1.875rem;
    line-height: 1;
    padding-bottom: 0;
}

@media (max-width: 1024px) {
    .concept-list-01 .tel a {
        font-size: 25px;
        font-size: 1.5625rem;
    }
}

@media (max-width: 767px) {
    .concept-list-01 .tel a {
        font-size: 27px;
        font-size: 1.6875rem;
    }
}

.concept-list-01 a {
    line-height: 1.4;
    border-bottom: #424E8F 1px solid;
}

@media (max-width: 1024px) {
    .concept-list-01 a {
        line-height: 1.5;
    }
}

.concept-list-01 a.roll-mail {
    padding-bottom: .01em;
    line-height: 1.3;
    height: 1.3em;
}

@media (max-width: 1024px) {
    .concept-list-01 a.roll-mail {
        line-height: 1.6;
        height: 1.6em;
    }
}

@media (max-width: 767px) {
    .concept-list-01 a.roll-mail {
        font-size: 17px;
        font-size: 1.0625rem;
        border-bottom: none;
    }
}

.concept-dl-01 {
    font-weight: 500;
}

.concept-dl-01 + .concept-dl-01 {
    margin-top: 43px;
}

.concept-dl-01 dt {
    margin-bottom: .7em;
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .12em;
}

@media (max-width: 1024px) {
    .concept-dl-01 dt {
        font-size: 20px;
        font-size: 1.25rem;
    }
}

@media (max-width: 767px) {
    .concept-dl-01 dt {
        margin-bottom: 1em;
        padding-bottom: .2em;
        text-align: center;
        font-size: 18px;
        font-size: 1.125rem;
        letter-spacing: .06em;
        border-bottom: #424E8F 0.5px solid;
    }
}

@media (max-width: 1024px) {
    .concept-dl-01 dt.dt-01 {
        letter-spacing: .1em;
    }
}

@media (max-width: 1024px) {
    .concept-dl-01 dt.dt-01 span {
        letter-spacing: normal;
    }
}

.concept-dl-01 dd {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.5;
    letter-spacing: .06em;
}

@media (max-width: 1024px) {
    .concept-dl-01 dd {
        line-height: 1.53333;
    }
}

.concept-dl-01 dd.has-dot {
    margin-left: -.3em;
}

@media (max-width: 1024px) and (min-width: 768px) {
    .concept-dl-01 dd.mt-small + .mt-small {
        margin-top: .3em;
    }
}

@media (min-width: 768px) {
    .concept-dl-01 dd em {
        font-size: 18px;
        font-size: 1.125rem;
    }
}

@media (max-width: 1024px) {
    .concept-dl-01 dd span {
        letter-spacing: .04em;
    }
}

.concept-dl-01 dd + dd {
    margin-top: .1em;
}

@media (max-width: 1024px) {
    .concept-dl-01 dd + dd {
        margin-top: 1em;
    }
}

/* sleep
========================================================= */
@media (max-width: 767px) {
    #sleep > .com-container-01:first-child {
        margin-top: 0 !important;
    }
}

@media (max-width: 767px) {
    #sleep-01 {
        margin-top: 0 !important;
    }
}

#sleep-01 .com-txt-01 {
    letter-spacing: .07em;
}

@media (max-width: 767px) {
    #sleep-01 .com-txt-01 br {
        display: none !important;
    }
}

.sleep-section-01 .com-tit-05 small {
    margin-top: 0;
}

.sleep-section-01 .com-list-01 {
    margin-top: 1em;
}

@media (max-width: 767px) {
    .sleep-tit-01 {
        text-align: center;
    }
}

.sleep-tit-01 > img {
    width: 155px;
}

@media (max-width: 1024px) {
    .sleep-tit-01 > img {
        width: 100px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-01 > img {
        width: 92px;
    }
}

.sleep-tit-02 > img {
    width: 220px;
}

@media (max-width: 1024px) {
    .sleep-tit-02 > img {
        width: 136px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-02 > img {
        width: 176px;
    }
}

.sleep-tit-02 small {
    margin-top: 23px;
    line-height: 1.52174;
}

@media (max-width: 1024px) {
    .sleep-tit-02 small {
        margin-top: 11px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-02 small {
        margin-top: 15px;
        line-height: 1;
    }
}

@media (min-width: 1025px) {
    .sleep-tit-03 {
        margin-bottom: 55px;
    }
}

.sleep-tit-03 > img {
    width: 161px;
}

@media (max-width: 1024px) {
    .sleep-tit-03 > img {
        width: 99px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-03 > img {
        width: 128px;
    }
}

.sleep-tit-03 small {
    margin-top: 27px;
}

@media (max-width: 1024px) {
    .sleep-tit-03 small {
        margin-top: 11px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-03 small {
        margin-top: 15px;
    }
}

.sleep-tit-04 > img {
    width: 159px;
}

@media (max-width: 1024px) {
    .sleep-tit-04 > img {
        width: 97px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-04 > img {
        width: 127px;
    }
}

.sleep-tit-04 small {
    margin-top: 38px;
}

@media (max-width: 1024px) {
    .sleep-tit-04 small {
        margin-top: 17px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-04 small {
        margin-top: 20px;
    }
}

.sleep-tit-05 > img {
    width: 228px;
}

@media (max-width: 1024px) {
    .sleep-tit-05 > img {
        width: 137px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-05 > img {
        width: 175px;
    }
}

.sleep-tit-05 small {
    margin-top: 35px;
}

@media (max-width: 1024px) {
    .sleep-tit-05 small {
        margin-top: 17px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-05 small {
        margin-top: 20px;
    }
}

.sleep-tit-06 > img {
    width: 194px;
}

@media (max-width: 1024px) {
    .sleep-tit-06 > img {
        width: 118px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-06 > img {
        width: 154px;
    }
}

.sleep-tit-06 small {
    margin-top: 36px;
}

@media (max-width: 1024px) {
    .sleep-tit-06 small {
        margin-top: 17px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-06 small {
        margin-top: 22px;
    }
}

.sleep-tit-07 > img {
    width: 213px;
}

@media (max-width: 1024px) {
    .sleep-tit-07 > img {
        width: 134px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-07 > img {
        width: 170px;
    }
}

.sleep-tit-07 small {
    margin-top: 31px;
    line-height: 1.52174;
}

@media (max-width: 1024px) {
    .sleep-tit-07 small {
        margin-top: 14px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-07 small {
        margin-top: 20px;
    }
}

.sleep-tit-08 > img {
    width: 215px;
}

@media (max-width: 1024px) {
    .sleep-tit-08 > img {
        width: 130px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-08 > img {
        width: 170px;
    }
}

.sleep-tit-08 small {
    margin-top: 38px;
}

@media (max-width: 1024px) {
    .sleep-tit-08 small {
        margin-top: 17px;
    }
}

@media (max-width: 767px) {
    .sleep-tit-08 small {
        margin-top: 22px;
    }
}

.line-bg {
    display: block;
    position: absolute !important;
    z-index: -1;
    width: 5vw;
    transition: .5s;
}

@media (max-width: 1024px) {
    .line-bg {
        width: 5.07813vw;
    }
}

@media (max-width: 767px) {
    .line-bg {
        width: 9.33333vw;
    }
}

@media (max-width: 1024px) {
    .line-bg {
        display: none;
    }
}

.line-bg-tab {
    display: block;
    position: absolute !important;
    z-index: -1;
    width: 5vw;
    transition: .5s;
}

@media (max-width: 1024px) {
    .line-bg-tab {
        width: 5.07813vw;
    }
}

@media (max-width: 767px) {
    .line-bg-tab {
        width: 9.33333vw;
    }
}

@media (min-width: 1025px) {
    .line-bg-tab {
        display: none;
    }
}

@media (max-width: 767px) {
    .line-bg-tab {
        display: none;
    }
}

.line-bg-sp {
    display: block;
    position: absolute !important;
    z-index: -1;
    width: 5vw;
    transition: .5s;
}

@media (max-width: 1024px) {
    .line-bg-sp {
        width: 5.07813vw;
    }
}

@media (max-width: 767px) {
    .line-bg-sp {
        width: 9.33333vw;
    }
}

@media (min-width: 768px) {
    .line-bg-sp {
        display: none;
    }
}

.sleep-container-01 .line-bg-tab.line-01 {
    bottom: -6.44531vw;
    left: -1.36719vw;
}

.sleep-container-01 .line-bg-sp.line-01 {
    bottom: -23.2vw;
    right: 2vw;
}

.sleep-container-02 .line-bg.line-01 {
    top: 13.3vw;
    left: -13.75vw;
}

.sleep-container-02 .line-bg.line-02 {
    right: -5.6vw;
    bottom: 0vw;
}

.sleep-container-02 .line-bg.line-03 {
    right: 4.85vw;
    bottom: 6.3vw;
}

@media (max-width: 1500px) {
    .sleep-container-02 .line-bg.line-03 {
        bottom: 0;
    }
}

.sleep-container-02 .line-bg-tab.line-01 {
    bottom: 0vw;
    right: -1.17188vw;
}

.sleep-container-02 .line-bg-tab.line-02 {
    bottom: -5.37109vw;
    left: 39.94141vw;
}

.sleep-container-02 .line-bg-sp.line-01 {
    bottom: -28.4vw;
    right: 7.73333vw;
}

.sleep-container-02 .line-bg-sp.line-02 {
    bottom: -34.53333vw;
    right: -1.6vw;
}

.sleep-container-02 .line-bg-sp.line-03 {
    bottom: -3.73333vw;
    left: -5.46667vw;
}

.sleep-container-03 .line-bg.line-01 {
    bottom: -19.8vw;
    right: 1vw;
}

.sleep-container-03 .line-bg.line-02 {
    left: -2.75vw;
    bottom: 34.25vw;
}

.sleep-container-03 .line-bg.line-03 {
    right: 23.25vw;
    bottom: 0.95vw;
}

.sleep-container-03 .line-bg-tab.line-01 {
    left: -1.5625vw;
    bottom: 27.34375vw;
}

.sleep-container-03 .line-bg-tab.line-02 {
    right: 5.9vw;
    bottom: 1.95vw;
}

.sleep-container-03 .line-bg-sp.line-01 {
    right: -13.46667vw;
    bottom: 11.73333vw;
}

.sleep-container-03 .line-bg-sp.line-02 {
    right: 14.66667vw;
    top: -7.6vw;
}

.sleep-container-03 .line-bg-sp.line-03 {
    left: -0.8vw;
    bottom: -13.06667vw;
}

.sleep-container-04 .line-bg.line-01 {
    right: 1.75vw;
    bottom: -19.85vw;
}

@media (max-width: 1600px) {
    .sleep-container-04 .line-bg.line-01 {
        bottom: 6.2vw;
    }
}

.sleep-container-04 .line-bg.line-02 {
    right: 0.45vw;
    bottom: -23.05vw;
}

@media (max-width: 1600px) {
    .sleep-container-04 .line-bg.line-02 {
        bottom: 3.2vw;
    }
}

.sleep-container-04 .line-bg.line-03 {
    left: -1.7vw;
    bottom: 33.55vw;
}

.sleep-container-04 .line-bg.line-04 {
    left: -1.7vw;
    bottom: -4.25vw;
}

.sleep-container-04 .line-bg.line-05 {
    right: 12.75vw;
    bottom: -1.45vw;
}

.sleep-container-04 .line-bg-tab.line-01 {
    left: -0.48828vw;
    bottom: 23.73047vw;
}

.sleep-container-04 .line-bg-tab.line-02 {
    right: 4.88281vw;
    bottom: 1.17188vw;
}

.sleep-container-04 .line-bg-tab.line-03 {
    right: 3.61328vw;
    bottom: -1.95313vw;
}

.sleep-container-04 .line-bg-sp.line-01 {
    right: -2.26667vw;
    bottom: 21.6vw;
}

.sleep-container-04 .line-bg-sp.line-02 {
    left: -2.93333vw;
    bottom: -13.6vw;
}

.sleep-container-05 .line-bg.line-01 {
    right: -0.3vw;
    bottom: -17.1vw;
}

@media (max-width: 1800px) {
    .sleep-container-05 .line-bg.line-01 {
        bottom: 3.2vw;
    }
}

.sleep-container-05 .line-bg.line-02 {
    right: 22.4vw;
    bottom: 7.05vw;
}

@media (max-width: 1360px) {
    .sleep-container-05 .line-bg.line-02 {
        bottom: -7vw;
    }
}

.sleep-container-05 .line-bg.line-03 {
    right: 20.1vw;
    bottom: 3.6vw;
}

@media (max-width: 1360px) {
    .sleep-container-05 .line-bg.line-03 {
        bottom: -10.5vw;
    }
}

.sleep-container-05 .line-bg-tab.line-01 {
    right: 10.35156vw;
    bottom: 3.80859vw;
}

@media (max-width: 850px) {
    .sleep-container-05 .line-bg-tab.line-01 {
        right: 2.8vw;
    }
}

.sleep-container-05 .line-bg-sp.line-01 {
    right: -12.8vw;
    bottom: 35.86667vw;
}

.sleep-container-05 .line-bg-sp.line-02 {
    left: 1.06667vw;
    bottom: -13.46667vw;
}

.sleep-container-06 .line-bg.line-01 {
    right: -0.7vw;
    bottom: -27.85vw;
}

@media (max-width: 1360px) {
    .sleep-container-06 .line-bg.line-01 {
        bottom: -12.85vw;
    }
}

.sleep-container-06 .line-bg.line-02 {
    left: 4.85vw;
    top: 15vw;
}

.sleep-container-06 .line-bg.line-03 {
    left: -2vw;
    bottom: 9.4vw;
}

.sleep-container-06 .line-bg-tab.line-01 {
    right: -4.58984vw;
    top: -2.53906vw;
}

.sleep-container-06 .line-bg-tab.line-02 {
    right: 11.52344vw;
    bottom: -29.78516vw;
}

.sleep-container-06 .line-bg-tab.line-03 {
    right: 9.17969vw;
    bottom: -33.30078vw;
}

.sleep-container-06 .line-bg-sp.line-01 {
    right: -12.26667vw;
    bottom: 13.46667vw;
}

.sleep-container-06 .line-bg-sp.line-02 {
    left: 12.26667vw;
    bottom: -25.33333vw;
}

@media (min-width: 400px) {
    .sleep-container-06 .line-bg-sp.line-02 {
        left: -1.33333vw;
        bottom: -4vw;
    }
}

.sleep-container-07 .line-bg.line-01 {
    right: 2.4vw;
    bottom: -18.8vw;
}

@media (max-width: 1600px) {
    .sleep-container-07 .line-bg.line-01 {
        bottom: -7.8vw;
    }
}

.sleep-container-07 .line-bg.line-02 {
    right: -0.2vw;
    bottom: -20.25vw;
}

@media (max-width: 1600px) {
    .sleep-container-07 .line-bg.line-02 {
        bottom: -9.25vw;
    }
}

.sleep-container-07 .line-bg.line-03 {
    right: 24.35vw;
    bottom: -3vw;
}

@media (max-width: 1200px) {
    .sleep-container-07 .line-bg.line-03 {
        right: 34.35vw;
    }
}

.sleep-container-07 .line-bg-tab.line-01 {
    right: 0.58594vw;
    bottom: -21.67969vw;
}

@media (max-width: 960px) {
    .sleep-container-07 .line-bg-tab.line-01 {
        bottom: -7.03125vw;
    }
}

.sleep-container-07 .line-bg-tab.line-02 {
    left: -0.48828vw;
    top: 2.05078vw;
}

@media (max-width: 960px) {
    .sleep-container-07 .line-bg-tab.line-02 {
        bottom: -7.03125vw;
    }
}

.sleep-container-07 .line-bg-sp.line-01 {
    right: 21.46667vw;
    top: -22.4vw;
}

@media (min-width: 520px) {
    .sleep-container-07 .line-bg-sp.line-01 {
        top: -9.06667vw;
    }
}

.sleep-container-07 .line-bg-sp.line-02 {
    right: 2vw;
    bottom: 30.93333vw;
}

@media (min-width: 570px) {
    .sleep-container-07 .line-bg-sp.line-02 {
        bottom: 17.6vw;
    }
}

.sleep-container-08 .line-bg.line-01 {
    right: 1.6vw;
    bottom: -17.7vw;
}

.sleep-container-08 .line-bg.line-02 {
    left: 8.75vw;
    bottom: -10.7vw;
}

.sleep-container-08 .line-bg-tab.line-01 {
    left: 14.74609vw;
    bottom: -12.20703vw;
}

.sleep-container-08 .line-bg-sp.line-01, .sleep-container-08 .line-bg-sp.line-02, .sleep-container-08 .line-bg-sp.line-03 {
    left: 2.66667vw;
    bottom: -25.33333vw;
}

@media (min-width: 400px) {
    .sleep-container-08 .line-bg-sp.line-01, .sleep-container-08 .line-bg-sp.line-02, .sleep-container-08 .line-bg-sp.line-03 {
        left: 4vw;
        bottom: -24vw;
    }
}

/* eat
========================================================= */
@media (max-width: 767px) {
    #eat > .com-container-01:first-child {
        margin-top: 0 !important;
    }
}

#eat section:not(#eat-02) .com-tit-03 {
    margin-bottom: 13px;
}

#eat-01 .com-txt-01 {
    letter-spacing: .07em;
}

@media (max-width: 1024px) {
    #eat-01 .com-txt-01 {
        letter-spacing: .03em;
    }
}

@media (max-width: 767px) {
    #eat-01 .com-txt-01 {
        letter-spacing: -.02em;
    }
}

#banner_attention a {
    max-width: 885px;
    margin-left: auto;
    margin-right: auto;
    padding: 20px 40px;
}

@media (max-width: 767px) {
    #banner_attention a {
        padding: 20px;
    }
}

#banner_attention p {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.95;
    letter-spacing: 0.025;
}

@media (max-width: 1024px) {
    #banner_attention p {
        font-size: 18px;
        font-size: 1.125rem;
        line-height: 2.16667;
    }
}

@media (max-width: 767px) {
    #banner_attention p {
        font-size: 15px;
        font-size: 0.9375rem;
        line-height: 1.83333;
        letter-spacing: -0.065em;
    }
}

@media (min-width: 1025px) {
    .eat-br-01 {
        display: none;
    }
}

@media (max-width: 767px) {
    .eat-br-01 {
        display: none;
    }
}

@media (max-width: 767px) {
    .eat-tit-01 {
        text-align: center;
    }
}

.eat-tit-01 img {
    width: 89px;
}

@media (max-width: 1024px) {
    .eat-tit-01 img {
        width: 59px;
    }
}

@media (max-width: 767px) {
    .eat-tit-01 img {
        width: 56px;
    }
}

.eat-tit-02 {
    margin-bottom: 24px;
}

@media (max-width: 767px) {
    .eat-tit-02 {
        margin-bottom: 21.8575px;
    }
}

.eat-tit-02 img {
    width: 264px;
}

@media (max-width: 1024px) {
    .eat-tit-02 img {
        width: 247px;
    }
}

@media (max-width: 767px) {
    .eat-tit-02 img {
        width: 202px;
    }
}

.eat-tit-03 {
    margin-bottom: 13px;
}

.eat-tit-03 img {
    width: 232px;
}

@media (max-width: 1024px) {
    .eat-tit-03 img {
        width: 148px;
    }
}

@media (max-width: 767px) {
    .eat-tit-03 img {
        width: 188px;
    }
}

.eat-tit-04 img {
    width: 151px;
}

@media (max-width: 1024px) {
    .eat-tit-04 img {
        width: 96px;
    }
}

@media (max-width: 767px) {
    .eat-tit-04 img {
        width: 123px;
    }
}

.eat-tit-05 img {
    width: 240px;
}

@media (max-width: 1024px) {
    .eat-tit-05 img {
        width: 153px;
    }
}

@media (max-width: 767px) {
    .eat-tit-05 img {
        width: 195px;
    }
}

.eat-tit-06 img {
    width: 176px;
    vertical-align: bottom;
}

@media (max-width: 1024px) {
    .eat-tit-06 img {
        width: 112px;
    }
}

@media (max-width: 767px) {
    .eat-tit-06 img {
        width: 124px;
    }
}

.eat-open-hour-01 {
    font-family: "Noto Serif JP", serif;
    font-size: 38.01px;
    font-size: 2.37563rem;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0.095em;
}

@media (max-width: 1024px) {
    .eat-open-hour-01 {
        font-size: 36px;
        font-size: 2.25rem;
    }
}

@media (max-width: 1023px) and (min-width: 768px) {
    .eat-open-hour-01 {
        font-size: 32px;
        font-size: 2rem;
    }
}

@media (max-width: 767px) {
    .eat-open-hour-01 {
        font-size: 33.5px;
        font-size: 2.09375rem;
        line-height: 1.486;
        letter-spacing: 0.11em;
    }
}

.eat-open-hour-02 {
    font-family: "Noto Serif JP", serif;
    font-size: 23px;
    font-size: 1.4375rem;
    font-weight: bold;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

@media (max-width: 1024px) {
    .eat-open-hour-02 {
        font-size: 20px;
        font-size: 1.25rem;
        line-height: 1.486;
    }
}

@media (max-width: 767px) {
    .eat-open-hour-02 {
        font-size: 17px;
        font-size: 1.0625rem;
        line-height: 1.6;
    }
}

.eat-open-hour-02 .att {
    font-size: 70%;
    font-weight: normal;
    display: block;
    text-align: left;
}

.eat-open-hour-03 li {
    display: flex;
    justify-content: space-between;
}

@media (min-width: 767px) and (max-width: 979px) {
    .eat-open-hour-03 li {
        letter-spacing: -.05em;
    }
}

.eat-open-hour-03 li .time {
    flex-shrink: 0;
    padding-left: 1em;
}

.eat-dl-01 {
    margin-top: 2em;
    line-height: 1.48148;
    font-family: "Noto Serif JP", serif;
    letter-spacing: .05em;
}

@media (max-width: 1024px) {
    .eat-dl-01 {
        line-height: 1.44;
    }
}

.eat-dl-01 > div + div {
    margin-top: 1em;
}

@media (max-width: 1024px) {
    .eat-dl-01 > div + div {
        margin-top: 2em;
    }
}

@media (max-width: 767px) {
    .eat-dl-01 > div + div {
        margin-top: 1em;
    }
}

.eat-dl-01 dt {
    font-weight: 700;
    font-size: 27px;
    font-size: 1.6875rem;
}

@media (max-width: 1024px) {
    .eat-dl-01 dt {
        font-size: 25px;
        font-size: 1.5625rem;
    }
}

@media (max-width: 767px) {
    .eat-dl-01 dt {
        font-size: 15px;
        font-size: 0.9375rem;
    }
}

.eat-dl-01 dd {
    font-weight: 700;
    font-size: 23px;
    font-size: 1.4375rem;
}

@media (max-width: 1024px) {
    .eat-dl-01 dd {
        font-size: 20px;
        font-size: 1.25rem;
    }
}

@media (max-width: 767px) {
    .eat-dl-01 dd {
        font-size: 21px;
        font-size: 1.3125rem;
    }
}

.eat-txt-01 {
    letter-spacing: .09em;
    margin-top: 0;
}

.eat-btn-01 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    margin: 1.5em 0 2em;
    background: #424E8F;
    /*@media (max-width: 1024px) {
  	height: 53px;
  }
  @media (max-width: 767px) {
  	height: 108px;
  }*/
}

.eat-btn-01 img {
    width: 120px;
    /*@media (max-width: 1024px) {
    	width: 103px;
    }*/
}

.eat-cafe-bar-menu {
    margin-top: 46px;
}

@media (max-width: 1024px) {
    .eat-cafe-bar-menu {
        margin-top: 34px;
    }
}

@media (max-width: 767px) {
    .eat-cafe-bar-menu {
        margin-top: 29px;
    }
}

.eat-cafe-bar-menu h4 {
    font-family: "Noto Serif JP", serif;
    font-weight: bold;
    font-size: 20px;
    font-size: 1.25rem;
    margin-bottom: 18.5px;
    letter-spacing: 0.125em;
}

@media (max-width: 767px) {
    .eat-cafe-bar-menu h4 {
        margin-bottom: 13.75px;
    }
}

.eat-cafe-bar-menu dl {
    font-family: "Sawarabi Mincho", sans-serif;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 2;
    letter-spacing: 0.08em;
}

@media (max-width: 767px) {
    .eat-cafe-bar-menu dl {
        line-height: 1.7;
    }
}

.eat-cafe-bar-menu dl > div {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
}

.eat-cafe-bar-menu dl > div dt {
    margin-right: 1em;
}

.eat-cafe-bar-menu dl + dl {
    margin-top: 2em;
}

.eat-menu .eat-menu-tit {
    display: flex;
    justify-content: space-between;
}

.eat-menu .eat-menu-list span {
    display: block;
}

.eat-menu .eat-menu-list .price {
    padding-left: 1em;
    margin-left: auto;
    margin-right: 0;
    flex-shrink: 0;
}

.eat-menu .eat-menu-list .type {
    display: block;
    margin-left: 2.5em;
}

.eat-menu .eat-menu-list dt {
    display: flex;
}

.eat-menu .eat-menu-list dd {
    font-size: 12px;
    font-size: 0.75rem;
    padding-left: 1em;
}

.eat-menu .eat-menu-list dd + dt {
    margin-top: 2em;
}

.eat-menu .eat-menu-list .eat-menu-price-list {
    margin-top: 1em;
    font-size: 15px;
    font-size: 0.9375rem;
}

.eat-menu .eat-menu-list .eat-menu-price-list li {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding-left: 1em;
}

.eat-menu .eat-menu-list .eat-menu-price-list li:before {
    content: '-';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.eat-menu .eat-menu-list .eat-menu-price-list.right-small {
    max-width: 200px;
    margin-right: 0;
    margin-left: auto;
}

.eat-container-01 .line-bg-tab.line-01 {
    bottom: -6.44531vw;
    left: -1.36719vw;
}

.eat-container-01 .line-bg-sp.line-01 {
    bottom: -23.2vw;
    right: 2vw;
}

.eat-container-02 .line-bg.line-01 {
    bottom: 20vw;
    left: -5vw;
}

.eat-container-02 .line-bg.line-02 {
    right: -5.6vw;
    bottom: -10vw;
}

.eat-container-02 .line-bg.line-03 {
    right: 4.85vw;
    bottom: 6.3vw;
}

@media (max-width: 1500px) {
    .eat-container-02 .line-bg.line-03 {
        bottom: -6.3vw;
    }
}

.eat-container-02 .line-bg-tab.line-01 {
    bottom: -7.8125vw;
    right: -1.17188vw;
}

.eat-container-02 .line-bg-tab.line-02 {
    bottom: -4.88281vw;
    left: 39.94141vw;
}

.eat-container-02 .line-bg-sp.line-01 {
    bottom: 7.06667vw;
    right: -2.4vw;
}

.eat-container-02 .line-bg-sp.line-02 {
    bottom: -11.86667vw;
    right: -1.6vw;
}

.eat-container-02 .line-bg-sp.line-03 {
    bottom: -3.73333vw;
    left: -5.46667vw;
}

.eat-container-03 .line-bg.line-01 {
    bottom: -19.8vw;
    right: 1vw;
}

.eat-container-03 .line-bg.line-02 {
    left: -2.75vw;
    bottom: 34.25vw;
}

.eat-container-03 .line-bg.line-03 {
    right: 23.25vw;
    bottom: 0.95vw;
}

.eat-container-03 .line-bg-tab.line-01 {
    left: -1.5625vw;
    bottom: 27.34375vw;
}

.eat-container-03 .line-bg-tab.line-02 {
    right: 5.9vw;
    bottom: 1.95vw;
}

.eat-container-03 .line-bg-sp.line-01 {
    right: -13.46667vw;
    bottom: 11.73333vw;
}

.eat-container-03 .line-bg-sp.line-02 {
    right: 14.66667vw;
    top: -7.6vw;
}

.eat-container-03 .line-bg-sp.line-03 {
    left: -0.8vw;
    bottom: -13.06667vw;
}

.eat-container-04 .line-bg.line-01 {
    right: 1.75vw;
    bottom: -19.85vw;
}

.eat-container-04 .line-bg.line-02 {
    right: 0.45vw;
    bottom: -23.05vw;
}

.eat-container-04 .line-bg.line-03 {
    left: -1.7vw;
    bottom: 33.55vw;
}

.eat-container-04 .line-bg.line-04 {
    left: -1.7vw;
    bottom: -4.25vw;
}

.eat-container-04 .line-bg.line-05 {
    right: 12.75vw;
    bottom: -1.45vw;
}

.eat-container-04 .line-bg-tab.line-01 {
    left: -0.48828vw;
    bottom: 23.73047vw;
}

.eat-container-04 .line-bg-tab.line-02 {
    right: 4.88281vw;
    bottom: 1.17188vw;
}

.eat-container-04 .line-bg-tab.line-03 {
    right: 3.61328vw;
    bottom: -1.95313vw;
}

.eat-container-04 .line-bg-sp.line-01 {
    right: -2.26667vw;
    bottom: 5.6vw;
}

.eat-container-04 .line-bg-sp.line-02 {
    left: -2.93333vw;
    bottom: -13.6vw;
}

@media (min-width: 700px) {
    .eat-container-04 .line-bg-sp.line-02 {
        bottom: -8vw;
    }
}

.eat-container-05 .line-bg.line-01 {
    right: -6.3vw;
    bottom: -25vw;
}

.eat-container-05 .line-bg.line-02 {
    right: 17.4vw;
    bottom: 7.05vw;
}

@media (max-width: 1540px) {
    .eat-container-05 .line-bg.line-02 {
        bottom: 0vw;
    }
}

@media (max-width: 1450px) {
    .eat-container-05 .line-bg.line-02 {
        right: 60.4vw;
        bottom: -2.5vw;
    }
}

.eat-container-05 .line-bg.line-03 {
    right: 15.1vw;
    bottom: 3.6vw;
}

@media (max-width: 1540px) {
    .eat-container-05 .line-bg.line-03 {
        bottom: -3.5vw;
    }
}

@media (max-width: 1450px) {
    .eat-container-05 .line-bg.line-03 {
        right: 58.1vw;
        bottom: -6vw;
    }
}

.eat-container-05 .line-bg-tab.line-01 {
    right: 42.1875vw;
    bottom: 3.80859vw;
}

@media (max-width: 800px) {
    .eat-container-05 .line-bg-tab.line-01 {
        bottom: -9.76563vw;
    }
}

.eat-container-05 .line-bg-sp.line-01 {
    right: -12.8vw;
    bottom: 35.86667vw;
}

.eat-container-05 .line-bg-sp.line-02 {
    left: 1.06667vw;
    bottom: -13.46667vw;
}

.eat-container-06 .line-bg.line-01 {
    bottom: -14.8vw;
    right: 10vw;
}

@media (max-width: 1580px) {
    .eat-container-06 .line-bg.line-01 {
        bottom: -7.5vw;
    }
}

.eat-container-06 .line-bg.line-02 {
    left: -2.75vw;
    bottom: 44.25vw;
}

.eat-container-06 .line-bg.line-03 {
    left: 2.25vw;
    bottom: 4vw;
}

.eat-container-06 .line-bg-tab.line-01 {
    left: -1.5625vw;
    bottom: 27.34375vw;
}

.eat-container-06 .line-bg-tab.line-02 {
    right: 5.9vw;
    bottom: -6vw;
}

.eat-container-06 .line-bg-sp.line-01 {
    right: -13.46667vw;
    bottom: 11.73333vw;
}

.eat-container-06 .line-bg-sp.line-02 {
    right: 14.66667vw;
    top: -7.6vw;
}

.eat-container-06 .line-bg-sp.line-03 {
    left: -0.8vw;
    bottom: -13.06667vw;
}

.eat-container-07 {
    margin-top: 100px !important;
}

@media (max-width: 1024px) {
    .eat-container-07 {
        margin-top: 45px !important;
    }
}

@media (max-width: 767px) {
    .eat-container-07 {
        flex-wrap: wrap;
        margin-top: 50px !important;
    }
}

.eat-container-08 {
    margin-top: 100px !important;
}

@media (max-width: 1024px) {
    .eat-container-08 {
        margin-top: 45px !important;
    }
}

@media (max-width: 767px) {
    .eat-container-08 {
        flex-wrap: wrap;
        margin-top: 50px !important;
    }
}

.eat-container-08 dl {
    border: 1px solid #424E8F;
    padding: 4%;
}

.eat-container-08 dl dd {
    padding-left: 1.3em;
}

.eat-container-08 dl dd + dt {
    margin-top: .5em;
}

/* walk
========================================================= */
@media (max-width: 1024px) and (min-width: 768px) {
    #walk > .com-container-01 {
        max-width: 465px;
    }
}

@media (max-width: 767px) {
    #walk > .com-container-01 {
        margin-top: 0 !important;
    }
}

#walk .com-txt-01 {
    letter-spacing: .05em;
}

@media (max-width: 767px) {
    .walk-tit-01 {
        margin-bottom: 50px;
    }
}

.walk-tit-01 img {
    width: 150px;
}

@media (max-width: 1024px) {
    .walk-tit-01 img {
        width: 93px;
    }
}

@media (max-width: 767px) {
    .walk-tit-01 img {
        width: 91px;
    }
}

.walk-coming-soon {
    margin-top: 160px;
    text-align: center;
}

@media (max-width: 1024px) {
    .walk-coming-soon {
        margin-top: 53px;
    }
}

@media (max-width: 767px) {
    .walk-coming-soon {
        margin-top: 70px;
        margin-bottom: 200px;
    }
}

.walk-coming-soon img {
    width: 466px;
}

@media (max-width: 1024px) {
    .walk-coming-soon img {
        width: 290px;
    }
}

@media (max-width: 767px) {
    .walk-coming-soon img {
        width: 228px;
    }
}

@media (max-width: 767px) {
    .walk-txt-02 {
        font-size: 14px;
        font-size: 0.875rem;
    }
}

.walk-txt-03 {
    font-size: 13px;
    font-size: 0.8125rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
}

.walk-time:before {
    content: '';
    display: inline-block;
    background: url("../img/walk/icon-time.png") no-repeat center center/contain;
    width: 16px;
    height: 15px;
    vertical-align: middle;
    margin-right: .5em;
}

/* FAQ
========================================================= */
.company-tit-01 {
    margin-top: 10px;
}

.company-tit-01 img {
    width: 130px;
}

@media (max-width: 1024px) {
    .company-tit-01 img {
        width: 69px;
    }
}

@media (max-width: 767px) {
    .company-tit-01 img {
        width: 65px;
    }
}

.company-tit-02 {
    margin-bottom: 38px;
}

@media (max-width: 767px) {
    .company-tit-02 {
        margin-bottom: 25px;
    }
}

.company-tit-02 img {
    width: 284px;
}

@media (max-width: 1024px) {
    .company-tit-02 img {
        width: 265px;
    }
}

@media (max-width: 767px) {
    .company-tit-02 img {
        width: 211px;
    }
}

.company-table-01 {
    line-height: 2;
    font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 1024px) {
    .company-table-01 {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.company-table-01 > div {
    display: flex;
    flex-wrap: wrap;
}

@media (max-width: 767px) {
    .company-table-01 > div + div {
        margin-top: 1em;
    }
}

.company-table-01 dt {
    width: 100px;
    margin-right: 34px;
    display: flex;
    justify-content: space-between;
}

@media (max-width: 1024px) {
    .company-table-01 dt {
        width: 85px;
    }
}

@media (max-width: 767px) {
    .company-table-01 dt {
        width: 100%;
        display: block;
        font-weight: 700;
    }
}

.company-table-01 dd {
    flex: 1;
    letter-spacing: .1em;
}

@media (max-width: 767px) {
    .company-table-01 dd {
        flex: none;
        width: 100%;
    }
}

#company-02 {
    margin-top: 100px;
}

@media (max-width: 767px) {
    #company-02 {
        margin-top: 85px;
    }
}

.company-tit-03 {
    margin-bottom: 38px;
}

@media (max-width: 767px) {
    .company-tit-03 {
        margin-bottom: 25px;
    }
}

.company-tit-03 img {
    width: 60px;
}

@media (max-width: 1024px) {
    .company-tit-03 img {
        width: 56px;
    }
}

@media (max-width: 767px) {
    .company-tit-03 img {
        width: 43px;
    }
}

.company-table-02 {
    font-family: "Noto Sans JP", sans-serif;
}

.company-table-02 > div + div {
    margin-top: 3em;
}

.company-table-02 dt {
    display: inline-block;
    margin-bottom: 1em;
    padding: .43em 1em .57em;
    line-height: 1.4;
    font-size: 17px;
    font-size: 1.0625rem;
    font-weight: 500;
    color: #fff;
    background: #424E8F;
}

@media (max-width: 1024px) {
    .company-table-02 dt {
        font-size: 15px;
        font-size: 0.9375rem;
    }
}

@media (max-width: 1024px) {
    .company-table-02 dd {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.company-table-02 small {
    font-size: 13px;
    font-size: 0.8125rem;
}

@media (max-width: 1024px) {
    .company-table-02 small {
        font-size: 11px;
        font-size: 0.6875rem;
    }
}

/* Recruit
========================================================= */
.recruit-tit-01 {
    margin-top: 10px;
}

.recruit-tit-01 img {
    width: 566px;
}

@media (max-width: 1024px) {
    .recruit-tit-01 img {
        width: 320px;
    }
}

@media (max-width: 767px) {
    .recruit-tit-01 img {
        width: 283px;
    }
}

.recruit-tit-02 {
    margin-bottom: 38px;
}

@media (max-width: 767px) {
    .recruit-tit-02 {
        margin-bottom: 25px;
    }
}

.recruit-tit-02 img {
    width: 256px;
}

@media (max-width: 1024px) {
    .recruit-tit-02 img {
        width: 239px;
    }
}

@media (max-width: 767px) {
    .recruit-tit-02 img {
        width: 190px;
    }
}

#company-01 {
    margin-top: 100px;
}

@media (max-width: 767px) {
    #company-01 {
        margin-top: 85px;
    }
}

span.js-offset {
    display: block;
}

.recruit-section-01 {
    font-weight: 400;
    font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 1024px) {
    .recruit-section-01 {
        font-size: 13px;
        font-size: 0.8125rem;
        line-height: 1.76923;
    }
}

.recruit-section-01 p {
    line-height: 1.76923;
}

.recruit-table-01 {
    width: 100%;
    margin-top: 45px;
}

@media (max-width: 1024px) {
    .recruit-table-01 {
        margin-top: 35px;
    }
}

@media (max-width: 767px) {
    .recruit-table-01 {
        margin-top: 20px;
        font-size: 11px;
        font-size: 0.6875rem;
    }
}

.recruit-table-01 + .recruit-table-01 {
    margin-top: 80px;
}

@media (max-width: 1024px) {
    .recruit-table-01 + .recruit-table-01 {
        margin-top: 50px;
    }
}

@media (max-width: 767px) {
    .recruit-table-01 + .recruit-table-01 {
        margin-top: 35px;
    }
}

.recruit-table-01 th, .recruit-table-01 td {
    border: #424E8F 0.8px solid;
    line-height: 1.73333;
}

.recruit-table-01 th {
    box-sizing: border-box;
    background: #F3F6FB;
    width: 163px;
    vertical-align: middle;
    padding: 1em 30px;
    font-weight: 400;
    letter-spacing: normal;
}

@media (max-width: 1024px) {
    .recruit-table-01 th {
        padding: 1em 19px;
        width: 125px;
    }
}

@media (max-width: 767px) {
    .recruit-table-01 th {
        width: 73px;
        padding: .8em 10px;
        letter-spacing: -.21em;
        font-weight: 500;
    }
}

.recruit-table-01 th.tit-01 {
    width: auto;
    text-align: left;
    font-size: 19px;
    font-size: 1.1875rem;
    letter-spacing: .46em;
    font-weight: 500;
}

@media (max-width: 1024px) {
    .recruit-table-01 th.tit-01 {
        font-size: 14px;
        font-size: 0.875rem;
    }
}

@media (max-width: 767px) {
    .recruit-table-01 th.tit-01 {
        text-align: center;
        font-size: 12px;
        font-size: 0.75rem;
        letter-spacing: .34em;
    }
}

.recruit-table-01 th > span {
    display: flex;
    justify-content: space-between;
}

.recruit-table-01 th > span.narrow {
    letter-spacing: -.13em;
}

.recruit-table-01 th > span.line-02 {
    flex-wrap: wrap;
}

.recruit-table-01 th > span.line-02 span:nth-of-type(1) {
    width: 50%;
    text-align: left;
}

.recruit-table-01 th > span.line-02 span:nth-of-type(2) {
    width: 50%;
    text-align: right;
}

.recruit-table-01 td {
    padding: 1em 30px;
    letter-spacing: .05em;
}

@media (max-width: 1024px) {
    .recruit-table-01 td {
        padding: 1em 19px;
    }
}

@media (max-width: 767px) {
    .recruit-table-01 td {
        padding: .8em 10px;
        letter-spacing: -.01em;
    }
}

/* terms & conditions
========================================================= */
.terms-tit-01 img {
    width: 494px;
}

@media (max-width: 1024px) {
    .terms-tit-01 img {
        width: 280px;
    }
}

@media (max-width: 767px) {
    .terms-tit-01 img {
        width: 247px;
    }
}

.terms-section-01 {
    font-weight: 400;
    font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 1024px) {
    .terms-section-01 {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.terms-section-01 + .terms-section-01 {
    margin-top: 60px;
}

@media (max-width: 1024px) {
    .terms-section-01 + .terms-section-01 {
        margin-top: 35px;
    }
}

.terms-section-01 p:nth-of-type(1) {
    padding-top: .2em;
}

@media (max-width: 1024px) {
    .terms-section-01 p, .terms-section-01 ol, .terms-section-01 span {
        line-height: 1.5;
    }
}

@media (max-width: 767px) {
    .terms-section-01 p, .terms-section-01 ol, .terms-section-01 span {
        line-height: 1.7;
    }
}

.terms-section-01 .tit-01 {
    margin-bottom: .5em;
    font-size: 18px;
    font-size: 1.125rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: .18em;
}

@media (max-width: 1024px) {
    .terms-section-01 .tit-01 {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

* + .terms-section-01 .tit-01 {
    margin-top: 35px;
}

@media (max-width: 1024px) {
    * + .terms-section-01 .tit-01 {
        margin-top: 20px;
    }
}

.terms-section-01 .tit-01:first-child {
    margin-top: 0 !important;
}

.terms-section-01 .tit-02 {
    margin-bottom: .5em;
    font-size: 24px;
    font-size: 1.5rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: .18em;
}

@media (max-width: 1024px) {
    .terms-section-01 .tit-02 {
        font-size: 18px;
        font-size: 1.125rem;
    }
}

.terms-list-01 {
    list-style-type: none;
}

.terms-list-01 > li {
    position: relative;
    padding-left: 1.5em;
    list-style-type: none;
    counter-increment: cnt1;
}

.terms-list-01 > li::before {
    position: absolute;
    left: 0;
    content: counter(cnt1) "）";
}

.terms-list-02 {
    list-style-type: none;
}

.terms-list-02 > li {
    position: relative;
    padding-left: 1.3em;
    list-style-type: none;
}

.terms-list-02 > li::before {
    position: absolute;
    left: 0;
}

.terms-list-02 > li:nth-child(1)::before {
    content: 'A)';
}

.terms-list-02 > li:nth-child(2)::before {
    content: 'B)';
}

.terms-list-02 > li:nth-child(3)::before {
    content: 'C)';
}

.terms-list-02 > li:nth-child(4)::before {
    content: 'D)';
}

.terms-list-02 > li:nth-child(5)::before {
    content: 'E)';
}

.terms-list-02 > li:nth-child(6)::before {
    content: 'F)';
}

.terms-list-02 > li:nth-child(7)::before {
    content: 'G)';
}

.terms-list-02 > li:nth-child(8)::before {
    content: 'H)';
}

.terms-list-02 > li:nth-child(9)::before {
    content: 'I)';
}

.terms-list-02 > li:nth-child(10)::before {
    content: 'J)';
}

.terms-list-03 {
    list-style-type: none;
}

.terms-list-03 > li {
    position: relative;
    padding-left: 1.5em;
    list-style-type: none;
    counter-increment: cnt2;
}

.terms-list-03 > li::before {
    position: absolute;
    left: 0;
    content: counter(cnt2) ".";
}

.terms-list-04 {
    list-style-type: none;
}

.terms-list-04 > li {
    position: relative;
    padding-left: 1.5em;
    list-style-type: none;
    counter-increment: cnt3;
}

.terms-list-04 > li::before {
    position: absolute;
    left: 0;
    content: "(" counter(cnt3) ")";
}

.terms-list-05 {
    list-style-type: lower-alpha;
}

.terms-list-05 > li {
    list-style-type: lower-alpha;
    list-style-position: inside;
}

.terms-figure-01 {
    margin-top: 130px;
    font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 1024px) {
    .terms-figure-01 {
        margin-top: 60px;
    }
}

.terms-figure-01 + .terms-figure-01 {
    margin-top: 50px;
}

.terms-figure-01 .caption {
    display: block;
    margin-bottom: .8em;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1.64;
}

@media (max-width: 1024px) {
    .terms-figure-01 .caption {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.terms-figure-01 table {
    width: 100%;
    font-weight: 400;
    font-size: 15px;
    font-size: 0.9375rem;
    border: #424E8F 1px solid;
    background: #FCFAF6;
}

@media (max-width: 1024px) {
    .terms-figure-01 table {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

@media (max-width: 767px) {
    .terms-figure-01 table {
        font-size: 12px;
        font-size: 0.75rem;
    }
}

.terms-figure-01 table th, .terms-figure-01 table td {
    border: #424E8F 1px solid;
    vertical-align: middle;
    text-align: center;
    line-height: 1.4;
    box-sizing: border-box;
}

.terms-figure-01 table th {
    padding: .5em;
    font-weight: 400;
    background: #F3F6FB;
}

.terms-figure-01 table th span.tategaki {
    vertical-align: middle;
    display: inline-block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
}

.terms-figure-01 table.table-01 .col-01 {
    width: 65px;
}

@media (max-width: 1024px) {
    .terms-figure-01 table.table-01 .col-01 {
        width: 34px;
    }
}

.terms-figure-01 table.table-01 .col-02 {
    width: 65px;
}

@media (max-width: 1024px) {
    .terms-figure-01 table.table-01 .col-02 {
        width: 34px;
    }
}

.terms-figure-01 table.table-01 tbody td {
    padding: 30px 50px;
    text-align: left;
}

@media (max-width: 1024px) {
    .terms-figure-01 table.table-01 tbody td {
        padding: 20px 24px;
    }
}

.terms-figure-01 table.table-02 {
    border-collapse: collapse;
    table-layout: fixed;
    height: 100%;
}

.terms-figure-01 table.table-02 th.tit {
    padding: 0;
    background: #F3F6FB url(../img/terms/line.png) no-repeat center;
    background-size: 100% 100%;
    border: #424E8F 1px solid;
}

.terms-figure-01 table.table-02 th.tit > div {
    position: relative;
    min-height: 80px;
}

@media (max-width: 1024px) {
    .terms-figure-01 table.table-02 th.tit > div {
        min-height: 70px;
    }
}

@media (max-width: 767px) {
    .terms-figure-01 table.table-02 th.tit > div {
        min-height: 75px;
    }
}

.terms-figure-01 table.table-02 th.tit span {
    margin: 0 !important;
    position: absolute;
    line-height: 1.2;
}

@media (max-width: 767px) {
    .terms-figure-01 table.table-02 th.tit span {
        font-size: 12px;
        font-size: 0.75rem;
    }
}

.terms-figure-01 table.table-02 th.tit span:nth-of-type(1) {
    right: .5em;
    top: .2em;
    text-align: right;
}

.terms-figure-01 table.table-02 th.tit span:nth-of-type(2) {
    left: .5em;
    bottom: .2em;
    text-align: left;
}

.terms-figure-01 table.table-02 thead th {
    padding: 1.5em 1em;
}

@media (max-width: 1024px) {
    .terms-figure-01 table.table-02 thead th {
        padding: 2em 1em;
    }
}

@media (max-width: 767px) {
    .terms-figure-01 table.table-02 thead th {
        padding: .5em .2em;
    }
}

.terms-figure-01 table.table-02 td {
    padding: 1.5em .5em;
}

.terms-figure-01 table.table-02 th.wide {
    letter-spacing: .8em;
}

@media (max-width: 767px) {
    .terms-figure-01 table.table-02 th.small {
        font-size: 11px;
        font-size: 0.6875rem;
        letter-spacing: -.12em;
    }
}

.terms-figure-01 table.table-02 .col-01 {
    width: 65px;
}

@media (max-width: 1024px) {
    .terms-figure-01 table.table-02 .col-01 {
        width: 35px;
    }
}

@media (max-width: 767px) {
    .terms-figure-01 table.table-02 .col-01 {
        width: 120px;
    }
}

.terms-figure-01 table.table-02 .col-02 {
    width: 228px;
}

@media (max-width: 1024px) {
    .terms-figure-01 table.table-02 .col-02 {
        width: 115px;
    }
}

@media (max-width: 767px) {
    .terms-figure-01 table.table-02 .col-02 {
        width: auto;
    }
}

.terms-figure-01 p {
    margin-top: 1em;
    line-height: 1.73333;
    font-weight: 400;
}

@media (max-width: 1024px) {
    .terms-figure-01 p {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.terms-figure-01 .att {
    margin-top: 1em;
    display: flex;
}

.terms-figure-01 .att span {
    line-height: 1.7;
    width: 3em;
    font-weight: 400;
    font-size: 15px;
    font-size: 0.9375rem;
}

@media (max-width: 767px) {
    .terms-figure-01 .att span {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.terms-figure-01 .att p {
    padding: 0;
    flex: 1;
    margin: 0;
}

/* prevention and safety
========================================================= */
.prevention-tit-01 img {
    width: 627px;
}

@media (max-width: 1024px) {
    .prevention-tit-01 img {
        width: 355px;
    }
}

@media (max-width: 767px) {
    .prevention-tit-01 img {
        width: 277px;
    }
}

.prevention-tit-01 .tit {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.36444;
    letter-spacing: 0.18em;
    text-align: center;
    font-weight: 700;
    font-family: "Noto Sans JP", sans-serif;
    margin-top: 30px;
}

@media (max-width: 767px) {
    .prevention-tit-01 .tit {
        font-size: 12.5px;
        font-size: 0.78125rem;
        line-height: 0.9824;
        letter-spacing: 0.015em;
        margin-top: 10px;
    }
}

/* Privacy Policy
========================================================= */
.privacy-tit-01 img {
    width: 410px;
}

@media (max-width: 1024px) {
    .privacy-tit-01 img {
        width: 215px;
    }
}

@media (max-width: 767px) {
    .privacy-tit-01 img {
        width: 205px;
    }
}

.privacy-section-01 {
    font-weight: 400;
    font-family: "Noto Sans JP", sans-serif;
}

@media (max-width: 1024px) {
    .privacy-section-01 {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

.privacy-section-01 + .privacy-section-01 {
    margin-top: 60px;
}

@media (max-width: 1024px) {
    .privacy-section-01 + .privacy-section-01 {
        margin-top: 35px;
    }
}

.privacy-section-01 p:nth-of-type(1) {
    padding-top: .2em;
}

.privacy-section-01 p {
    letter-spacing: -.02em;
}

.privacy-section-01 p.has-mt {
    margin-top: 2em;
}

@media (max-width: 1024px) {
    .privacy-section-01 p, .privacy-section-01 ol, .privacy-section-01 span {
        line-height: 1.5;
    }
}

@media (max-width: 767px) {
    .privacy-section-01 p, .privacy-section-01 ol, .privacy-section-01 span {
        line-height: 1.7;
    }
}

.privacy-section-01 .tit-01 {
    margin-bottom: .5em;
    font-size: 18px;
    font-size: 1.125rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: .16em;
}

@media (max-width: 1024px) {
    .privacy-section-01 .tit-01 {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

* + .privacy-section-01 .tit-01 {
    margin-top: 35px;
}

@media (max-width: 1024px) {
    * + .privacy-section-01 .tit-01 {
        margin-top: 20px;
    }
}

.privacy-section-01 .tit-01:first-child {
    margin-top: 0 !important;
}

.privacy-section-01 .tit-02 {
    margin-bottom: .5em;
    font-size: 16px;
    font-size: 1rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: -.02em;
}

@media (max-width: 1024px) {
    .privacy-section-01 .tit-02 {
        font-size: 13px;
        font-size: 0.8125rem;
    }
}

* + .privacy-section-01 .tit-02 {
    margin-top: 2.3em;
}

.privacy-list-01 {
    list-style-type: lower-alpha;
}

.privacy-list-01 > li {
    list-style-type: lower-alpha;
    list-style-position: inside;
}
