@charset "UTF-8";
/* --------------------------------
 * font
 * -------------------------------- */
/* --------------------------------
 * color
 * -------------------------------- */
/* --------------------------------
 * config
 * -------------------------------- */
/* --------------------------------
 * easing
 * -------------------------------- */
@import url("https://fonts.googleapis.com/css?family=Josefin+Sans:300,300i,400,400i,600,600i,700,700i&display=swap");
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 200;
    src: url("../../fonts/SourceHanSansJP-ExtraLight.woff2") format("woff2"), url("../../fonts/SourceHanSansJP-ExtraLight.woff") format("woff");
    font-display: swap;
}
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 300;
    src: url("../../fonts/SourceHanSansJP-Light.woff2") format("woff2"), url("../../fonts/SourceHanSansJP-Light.woff") format("woff");
    font-display: swap;
}
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    src: url("../../fonts/SourceHanSansJP-Regular.woff2") format("woff2"), url("../../fonts/SourceHanSansJP-Regular.woff") format("woff");
    font-display: swap;
}
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 500;
    src: url("../../fonts/SourceHanSansJP-Medium.woff2") format("woff2"), url("../../fonts/SourceHanSansJP-Medium.woff") format("woff");
    font-display: swap;
}
@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 600;
    src: url("../../fonts/SourceHanSansJP-Bold.woff2") format("woff2"), url("../../fonts/SourceHanSansJP-Bold.woff") format("woff");
    font-display: swap;
}
/* --------------------------------
 * フォント関連
 * -------------------------------- */
/* --------------------------------
 * メディアクエリ
 * -------------------------------- */
/* --------------------------------
 * float解除
 * -------------------------------- */
