@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&display=swap");

:root {
    --aini-green: #00c2b1;
    --aini-green-dark: #00a89a;
    --aini-text: #3e4a49;
}

/* Base look only (no risky top spacing rules) */
html,
body,
button,
input,
select,
textarea {
    font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", "Meiryo", sans-serif !important;
    letter-spacing: 0.03em !important;
    color: var(--aini-text) !important;
}

body {
    background: #f5f6f7 !important;
}

a,
.wp-block-button__link,
.c-headLogo__title,
.siteTitle,
.c-logo__title {
    color: var(--aini-green) !important;
}

a:hover,
a:focus {
    color: var(--aini-green-dark) !important;
}

.wp-block-button__link,
.c-btn,
button,
input[type="button"],
input[type="submit"] {
    background: var(--aini-green) !important;
    border-color: var(--aini-green) !important;
    color: #fff !important;
    border-radius: 999px !important;
}

.wp-block-button__link:hover,
.c-btn:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
    background: var(--aini-green-dark) !important;
    border-color: var(--aini-green-dark) !important;
}

/* Card look */
.p-postList__item,
.c-postList__item,
.c-postbox,
.p-blogParts__postLink,
.p-postList.-type-card .p-postList__item {
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06) !important;
    overflow: hidden !important;
    background: #fff !important;
}

