@charset "utf-8";

/* =========================================================
   ACCOMMODATION
   Luxury Resort / Residence Design
   ========================================================= */

.accommodation-page {
    --stay-green: #0c4d35;
    --stay-green-deep: #083d2b;
    --stay-green-soft: #1d654c;
    --stay-gold: #c4a35f;
    --stay-gold-soft: #dfc995;
    --stay-ivory: #f8f5ee;
    --stay-cream: #fbf9f4;
    --stay-ink: #1f2727;
    --stay-text: #56524d;
    --stay-line: #d9c7a3;

    margin: 0;

    background: var(--stay-cream);

    color: var(--stay-text);

    font-family:
        "Noto Sans JP",
        sans-serif;
}

.stay-main {
    overflow: hidden;

    padding-top: 110px;
}

.stay-content-width {
    width: 1160px;
    max-width: calc(100% - 48px);

    margin: 0 auto;
}


/* =========================================================
   HEADER ADDITIONS
   共通headerにAccommodation専用の少し上品な見せ方だけ追加
   ========================================================= */

.accommodation-page .desktop-nav .is-current {
    color: var(--stay-gold);

    border-bottom:
        1px solid var(--stay-gold);

    padding-bottom: 8px;
}

.header-consultation {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 190px;

    padding:
        12px 18px;

    background: var(--stay-gold);

    color: #ffffff;

    text-decoration: none;

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 10px;
    font-weight: 500;

    letter-spacing: 0.12em;

    border:
        1px solid var(--stay-gold);

    transition:
        background .3s ease,
        color .3s ease;
}

.header-consultation:hover {
    background: #ffffff;

    color: var(--stay-gold);
}


/* =========================================================
   HERO
   ========================================================= */

.stay-hero {
    position: relative;

    padding:
        0 0 78px;

    background-image:
        linear-gradient(
            rgba(5, 59, 38, .12),
            rgba(5, 59, 38, .12)
        ),
        url("Greenbox(2).png");

    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;

    color: #ffffff;
}

.stay-breadcrumb {
    width: 1340px;
    max-width: calc(100% - 80px);

    margin: 0 auto;

    padding:
        22px 0 15px;

    display: flex;

    gap: 10px;

    align-items: center;

    color: rgba(255,255,255,.85);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 9px;

    letter-spacing: .04em;
}

.stay-breadcrumb a {
    color: #ffffff;

    text-decoration: none;
}

.stay-hero-inner {
    width: 1340px;
    max-width: calc(100% - 80px);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, .95fr)
        minmax(500px, 1.05fr);

    gap: 72px;

    align-items: center;
}

.stay-hero-copy {
    padding-left: 56px;
}

.stay-eyebrow {
    color: var(--stay-gold);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 17px;

    letter-spacing: .04em;
}

.stay-gold-line {
    width: 42px;
    height: 1px;

    margin:
        26px 0 30px;

    background: var(--stay-gold);
}

.stay-hero h1 {
    margin: 0;

    color: #ffffff;

    font-family:
        "Noto Sans JP",
        serif;

    font-size:
        clamp(35px, 4vw, 54px);

    font-weight: 400;

    line-height: 1.65;

    letter-spacing: .02em;

    text-shadow:
        0 4px 20px rgba(0,0,0,.20);
}

.stay-hero-lead {
    margin:
        28px 0 0;

    color: rgba(255,255,255,.90);

    font-size: 13px;

    line-height: 2.05;
}

.stay-hero-photo-wrap {
    position: relative;

    padding:
        34px 0 36px;
}

.stay-hero-photo-frame {
    position: relative;

    padding: 10px;

    border:
        1px solid rgba(196,163,95,.88);

    background:
        rgba(9, 55, 38, .30);

    box-shadow:
        0 20px 48px rgba(0,0,0,.22);
}

.stay-hero-photo-frame img {
    display: block;

    width: 100%;
    height: 365px;

    object-fit: cover;
}

.stay-script {
    position: absolute;

    right: -5px;
    bottom: 4px;

    color: #d4b264;

    text-align: right;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 30px;
    font-style: italic;

    line-height: .82;

    transform:
        rotate(-5deg);

    text-shadow:
        0 2px 12px rgba(0,0,0,.25);
}

.stay-script span {
    padding-right: 5px;

    font-size: 27px;
}


/* =========================================================
   ABOUT
   ========================================================= */

.stay-about {
    padding:
        30px 0 62px;

    background: var(--stay-ivory);
}

.stay-about-inner {
    width: 1340px;
    max-width: calc(100% - 80px);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        360px
        minmax(0, 1fr);

    gap: 64px;

    align-items: end;
}

