@charset "UTF-8";

/* ==========================================================================
   ギフトLP 専用CSS
   設置場所: /content/wp-content/themes/jin-child/css/gift.css
   バージョン: v0.2 (2026-05-07) ／ FVのみ・ラッキーセブン方式
   ========================================================================== */

.page-template-page-gift #main-contents {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
}

.page-template-page-gift #sidebar,
.page-template-page-gift .sidebar,
.page-template-page-gift aside {
    display: none !important;
}

.page-template-page-gift .cps-post-box,
.page-template-page-gift .cps-post,
.page-template-page-gift .cps-post-main-box,
.page-template-page-gift .cps-post-main {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.page-template-page-gift .cps-post-header,
.page-template-page-gift .cps-post-meta,
.page-template-page-gift .cps-post-thumb,
.page-template-page-gift .single-share,
.page-template-page-gift .post-share,
.page-template-page-gift .related-posts,
.page-template-page-gift .post-pagination,
.page-template-page-gift .comments,
.page-template-page-gift #comments {
    display: none !important;
}

.page-template-page-gift footer dl.footMenu {
    display: block;
}

/* =========================
   ラッパー & セクション共通
   ========================= */
#gift-wrapper {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #FBF6F0;
}

.gift-section {
    position: relative;
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    padding: 0;
    line-height: 0;
}

.gift-img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    vertical-align: bottom;
}

/* =========================
   オーバーレイ共通
   ========================= */
.gift-overlay {
    position: absolute;
    display: block;
    text-decoration: none;
    cursor: pointer;
    z-index: 10;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.05);
    transition: opacity 0.15s ease;
}

a.gift-overlay:hover {
    opacity: 0.85;
}

.gift-overlay:focus-visible {
    outline: 3px solid #FF7000;
    outline-offset: -3px;
}

/* =========================
   FV
   ========================= */

/* CTA「プランを見る」: 画像 y=1007-1100, x=71-630 から算出 */
.gift-fv-cta {
    top: 14.81%;
    left: 9%;
    right: 15.5%;
    height: 1.29%;
    border-radius: 999px;
}

/* 動画オーバーレイ: 画像 y=102-524, x=18-735 から算出（写真エリア全体） */
.gift-fv-movie {
    top: 1.05%;
    left: 2.4%;
    right: 1.9%;
    height: 5.45%;
    overflow: hidden;
    border-radius: 18px;
    background: transparent;
}

.gift-fv-movie__gif {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.2s ease;
    display: block;
}

.gift-fv-movie.is-playing .gift-fv-movie__gif {
    opacity: 1;
}

/* =========================
   商品スライダー
   ========================= */
.gift-products {
    background: #FBF6F0;
    padding: 20px 0 18px;
    overflow: hidden;
}

.gift-plan-slider {
    width: 100%;
    margin: 0;
    padding: 0;
    visibility: hidden;
    line-height: 0;
}

.gift-plan-slider.slick-initialized {
    visibility: visible;
}

.gift-plan-card {
    position: relative;
    padding: 0 6px;
    box-sizing: border-box;
    line-height: 0;
}

.gift-plan-card__img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.gift-plan-card__link {
    position: absolute;
    top: 0;
    left: 6px;
    right: 6px;
    bottom: 0;
    z-index: 5;
    display: block;
    text-decoration: none;
    border-radius: 18px;
    -webkit-tap-highlight-color: rgba(255, 112, 0, 0.1);
    transition: opacity 0.15s ease;
}

.gift-plan-card__link:hover {
    opacity: 0.92;
}

.gift-plan-card__link:focus-visible {
    outline: 3px solid #FF7000;
    outline-offset: -3px;
}

/* 中央以外のカードは少し透過 */
.gift-plan-slider .slick-slide {
    transition: opacity 0.25s ease;
}

.gift-plan-slider .slick-slide:not(.slick-current) {
    opacity: 0.55;
}

/* 左右矢印 */
.gift-plan-arrow {
    position: absolute;
    top: 38%;
    z-index: 8;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #FFFFFF;
    color: #231815;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.15s ease, background 0.15s ease;
}

.gift-plan-arrow:hover {
    background: #FFF8E2;
}

.gift-plan-arrow.slick-disabled {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.gift-plan-arrow--prev {
    left: 6px;
}

.gift-plan-arrow--next {
    right: 6px;
}

.gift-plan-arrow svg {
    display: block;
}

/* ドット（カスタム：色付き◯ + プラン名 + 価格）
   slick-theme.css の固定値(20x20pxなど)を !important で上書き */
.gift-plan-slider .slick-dots {
    position: relative !important;
    bottom: auto !important;
    margin: 18px 0 0 !important;
    padding: 0 12px !important;
    display: flex !important;
    justify-content: center;
    gap: 6%;
    list-style: none;
    line-height: 1.3;
    width: 100%;
    box-sizing: border-box;
}

.gift-plan-slider .slick-dots li {
    position: static !important;
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto;
    cursor: pointer;
}

.gift-plan-slider .slick-dots li button {
    position: static !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    padding: 6px 4px 4px !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    font-size: inherit !important;
    line-height: 1.3 !important;
    color: inherit !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    cursor: pointer;
    opacity: 0.45;
    transition: opacity 0.2s ease;
    -webkit-tap-highlight-color: transparent;
}

.gift-plan-slider .slick-dots li button:before,
.gift-plan-slider .slick-dots li button:after {
    content: none !important;
    display: none !important;
}

.gift-plan-slider .slick-dots li.slick-active button {
    opacity: 1;
}

.gift-plan-dot__circle {
    display: block !important;
    width: 14px !important;
    height: 14px !important;
    border-radius: 50% !important;
    flex-shrink: 0;
}

.gift-plan-dot__label {
    display: block !important;
    font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Yu Gothic", "メイリオ", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #231815 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
}

.gift-plan-dot__price {
    display: block !important;
    font-family: "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Yu Gothic", "メイリオ", sans-serif !important;
    font-size: 11px !important;
    color: #727171 !important;
    line-height: 1.2 !important;
    white-space: nowrap;
}

/* 750px以上の画面（スマホ表示の最大幅）でフォントサイズを上げる */
@media (min-width: 600px) {
    .gift-plan-dot__label {
        font-size: 15px !important;
    }
    .gift-plan-dot__price {
        font-size: 13px !important;
    }
    .gift-plan-arrow {
        width: 46px;
        height: 46px;
    }
}

/* =========================
   FAQ
   ========================= */

/* FAQバナー画像（送料無料帯+タイトル装飾）はフルワイド表示 */
.gift-faq-banner {
    background: #FEFEFE;
    padding: 0;
    line-height: 0;
}

.gift-faq-banner .gift-img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}