html, body, h1, h2, h3, h4, h5, h6, a, p, span, em, small, strong, sub, sup, mark, del, ins, strike, abbr, dfn, blockquote, q, cite, code, pre, ol, ul, li, dl, dt, dd, div, section, article, main, aside, nav, header, hgroup, footer, img, figure, figcaption, address, time, audio, video, canvas, iframe, details, summary, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}
html {
    font-size: 62.5%;
}
@media screen and (max-width: 1200px) {
    html {
        font-size: calc(100vw / 3.84);
    }
}
body {
    overflow-x: hidden;
    height: 100%;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    color: #181818;
}
@media screen and (max-width: 1200px) {
    body {
        font-size: .16rem;
    }
}
* {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
a, a:visited, a:link, a:active {
    color: #181818;
    text-decoration: none;
}
a:hover {
    color: #181818;
    text-decoration: none;
}
article, aside, footer, header, nav, section, main {
    display: block;
}
* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
*:before, *:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
ol li, ul li {
    list-style: none;
}
img, video {
    max-width: 100%;
}
img {
    height: auto;
    border: none;
    vertical-align: top;
}
blockquote, q {
    quotes: none;
}
blockquote::after, blockquote::before, q::after, q::before {
    content: "";
    content: none;
}
[hidden] {
    display: none !important;
}
[disabled] {
    cursor: not-allowed;
}
:focus:not(:focus-visible) {
    outline: none;
}
.sr-only {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    left: -9999px;
    top: -9999px;
}
input, select, label {
    vertical-align: middle;
}
[type="text"] {
    line-height: normal;
}
::-moz-selection {
    background-color: rgba(93, 117, 172, 0.3);
    color: #fff;
}
select::-ms-expand {
    display: none;
}
::selection {
    background-color: rgba(93, 117, 172, 0.3);
    color: #fff;
}
/* --------------------------------
 * layout
 * -------------------------------- */
.inner {
    width: 1200px;
    margin: 0 auto;
}
@media screen and (max-width: 1200px) {
    .inner {
        width: auto;
        margin: 0 .2rem;
    }
}
/* --------------------------------
 * title
 * -------------------------------- */
h2 {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 120%;
    font-family: 'Josefin Sans', sans-serif;
    color: #000;
}
h3.en {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 120%;
    color: #000;
}
h3.en::before {
    content: " "attr(data-title);
    display: block;
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 0.2em;
    line-height: 180%;
    font-family: 'Josefin Sans', sans-serif;
    margin-bottom: 4px;
}
h3.ja {
    font-size: 25px;
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 180%;
}
h3.ja::after {
    content: " "attr(data-title);
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.15em;
    line-height: 120%;
    color: #000;
    font-family: 'Josefin Sans', sans-serif;
    margin-top: 12px;
}
@media screen and (max-width: 1200px) {
    h2 {
        font-size: 0.22rem;
        font-weight: 700;
        letter-spacing: 0.15em;
        line-height: 120%;
        font-family: 'Josefin Sans', sans-serif;
        color: #000;
    }
    h3.en {
        font-size: 0.12rem;
        font-weight: 400;
        letter-spacing: 0.15em;
        line-height: 120%;
        color: #000;
    }
    h3.en::before {
        content: " "attr(data-title);
        display: block;
        font-size: 0.2rem;
        font-weight: 600;
        letter-spacing: 0.2em;
        line-height: 180%;
        font-family: 'Josefin Sans', sans-serif;
        margin-bottom: 4px;
    }
    h3.ja {
        font-size: 0.2rem;
        font-weight: 500;
        letter-spacing: 0.2em;
        line-height: 180%;
    }
    h3.ja::after {
        content: " "attr(data-title);
        display: block;
        font-size: 0.12rem;
        font-weight: 600;
        letter-spacing: 0.15em;
        line-height: 120%;
        color: #000;
        font-family: 'Josefin Sans', sans-serif;
        margin-top: .10rem;
    }
}
/* --------------------------------
 * header
 * -------------------------------- */
.header {
    min-width: 1400px;
    height: 95px;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.9);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.header-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 28px;
    z-index: 110;
}
.header-logo a {
    display: block;
    margin-right: 18px;
    line-height: 0;
}
.header-logo a img {
    width: 121px;
	-ms-interpolation-mode: bicubic;
	image-rendering: crisp-edges;
}
.header-logo-catch-ja {
    display: block;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #5d75ac;
    margin-bottom: 8px;
}
.header-logo-catch-ja strong {
    color: #000;
}
.header-logo-catch-en {
    display: block;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0em;
    line-height: 1;
    font-family: 'Josefin Sans', sans-serif;
}
.header-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.header-menu-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 25px;
}
.header-menu-item:last-child {
    padding-right: 0;
}
.header-menu-item a {
    display: block;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    padding: 35px 25px;
    color: #181818;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
    position: relative;
}
.header-menu-item a:after {
    content: " ";
    width: 0;
    height: 3px;
    display: block;
    background: #5d75ac;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: width 0.2s ease;
    -o-transition: width 0.2s ease;
    transition: width 0.2s ease;
}
.header-menu-item a:hover:after {
    width: calc(100% - 50px);
}
.header-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.header-tel {
    text-align: center;
    margin-right: 24px;
}
.header-tel-ttl {
    display: block;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 10px;
}
.header-tel-num {
    text-align: center;
    display: block;
    font-size: 21px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #5d75ac;
    margin-bottom: 10px;
    pointer-events: none;
}
.header-tel-num span {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
}
.header-tel-txt {
    display: block;
    font-size: 10px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
}
.header-reserve a {
    width: 126px;
    height: 95px;
    background: #5d75ac;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #fff;
    opacity: 1;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
}
.header-reserve a:hover {
    opacity: 0.5;
}
@media screen and (max-width: 1700px) {
    .header {
        min-width: 1200px;
        z-index: 200;
    }
    .header .smt_btn {
        display: block;
        width: 95px;
        height: 95px;
        position: fixed;
        z-index: 110;
        top: 0;
        right: 0;
        cursor: pointer;
        -webkit-transition: all 0.5s ease;
        -o-transition: all 0.5s ease;
        transition: all 0.5s ease;
    }
    .header .smt_btn span {
        display: block;
        background: #5d75ac;
        width: 25px;
        height: 2px;
        position: absolute;
        left: 35px;
        -webkit-transition: width 0.3s ease, top 0.3s ease, bottom 0.3s ease, left 0.3s ease, -webkit-transform 0.3s ease;
        transition: width 0.3s ease, top 0.3s ease, bottom 0.3s ease, left 0.3s ease, -webkit-transform 0.3s ease;
        -o-transition: width 0.3s ease, transform 0.3s ease, top 0.3s ease, bottom 0.3s ease, left 0.3s ease;
        transition: width 0.3s ease, transform 0.3s ease, top 0.3s ease, bottom 0.3s ease, left 0.3s ease;
        transition: width 0.3s ease, transform 0.3s ease, top 0.3s ease, bottom 0.3s ease, left 0.3s ease, -webkit-transform 0.3s ease;
    }
    .header .smt_btn span:nth-child(1) {
        top: 38px;
    }
    .header .smt_btn span:nth-child(2) {
        top: 47px;
    }
    .header .smt_btn span:nth-child(3) {
        bottom: 37px;
    }
    .header .smt_btn:hover {
        filter: alpha(opacity=60);
        opacity: 0.6;
    }
    .header .smt_btn:hover span:nth-child(1) {
        -webkit-transform: translateY(-2px);
        -ms-transform: translateY(-2px);
        transform: translateY(-2px);
    }
    .header .smt_btn:hover span:nth-child(3) {
        -webkit-transform: translateY(2px);
        -ms-transform: translateY(2px);
        transform: translateY(2px);
    }
    .header .smt_btn.active span:nth-child(1) {
        -webkit-transform: rotate(225deg);
        -ms-transform: rotate(225deg);
        transform: rotate(225deg);
        top: 46px;
    }
    .header .smt_btn.active span:nth-child(2) {
        width: 0;
        left: 40px;
    }
    .header .smt_btn.active span:nth-child(3) {
        -webkit-transform: rotate(-225deg);
        -ms-transform: rotate(-225deg);
        transform: rotate(-225deg);
        bottom: 47px;
    }
    .header-menu {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 100%;
        height: 100%;
        background: #fff;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 100;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        opacity: 0;
        pointer-events: none;
        -webkit-transition: opacity 0.5s ease, top 0.5s ease;
        -o-transition: opacity 0.5s ease, top 0.5s ease;
        transition: opacity 0.5s ease, top 0.5s ease;
    }
    .header-menu.on {
        opacity: 1;
        pointer-events: auto;
    }
    .header-menu.on .header-menu-list {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
    .header-menu.on .header-tel {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
    .header-menu.on .header-reserve {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
    .header-menu-list {
        width: 800px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-transition: -webkit-transform 0.5s ease;
        transition: -webkit-transform 0.5s ease;
        -o-transition: transform 0.5s ease;
        transition: transform 0.5s ease;
        transition: transform 0.5s ease, -webkit-transform 0.5s ease;
        -webkit-transform: translateY(-20px);
        -ms-transform: translateY(-20px);
        transform: translateY(-20px);
        margin-right: 0;
        margin-bottom: 40px;
        border-bottom: 1px solid #DDDDDD;
    }
    .header-menu-item {
        width: 100%;
        padding-right: 0;
        border-top: 1px solid #DDDDDD;
    }
    .header-menu-item a {
        font-size: 14px;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
        padding: 30px 0;
        text-align: center;
    }
    .header-menu-item a:after {
        display: none;
    }
    .header-menu-item a:hover {
        color: #5d75ac;
    }
    .header-info {
        width: 800px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .header-tel {
        -webkit-transition: -webkit-transform 0.5s ease;
        transition: -webkit-transform 0.5s ease;
        -o-transition: transform 0.5s ease;
        transition: transform 0.5s ease;
        transition: transform 0.5s ease, -webkit-transform 0.5s ease;
        -webkit-transform: translateY(-20px);
        -ms-transform: translateY(-20px);
        transform: translateY(-20px);
        margin-right: 0;
        margin-right: 24px;
    }
    .header-tel-ttl {
        font-size: 13px;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 1;
    }
    .header-tel-num {
        font-size: 25px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 1;
    }
    .header-tel-num span {
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 1;
    }
    .header-tel-txt {
        display: block;
        font-size: 11px;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 1;
    }
    .header-reserve {
        -webkit-transition: -webkit-transform 0.5s ease;
        transition: -webkit-transform 0.5s ease;
        -o-transition: transform 0.5s ease;
        transition: transform 0.5s ease;
        transition: transform 0.5s ease, -webkit-transform 0.5s ease;
        -webkit-transform: translateY(-20px);
        -ms-transform: translateY(-20px);
        transform: translateY(-20px);
    }
    .header-reserve a {
        width: 280px;
        height: 80px;
    }
}
@media screen and (max-width: 1200px) {
    .header {
        height: .50rem;
    }
    .header.on {
        background: white;
    }
    .header-logo {
        margin-left: .09rem;
    }
    .header-logo a {
        margin-right: 18px;
    }
    .header-logo a img {
        width: .67rem;
    }
    .header-logo-catch-ja {
        font-size: 0.12rem;
        font-weight: 500;
        letter-spacing: 0em;
        line-height: 1;
        margin-bottom: 8px;
    }
    .header-logo-catch-en {
        display: block;
        font-size: 0.1rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        line-height: 1;
        font-family: 'Josefin Sans', sans-serif;
    }
    .header .smt_btn {
        width: .50rem;
        height: .50rem;
        background: #5d75ac;
    }
    .header .smt_btn.active {
        background: #fff;
    }
    .header .smt_btn span {
        width: .20rem;
        height: .02rem;
        background: #fff;
        left: .15rem;
    }
    .header .smt_btn span:nth-child(1) {
        top: .18rem;
    }
    .header .smt_btn span:nth-child(2) {
        top: .24rem;
    }
    .header .smt_btn span:nth-child(3) {
        bottom: .18rem;
    }
    .header .smt_btn.active span {
        background: #5d75ac;
    }
    .header .smt_btn.active span:nth-child(1) {
        -webkit-transform: rotate(225deg);
        -ms-transform: rotate(225deg);
        transform: rotate(225deg);
        top: .24rem;
    }
    .header .smt_btn.active span:nth-child(2) {
        width: 0;
        left: .20rem;
    }
    .header .smt_btn.active span:nth-child(3) {
        -webkit-transform: rotate(-225deg);
        -ms-transform: rotate(-225deg);
        transform: rotate(-225deg);
        bottom: .24rem;
    }
    .header-menu {
        display: block;
        margin-top: 0.50rem;
        padding: 0 .20rem .50rem;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .header-menu-list {
        width: 100%;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        margin-top: 1.12rem;
    }
    .header-menu-item a {
        font-size: 0.14rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
        padding: .20rem;
    }
    .header-info {
        width: auto;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .header-tel {
        margin-right: 0;
        margin-bottom: 0.30rem;
    }
    .header-tel-ttl {
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 1;
    }
    .header-tel a.header-tel-num {
        font-size: 0.25rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 1;
        color: #5d75ac;
		pointer-events: none;
    }
    .header.on .header-tel a.header-tel-num{
      pointer-events: auto;
    }
    .header-tel a.header-tel-num span {
        font-size: 0.16rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 1;
    }
    .header-tel-txt {
        display: block;
        font-size: 0.11rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 1;
    }
    .header-reserve {
        position: absolute;
        top: .24rem;
        left: 0;
        right: 0;
        padding: 0 .20rem;
    }
    .header-reserve a {
        width: 100%;
        height: .60rem;
        font-size: 0.15rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        line-height: 1;
    }
}
/* --------------------------------
 * footer
 * -------------------------------- */
.footer {
    border-top: 1px solid #DDDDDD;
}
.footer-company {
    padding: 34px 0;
}
.footer-company .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.footer-wrap:first-of-type {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.footer-wrap:last-of-type {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.footer-logo {
    margin-right: 30px;
}
.footer-logo a img {
    width: 200px;
}
.footer-info {
    color: #000;
}
.footer-name {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 120%;
    margin-bottom: 18px;
}
.footer-name span {
    color: #5d75ac;
}
.footer-address {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 160%;
    font-style: normal;
}
.footer-tel {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 160%;
}
.footer-tel-txt {
    display: block;
    padding-top: 10px;
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0em;
    line-height: 160%;
}
.footer-nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 20px;
    width: 510px;
}
.footer-nav-item {
    margin-right: 30px;
    margin-bottom: 20px;
}
.footer-nav-item a {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    color: #181818;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
}
.footer-nav-item a:hover {
    opacity: 0.5;
}
.footer-nav-item:nth-child(6), .footer-nav-item:last-child {
    margin-right: 0;
}
.footer-nav-item.gaibu a::after {
    content: " ";
    width: 12px;
    height: 10px;
    display: inline-block;
    margin: 0 0 0 5px;
    background: url(../images/gaibu.svg) no-repeat;
}
.footer-sns-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 10px;
}
.footer-sns-item {
    margin-right: 20px;
}
.footer-shop {
    background: #F3F4FA;
    padding: 40px 0;
}
.footer-shop-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.footer-shop-item {
    margin-right: 40px;
}
.footer-shop-item:last-child {
    margin-right: 0;
}
.footer-link {
    background: #333;
    padding: 16px 0;
}
.footer-link-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.footer-link-item {
    margin-right: 30px;
}
.footer-link-item:last-child {
    margin-right: 0;
}
.footer-link-item a {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    color: #fff;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
}
.footer-link-item a:hover {
    opacity: 0.5;
}
@media screen and (max-width: 1200px) {
    .footer {
        border-top: none;
    }
    .footer-company {
        padding: 0;
    }
    .footer-company .inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .footer-wrap:first-of-type {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: .40rem;
    }
    .footer-wrap:last-of-type {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .footer-logo {
        margin-right: 0;
        margin-bottom: .30rem;
    }
    .footer-logo a img {
        width: 200px;
    }
    .footer-info {
        color: #000;
    }
    .footer-name {
        font-size: 0.17rem;
        font-weight: 500;
        letter-spacing: 0.1em;
        line-height: 120%;
        margin-bottom: .16rem;
    }
    .footer-name span {
        color: #5d75ac;
		font-size: .14rem;
    }
    .footer-address {
        font-size: 0.14rem;
        font-weight: 300;
        letter-spacing: 0.05em;
        line-height: 160%;
        font-style: normal;
    }
    .footer-tel {
        font-size: 0.14rem;
        font-weight: 300;
        letter-spacing: 0.05em;
        line-height: 160%;
    }
    .footer-tel-txt {
        display: block;
        padding-top: .20rem;
        font-size: 0.12rem;
        font-weight: 300;
        letter-spacing: 0em;
        line-height: 160%;
    }
    .footer-nav-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: .20rem;
        width: auto;
        border-bottom: 1px solid #DDDDDD;
    }
    .footer-nav-item {
        margin-right: 0;
        margin-bottom: 0;
        text-align: center;
        border-top: 1px solid #DDDDDD;
    }
    .footer-nav-item a {
        display: block;
        padding: .24rem 0;
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
        color: #181818;
        -webkit-transition: opacity 0.5s ease;
        -o-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
    }
    .footer-nav-item a:hover {
        opacity: 0.5;
    }
    .footer-nav-item:nth-child(6), .footer-nav-item:last-child {
        margin-right: 0;
    }
    .footer-nav-item.gaibu a::after {
        content: " ";
        width: 12px;
        height: 10px;
        display: inline-block;
        margin: 0 0 0 5px;
        background: url(../images/gaibu.svg) no-repeat;
    }
    .footer-sns-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding-bottom: .20rem;
    }
    .footer-sns-item {
        margin-right: .30rem;
    }
    .footer-sns-item:nth-child(1) {
        width: 1rem;
    }
    .footer-sns-item:nth-child(2) {
        width: .24rem;
    }
    .footer-shop {
        background: #F3F4FA;
        padding: .20rem 0;
    }
    .footer-shop-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .footer-shop-item {
        margin-right: 40px;
    }
    .footer-shop-item:last-child {
        margin-right: 0;
    }
    .footer-link {
        background: #333;
        padding: 16px 0;
    }
    .footer-link-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .footer-link-item {
        margin-right: 30px;
    }
    .footer-link-item:last-child {
        margin-right: 0;
    }
    .footer-link-item a {
        font-size: 11px;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
        color: #fff;
        -webkit-transition: opacity 0.5s ease;
        -o-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
    }
    .footer-link-item a:hover {
        opacity: 0.5;
    }
}




/* --------------------------------
 * article（トップページ用のスタイルシート）
 * -------------------------------- */
.hero {
    position: relative;
    width: 100%;
    height: 100vh;
    background-image: url("../images/index/main_bg_pc.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.hero-catch {
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0.35em;
    line-height: 200%;
    color: #fff;
    text-align: center;
}
.hero-txt {
    position: absolute;
    top: 200px;
    right: 200px;
    z-index: 10;
}
.scroll {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 120%;
    color: #fff;
    text-decoration: none;
    position: absolute;
    left: 30px;
    bottom: 0;
    z-index: 2;
}
.scroll-txt {
    display: block;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
.scroll-line {
    width: 1px;
    height: 64px;
    display: block;
    margin: 30px auto 0;
    overflow: hidden;
    position: relative;
}
.scroll-line::after {
    content: " ";
    width: 100%;
    height: 100%;
    display: block;
    background: #fff;
    position: absolute;
    -webkit-animation: scroll 2s infinite ease 0.5s;
    animation: scroll 2s infinite ease 0.5s;
}
.reservation {
    margin-bottom: 150px;
}
.reservation .inner {
    background: #F3F4FA;
}
.reservation .inner .title-box {
    width: 280px;
    height: 100%;
    /*min-height: 237px;*/
    min-height: 255px;
    float: left;
    background: #5E76AC;
    position: relative;
}
.reservation .inner .title-box .title {
    padding-top: 100px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 120%;
    color: #fff;
    text-align: center;
    position:static;
}
.reservation .inner .title-box .title:before {
    content: " "attr(data-title);
    margin-bottom: 15px;
    display: block;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.15em;
    line-height: 120%;
    font-family: 'Josefin Sans', sans-serif;
}
.reservation .inner .form_box {
    width: 920px;
    padding: 50px 0 40px 35px;
    float: left;
}
.reservation .inner .form_box .date-box {
    margin-bottom: 45px;
    font-size: 0;
}
.reservation .inner .form_box .date-box ul {
    width: 632px;
    margin-right: 40px;
    font-size: 0;
    display: inline-block;
    vertical-align: top;
}
.reservation .inner .form_box .date-box ul li {
    margin-right: 40px;
    padding-right: 15px;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    position: relative;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 120%;
}
.reservation .inner .form_box .date-box ul li:nth-child(1) {
    width: 170px;
}
.reservation .inner .form_box .date-box ul li:nth-child(2) {
    width: 170px;
}
.reservation .inner .form_box .date-box ul li:nth-child(3) {
    width: auto;
    padding-right: 0;
}
.reservation .inner .form_box .date-box ul li:nth-child(4) {
    width: auto;
    padding-right: 0;
}
.reservation .inner .form_box .date-box ul li:last-child {
    margin-right: 0;
}
.reservation .inner .form_box .date-box ul li p {
    margin-bottom: 15px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 180%;
}
.reservation .inner .form_box .date-box ul li input {
    width: 60px;
    display: inline-block;
    vertical-align: top;
    border: none;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 120%;
    text-align: center;
    background: none;
}
.reservation .inner .form_box .date-box ul li input:nth-child(2) {
    width: 32px;
    margin-left: -5px;
}
.reservation .inner .form_box .date-box ul li input:nth-child(3) {
    width: 32px;
    margin-left: -5px;
}
.reservation .inner .form_box .date-box ul li .ui-datepicker-trigger {
    width: 100%;
    height: 30px;
    display: block;
    border: none;
    position: absolute;
    font-size: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url("../images/index/ico_calendar.png") no-repeat center right;
	background-size: 20px auto;
}
.reservation .inner .form_box .date-box ul li .select {
    display: inline-block;
    vertical-align: top;
    position: relative;
}
.reservation .inner .form_box .date-box ul li .select select {
    width: 50px;
    display: block;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 120%;
    border: none;
    background-image: none;
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.reservation .inner .form_box .date-box ul li .select:after {
    content: " ";
    width: 9px;
    height: 9px;
    display: block;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: rotate(45deg) translateY(-80%);
    -ms-transform: rotate(45deg) translateY(-80%);
    transform: rotate(45deg) translateY(-80%);
}
.reservation .inner .form_box .date-box .search_btn {
    display: inline-block;
    vertical-align: top;
    position: relative;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    cursor: pointer;
}
.reservation .inner .form_box .date-box .search_btn:hover {
    opacity: 0.5;
}
.reservation .inner .form_box .date-box .search_btn button {
    width: 180px;
    padding: 20px 0;
    border: 1px solid;
    display: block;
    border: 1px solid #5E76AC;
    color: #5E76AC;
    text-indent: 20px;
    background: none;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 120%;
    cursor: pointer;
}
.reservation .inner .form_box .date-box .search_btn::before {
    content: " ";
    width: 16px;
    height: 16px;
    display: block;
    background: url("../images/index/ico_search.png") no-repeat center;
    background-size: contain;
    position: absolute;
    top: calc(50% - 8px);
    left: 45px;
}
.reservation .inner .form_box .btn-list::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}
.reservation .inner .form_box .btn-list ul {
    width: 520px;
    float: left;
    font-size: 0;
}
.reservation .inner .form_box .btn-list ul li {
    margin-right: 30px;
    display: inline-block;
}
.reservation .inner .form_box .btn-list ul li a {
    display: block;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 180%;
    border-bottom: 1px solid #000;
    padding-bottom: 7px;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
}
.reservation .inner .form_box .btn-list ul li a:hover {
    opacity: 0.5;
}
.reservation .inner .form_box .btn-list ul li:last-child {
    margin-right: 0;
}
.reservation .inner .form_box .btn-list dl {
    width: 300px;
    margin-right: 35px;
    float: right;
}
.reservation .inner .form_box .btn-list dl::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}
.reservation .inner .form_box .btn-list dl dt {
    width: 112px;
    padding: 5px 5px;
    border: 1px solid #000;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 180%;
    text-align: center;
    float: left;
}
.reservation .inner .form_box .btn-list dl dd {
    width: 180px;
    float: right;
}
.reservation .inner .form_box .btn-list dl dd a {
    display: block;
    vertical-align: top;
    text-align: right;
    font-size: 21px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 140%;
}
.reservation .inner .form_box .btn-list dl dd a::before {
    content: " ";
    width: 17px;
    height: 17px;
    margin: 7px 10px 0 0;
    display: inline-block;
    vertical-align: top;
    background: url("../images/index/ico_tel.png") no-repeat;
	background-size: contain;
}
.reservation .inner::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}


 .reservation .inner .form_box .btn-list dl dd p {
    display: block;
    vertical-align: top;
    text-align: center;
    padding-left:37px;
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 140%;
}


.reservation-top {
    background: #F3F4FA;
    margin-bottom: 150px;
}
.reservation-top .inner .title-box {
    width: 280px;
    height: 100%;
    /*min-height: 260px;*/
    min-height: 273px;
    margin-bottom: -25px;
    float: left;
    background: #5E76AC;
    position: relative;
}
.reservation-top .inner .title-box .title {
    padding-top: 100px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 120%;
    color: #fff;
    text-align: center;
}
.reservation-top .inner .title-box .title:before {
    content: " "attr(data-title);
    margin-bottom: 15px;
    display: block;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.15em;
    line-height: 120%;
    font-family: 'Josefin Sans', sans-serif;
}
.reservation-top .inner .title-box:after {
    content: " ";
    width: 260px;
    height: 25px;
    display: block;
    background: #475B8B;
    position: absolute;
    z-index: -1;
    bottom: 0;
    right: -10px;
    -webkit-transform: skew(-35deg);
    -ms-transform: skew(-35deg);
    transform: skew(-35deg);
}
.reservation-top .inner .form_box {
    width: 920px;
    padding: 50px 0 40px 35px;
    float: left;
}
.reservation-top .inner .form_box .date-box {
    margin-bottom: 45px;
    font-size: 0;
}
.reservation-top .inner .form_box .date-box ul {
    width: 632px;
    margin-right: 40px;
    font-size: 0;
    display: inline-block;
    vertical-align: top;
}
.reservation-top .inner .form_box .date-box ul li {
    margin-right: 40px;
    padding-right: 15px;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    position: relative;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 120%;
}
.reservation-top .inner .form_box .date-box ul li:nth-child(1) {
    width: 170px;
}
.reservation-top .inner .form_box .date-box ul li:nth-child(2) {
    width: 170px;
}
.reservation-top .inner .form_box .date-box ul li:nth-child(3) {
    width: auto;
    padding-right: 0;
}
.reservation-top .inner .form_box .date-box ul li:nth-child(4) {
    width: auto;
    padding-right: 0;
}
.reservation-top .inner .form_box .date-box ul li:last-child {
    margin-right: 0;
}
.reservation-top .inner .form_box .date-box ul li p {
    margin-bottom: 15px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 180%;
}
.reservation-top .inner .form_box .date-box ul li input {
    width: auto;
    display: inline-block;
    vertical-align: top;
    border: none;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 120%;
    text-align: center;
    background: none;
}
.reservation-top .inner .form_box .date-box ul li input:nth-child(1) {
    width: 64px;
}
.reservation-top .inner .form_box .date-box ul li input:nth-child(2) {
    width: 32px;
    margin-left: -5px;
}
.reservation-top .inner .form_box .date-box ul li input:nth-child(3) {
    width: 32px;
    margin-left: -5px;
}
.reservation-top .inner .form_box .date-box ul li .ui-datepicker-trigger {
    width: 100%;
    height: 30px;
    display: block;
    border: none;
    position: absolute;
    font-size: 0;
    right: 0;
    top: 36px;
    left: 0;
    background: url("../images/index/ico_calendar.png") no-repeat center right;
	background-size: 20px auto;
}
.reservation-top .inner .form_box .date-box ul li .select {
    display: inline-block;
    vertical-align: top;
    position: relative;
}
.reservation-top .inner .form_box .date-box ul li .select select {
    width: 50px;
    display: block;
    font-size: 24px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 120%;
    border: none;
    background-image: none;
    background: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.reservation-top .inner .form_box .date-box ul li .select:after {
    content: " ";
    width: 9px;
    height: 9px;
    display: block;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    position: absolute;
    top: 50%;
    right: 15px;
    -webkit-transform: rotate(45deg) translateY(-80%);
    -ms-transform: rotate(45deg) translateY(-80%);
    transform: rotate(45deg) translateY(-80%);
}
.reservation-top .inner .form_box .date-box .search_btn {
    display: inline-block;
    vertical-align: top;
    position: relative;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    cursor: pointer;
}
.reservation-top .inner .form_box .date-box .search_btn:hover {
    opacity: 0.5;
}
.reservation-top .inner .form_box .date-box .search_btn button {
    width: 180px;
    padding: 20px 0;
    border: 1px solid;
    display: block;
    border: 1px solid #5E76AC;
    color: #5E76AC;
    text-indent: 20px;
    background: none;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 120%;
    cursor: pointer;
}
.reservation-top .inner .form_box .date-box .search_btn::before {
    content: " ";
    width: 16px;
    height: 16px;
    display: block;
    background: url("../images/index/ico_search.png") no-repeat center;
    background-size: contain;
    position: absolute;
    top: calc(50% - 8px);
    left: 45px;
}
.reservation-top .inner .form_box .btn-list::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}
.reservation-top .inner .form_box .btn-list ul {
    width: 420px;
    float: left;
    font-size: 0;
}
.reservation-top .inner .form_box .btn-list ul li {
    margin-right: 30px;
    display: inline-block;
}
.reservation-top .inner .form_box .btn-list ul li a {
    display: block;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 180%;
    border-bottom: 1px solid #000;
    padding-bottom: 7px;
    -webkit-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
}
.reservation-top .inner .form_box .btn-list ul li a:hover {
    opacity: 0.5;
}
.reservation-top .inner .form_box .btn-list ul li:last-child {
    margin-right: 0;
}
.reservation-top .inner .form_box .btn-list dl {
    width: 300px;
    /* margin-right: 35px; */
    margin-right:140px;
    float: right;
}
.reservation-top .inner .form_box .btn-list dl::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}
.reservation-top .inner .form_box .btn-list dl dt {
    width: 112px;
    padding: 5px 5px;
    border: 1px solid #000;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 180%;
    text-align: center;
    float: left;
}
.reservation-top .inner .form_box .btn-list dl dd {
    width: 180px;
    float: right;
}
.reservation-top .inner .form_box .btn-list dl dd a {
    display: block;
    vertical-align: top;
    text-align: right;
    font-size: 21px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 140%;
}
.reservation-top .inner .form_box .btn-list dl dd a::before {
    content: " ";
    width: 17px;
    height: 17px;
    margin: 7px 10px 0 0;
    display: inline-block;
    vertical-align: top;
    background: url("../images/index/ico_tel.png");
	background-size: 17px auto;
}
.reservation-top .inner::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}


.reservation-top .inner .form_box .btn-list dl dd p {
    display: block;
    vertical-align: top;
    text-align: center;
    padding-left:37px;
    font-size: 12px;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 140%;
}
.reservation-top .inner .form_box .come p{
    font-size: 12px;
    /* text-align: right; */
    margin-top: 8px;
    line-height: 170%;
    width:440px;
    float: right;
}

.news {
/*    margin-bottom: 150px;*/
margin-bottom:100px;
    margin-top: 100px;
}
.news .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.news .inner .news-wrap {
    position: relative;
/*    width: 500px;*/
/*    margin-right: 50px;*/
width:1000px;
margin: 0 auto;
}
.news .inner .news-wrap h2 {
    margin-bottom: 36px;
}
.news .inner .news-wrap .more {
    position: absolute;
    top: 0;
    right: 0;
}
.news .inner .news-wrap .more a {
    display: block;
    padding-bottom: 6px;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    font-family: 'Josefin Sans', sans-serif;
    color: #000;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}
.news .inner .news-wrap .more a:after {
    content: " ";
    width: 100%;
    height: 1px;
    display: block;
    background: #000;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}
.news .inner .news-wrap .more a:hover {
    color: #5d75ac;
}
.news .inner .news-wrap .more a:hover:after {
    background: #5d75ac;
}
.news .inner .news-wrap dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-top: 1px solid #DDDDDD;
    padding: 18px 0;
}
.news .inner .news-wrap dl:last-child {
    border-bottom: 1px solid #DDDDDD;
}
.news .inner .news-wrap dl dt {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    margin-right: 60px;
}
.news .inner .news-wrap dl dd {
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 160%;
}

.news .inner .news-wrap dl dd span {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 160%;
    
}

.news .inner .news-wrap dl dd a {
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 160%;
    border-bottom: 1px solid #000;
}

.news .inner .facebook-wrap {
    width: 300px;
    margin-right: 50px;
}
.news .inner .twitter-wrap {
    width: 300px;
}

/* 20200604追記 */
.main .news .inner .news_list li {
  padding: 25px 0;
  border-bottom: 1px solid #ddd;
  margin-bottom: 15px;
}

.main .news .inner .news_list li a time {
  display: block;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 120%;
  color: #181800;
  margin-bottom: 13px;
}

.main .news .inner .news_list li a p {
  display: block;
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 0.08em;
  line-height: 120%;
  color: #181800;
}

.coming {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 130px;
}
.coming h2 {
    margin-bottom: 50px;
}
.coming .txt-wrap {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-right: 150px;
    padding-top: 50px;
}
.coming .txt-wrap-inner {
    width: 620px;
    background-image: url("../images/index/coming_bg_pc.png");
    background-repeat: no-repeat;
    background-size: auto;
    background-position: center bottom;
    padding-bottom: 290px;
}
.coming .txt-wrap-inner .catch {
    font-size: 21px;
    font-weight: 400;
    letter-spacing: 0.25em;
    line-height: 180%;
    margin-bottom: 50px;
}
.coming .txt-wrap-inner .txt {
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 220%;
}
.coming .img-wrap {
    width: 50%;
}
.coming .img-wrap p {
    width: 100%;
    height: 620px;
    position: relative;
    overflow: hidden;
	max-width: 960px;
}
.coming .img-wrap p img {
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: inherit;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.roomtype {
    /*margin-bottom: 80px;*/
    margin-bottom: 150px;/*20191220nishi追加*/
    padding-top: 20px;
    margin-top: -20px;
}
.roomtype .inner {
    position: relative;
}
.roomtype .inner h2 {
    position: absolute;
    top: -16px;
    left: 0;
}
.roomtype .slider-wrap {
    margin-bottom: 50px;
    background-image: url("../images/index/bg_pink_pc.png");
    background-repeat: no-repeat;
    background-size: 67.71%;
    background-position: left top;
    padding-top: 80px;
}
.roomtype .roomtype-slider .slick-slide {
    width: 1280px;
}
.roomtype .roomtype-slider .slick-dots {
    top: 560px;
}
.roomtype .roomtype-slider-wrap {
    padding: 0 40px;
}
.roomtype .room-image {
    margin-bottom: 50px;
}


.roomtype .room-detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.roomtype .room-detail .txt-wrap {
    width: 450px;
}
.roomtype .room-detail .txt-wrap h3 {
    margin-bottom: 36px;
}
.roomtype .room-detail .txt-wrap p {
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 190%;
}
.roomtype .room-detail .img-wrap ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.roomtype .room-detail .img-wrap ul li {
    width: 160px;
}
.roomtype .room-detail .img-wrap ul li .img {
    position: relative;
    margin-bottom: 10px;
}
.roomtype .room-detail .img-wrap ul li .img img {
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}
.roomtype .room-detail .img-wrap ul li .img img:hover {
    opacity: 0.5;
}
.roomtype .room-detail .img-wrap ul li .img::after {
    content:" " ;
    display: block;
    width: 25px;
    height: 25px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 10;
	background: url(../images/index/icon-plus.png) no-repeat;
	background-size: contain;
}
.roomtype .room-detail .img-wrap ul li p {
    text-align: center;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 120%;
    color: #000;
}
.roomtype .room-detail .img-wrap ul li p::after {
    content: " "attr(data-title);
    display: block;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 120%;
    color: #999;
    margin-top: 6px;
}
.roomtype .room-detail .img-wrap ul li:not(:last-child) {
    margin-right: 20px;
}


    /*20200326追記*/

.roomwrap {
    width: 100%;
    }


.roomwrap .btn {
    width: 320px;
    margin-right: auto;
    margin-left: auto;
    
}
.roomwrap .btn a {
    display: block;
    background: #5d75ac;
    padding: 20px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    text-align: center;
    color: #fff;
    text-decoration: none;
    position: relative;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}
/*20200326追記*/


.feature {
    position: relative;
    margin-bottom: 150px;
}
.feature::before {
    content: url(../images/index/feature_bg_01_pc.png);
    display: block;
    position: absolute;
    top: 0;
    right: -300px;
    z-index: -10;
}
.feature::after {
    content: url(../images/index/feature_bg_02_pc.png);
    display: block;
    position: absolute;
    bottom: -125px;
    left: -200px;
    z-index: -10;
}
.feature h2 {
    text-align: center;
    margin-bottom: 60px;
}
.feature h3 {
    margin-bottom: 36px;
}
.feature .feature-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
	    margin-top: -100px;
    padding-top: 100px;
}


.feature .feature-wrap:not(:last-child) {
    margin-bottom: 80px;
}
.feature .feature-wrap.feature-wrap-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.feature .feature-wrap .txt-wrap {
    width: 570px;
    padding-top: 36px;
}
.feature .feature-wrap .txt-wrap .catch {
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 190%;
    margin-bottom: 16px;
}
.feature .feature-wrap .txt-wrap .txt {
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 190%;
    margin-bottom: 48px;
}
.feature .feature-wrap .txt-wrap .btn {
    width: 320px;
}
.feature .feature-wrap .txt-wrap .btn a {
    display: block;
    background: #5d75ac;
    padding: 20px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    text-align: center;
    color: #fff;
    text-decoration: none;
    position: relative;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}
.feature .feature-wrap .txt-wrap .btn a::after {
    content: " ";
    display: block;
    position: absolute;
    top: calc(50% - 5px);
    right: 20px;
    width: 12px;
    height: 10px;
    margin: 0 0 0 5px;
    background: url(../images/gaibu_wh.svg) no-repeat;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}
.feature .feature-wrap .txt-wrap .btn a:hover {
    opacity: 0.5;
}

/*20200326追記*/
.feature .feature-wrap .txt-wrap .btn2 {
    width: 320px;
}
.feature .feature-wrap .txt-wrap .btn2 a {
    display: block;
    background: #5d75ac;
    padding: 20px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    text-align: center;
    color: #fff;
    text-decoration: none;
    position: relative;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}

.feature .feature-wrap .txt-wrap .btn2 a:hover {
    opacity: 0.5;
}
/*20200326追記*/

.feature .feature-wrap .img-wrap {
    width: 570px;
}
.restaurant {
    margin-bottom: 150px;
    padding-top: 20px;
    margin-top: -20px;
}
.restaurant .inner {
    position: relative;
}
.restaurant .inner h2 {
    text-align: right;
    position: absolute;
    top: -16px;
    right: 0;
}
.restaurant h3 {
    position: relative;
    margin-bottom: 40px;
}
.restaurant h3 span {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 180%;
}
.restaurant h3::before {
    content: url(../images/logo_sunsea_pc.png);
    display: block;
    width: 100px;
    height: 41px;
    position: absolute;
    top: -50px;
    left: 0;
}
.restaurant .restaurant-wrap::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}
.restaurant .restaurant-image {
    float: left;
    width: 48.96%;
    margin-right: -140px;
    margin-top: 60px;
    position: relative;
    z-index: 10;
}
.restaurant .restaurant-image-wrap {
    width: 100%;
    height: 600px;
    position: relative;
    overflow: hidden;
}
.restaurant .restaurant-image-wrap img {
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: inherit;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.restaurant .restaurant-txt {
    float: left;
    width: calc(100% - 48.96% + 140px);
    padding: 80px 0 20px 240px;
    background-image: url("../images/index/bg_pink_pc.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left top;
}
.restaurant .restaurant-txt .catch {
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 190%;
    margin-bottom: 16px;
}
.restaurant .restaurant-txt .txt {
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 190%;
    margin-bottom: 36px;
}
.restaurant .slider-wrap {
    width: 540px;
    margin-left: -10px;
}
.restaurant .restaurant-slider .slick-slide {
    width: 180px;
}
.restaurant .restaurant-slider .slick-dots {
    bottom: -84px;
    text-align: left;
}
.restaurant .restaurant-slider-wrap {
    padding: 0 10px;
}
.restaurant .menu-txt {
    text-align: center;
}
.restaurant .menu-image {
    margin-bottom: 10px;
}
.restaurant .menu-name {
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 120%;
    margin-bottom: 6px;
}
.restaurant .menu-price {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 120%;
    color: #999;
}



/*20200326追記*/
.restaurant .btn {
    width: 320px;
    position: relative;
    bottom: -60px;
    left: 10px;
}
.restaurant .btn a {
    display: block;
    background: #5d75ac;
    padding: 20px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    text-align: center;
    color: #fff;
    text-decoration: none;
    position: relative;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}
/*20200326追記*/






.access {
    margin-bottom: 80px;
    padding-top: 20px;
    margin-top: -20px;
}
.access .inner {
    position: relative;
}
.access .inner h2 {
    position: absolute;
    top: -16px;
    left: 55px;
}
.access .access-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.access .map-wrap {
    width: 50%;
    height: auto;
}
.access .map-wrap iframe {
    width: 100%;
    height: 100%;
}
.access .txt-wrap {
    width: 50%;
    background: #F3F4FA;
    padding: 50px 0 50px 60px;
}
.access .txt-wrap dl {
    margin-bottom: 24px;
}
.access .txt-wrap dl dt {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 120%;
    margin-bottom: 8px;
}
.access .txt-wrap dl dd {
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 160%;
}
.access .txt-wrap dl dd ul {
    margin-top: 18px;
}
.access .txt-wrap dl dd ul li {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 160%;
}
.access .txt-wrap .info span {
    color: #5d75ac;
}
.access .txt-wrap .info dt {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 120%;
}
.access .txt-wrap .info dd {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 160%;
}

.access .txt-wrap dd a{
	width: 220px;
    padding: 12px 10px;
    display: block;
    border: 1px solid #5E76AC;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 120%;
    text-align: center;
    color: #5E76AC;
}

.access .img-wrap {
    background: url(../images/index/access_bg_pc.jpg) no-repeat;
    background-attachment: fixed;
    height: 580px;
    background-size: cover;
	background-position: center bottom;
    width: 100%;
    position: relative;
    margin-top: 50px;
}
@media screen and (max-width: 1440px) {
.access .img-wrap {
    background: url(../images/index/access_bg_1440.jpg) no-repeat;
    background-attachment: fixed;
    height: 400px;
    background-size: 100%;
    width: 100%;
    position: relative;
    margin-top: 50px;
}
}

.access .img-wrap p {
    width: 100%;
    height: 700px;
    position: relative;
    overflow: hidden;
}
.access .img-wrap p img {
    width: 100%;
    min-height: 700px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


/*20200326追記*/
.access .btn {
    width: 320px;
    margin-top: 40px;
}
.access .btn a {
    display: block;
    background: #5d75ac;
    padding: 20px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    text-align: center;
    color: #fff;
    text-decoration: none;
    position: relative;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}

.access .btn a:hover {
    opacity: 0.5;
}
/*20200326追記*/



@media screen and (max-width: 1200px) {
    .main {
        overflow: hidden;
    }
    .hero {
        background-image: url("../images/index/main_bg_sp.jpg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        position: relative;
    }
    .hero-catch {
        font-size: 0.16rem;
        font-weight: 400;
        letter-spacing: 0.35em;
        line-height: 190%;
        text-align: right;
        position: absolute;
        top: 1.60rem;
        right: .10rem;
    }
    .hero-txt {
        width: 1.52rem;
        height: 1.52rem;
        position: absolute;
        /* top: auto; */
        /* bottom: -.8rem; */
        top: .7rem;
        right: .1rem;
    }
    .reservation {
        margin-bottom: 150px;
    }
    .reservation .inner {
        margin: 0;
        background: #F3F4FA;
    }
    .reservation .inner .title-box {
        width: 100%;
        height: 100%;
        margin-bottom: 0;
        float: none;
        min-height: 0;
        background: #5E76AC;
        position: relative;
    }
    .reservation .inner .title-box .title {
        padding: .2rem 0;
        font-size: 0.12rem;
        font-weight: 400;
        letter-spacing: 0.15em;
        line-height: 120%;
        color: #fff;
        text-align: center;
    }
    .reservation .inner .title-box .title:before {
        content: " "attr(data-title);
        margin-bottom: .05rem;
        display: block;
        font-size: 0.2rem;
        font-weight: 600;
        letter-spacing: 0.15em;
        line-height: 120%;
        font-family: 'Josefin Sans', sans-serif;
    }
    .reservation .inner .title-box:after {
        content: none;
        width: 0;
        height: 0;
        display: block;
        background: #475B8B;
        position: absolute;
        z-index: -1;
        bottom: 0;
        right: 0;
        -webkit-transform: skew(0deg);
        -ms-transform: skew(0deg);
        transform: skew(0deg);
    }
    .reservation .inner .form_box {
        width: auto;
        padding: .3rem .2rem .4rem;
        float: none;
    }
    .reservation .inner .form_box .date-box {
        margin-bottom: .2rem;
        font-size: 0;
    }
    .reservation .inner .form_box .date-box ul {
        width: auto;
        margin-right: 0;
        font-size: 0;
        display: block;
        vertical-align: top;
    }
    .reservation .inner .form_box .date-box ul li {
        margin: 0 0 .2rem;
        display: block;
        vertical-align: middle;
        font-size: 0.18rem;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 120%;
        text-align: left;
        position: relative;
    }
    .reservation .inner .form_box .date-box ul li:nth-child(1) {
        width: 100%;
        padding: 0;
    }
    .reservation .inner .form_box .date-box ul li:nth-child(2) {
        width: 100%;
        padding: 0;
    }
    .reservation .inner .form_box .date-box ul li:last-child {
        margin-right: 0;
    }
    .reservation .inner .form_box .date-box ul li p {
        margin-bottom: .05rem;
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 180%;
    }
    .reservation .inner .form_box .date-box ul li .date {
        width: 100%;
        padding: .14rem .25rem .14rem .14rem;
        border: 1px solid #000;
    }
    .reservation .inner .form_box .date-box ul li .date input {
        width: auto;
        display: inline-block;
        vertical-align: top;
        text-align: center;
        padding: 0;
        border: none;
        font-size: 0.18rem;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 120%;
    }
    .reservation .inner .form_box .date-box ul li .date input:nth-child(2) {
        width: auto;
        margin-left: -5px;
    }
    .reservation .inner .form_box .date-box ul li .date input:nth-child(3) {
        width: auto;
        margin-left: -5px;
    }
    .reservation .inner .form_box .date-box ul li .ui-datepicker-trigger {
        width: 100%;
        height: .5rem;
        display: block;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        background: url("../images/index/ico_calendar.png") no-repeat center right 0.15rem;
        background-size: .16rem auto;
    }
    .reservation .inner .form_box .date-box ul li .select {
        display: block;
        vertical-align: top;
        position: relative;
    }
    .reservation .inner .form_box .date-box ul li .select select {
        width: 100%;
        display: block;
        padding: .14rem .25rem .14rem .14rem;
        border: 1px solid #000;
        font-size: 0.18rem;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 120%;
        text-align: left;
        background-image: none;
        background: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    .reservation .inner .form_box .date-box ul li .select:after {
        content: " ";
        width: .09rem;
        height: .09rem;
        display: block;
        border-right: 1px solid #000;
        border-bottom: 1px solid #000;
        position: absolute;
        top: 50%;
        right: .15rem;
        -webkit-transform: rotate(45deg) translateY(-80%);
        -ms-transform: rotate(45deg) translateY(-80%);
        transform: rotate(45deg) translateY(-80%);
    }
    .reservation .inner .form_box .date-box ul li:nth-child(3) {
        width: 1.62rem;
        display: inline-block;
        margin-right: .2rem;
    }
    .reservation .inner .form_box .date-box ul li:nth-child(4) {
        width: 1.62rem;
        display: inline-block;
    }
    .reservation .inner .form_box .date-box .search_btn {
        display: block;
        vertical-align: top;
        position: relative;
        -webkit-transition: opacity 0.5s ease;
        -o-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
        cursor: pointer;
    }
    .reservation .inner .form_box .date-box .search_btn:hover {
        opacity: 0.5;
    }
    .reservation .inner .form_box .date-box .search_btn button {
        width: 100%;
        padding: .17rem 0;
        margin-top: .05rem;
        border: 1px solid;
        display: block;
        border: 1px solid #5E76AC;
        color: #5E76AC;
        text-indent: .15rem;
        background: none;
        font-size: 0.15rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 120%;
        cursor: pointer;
    }
    .reservation .inner .form_box .date-box .search_btn::before {
        content: " ";
        width: .14rem;
        height: .15rem;
        display: block;
        background: url("../images/index/ico_search.png") no-repeat center;
        background-size: contain;
        position: absolute;
        top: calc(50% - .075rem);
        left: 1.25rem;
    }
    .reservation .inner .form_box .btn-list::after {
        content: "";
        display: block;
        height: 0;
        clear: both;
    }
    .reservation .inner .form_box .btn-list ul {
        width: auto;
        margin-bottom: .2rem;
        float: none;
        font-size: 0;
        text-align: center;
    }
    .reservation .inner .form_box .btn-list ul li {
        width: 50%;
        margin: 0 0 .15rem;
        display: inline-block;
    }
    .reservation .inner .form_box .btn-list ul li a {
        display: inline-block;
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 180%;
        border-bottom: 1px solid #000;
        padding-bottom: .05rem;
        -webkit-transition: opacity 0.5s ease;
        -o-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
    }
    .reservation .inner .form_box .btn-list ul li a:hover {
        opacity: 0.5;
    }
    .reservation .inner .form_box .btn-list ul li:last-child {
        margin-right: 0;
    }
    .reservation .inner .form_box .btn-list dl {
        width: auto;
        margin-right: 0;
        float: none;
    }
    .reservation .inner .form_box .btn-list dl::after {
        content: "";
        display: block;
        height: 0;
        clear: both;
    }
    .reservation .inner .form_box .btn-list dl dt {
        width: 1.4rem;
        padding: .03rem;
        border: 1px solid #000;
        font-size: 0.11rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 180%;
        text-align: center;
        float: left;
    }
    .reservation .inner .form_box .btn-list dl dd {
        width: 2rem;
        float: right;
    }
    .reservation .inner .form_box .btn-list dl dd a {
        display: block;
        vertical-align: top;
        text-align: right;
        font-size: 0.24rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 120%;
    }
    
    .reservation .inner .form_box .btn-list dl dd a::before {
        content: " ";
        width: .17rem;
        height: .17rem;
        margin: .07rem .1rem 0 0;
        display: inline-block;
        vertical-align: top;
        background: url("../images/index/ico_tel.png") no-repeat;
		background-size: contain;
    }
    .reservation .inner::after {
        content: "";
        display: block;
        height: 0;
        clear: both;
    }
    
    
   
   
    
    
    
    .reservation-top {
        background: #F3F4FA;
        margin-bottom: .6rem;
    }
    .reservation-top .inner {
        margin: 0;
        background: #F3F4FA;
    }
    .reservation-top .inner .title-box {
        width: 100%;
        height: 100%;
        margin-bottom: 0;
        float: none;
        min-height: 0;
        background: #5E76AC;
        position: relative;
    }
    .reservation-top .inner .title-box .title {
        padding: .2rem 0;
        font-size: 0.12rem;
        font-weight: 400;
        letter-spacing: 0.15em;
        line-height: 120%;
        color: #fff;
        text-align: center;
    }
    .reservation-top .inner .title-box .title:before {
        content: " "attr(data-title);
        margin-bottom: .05rem;
        display: block;
        font-size: 0.2rem;
        font-weight: 600;
        letter-spacing: 0.15em;
        line-height: 120%;
        font-family: 'Josefin Sans', sans-serif;
    }
    .reservation-top .inner .title-box:after {
        content: none;
        width: 0;
        height: 0;
        display: block;
        background: #475B8B;
        position: absolute;
        z-index: -1;
        bottom: 0;
        right: 0;
        -webkit-transform: skew(0deg);
        -ms-transform: skew(0deg);
        transform: skew(0deg);
    }
    .reservation-top .inner .form_box {
        width: auto;
        padding: .3rem .2rem .4rem;
        float: none;
    }
    .reservation-top .inner .form_box .date-box {
        margin-bottom: .2rem;
        font-size: 0;
    }
    .reservation-top .inner .form_box .date-box ul {
        width: auto;
        margin-right: 0;
        font-size: 0;
        display: block;
        vertical-align: top;
    }
    .reservation-top .inner .form_box .date-box ul li {
        margin: 0 0 .2rem;
        display: block;
        vertical-align: middle;
        font-size: 0.18rem;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 120%;
        text-align: left;
        position: relative;
    }
    .reservation-top .inner .form_box .date-box ul li:nth-child(1) {
        width: 100%;
        padding: 0;
    }
    .reservation-top .inner .form_box .date-box ul li:nth-child(2) {
        width: 100%;
        padding: 0;
    }
    .reservation-top .inner .form_box .date-box ul li:last-child {
        margin-right: 0;
    }
    .reservation-top .inner .form_box .date-box ul li p {
        margin-bottom: .05rem;
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 180%;
    }
    .reservation-top .inner .form_box .date-box ul li .date {
        width: 100%;
        padding: .14rem .25rem .14rem .14rem;
        border: 1px solid #000;
    }
    .reservation-top .inner .form_box .date-box ul li .date input {
        width: auto;
        display: inline-block;
        vertical-align: top;
        text-align: center;
        padding: 0;
        border: none;
        font-size: 0.18rem;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 120%;
    }
    .reservation-top .inner .form_box .date-box ul li .date input:nth-child(1) {
        width: auto;
    }
    .reservation-top .inner .form_box .date-box ul li .date input:nth-child(2) {
        width: auto;
        margin-left: -5px;
    }
    .reservation-top .inner .form_box .date-box ul li .date input:nth-child(3) {
        width: auto;
        margin-left: -5px;
    }
    .reservation-top .inner .form_box .date-box ul li .ui-datepicker-trigger {
        width: 100%;
        height: .5rem;
        display: block;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        background: url("../images/index/ico_calendar.png") no-repeat center right 0.15rem;
        background-size: .16rem auto;
    }
    .reservation-top .inner .form_box .date-box ul li .select {
        display: block;
        vertical-align: top;
        position: relative;
    }
    .reservation-top .inner .form_box .date-box ul li .select select {
        width: 100%;
        display: block;
        padding: .14rem .25rem .14rem .14rem;
        border: 1px solid #000;
        font-size: 0.18rem;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 120%;
        text-align: left;
        background-image: none;
        background: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }
    .reservation-top .inner .form_box .date-box ul li .select:after {
        content: " ";
        width: .09rem;
        height: .09rem;
        display: block;
        border-right: 1px solid #000;
        border-bottom: 1px solid #000;
        position: absolute;
        top: 50%;
        right: .15rem;
        -webkit-transform: rotate(45deg) translateY(-80%);
        -ms-transform: rotate(45deg) translateY(-80%);
        transform: rotate(45deg) translateY(-80%);
    }
    .reservation-top .inner .form_box .date-box ul li:nth-child(3) {
        width: 1.62rem;
        display: inline-block;
        margin-right: .2rem;
    }
    .reservation-top .inner .form_box .date-box ul li:nth-child(4) {
        width: 1.62rem;
        display: inline-block;
    }
    .reservation-top .inner .form_box .date-box .search_btn {
        display: block;
        vertical-align: top;
        position: relative;
        -webkit-transition: opacity 0.5s ease;
        -o-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
        cursor: pointer;
    }
    .reservation-top .inner .form_box .date-box .search_btn:hover {
        opacity: 0.5;
    }
    .reservation-top .inner .form_box .date-box .search_btn button {
        width: 100%;
        padding: .17rem 0;
        margin-top: .05rem;
        border: 1px solid;
        display: block;
        border: 1px solid #5E76AC;
        color: #5E76AC;
        text-indent: .15rem;
        background: none;
        font-size: 0.15rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 120%;
        cursor: pointer;
    }
    .reservation-top .inner .form_box .date-box .search_btn::before {
        content: " ";
        width: .14rem;
        height: .15rem;
        display: block;
        background: url("../images/index/ico_search.png") no-repeat center;
        background-size: contain;
        position: absolute;
        top: calc(50% - .075rem);
        left: 1.25rem;
    }
    .reservation-top .inner .form_box .btn-list::after {
        content: "";
        display: block;
        height: 0;
        clear: both;
    }
    .reservation-top .inner .form_box .btn-list ul {
        width: auto;
        margin-bottom: .2rem;
        float: none;
        font-size: 0;
        text-align: center;
    }
    .reservation-top .inner .form_box .btn-list ul li {
        width: 50%;
        margin: 0 0 .15rem;
        display: inline-block;
    }
    .reservation-top .inner .form_box .btn-list ul li a {
        display: inline-block;
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 180%;
        border-bottom: 1px solid #000;
        padding-bottom: .05rem;
        -webkit-transition: opacity 0.5s ease;
        -o-transition: opacity 0.5s ease;
        transition: opacity 0.5s ease;
    }
    .reservation-top .inner .form_box .btn-list ul li a:hover {
        opacity: 0.5;
    }
    .reservation-top .inner .form_box .btn-list ul li:last-child {
        margin-right: 0;
    }
    .reservation-top .inner .form_box .btn-list dl {
        width: auto;
        margin-right: 0;
        float: none;
    }
    .reservation-top .inner .form_box .btn-list dl::after {
        content: "";
        display: block;
        height: 0;
        clear: both;
    }
    .reservation-top .inner .form_box .btn-list dl dt {
        width: 1.4rem;
        padding: .03rem;
        border: 1px solid #000;
        font-size: 0.11rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 180%;
        text-align: center;
        float: left;
    }
    .reservation-top .inner .form_box .btn-list dl dd {
        width: 2rem;
        float: right;
    }
    .reservation-top .inner .form_box .btn-list dl dd a {
        display: block;
        vertical-align: top;
        text-align: right;
        font-size: 0.24rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 120%;
    }
    .reservation-top .inner .form_box .btn-list dl dd a::before {
        content: " ";
        width: .17rem;
        height: .17rem;
        margin: .07rem .1rem 0 0;
        display: inline-block;
        vertical-align: top;
        background: url("../images/index/ico_tel.png") no-repeat;
		 background-size: contain;
    }
    .reservation-top .inner::after {
        content: "";
        display: block;
        height: 0;
        clear: both;
    }
    .news {
        margin-bottom: .60rem;
        margin-top: .60rem;
    }
    .news .inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .news .inner .news-wrap {
        width: auto;
        margin-right: 0;
        margin-bottom: .40rem;
    }
    .news .inner .news-wrap h2 {
        margin-bottom: .20rem;
    }
    .news .inner .news-wrap .more a {
        padding-bottom: .06rem;
        font-size: 0.12rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
    }
    .news .inner .news-wrap dl {
        padding: .14rem 0;
    }
    .news .inner .news-wrap dl dt {
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 160%;
        margin-right: .16rem;
    }
    .news .inner .news-wrap dl dd {
        font-size: 0.13rem;
        font-weight: 300;
        letter-spacing: 0.05em;
        line-height: 160%;
    }
    
    .news .inner .news-wrap dl dd span {
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 160%;
    
    }
    
    .news .inner .news-wrap dl dd a {
        font-size: 0.13rem;
        font-weight: 300;
        letter-spacing: 0.05em;
        line-height: 160%;
        border-bottom: 1px solid #000;
    }
    
    .news .inner .facebook-wrap {
        width: 100%;
        max-width: 500px;
        margin: 0 auto .40rem;
    }
    .news .inner .twitter-wrap {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }

    .main .news .inner .news_list li {
        padding: .2rem 0;
        border-bottom: 1px solid #ddd;
        margin-bottom: .15rem;
    }

    .main .news .inner .news_list li a time {
        display: block;
        font-size: 0.14rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
        color: #181800;
        margin-bottom: .1rem;
    }

    .main .news .inner .news_list li a p {
        display: block;
        font-size: 0.16rem;
        font-weight: 400;
        letter-spacing: 0.08em;
        line-height: 160%;
        color: #181800;
    }

    .coming {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin-bottom: .60rem;
    }
    .coming h2 {
        margin-bottom: .24rem;
    }
    .coming .txt-wrap {
        width: 100%;
        margin-right: 0;
        padding-top: .36rem;
        text-align: center;
    }
    .coming .txt-wrap-inner {
        padding: 0 .20rem;
        width: auto;
        background-image: url("../images/index/coming_bg_sp.png");
        background-repeat: no-repeat;
        background-size: 3.00rem;
        background-position: center bottom;
        padding-bottom: 0.5rem;
    }
    .coming .txt-wrap-inner .catch {
        font-size: 0.17rem;
        font-weight: 400;
        letter-spacing: 0.15em;
        line-height: 180%;
        margin-bottom: .36rem;
    }
    .coming .txt-wrap-inner .txt {
        font-size: 0.14rem;
        font-weight: 300;
        letter-spacing: 0.1em;
        line-height: 220%;
        text-align: left;
    }
    .coming .img-wrap {
        width: 100%;
    }
    .coming .img-wrap p {
        width: 100%;
        height: auto;
    }
    .coming .img-wrap p img {
        width: 100%;
        max-width: none;
        position: relative;
        left: auto;
        top: auto;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    .roomtype {
        /*margin-bottom: 0;*/
        padding-top: 20px;
        margin-top: -20px;
        margin-bottom: 1.00rem;/*20191220nishi変更*/
    }
    .roomtype .inner {
        position: relative;
    }
    .roomtype .inner h2 {
        position: absolute;
        top: -0.12rem;
        left: 0;
    }
    .roomtype .slider-wrap {
        margin-bottom: 50px;
        background-image: url("../images/index/bg_pink_sp.png");
        background-repeat: no-repeat;
        background-size: 2.80rem;
        background-position: left top;
        padding-top: .26rem;
    }
    .roomtype .roomtype-slider .slick-slide {
        width: 2.94rem;
    }
    .roomtype .roomtype-slider .slick-dots {
        top: 1.80rem;
    }
    .roomtype .roomtype-slider-wrap {
        padding: 0 .15rem;
    }
    .roomtype .room-image {
        margin-bottom: 50px;
    }
    .roomtype .room-image img {
        width: 100%;
    }
    
    
    .roomtype .room-detail {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .roomtype .room-detail .txt-wrap {
        width: auto;
        /*margin-bottom: 0.3rem;*/
        margin-bottom: 0.05rem;
    }
    .roomtype .room-detail .txt-wrap h3 {
        margin-bottom: .28rem;
    }
    .roomtype .room-detail .txt-wrap p {
        font-size: 0.15rem;
        font-weight: 300;
        letter-spacing: 0.1em;
        line-height: 180%;
    }
    .roomtype .room-detail .img-wrap ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .roomtype .room-detail .img-wrap ul li {
        width: 46%;
        margin-bottom: 0.28rem;
    }
    .roomtype .room-detail .img-wrap ul li .img {
        position: relative;
        margin-bottom: 10px;
    }
    .roomtype .room-detail .img-wrap ul li .img img {
        width: 100%;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease;
    }
    .roomtype .room-detail .img-wrap ul li .img img:hover {
        opacity: 0.5;
    }
    .roomtype .room-detail .img-wrap ul li .img::after {
        content: " ";
        display: block;
        width: 25px;
        height: 25px;
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 10;
		background: url(../images/index/icon-plus.png) no-repeat;
		background-size: contain;
    }
    .roomtype .room-detail .img-wrap ul li p {
        text-align: center;
        font-size: 0.1rem;
        font-weight: 400;
        letter-spacing: 0.1em;
        line-height: 120%;
        color: #000;
    }
    .roomtype .room-detail .img-wrap ul li p::after {
        content: " "attr(data-title);
        display: block;
        font-size: 0.1rem;
        font-weight: 400;
        letter-spacing: 0.1em;
        line-height: 120%;
        color: #999;
        margin-top: 6px;
    }
    .roomtype .room-detail .img-wrap ul li:not(:last-child) {
        margin-right: 0;
    }
    
    
    /*202003226追記*/
    
    .roomwrap {
    width: 100%;
    }

     .roomtype .btn {
        width: 2.4rem;
        margin-bottom: 0.80rem;
         margin-left: auto;
         margin-right: auto;
    }
    .roomtype .btn a {
        display: block;
        background: #5d75ac;
        padding: 0.20rem;
        font-size: 0.15rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
        text-align: center;
        color: #fff;
        text-decoration: none;
        position: relative;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease;
    }
   /*202003226追記*/ 
    
    

    
    
    
    
    .feature {
        position: relative;
        margin-bottom: 1.10rem;
    }
    .feature::before {
        content: url(../images/index/feature_bg_01_sp.png);
        display: block;
        width: 50%;
        position: absolute;
        top: 1.10rem;
        right: 0;
        z-index: -10;
    }
    .feature::after {
        content: url(../images/index/feature_bg_02_sp.png);
        display: block;
        width: 50%;
        position: absolute;
        bottom: -0.40rem;
        left: -1.20rem;
        z-index: -10;
    }
    .feature h2 {
        text-align: center;
        margin-bottom: .30rem;
    }
    .feature h3 {
        margin-bottom: .30rem;
    }
    .feature .feature-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
		margin-top: -.5rem;
    	padding-top: .5rem;
    }
    .feature .feature-wrap:not(:last-child) {
        margin-bottom: .20rem;
    }
    .feature .feature-wrap.feature-wrap-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
    .feature .feature-wrap .txt-wrap {
        width: auto;
        padding-top: .30rem;
    }
    .feature .feature-wrap .txt-wrap .catch {
        font-size: 0.17rem;
        font-weight: 400;
        letter-spacing: 0.1em;
        line-height: 190%;
        margin-bottom: 16px;
    }
    .feature .feature-wrap .txt-wrap .txt {
        font-size: 0.15rem;
        font-weight: 300;
        letter-spacing: 0.1em;
        line-height: 190%;
        margin-bottom: 0.40rem;
    }
    .feature .feature-wrap .txt-wrap .btn {
        width: 2.4rem;
    }
    .feature .feature-wrap .txt-wrap .btn a {
        display: block;
        background: #5d75ac;
        padding: 0.20rem;
        font-size: 0.15rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
        text-align: center;
        color: #fff;
        text-decoration: none;
        position: relative;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease;
    }
    .feature .feature-wrap .txt-wrap .btn a::after {
        content: " ";
        display: block;
        position: absolute;
        top: calc(50% - 5px);
        right: 20px;
        width: .12rem;
        height: .10rem;
        margin: 0 0 0 5px;
        background: url(../images/gaibu_wh.svg) no-repeat;
        background-size: .12rem .10rem;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease;
    }
    /*.feature .feature-wrap .txt-wrap .btn a:hover {
        opacity: 0.5;
    }*/
    
/*202003226追記*/
     .feature .feature-wrap .txt-wrap .btn2 {
        width: 2.4rem;
         margin-bottom: 0.80rem;
    }
    .feature .feature-wrap .txt-wrap .btn2 a {
        display: block;
        background: #5d75ac;
        padding: 0.20rem;
        font-size: 0.15rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
        text-align: center;
        color: #fff;
        text-decoration: none;
        position: relative;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease;
    }
    
   /*202003226追記*/ 
    
    
    
    .feature .feature-wrap .img-wrap {
        width: auto;
    }
    .feature .feature-wrap .img-wrap img {
        width: 100%;
    }
    .restaurant {
        margin-bottom: 1.30rem;
        padding-top: 20px;
        /*margin-top: -20px;*//*20191220nishi変更*/
    }
    .restaurant .inner {
        position: relative;
    }
    .restaurant .inner h2 {
        text-align: right;
        position: absolute;
        top: -0.12rem;
        right: 0;
        z-index: 1;
    }
    .restaurant h3 {
        position: relative;
        margin: 0 .2rem 40px;
        padding-top: .48rem;
    }
    .restaurant h3 span {
        font-size: 0.18rem;
        font-weight: 500;
        letter-spacing: 0.1em;
        line-height: 180%;
    }
    .restaurant h3::before {
        content: "";
        display: block;
        width: 1.00rem;
        height: .41rem;
        background-image: url(../images/logo_sunsea_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: 0;
        left: 0;
    }
    .restaurant .restaurant-wrap::after {
        content: "";
        display: block;
        height: 0;
        clear: both;
    }
    .restaurant .restaurant-image {
        float: none;
        width: auto;
        margin-right: 0;
        margin-top: 0;
        margin-bottom: .30rem;
        padding-top: .28rem;
        position: relative;
        z-index: 0;
        background-image: url("../images/index/bg_pink_sp.png");
        background-repeat: no-repeat;
        background-size: 2.80rem;
        background-position: right top;
    }
    .restaurant .restaurant-image-wrap {
        width: 3.40rem;
        height: auto;
        position: relative;
        overflow: hidden;
    }
    .restaurant .restaurant-image-wrap img {
        width: 100%;
        height: auto;
        min-width: 100%;
        min-height: 100%;
        max-width: none;
        position: relative;
        left: auto;
        top: auto;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    .restaurant .restaurant-txt {
        float: none;
        width: auto;
        padding: 0;
        background: none;
    }
    .restaurant .restaurant-txt .catch {
        font-size: 0.17rem;
        font-weight: 400;
        letter-spacing: 0.1em;
        line-height: 190%;
        margin: 0 .2rem .16rem;
    }
    .restaurant .restaurant-txt .txt {
        font-size: 0.15rem;
        font-weight: 300;
        letter-spacing: 0.1em;
        line-height: 190%;
        margin: 0 .2rem .36rem;
    }
    .restaurant .slider-wrap {
        width: auto;
        margin-left: 0;
    }
    .restaurant .restaurant-slider .slick-slide {
        width: 2.94rem;
    }
    .restaurant .restaurant-slider .slick-dots {
        bottom: -0.28rem;
        text-align: center;
    }
    .restaurant .restaurant-slider-wrap {
        padding: 0 .15rem;
    }
    .restaurant .menu-txt {
        text-align: center;
    }
    .restaurant .menu-image {
        margin-bottom: 10px;
    }
    .restaurant .menu-image img {
        width: 100%;
    }
    .restaurant .menu-name {
        font-size: 0.14rem;
        font-weight: 400;
        letter-spacing: 0.1em;
        line-height: 120%;
        margin-bottom: 6px;
    }
    .restaurant .menu-price {
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.1em;
        line-height: 120%;
        color: #999;
    }
    
    
    /*202003226追記*/
     .restaurant .btn {
        width: 2.4rem;
        margin-bottom: 0.80rem;
         margin-left: auto;
         margin-right: auto;
    }
    .restaurant .btn a {
        display: block;
        background: #5d75ac;
        padding: 0.20rem;
        font-size: 0.15rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
        text-align: center;
        color: #fff;
        text-decoration: none;
        position: relative;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease;
    }
    
   /*202003226追記*/ 
    
    
    .access {
        margin-bottom: .60rem;
        padding-top: 20px;
        margin-top: -20px;
    }
    .access .inner {
        position: relative;
    }
    .access .inner h2 {
        position: relative;
        top: .12rem;
        left: auto;
        text-align: center;
    }
    .access .access-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .access .map-wrap {
        width: 100%;
        height: 747px;
    }
    .access .map-wrap iframe {
        width: 100%;
        height: 747px;
    }
    .access .txt-wrap {
        width: 100%;
        background: #F3F4FA;
        padding: .4rem .2rem .1rem;
    }
    .access .txt-wrap dl {
        margin-bottom: .30rem;
    }
    .access .txt-wrap dl dt {
        font-size: 0.14rem;
        font-weight: 500;
        letter-spacing: 0.05em;
        line-height: 120%;
        margin-bottom: .10rem;
    }
    .access .txt-wrap dl dd {
        font-size: 0.13rem;
        font-weight: 300;
        letter-spacing: 0.1em;
        line-height: 160%;
    }
    .access .txt-wrap dl dd ul {
        margin-top: .20rem;
    }
    .access .txt-wrap dl dd ul li {
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 160%;
    }
    .access .txt-wrap .info span {
        color: #5d75ac;
		font-size:.14rem;
    }
    .access .txt-wrap .info dt {
        font-size: 0.17rem;
        font-weight: 500;
        letter-spacing: 0.1em;
        line-height: 120%;
    }
    .access .txt-wrap .info dd {
        font-size: 0.14rem;
        font-weight: 300;
        letter-spacing: 0.05em;
        line-height: 160%;
    }
    
    .access .txt-wrap dd a {
    width: 2rem;
    padding: .12rem .1rem;
    display: block;
    border: 1px solid #5E76AC;
    font-size: 0.13rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 120%;
    text-align: center;
    color: #5E76AC;
    }
     .access .img-wrap {
        background: url(../images/index/access_bg_sp.jpg) no-repeat center top;
        background-size: auto 3.2rem;
        width: 100%;
        height: 3.2rem;
        position: relative;
    }
    .access .img-wrap p {
        width: 100%;
        height: auto;
        position: relative;
        overflow: hidden;
    }
    .access .img-wrap p img {
        width: 100%;
        min-height: auto;
        height: auto;
        position: relative;
        top: 0;
        left: 0;
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    
    /*202003226追記*/
     .access .btn {
        width: 2.4rem;
        margin-bottom: 0.40rem;
    }
    .access .btn a {
        display: block;
        background: #5d75ac;
        padding: 0.20rem;
        font-size: 0.15rem;
        font-weight: 400;
        letter-spacing: 0.05em;
        line-height: 120%;
        text-align: center;
        color: #fff;
        text-decoration: none;
        position: relative;
        -webkit-transition: 0.5s ease;
        -o-transition: 0.5s ease;
        transition: 0.5s ease;
    }
   /*202003226追記*/ 
    
}

















/* --------------------------------
 * next（下層ページ用のスタイルシート）
 * -------------------------------- */

.privacy .inner {
    margin-top: 95px;
    padding: 50px 0;
}
.privacy-ttl {
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 180%;
    margin-bottom: 50px;
}
.privacy-item-ttl {
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 190%;
    margin-bottom: 16px;
}
.privacy-item-txt {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 180%;
    margin-bottom: 48px;
}
.privacy-item-txt a {
    text-decoration: underline;
}
.privacy-item-txt a:hover {
    text-decoration: none;
}
.privacy-list {
    margin-top: 10px;
    padding-left: 20px;
}
.privacy-list-item {
    list-style: disc;
}
.privacy-contact-item-ttl {
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.1em;
}
.privacy-contact-item-txt {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 190%;
    margin-bottom: 24px;
}
/* --------------------------------
 * slider
 * -------------------------------- */
.slider {
    width: 1080px;
    margin: 20px auto 26px;
}
.lity-wrap .popup {
    width: 1000px;
    padding: 60px 60px 90px;
    background: #fff;
}
.lity-wrap .popup::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
}
.lity-wrap .popup-slider {
    float: left;
    width: 410px;
    height: 380px;
    margin-right: 60px;
}
.lity-wrap .popup-detail {
    float: left;
    width: 410px;
    padding-top: 22px;
}
.lity-wrap .popup-detail ul.tag {
    margin-top: 24px;
    margin-bottom: 20px;
    font-size: 0;
}
.lity-wrap .popup-detail ul.tag li {
    display: inline-block;
    padding: 2px 14px;
    margin-right: 10px;
    margin-bottom: 10px;
    border: 1px solid #5d75ac;
    color: #5d75ac;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 190%;
}
.lity-wrap .popup-detail ul.tag li:last-child {
    margin-right: 0;
}
.lity-wrap .popup-detail .catch {
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 190%;
    margin-bottom: 16px;
    margin-top: 40px;/*20191220nisi追加*/
}
.lity-wrap .popup-detail .txt {
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 190%;
    margin-bottom: 48px;
}
.lity-wrap .popup-detail ul.spec {
    text-align: right;
}
.lity-wrap .popup-detail ul.spec li {
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 190%;
}
.lity-wrap .slick-dotted.slick-slider {
    margin-bottom: 0;
}
.lity-wrap .slick-dots {
    bottom: -30px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
@media screen and (max-width: 1200px) {
    .lity-wrap {
        margin: .46rem .20rem;
    }
    .lity-wrap .popup {
        width: auto;
        height: 100%;
        padding: .20rem;
        background: #fff;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
    }
    .lity-wrap .popup::after {
        content: "";
        display: block;
        height: 0;
        clear: both;
    }
    .lity-wrap .popup-slider {
        float: none;
        width: auto;
        height: auto;
        margin-right: 0;
        margin: 0 auto;
    }
    .lity-wrap .popup-detail {
        float: none;
        width: auto;
        padding-top: .50rem;
    }
    .lity-wrap .popup-detail ul.tag {
        margin-top: 24px;
        margin-bottom: 30px;
        font-size: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .lity-wrap .popup-detail ul.tag::after {
        content: "";
        display: block;
        width: 30%;
    }
    .lity-wrap .popup-detail ul.tag li {
        display: inline-block;
        width: 30%;
        text-align: center;
        padding: 0;
        margin-right: 0;
        margin-bottom: .10rem;
        border: 1px solid #5d75ac;
        color: #5d75ac;
        font-size: 0.11rem;
        font-weight: 400;
        letter-spacing: 0em;
        line-height: 200%;
    }
    .lity-wrap .popup-detail ul.tag li:last-child {
        margin-right: 0;
    }
    .lity-wrap .popup-detail .catch {
        font-size: 0.17rem;
        font-weight: 400;
        letter-spacing: 0.1em;
        line-height: 150%;
        margin-bottom: .16rem;
        margin-top: .3rem/*20191220nisi追加*/
    }
    .lity-wrap .popup-detail .txt {
        font-size: 0.14rem;
        font-weight: 300;
        letter-spacing: 0.1em;
        line-height: 180%;
        margin-bottom: .30rem;
    }
    .lity-wrap .popup-detail ul.spec {
        text-align: right;
    }
    .lity-wrap .popup-detail ul.spec li {
        font-size: 0.13rem;
        font-weight: 400;
        letter-spacing: 0.1em;
        line-height: 190%;
    }
    .lity-wrap .slick-dotted.slick-slider {
        margin-bottom: 0;
    }
    .lity-wrap .slick-dots {
        bottom: -30px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}
/* --------------------------------
 * keyframes
 * -------------------------------- */
@-webkit-keyframes scroll {
    0% {
        top: -100%;
    }
    100% {
        top: 100%;
    }
}
@keyframes scroll {
    0% {
        top: -100%;
    }
    100% {
        top: 100%;
    }
}
@-webkit-keyframes blurIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 15%, 0);
        transform: translate3d(0, 15%, 0);
        -webkit-filter: blur(8px);
        filter: blur(8px);
    }
    70% {
        opacity: 0.7;
        -webkit-filter: blur(3px);
        filter: blur(3px);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
        -webkit-filter: blur(0);
        filter: blur(0);
    }
}
@keyframes blurIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 15%, 0);
        transform: translate3d(0, 15%, 0);
        -webkit-filter: blur(8px);
        filter: blur(8px);
    }
    70% {
        opacity: 0.7;
        -webkit-filter: blur(3px);
        filter: blur(3px);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
        -webkit-filter: blur(0);
        filter: blur(0);
    }
}
.blurIn {
    -webkit-animation-name: blurIn;
    animation-name: blurIn;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both, none;
    animation-fill-mode: both, none;
}
/* --------------------------------
 * animation
 * -------------------------------- */
.main_box {
    -webkit-transition: opacity 1.5s cubic-bezier(0.63, 0.01, 0.25, 1);
    -o-transition: opacity 1.5s cubic-bezier(0.63, 0.01, 0.25, 1);
    transition: opacity 1.5s cubic-bezier(0.63, 0.01, 0.25, 1);
    opacity: 0;
}
.main_box.animated {
    opacity: 1;
}
.main_box h2 {
    opacity: 0;
    -webkit-transition: 1.5s cubic-bezier(0.63, 0.01, 0.25, 1) 0.8s;
    -o-transition: 1.5s cubic-bezier(0.63, 0.01, 0.25, 1) 0.8s;
    transition: 1.5s cubic-bezier(0.63, 0.01, 0.25, 1) 0.8s;
    -webkit-transition-property: opacity, color, text-shadow, -webkit-transform;
    transition-property: opacity, color, text-shadow, -webkit-transform;
    -o-transition-property: opacity, color, text-shadow, transform;
    transition-property: opacity, color, text-shadow, transform;
    transition-property: opacity, color, text-shadow, transform, -webkit-transform;
    color: transparent;
    text-shadow: 20px 0 0 rgba(0, 0, 0, 0.5), -20px 0 0 rgba(0, 0, 0, 0.2);
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
}
.main_box.animated h2 {
    opacity: 1;
    color: #333333;
    text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}
.main_box p {
    opacity: 0;
    -webkit-transition: 1.5s cubic-bezier(0.63, 0.01, 0.25, 1) 1.3s;
    -o-transition: 1.5s cubic-bezier(0.63, 0.01, 0.25, 1) 1.3s;
    transition: 1.5s cubic-bezier(0.63, 0.01, 0.25, 1) 1.3s;
    -webkit-transition-property: opacity, color, text-shadow, -webkit-transform;
    transition-property: opacity, color, text-shadow, -webkit-transform;
    -o-transition-property: opacity, color, text-shadow, transform;
    transition-property: opacity, color, text-shadow, transform;
    transition-property: opacity, color, text-shadow, transform, -webkit-transform;
    color: transparent;
    text-shadow: 30px 0 0 rgba(0, 0, 0, 0.5);
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
}
.main_box.animated p {
    opacity: 1;
    color: #fff;
    text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}
.index h3 {
    opacity: 0;
    -webkit-transition: 1.5s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    -o-transition: 1.5s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    transition: 1.5s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    -webkit-transition-property: opacity, color, text-shadow, -webkit-transform;
    transition-property: opacity, color, text-shadow, -webkit-transform;
    -o-transition-property: opacity, color, text-shadow, transform;
    transition-property: opacity, color, text-shadow, transform;
    transition-property: opacity, color, text-shadow, transform, -webkit-transform;
    color: transparent;
    text-shadow: 20px 0 0 rgba(0, 0, 0, 0.5), -20px 0 0 rgba(0, 0, 0, 0.2);
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px);
}
.index .animated h3 {
    opacity: 1;
    color: #333333;
    text-shadow: 0 0 0 rgba(0, 0, 0, 0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}
.search_box .tab, .search_box .tab_body {
    -webkit-transition: opacity 1s ease 0.5s;
    -o-transition: opacity 1s ease 0.5s;
    transition: opacity 1s ease 0.5s;
    opacity: 0;
}
.search_box .tab.animated, .search_box .tab_body.animated {
    opacity: 1;
}
.pick_box ul {
    -webkit-transition: opacity 1s ease 0.5s;
    -o-transition: opacity 1s ease 0.5s;
    transition: opacity 1s ease 0.5s;
    opacity: 0;
}
.pick_box.animated ul {
    opacity: 1;
}
.philosophy_box .philosophy_slider {
    -webkit-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    -o-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    -o-transition-property: opacity, transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    opacity: 0;
    position: relative;
    -webkit-transform: translateX(-5%);
    -ms-transform: translateX(-5%);
    transform: translateX(-5%);
}
.philosophy_box .philosophy_slider.animated {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}
.philosophy_box .philosophy_slider:before {
    content: " ";
    width: 100%;
    height: 100%;
    display: block;
    background: #b8a5a3;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    opacity: 0.6;
    pointer-events: none;
    -webkit-transform: translateX(10%);
    -ms-transform: translateX(10%);
    transform: translateX(10%);
    -webkit-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    -o-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    -o-transition-property: opacity, transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
}
.philosophy_box .philosophy_slider.animated:before {
    opacity: 0;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}
.philosophy_box .text_box {
    -webkit-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    -o-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.1s;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    -o-transition-property: opacity, transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    opacity: 0;
    position: relative;
    -webkit-transform: translateX(-5%);
    -ms-transform: translateX(-5%);
    transform: translateX(-5%);
}
.philosophy_box .text_box.animated {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}
.philosophy_box .text_box h3 {
    -webkit-transition-delay: 0.6s;
    -o-transition-delay: 0.6s;
    transition-delay: 0.6s;
}
.philosophy_box .text_box p {
    -webkit-transition: opacity 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.8s;
    -o-transition: opacity 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.8s;
    transition: opacity 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.8s;
    opacity: 0;
}
.philosophy_box .text_box.animated p {
    opacity: 1;
}
.total_box li {
    -webkit-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1);
    -o-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1);
    transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1);
    -webkit-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
    opacity: 0;
}
.total_box li.animated {
    opacity: 1;
}
main .total_box .img li span {
    display: block;
    -webkit-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.8s;
    -o-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.8s;
    transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.8s;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    -o-transition-property: opacity, transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    opacity: 0;
    -webkit-transform: perspective(1000px) rotate3d(0, 10, 0, 15deg);
    transform: perspective(1000px) rotate3d(0, 10, 0, 15deg);
}
main .total_box .img li.animated span {
    opacity: 1;
    -webkit-transform: perspective(1000px) rotate3d(0, 10, 0, 0deg);
    transform: perspective(1000px) rotate3d(0, 10, 0, 0deg);
}
.total_box li:after {
    content: " ";
    -webkit-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1);
    -o-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1);
    transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1);
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    -o-transition-property: opacity, transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    width: 100%;
    height: 100%;
    display: block;
    background: #b8a5a3;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
    -webkit-transform: perspective(1000px) rotate3d(0, 10, 0, 15deg);
    transform: perspective(1000px) rotate3d(0, 10, 0, 15deg);
}
.total_box li.animated:after {
    opacity: 0;
    -webkit-transform: perspective(1000px) rotate3d(0, 10, 0, 0deg);
    transform: perspective(1000px) rotate3d(0, 10, 0, 0deg);
}
.info_box ul li {
    -webkit-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.5s;
    -o-transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.5s;
    transition: 1s cubic-bezier(0.63, 0.01, 0.25, 1) 0.5s;
    -webkit-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
    opacity: 0;
}
.info_box ul.animated li {
    opacity: 1;
}
/* --------------------------------
 * scroll-effect
 * -------------------------------- */
.fade-in-up {
    opacity: 0;
    -webkit-transform: translate3D(0, 30px, 0);
    -ms-transform: translate3D(0, 30px, 0);
    transform: translate3D(0, 30px, 0);
    -webkit-transition: opacity 1.2s cubic-bezier(0, 0.56, 0.44, 1), -webkit-transform 1.2s cubic-bezier(0, 0.56, 0.44, 1);
    transition: opacity 1.2s cubic-bezier(0, 0.56, 0.44, 1), -webkit-transform 1.2s cubic-bezier(0, 0.56, 0.44, 1);
    -o-transition: opacity 1.2s cubic-bezier(0, 0.56, 0.44, 1), transform 1.2s cubic-bezier(0, 0.56, 0.44, 1);
    transition: opacity 1.2s cubic-bezier(0, 0.56, 0.44, 1), transform 1.2s cubic-bezier(0, 0.56, 0.44, 1);
    transition: opacity 1.2s cubic-bezier(0, 0.56, 0.44, 1), transform 1.2s cubic-bezier(0, 0.56, 0.44, 1), -webkit-transform 1.2s cubic-bezier(0, 0.56, 0.44, 1);
}
.fade-in-right {
    opacity: 0;
    -webkit-transform: translate3D(30px, 0, 0);
    -ms-transform: translate3D(30px, 0, 0);
    transform: translate3D(30px, 0, 0);
    -webkit-transition: opacity 1.2s cubic-bezier(0, 0.56, 0.44, 1), -webkit-transform 1.2s cubic-bezier(0, 0.56, 0.44, 1);
    transition: opacity 1.2s cubic-bezier(0, 0.56, 0.44, 1), -webkit-transform 1.2s cubic-bezier(0, 0.56, 0.44, 1);
    -o-transition: opacity 1.2s cubic-bezier(0, 0.56, 0.44, 1), transform 1.2s cubic-bezier(0, 0.56, 0.44, 1);
    transition: opacity 1.2s cubic-bezier(0, 0.56, 0.44, 1), transform 1.2s cubic-bezier(0, 0.56, 0.44, 1);
    transition: opacity 1.2s cubic-bezier(0, 0.56, 0.44, 1), transform 1.2s cubic-bezier(0, 0.56, 0.44, 1), -webkit-transform 1.2s cubic-bezier(0, 0.56, 0.44, 1);
}
.is-inview .fade-in-up {
    opacity: 1;
    -webkit-transform: translate3D(0, 0, 0);
    -ms-transform: translate3D(0, 0, 0);
    transform: translate3D(0, 0, 0);
}
.is-inview .fade-in-right {
    opacity: 1;
    -webkit-transform: translate3D(0, 0, 0);
    -ms-transform: translate3D(0, 0, 0);
    transform: translate3D(0, 0, 0);
}
.is-inview .effect-delay-0 {
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
}
.is-inview .effect-delay-100 {
    -webkit-transition-delay: 0.1s;
    -o-transition-delay: 0.1s;
    transition-delay: 0.1s;
}
.is-inview .effect-delay-200 {
    -webkit-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
}
.is-inview .effect-delay-300 {
    -webkit-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s;
}
.is-inview .effect-delay-400 {
    -webkit-transition-delay: 0.4s;
    -o-transition-delay: 0.4s;
    transition-delay: 0.4s;
}
.is-inview .effect-delay-500 {
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    transition-delay: 0.5s;
}
.is-inview .effect-delay-600 {
    -webkit-transition-delay: 0.6s;
    -o-transition-delay: 0.6s;
    transition-delay: 0.6s;
}
.is-inview .effect-delay-700 {
    -webkit-transition-delay: 0.7s;
    -o-transition-delay: 0.7s;
    transition-delay: 0.7s;
}
.is-inview .effect-delay-800 {
    -webkit-transition-delay: 0.8s;
    -o-transition-delay: 0.8s;
    transition-delay: 0.8s;
}
.is-inview .effect-delay-900 {
    -webkit-transition-delay: 0.9s;
    -o-transition-delay: 0.9s;
    transition-delay: 0.9s;
}
.is-inview .effect-delay-1000 {
    -webkit-transition-delay: 1.0s;
    -o-transition-delay: 1.0s;
    transition-delay: 1.0s;
}
/* --------------------------------
 * utility
 * -------------------------------- */
.d-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
@media only screen and (min-width: 1201px) {
    html .sp {
        display: none !important;
    }
}
@media only screen and (max-width: 1200px) {
    html .pc {
        display: none !important;
    }
}
.t-left {
    text-align: left;
}
.t-right {
    text-align: right;
}
.t-center {
    text-align: center;
}
.mg-auto {
    margin: 0 auto;
}
.mgl-auto {
    margin-left: auto;
}
.mgr-auto {
    margin-right: auto;
}
.mgb5 {
    margin-bottom: 5px;
}
.mgb10 {
    margin-bottom: 10px;
}
.mgb15 {
    margin-bottom: 15px;
}
.mgb20 {
    margin-bottom: 20px;
}
.mgb30 {
    margin-bottom: 30px;
}
.mgb40 {
    margin-bottom: 40px;
}
.mgb60 {
    margin-bottom: 60px;
}
.mb70 {
    margin-bottom: 70px;
}
.mgb80 {
    margin-bottom: 80px;
}
.mgb100 {
    margin-bottom: 100px;
}
.mgb120 {
    margin-bottom: 120px;
}
.mgb150 {
    margin-bottom: 120px;
}


@media screen and (max-width: 1200px) {
	.reservation-top .sp_btn_box,
	.reservation .sp_btn_box,
	.header-sp_btn_box{
		width:100%;		
	}
	.header-sp_btn_box{
		width:calc(100% + .4rem);
		margin:0 -.2rem 0;
	}
	.reservation-top .sp_btn_box ul,
	.reservation .sp_btn_box ul,
	.header-sp_btn_box ul{
		font-size: 0;
	}
	.reservation-top .sp_btn_box ul li,
	.reservation .sp_btn_box ul li,
	.header-sp_btn_box ul li{
		width:50%;
		display: inline-block;
		margin: 0 0 .02rem;
	}
	.reservation-top .sp_btn_box ul li a,
	.reservation .sp_btn_box ul li a,
	.header-sp_btn_box ul li a{
		display: block;
		height:.6rem;
		padding:.18rem .1rem;
		margin-left:1px;
		font-size: .15rem;
		font-weight: 400;
		letter-spacing:0.05em;
		line-height: 160%;
		text-align: center;
		color:#fff;
		background:#485C8C;
	}
	.reservation-top .sp_btn_box ul li:nth-child(odd) a,
	.reservation .sp_btn_box ul li:nth-child(odd) a,
	.header-sp_btn_box ul li:nth-child(odd) a{
		margin-right:1px;
	}
	.reservation-top .sp_btn_box ul li a::before,
	.reservation .sp_btn_box ul li a::before,
	.header-sp_btn_box ul li a::before{
		content: " ";
		width:.16rem;
		height:.17rem;
		display: inline-block;
		vertical-align: middle;
		margin: -.085rem .05rem -.085rem 0;
	}
	.reservation-top .sp_btn_box ul li:nth-child(1) a::before,
	.reservation .sp_btn_box ul li:nth-child(1) a::before,
	.header-sp_btn_box ul li:nth-child(1) a::before{
		background: url("../images/index/ico_plan_wh.png") no-repeat center;
		background-size: contain;
	}
	.reservation-top .sp_btn_box ul li:nth-child(2) a::before,
	.reservation .sp_btn_box ul li:nth-child(2) a::before,

	.header-sp_btn_box ul li:nth-child(2) a::before{
		background: url("../images/index/ico_calendar_wh.png") no-repeat center;
		background-size: contain;
	}
	.reservation-top .sp_btn_box ul li:nth-child(3) a::before,
	.reservation .sp_btn_box ul li:nth-child(3) a::before,
	.header-sp_btn_box ul li:nth-child(3) a::before{
		background: url("../images/index/ico_member_wh.png") no-repeat center;
		background-size: contain;
	}
	.reservation-top .sp_btn_box ul li:nth-child(4) a::before,
	.reservation .sp_btn_box ul li:nth-child(4) a::before,

	.header-sp_btn_box ul li:nth-child(4) a::before{
		background: url("../images/index/ico_inquiry_wh.png") no-repeat center;
		background-size: contain;
	}
	.reservation-top .sp_btn_box > p a,
	.reservation .sp_btn_box > p a,
	.header-sp_btn_box > p a{
		display: block;
		height:.6rem;
		padding:.18rem .1rem;
		font-size: .15rem;
		font-weight: 400;
		letter-spacing:0.05em;
		line-height: 160%;
		text-align: center;
		color:#fff;
		background:#485C8C;
	}
    .sp_btn_box .sptel{
    width: 100%;
    margin-top: .02rem;
    }
	
}





.information{
width: 800px;
border: none;
margin: 60px auto 0;
padding: 0;
}
.information h2{
font-size: 24px;
font-weight: 600;
margin-bottom: 20px;
text-align: center;
}
.information h2 span{
font-size: 14px;
display: block;
margin-top: 8px;
}
.information .txt{
border: solid 1px #5d75ac;
text-align: center;
padding: 32px 40px 24px;
}
.information.info2{
margin-bottom: 100px;
}
.information p{
font-size: 14px;
font-weight: 400;
letter-spacing: .05em;
line-height: 180%;
color: #181800;
text-align: left;
margin-bottom: 16px;
}
.information p strong{
font-weight: 500;
}
.information p .kome{
font-size: 13px;
}
.information p a{
color: #5d75ac;
text-decoration: underline;
}
.information.info2 p{text-align: center;font-size: 18px;}

.information .reserve_area{
    display: flex;
    justify-content: space-between;
    margin-bottom: 32px;
}

.information .reserve_area .btn a{
    width: 248px;
    display: block;
    background: #5d75ac;
    padding: 20px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 120%;
    text-align: center;
    color: #fff;
    text-decoration: none;
    position: relative;
    -webkit-transition: 0.5s ease;
    -o-transition: 0.5s ease;
    transition: 0.5s ease;
}
.information p.reserve_txt{
    text-align: center;
    margin-bottom: 16px;
}

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

.information{
width: auto;
margin: .64rem .2rem 0;
}
.information h2{
font-size: .24rem;
font-weight: 600;
text-align: center;
margin-bottom: .2rem;
}
.information h2 span{
font-size: .14rem;
display: block;
margin-top: .04rem;
}
.information .txt{
border: solid 1px #5d75ac;
text-align: left;
padding: .3rem;
}
.information.info2{
margin-bottom: .64rem;
padding: .3rem 0;
}
.information p{
font-size: .14rem;
font-weight: 400;
letter-spacing: .05em;
line-height: 160%;
color: #181800;
margin-bottom: .08rem;
}
.information p .kome{
font-size: .12rem;
}
.information p a{
color: #5d75ac;
text-decoration: underline;
}

.information.info2 p{
font-size: .14rem;

}
.information .reserve_area{
flex-wrap: wrap;
margin-bottom: .16rem;
}
.information .reserve_area .btn{
    margin-bottom: .08rem;
    width: 48%;
}
.information .reserve_area .btn a{
    width: 100%;
    padding: .16rem;
}
.information p.reserve_txt{
    text-align: left;
    margin-bottom: .16rem;
}
}





@media screen and (min-width: 768px) {
    .br-pc { display:none; }
}


/* 20200615追記 */
.hero.effect .hero-txt {
  opacity: 0;
	transform: translateY(50px);
  transition: all 3s cubic-bezier(0.17, 0.85, 0, 0.95) 0s;
}
.hero.effect.animated .hero-txt {
  opacity: 1;
  transform: translateY(0);
}
.news.effect {
	opacity: 0;
	transform: translateY(50px);
  transition:all 3s cubic-bezier(0.17, 0.85, 0, 0.95) 0.3s;
}
.news.effect.animated {
	opacity: 1;
  transform: translateY(0);
}
.coming.effect {
	opacity: 0;
	transform: translateY(50px);
  transition:all 3s cubic-bezier(0.17, 0.85, 0, 0.95) 0.3s;
}
.coming.effect.animated {
	opacity: 1;
  transform: translateY(0);
}
.roomtype.effect {
	opacity: 0;
	transform: translateY(50px);
  transition:all 3s cubic-bezier(0.17, 0.85, 0, 0.95) 0.3s;
}
.roomtype.effect.animated {
	opacity: 1;
  transform: translateY(0);
}
.reservation.effect {
	opacity: 0;
	transform: translateY(50px);
  transition:all 3s cubic-bezier(0.17, 0.85, 0, 0.95) 0.3s;
}
.reservation.effect.animated {
	opacity: 1;
  transform: translateY(0);
}
.restaurant.effect {
	opacity: 0;
	transform: translateY(50px);
  transition:all 3s cubic-bezier(0.17, 0.85, 0, 0.95) 0.3s;
}
.restaurant.effect.animated {
	opacity: 1;
  transform: translateY(0);
}
.feature.effect {
	opacity: 0;
	transform: translateY(50px);
  transition:all 3s cubic-bezier(0.17, 0.85, 0, 0.95) 0.3s;
}
.feature.effect.animated {
	opacity: 1;
  transform: translateY(0);
}


.index_bn{
width: 800px;
margin: 60px auto 0;
}

@media screen and (max-width: 1200px) {
.index_bn{
width: 100%;
margin: .4rem auto;
padding: 0 .2rem;
}

}

/* 220916 */
.slider_box{
  position: relative;
}
.main-slider div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center left;
  height: 3.2rem;
  margin: 0;
}
.slide_item01 {
  background-image: url(../images/index/main_bg01_sp.jpg);
}
.slide_item02 {
  background-image: url(../images/index/main_bg02_sp.jpg);
}
.slide_item03 {
  background-image: url(../images/index/main_bg03_sp.jpg);
}
.room_slider_box .slick-slide{
  margin: 0 2.5px;
}

/* 以下PC */
@media screen and (min-width: 768px){
.main-slider div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center left;
  height: 100vh;
  margin: 0;
}
.slide_item01 {
  background-image: url(../images/index/main_bg01_pc.jpg);
}
.slide_item02 {
  background-image: url(../images/index/main_bg02_pc.jpg);
}
.slide_item03 {
  background-image: url(../images/index/main_bg03_pc.jpg);
}
}

@media screen and (min-width: 1201px) and (max-width: 1440px){

.slide_item01 {
  background-image: url(../images/index/main_bg01_1366.jpg);
}
.slide_item02 {
  background-image: url(../images/index/main_bg02_1366.jpg);
}
.slide_item03 {
  background-image: url(../images/index/main_bg03_1366.jpg);
}
}

@media screen  and (min-width: 769px) and (max-width: 1200px){
.main-slider div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center left;
  height: 100vh;
  margin: 0;
}
.slide_item01 {
  background-image: url(../images/index/main_bg01_820.jpg);
}
.slide_item02 {
  background-image: url(../images/index/main_bg02_820.jpg);
}
.slide_item03 {
  background-image: url(../images/index/main_bg03_820.jpg);
}
}