.stay-about-copy {
    padding-bottom: 38px;
}

.stay-about-copy small {
    color: var(--stay-gold);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 20px;
}

.stay-about-line {
    width: 30px;
    height: 1px;

    margin:
        19px 0 23px;

    background: var(--stay-gold);
	font-size: 18px
}

.stay-about-copy h2 {
    margin: 0;

    color: var(--stay-ink);

    font-family:
        "Noto Sans JP",
        serif;

    font-size: 27px;
    font-weight: 400;

    line-height: 1.75;
}

.stay-about-copy p {
    margin:
        22px 0 0;

    color: #494846;

    font-size: 12px;

    line-height: 1.95;
}

.stay-gallery-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 8px;
}

.stay-gallery-grid figure {
    height: 245px;

    margin: 0;

    overflow: hidden;

    background: #e9e5dc;
}

.stay-gallery-grid img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .55s ease;
}

.stay-gallery-grid figure:hover img {
    transform:
        scale(1.025);
}

.stay-benefits {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    margin-top: 10px;

    border:
        1px solid rgba(196,163,95,.40);
}

.stay-benefit {
    min-height: 60px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    border-right:
        1px solid rgba(196,163,95,.32);
}

.stay-benefit:last-child {
    border-right: 0;
}

.stay-benefit-icon {
    color: var(--stay-green);

    font-size: 20px;
}

.stay-benefit p {
    margin: 0;

    color: #282d2c;

    font-size: 11px;
}


/* =========================================================
   SECTION HEADING
   ========================================================= */

.stay-intro-section {
    padding:
        90px 0 76px;

    background: #ffffff;
}

.stay-section-heading {
    max-width: 760px;

    margin: 0 auto;

    text-align: center;
}

.stay-section-heading small,
.stay-collection-heading small,
.stay-notice small,
.stay-contact small {
    color: var(--stay-gold);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 9px;
    font-weight: 600;

    letter-spacing: .20em;
}

.stay-section-heading h2 {
    margin:
        13px 0 15px;

    color: var(--stay-ink);

    font-family:
        "Cormorant Garamond",
        "Noto Sans JP",
        serif;

    font-size: 42px;
    font-weight: 500;
}

.stay-section-heading p {
    margin: 0;

    color: #716d67;

    font-size: 13px;

    line-height: 1.95;
}


/* =========================================================
   PREMIUM
   ========================================================= */

.stay-residences {
    padding:
        92px 0 112px;

    background:
        linear-gradient(
            180deg,
            #1b2c28,
            #223a33
        );
}

.stay-collection-heading {
    max-width: 720px;

    margin-bottom: 44px;
}

.stay-collection-heading h2 {
    margin:
        7px 0 13px;

    color: #ffffff;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 46px;
    font-weight: 500;
}

.stay-collection-heading p {
    margin: 0;

    color: rgba(255,255,255,.62);

    font-size: 12px;

    line-height: 1.9;
}


/* Featured cards */

.stay-featured-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;

    margin-bottom: 26px;
}

.stay-featured-card {
    display: grid;

    grid-template-columns:
        1.2fr .8fr;

    min-height: 260px;

    border:
        1px solid rgba(213,188,135,.28);

    background:
        rgba(255,255,255,.045);
}

.stay-featured-image {
    overflow: hidden;
}

.stay-featured-image img {
    display: block;

    width: 100%;
    height: 100%;

    min-height: 260px;

    object-fit: cover;
}

.stay-featured-copy {
    padding:
        36px 28px;

    display: flex;

    flex-direction: column;

    justify-content: center;
}

.stay-featured-copy small {
    color: var(--stay-gold);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 8px;

    letter-spacing: .17em;
}

.stay-featured-copy h3 {
    margin:
        16px 0 1px;

    color: #ffffff;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 31px;
    font-weight: 500;
}

.stay-featured-copy p {
    margin:
        0 0 25px;

    color: rgba(255,255,255,.48);

    font-size: 10px;
}

.stay-featured-copy span {
    color: var(--stay-gold-soft);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 9px;

    letter-spacing: .10em;
}


/* Hawaiki ～ Allure cards */

.stay-card-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;
}

.stay-property-card {
    overflow: hidden;

    background:
        rgba(255,255,255,.055);

    border:
        1px solid rgba(213,188,135,.22);

    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.stay-property-card:hover {
    transform:
        translateY(-4px);

    border-color:
        rgba(213,188,135,.55);

    box-shadow:
        0 16px 32px rgba(0,0,0,.13);
}

.stay-property-image {
    height: 150px;

    overflow: hidden;

    background: #21342f;
}

.stay-property-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .5s ease;
}

