@charset "UTF-8";
/* CSS Document */
/*===============================================
共通
===============================================*/
html,
body {
    height: 100%;
    margin: 0 auto;
    padding: 0;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 0.625rem;
    font-weight: normal;
    background-color: #fff;
    line-height: 1.2rem;
    letter-spacing: 2px;
    color: #222;
}
:root {
    --blue: #1f286f;
    --green: #2db184;
    --orange: #e9371e;
    --glay: #f0f0f0;
}
*:focus {
    outline: none;
}
body {
    display: none;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
img,
figure,
figcaption,
ul {
    margin: 0;
    padding: 0;
}
h2 {
    font-size: 2.1rem;
    letter-spacing: 2.8px;
    font-family: "Crimson Text", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    color: #444444;
    font-weight: 400;
}
img {
    border: 0;
    line-height: 0;
    width: 100%;
    height: auto;
}
li {
    list-style: none;
}
a {
    text-decoration: none;
    color: #000;
    transition: 0.5s;
}
a:hover {
    color: #C8C8C8;
}
table {
    border-collapse: collapse;
}
span.text-block {
    display: inline-block;
}
.pc-none {
    display: none;
}
.note {
    text-indent: -1em;
    padding-left: 1em;
}
.en {
    font-family: "Crimson Text", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
input {
    font-size: 1.6rem
}
input:focus {
    outline: 0;
}
input[type="button"],
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="submit"],
input[type="image"],
textarea,
select {
    -webkit-appearance: none;
    border-radius: 0;
}
input[type="submit"] {
    border: none;
    -webkit-appearance: none;
    margin-left: 72px;
}
.mg-200 {
    margin: clamp(150px, 10.41666vw, 200px)
}
.mg-150 {
    margin: clamp(100px, 7.8125vw, 150px)
}
.mg-100 {
    margin: clamp(75px, 5.20833vw, 100px)
}
.ft-30 {
    font-size: clamp(25px, 1.5625vw, 30px)
}
.ft-20 {
    font-size: clamp(15px, 1.04166vw, 20px)
}
.more {
    font-size: 1.2rem;
    text-align: center;
    width: 50%;
    box-sizing: border-box;
    max-width: 250px;
    min-width: 150px;
    font-family: "Crimson Text", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.more a {
    padding: 15px 0;
    box-sizing: border-box;
    display: block;
    line-height: 1;
    color: #222;
    border: 1px solid #222222;
}
.more a:hover {
    border: 1px solid #222222;
    background-color: #222222;
    color: #fff;
}
/*==============================================
ヘッダー
===============================================*/
header {
    width: 100%;
    height: 80px;
    position: fixed;
    top: 0;
    z-index: 999999;
    transition: 1s;
    background: rgba(255, 255, 255, 0);
}
header.active {
    height: 80px;
    background: rgba(255, 255, 255, 0);
}
/*==============================================
メニュー
===============================================*/
.reserve_btn {
    font-size: 1.2rem;
    letter-spacing: 1px;
    position: absolute;
    top: 15px;
    right: 0;
    z-index: 999999;
    width: 120px;
    text-align: center;
}
.reserve_btn a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding: 15px 0;
    box-sizing: border-box;
    color: #fff;
    display: block;
    background: rgba(255, 255, 255, 0)
}
header.active .reserve_btn a {
    border-bottom: 1px solid #ECECEC;
    color: #000;
    background: rgba(255, 255, 255, 0.5)
}
header.active .reserve_btn a:hover {
    color: #999;
}
header.active .center_logo {
    opacity: 1;
}
/*==============================================
index
===============================================*/
/*main{
	background: url("../img/IMG-3125.jpg")no-repeat center center / cover;
	position: relative;
	background-attachment: fixed;
}*/
main {
    position: relative;
    background-color: transparent;
    z-index: 0;
}
main ul.bg_slider {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
}
main .bg_slider li {
    height: 100vh;
}
main .bg_slider li:nth-child(1) {
    background: url("../img/IMG-3125.jpg")no-repeat center center / cover;
}
main .bg_slider li:nth-child(2) {
    background: url("../img/ドローイング★5.jpg")no-repeat center center / cover;
}
main .bg_slider li:nth-child(3) {
    background: url("../img/203号室（カーテン）.jpg")no-repeat center center / cover;
}
main .bg_slider li:nth-child(4) {
    background: url("../img/螺旋階段NEW2.jpg")no-repeat center center / cover;
}
main .logo {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
main .logo img {
    max-width: 320px;
    display: block;
    margin: 0 auto 50px;
}
.wrap {
    background-color: #fff;
    width: 100%;
    position: relative;
    z-index: 1;
    padding-top: 120px;
    padding-bottom: 150px;
}
.scrollDown.main-bar {
    height: 1px;
    width: 60px;
    display: block;
    position: absolute;
    left: 30px;
    bottom: 0;
    opacity: .5;
    -webkit-animation: sdBar 3s infinite ease-out;
    animation: sdBar 3s infinite ease-out;
}
@keyframes mainBar {
    0% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }
    15% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }
    50% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }
    70% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: 0 0;
        transform-origin: 0 0
    }
    100% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
        -webkit-transform-origin: 100% 0;
        transform-origin: 100% 0
    }
}
.topArea {
    margin: 0 auto 120px;
}
.topArea:nth-last-child(1) {
    margin-bottom: 0;
}
.topArea h2 {
    font-size: 2.8rem;
    font-weight: 400;
    letter-spacing: 2.8px;
    padding: 0 10%;
    box-sizing: border-box;
    margin-bottom: 60px;
    font-family: "Crimson Text", YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    color: #444444;
}
.flex {
    display: flex;
    justify-content: space-between;
}
.topArea .flex {
    margin-bottom: 60px;
}
.topArea .flex .order1 {
    order: 1;
}
.topArea .flex .order2 {
    order: 2;
}
.topArea .flex .text {
    width: 45%;
    padding: 10%;
    box-sizing: border-box;
    font-size: 1.4rem;
    line-height: 1.8em;
}
.topArea .flex .text p {
    margin-bottom: 2em;
}
.topArea .flex .image {
    width: 55%;
}
#topAbout .more {
    margin: 0 auto;
}
#topRoom .slide_linup {
    overflow: hidden;
    width: 100%;
    padding-bottom: 100px;
}
#topRoom .slide_linup .slick-list {
    overflow: visible;
}
#topRoom .slide_innner {
    width: 80%;
    margin: 0 auto;
}
#topRoom .slider {
    position: relative;
}
#topRoom .slider li {
    margin: 0 25px 0 0;
}
#topRoom .more {
    margin: 5em auto 0;
}
.slider .prev {
    background: url(../img/slider_block.svg)no-repeat center center / cover;
    width: 28px;
    height: 6px;
    position: absolute;
    left: 0%;
    bottom: -80px;
    z-index: 101;
    -webkit-transition: 0.25s;
    transition: 0.25s;
    transform: rotateY(-180deg);
}
.slider .next {
    background: url(../img/slider_block.svg)no-repeat center center / cover;
    width: 28px;
    height: 6px;
    position: absolute;
    right: 0%;
    bottom: -80px;
    z-index: 101;
    -webkit-transition: 0.25s;
    transition: 0.25s;
}
.slider .prev.slick-disabled,
.slider .next.slick-disabled {
    background: url(../img/slider_none.svg)no-repeat center center / cover;
    width: 28px;
    height: 6px;
    cursor: none;
    pointer-events: none;
}
.slider .prev:hover,
.slider .next:hover {
    cursor: pointer;
}
.slider figure img {
    margin-bottom: 15px;
}
.slider figure figcaption {
    font-size: 1.4rem;
}
.slider figure figcaption span {
    margin-left: 1em;
    font-size: 1.2rem;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.topArea.small {
    padding: 0 10%;
    box-sizing: border-box;
}
.topArea.small h2 {
    padding: 0;
}
.topArea.small .flex .text {
    width: 50%;
    padding: 5% 10% 5% 0;
}
.topArea .flex .text p {
    margin-bottom: 2em;
}
.topArea .flex .text p.en_text {
    color: #999;
    font-size: 1.2rem;
    margin-bottom: 0;
}
.topArea.small .flex .image {
    width: 50%;
}
.topArea.small .flex .text.order2 {
    padding: 5% 0 5% 10%;
}
.topArea#aoba,
.topArea#wedding {
    padding: 0 10%;
    box-sizing: border-box;
    padding-top: 100px;
    margin-top: -100px;
}
.topArea#aoba h2,
.topArea#wedding h2 {
    padding: 0;
}
.kari {
    width: 100%;
    margin: 0 auto;
    height: 500px;
    box-sizing: border-box;
    background-color: #969696;
}
/*==============================================
ROOMS
===============================================*/
.page-wrap {
    width: 100%;
    margin-top: 80px;
    padding: 5% 10%;
    box-sizing: border-box;
    margin-bottom: 150px;
    font-size: 1.3rem;
    line-height: 1.8em;
}
.contents {
    width: 80%;
    margin: 0 auto;
}
.contents h2 {
    margin-bottom: 60px;
}
.page-image {
    margin-bottom: 100px;
}
/*==============================================
MEAL
===============================================*/
#meal section {
    padding-bottom: 100px;
    margin-bottom: 100px;
    border-bottom: 1px solid #ECECEC;
}
#meal {}
#meal .type {
    margin-bottom: 30px;
}
#meal .type p {
    margin-bottom: 0.5em;
}
#meal .flex {
    flex-wrap: wrap;
}
#meal .flex .image {
    width: 47.5%;
}
#meal .flex .text {
    width: 47.5%;
    padding-top: 1em;
}
#meal .flex .text a {
    text-decoration: underline;
}
#meal .text p {
    margin-bottom: 1em;
}
#meal .text ul {
    margin-bottom: 1em;
}
#meal .text ul li::before {
    content: '○';
    display: inline-block;
    margin-right: 0.5em;
}
#meal .text .note {
    font-size: 1rem;
    text-indent: 0;
    padding-left: 0;
}
#meal .end_text span {
    display: block;
    margin-top: 1em;
    color: #999;
}
#meal #outside .flex {
    margin-bottom: 100px;
}
#meal #outside .flex:nth-last-child(1) {
    margin-bottom: 0;
}
#meal #outside .flex .text {
    min-width: 560px;
}
#meal #inside .flex {
    margin-bottom: 100px;
}
#meal #inside .flex:nth-last-child(1) {
    margin-bottom: 0;
}
#meal .flex span {
    display: block;
    color: #999;
}
/*==============================================
LOCATION
===============================================*/
/*==============================================
Q&A
===============================================*/
/*==============================================
フッター
===============================================*/
footer {
    font-size: 1rem;
    text-align: center;
    padding: 0 10% 50px;
    background-color: #fff;
    z-index: 1;
    position: relative;
}
footer .logo {
    width: 100%;
    max-width: 150px;
    margin: 0 auto 30px;
}
footer p {
    margin-bottom: 1em;
}
footer p.mail {
    margin-bottom: 3em;
}
/*==============================================
404
===============================================*/
.notfound-wrap {
    min-height: 800px;
    position: relative;
}
.notfound {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 400px;
    width: 100%;
    text-align: center;
}
.notfound img {
    width: 100%;
    height: auto;
    max-width: 400px;
    margin-bottom: 50px;
}
.notfound p {
    font-size: 1.6rem;
    margin-bottom: 80px;
    text-align: left;
}
.notfound .more {
    margin: 0 auto;
    display: inline-block;
}
.notfound a {
    background-color: #646464;
    color: #fff;
    padding: 1em 2em;
    font-size: 1.4rem;
    margin: 0 auto;
}
/*==============================================
画面の横幅が1024pxまで
===============================================*/
/*==============================================
MEAL
===============================================*/
@media only screen and (max-width:1024px) {
    #meal .flex {
        flex-direction: column;
    }
    #meal .flex .image {
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }
    #meal .flex .text {
        width: 100%;
    }
    #meal #inside .flex,
    #meal #outside .flex {
        margin-bottom: 50px;
    }
    #meal #outside .flex .text {
        min-width: inherit;
    }
}
    /*==============================================
画面の横幅が820pxまで
===============================================*/
    @media only screen and (max-width:820px) {
        .sp-none {
            display: none;
        }
        .pc-none {
            display: block;
        }
        .more {
            margin: 0 auto;
        }
        /*==============================================
index
===============================================*/
        /*==============================================
メニュー
===============================================*/
        .reserve_btn {
            font-size: 1.2rem;
            letter-spacing: 1px;
            position: absolute;
            top: 15px;
            right: 30px;
            z-index: 999999;
            width: 120px;
            text-align: center;
        }
        .reserve_btn a {
            border-bottom: 1px solid #fff;
            padding: 15px 0;
            box-sizing: border-box;
            color: #fff;
            display: block;
            background: rgba(255, 255, 255, 0)
        }
        header.active .reserve_btn a {
            border-bottom: 1px solid #ECECEC;
            color: #000;
            background: rgba(255, 255, 255, 0.8)
        }
        .center_logo {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            top: 0;
            padding: 15px 0;
            opacity: 0;
            transition: 0.5s;
        }
        .center_logo img {
            max-width: 150px;
        }
        header.active .center_logo {
            opacity: 1;
        }
        /*==============================================
index
===============================================*/
        main .logo {
            width: 90%;
        }
        main .logo img {
            max-width: 200px;
        }
        .wrap {
            background-color: #fff;
            width: 100%;
            padding-top: 100px;
            padding-bottom: clamp(100px, 18.29268vw, 150px);
        }
        .scrollDown.main-bar {
            height: 1px;
            width: 60px;
            display: block;
            position: absolute;
            left: 30px;
            bottom: 0;
            opacity: .5;
            -webkit-animation: sdBar 3s infinite ease-out;
            animation: sdBar 3s infinite ease-out;
        }
        .topArea {
            margin: 0 auto 100px;
        }
        .topArea h2 {
            font-size: 2.1rem;
            letter-spacing: 2.8px;
            margin-bottom: 30px;
        }
        .topArea .flex {
            flex-direction: column;
            margin-bottom: 30px;
        }
        .topArea .flex .image.order1,
        .topArea .flex .image.order2 {
            order: 2;
        }
        .topArea .flex .text.order1,
        .topArea .flex .text.order2 {
            order: 1;
        }
        .topArea .flex .text {
            width: 100%;
            font-size: 1.2rem;
            padding: 0 10%;
            margin-bottom: 60px;
        }
        .topArea .flex .image {
            width: 90%;
        }
        .topArea .flex:nth-child(even) .image {
            margin-left: auto;
        }
        #topRoom .slide_linup {
            padding-bottom: 100px;
        }
        #topRoom .slider li {
            margin: 0 15px 0 0;
        }
        #topRoom .more {
            margin: 0 auto;
        }
        .slider .prev {
            left: 0%;
            bottom: -50px;
        }
        .slider .next {
            right: 0%;
            bottom: -50px;
        }
        .slider figure img {
            margin-bottom: 10px;
        }
        .slider figure figcaption {
            font-size: 1.2rem;
        }
        .slider figure figcaption span {
            margin-left: 0;
            display: block;
            font-size: 1rem;
            margin-top: 0.25em;
        }
        .topArea.small .flex .text {
            width: 100%;
            margin-bottom: 0;
        }
        .topArea.small .flex .image {
            width: 100%;
        }
        .topArea.small .flex .image.order1,
        .topArea.small .flex .image.order2 {
            order: 1;
        }
        .topArea.small .flex .text.order1,
        .topArea.small .flex .text.order2 {
            order: 2;
            padding: 5% 0 0 0;
        }
        .kari {
            height: 300px;
        }
        /*==============================================
ROOMS
===============================================*/
        .page-wrap {
            margin-top: 180px;
            margin-bottom: 100px;
        }
        .contents {
            width: 100%;
        }
        .contents h2 {
            margin-bottom: 30px;
        }
        .page-image {
            margin-bottom: 60px;
        }
        #meal section {
            padding-bottom: 50px;
            margin-bottom: 50px;
        }
        #meal .type {
            margin-bottom: 15px;
        }
        /*==============================================
LOCATION
===============================================*/
        /*==============================================
Q&A
===============================================*/
        /*==============================================
フッター
===============================================*/
        footer .logo {
            margin: 0 auto 20px;
        }
        /*==============================================
404
===============================================*/
        .notfound-wrap {
            min-height: 500px;
            width: 90%;
            margin: 0 auto;
        }
        .notfound p {
            font-size: 1.4rem;
            line-height: 1.8;
        }
        .notfound img {
            width: 100%;
            max-width: 200px;
            margin-top: 0;
        }
    }
/*==============================================
仮サイト
===============================================*/
main p {
    font-size: 1.5rem;
    background-color: rgba(255, 255, 255, 0.85);
    color: #303030;
    padding: 2em 3em;
    display: inline-block;
    box-sizing: border-box;
	line-height: 1.6;
}
main p a {
    display: block;
    background-color: #BEA763;
    text-align: center;
    color: #fff;
    font-size: 1.4rem;
    padding: 1em;
    max-width: 300px;
    margin: 1.5em auto 0;
}
main p a:hover {
    color: #fff;
}
main p span{
	display: block;
	font-size: 1.2rem;
	line-height: 1.6;
	margin-top: 25px;
}
 @media only screen and (max-width:820px) {
        main p {
            font-size: 1.4rem;
            padding: 1.5em 1.5em;
        }
        main p a {
            font-size: 1.2rem;
        }
}