/* Header + centered width */
#header,
.l-header,
.l-header__inner,
.l-fixHeader {
    background: #fff !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

.l-header a,
.l-fixHeader a,
.c-headLogo__title,
.siteTitle {
    color: var(--aini-green) !important;
}

.l-header__inner,
.l-fixHeader__inner,
.l-contents__inner,
.l-mainContent__inner,
.l-container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Footer clean tone */
#footer,
.l-footer,
.l-footer__foot,
.l-footer__body {
    background: #fdf8ef !important;
    border-top: 1px solid #efe4d1 !important;
    color: var(--aini-green) !important;
}

#footer a,
.l-footer a,
.l-footer__copyright,
.l-footer .c-widget__title {
    color: var(--aini-green) !important;
}

/* Card top-left labels */
body.home .p-postList__thumb,
body.home .c-postThumb {
    position: relative !important;
}

body.home .p-postList__thumb::before,
body.home .c-postThumb::before {
    content: "人気体験";
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 4;
    background: rgba(0, 194, 177, 0.94);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    padding: 7px 10px;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(0, 83, 75, 0.22);
}

body.home .p-postList__item:nth-child(3n) .p-postList__thumb::before,
body.home .c-postList__item:nth-child(3n) .c-postThumb::before {
    content: "ガサガサ推奨";
    background: rgba(255, 145, 84, 0.94);
}

body.home .p-postList__item:nth-child(4n) .p-postList__thumb::before,
body.home .c-postList__item:nth-child(4n) .c-postThumb::before {
    content: "ファミリー向け";
    background: rgba(123, 149, 255, 0.92);
}

/* --------------------------------------
   Hard reset for broken top whitespace
--------------------------------------- */
body.home .l-mainView,
body.home .p-mainView,
body.home .l-mainVisual,
body.home .p-mainVisual,
body.home .c-mainVisual,
body.home .l-mainView *,
body.home .p-mainView * {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
}

/* Force hero image visible and fixed height */
body.home .l-mainView,
body.home .p-mainView,
body.home .l-mainVisual,
body.home .p-mainVisual,
body.home .c-mainVisual,
body.home .p-mainVisual__img,
body.home .c-mainVisual__img {
    display: block !important;
    height: 500px !important;
    max-height: 500px !important;
    overflow: hidden !important;
}

body.home .l-mainView img,
body.home .p-mainView img,
body.home .l-mainVisual img,
body.home .p-mainVisual img,
body.home .c-mainVisual img,
body.home .p-mainVisual__img img,
body.home .c-mainVisual__img img {
    display: block !important;
    width: 100% !important;
    height: 500px !important;
    object-fit: cover !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Keep distance between hero and list reasonable */
body.home .p-mainVisual + *,
body.home .c-mainVisual + *,
body.home .l-mainView + *,
body.home .p-mainView + * {
    margin-top: 40px !important;
}

/* --------------------------------------
   Remove top main visual completely
--------------------------------------- */
body.home .l-mainView,
body.home .p-mainView,
body.home .l-mainVisual,
body.home .p-mainVisual,
body.home .c-mainVisual,
body.home .p-mainVisual__img,
body.home .c-mainVisual__img,
body.home .p-mainVisual__inner,
body.home .p-mainVisual__textLayer,
body.home .p-mainVisual__text,
body.home .c-mainVisual__text,
body.home .main-visual,
body.home .mainVisual {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Collapse any remaining gap after hidden hero */
body.home .l-mainView + *,
body.home .p-mainView + *,
body.home .l-mainVisual + *,
body.home .p-mainVisual + *,
body.home .c-mainVisual + * {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.home .l-mainContent,
body.home .l-mainContent__inner,
body.home .post_content,
body.home .post_content > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Final override: hide main visual regardless body class */
.l-mainView,
.p-mainView,
.l-mainVisual,
.p-mainVisual,
.c-mainVisual,
.p-mainVisual__img,
.c-mainVisual__img,
.p-mainVisual__inner,
.p-mainVisual__textLayer,
.p-mainVisual__text,
.c-mainVisual__text,
.main-visual,
.mainVisual {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

.l-mainView + *,
.p-mainView + *,
.l-mainVisual + *,
.p-mainVisual + *,
.c-mainVisual + * {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Top bar links */
.rk-topbar {
    background: #ffffff !important;
    border-bottom: 1px solid #e9f1f0 !important;
}

.rk-topbar__inner {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 10px 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
}

.rk-topbar__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 7px 12px !important;
    border-radius: 999px !important;
    background: #f4fbfa !important;
    border: 1px solid #d9efec !important;
    color: #00a89a !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.rk-topbar__link:hover,
.rk-topbar__link:focus {
    background: #00c2b1 !important;
    border-color: #00c2b1 !important;
    color: #ffffff !important;
}

@media (max-width: 960px) {
    .rk-topbar__inner {
        justify-content: center !important;
        gap: 8px !important;
        padding: 8px 10px !important;
    }

    .rk-topbar__link {
        font-size: 11px !important;
        padding: 6px 10px !important;
    }
}

/* ======================================
   Aini-style booking UI refinement
====================================== */
:root {
    --aini-green: #00c2b1;
    --aini-text-soft: #4a4a4a;
    --aini-meta: #8a8a8a;
}

html,
body,
body *,
.post_content,
.entry-content {
    font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", "Meiryo", sans-serif !important;
    color: var(--aini-text-soft) !important;
}

/* 1) Card details: label + favorite + location */
.p-postList__item,
.c-postList__item,
.p-blogParts__postLink {
    position: relative !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #fff !important;
}

.p-postList__thumb,
.c-postThumb {
    position: relative !important;
}

.p-postList__thumb::before,
.c-postThumb::before {
    content: "予約受付中";
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    z-index: 8 !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: var(--aini-green) !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    line-height: 1 !important;
    box-shadow: 0 4px 12px rgba(0, 110, 101, 0.2) !important;
}

.p-postList__item::after,
.c-postList__item::after,
.p-blogParts__postLink::after {
    content: "♡";
    position: absolute !important;
    right: 10px !important;
    bottom: 10px !important;
    z-index: 8 !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    color: #7f7f7f !important;
    border: 1px solid #e7e7e7 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

.p-postList__title,
.c-postList__title,
.p-blogParts__title {
    position: relative !important;
    line-height: 1.6 !important;
    font-size: 14px !important;
    letter-spacing: 0.01em !important;
    padding-bottom: 18px !important;
}

.p-postList__title::after,
.c-postList__title::after,
.p-blogParts__title::after {
    content: "東京都 調布市";
    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;
    color: var(--aini-meta) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.2 !important;
}

/* 2) Typography softness */
p,
li,
dd,
dt,
span,
small,
.c-postTimes,
.p-postList__meta {
    color: var(--aini-text-soft) !important;
}

/* 3) Remove old blog-ish sidebar boundaries */
.l-content,
.l-mainContent,
.l-mainContent__inner,
.l-contents,
.l-contents__inner {
    background: #f5f6f7 !important;
}

.l-mainContent__inner {
    max-width: 1200px !important;
}

.l-mainContent {
    background: #fff !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05) !important;
    padding: 20px !important;
}

.l-sidebar,
.widget,
.c-widget {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.widget .c-widget__title,
.c-widget__title,
.wp-block-heading {
    border: none !important;
    background: transparent !important;
    color: #5e5e5e !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
}

/* 4) Header right area as faux search field */
.l-header__inner {
    position: relative !important;
    padding-right: 260px !important;
}

.l-header__inner::after {
    content: "⌕  体験をさがす";
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    min-width: 210px !important;
    padding: 9px 14px !important;
    border-radius: 999px !important;
    background: #f4f7f7 !important;
    border: 1px solid #dfe8e7 !important;
    color: #8b9796 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
}

@media (max-width: 960px) {
    .l-header__inner {
        padding-right: 16px !important;
    }

    .l-header__inner::after {
        display: none !important;
    }
}

/* Header menu replacement items */
.l-gnav .rk-header-nav__item > a,
.l-header .rk-header-nav__item > a {
    color: #4a4a4a !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    padding: 0.45em 0.8em !important;
    border-radius: 999px !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.l-gnav .rk-header-nav__item > a:hover,
.l-header .rk-header-nav__item > a:hover {
    color: #00c2b1 !important;
    background: #eefaf8 !important;
}

/* Move old legal links to subtle place */
.rk-legal-links {
    max-width: 1200px !important;
    margin: 12px auto 8px !important;
    padding: 0 14px !important;
    text-align: center !important;
    opacity: 0.7 !important;
}

.rk-legal-links a {
    color: #8f9a99 !important;
    font-size: 11px !important;
    margin: 0 8px !important;
    text-decoration: none !important;
}

.rk-legal-links a:hover {
    color: #00a89a !important;
}