.stay-property-card:hover .stay-property-image img {
    transform:
        scale(1.035);
}

.stay-property-body {
    padding:
        23px 22px 25px;
}

.stay-property-body small {
    color: var(--stay-gold);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 8px;

    letter-spacing: .14em;
}

.stay-property-body h3 {
    margin:
        9px 0 1px;

    color: #ffffff;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 27px;
    font-weight: 500;
}

.stay-property-jp {
    margin:
        0 0 19px;

    color: rgba(255,255,255,.45);

    font-size: 9px;
}

.stay-property-meta {
    display: flex;

    flex-wrap: wrap;

    gap: 7px;
}

.stay-property-meta span {
    padding:
        5px 7px;

    border:
        1px solid rgba(213,188,135,.25);

    color: rgba(255,255,255,.65);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 7px;

    letter-spacing: .08em;
}

.stay-property-price {
    margin:
        19px 0 0;

    color: var(--stay-gold-soft);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 11px;
}


/* =========================================================
   STANDARD
   ========================================================= */

.stay-standard {
    padding:
        92px 0 105px;

    background:
        var(--stay-ivory);
}

.stay-collection-heading-dark h2 {
    color: var(--stay-ink);
}

.stay-collection-heading-dark p {
    color: #716d67;
}

.stay-standard-grid {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 14px;
}

.stay-standard-card {
    position: relative;

    min-height: 190px;

    padding:
        25px 21px;

    background: #ffffff;

    border:
        1px solid rgba(196,163,95,.25);

    border-top:
        3px solid var(--stay-gold);

    box-shadow:
        0 8px 20px rgba(32,45,40,.055);
}

.stay-standard-card h3 {
    margin: 0;

    color: var(--stay-ink);

    font-family:
        "Cormorant Garamond",
        serif;

    font-size: 25px;
    font-weight: 500;
}

.stay-standard-card p {
    margin:
        3px 0 22px;

    color: #918a80;

    font-size: 9px;
}

.stay-standard-card span {
    display: block;

    color: #5d5a55;

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 9px;

    line-height: 1.6;
}

.stay-standard-card small {
    position: absolute;

    left: 21px;
    bottom: 22px;

    color: var(--stay-gold);

    font-family:
        "Montserrat",
        sans-serif;

    font-size: 8px;

    letter-spacing: .13em;
}


/* =========================================================
   NOTICE
   ========================================================= */

.stay-notice {
    padding:
        78px 0;

    background: #ffffff;
}

.stay-notice-inner {
    display: grid;

    grid-template-columns:
        .7fr 1.3fr;

    gap: 70px;
}

.stay-notice h2 {
    margin:
        10px 0 0;

    color: var(--stay-ink);

    font-family:
        "Cormorant Garamond",
        "Noto Sans JP",
        serif;

    font-size: 34px;
    font-weight: 500;
}

.stay-notice p {
    margin:
        0 0 14px;

    color: #726d65;

    font-size: 12px;

    line-height: 1.95;
}


/* =========================================================
   CONTACT
   ========================================================= */

/* =========================================================
   CONTACT
   Greenbox(2) 背景
   ========================================================= */

.stay-contact {
    position: relative;

    padding: 90px 0;

    background-color: var(--stay-green-deep);

    background-image:
    linear-gradient(
        90deg,
        rgba(5, 55, 38, 0.68) 0%,
        rgba(5, 55, 38, 0.48) 48%,
        rgba(5, 55, 38, 0.10) 100%
    ),
    url("Greenbox(2).png");

    background-repeat: no-repeat;

    background-position:
        center bottom;

    background-size:
        cover;

    overflow: hidden;
}


.stay-contact-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 45px;
}

.stay-contact h2 {
    margin:
        10px 0 11px;

    color: #ffffff;

    font-family:
        "Cormorant Garamond",
        "Noto Sans JP",
        serif;

    font-size: 35px;
    font-weight: 500;
}

.stay-contact p {
    margin: 0;

    color: rgba(255,255,255,.68);

    font-size: 12px;

    line-height: 1.85;
}

.stay-contact-button {
    flex: 0 0 auto;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 220px;

    padding:
        14px 24px;

    background: var(--stay-gold);

    border:
        1px solid var(--stay-gold);

    color: #ffffff;

    text-decoration: none;

    font-size: 12px;
    font-weight: 600;

    transition:
        background .3s ease,
        color .3s ease;
}

