/*
Theme Name: SWELL CHILD (Aqua Forest SOHO)
Template: swell
Version: 1.0.0
Description: soho.aqua-forest.com 用の SWELL 子テーマ。管理元: Ventures リポジトリ sites/aqua-forest-soho/wp/themes/swell_child/
*/

/* ── 配色（ベース・メイン・アクセントの3色） ───────────────── */
:root {
    --aqua-base: #f6f6f2;   /* 生成り（ロゴの地） */
    --aqua-main: #3d6763;   /* 深い青緑（ロゴの文字） */
    --aqua-accent: #5e7a22; /* 深めの黄緑（白文字で読める濃さ） */
    --aqua-leaf: #8ea83d;   /* ロゴ本来の黄緑。線・飾りのみに使う（白文字は載せない） */
}

/* ── トップ：帯のセクションは画面幅いっぱい、中身は読みやすい幅に ─────── */
/* 画面幅いっぱいにする位置計算は SWELL の .alignfull に任せ、ここでは上下の余白だけ消す */
.post_content .aqua-hero.alignfull,
.post_content .aqua-section.alignfull,
.post_content .aqua-cta.alignfull {
    margin-top: 0;
    margin-bottom: 0;
}
.aqua-hero > *,
.aqua-section > *,
.aqua-cta > * {
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}
.aqua-hero > .aqua-hero__text {
    max-width: 40em;
}