/* FAQアコーディオン本体 */
.gift-faq {
    background: #FEFEFE;
    padding: 0 5.3% 36px;
    box-sizing: border-box;
}

.gift-faq__title-img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 18px;
}

.gift-faq__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    line-height: 1;
    padding: 0;
}

/* 個別アイテム */
.gift-faq__item {
    background: #FFFFFF;
    border-radius: 14px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    transition: background 0.2s ease;
}

.gift-faq__item.is-highlight {
    background: #FFF5E6;
}

/* Qボタン */
.gift-faq__q {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    width: 100%;
    padding: 18px 18px 18px 18px;
    border: none;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-family: dnp-shuei-mgothic-std, "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Yu Gothic", "メイリオ", sans-serif;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
}

.gift-faq__q:focus-visible {
    outline: 2px solid #FF7000;
    outline-offset: -4px;
    border-radius: 16px;
}

/* Qマーク（オレンジ円に白Q） */
.gift-faq__q-mark {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #FF7000;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Georgia", "Times New Roman", serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    margin-top: 1px;
}

/* 質問テキスト */
.gift-faq__q-text {
    flex: 1 1 auto;
    color: #231815;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.55;
    padding-top: 4px;
}

/* Q4のバッジ */
.gift-faq__badge {
    display: inline-block;
    margin-top: 10px;
    padding: 7px 16px;
    background: #FF8C42;
    color: #FFFFFF;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

/* + / − アイコン */
.gift-faq__icon {
    flex: 0 0 auto;
    position: relative;
    width: 22px;
    height: 22px;
    margin-top: 10px;
}

.gift-faq__icon-bar {
    position: absolute;
    background: #00C8F3;
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.gift-faq__icon-bar--h {
    top: 50%;
    left: 0;
    right: 0;
    height: 3px;
    transform: translateY(-50%);
}

.gift-faq__icon-bar--v {
    top: 0;
    bottom: 0;
    left: 50%;
    width: 3px;
    transform: translateX(-50%);
}

.gift-faq__item.is-open .gift-faq__icon-bar--v {
    transform: translateX(-50%) scaleY(0);
    opacity: 0;
}

/* 回答エリア */
.gift-faq__a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.gift-faq__item.is-open .gift-faq__a {
    max-height: 600px;
}

.gift-faq__a-inner {
    padding: 0 18px 18px 68px;
    color: #555050;
    font-family: dnp-shuei-mgothic-std, "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ ProN W4", "Yu Gothic", "メイリオ", sans-serif;
    font-size: 15px;
    line-height: 1.75;
    font-weight: 300;
}

/* 600px以上の画面ではフォントを少し大きく */
@media (min-width: 600px) {
    .gift-faq__q-mark {
        width: 42px;
        height: 42px;
        font-size: 26px;
    }
    .gift-faq__q-text {
        font-size: 19px;
    }
    .gift-faq__badge {
        font-size: 16px;
        padding: 8px 18px;
    }
    .gift-faq__icon {
        width: 26px;
        height: 26px;
    }
    .gift-faq__a-inner {
        font-size: 17px;
        padding: 0 22px 22px 78px;
    }
}

/* =========================
   お問い合わせ + 下部送料無料帯（contact.png）
   ※ contact.pngは「お問い合わせカード（〜70%）」+「送料無料帯（70%〜）」の構成
   ========================= */
.gift-contact {
    background: #FBF6F0;
    padding: 0;
}

.gift-contact .gift-img {
    display: block;
    width: 100%;
    height: auto;
}

/* お問い合わせ内の透明アンカー（電話・LINE・メール）
   contact.png（752×682）内の位置を % で指定 */
.gift-contact-tel {
    /* 「📞 047-702-5550」電話番号エリア */
    top: 42%;
    left: 4%;
    width: 46%;
    height: 18%;
    border-radius: 8px;
}

.gift-contact-line {
    /* 「LINEで相談する」ボタンエリア */
    top: 44%;
    right: 5%;
    width: 44%;
    height: 12%;
    border-radius: 999px;
}

.gift-contact-mail {
    /* メールアドレス「support@kids-laboratory.co.jp」 */
    top: 60%;
    left: 18%;
    right: 18%;
    height: 8%;
    border-radius: 8px;
}

/* =========================
   デバッグ表示（位置調整用） — 現在OFF
   有効化する場合は下の .gift-overlay ルールのコメントアウトを外す
   ========================= */

/*
.gift-overlay {
    background: rgba(255, 0, 255, 0.45) !important;
    border: 4px solid #FF00FF !important;
    box-shadow: 0 0 0 2px #FFFFFF !important;
}
*/

@media print {
    .gift-overlay {
        display: none;
    }
}