.stay-contact-button:hover {
    background: transparent;

    color: var(--stay-gold-soft);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .header-consultation {
        display: none;
    }

    .stay-main {
        padding-top: 95px;
    }

    .stay-hero-inner {
        grid-template-columns: 1fr;

        gap: 32px;
    }

    .stay-hero-copy {
        padding-left: 0;
    }

    .stay-hero-photo-wrap {
        max-width: 760px;

        width: 100%;

        margin: 0 auto;
    }

    .stay-about-inner {
        grid-template-columns: 1fr;

        align-items: start;
    }

    .stay-about-copy {
        max-width: 540px;

        padding-bottom: 0;
    }

    .stay-card-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .stay-standard-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

}


@media (max-width: 760px) {

    .stay-main {
        padding-top: 80px;
    }

    .stay-breadcrumb,
    .stay-hero-inner,
    .stay-about-inner {
        max-width:
            calc(100% - 30px);
    }

    .stay-breadcrumb {
        padding-top: 16px;
    }

    .stay-hero {
        padding-bottom: 55px;
    }

    .stay-hero h1 {
        font-size: 32px;
    }

    .stay-hero-lead br {
        display: none;
    }

    .stay-hero-photo-frame img {
        height: auto;
    }

    .stay-script {
        position: static;

        margin-top: 12px;

        transform: none;

        font-size: 23px;
    }

    .stay-gallery-grid {
        grid-template-columns: 1fr;
    }

    .stay-gallery-grid figure {
        height: auto;
    }

    .stay-gallery-grid img {
        height: auto;
    }

    .stay-benefits {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .stay-benefit {
        border-bottom:
            1px solid rgba(196,163,95,.32);
    }

    .stay-benefit:nth-child(2) {
        border-right: 0;
    }

    .stay-section-heading h2,
    .stay-collection-heading h2 {
        font-size: 34px;
    }

    .stay-featured-grid {
        grid-template-columns: 1fr;
    }

    .stay-featured-card {
        grid-template-columns: 1fr;
    }

    .stay-featured-image img {
        min-height: 0;
        height: auto;
    }

    .stay-card-grid {
        grid-template-columns: 1fr;
    }

    .stay-standard-grid {
        grid-template-columns: 1fr;
    }

    .stay-notice-inner {
        grid-template-columns: 1fr;

        gap: 26px;
    }

    .stay-contact-inner {
        flex-direction: column;

        align-items: flex-start;
    }

    .stay-contact-button {
        width: 100%;

        min-width: 0;
    }

	
}
	
	
	
	
	/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;600;700&display=swap');

/* 日本語・本文 */
body {
    font-family: "Noto Sans JP", sans-serif;
}

/* 英語の見出し */
h1,
h2,
h3,
.english-title,
.section-title {
    font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    letter-spacing: 0.04em;
}

/* メインタイトル */
h1 {
    font-size: 48px;
    line-height: 1.2;
}

/* セクションタイトル */
h2 {
    font-size: 38px;
    line-height: 1.3;
}
	
	/* =========================================================
   ACCOMMODATION FONT
   日本語：Noto Serif JP
   英語　：Cormorant Garamond
   ========================================================= */


/* ---------------------------------------------------------
   ページ全体の日本語
   --------------------------------------------------------- */

.accommodation-page {
    font-family:
        "Noto Serif JP",
        serif;
}


/* ---------------------------------------------------------
   日本語の見出し・文章・ボタン
   --------------------------------------------------------- */

.accommodation-page h1,
.accommodation-page h2,
.accommodation-page p,
.accommodation-page .stay-hero-lead,
.accommodation-page .stay-property-jp,
.accommodation-page .stay-contact-button {
    font-family:
        "Noto Serif JP",
        serif;
}


/* ---------------------------------------------------------
   英語
   --------------------------------------------------------- */

.accommodation-page .stay-eyebrow,
.accommodation-page .stay-script,
.accommodation-page .stay-section-heading small,
.accommodation-page .stay-collection-heading small,
.accommodation-page .stay-collection-heading h2,
.accommodation-page .stay-featured-copy small,
.accommodation-page .stay-featured-copy h3,
.accommodation-page .stay-featured-copy span,
.accommodation-page .stay-property-body small,
.accommodation-page .stay-property-body h3,
.accommodation-page .stay-property-meta span,
.accommodation-page .stay-property-price,
.accommodation-page .stay-standard-card h3,
.accommodation-page .stay-standard-card span,
.accommodation-page .stay-standard-card small,
.accommodation-page .stay-notice small,
.accommodation-page .stay-contact small,
.accommodation-page .stay-breadcrumb,
.accommodation-page .header-consultation {
    font-family:
        "Cormorant Garamond",
        serif;
}


/* ---------------------------------------------------------
   英語タイトルを少し高級感のある見え方に
   --------------------------------------------------------- */

.accommodation-page .stay-eyebrow {
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 0.08em;
}

.accommodation-page .stay-collection-heading h2 {
    font-weight: 500;
    letter-spacing: 0.01em;
}

.accommodation-page .stay-featured-copy h3,
.accommodation-page .stay-property-body h3,
.accommodation-page .stay-standard-card h3 {
    font-weight: 500;
    letter-spacing: 0.01em;
}


/* ---------------------------------------------------------
   日本語タイトル
   --------------------------------------------------------- */

.accommodation-page .stay-hero h1,
.accommodation-page .stay-about-copy h2,
.accommodation-page .stay-section-heading h2,
.accommodation-page .stay-notice h2,
.accommodation-page .stay-contact h2 {
    font-family:
        "Noto Serif JP",
        serif;

    font-weight: 500;
}



	
/* =========================================================
   Comfortable Stay in Paradise
   筆記体専用
   ========================================================= */

.accommodation-page .stay-script,
.accommodation-page .stay-script span {
    font-family: "Allura", cursive !important;

    font-weight: 400;

    letter-spacing: 0.02em;
}


/* Comfortable Stay */
.accommodation-page .stay-script {
    font-size: 38px;
    line-height: 0.85;
}


/* in Paradise */
.accommodation-page .stay-script span {
    font-size: 34px;
}




/* =========================================================
   ACCOMMODATION
   文字サイズ調整
   ========================================================= */


/* ---------------------------------------------------------
   ABOUTなどの通常の日本語本文
   --------------------------------------------------------- */

.accommodation-page .stay-about-copy p,
.accommodation-page .stay-section-heading p,
.accommodation-page .stay-collection-heading p {
    font-size: 16px !important;
    line-height: 2 !important;
}


/* ---------------------------------------------------------
   英語の小見出し
   RESIDENCE COLLECTION
   PREMIUM COLLECTION
   STANDARD COLLECTION
   PLEASE NOTE
   FREE CONSULTATION
   --------------------------------------------------------- */

.accommodation-page .stay-section-heading small,
.accommodation-page .stay-collection-heading small,
.accommodation-page .stay-notice small,
.accommodation-page .stay-contact small {
    font-family: "Cormorant Garamond", serif !important;

    font-size: 17px !important;
    font-weight: 500;

    letter-spacing: 0.06em;
}


/* ---------------------------------------------------------
   4つの特徴
   厳選された物件
   安心のサポート体制
   快適で心地よい滞在
   便利なロケーション
   --------------------------------------------------------- */

.accommodation-page .stay-benefit p {
    font-size: 15px !important;

    line-height: 1.6;
}


/* ---------------------------------------------------------
   PREMIUM RESIDENCES
   大きな物件ボックス
   --------------------------------------------------------- */

.accommodation-page .stay-featured-copy small {
    font-size: 13px !important;
}

.accommodation-page .stay-featured-copy h3 {
    font-size: 32px !important;
}

.accommodation-page .stay-featured-copy p {
    font-size: 14px !important;
}

.accommodation-page .stay-featured-copy span {
    font-size: 13px !important;
}


/* ---------------------------------------------------------
   Hawaiki ～ Allure
   各Residenceボックス
   --------------------------------------------------------- */

/* ALA MOANA / KAKAAKO / WAIKIKI */

.accommodation-page .stay-property-body small {
    font-size: 13px !important;

    letter-spacing: 0.10em;
}


/* Hawaiki Tower / Nauru Towerなど */

.accommodation-page .stay-property-body h3 {
    font-size: 30px !important;

    line-height: 1.15;
}


/* ハワイキ・タワーなど日本語 */

.accommodation-page .stay-property-jp {
    font-size: 14px !important;

    line-height: 1.6;
}


/* 1–2 BED / 6 MONTHS + */

.accommodation-page .stay-property-meta span {
    font-size: 12px !important;

    padding: 6px 9px;
}


/* $3,500〜 / month */

.accommodation-page .stay-property-price {
    font-size: 15px !important;
}


/* ---------------------------------------------------------
   STANDARD COLLECTION
   Windsor / Discovery Bay / Ilikaiなど
   --------------------------------------------------------- */

.accommodation-page .stay-standard-card h3 {
    font-size: 28px !important;
}

.accommodation-page .stay-standard-card p {
    font-size: 14px !important;
}

.accommodation-page .stay-standard-card span {
    font-size: 13px !important;

    line-height: 1.6;
}

.accommodation-page .stay-standard-card small {
    font-size: 12px !important;
}


/* ---------------------------------------------------------
   PLEASE NOTE
   料金・条件について
   --------------------------------------------------------- */

.accommodation-page .stay-notice p {
    font-size: 15px !important;

    line-height: 2 !important;
}


/* ---------------------------------------------------------
   FREE CONSULTATION
   --------------------------------------------------------- */

.accommodation-page .stay-contact p {
    font-size: 15px !important;

    line-height: 2 !important;
}


/* 宿泊について相談する */

.accommodation-page .stay-contact-button {
    font-size: 15px !important;

    padding: 16px 28px;
}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 760px) {

    .accommodation-page .stay-about-copy p,
    .accommodation-page .stay-section-heading p,
    .accommodation-page .stay-collection-heading p,
    .accommodation-page .stay-notice p,
    .accommodation-page .stay-contact p {
        font-size: 15px !important;
        line-height: 1.9 !important;
    }

    .accommodation-page .stay-benefit p {
        font-size: 14px !important;
    }

    .accommodation-page .stay-property-body h3 {
        font-size: 27px !important;
    }

    .accommodation-page .stay-property-jp {
        font-size: 13px !important;
    }

}