/* ── トップ：ファーストビュー ─────────────────────────────── */
.aqua-hero {
    padding: 72px 24px 64px;
    background: linear-gradient(135deg, #ffffff 0%, var(--aqua-base) 60%, #e9efe0 100%);
    border-bottom: 4px solid var(--aqua-leaf);
    text-align: center;
}
.aqua-hero__lead {
    color: var(--aqua-main);
    font-weight: 700;
    letter-spacing: .08em;
    font-size: 0.95em;
}
.aqua-hero .aqua-hero__title {
    margin: .4em 0 .6em;
    color: var(--aqua-main);
    font-size: clamp(1.6rem, 4.2vw, 2.6rem);
    line-height: 1.45;
    border: none;
    padding: 0;
    background: none;
}
.aqua-hero__text {
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.9;
}
.aqua-hero__buttons {
    justify-content: center;
    gap: 16px;
    margin-top: 2em;
}

/* ── ボタン：主操作は1つだけ目立たせる ─────────────────────── */
.aqua-btn-primary .wp-block-button__link {
    background: var(--aqua-accent);
    color: #fff;
    font-weight: 700;
    padding: 1em 2.4em;
    border-radius: 999px;
}
.aqua-btn-primary .wp-block-button__link:hover,
.aqua-btn-primary .wp-block-button__link:focus-visible {
    background: #4d6619;
}
.aqua-btn-secondary .wp-block-button__link {
    color: var(--aqua-main);
    border: 2px solid var(--aqua-main);
    background: transparent;
    padding: .9em 2em;
    border-radius: 999px;
}

/* ── トップ：各セクション ─────────────────────────────────── */
.aqua-section {
    padding: 64px 24px;
}
.aqua-section--tint {
    background: var(--aqua-base);
}
.post_content .aqua-hero h1,
.post_content .aqua-section h2,
.post_content .aqua-cta h2,
.post_content .aqua-feature h3 {
    border: none;
    background: none;
    box-shadow: none;
}
.post_content .aqua-hero h1::before,
.post_content .aqua-section h2::before,
.post_content .aqua-cta h2::before,
.post_content .aqua-cta h2::after,
.post_content .aqua-feature h3::before,
.post_content .aqua-feature h3::after {
    content: none;
    display: none;
}
.post_content .aqua-section .aqua-section__title {
    color: var(--aqua-main);
    border: none;
    background: none;
    padding: 0 0 .6em;
    margin-bottom: 1.4em;
    position: relative;
}
.post_content .aqua-section .aqua-section__title::after {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 48px;
    height: 3px;
    margin-left: -24px;
    background: var(--aqua-leaf);
}
.aqua-section__more a {
    color: var(--aqua-main);
    font-weight: 700;
}
.aqua-section__more a::after {
    content: " →";
}

.aqua-features {
    gap: 24px;
}
.aqua-feature {
    background: #fff;
    border: 1px solid #e3e6dc;
    border-top: 4px solid var(--aqua-main);
    border-radius: 8px;
    padding: 28px 24px;
}
.aqua-feature__num {
    color: var(--aqua-leaf);
    font-weight: 700;
    font-size: 1.6em;
    margin-bottom: .2em;
}
.aqua-feature h3 {
    color: var(--aqua-main);
    font-size: 1.15em;
    line-height: 1.5;
    border: none;
    padding: 0;
    margin: 0 0 .8em;
}
.aqua-feature h3::before {
    display: none;
}

.aqua-works.wp-block-latest-posts {
    padding: 0;
}
.aqua-works.wp-block-latest-posts.is-grid li {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
    padding-bottom: 12px;
}
.aqua-works .wp-block-latest-posts__featured-image img {
    width: 100%;
    aspect-ratio: 10 / 7;
    object-fit: cover;
}
.aqua-works .wp-block-latest-posts__post-title {
    display: block;
    padding: 8px 14px 0;
    color: var(--aqua-main);
    font-weight: 700;
}

.post_content ul.aqua-faq-links {
    max-width: 40em;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.post_content .aqua-faq-links li {
    border-bottom: 1px solid #e3e6dc;
    padding-left: 0;
    margin: 0;
}
.post_content .aqua-faq-links li::before {
    content: none;
    display: none;
}
.aqua-faq-links li a {
    display: block;
    padding: 14px 8px 14px 2.2em;
    position: relative;
    color: var(--text_color, #333);
}
.aqua-faq-links li a::before {
    content: "Q";
    position: absolute;
    left: 6px;
    color: var(--aqua-main);
    font-weight: 700;
}

/* ── トップ：お問い合わせの帯 ─────────────────────────────── */
.aqua-cta {
    padding: 64px 24px;
    background: var(--aqua-main);
    color: #fff;
}
.aqua-cta .aqua-cta__title {
    color: #fff;
    border: none;
    background: none;
    padding: 0;
}

/* ── 制作実績の表（mu-plugin が本文の前に出す） ─────────────── */
.worksbox {
    width: 100%;
    margin-bottom: 2em;
    border-collapse: collapse;
}
.worksbox th,
.worksbox td {
    border: 1px solid #e3e6dc;
    padding: .7em 1em;
}
.worksbox th {
    width: 7em;
    background: var(--aqua-base);
    color: var(--aqua-main);
    white-space: nowrap;
}

/* ── よくある質問の一覧（[faqlist]） ───────────────────────── */
.faq-list ul {
    list-style: none;
    padding: 0;
}
.faq-list li {
    border-bottom: 1px solid #e3e6dc;
}
.faq-list li a {
    display: block;
    padding: .8em .4em;
}

@media (max-width: 599px) {
    .aqua-hero { padding: 48px 16px 40px; }
    .aqua-section, .aqua-cta { padding: 44px 16px; }
    .worksbox th { width: 5.5em; }
}

/* 見出しを日本語の文節で折り返す（「ホームペー／ジ」のような途中改行を防ぐ。対応ブラウザのみ） */
.aqua-hero h1,
.aqua-section h2,
.aqua-cta h2,
.aqua-feature h3,
.aqua-hero__lead {
    word-break: auto-phrase;
}

/* 制作実績：制作当時の画面（[browser-shot]） */
.aqua-work-shot {
    margin: 0 0 2em;
    text-align: center;
}
.post_content .aqua-work-shot__img {
    /* 当時の画像は小さい（200x140 程度）ので、引き伸ばさず元の大きさで出す */
    width: auto;
    max-width: 100%;
    height: auto;
    border: 1px solid #e3e6dc;
    border-radius: 6px;
}
.aqua-work-shot figcaption {
    margin-top: .5em;
    font-size: .85em;
    color: #666;
}

/* ── レビュー反映（2026-10-07） ───────────────────────────── */

/* トップはヘッダー直下からファーストビュー、相談の帯の直後がフッター */
/* SWELL が後から出す .top #content { padding-top: 4em } より強い指定にする */
#body_wrap.home #content {
    padding-top: 0;
    margin-bottom: 0;
}

/* ヘッダーの「お問い合わせ」をボタンにする（メニュー項目のクラス is-cta） */
.c-gnav > .menu-item.is-cta {
    display: flex;
    align-items: center;
}
.c-gnav > .menu-item.is-cta > a {
    background: var(--aqua-accent);
    border-radius: 999px;
    margin-left: .6em;
    padding: 0 1.4em;
    height: 40px;
    line-height: 1;
    display: flex;
    align-items: center;
}
.c-gnav > .menu-item.is-cta > a,
.c-gnav > .menu-item.is-cta > a .ttl {
    color: #fff;
}
.c-gnav > .menu-item.is-cta > a::after {
    display: none;
}
/* スマホ下部の固定メニューも、お問い合わせだけ塗りにする */
.p-fixBtnWrap .is-cta a,
.l-fixBottomMenu .is-cta a,
#fix_bottom_menu .is-cta a {
    background: var(--aqua-accent);
    color: #fff;
}

/* 「〜を見る →」を押せる見た目（枠線の副ボタン）に */
.aqua-section__more {
    margin-top: 2em;
}
.aqua-section__more a {
    display: inline-block;
    padding: .7em 1.8em;
    border: 2px solid var(--aqua-main);
    border-radius: 999px;
    text-decoration: none;
    transition: background .2s, color .2s;
}
.aqua-section__more a:hover,
.aqua-section__more a:focus-visible {
    background: var(--aqua-main);
    color: #fff;
}

/* 3本柱：番号・見出し・本文の左端をそろえる */
.post_content .aqua-feature h3 {
    padding-left: 0;
}

/* 制作実績のカード：上端を基準に切り抜き、押せることが分かるように浮かせる */
.aqua-works .wp-block-latest-posts__featured-image img {
    object-position: top;
}
.aqua-works.wp-block-latest-posts.is-grid li {
    transition: transform .2s, box-shadow .2s;
}
.aqua-works.wp-block-latest-posts.is-grid li:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, .12);
}