/* =========================================================
   HERO 説明文
   留学、ロングステイ、ご家族での長期滞在。～
   ========================================================= */

.accommodation-page .stay-hero-lead {
    font-family: "Noto Serif JP", serif !important;

    font-size: 18px !important;
    line-height: 2 !important;

    font-weight: 400;

    letter-spacing: 0.02em;
}
	
@media (max-width: 760px) {

    .accommodation-page .stay-hero-lead {
        font-size: 16px !important;
        line-height: 1.9 !important;
    }

}


/* =========================================================
   FLEXIBLE RESIDENCES
   淡いカラー ＋ Discovery Bay おすすめ表示
   ========================================================= */


/* ---------------------------------------------------------
   Flexible Residences 全カード
   --------------------------------------------------------- */

.accommodation-page .stay-standard-card {
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f7f5ec 55%,
            #eef3ec 100%
        ) !important;

    border:
        1px solid rgba(196, 163, 95, 0.30);

    border-top:
        3px solid rgba(196, 163, 95, 0.75);

    box-shadow:
        0 10px 26px rgba(25, 55, 43, 0.06);

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}


/* マウスを乗せた時 */

.accommodation-page .stay-standard-card:hover {
    transform:
        translateY(-4px);

    border-color:
        rgba(196, 163, 95, 0.55);

    box-shadow:
        0 16px 34px rgba(25, 55, 43, 0.10);
}



/* =========================================================
   DISCOVERY BAY
   おすすめカード
   ========================================================= */

.accommodation-page .stay-standard-card-recommended {
    position: relative;

    transform:
        scale(1.08);

    z-index: 3;

    min-height: 230px;

    padding:
        32px 25px;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f5f1e3 50%,
            #e6eee7 100%
        ) !important;

    border:
        1px solid rgba(196, 163, 95, 0.72);

    border-top:
        4px solid #c4a35f;

    box-shadow:
        0 20px 42px rgba(20, 58, 43, 0.15);
}


/* おすすめカード hover */

.accommodation-page .stay-standard-card-recommended:hover {
    transform:
        scale(1.08)
        translateY(-5px);

    box-shadow:
        0 25px 48px rgba(20, 58, 43, 0.19);
}


/* ---------------------------------------------------------
   RECOMMENDED
   --------------------------------------------------------- */

.accommodation-page .stay-recommend-badge {
    display: inline-block;

    margin-bottom: 9px;

    padding:
        5px 10px;

    background:
        #0c4d35;

    color:
        #ffffff;

    font-family:
        "Cormorant Garamond",
        serif;

    font-size:
        13px;

    font-weight:
        600;

    letter-spacing:
        0.12em;
}


/* ---------------------------------------------------------
   ラニコアハワイ おすすめ
   --------------------------------------------------------- */

.accommodation-page .stay-recommend-jp {
    margin-bottom:
        15px;

    color:
        #a48649;

    font-family:
        "Noto Serif JP",
        serif;

    font-size:
        13px;

    font-weight:
        600;

    letter-spacing:
        0.04em;
}


/* Discovery Bay */

.accommodation-page
.stay-standard-card-recommended h3 {
    font-size:
        32px !important;

    color:
        #0c4d35;
}


/* ディスカバリーベイ */

.accommodation-page
.stay-standard-card-recommended p {
    font-size:
        15px !important;
}


/* Studio / One / Two Bed */

.accommodation-page
.stay-standard-card-recommended span {
    font-size:
        14px !important;
}


/* 1 MONTH + */