/* 相談の帯：濃い緑の上でボタンが沈まないよう白い枠線を付ける */
.aqua-cta .aqua-btn-primary .wp-block-button__link {
    border: 2px solid #fff;
}

/* 見出しの行の長さをそろえる（対応ブラウザのみ） */
.aqua-hero h1,
.aqua-section h2,
.aqua-cta h2 {
    text-wrap: balance;
}

/* スマホ：長い本文は左揃え、2つのボタンは同じ幅 */
@media (max-width: 599px) {
    .aqua-hero__text,
    .aqua-cta p {
        text-align: left;
    }
    .aqua-hero__buttons .wp-block-button {
        width: 100%;
        max-width: 320px;
    }
    .aqua-hero__buttons .wp-block-button__link {
        width: 100%;
    }
}

/* ── お問い合わせフォーム（Contact Form 7） ───────────────── */
.wpcf7 .aqua-form-row label {
    display: block;
    font-weight: 700;
}
.wpcf7 .aqua-form-row input[type="text"],
.wpcf7 .aqua-form-row input[type="email"],
.wpcf7 .aqua-form-row input[type="tel"],
.wpcf7 .aqua-form-row input[type="url"],
.wpcf7 .aqua-form-row textarea {
    width: 100%;
    margin-top: .4em;
    padding: .7em .8em;
    border: 1px solid #c9cfc4;
    border-radius: 6px;
    background: #fff;
    font-weight: 400;
}
.wpcf7 .aqua-req,
.wpcf7 .aqua-opt {
    display: inline-block;
    margin-left: .4em;
    padding: 0 .5em;
    border-radius: 3px;
    font-size: .75em;
    font-weight: 700;
    line-height: 1.7;
    vertical-align: middle;
}
/* 必須は色に加えて文字（必須）でも示す */
.wpcf7 .aqua-req {
    background: #b3261e;
    color: #fff;
}
.wpcf7 .aqua-opt {
    background: #e8e8e3;
    color: #555;
}
.wpcf7 .aqua-form-submit {
    text-align: center;
}
.wpcf7 .aqua-form-submit input[type="submit"] {
    min-width: 240px;
    padding: 1em 2.4em;
    border: none;
    border-radius: 999px;
    background: var(--aqua-accent);
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}