.accommodation-page
.stay-standard-card-recommended small {
    font-size:
        13px !important;

    color:
        #a48649;
}


/* =========================================================
   スマホ・タブレット
   ========================================================= */

@media (max-width: 1100px) {

    .accommodation-page
    .stay-standard-card-recommended {
        transform:
            scale(1.03);
    }

    .accommodation-page
    .stay-standard-card-recommended:hover {
        transform:
            scale(1.03)
            translateY(-4px);
    }

}


@media (max-width: 760px) {

    .accommodation-page
    .stay-standard-card-recommended {
        transform:
            none;

        min-height:
            230px;

        margin:
            10px 0;
    }

    .accommodation-page
    .stay-standard-card-recommended:hover {
        transform:
            translateY(-3px);
    }

}



/* Discovery Bay など Flexible Residences 内の文字間隔 */

.accommodation-page .stay-standard-card span {
    display: block;
    margin-bottom: 16px !important;
    line-height: 1.7 !important;
}

.accommodation-page .stay-standard-card small {
    display: block;
    position: static !important;
    margin-top: 10px !important;
    line-height: 1.5 !important;
}


/* =========================================================
   FLEXIBLE RESIDENCES
   Discovery Bayだけ独立
   その他のカードはすべて一定の高さ
   ========================================================= */


/* グリッド内のカードを上揃えにする */
.accommodation-page .stay-standard-grid {
    align-items: end !important;
}


/* ---------------------------------------------------------
   通常カード
   Ilikai / Windsor / Ilikai Marina / Ala Moana Condotel
   --------------------------------------------------------- */

.accommodation-page .stay-standard-card:not(.stay-standard-card-recommended) {
    height: 260px !important;
    min-height: 260px !important;

    align-self: start !important;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   Discovery Bay
   通常カードとは完全に別設定
   --------------------------------------------------------- */

.accommodation-page .stay-standard-card-recommended {
    height: auto !important;

    min-height: 400px !important;

    align-self: start !important;

    box-sizing: border-box;
}


/* =========================================================
   通常カード内の文字
   ========================================================= */

.accommodation-page
.stay-standard-card:not(.stay-standard-card-recommended) h3 {
    margin-top: 0;
}


.accommodation-page
.stay-standard-card:not(.stay-standard-card-recommended) span {
    display: block;

    margin-top: 20px;
    margin-bottom: 18px !important;

    line-height: 1.7 !important;
}


.accommodation-page
.stay-standard-card:not(.stay-standard-card-recommended) small {
    display: block;

    position: static !important;

    margin-top: 0 !important;

    line-height: 1.5 !important;
}


/* =========================================================
   Discovery Bay内の文字
   ========================================================= */

.accommodation-page
.stay-standard-card-recommended span {
    display: block;

    margin-top: 24px;
    margin-bottom: 20px !important;

    line-height: 1.7 !important;
}


.accommodation-page
.stay-standard-card-recommended small {
    display: block;

    position: static !important;

    margin-top: 0 !important;

    line-height: 1.5 !important;
}


/* =========================================================
   FLEXIBLE RESIDENCES
   Discovery Bayを下基準にして全カードの下端を揃える
   ========================================================= */

.accommodation-page .stay-standard-grid {
    align-items: end !important;
}


/* Discovery Bay以外 */
.accommodation-page
.stay-standard-grid
> .stay-standard-card:not(.stay-standard-card-recommended) {

    height: 260px !important;
    min-height: 260px !important;

    align-self: end !important;

    box-sizing: border-box;
}


/* Discovery Bay */
.accommodation-page
.stay-standard-grid
> .stay-standard-card-recommended {

    align-self: end !important;

    /* ここが重要 */
    transform-origin: left bottom !important;

    box-sizing: border-box;
}


/* =========================================================
   FLEXIBLE RESIDENCES
   上：文字 / 下：写真
   ========================================================= */


/* カード */

.accommodation-page .stay-standard-card {
    padding: 0 !important;

    overflow: hidden;

    display: flex !important;
    flex-direction: column;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f7f5ec 65%,
            #eef3ec 100%
        ) !important;
}


/* =========================================================
   文字部分
   ========================================================= */

.accommodation-page .stay-standard-text {
    padding: 20px 20px 14px;

    flex: 0 0 auto;
}


/* 英語物件名 */

.accommodation-page .stay-standard-text h3 {
    margin: 0 0 3px !important;

    line-height: 1.15 !important;
}


/* 日本語物件名 */

.accommodation-page .stay-standard-text > p {
    margin: 4px 0 12px !important;

    line-height: 1.4 !important;
}


/* =========================================================
   Studio / Bed と MONTH / WEEK を横並び
   ========================================================= */

.accommodation-page .stay-standard-info {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-top: 10px;
}


/* Studio / One / Two Bed */

.accommodation-page .stay-standard-info span {
    position: static !important;

    display: block !important;

    margin: 0 !important;

    padding: 0 !important;

    line-height: 1.3 !important;

    white-space: nowrap;
}


/* 1 MONTH + / 1 WEEK + */

.accommodation-page .stay-standard-info small {
    position: static !important;

    display: block !important;

    margin: 0 !important;

    padding: 0 !important;

    line-height: 1.3 !important;

    white-space: nowrap;

    color: #a48649;
}


/* =========================================================
   下側の写真
   ========================================================= */

.accommodation-page .stay-standard-photo {
    width: 100%;

    margin-top: auto;

    overflow: hidden;

    border-top:
        1px solid rgba(196, 163, 95, 0.25);
}


.accommodation-page .stay-standard-photo img {
    display: block;

    width: 100%;
    height: 115px;

    object-fit: cover;

    transition:
        transform 0.5s ease;
}


/* マウスを乗せた時 */

.accommodation-page .stay-standard-card:hover
.stay-standard-photo img {
    transform: scale(1.04);
}


/* =========================================================
   Discovery Bay
   ========================================================= */

.accommodation-page
.stay-standard-card-recommended
.stay-standard-text {
    padding:
        22px 24px 16px;
}


/* Discovery Bayの写真は大きく */

.accommodation-page
.stay-standard-card-recommended
.stay-standard-photo img {
    height: 155px;
}


/* おすすめ部分の間隔も少し詰める */

.accommodation-page .stay-recommend-badge {
    margin-bottom: 7px !important;
}


.accommodation-page .stay-recommend-jp {
    margin-bottom: 11px !important;

    line-height: 1.4;
}


/* =========================================================
   スマホ
   ========================================================= */

@media (max-width: 760px) {

    .accommodation-page .stay-standard-info {
        flex-wrap: wrap;
    }

    .accommodation-page .stay-standard-photo img {
        height: 170px;
    }

    .accommodation-page
    .stay-standard-card-recommended
    .stay-standard-photo img {
        height: 190px;
    }

}


/* FREE CONSULTATION */

.accommodation-page .stay-contact small {
    font-family:
        "Cormorant Garamond",
        serif !important;

    font-size: 17px !important;

    font-weight: 500;

    letter-spacing: 0.16em;

    color: #d8bd7b;
}


/* メインタイトル */

.accommodation-page .stay-contact h2 {
    margin:
        13px 0 18px;

    font-family:
        "Noto Serif JP",
        serif !important;

    font-size:
        38px;

    font-weight: 500;

    line-height: 1.65;

    letter-spacing: 0.04em;

    color: #ffffff;

    text-shadow:
        0 3px 18px
        rgba(0, 0, 0, 0.15);
}


/* 説明文 */

.accommodation-page .stay-contact p {
    max-width: 650px;

    font-family:
        "Noto Serif JP",
        serif !important;

    font-size:
        15px !important;

    line-height: 2 !important;

    color:
        rgba(255, 255, 255, 0.84);
}


/* お問い合わせボタン */

.accommodation-page .stay-contact-button {
    padding:
        17px 34px;

    background:
        rgba(196, 163, 95, 0.94);

    border:
        1px solid #d7bd82;

    color: #ffffff;

    font-family:
        "Noto Serif JP",
        serif !important;

    font-size:
        15px !important;

    letter-spacing:
        0.06em;

    box-shadow:
        0 10px 28px
        rgba(0, 0, 0, 0.12);
}



.accommodation-page .stay-script,
.accommodation-page .stay-script span {
    font-family: "Allura", cursive !important;
}




  /* =====================================================
   SUMMER SCHOOL ONLY
   HEADER LOGO
   ===================================================== */

/* PC */
body .header .logo img {
    width: 160px !important;
    max-width: 160px !important;
    height: auto !important;
    max-height: auto !important;
}

body .header .logo {
    transform: translateY(12px) !important;
}


/* タブレット */
@media (max-width: 900px) {

    body .header .logo img {
        width: 130px !important;
        max-width: 130px !important;
        height: auto !important;
        max-height: auto !important;
    }

    body .header .logo {
        transform: translateY(5px) !important;
    }
}


/* スマートフォン */
@media (max-width: 600px) {

    body .header .logo img {
        width: 100px !important;
        max-width: 100px !important;
        height: auto !important;
        max-height: auto !important;
    }

    body .header .logo {
        transform: translateY(3px) !important;
    }
}

