/* === PREMIUM PLAN UPDATED STYLES === */
#post-3338 .entry-body {
    overflow: visible;
}

.lp-premium-wrapper {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

/* =============================================================
   プレミアムプラン専用スタイル ここから (lp-premium-wrapper)
   premium/index.html の .entry-body 内で使用
   このブロック内のスタイルは他ページに影響しません
   ============================================================= */
/* プレミアムページだけ親containerの幅制約を解除 */
#post-3543 .entry-body {
    overflow: visible;
}

.lp-premium-wrapper {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.sp-only {
    display: none;
}

@media (max-width: 767px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }
}

.lp-premium-wrapper {
    font-family: "Shippori Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
    background-color: #1a1a1a;
    background-image: radial-gradient(circle at 50% 30%, #2a2a2a 0%, #111 100%);
    background-attachment: fixed;
    color: #f0f0f0;
    line-height: 1.8;
    font-size: 16px;
    overflow-x: hidden;
    padding: 0;
    box-sizing: border-box;
}

.lp-premium-wrapper p,
.lp-premium-wrapper li,
.lp-premium-wrapper dd,
.lp-premium-wrapper dt,
.lp-premium-wrapper th,
.lp-premium-wrapper td,
.lp-premium-wrapper div {
    font-size: inherit;
}

.lp-premium-wrapper small,
.lp-premium-wrapper .lp-note,
.lp-premium-wrapper .lp-menu-note,
.lp-premium-wrapper .lp-tax {
    font-size: 16px;
}

.lp-premium-wrapper .u-nowrap {
    display: inline-block;
}

.lp-premium-wrapper * {
    box-sizing: border-box;
}

.lp-premium-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
    background-color: #2a2a2a;
}

.lp-premium-wrapper a {
    text-decoration: none;
    transition: opacity 0.3s;
}

.lp-premium-wrapper a:hover {
    opacity: 0.8;
}

.lp-premium-wrapper .lp-container {
    max-width: 1300px;
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.lp-premium-wrapper .lp-section {
    padding: 70px 0;
    position: relative;
}

.lp-premium-wrapper .lp-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 1px;
    background: linear-gradient(to right, transparent, #444, transparent);
}

.lp-premium-wrapper .lp-section:last-child::after {
    display: none;
}

.lp-premium-wrapper .lp-section-title {
    font-size: 26px;
    text-align: center;
    margin-bottom: 50px;
    color: #c5a059;
    font-weight: 500;
    letter-spacing: 0.15em;
    display: block;
    position: relative;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border: none;
    border-top: none;
    border-bottom: none;
    background: none;
    padding: 0;
}

.lp-premium-wrapper .lp-section-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: #c5a059;
    margin: 20px auto 0;
    border: none;
    position: static;
}

.lp-premium-wrapper h2,
.lp-premium-wrapper h3,
.lp-premium-wrapper h4 {
    background: none;
    border: none;
    color: inherit;
    padding: 0;
}

.lp-premium-wrapper h3::after {
    display: none;
}

/* Hero */
.lp-premium-wrapper .lp-hero {
    position: relative;
    height: 70vh;
    min-height: 550px;
    background-image: url("../assets/hero_bg.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.lp-premium-wrapper .lp-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));
    z-index: 1;
}

.lp-premium-wrapper .lp-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0 12px;
    color: #fff;
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.9);
}

.lp-premium-wrapper .lp-hero-copy {
    margin-bottom: 30px;
    border: none;
}

.lp-premium-wrapper .lp-hero-sub-text {
    display: block;
    font-size: 18px;
    letter-spacing: 0.2em;
    margin-bottom: 15px;
    color: #e6e6e6;
}

.lp-premium-wrapper .lp-hero-main-text {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #c5a059;
    line-height: 1.4;
    display: inline-block;
    padding-bottom: 10px;
}

.lp-premium-wrapper .lp-hero-desc {
    letter-spacing: 0.1em;
    line-height: 2.2;
}

/* Recommended */
.lp-premium-wrapper .lp-recommended {
    background-color: #252525;
    border-top: 1px solid #333;
    padding-top: 60px;
    padding-bottom: 60px;
}

.lp-premium-wrapper .lp-recommended-box {
    border: 2px solid #c5a059;
    padding: 40px 30px;
    background: rgba(197, 160, 89, 0.05);
    position: relative;
    text-align: center;
}

.lp-premium-wrapper .lp-recommended-title {
    display: inline-block;
    background: #252525;
    padding: 0 20px;
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    color: #c5a059;
    font-size: 22px;
    font-weight: bold;
    white-space: nowrap;
    border: none;
}

.lp-premium-wrapper .lp-recommended-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: inline-block;
    text-align: left;
}

.lp-premium-wrapper .lp-recommended-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    font-size: 18px;
    color: #f0f0f0;
}

.lp-premium-wrapper .lp-check-icon {
    color: #c5a059;
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
}

/* Cards */
.lp-premium-wrapper .lp-card {
    background: #252525;
    border: 1px solid #3a3a3a;
    margin-bottom: 40px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s;
}

.lp-premium-wrapper .lp-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.lp-premium-wrapper .lp-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lp-premium-wrapper .lp-card-body {
    padding: 12px;
}

.lp-premium-wrapper .lp-card-title {
    font-size: 24px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #444;
    padding-bottom: 15px;
    border-top: none;
}

.lp-premium-wrapper .lp-price {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
    text-align: right;
    color: #fff;
}

.lp-premium-wrapper .lp-tax {
    font-weight: normal;
    font-size: 16px;
}

/* Special Card */
.lp-premium-wrapper .lp-card-special {
    border: 1px solid #c5a059;
    position: relative;
    background: linear-gradient(135deg, #1a1a1a 0%, #251f15 100%);
    box-shadow: 0 0 30px rgba(197, 160, 89, 0.15);
}

.lp-premium-wrapper .lp-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(#800000, #5a0000);
    color: #fff;
    padding: 8px 25px;
    font-size: 16px;
    font-weight: bold;
    z-index: 10;
}

.lp-premium-wrapper .lp-special-lead {
    color: #ddd;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-special-content {
    margin-top: 20px;
}

.lp-premium-wrapper .lp-special-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px dashed rgba(197, 160, 89, 0.3);
    padding: 12px 0;
}

.lp-premium-wrapper .lp-main-row {
    flex-direction: column;
    align-items: flex-start;
}

.lp-premium-wrapper .lp-main-content {
    width: 100%;
}

.lp-premium-wrapper .lp-main-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-premium-wrapper .lp-ingredient {
    color: #fff;
    font-size: 19px;
}

.lp-premium-wrapper .lp-plus {
    color: #c5a059;
    font-size: 18px;
}

.lp-premium-wrapper .lp-experience {
    color: #c5a059;
    font-size: 18px;
}

.lp-premium-wrapper .lp-noodle-choices {
    font-size: 14px;
    color: #ccc;
    background: rgba(197, 160, 89, 0.1);
    border: 1px solid rgba(197, 160, 89, 0.3);
    padding: 4px 12px;
    border-radius: 20px;
    display: inline-block;
    margin-top: 8px;
}

.lp-premium-wrapper .lp-note-special {
    font-size: 14px;
    color: #999;
    margin-top: 15px;
}

/* Plan Items */
.lp-premium-wrapper .lp-card-lead {
    color: #ddd;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-plan-wrapper {
    margin-top: 20px;
}

.lp-premium-wrapper .lp-plan-guide {
    text-align: center;
    color: #c5a059;
    font-weight: bold;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-plan-item {
    border: 1px solid #444;
    padding: 20px;
    margin-bottom: 15px;
    background: rgba(255, 255, 255, 0.03);
}

.lp-premium-wrapper .lp-plan-head {
    margin-bottom: 10px;
}

.lp-premium-wrapper .lp-plan-badge {
    display: inline-block;
    background: #c5a059;
    color: #1a1a1a;
    padding: 4px 16px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 3px;
    margin-bottom: 10px;
}

.lp-premium-wrapper .lp-plan-name {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

.lp-premium-wrapper .lp-plan-desc {
    color: #ccc;
    line-height: 1.8;
}

/* Gouka Grid */
.lp-premium-wrapper .lp-goukaplan {
    background: #1a1a1a;
}

.lp-premium-wrapper .lp-gouka-lead {
    text-align: center;
    color: #ccc;
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-gouka-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.lp-premium-wrapper .lp-gouka-card {
    border-radius: 12px;
    border: 1px solid rgba(180, 150, 80, 0.35);
    overflow: hidden;
}

.lp-premium-wrapper .lp-gouka-card-inner {
    padding: 20px;
}

.lp-premium-wrapper .lp-gouka-badge-wrap {
    margin-bottom: 10px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-premium-wrapper .lp-gouka-price-badge {
    color: #d4af37;
    border: 1px solid rgba(212, 175, 55, 0.5);
    padding: 4px 12px;
    font-size: 14px;
    border-radius: 4px;
}

.lp-premium-wrapper .lp-gouka-label-badge {
    background: #d4af37;
    color: #1a1a1a;
    padding: 4px 12px;
    font-size: 14px;
    border-radius: 4px;
    font-weight: bold;
}

.lp-premium-wrapper .lp-gouka-title {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 10px;
    border: none;
}

.lp-premium-wrapper .lp-gouka-desc {
    color: #ccc;
    font-size: 15px;
    line-height: 1.7;
}

.lp-premium-wrapper .lp-gouka-featured {
    border-color: #d4af37;
    background: rgba(212, 175, 55, 0.05);
}

.lp-premium-wrapper .lp-gouka-note {
    text-align: center;
    color: #999;
    font-size: 14px;
    margin-top: 20px;
}

/* Options */
.lp-premium-wrapper .lp-option-block {
    margin-bottom: 40px;
    border: 1px solid #444;
    padding: 12px;
    background: #222;
}

.lp-premium-wrapper .lp-option-head {
    font-size: 22px;
    color: #c5a059;
    margin-bottom: 20px;
    border: none;
}

.lp-premium-wrapper .lp-option-grid {
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-option-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #444;
    padding: 12px;
}

.lp-premium-wrapper .lp-option-card-header {
    display: flex;
    gap: 12px;
}

.lp-premium-wrapper .lp-option-title-group {
    flex: 1;
}

.lp-premium-wrapper .lp-option-name {
    color: #f0f0f0;
    font-size: 19px;
    font-weight: bold;
    border: none;
    background: none;
}

.lp-premium-wrapper .lp-option-price {
    color: #c5a059;
}

.lp-premium-wrapper .lp-option-text {
    color: #ccc;
    margin-top: 10px;
}

.lp-premium-wrapper .lp-option-desc {
    color: #ccc;
    line-height: 1.8;
    margin-bottom: 20px;
}

/* CTA */
.lp-premium-wrapper .lp-cta {
    text-align: center;
}

.lp-premium-wrapper .lp-cta-box {
    padding: 40px 20px;
}

.lp-premium-wrapper .lp-cta-title {
    font-size: 28px;
    color: #c5a059;
    font-weight: bold;
    border: none;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-cta-text {
    color: #ddd;
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.lp-premium-wrapper .lp-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 40px;
    border-radius: 8px;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s;
    width: 100%;
    max-width: 480px;
}

.lp-premium-wrapper .lp-btn-web {
    background: linear-gradient(to right, #c5a059, #f0e68c, #c5a059);
    background-size: 200%;
    color: #000;
    font-weight: bold;
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right;
}

.lp-premium-wrapper .lp-btn-sub {
    font-size: 14px;
}

.lp-premium-wrapper .lp-btn-main {
    font-size: 20px;
    font-weight: bold;
}

/* Story/Concept */
.lp-premium-wrapper .lp-concept {
    background: linear-gradient(#111, #1a1a1a);
}

.lp-premium-wrapper .lp-story-block {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.lp-premium-wrapper .lp-story-row {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

.lp-premium-wrapper .lp-story-visual {
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    border: 1px solid #444;
}

.lp-premium-wrapper .lp-story-visual img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.lp-premium-wrapper .lp-story-content {
    width: 100%;
    text-align: justify;
}

.lp-premium-wrapper .lp-story-head {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #c5a059;
    padding-bottom: 5px;
    display: inline-block;
}

.lp-premium-wrapper .lp-story-text {
    color: #ddd;
    line-height: 1.9;
}

/* Gallery - PC: 3列グリッド, SP: 横スクロール */
.lp-premium-wrapper .lp-gallery .lp-scroll-snap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 0 40px;
}

.lp-premium-wrapper .lp-gallery .lp-scroll-item {
    overflow: hidden;
    border-radius: 6px;
}

.lp-premium-wrapper .lp-gallery .lp-scroll-item img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 6px;
}

/* Reviews - PC: 4列グリッド, SP: 横スクロール */
.lp-premium-wrapper .lp-reviews .lp-reviews-scroll {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 0;
}

.lp-premium-wrapper .lp-reviews .lp-scroll-item {
    overflow: hidden;
}

.lp-premium-wrapper .lp-review-screenshot {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

/* Options - PC: 2カラム */
.lp-premium-wrapper .lp-option-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* FAQ */
.lp-premium-wrapper .lp-faq {
    background-color: rgba(0, 0, 0, 0.3);
    padding-bottom: 80px;
}

.lp-premium-wrapper .lp-faq-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.lp-premium-wrapper .lp-faq-item {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #333;
    padding: 20px;
    border-radius: 8px;
}

.lp-premium-wrapper .lp-faq-q {
    color: #c5a059;
    font-size: 19px;
    margin-bottom: 10px;
    border: none;
}

.lp-premium-wrapper .lp-faq-q::after {
    display: none;
}

.lp-premium-wrapper .lp-faq-a {
    line-height: 1.8;
    padding-left: 20px;
    color: #ddd;
}

/* Modal */
.lp-premium-wrapper .lp-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.lp-premium-wrapper .lp-modal-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
}

.lp-premium-wrapper .lp-modal-content {
    max-width: 90%;
    max-height: 90vh;
}

/* PC/Tablet Media Queries */
@media (min-width: 768px) {
    .lp-premium-wrapper {
        font-size: 18px;
    }

    .lp-premium-wrapper .lp-section-title {
        font-size: 36px;
    }

    .lp-premium-wrapper .lp-hero {
        height: 750px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 52px;
    }

    .lp-premium-wrapper .lp-story-row {
        flex-direction: row;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-story-reverse {
        flex-direction: row-reverse;
    }

    .lp-premium-wrapper .lp-story-visual {
        width: 50%;
    }

    .lp-premium-wrapper .lp-story-content {
        width: 50%;
    }

    .lp-premium-wrapper .lp-grid-2col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-card-special {
        display: flex;
        align-items: stretch;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-image {
        width: 50%;
        aspect-ratio: auto;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-body {
        flex: 1;
        padding: 60px;
    }

    .lp-premium-wrapper .lp-faq-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .lp-premium-wrapper .lp-gouka-grid {
        grid-template-columns: 1fr;
    }

    .lp-premium-wrapper .lp-hero {
        height: 60vh;
        min-height: 400px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 28px;
    }

    .lp-premium-wrapper .lp-hero-sub-text {
        font-size: 15px;
    }

    .lp-premium-wrapper .lp-section {
        padding: 50px 0;
    }

    .lp-premium-wrapper .lp-card-body {
        padding: 15px;
    }

    /* SP: ギャラリー横スクロール */
    .lp-premium-wrapper .lp-gallery .lp-scroll-snap {
        display: flex;
        overflow-x: auto;
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 5% 40px;
    }

    .lp-premium-wrapper .lp-gallery .lp-scroll-item {
        flex: 0 0 auto;
    }

    .lp-premium-wrapper .lp-gallery .lp-scroll-item img {
        width: auto;
        height: 220px;
    }

    /* SP: レビュー横スクロール */
    .lp-premium-wrapper .lp-reviews .lp-reviews-scroll {
        display: flex;
        overflow-x: auto;
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 5% 40px;
    }

    .lp-premium-wrapper .lp-reviews .lp-scroll-item {
        flex: 0 0 auto;
    }

    .lp-premium-wrapper .lp-review-screenshot {
        width: auto;
        height: 300px;
    }

    /* SP: オプション1カラム */
    .lp-premium-wrapper .lp-option-grid-2col {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   ホバーエフェクト
   ============================================= */
.lp-premium-wrapper .lp-story-visual img {
    transition: transform 0.5s;
}

.lp-premium-wrapper .lp-story-visual:hover img {
    transform: scale(1.05);
}

.lp-premium-wrapper .lp-card:hover {
    transform: translateY(-2px);
}

.lp-premium-wrapper .lp-card-image img {
    transition: transform 0.4s;
}

.lp-premium-wrapper .lp-card:hover .lp-card-image img {
    transform: scale(1.03);
}

.lp-premium-wrapper .lp-option-card {
    transition: background 0.3s;
}

.lp-premium-wrapper .lp-option-card:hover {
    background: rgba(255, 255, 255, 0.08);
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right center;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197, 160, 89, 0.6);
    opacity: 1;
}

.lp-premium-wrapper .lp-btn-tel:hover {
    background: #c5a059;
    color: #000;
}

.lp-gouka-card {
    transition: transform 0.3s, box-shadow 0.3s;
}

.lp-gouka-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.lp-premium-wrapper .lp-review-screenshot {
    cursor: pointer;
    transition: opacity 0.3s, transform 0.3s;
}

.lp-premium-wrapper .lp-review-screenshot:hover {
    opacity: 0.8;
    transform: scale(1.02);
}

.lp-premium-wrapper .lp-faq-item {
    transition: background 0.3s, border-color 0.3s;
}

.lp-premium-wrapper .lp-faq-item:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: #c5a059;
}

.lp-premium-wrapper .lp-plan-item {
    transition: border-color 0.3s, background 0.3s;
}

.lp-premium-wrapper .lp-plan-item:hover {
    border-color: #c5a059;
    background: rgba(197, 160, 89, 0.05);
}

.lp-modal-close:hover,
.lp-modal-close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* =============================================================
   プレミアムプラン専用スタイル ここまで
   ============================================================= */

/* === PREMIUM PLAN UPDATED STYLES === */
#post-3338 .entry-body {
    overflow: visible;
}

.lp-premium-wrapper {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.lp-premium-wrapper {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.sp-only {
    display: none;
}

@media (max-width: 767px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }
}

.lp-premium-wrapper {
    font-family: "Shippori Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
    background-color: #1a1a1a;
    background-image: radial-gradient(circle at 50% 30%, #2a2a2a 0%, #111 100%);
    background-attachment: fixed;
    color: #f0f0f0;
    line-height: 1.8;
    font-size: 16px;
    overflow-x: hidden;
    padding: 0;
    box-sizing: border-box;
}

.lp-premium-wrapper p,
.lp-premium-wrapper li,
.lp-premium-wrapper dd,
.lp-premium-wrapper dt,
.lp-premium-wrapper th,
.lp-premium-wrapper td,
.lp-premium-wrapper div {
    font-size: inherit;
}

.lp-premium-wrapper small,
.lp-premium-wrapper .lp-note,
.lp-premium-wrapper .lp-menu-note,
.lp-premium-wrapper .lp-tax {
    font-size: 16px;
}

.lp-premium-wrapper .u-nowrap {
    display: inline-block;
}

.lp-premium-wrapper * {
    box-sizing: border-box;
}

.lp-premium-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
    background-color: #2a2a2a;
}

.lp-premium-wrapper a {
    text-decoration: none;
    transition: opacity 0.3s;
}

.lp-premium-wrapper a:hover {
    opacity: 0.8;
}

.lp-premium-wrapper .lp-container {
    max-width: 1300px;
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.lp-premium-wrapper .lp-section {
    padding: 70px 0;
    position: relative;
}

.lp-premium-wrapper .lp-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 1px;
    background: linear-gradient(to right, transparent, #444, transparent);
}

.lp-premium-wrapper .lp-section:last-child::after {
    display: none;
}

.lp-premium-wrapper .lp-section-title {
    font-size: 26px;
    text-align: center;
    margin-bottom: 50px;
    color: #c5a059;
    font-weight: 500;
    letter-spacing: 0.15em;
    display: block;
    position: relative;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border: none;
    border-top: none;
    border-bottom: none;
    background: none;
    padding: 0;
}

.lp-premium-wrapper .lp-section-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: #c5a059;
    margin: 20px auto 0;
    border: none;
    position: static;
}

.lp-premium-wrapper h2,
.lp-premium-wrapper h3,
.lp-premium-wrapper h4 {
    background: none;
    border: none;
    color: inherit;
    padding: 0;
}

.lp-premium-wrapper h3::after {
    display: none;
}

/* Hero */
.lp-premium-wrapper .lp-hero {
    position: relative;
    height: 70vh;
    min-height: 550px;
    background-image: url("../assets/hero_bg.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.lp-premium-wrapper .lp-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));
    z-index: 1;
}

.lp-premium-wrapper .lp-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0 12px;
    color: #fff;
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.9);
}

.lp-premium-wrapper .lp-hero-copy {
    margin-bottom: 30px;
    border: none;
}

.lp-premium-wrapper .lp-hero-sub-text {
    display: block;
    font-size: 18px;
    letter-spacing: 0.2em;
    margin-bottom: 15px;
    color: #e6e6e6;
}

.lp-premium-wrapper .lp-hero-main-text {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #c5a059;
    line-height: 1.4;
    display: inline;
}

.lp-premium-wrapper .lp-hero-desc {
    letter-spacing: 0.1em;
    line-height: 2.2;
}

/* Recommended */
.lp-premium-wrapper .lp-recommended {
    background-color: #252525;
    border-top: 1px solid #333;
    padding-top: 60px;
    padding-bottom: 60px;
}

.lp-premium-wrapper .lp-recommended-box {
    border: 2px solid #c5a059;
    padding: 40px 30px;
    background: rgba(197, 160, 89, 0.05);
    position: relative;
    text-align: center;
}

.lp-premium-wrapper .lp-recommended-title {
    display: inline-block;
    background: #252525;
    padding: 0 20px;
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    color: #c5a059;
    font-size: 22px;
    font-weight: bold;
    white-space: nowrap;
    border: none;
}

.lp-premium-wrapper .lp-recommended-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: inline-block;
    text-align: left;
}

.lp-premium-wrapper .lp-recommended-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    font-size: 18px;
    color: #f0f0f0;
}

.lp-premium-wrapper .lp-check-icon {
    color: #c5a059;
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
}

/* Cards */
.lp-premium-wrapper .lp-card {
    background: #252525;
    border: 1px solid #3a3a3a;
    margin-bottom: 40px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s;
}

.lp-premium-wrapper .lp-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.lp-premium-wrapper .lp-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lp-premium-wrapper .lp-card-body {
    padding: 12px;
}

.lp-premium-wrapper .lp-card-title {
    font-size: 24px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #444;
    padding-bottom: 15px;
    border-top: none;
}

.lp-premium-wrapper .lp-price {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
    text-align: right;
    color: #fff;
}

.lp-premium-wrapper .lp-tax {
    font-weight: normal;
    font-size: 16px;
}

/* Special Card */
.lp-premium-wrapper .lp-card-special {
    border: 1px solid #c5a059;
    position: relative;
    background: linear-gradient(135deg, #1a1a1a 0%, #251f15 100%);
    box-shadow: 0 0 30px rgba(197, 160, 89, 0.15);
}

.lp-premium-wrapper .lp-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(#800000, #5a0000);
    color: #fff;
    padding: 8px 25px;
    font-size: 16px;
    font-weight: bold;
    z-index: 10;
}

.lp-premium-wrapper .lp-special-lead {
    color: #ddd;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-special-content {
    margin-top: 20px;
}

.lp-premium-wrapper .lp-special-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px dashed rgba(197, 160, 89, 0.3);
    padding: 12px 0;
}

.lp-premium-wrapper .lp-main-row {
    flex-direction: column;
    align-items: flex-start;
}

.lp-premium-wrapper .lp-main-content {
    width: 100%;
}

.lp-premium-wrapper .lp-main-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-premium-wrapper .lp-ingredient {
    color: #fff;
    font-size: 19px;
}

.lp-premium-wrapper .lp-plus {
    color: #c5a059;
    font-size: 18px;
}

.lp-premium-wrapper .lp-experience {
    color: #c5a059;
    font-size: 18px;
}

.lp-premium-wrapper .lp-noodle-choices {
    font-size: 14px;
    color: #ccc;
    background: rgba(197, 160, 89, 0.1);
    border: 1px solid rgba(197, 160, 89, 0.3);
    padding: 4px 12px;
    border-radius: 20px;
    display: inline-block;
    margin-top: 8px;
}

.lp-premium-wrapper .lp-note-special {
    font-size: 14px;
    color: #999;
    margin-top: 15px;
}

/* Plan Items */
.lp-premium-wrapper .lp-card-lead {
    color: #ddd;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-plan-wrapper {
    margin-top: 20px;
}

.lp-premium-wrapper .lp-plan-guide {
    text-align: center;
    color: #c5a059;
    font-weight: bold;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-plan-item {
    border: 1px solid #444;
    padding: 20px;
    margin-bottom: 15px;
    background: rgba(255, 255, 255, 0.03);
}

.lp-premium-wrapper .lp-plan-head {
    margin-bottom: 10px;
}

.lp-premium-wrapper .lp-plan-badge {
    display: inline-block;
    background: #c5a059;
    color: #1a1a1a;
    padding: 4px 16px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 3px;
    margin-bottom: 10px;
}

.lp-premium-wrapper .lp-plan-name {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

.lp-premium-wrapper .lp-plan-desc {
    color: #ccc;
    line-height: 1.8;
}

/* Gouka Grid */
.lp-premium-wrapper .lp-goukaplan {
    background: #1a1a1a;
}

.lp-premium-wrapper .lp-gouka-lead {
    text-align: center;
    color: #ccc;
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-gouka-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.lp-premium-wrapper .lp-gouka-card {
    border-radius: 12px;
    border: 1px solid rgba(180, 150, 80, 0.35);
    overflow: hidden;
}

.lp-premium-wrapper .lp-gouka-card-inner {
    padding: 20px;
}

.lp-premium-wrapper .lp-gouka-badge-wrap {
    margin-bottom: 10px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-premium-wrapper .lp-gouka-price-badge {
    color: #d4af37;
    border: 1px solid rgba(212, 175, 55, 0.5);
    padding: 4px 12px;
    font-size: 14px;
    border-radius: 4px;
}

.lp-premium-wrapper .lp-gouka-label-badge {
    background: #d4af37;
    color: #1a1a1a;
    padding: 4px 12px;
    font-size: 14px;
    border-radius: 4px;
    font-weight: bold;
}

.lp-premium-wrapper .lp-gouka-title {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 10px;
    border: none;
}

.lp-premium-wrapper .lp-gouka-desc {
    color: #ccc;
    font-size: 15px;
    line-height: 1.7;
}

.lp-premium-wrapper .lp-gouka-featured {
    border-color: #d4af37;
    background: rgba(212, 175, 55, 0.05);
}

.lp-premium-wrapper .lp-gouka-note {
    text-align: center;
    color: #999;
    font-size: 14px;
    margin-top: 20px;
}

/* Options */
.lp-premium-wrapper .lp-option-block {
    margin-bottom: 40px;
    border: 1px solid #444;
    padding: 12px;
    background: #222;
}

.lp-premium-wrapper .lp-option-head {
    font-size: 22px;
    color: #c5a059;
    margin-bottom: 20px;
    border: none;
}

.lp-premium-wrapper .lp-option-grid {
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-option-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #444;
    padding: 12px;
}

.lp-premium-wrapper .lp-option-card-header {
    display: flex;
    gap: 12px;
}

.lp-premium-wrapper .lp-option-title-group {
    flex: 1;
}

.lp-premium-wrapper .lp-option-name {
    color: #f0f0f0;
    font-size: 19px;
    font-weight: bold;
    border: none;
    background: none;
}

.lp-premium-wrapper .lp-option-price {
    color: #c5a059;
}

.lp-premium-wrapper .lp-option-text {
    color: #ccc;
    margin-top: 10px;
}

.lp-premium-wrapper .lp-option-desc {
    color: #ccc;
    line-height: 1.8;
    margin-bottom: 20px;
}

/* CTA */
.lp-premium-wrapper .lp-cta {
    text-align: center;
}

.lp-premium-wrapper .lp-cta-box {
    padding: 40px 20px;
}

.lp-premium-wrapper .lp-cta-title {
    font-size: 28px;
    color: #c5a059;
    font-weight: bold;
    border: none;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-cta-text {
    color: #ddd;
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.lp-premium-wrapper .lp-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 40px;
    border-radius: 8px;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s;
    width: 100%;
    max-width: 480px;
}

.lp-premium-wrapper .lp-btn-web {
    background: linear-gradient(to right, #c5a059, #f0e68c, #c5a059);
    background-size: 200%;
    color: #000;
    font-weight: bold;
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right;
}

.lp-premium-wrapper .lp-btn-sub {
    font-size: 14px;
}

.lp-premium-wrapper .lp-btn-main {
    font-size: 20px;
    font-weight: bold;
}

/* Story/Concept */
.lp-premium-wrapper .lp-concept {
    background: linear-gradient(#111, #1a1a1a);
}

.lp-premium-wrapper .lp-story-block {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.lp-premium-wrapper .lp-story-row {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

.lp-premium-wrapper .lp-story-visual {
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    border: 1px solid #444;
}

.lp-premium-wrapper .lp-story-visual img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.lp-premium-wrapper .lp-story-content {
    width: 100%;
    text-align: justify;
}

.lp-premium-wrapper .lp-story-head {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #c5a059;
    padding-bottom: 5px;
    display: inline-block;
}

.lp-premium-wrapper .lp-story-text {
    color: #ddd;
    line-height: 1.9;
}

/* Gallery - PC: 3列グリッド, SP: 横スクロール */
.lp-premium-wrapper .lp-gallery .lp-scroll-snap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 0 40px;
}

.lp-premium-wrapper .lp-gallery .lp-scroll-item {
    overflow: hidden;
    border-radius: 6px;
}

.lp-premium-wrapper .lp-gallery .lp-scroll-item img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 6px;
}

/* Reviews - PC: 4列グリッド, SP: 横スクロール */
.lp-premium-wrapper .lp-reviews .lp-reviews-scroll {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 0;
}

.lp-premium-wrapper .lp-reviews .lp-scroll-item {
    overflow: hidden;
}

.lp-premium-wrapper .lp-review-screenshot {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

/* Options - PC: 2カラム */
.lp-premium-wrapper .lp-option-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* FAQ */
.lp-premium-wrapper .lp-faq {
    background-color: rgba(0, 0, 0, 0.3);
    padding-bottom: 80px;
}

.lp-premium-wrapper .lp-faq-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.lp-premium-wrapper .lp-faq-item {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #333;
    padding: 20px;
    border-radius: 8px;
}

.lp-premium-wrapper .lp-faq-q {
    color: #c5a059;
    font-size: 19px;
    margin-bottom: 10px;
    border: none;
}

.lp-premium-wrapper .lp-faq-q::after {
    display: none;
}

.lp-premium-wrapper .lp-faq-a {
    line-height: 1.8;
    padding-left: 20px;
    color: #ddd;
}

/* Modal */
.lp-premium-wrapper .lp-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.lp-premium-wrapper .lp-modal-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
}

.lp-premium-wrapper .lp-modal-content {
    max-width: 90%;
    max-height: 90vh;
}

/* PC/Tablet Media Queries */
@media (min-width: 768px) {
    .lp-premium-wrapper {
        font-size: 18px;
    }

    .lp-premium-wrapper .lp-section-title {
        font-size: 36px;
    }

    .lp-premium-wrapper .lp-hero {
        height: 750px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 52px;
    }

    .lp-premium-wrapper .lp-story-row {
        flex-direction: row;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-story-reverse {
        flex-direction: row-reverse;
    }

    .lp-premium-wrapper .lp-story-visual {
        width: 50%;
    }

    .lp-premium-wrapper .lp-story-content {
        width: 50%;
    }

    .lp-premium-wrapper .lp-grid-2col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-card-special {
        display: flex;
        align-items: stretch;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-image {
        width: 50%;
        aspect-ratio: auto;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-body {
        flex: 1;
        padding: 60px;
    }

    .lp-premium-wrapper .lp-faq-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .lp-premium-wrapper .lp-gouka-grid {
        grid-template-columns: 1fr;
    }

    .lp-premium-wrapper .lp-hero {
        height: 60vh;
        min-height: 400px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 28px;
    }

    .lp-premium-wrapper .lp-hero-sub-text {
        font-size: 15px;
    }

    .lp-premium-wrapper .lp-section {
        padding: 50px 0;
    }

    .lp-premium-wrapper .lp-card-body {
        padding: 15px;
    }

    /* SP: ギャラリー横スクロール */
    .lp-premium-wrapper .lp-gallery .lp-scroll-snap {
        display: flex;
        overflow-x: auto;
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 5% 40px;
    }

    .lp-premium-wrapper .lp-gallery .lp-scroll-item {
        flex: 0 0 auto;
    }

    .lp-premium-wrapper .lp-gallery .lp-scroll-item img {
        width: auto;
        height: 220px;
    }

    /* SP: レビュー横スクロール */
    .lp-premium-wrapper .lp-reviews .lp-reviews-scroll {
        display: flex;
        overflow-x: auto;
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 5% 40px;
    }

    .lp-premium-wrapper .lp-reviews .lp-scroll-item {
        flex: 0 0 auto;
    }

    .lp-premium-wrapper .lp-review-screenshot {
        width: auto;
        height: 300px;
    }

    /* SP: オプション1カラム */
    .lp-premium-wrapper .lp-option-grid-2col {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   ホバーエフェクト
   ============================================= */
.lp-premium-wrapper .lp-story-visual img {
    transition: transform 0.5s;
}

.lp-premium-wrapper .lp-story-visual:hover img {
    transform: scale(1.05);
}

.lp-premium-wrapper .lp-card:hover {
    transform: translateY(-2px);
}

.lp-premium-wrapper .lp-card-image img {
    transition: transform 0.4s;
}

.lp-premium-wrapper .lp-card:hover .lp-card-image img {
    transform: scale(1.03);
}

.lp-premium-wrapper .lp-option-card {
    transition: background 0.3s;
}

.lp-premium-wrapper .lp-option-card:hover {
    background: rgba(255, 255, 255, 0.08);
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right center;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197, 160, 89, 0.6);
    opacity: 1;
}

.lp-premium-wrapper .lp-btn-tel:hover {
    background: #c5a059;
    color: #000;
}

.lp-gouka-card {
    transition: transform 0.3s, box-shadow 0.3s;
}

.lp-gouka-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.lp-premium-wrapper .lp-review-screenshot {
    cursor: pointer;
    transition: opacity 0.3s, transform 0.3s;
}

.lp-premium-wrapper .lp-review-screenshot:hover {
    opacity: 0.8;
    transform: scale(1.02);
}

.lp-premium-wrapper .lp-faq-item {
    transition: background 0.3s, border-color 0.3s;
}

.lp-premium-wrapper .lp-faq-item:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: #c5a059;
}

.lp-premium-wrapper .lp-plan-item {
    transition: border-color 0.3s, background 0.3s;
}

.lp-premium-wrapper .lp-plan-item:hover {
    border-color: #c5a059;
    background: rgba(197, 160, 89, 0.05);
}

.lp-modal-close:hover,
.lp-modal-close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* =============================================================
   プレミアムプラン専用スタイル ここまで
   ============================================================= */



/* ======= PREMIUM PLAN UPDATED STYLES ======= */
#post-3338 .entry-body,
#post-3543 .entry-body {
    overflow: visible;
}

.lp-premium-wrapper {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.lp-premium-wrapper {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.sp-only {
    display: none;
}

@media (max-width: 767px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }
}

.lp-premium-wrapper {
    font-family: "Shippori Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
    background-color: #1a1a1a;
    background-image: radial-gradient(circle at 50% 30%, #2a2a2a 0%, #111 100%);
    background-attachment: fixed;
    color: #f0f0f0;
    line-height: 1.8;
    font-size: 16px;
    overflow-x: hidden;
    padding: 0;
    box-sizing: border-box;
}

.lp-premium-wrapper p,
.lp-premium-wrapper li,
.lp-premium-wrapper dd,
.lp-premium-wrapper dt,
.lp-premium-wrapper th,
.lp-premium-wrapper td,
.lp-premium-wrapper div {
    font-size: inherit;
}

.lp-premium-wrapper small,
.lp-premium-wrapper .lp-note,
.lp-premium-wrapper .lp-menu-note,
.lp-premium-wrapper .lp-tax {
    font-size: 16px;
}

.lp-premium-wrapper .u-nowrap {
    display: inline-block;
}

.lp-premium-wrapper * {
    box-sizing: border-box;
}

.lp-premium-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
    background-color: #2a2a2a;
}

.lp-premium-wrapper a {
    text-decoration: none;
    transition: opacity 0.3s;
}

.lp-premium-wrapper a:hover {
    opacity: 0.8;
}

.lp-premium-wrapper .lp-container {
    max-width: 1300px;
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.lp-premium-wrapper .lp-section {
    padding: 70px 0;
    position: relative;
}

.lp-premium-wrapper .lp-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 1px;
    background: linear-gradient(to right, transparent, #444, transparent);
}

.lp-premium-wrapper .lp-section:last-child::after {
    display: none;
}

.lp-premium-wrapper .lp-section-title {
    font-size: 26px;
    text-align: center;
    margin-bottom: 50px;
    color: #c5a059;
    font-weight: 500;
    letter-spacing: 0.15em;
    display: block;
    position: relative;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border: none;
    border-top: none;
    border-bottom: none;
    background: none;
    padding: 0;
}

.lp-premium-wrapper .lp-section-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: #c5a059;
    margin: 20px auto 0;
    border: none;
    position: static;
}

.lp-premium-wrapper h2,
.lp-premium-wrapper h3,
.lp-premium-wrapper h4 {
    background: none;
    border: none;
    color: inherit;
    padding: 0;
}

.lp-premium-wrapper h3::after {
    display: none;
}

/* Hero */
.lp-premium-wrapper .lp-hero {
    position: relative;
    height: 70vh;
    min-height: 550px;
    background-image: url("../assets/hero_bg.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.lp-premium-wrapper .lp-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));
    z-index: 1;
}

.lp-premium-wrapper .lp-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0 12px;
    color: #fff;
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.9);
}

.lp-premium-wrapper .lp-hero-copy {
    margin-bottom: 30px;
    border: none;
}

.lp-premium-wrapper .lp-hero-sub-text {
    display: block;
    font-size: 18px;
    letter-spacing: 0.2em;
    margin-bottom: 15px;
    color: #e6e6e6;
}

.lp-premium-wrapper .lp-hero-main-text {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #c5a059;
    display: inline-block;
    padding-bottom: 10px;
}

.lp-premium-wrapper .lp-hero-desc {
    letter-spacing: 0.1em;
    line-height: 2.2;
}

/* Recommended */
.lp-premium-wrapper .lp-recommended {
    background-color: #252525;
    border-top: 1px solid #333;
    padding-top: 60px;
    padding-bottom: 60px;
}

.lp-premium-wrapper .lp-recommended-box {
    border: 2px solid #c5a059;
    padding: 40px 30px;
    background: rgba(197, 160, 89, 0.05);
    position: relative;
    text-align: center;
}

.lp-premium-wrapper .lp-recommended-title {
    display: inline-block;
    background: #252525;
    padding: 0 20px;
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    color: #c5a059;
    font-size: 22px;
    font-weight: bold;
    white-space: nowrap;
    border: none;
}

.lp-premium-wrapper .lp-recommended-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: inline-block;
    text-align: left;
}

.lp-premium-wrapper .lp-recommended-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    font-size: 18px;
    color: #f0f0f0;
}

.lp-premium-wrapper .lp-check-icon {
    color: #c5a059;
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
}

/* Cards */
.lp-premium-wrapper .lp-card {
    background: #252525;
    border: 1px solid #3a3a3a;
    margin-bottom: 40px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s;
}

.lp-premium-wrapper .lp-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.lp-premium-wrapper .lp-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lp-premium-wrapper .lp-card-body {
    padding: 12px;
}

.lp-premium-wrapper .lp-card-title {
    font-size: 24px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #444;
    padding-bottom: 15px;
    border-top: none;
}

.lp-premium-wrapper .lp-price {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
    text-align: right;
    color: #fff;
}

.lp-premium-wrapper .lp-tax {
    font-weight: normal;
    font-size: 16px;
}

/* Special Card */
.lp-premium-wrapper .lp-card-special {
    border: 1px solid #c5a059;
    position: relative;
    background: linear-gradient(135deg, #1a1a1a 0%, #251f15 100%);
    box-shadow: 0 0 30px rgba(197, 160, 89, 0.15);
}

.lp-premium-wrapper .lp-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(#800000, #5a0000);
    color: #fff;
    padding: 8px 25px;
    font-size: 16px;
    font-weight: bold;
    z-index: 10;
}

.lp-premium-wrapper .lp-special-lead {
    color: #ddd;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-special-content {
    margin-top: 20px;
}

.lp-premium-wrapper .lp-special-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px dashed rgba(197, 160, 89, 0.3);
    padding: 12px 0;
}

.lp-premium-wrapper .lp-main-row {
    flex-direction: column;
    align-items: flex-start;
}

.lp-premium-wrapper .lp-main-content {
    width: 100%;
}

.lp-premium-wrapper .lp-main-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-premium-wrapper .lp-ingredient {
    color: #fff;
    font-size: 19px;
}

.lp-premium-wrapper .lp-plus {
    color: #c5a059;
    font-size: 18px;
}

.lp-premium-wrapper .lp-experience {
    color: #c5a059;
    font-size: 18px;
}

.lp-premium-wrapper .lp-noodle-choices {
    font-size: 14px;
    color: #ccc;
    background: rgba(197, 160, 89, 0.1);
    border: 1px solid rgba(197, 160, 89, 0.3);
    padding: 4px 12px;
    border-radius: 20px;
    display: inline-block;
    margin-top: 8px;
}

.lp-premium-wrapper .lp-note-special {
    font-size: 14px;
    color: #999;
    margin-top: 15px;
}

/* Plan Items */
.lp-premium-wrapper .lp-card-lead {
    color: #ddd;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-plan-wrapper {
    margin-top: 20px;
}

.lp-premium-wrapper .lp-plan-guide {
    text-align: center;
    color: #c5a059;
    font-weight: bold;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-plan-item {
    border: 1px solid #444;
    padding: 20px;
    margin-bottom: 15px;
    background: rgba(255, 255, 255, 0.03);
}

.lp-premium-wrapper .lp-plan-head {
    margin-bottom: 10px;
}

.lp-premium-wrapper .lp-plan-badge {
    display: inline-block;
    background: #c5a059;
    color: #1a1a1a;
    padding: 4px 16px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 3px;
    margin-bottom: 10px;
}

.lp-premium-wrapper .lp-plan-name {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

.lp-premium-wrapper .lp-plan-desc {
    color: #ccc;
    line-height: 1.8;
}

/* Gouka Grid */
.lp-premium-wrapper .lp-goukaplan {
    background: #1a1a1a;
}

.lp-premium-wrapper .lp-gouka-lead {
    text-align: center;
    color: #ccc;
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-gouka-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.lp-premium-wrapper .lp-gouka-card {
    border-radius: 12px;
    border: 1px solid rgba(180, 150, 80, 0.35);
    overflow: hidden;
}

.lp-premium-wrapper .lp-gouka-card-inner {
    padding: 20px;
}

.lp-premium-wrapper .lp-gouka-badge-wrap {
    margin-bottom: 10px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-premium-wrapper .lp-gouka-price-badge {
    color: #d4af37;
    border: 1px solid rgba(212, 175, 55, 0.5);
    padding: 4px 12px;
    font-size: 14px;
    border-radius: 4px;
}

.lp-premium-wrapper .lp-gouka-label-badge {
    background: #d4af37;
    color: #1a1a1a;
    padding: 4px 12px;
    font-size: 14px;
    border-radius: 4px;
    font-weight: bold;
}

.lp-premium-wrapper .lp-gouka-title {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 10px;
    border: none;
}

.lp-premium-wrapper .lp-gouka-desc {
    color: #ccc;
    font-size: 15px;
    line-height: 1.7;
}

.lp-premium-wrapper .lp-gouka-featured {
    border-color: #d4af37;
    background: rgba(212, 175, 55, 0.05);
}

.lp-premium-wrapper .lp-gouka-note {
    text-align: center;
    color: #999;
    font-size: 14px;
    margin-top: 20px;
}

/* Options */
.lp-premium-wrapper .lp-option-block {
    margin-bottom: 40px;
    border: 1px solid #444;
    padding: 12px;
    background: #222;
}

.lp-premium-wrapper .lp-option-head {
    font-size: 22px;
    color: #c5a059;
    margin-bottom: 20px;
    border: none;
}

.lp-premium-wrapper .lp-option-grid {
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-option-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #444;
    padding: 12px;
}

.lp-premium-wrapper .lp-option-card-header {
    display: flex;
    gap: 12px;
}

.lp-premium-wrapper .lp-option-title-group {
    flex: 1;
}

.lp-premium-wrapper .lp-option-name {
    color: #f0f0f0;
    font-size: 19px;
    font-weight: bold;
    border: none;
    background: none;
}

.lp-premium-wrapper .lp-option-price {
    color: #c5a059;
}

.lp-premium-wrapper .lp-option-text {
    color: #ccc;
    margin-top: 10px;
}

.lp-premium-wrapper .lp-option-desc {
    color: #ccc;
    line-height: 1.8;
    margin-bottom: 20px;
}

/* CTA */
.lp-premium-wrapper .lp-cta {
    text-align: center;
}

.lp-premium-wrapper .lp-cta-box {
    padding: 40px 20px;
}

.lp-premium-wrapper .lp-cta-title {
    font-size: 28px;
    color: #c5a059;
    font-weight: bold;
    border: none;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-cta-text {
    color: #ddd;
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.lp-premium-wrapper .lp-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 40px;
    border-radius: 8px;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s;
    width: 100%;
    max-width: 480px;
}

.lp-premium-wrapper .lp-btn-web {
    background: linear-gradient(to right, #c5a059, #f0e68c, #c5a059);
    background-size: 200%;
    color: #000;
    font-weight: bold;
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right;
}

.lp-premium-wrapper .lp-btn-sub {
    font-size: 14px;
}

.lp-premium-wrapper .lp-btn-main {
    font-size: 20px;
    font-weight: bold;
}

/* Story/Concept */
.lp-premium-wrapper .lp-concept {
    background: linear-gradient(#111, #1a1a1a);
}

.lp-premium-wrapper .lp-story-block {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.lp-premium-wrapper .lp-story-row {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

.lp-premium-wrapper .lp-story-visual {
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    border: 1px solid #444;
}

.lp-premium-wrapper .lp-story-visual img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.lp-premium-wrapper .lp-story-content {
    width: 100%;
    text-align: justify;
}

.lp-premium-wrapper .lp-story-head {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #c5a059;
    padding-bottom: 5px;
    display: inline-block;
}

.lp-premium-wrapper .lp-story-text {
    color: #ddd;
    line-height: 1.9;
}

/* Gallery - PC: 3列グリッド, SP: 横スクロール */
.lp-premium-wrapper .lp-gallery .lp-scroll-snap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 0 40px;
}

.lp-premium-wrapper .lp-gallery .lp-scroll-item {
    overflow: hidden;
    border-radius: 6px;
}

.lp-premium-wrapper .lp-gallery .lp-scroll-item img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 6px;
}

/* Reviews - PC: 4列グリッド, SP: 横スクロール */
.lp-premium-wrapper .lp-reviews .lp-reviews-scroll {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 0;
}

.lp-premium-wrapper .lp-reviews .lp-scroll-item {
    overflow: hidden;
}

.lp-premium-wrapper .lp-review-screenshot {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

/* Options - PC: 2カラム */
.lp-premium-wrapper .lp-option-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* FAQ */
.lp-premium-wrapper .lp-faq {
    background-color: rgba(0, 0, 0, 0.3);
    padding-bottom: 80px;
}

.lp-premium-wrapper .lp-faq-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.lp-premium-wrapper .lp-faq-item {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #333;
    padding: 20px;
    border-radius: 8px;
}

.lp-premium-wrapper .lp-faq-q {
    color: #c5a059;
    font-size: 19px;
    margin-bottom: 10px;
    border: none;
}

.lp-premium-wrapper .lp-faq-q::after {
    display: none;
}

.lp-premium-wrapper .lp-faq-a {
    line-height: 1.8;
    padding-left: 20px;
    color: #ddd;
}

/* Modal */
.lp-premium-wrapper .lp-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.lp-premium-wrapper .lp-modal-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
}

.lp-premium-wrapper .lp-modal-content {
    max-width: 90%;
    max-height: 90vh;
}

/* PC/Tablet Media Queries */
@media (min-width: 768px) {
    .lp-premium-wrapper {
        font-size: 18px;
    }

    .lp-premium-wrapper .lp-section-title {
        font-size: 36px;
    }

    .lp-premium-wrapper .lp-hero {
        height: 750px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 52px;
    }

    .lp-premium-wrapper .lp-story-row {
        flex-direction: row;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-story-reverse {
        flex-direction: row-reverse;
    }

    .lp-premium-wrapper .lp-story-visual {
        width: 50%;
    }

    .lp-premium-wrapper .lp-story-content {
        width: 50%;
    }

    .lp-premium-wrapper .lp-grid-2col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-card-special {
        display: flex;
        align-items: stretch;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-image {
        width: 50%;
        aspect-ratio: auto;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-body {
        flex: 1;
        padding: 60px;
    }

    .lp-premium-wrapper .lp-faq-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .lp-premium-wrapper .lp-gouka-grid {
        grid-template-columns: 1fr;
    }

    .lp-premium-wrapper .lp-hero {
        height: 60vh;
        min-height: 400px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 28px;
    }

    .lp-premium-wrapper .lp-hero-sub-text {
        font-size: 15px;
    }

    .lp-premium-wrapper .lp-section {
        padding: 50px 0;
    }

    .lp-premium-wrapper .lp-card-body {
        padding: 15px;
    }

    /* SP: ギャラリー横スクロール */
    .lp-premium-wrapper .lp-gallery .lp-scroll-snap {
        display: flex;
        overflow-x: auto;
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 5% 40px;
    }

    .lp-premium-wrapper .lp-gallery .lp-scroll-item {
        flex: 0 0 auto;
    }

    .lp-premium-wrapper .lp-gallery .lp-scroll-item img {
        width: auto;
        height: 220px;
    }

    /* SP: レビュー横スクロール */
    .lp-premium-wrapper .lp-reviews .lp-reviews-scroll {
        display: flex;
        overflow-x: auto;
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 5% 40px;
    }

    .lp-premium-wrapper .lp-reviews .lp-scroll-item {
        flex: 0 0 auto;
    }

    .lp-premium-wrapper .lp-review-screenshot {
        width: auto;
        height: 300px;
    }

    /* SP: オプション1カラム */
    .lp-premium-wrapper .lp-option-grid-2col {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   ホバーエフェクト
   ============================================= */
.lp-premium-wrapper .lp-story-visual img {
    transition: transform 0.5s;
}

.lp-premium-wrapper .lp-story-visual:hover img {
    transform: scale(1.05);
}

.lp-premium-wrapper .lp-card:hover {
    transform: translateY(-2px);
}

.lp-premium-wrapper .lp-card-image img {
    transition: transform 0.4s;
}

.lp-premium-wrapper .lp-card:hover .lp-card-image img {
    transform: scale(1.03);
}

.lp-premium-wrapper .lp-option-card {
    transition: background 0.3s;
}

.lp-premium-wrapper .lp-option-card:hover {
    background: rgba(255, 255, 255, 0.08);
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right center;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197, 160, 89, 0.6);
    opacity: 1;
}

.lp-premium-wrapper .lp-btn-tel:hover {
    background: #c5a059;
    color: #000;
}

.lp-gouka-card {
    transition: transform 0.3s, box-shadow 0.3s;
}

.lp-gouka-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.lp-premium-wrapper .lp-review-screenshot {
    cursor: pointer;
    transition: opacity 0.3s, transform 0.3s;
}

.lp-premium-wrapper .lp-review-screenshot:hover {
    opacity: 0.8;
    transform: scale(1.02);
}

.lp-premium-wrapper .lp-faq-item {
    transition: background 0.3s, border-color 0.3s;
}

.lp-premium-wrapper .lp-faq-item:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: #c5a059;
}

.lp-premium-wrapper .lp-plan-item {
    transition: border-color 0.3s, background 0.3s;
}

.lp-premium-wrapper .lp-plan-item:hover {
    border-color: #c5a059;
    background: rgba(197, 160, 89, 0.05);
}

.lp-modal-close:hover,
.lp-modal-close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* =============================================================
   プレミアムプラン専用スタイル ここまで
   ============================================================= */


/* =============================================================
   プレミアムプラン専用スタイル ここまで
   ============================================================= */


/* === PREMIUM PLAN UPDATED STYLES === */
#post-3338 .entry-body {
    overflow: visible;
}

.lp-premium-wrapper {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.lp-premium-wrapper {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.sp-only {
    display: none;
}

@media (max-width: 767px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }
}

.lp-premium-wrapper {
    font-family: "Shippori Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
    background-color: #1a1a1a;
    background-image: radial-gradient(circle at 50% 30%, #2a2a2a 0%, #111 100%);
    background-attachment: fixed;
    color: #f0f0f0;
    line-height: 1.8;
    font-size: 16px;
    overflow-x: hidden;
    padding: 0;
    box-sizing: border-box;
}

.lp-premium-wrapper p,
.lp-premium-wrapper li,
.lp-premium-wrapper dd,
.lp-premium-wrapper dt,
.lp-premium-wrapper th,
.lp-premium-wrapper td,
.lp-premium-wrapper div {
    font-size: inherit;
}

.lp-premium-wrapper small,
.lp-premium-wrapper .lp-note,
.lp-premium-wrapper .lp-menu-note,
.lp-premium-wrapper .lp-tax {
    font-size: 16px;
}

.lp-premium-wrapper .u-nowrap {
    display: inline-block;
}

.lp-premium-wrapper * {
    box-sizing: border-box;
}

.lp-premium-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
    background-color: #2a2a2a;
}

.lp-premium-wrapper a {
    text-decoration: none;
    transition: opacity 0.3s;
}

.lp-premium-wrapper a:hover {
    opacity: 0.8;
}

.lp-premium-wrapper .lp-container {
    max-width: 1300px;
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.lp-premium-wrapper .lp-section {
    padding: 70px 0;
    position: relative;
}

.lp-premium-wrapper .lp-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 1px;
    background: linear-gradient(to right, transparent, #444, transparent);
}

.lp-premium-wrapper .lp-section:last-child::after {
    display: none;
}

.lp-premium-wrapper .lp-section-title {
    font-size: 26px;
    text-align: center;
    margin-bottom: 50px;
    color: #c5a059;
    font-weight: 500;
    letter-spacing: 0.15em;
    display: block;
    position: relative;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border: none;
    border-top: none;
    border-bottom: none;
    background: none;
    padding: 0;
}

.lp-premium-wrapper .lp-section-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: #c5a059;
    margin: 20px auto 0;
    border: none;
    position: static;
}

.lp-premium-wrapper h2,
.lp-premium-wrapper h3,
.lp-premium-wrapper h4 {
    background: none;
    border: none;
    color: inherit;
    padding: 0;
}

.lp-premium-wrapper h3::after {
    display: none;
}

/* Hero */
.lp-premium-wrapper .lp-hero {
    position: relative;
    height: 70vh;
    min-height: 550px;
    background-image: url("../assets/hero_bg.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.lp-premium-wrapper .lp-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));
    z-index: 1;
}

.lp-premium-wrapper .lp-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0 12px;
    color: #fff;
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.9);
}

.lp-premium-wrapper .lp-hero-copy {
    margin-bottom: 30px;
    border: none;
}

.lp-premium-wrapper .lp-hero-sub-text {
    display: block;
    font-size: 18px;
    letter-spacing: 0.2em;
    margin-bottom: 15px;
    color: #e6e6e6;
}

.lp-premium-wrapper .lp-hero-main-text {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #c5a059;
    display: inline-block;
    padding-bottom: 10px;
}

.lp-premium-wrapper .lp-hero-desc {
    letter-spacing: 0.1em;
    line-height: 2.2;
}

/* Recommended */
.lp-premium-wrapper .lp-recommended {
    background-color: #252525;
    border-top: 1px solid #333;
    padding-top: 60px;
    padding-bottom: 60px;
}

.lp-premium-wrapper .lp-recommended-box {
    border: 2px solid #c5a059;
    padding: 40px 30px;
    background: rgba(197, 160, 89, 0.05);
    position: relative;
    text-align: center;
}

.lp-premium-wrapper .lp-recommended-title {
    display: inline-block;
    background: #252525;
    padding: 0 20px;
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    color: #c5a059;
    font-size: 22px;
    font-weight: bold;
    white-space: nowrap;
    border: none;
}

.lp-premium-wrapper .lp-recommended-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: inline-block;
    text-align: left;
}

.lp-premium-wrapper .lp-recommended-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    font-size: 18px;
    color: #f0f0f0;
}

.lp-premium-wrapper .lp-check-icon {
    color: #c5a059;
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
}

/* Cards */
.lp-premium-wrapper .lp-card {
    background: #252525;
    border: 1px solid #3a3a3a;
    margin-bottom: 40px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s;
}

.lp-premium-wrapper .lp-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.lp-premium-wrapper .lp-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lp-premium-wrapper .lp-card-body {
    padding: 12px;
}

.lp-premium-wrapper .lp-card-title {
    font-size: 24px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #444;
    padding-bottom: 15px;
    border-top: none;
}

.lp-premium-wrapper .lp-price {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
    text-align: right;
    color: #fff;
}

.lp-premium-wrapper .lp-tax {
    font-weight: normal;
    font-size: 16px;
}

/* Special Card */
.lp-premium-wrapper .lp-card-special {
    border: 1px solid #c5a059;
    position: relative;
    background: linear-gradient(135deg, #1a1a1a 0%, #251f15 100%);
    box-shadow: 0 0 30px rgba(197, 160, 89, 0.15);
}

.lp-premium-wrapper .lp-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(#800000, #5a0000);
    color: #fff;
    padding: 8px 25px;
    font-size: 16px;
    font-weight: bold;
    z-index: 10;
}

.lp-premium-wrapper .lp-special-lead {
    color: #ddd;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-special-content {
    margin-top: 20px;
}

.lp-premium-wrapper .lp-special-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px dashed rgba(197, 160, 89, 0.3);
    padding: 12px 0;
}

.lp-premium-wrapper .lp-main-row {
    flex-direction: column;
    align-items: flex-start;
}

.lp-premium-wrapper .lp-main-content {
    width: 100%;
}

.lp-premium-wrapper .lp-main-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-premium-wrapper .lp-ingredient {
    color: #fff;
    font-size: 19px;
}

.lp-premium-wrapper .lp-plus {
    color: #c5a059;
    font-size: 18px;
}

.lp-premium-wrapper .lp-experience {
    color: #c5a059;
    font-size: 18px;
}

.lp-premium-wrapper .lp-noodle-choices {
    font-size: 14px;
    color: #ccc;
    background: rgba(197, 160, 89, 0.1);
    border: 1px solid rgba(197, 160, 89, 0.3);
    padding: 4px 12px;
    border-radius: 20px;
    display: inline-block;
    margin-top: 8px;
}

.lp-premium-wrapper .lp-note-special {
    font-size: 14px;
    color: #999;
    margin-top: 15px;
}

/* Plan Items */
.lp-premium-wrapper .lp-card-lead {
    color: #ddd;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-plan-wrapper {
    margin-top: 20px;
}

.lp-premium-wrapper .lp-plan-guide {
    text-align: center;
    color: #c5a059;
    font-weight: bold;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-plan-item {
    border: 1px solid #444;
    padding: 20px;
    margin-bottom: 15px;
    background: rgba(255, 255, 255, 0.03);
}

.lp-premium-wrapper .lp-plan-head {
    margin-bottom: 10px;
}

.lp-premium-wrapper .lp-plan-badge {
    display: inline-block;
    background: #c5a059;
    color: #1a1a1a;
    padding: 4px 16px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 3px;
    margin-bottom: 10px;
}

.lp-premium-wrapper .lp-plan-name {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

.lp-premium-wrapper .lp-plan-desc {
    color: #ccc;
    line-height: 1.8;
}

/* Gouka Grid */
.lp-premium-wrapper .lp-goukaplan {
    background: #1a1a1a;
}

.lp-premium-wrapper .lp-gouka-lead {
    text-align: center;
    color: #ccc;
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-gouka-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.lp-premium-wrapper .lp-gouka-card {
    border-radius: 12px;
    border: 1px solid rgba(180, 150, 80, 0.35);
    overflow: hidden;
}

.lp-premium-wrapper .lp-gouka-card-inner {
    padding: 20px;
}

.lp-premium-wrapper .lp-gouka-badge-wrap {
    margin-bottom: 10px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-premium-wrapper .lp-gouka-price-badge {
    color: #d4af37;
    border: 1px solid rgba(212, 175, 55, 0.5);
    padding: 4px 12px;
    font-size: 14px;
    border-radius: 4px;
}

.lp-premium-wrapper .lp-gouka-label-badge {
    background: #d4af37;
    color: #1a1a1a;
    padding: 4px 12px;
    font-size: 14px;
    border-radius: 4px;
    font-weight: bold;
}

.lp-premium-wrapper .lp-gouka-title {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 10px;
    border: none;
}

.lp-premium-wrapper .lp-gouka-desc {
    color: #ccc;
    font-size: 15px;
    line-height: 1.7;
}

.lp-premium-wrapper .lp-gouka-featured {
    border-color: #d4af37;
    background: rgba(212, 175, 55, 0.05);
}

.lp-premium-wrapper .lp-gouka-note {
    text-align: center;
    color: #999;
    font-size: 14px;
    margin-top: 20px;
}

/* Options */
.lp-premium-wrapper .lp-option-block {
    margin-bottom: 40px;
    border: 1px solid #444;
    padding: 12px;
    background: #222;
}

.lp-premium-wrapper .lp-option-head {
    font-size: 22px;
    color: #c5a059;
    margin-bottom: 20px;
    border: none;
}

.lp-premium-wrapper .lp-option-grid {
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-option-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #444;
    padding: 12px;
}

.lp-premium-wrapper .lp-option-card-header {
    display: flex;
    gap: 12px;
}

.lp-premium-wrapper .lp-option-title-group {
    flex: 1;
}

.lp-premium-wrapper .lp-option-name {
    color: #f0f0f0;
    font-size: 19px;
    font-weight: bold;
    border: none;
    background: none;
}

.lp-premium-wrapper .lp-option-price {
    color: #c5a059;
}

.lp-premium-wrapper .lp-option-text {
    color: #ccc;
    margin-top: 10px;
}

.lp-premium-wrapper .lp-option-desc {
    color: #ccc;
    line-height: 1.8;
    margin-bottom: 20px;
}

/* CTA */
.lp-premium-wrapper .lp-cta {
    text-align: center;
}

.lp-premium-wrapper .lp-cta-box {
    padding: 40px 20px;
}

.lp-premium-wrapper .lp-cta-title {
    font-size: 28px;
    color: #c5a059;
    font-weight: bold;
    border: none;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-cta-text {
    color: #ddd;
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.lp-premium-wrapper .lp-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 40px;
    border-radius: 8px;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s;
    width: 100%;
    max-width: 480px;
}

.lp-premium-wrapper .lp-btn-web {
    background: linear-gradient(to right, #c5a059, #f0e68c, #c5a059);
    background-size: 200%;
    color: #000;
    font-weight: bold;
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right;
}

.lp-premium-wrapper .lp-btn-sub {
    font-size: 14px;
}

.lp-premium-wrapper .lp-btn-main {
    font-size: 20px;
    font-weight: bold;
}

/* Story/Concept */
.lp-premium-wrapper .lp-concept {
    background: linear-gradient(#111, #1a1a1a);
}

.lp-premium-wrapper .lp-story-block {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.lp-premium-wrapper .lp-story-row {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

.lp-premium-wrapper .lp-story-visual {
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    border: 1px solid #444;
}

.lp-premium-wrapper .lp-story-visual img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.lp-premium-wrapper .lp-story-content {
    width: 100%;
    text-align: justify;
}

.lp-premium-wrapper .lp-story-head {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #c5a059;
    padding-bottom: 5px;
    display: inline-block;
}

.lp-premium-wrapper .lp-story-text {
    color: #ddd;
    line-height: 1.9;
}

/* Gallery - PC: 3列グリッド, SP: 横スクロール */
.lp-premium-wrapper .lp-gallery .lp-scroll-snap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 0 40px;
}

.lp-premium-wrapper .lp-gallery .lp-scroll-item {
    overflow: hidden;
    border-radius: 6px;
}

.lp-premium-wrapper .lp-gallery .lp-scroll-item img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 6px;
}

/* Reviews - PC: 4列グリッド, SP: 横スクロール */
.lp-premium-wrapper .lp-reviews .lp-reviews-scroll {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 0;
}

.lp-premium-wrapper .lp-reviews .lp-scroll-item {
    overflow: hidden;
}

.lp-premium-wrapper .lp-review-screenshot {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

/* Options - PC: 2カラム */
.lp-premium-wrapper .lp-option-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* FAQ */
.lp-premium-wrapper .lp-faq {
    background-color: rgba(0, 0, 0, 0.3);
    padding-bottom: 80px;
}

.lp-premium-wrapper .lp-faq-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.lp-premium-wrapper .lp-faq-item {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #333;
    padding: 20px;
    border-radius: 8px;
}

.lp-premium-wrapper .lp-faq-q {
    color: #c5a059;
    font-size: 19px;
    margin-bottom: 10px;
    border: none;
}

.lp-premium-wrapper .lp-faq-q::after {
    display: none;
}

.lp-premium-wrapper .lp-faq-a {
    line-height: 1.8;
    padding-left: 20px;
    color: #ddd;
}

/* Modal */
.lp-premium-wrapper .lp-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.lp-premium-wrapper .lp-modal-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
}

.lp-premium-wrapper .lp-modal-content {
    max-width: 90%;
    max-height: 90vh;
}

/* PC/Tablet Media Queries */
@media (min-width: 768px) {
    .lp-premium-wrapper {
        font-size: 18px;
    }

    .lp-premium-wrapper .lp-section-title {
        font-size: 36px;
    }

    .lp-premium-wrapper .lp-hero {
        height: 750px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 52px;
    }

    .lp-premium-wrapper .lp-story-row {
        flex-direction: row;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-story-reverse {
        flex-direction: row-reverse;
    }

    .lp-premium-wrapper .lp-story-visual {
        width: 50%;
    }

    .lp-premium-wrapper .lp-story-content {
        width: 50%;
    }

    .lp-premium-wrapper .lp-grid-2col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-card-special {
        display: flex;
        align-items: stretch;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-image {
        width: 50%;
        aspect-ratio: auto;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-body {
        flex: 1;
        padding: 60px;
    }

    .lp-premium-wrapper .lp-faq-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .lp-premium-wrapper .lp-gouka-grid {
        grid-template-columns: 1fr;
    }

    .lp-premium-wrapper .lp-hero {
        height: 60vh;
        min-height: 400px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 28px;
    }

    .lp-premium-wrapper .lp-hero-sub-text {
        font-size: 15px;
    }

    .lp-premium-wrapper .lp-section {
        padding: 50px 0;
    }

    .lp-premium-wrapper .lp-card-body {
        padding: 15px;
    }

    /* SP: ギャラリー横スクロール */
    .lp-premium-wrapper .lp-gallery .lp-scroll-snap {
        display: flex;
        overflow-x: auto;
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 5% 40px;
    }

    .lp-premium-wrapper .lp-gallery .lp-scroll-item {
        flex: 0 0 auto;
    }

    .lp-premium-wrapper .lp-gallery .lp-scroll-item img {
        width: auto;
        height: 220px;
    }

    /* SP: レビュー横スクロール */
    .lp-premium-wrapper .lp-reviews .lp-reviews-scroll {
        display: flex;
        overflow-x: auto;
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 5% 40px;
    }

    .lp-premium-wrapper .lp-reviews .lp-scroll-item {
        flex: 0 0 auto;
    }

    .lp-premium-wrapper .lp-review-screenshot {
        width: auto;
        height: 300px;
    }

    /* SP: オプション1カラム */
    .lp-premium-wrapper .lp-option-grid-2col {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   ホバーエフェクト
   ============================================= */
.lp-premium-wrapper .lp-story-visual img {
    transition: transform 0.5s;
}

.lp-premium-wrapper .lp-story-visual:hover img {
    transform: scale(1.05);
}

.lp-premium-wrapper .lp-card:hover {
    transform: translateY(-2px);
}

.lp-premium-wrapper .lp-card-image img {
    transition: transform 0.4s;
}

.lp-premium-wrapper .lp-card:hover .lp-card-image img {
    transform: scale(1.03);
}

.lp-premium-wrapper .lp-option-card {
    transition: background 0.3s;
}

.lp-premium-wrapper .lp-option-card:hover {
    background: rgba(255, 255, 255, 0.08);
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right center;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197, 160, 89, 0.6);
    opacity: 1;
}

.lp-premium-wrapper .lp-btn-tel:hover {
    background: #c5a059;
    color: #000;
}

.lp-gouka-card {
    transition: transform 0.3s, box-shadow 0.3s;
}

.lp-gouka-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.lp-premium-wrapper .lp-review-screenshot {
    cursor: pointer;
    transition: opacity 0.3s, transform 0.3s;
}

.lp-premium-wrapper .lp-review-screenshot:hover {
    opacity: 0.8;
    transform: scale(1.02);
}

.lp-premium-wrapper .lp-faq-item {
    transition: background 0.3s, border-color 0.3s;
}

.lp-premium-wrapper .lp-faq-item:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: #c5a059;
}

.lp-premium-wrapper .lp-plan-item {
    transition: border-color 0.3s, background 0.3s;
}

.lp-premium-wrapper .lp-plan-item:hover {
    border-color: #c5a059;
    background: rgba(197, 160, 89, 0.05);
}

.lp-modal-close:hover,
.lp-modal-close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* =============================================================
   プレミアムプラン専用スタイル ここまで
   ============================================================= */


/* === 3343.css === */

/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 28 2026 | 08:28:27 */
/* 上部のh1見出し削除。h1はコーディングで指定 */
.page-id-3338 .section.page-header {
    display: none;
}

/* 幅固定と余白削除 */
.page-id-3338 .section.siteContent .container {
    max-width: none !important;
    padding: 0 !important;
}

.page-id-3338 .section.siteContent {
    padding: 0 !important;
}

.page-id-3338 .section.siteContent .mainSection {
    margin-bottom: 0;
}

/* 上部のh1見出し削除。h1はコーディングで指定 */
.page-id-3350 .section.page-header {
    display: none;
}

/* 幅固定と余白削除 */
.page-id-3350 .section.siteContent .container {
    max-width: none !important;
    padding: 0 !important;
}

.page-id-3350 .section.siteContent {
    padding: 0 !important;
}

.page-id-3350 .section.siteContent .mainSection {
    margin-bottom: 0;
}

/* === 3363.css === */

/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 28 2026 | 09:02:19 */
/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 09 2026 | 20:24:06 */
/* 上部のh1見出し削除。h1はコーディングで指定 */
.page-id-7178 .section.page-header {
    display: none;
}

/* 幅固定と余白削除 */
.page-id-7178 .section.siteContent .container {
    max-width: none !important;
    padding: 0 !important;
}

.page-id-7178 .section.siteContent {
    padding: 0 !important;
}

.page-id-7178 .section.siteContent .mainSection {
    margin-bottom: 0;
}

/* 非表示設定 */
.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

@media (max-width: 767px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }
}

/* --- Base Styles within Scope --- */
#post-3338 .entry-body {
    overflow: visible;
}

.lp-premium-wrapper {
    font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
    /* Luxurious dark background with radial gradient for depth */
    background-color: #1a1a1a;
    background-image: radial-gradient(circle at 50% 30%, #2a2a2a 0%, #111111 100%);
    background-attachment: fixed;
    /* Parallax-like effect for background */
    color: #f0f0f0;
    /* Softer white for luxury */
    line-height: 1.8;
    font-size: 16px;
    /* SP Base */
    overflow-x: hidden;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    padding: 0;
    box-sizing: border-box;
}

/* Force text size inheritance */
.lp-premium-wrapper p,
.lp-premium-wrapper li,
.lp-premium-wrapper dd,
.lp-premium-wrapper dt,
.lp-premium-wrapper th,
.lp-premium-wrapper td,
.lp-premium-wrapper div {
    font-size: inherit;
}

/* Enforced Minimum for SP */
.lp-premium-wrapper small,
.lp-premium-wrapper .lp-note,
.lp-premium-wrapper .lp-menu-note,
.lp-premium-wrapper .lp-tax {
    font-size: 16px;
}

/* Utility to prevent awkward breaks */
.lp-premium-wrapper .u-nowrap {
    display: inline-block;
}

.lp-premium-wrapper * {
    box-sizing: border-box;
}

.lp-premium-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
    /* Prevent layout shift */
    background-color: #2a2a2a;
}

.lp-premium-wrapper a {
    text-decoration: none;
    transition: opacity 0.3s;
}

.lp-premium-wrapper a:hover {
    opacity: 0.8;
}

/* --- Layout Utilities --- */
.lp-premium-wrapper .lp-container {
    max-width: 1300px;
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.lp-premium-wrapper .lp-section {
    padding: 70px 0;
    position: relative;
}

/* Subtle Gradient Divider between sections to avoid flat look */
.lp-premium-wrapper .lp-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 1px;
    background: linear-gradient(to right, transparent, #444, transparent);
}

.lp-premium-wrapper .lp-section:last-child::after {
    display: none;
}

/* Section Title - Luxurious */
.lp-premium-wrapper .lp-section-title {
    font-size: 26px;
    text-align: center;
    margin-bottom: 50px;
    color: #c5a059;
    /* Gold Accent */
    font-weight: 500;
    letter-spacing: 0.15em;
    display: block;
    position: relative;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border: none;
}

.lp-premium-wrapper .lp-section-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: #c5a059;
    margin: 20px auto 0;
}

/* --- Hero Section --- */
.lp-premium-wrapper .lp-hero {
    position: relative;
    height: 70vh;
    min-height: 550px;
    /* Darker overlay for better text contrast */
    background-image: url('../assets/hero_bg.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.lp-premium-wrapper .lp-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));
    z-index: 1;
}

.lp-premium-wrapper .lp-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0 12px;
    color: #fff;
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.9);
}

.lp-premium-wrapper .lp-hero-copy {
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-hero-sub-text {
    display: block;
    font-size: 18px;
    letter-spacing: 0.2em;
    margin-bottom: 15px;
    color: #e6e6e6;
}

.lp-premium-wrapper .lp-hero-main-text {
    display: block;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #c5a059;
    display: inline-block;
    padding-bottom: 10px;
}

.lp-premium-wrapper .lp-hero-desc {
    letter-spacing: 0.1em;
    line-height: 2.2;
}

/* --- Concept Section (Story) --- */
.lp-premium-wrapper .lp-concept {
    /* Subtle texture background */
    background: linear-gradient(to bottom, #111, #1a1a1a);
}

.lp-premium-wrapper .lp-story-block {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.lp-premium-wrapper .lp-story-row {
    display: flex;
    flex-direction: column;
    /* Mobile first stack */
    gap: 20px;
    align-items: center;
}

.lp-premium-wrapper .lp-story-visual {
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    border: 1px solid #444;
}

.lp-premium-wrapper .lp-story-visual img {
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: transform 0.5s;
}

.lp-premium-wrapper .lp-story-visual:hover img {
    transform: scale(1.05);
}

.lp-premium-wrapper .lp-story-content {
    width: 100%;
    text-align: justify;
}

.lp-premium-wrapper .lp-story-head {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #c5a059;
    padding-bottom: 5px;
    display: inline-block;
}

.lp-premium-wrapper .lp-story-text {
    color: #ddd;
    line-height: 1.9;
}

/* --- Recommended Section --- */
.lp-premium-wrapper .lp-recommended {
    background-color: #252525;
    border-top: 1px solid #333;
    padding-top: 60px;
    padding-bottom: 60px;
}

.lp-premium-wrapper .lp-recommended-box {
    border: 2px solid #c5a059;
    padding: 40px 30px;
    background: rgba(197, 160, 89, 0.05);
    position: relative;
    text-align: center;
}

/* Title on border decoration */
.lp-premium-wrapper .lp-recommended-title {
    display: inline-block;
    background: #252525;
    padding: 0 20px;
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    color: #c5a059;
    font-size: 22px;
    font-weight: bold;
    white-space: nowrap;
    border: none;
}

.lp-premium-wrapper .lp-recommended-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
    display: inline-block;
    text-align: left;
}

.lp-premium-wrapper .lp-recommended-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    font-size: 18px;
    color: #f0f0f0;
}

.lp-premium-wrapper .lp-check-icon {
    color: #c5a059;
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
}

/* --- Menu Section --- */
.lp-premium-wrapper .lp-menu {
    background: transparent;
    /* Uses main wrapper gradient */
}

.lp-premium-wrapper .lp-menu-note {
    text-align: center;
    color: #ccc;
    margin-bottom: 50px;
}

/* Card Styles - Elevated */
.lp-premium-wrapper .lp-card {
    background: #252525;
    border: 1px solid #3a3a3a;
    margin-bottom: 40px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s;
}

.lp-premium-wrapper .lp-card:hover {
    transform: translateY(-2px);
}

/* Aspect Ratio Lock for Menu Images */
.lp-premium-wrapper .lp-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.lp-premium-wrapper .lp-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.lp-premium-wrapper .lp-card:hover .lp-card-image img {
    transform: scale(1.03);
}

.lp-premium-wrapper .lp-card-body {
    padding: 12px;
    /* Reduced for mobile space */
}

.lp-premium-wrapper .lp-card-title {
    font-size: 24px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #444;
    padding-bottom: 15px;
}

.lp-premium-wrapper .lp-price {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
    text-align: right;
    color: #fff;
}

.lp-premium-wrapper .lp-tax {
    font-weight: normal;
    font-size: 16px;
}

/* Special (Former Matsu) Styling */
.lp-premium-wrapper .lp-card-special {
    border: 1px solid #c5a059;
    position: relative;
    background: linear-gradient(135deg, #1a1a1a 0%, #252015 100%);
    /* Subtle gold tint */
    box-shadow: 0 0 30px rgba(197, 160, 89, 0.15);
}

.lp-premium-wrapper .lp-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(to bottom, #800000, #5a0000);
    color: #fff;
    padding: 8px 25px;
    font-size: 16px;
    font-weight: bold;
    z-index: 10;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

/* Special Content Restructure */
.lp-premium-wrapper .lp-special-lead {
    font-size: 16px;
    margin-bottom: 25px;
    color: #e0e0e0;
    line-height: 1.8;
    font-weight: 500;
}

.lp-premium-wrapper .lp-special-content {
    background: rgba(197, 160, 89, 0.05);
    /* Very subtle gold bg */
    border: 1px solid rgba(197, 160, 89, 0.2);
    padding: 12px;
    border-radius: 4px;
}

.lp-premium-wrapper .lp-special-list {
    margin: 0;
    padding: 0;
}

.lp-premium-wrapper .lp-special-row {
    display: flex;
    align-items: center;
    /* Vertical center alignment */
    justify-content: space-between;
    border-bottom: 1px dashed rgba(197, 160, 89, 0.3);
    padding: 12px 0;
}

.lp-premium-wrapper .lp-special-row:last-child {
    border-bottom: none;
}

.lp-premium-wrapper .lp-special-row dt {
    flex: 0 0 70px;
    /* Reduced slightly for mobile */
    color: #c5a059;
    font-weight: bold;
    font-size: 16px;
}

@media (min-width: 768px) {
    .lp-premium-wrapper .lp-special-row dt {
        font-size: 18px;
    }
}

.lp-premium-wrapper .lp-special-row dd {
    flex: 1;
    margin: 0;
    font-weight: bold;
    font-size: 18px;
    /* Slightly larger for food items */
    color: #fff;
    text-align: right;
    /* Right align values for clean look */
    line-height: 1.4;
    /* Tighter line height for multi-line chunks */
    border: none;
}

/* Main Row Special Styling */
.lp-premium-wrapper .lp-main-row {
    align-items: flex-start;
    /* Align top for multi-line dd */
    padding-top: 15px;
    padding-bottom: 15px;
}

.lp-premium-wrapper .lp-main-row dt {
    margin-top: 5px;
    /* Adjust alignment with first line of dd */
}

.lp-premium-wrapper .lp-main-content {
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.lp-premium-wrapper .lp-main-top {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 8px;
    display: block;
}

.lp-premium-wrapper .lp-ingredient {
    color: #fff;
    font-size: 19px;
    /* Emphasize Beef */
}

.lp-premium-wrapper .lp-plus {
    color: #c5a059;
    margin: 0 4px;
    font-size: 14px;
}

.lp-premium-wrapper .lp-experience {
    font-size: 16px;
    color: #e0e0e0;
}

.lp-premium-wrapper .lp-noodle-choices {
    font-size: 14px;
    color: #ccc;
    background: rgba(197, 160, 89, 0.1);
    /* Gold tint background */
    border: 1px solid rgba(197, 160, 89, 0.3);
    /* Gold border */
    padding: 4px 12px;
    border-radius: 20px;
    display: inline-block;
    margin-top: 2px;
}

.lp-premium-wrapper .lp-divider {
    color: #888;
    margin: 0 6px;
    font-size: 12px;
}

.lp-premium-wrapper .lp-text-sub {
    font-size: 14px;
    font-weight: normal;
    color: #bbb;
    display: inline-block;
    /* Prevent break within "または 赤ワイン" if possible, or control with br */
}

.lp-premium-wrapper .lp-note-special {
    font-size: 16px;
    color: #999;
    margin-top: 20px;
    display: block;
}

/* Plans (Kiwami/Premium) Selection Styling */
.lp-premium-wrapper .lp-plan-wrapper {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #444;
}

.lp-premium-wrapper .lp-plan-guide {
    color: #c5a059;
    margin-bottom: 20px;
    font-weight: bold;
    text-align: center;
    background: rgba(197, 160, 89, 0.1);
    padding: 8px;
    border-radius: 4px;
}

.lp-premium-wrapper .lp-plan-item {
    background: #2a2a2a;
    border: 1px solid #444;
    padding: 15px;
    margin-bottom: 15px;
    border-radius: 4px;
    position: relative;
}

.lp-premium-wrapper .lp-plan-head {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    flex-wrap: wrap;
    gap: 10px;
}

.lp-premium-wrapper .lp-plan-badge {
    background: #555;
    color: #fff;
    padding: 2px 8px;
    border-radius: 2px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.lp-premium-wrapper .lp-plan-name {
    font-size: 18px;
    font-weight: bold;
    color: #e0c080;
}

.lp-premium-wrapper .lp-plan-desc {
    color: #ccc;
    line-height: 1.6;
}

/* Grid for Take/Ume */
.lp-premium-wrapper .lp-grid-2col {
    display: block;
}

/* --- Option Section --- */
.lp-premium-wrapper .lp-option {
    background-color: rgba(0, 0, 0, 0.2);
}

.lp-premium-wrapper .lp-option-block {
    margin-bottom: 40px;
    border: 1px solid #444;
    padding: 12px;
    background: #222;
}

.lp-premium-wrapper .lp-option-head {
    font-size: 22px;
    color: #c5a059;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-option-desc {
    color: #ccc;
    margin-bottom: 30px;
}

/* NEW: Kamameshi Option Styling */
.lp-premium-wrapper .lp-option-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lp-premium-wrapper .lp-option-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #444;
    border-radius: 6px;
    padding: 12px;
    transition: background 0.3s;
}

.lp-premium-wrapper .lp-option-card:hover {
    background: rgba(255, 255, 255, 0.08);
}

.lp-premium-wrapper .lp-option-card-header {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #444;
}

.lp-premium-wrapper .lp-option-icon {
    flex: 0 0 40px;
    height: 40px;
    background: #c5a059;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1a1a1a;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
}

.lp-premium-wrapper .lp-option-icon svg {
    width: 24px;
    height: 24px;
}

.lp-premium-wrapper .lp-option-title-group {
    flex: 1;
}

.lp-premium-wrapper .lp-option-name {
    color: #f0f0f0;
    font-size: 19px;
    font-weight: bold;
    margin-bottom: 5px;
    line-height: 1.3;
    background: none;
}

.lp-premium-wrapper .lp-option-price {
    color: #c5a059;
    font-weight: 500;
}

.lp-premium-wrapper .lp-option-text {
    color: #bbb;
    line-height: 1.6;
    padding-left: 55px;
    /* Indent to align with text above */
}

.lp-premium-wrapper .lp-option-list {
    padding: 0;
}

.lp-premium-wrapper .lp-option-list li {
    margin-bottom: 25px;
    list-style: none;
    border-bottom: 1px dotted #555;
    padding-bottom: 15px;
}

.lp-premium-wrapper .lp-option-list li strong {
    display: block;
    margin-bottom: 8px;
    color: #f5f5f5;
    font-size: 18px;
}

/* --- Celebration Section --- */
.lp-premium-wrapper .lp-celebration {
    background: linear-gradient(to bottom, #111, #221a1a);
    /* Slight red tint at bottom */
    border-top: none;
}

.lp-premium-wrapper .lp-celebration-item {
    margin-bottom: 40px;
    padding: 12px;
    background: rgba(128, 0, 0, 0.05);
    border: 1px solid #4a1a1a;
    position: relative;
}

/* Corner accents for celebration */
.lp-premium-wrapper .lp-celebration-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border-top: 2px solid #800000;
    border-left: 2px solid #800000;
}

.lp-premium-wrapper .lp-celebration-item::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 20px;
    height: 20px;
    border-bottom: 2px solid #800000;
    border-right: 2px solid #800000;
}

.lp-premium-wrapper .lp-celebration-item .lp-btn-web {
    width: 100%;
    margin: 40px auto;
}

@media (min-width: 768px) {
    .lp-premium-wrapper .lp-celebration-item .lp-btn-web {
        width: 300px;
    }
}

.lp-premium-wrapper .lp-celebration-img {
    margin-bottom: 25px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    /* Lock aspect ratio */
}

.lp-premium-wrapper .lp-celebration-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 1px solid #333;
    transition: transform 0.5s;
}

.lp-premium-wrapper .lp-celebration-img img:hover {
    transform: scale(1.05);
}

.lp-premium-wrapper .lp-celebration-title {
    color: #e6b422;
    font-size: 22px;
    margin-bottom: 15px;
    text-align: center;
    font-weight: bold;
}

/* --- Gallery & Reviews (Horizontal Scroll Snap) --- */
.lp-premium-wrapper .lp-gallery,
.lp-premium-wrapper .lp-reviews {
    background-color: transparent;
    overflow: hidden;
}

.lp-premium-wrapper .lp-scroll-snap {
    display: flex;
    overflow-x: auto;
    gap: 20px;
    padding: 0 5% 40px 5%;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    align-items: flex-start;
}

.lp-premium-wrapper .lp-scroll-item {
    flex: 0 0 85%;
    /* SP: 85% width */
    scroll-snap-align: center;
}

/* 全スクロールアイテム画像の基本設定（比率強制を解除・高さ自動） */
.lp-premium-wrapper .lp-scroll-item img {
    border-radius: 4px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    width: 100%;
    height: auto;
    /* ★高さ自動 */
    display: block;
}

/* 「体験の様子（ギャラリー）」のみ正方形（1:1）に強制 */
.lp-premium-wrapper .lp-gallery .lp-scroll-item img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* 3. 「お客様の感想（口コミ）」はトリミングなしで全表示 */
.lp-premium-wrapper .lp-reviews .lp-scroll-item img {
    aspect-ratio: auto;
    /* ★比率自動 */
    object-fit: contain;
}

/* --- FAQ Section --- */
.lp-premium-wrapper .lp-faq {
    background-color: rgba(0, 0, 0, 0.3);
    padding-bottom: 80px;
}

.lp-premium-wrapper .lp-faq-grid {
    display: block;
    /* SP: Stack */
}

.lp-premium-wrapper .lp-faq-item {
    margin-bottom: 30px;
    padding-bottom: 25px;
}

.lp-premium-wrapper .lp-faq-q {
    color: #c5a059;
    font-size: 19px;
    margin-bottom: 15px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.lp-premium-wrapper .lp-faq-a {
    line-height: 1.8;
    padding-left: 20px;
    /* Indent answer */
    color: #ddd;
}

/* --- Desktop Styles (PC) --- */
@media (min-width: 768px) {

    /* PC Base Font Size: 18px */
    .lp-premium-wrapper {
        font-size: 18px;
    }

    /* Enforce min sizes for PC */
    .lp-premium-wrapper small,
    .lp-premium-wrapper .lp-note,
    .lp-premium-wrapper .lp-menu-note,
    .lp-premium-wrapper .lp-tax {
        font-size: 18px;
    }

    .lp-premium-wrapper .lp-card-body {
        padding: 30px;
        /* Restore PC padding */
    }

    .lp-premium-wrapper .lp-section-title {
        font-size: 36px;
    }

    /* Hero PC */
    .lp-premium-wrapper .lp-hero {
        height: 750px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 52px;
    }

    .lp-premium-wrapper .lp-hero-sub-text {
        font-size: 26px;
    }

    /* Concept (Story) PC */
    .lp-premium-wrapper .lp-story-row {
        flex-direction: row;
        /* Horizontal */
        gap: 50px;
    }

    .lp-premium-wrapper .lp-story-row.lp-story-reverse {
        flex-direction: row-reverse;
    }

    .lp-premium-wrapper .lp-story-visual {
        width: 50%;
        flex-shrink: 0;
    }

    .lp-premium-wrapper .lp-story-content {
        width: 50%;
    }

    /* Grid Layouts */
    .lp-premium-wrapper .lp-grid-2col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-celebration .lp-grid-2col {
        display: block;
    }


    /* FAQ Grid Layout PC */
    .lp-premium-wrapper .lp-faq-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .lp-premium-wrapper .lp-faq-item {
        padding-bottom: 20px;
        margin-bottom: 0;
        /* Let grid gap handle spacing */
    }

    /* Scroll Snap becomes Grid on PC */
    .lp-premium-wrapper .lp-scroll-snap {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
        overflow-x: visible;
        padding: 0;
    }

    .lp-premium-wrapper .lp-reviews-scroll {
        grid-template-columns: repeat(4, 1fr);
        align-items: flex-start;
        /* ★高さが違っても上端で揃える */
    }

    .lp-premium-wrapper .lp-scroll-item {
        flex: none;
        scroll-snap-align: none;
    }

    /* Special (Matsu) Card PC */
    .lp-premium-wrapper .lp-card-special {
        display: flex;
        align-items: stretch;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-image {
        flex: 1;
        min-height: auto;
        height: auto;
        aspect-ratio: auto;
        /* Reset aspect ratio for flex stretch */
    }

    .lp-premium-wrapper .lp-card-special .lp-card-image img {
        height: 100%;
        min-height: 500px;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-body {
        flex: 1;
        padding: 60px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    /* Special Content PC */
    .lp-premium-wrapper .lp-special-lead {
        font-size: 20px;
        margin-bottom: 30px;
    }

    .lp-premium-wrapper .lp-special-row dt {
        flex: 0 0 80px;
        /* Restore width for PC */
    }

    .lp-premium-wrapper .lp-special-row dd {
        font-size: 20px;
        line-height: 1.8;
    }

    .lp-premium-wrapper .lp-ingredient {
        font-size: 20px;
    }

    /* Kamameshi PC */
    .lp-premium-wrapper .lp-option-text {
        padding-left: 55px;
    }
}

/* --- Modal Styles (ポップアップ用スタイル) --- */
.lp-modal {
    display: none;
    /* 初期状態は非表示 */
    position: fixed;
    z-index: 9999;
    padding-top: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9);
    /* 背景を暗く */
}

.lp-modal-content {
    margin: auto;
    display: block;
    width: auto;
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.8);
    cursor: zoom-out;
    /* 拡大画像上はズームアウトカーソル */
}

.lp-modal-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
    cursor: pointer;
    z-index: 10000;
    line-height: 1;
}

.lp-modal-close:hover,
.lp-modal-close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* レビュー画像のカーソル変更（既存クラスへの追記） */
.lp-review-screenshot {
    cursor: zoom-in;
    /* クリックできることを示す虫眼鏡アイコン */
    transition: opacity 0.3s;
}

.lp-review-screenshot:hover {
    opacity: 0.8;
}

/* --- CTA Section --- */
.lp-premium-wrapper .lp-cta {
    padding-top: 50px;
    padding-bottom: 50px;
}

.lp-premium-wrapper .lp-cta-box {
    border: 1px solid #c5a059;
    background: rgba(197, 160, 89, 0.05);
    padding: 40px 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* 装飾用の光沢 */
.lp-premium-wrapper .lp-cta-box::before {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(197, 160, 89, 0.1) 0%, transparent 70%);
    z-index: 0;
    pointer-events: none;
}

.lp-premium-wrapper .lp-cta-title,
.lp-premium-wrapper .lp-cta-text,
.lp-premium-wrapper .lp-cta-actions,
.lp-premium-wrapper .lp-cta-note {
    position: relative;
    z-index: 1;
}

.lp-premium-wrapper .lp-cta-title {
    font-size: 28px;
    color: #c5a059;
    margin-bottom: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    border: none;
}

.lp-premium-wrapper .lp-cta-text {
    font-size: 18px;
    color: #fff;
    margin-bottom: 30px;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 600px;
    margin: 0 auto;
}

.lp-premium-wrapper .lp-btn {
    display: block;
    width: 100%;
    padding: 15px 10px;
    text-align: center;
    border-radius: 4px;
    transition: all 0.3s;
    text-decoration: none;
}

/* WEB予約ボタン（ゴールドグラデーション） */
.lp-premium-wrapper .lp-btn-web {
    background: linear-gradient(to right, #c5a059, #f0e68c, #c5a059);
    background-size: 200% auto;
    color: #000;
    box-shadow: 0 4px 15px rgba(197, 160, 89, 0.4);
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right center;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197, 160, 89, 0.6);
    opacity: 1;
}

/* 電話予約ボタン */
.lp-premium-wrapper .lp-btn-tel {
    background: #2a2a2a;
    border: 1px solid #c5a059;
    color: #c5a059;
}

.lp-premium-wrapper .lp-btn-tel:hover {
    background: #c5a059;
    color: #000;
}

.lp-premium-wrapper .lp-btn-sub {
    display: block;
    font-size: 18px;
    margin-bottom: 4px;
    opacity: 0.9;
    font-weight: normal;
}

.lp-premium-wrapper .lp-btn-main {
    display: block;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.2;
}

.lp-premium-wrapper .lp-cta-note {
    margin-top: 20px;
    font-size: 13px;
    color: #aaa;
}

/* PC用調整 */
@media (min-width: 768px) {
    .lp-premium-wrapper .lp-cta-actions {
        gap: 30px;
    }

    .lp-premium-wrapper .lp-cta-box {
        padding: 60px 40px;
    }

    .lp-premium-wrapper .lp-btn {
        padding: 20px;
    }
}


/* === 3365.css === */

/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 28 2026 | 09:11:23 */
/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 10 2026 | 05:40:29 */
/* 上部のh1見出し削除。h1はコーディングで指定 */
.page-id-7226 .section.page-header {
    display: none;
}

/* 空のpタグを非表示にする */
.page-id-7226 p:empty {
    display: none !important;
}

/* 幅固定と余白削除 */
.page-id-7226 .section.siteContent .container {
    max-width: none !important;
    padding: 0 !important;
}

.page-id-7226 .section.siteContent {
    padding: 0 !important;
}

.page-id-7226 .section.siteContent .mainSection {
    margin-bottom: 0;
}

/* 非表示設定 */
.pc-only {
    display: block;
}

.sp-only {
    display: none;
}

@media (max-width: 767px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }
}

/* --- Base Reset & Wrapper (Scope: .lp-celebration-wrapper) --- */
.lp-celebration-wrapper {
    font-family: "Noto Sans JP", sans-serif;
    color: #4a4a4a;
    line-height: 1.8;
    background-color: #fff;
    max-width: 100%;
    overflow-x: hidden;
    font-size: 16px;
}

/* PC（幅768px以上）の時に文字を大きくする設定 */
@media (min-width: 768px) {
    .lp-celebration-wrapper {
        font-size: 18px;
        /* PCの文字サイズ */
    }
}

.lp-celebration-wrapper * {
    box-sizing: border-box;
}

.lp-celebration-wrapper img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    border-radius: 6px;
    display: block;
    margin: 0 auto;
}

/* --- Colors & Variables --- */
.lp-celebration-wrapper {
    --c-main: #9e2a2b;
    /* Fujiya Red (Engi) */
    --c-accent: #c5a059;
    /* Soft Gold */
    --c-bg-light: #fbf9f6;
    /* Warm off-white */
    --c-text: #4a4a4a;
    --font-serif: "Noto Serif JP", serif;
}

/* --- Utility --- */
.lp-celebration-wrapper .lp-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.lp-celebration-wrapper .lp-text-center {
    text-align: center;
}

.lp-celebration-wrapper .lp-phrase {
    display: inline-block;
}

/* SPのみ改行するクラス */
.lp-br-sp {
    display: inline;
}

@media (min-width: 768px) {
    .lp-br-sp {
        display: none;
    }
}

.lp-celebration-wrapper .lp-section-title {
    font-family: var(--font-serif);
    font-size: 1.8em;
    font-weight: 600;
    text-align: center;
    margin-bottom: 0.5rem;
    color: var(--c-main);
    letter-spacing: 0.08em;
    border: none;
}

.lp-celebration-wrapper .lp-section-deco {
    width: 30px;
    height: 2px;
    background-color: var(--c-accent);
    margin: 0 auto 3rem auto;
}

/* --- Hero Section --- */
.lp-celebration-wrapper .lp-hero {
    position: relative;
    width: 100%;
    height: 65vh;
    min-height: 500px;
    background-image: url('https://houtoutaiken.lp-web.net/wp-content/uploads/2026/02/誕生日サプライズプランFV背景-scaled.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lp-celebration-wrapper .lp-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.1);
}

.lp-celebration-wrapper .lp-hero-box {
    position: relative;
    z-index: 10;
    background: rgba(255, 255, 255, 0.9);
    padding: 3rem 0;
    text-align: center;
    max-width: 90%;
    width: 580px;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.lp-celebration-wrapper .lp-hero-catch {
    font-family: var(--font-serif);
    font-size: 1.4em;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
    line-height: 1.6;
    color: #333;
    border: none;
}

.lp-celebration-wrapper .lp-hero-sub {
    font-size: 0.9em;
    letter-spacing: 0.15em;
    color: #666;
    margin-top: 1rem;
    display: block;
    border-top: 1px solid #ddd;
    padding-top: 1rem;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

/* --- Concept Section --- */
.lp-celebration-wrapper .lp-section-concept {
    padding: 80px 0 60px 0;
    background-color: #fff;
}

.lp-celebration-wrapper .lp-section-concept .lp-container {
    max-width: 800px;
}

/* 2カラムレイアウト用の枠組み */
.lp-celebration-wrapper .lp-concept-row {
    display: flex;
    flex-direction: column;
    /* スマホは縦並び */
    gap: 40px;
    align-items: center;
    margin-top: 20px;
}

/* PC（幅768px以上）の設定 */
@media (min-width: 768px) {
    .lp-celebration-wrapper .lp-concept-row {
        flex-direction: row;
        /* PCは横並び */
        align-items: center;
        justify-content: space-between;
    }
}

/* 左側：テキストエリア */
.lp-celebration-wrapper .lp-concept-col-text {
    flex: 1;
    text-align: center;
}

@media (min-width: 768px) {
    .lp-celebration-wrapper .lp-concept-col-text {
        text-align: left;
        /* PCは左揃え */
        padding-right: 40px;
    }
}

/* 右側：画像エリア */
.lp-celebration-wrapper .lp-concept-col-img {
    flex: 1;
    width: 100%;
    max-width: 450px;
    /* 画像が大きくなりすぎないように制限 */
}

/* 画像自体の設定（縦横比維持） */
.lp-celebration-wrapper .lp-concept-img {
    width: 100%;
    height: auto;
    /* ★これが重要：どんな画像でも比率を崩しません */
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    display: block;
}

.lp-celebration-wrapper .lp-concept-lead {
    font-size: 1em;
    line-height: 2.2;
    margin-bottom: 1.5rem;
}

/* --- Recommend Section (New) --- */
.lp-celebration-wrapper .lp-section-recommend {
    padding: 0 0 60px 0;
    background-color: #fff;
}

.lp-celebration-wrapper .lp-recommend-box {
    background-color: #fffbf5;
    /* 薄いベージュ */
    border: 1px solid #eecaca;
    /* 薄い赤の枠線 */
    border-radius: 10px;
    padding: 30px;
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
}

.lp-celebration-wrapper .lp-recommend-title {
    font-family: var(--font-serif);
    font-size: 1.3em;
    color: var(--c-main);
    font-weight: bold;
    margin-bottom: 20px;
    letter-spacing: 0.05em;
}

.lp-celebration-wrapper .lp-recommend-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-block;
    text-align: left;
}

.lp-celebration-wrapper .lp-recommend-list li {
    margin-bottom: 10px;
    padding-left: 1.5em;
    position: relative;
    font-weight: 500;
    font-size: 1.05em;
}

.lp-celebration-wrapper .lp-recommend-list li::before {
    content: '✔';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--c-main);
    font-weight: bold;
    font-size: 1.1em;
}

/* --- Plan 1: Meat Afternoon Tea (Light Theme) --- */
.lp-celebration-wrapper .lp-plan-main {
    background-color: var(--c-bg-light);
    /* Light beige background */
    padding: 80px 0;
}

.lp-celebration-wrapper .lp-plan-card {
    background: #fff;
    margin: 0 auto;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
    padding: 50px 8px;
    text-align: center;
    border: 1px solid rgba(0, 0, 0, 0.02);
}

.lp-celebration-wrapper .lp-badge-ribbon {
    display: inline-block;
    background-color: var(--c-main);
    color: white;
    padding: 6px 20px;
    font-size: 0.9em;
    letter-spacing: 0.1em;
    border-radius: 2px;
    font-family: var(--font-serif);
}

.lp-celebration-wrapper .lp-plan-title {
    font-family: var(--font-serif);
    font-size: 1.8em;
    color: #333;
    margin: 20px 0 0;
    line-height: 1.4;
    border: none;
}

.lp-celebration-wrapper .lp-plan-title::after {
    border: none;
}

.lp-celebration-wrapper .lp-plan-price {
    font-family: var(--font-serif);
    font-size: 1.1em;
    color: var(--c-main);
    font-weight: 600;
    display: block;
    margin-bottom: 30px;
}

.lp-celebration-wrapper .lp-plan-img {
    margin: 20px auto 40px auto;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.lp-celebration-wrapper .lp-plan-desc {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 30px auto;
}

.lp-celebration-wrapper .lp-plan-points-box {
    background-color: #fff9f9;
    border: 1px dashed #eecaca;
    padding: 25px 8px;
    border-radius: 8px;
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
}

.lp-celebration-wrapper .lp-plan-points-box ul {
    padding: 0;
    list-style: none;
    margin: 0;
}

.lp-celebration-wrapper .lp-plan-points-box li {
    color: var(--c-main);
    font-weight: 600;
    margin: 8px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* --- Flow Section --- */
.lp-celebration-wrapper .lp-flow-wrapper {
    padding: 80px 0;
    background-color: var(--c-bg-light);
}

.lp-celebration-wrapper .lp-flow-cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (min-width: 768px) {
    .lp-celebration-wrapper .lp-flow-cards {
        flex-direction: row;
        gap: 30px;
    }
}

.lp-celebration-wrapper .lp-flow-card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 30px 20px;
    flex: 1;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
    transition: transform 0.3s;
}

.lp-celebration-wrapper .lp-flow-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.06);
}

.lp-celebration-wrapper .lp-flow-num {
    background-color: var(--c-main);
    color: white;
    width: 32px;
    height: 32px;
    line-height: 32px;
    border-radius: 50%;
    font-weight: bold;
    margin: 0 auto 15px auto;
    display: block;
}

.lp-celebration-wrapper .lp-flow-step-title {
    font-weight: bold;
    margin-bottom: 10px;
    color: var(--c-main);
    font-size: 1.1em;
    background: none;
    margin: 0;
}

/* --- CTA --- */
.lp-celebration-wrapper .lp-cta-wrapper {
    padding: 60px 0;
    background-color: #fff;
    text-align: center;
}

.lp-celebration-wrapper .lp-btn-reserve {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--c-main);
    color: white;
    padding: 20px 40px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 5px 20px rgba(158, 42, 43, 0.3);
    transition: transform 0.3s, box-shadow 0.3s;
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
}

.lp-celebration-wrapper .lp-btn-reserve:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(158, 42, 43, 0.4);
}

.lp-celebration-wrapper .lp-btn-main {
    font-size: 1.2em;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}

.lp-celebration-wrapper .lp-btn-sub {
    font-size: 0.85em;
    opacity: 0.9;
    font-weight: normal;
}

/* === 3366.css === */

/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 28 2026 | 09:12:17 */
/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 10 2026 | 05:40:41 */
/* CSS for Simple CSS Plugin */
.lp-menu-wrapper * {
    box-sizing: border-box;
}

.lp-menu-wrapper {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #333;
    background-color: transparent;
    padding: 40px 0;
    margin: 0 auto;
    width: 100%;
    line-height: 1.6;
}

/* Reduced max-width to 800px */
.lp-menu-wrapper .lp-menu-container {
    max-width: 800px;
    margin: 0 auto;
}

.lp-menu-wrapper .lp-u-bold {
    font-weight: bold;
}

.lp-menu-wrapper .lp-u-red {
    color: #800000;
}

.lp-menu-wrapper .lp-u-gold {
    color: #c5a059;
}

/* Premium Zone */
.lp-menu-wrapper .lp-menu-premium-zone {
    border: 4px solid #800000;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 56px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    background: #fff;
}

.lp-menu-wrapper .lp-menu-premium-header {
    background-color: #800000;
    color: #fff;
    padding: 20px 16px;
    text-align: center;
}

.lp-menu-wrapper .lp-menu-premium-title {
    margin: 0;
    font-size: 20px;
    letter-spacing: 0.05em;
    font-weight: bold;
    line-height: 1.4;
    border: none;
}

.lp-menu-wrapper .lp-menu-premium-title::after {
    border: none;
}

/* Note Area */
.lp-menu-wrapper .lp-menu-note {
    background-color: #fff8e1;
    border-bottom: 1px solid #eecfa1;
    padding: 14px;
    text-align: center;
}

.lp-menu-wrapper .lp-menu-note-text {
    color: #800000;
    font-weight: bold;
    margin: 0;
    font-size: 14px;
}

/* Menu Item */
.lp-menu-wrapper .lp-menu-item {
    padding: 28px 20px;
    border-bottom: 1px dashed #ccc;
    background-color: #fff;
}

.lp-menu-wrapper .lp-menu-item:last-child {
    border-bottom: none;
}

.lp-menu-wrapper .lp-menu-item-inner {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.lp-menu-wrapper .lp-menu-name-area {
    flex: 1;
}

.lp-menu-wrapper .lp-menu-name {
    font-size: 21px;
    font-weight: bold;
    margin-bottom: 6px;
    line-height: 1.3;
    color: #333;
}

.lp-menu-wrapper .lp-menu-desc-text {
    font-size: 14px;
    color: #666;
    margin-top: 8px;
    margin-bottom: 12px;
    line-height: 1.6;
    text-align: left;
}

.lp-menu-wrapper .lp-menu-price {
    font-size: 32px;
    font-weight: bold;
    color: #800000;
    text-align: right;
    line-height: 1;
    white-space: nowrap;
}

/* Matsu Rank Special */
.lp-menu-wrapper .lp-menu-item.lp-rank-matsu {
    background-color: #fffdf5;
    border-bottom: 2px solid #c5a059;
    padding-top: 80px;
    position: relative;
}

.lp-menu-wrapper .lp-menu-badge {
    position: absolute;
    top: 12px;
    left: 16px;
    background: linear-gradient(90deg, #c5a059, #d4af37);
    color: white;
    padding: 6px 24px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 4px;
    transform: rotate(-2deg);
    border: 2px solid #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 10;
}

.lp-menu-wrapper .lp-menu-name.lp-matsu-name {
    color: #800000;
    font-size: 24px;
}

/* Set Content Box */
.lp-menu-wrapper .lp-menu-set-box {
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid #eecfa1;
    border-radius: 8px;
    padding: 14px;
    margin-top: 4px;
}

.lp-menu-wrapper .lp-menu-set-label {
    display: block;
    font-size: 13px;
    font-weight: bold;
    color: #c5a059;
    margin-bottom: 6px;
}

.lp-menu-wrapper .lp-menu-set-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
}

.lp-menu-wrapper .lp-menu-set-item {
    font-weight: 500;
    font-size: 15px;
    display: flex;
    align-items: center;
}

.lp-menu-wrapper .lp-menu-set-icon {
    color: #c5a059;
    margin-right: 6px;
}

/* Topping Box */
.lp-menu-wrapper .lp-menu-topping {
    display: block;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 14px 18px;
    margin-top: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.06);
}

.lp-menu-wrapper .lp-menu-topping-label {
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #555;
    margin-bottom: 6px;
}

.lp-menu-wrapper .lp-menu-topping-text {
    font-size: 18px;
    color: #222;
    line-height: 1.4;
}

/* Option Zone */
.lp-menu-wrapper .lp-menu-option-zone {
    background-color: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.lp-menu-wrapper .lp-menu-option-header {
    border-left: 6px solid #800000;
    padding-left: 14px;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
    color: #333;
}

.lp-menu-wrapper .lp-menu-option-row {
    display: flex;
    flex-direction: column;
    padding: 14px 8px;
    border-bottom: 1px solid #f3f4f6;
}

.lp-menu-wrapper .lp-menu-option-row:nth-child(even) {
    background-color: #f9fafb;
}

.lp-menu-wrapper .lp-menu-option-name {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 4px;
}

.lp-menu-wrapper .lp-menu-option-price {
    font-size: 18px;
    font-weight: bold;
    text-align: right;
    color: #333;
}

/* PC Layout */
@media (min-width: 768px) {
    .lp-menu-wrapper {
        padding: 60px 20px;
    }

    .lp-menu-wrapper .lp-menu-item-inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
    }

    .lp-menu-wrapper .lp-menu-name-area {
        min-width: 0;
    }

    .lp-menu-wrapper .lp-menu-price {
        width: auto;
        flex-shrink: 0;
        margin-left: 0;
        text-align: right;
        align-self: flex-start;
        margin-top: 8px;
    }

    .lp-menu-wrapper .lp-menu-topping {
        display: inline-block;
        min-width: 320px;
    }

    .lp-menu-wrapper .lp-menu-name.lp-matsu-name {
        font-size: 28px;
    }

    .lp-menu-wrapper .lp-menu-price.lp-matsu-price {
        font-size: 42px;
        margin-bottom: 0;
    }

    .lp-menu-wrapper .lp-menu-set-list {
        grid-template-columns: 1fr 1fr;
    }

    .lp-menu-wrapper .lp-menu-option-row {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .lp-menu-wrapper .lp-menu-option-name {
        margin-bottom: 0;
        font-size: 16px;
    }

    .lp-menu-wrapper .lp-menu-option-price {
        font-size: 20px;
    }

    .lp-menu-wrapper .lp-menu-badge {
        left: 24px;
        padding: 8px 32px;
        font-size: 18px;
    }
}

/* === 3367.css === */

/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 28 2026 | 09:16:05 */
/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 10 2026 | 05:38:28 */
/* 求人バナー用CSS */
.recruit-banner-box {
    background: #fffcf5;
    /* 薄いベージュ背景 */
    border: 3px solid #ff9f1c;
    /* オレンジ枠 */
    border-radius: 12px;
    padding: 30px;
    margin: 40px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.recruit-banner-content {
    flex: 1;
}

.recruit-banner-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #333;
    margin-bottom: 10px;
    line-height: 1.4;
}

.recruit-banner-title span {
    color: #ff9f1c;
    /* 強調オレンジ */
}

.recruit-banner-text {
    font-size: 0.95rem;
    color: #666;
    margin-bottom: 20px;
}

.recruit-banner-btn {
    display: inline-block;
    background-color: #ff9f1c;
    color: #fff !important;
    font-weight: bold;
    padding: 12px 30px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s;
    box-shadow: 0 4px 6px rgba(255, 159, 28, 0.3);
}

.recruit-banner-btn:hover {
    background-color: #e08e19;
    transform: translateY(-2px);
}

.recruit-banner-img {
    width: 250px;
    height: 250px;
    flex-shrink: 0;
}

.recruit-banner-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    /* 丸く切り抜き */
    border: 4px solid #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* スマホ対応 */
@media (max-width: 768px) {
    .recruit-banner-box {
        flex-direction: column-reverse;
        /* スマホでは画像を上に */
        text-align: center;
        padding: 20px;
    }

    .recruit-banner-img {
        width: 180px;
        height: 180px;
        margin-bottom: 10px;
    }

    .recruit-banner-title {
        font-size: 1.2rem;
    }
}

/* === 3368.css === */

/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 28 2026 | 09:17:24 */
.line-button {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #06C755;
    color: white;
    font-size: 23px;
    font-weight: bold;
    padding: 15px 30px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    width: 100%;
    max-width: 600px;
    height: 60px;
    margin: 0 auto;
    text-align: center;
}

.line-button:hover {
    background-color: #04a646;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
}

.line-button img {
    width: 35px;
    height: 24px;
    margin-right: 8px;
}

.line-button span {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
}

.line-button img,
.line-button span {
    height: auto;
    display: flex;
    align-items: center;
}

@media (max-width: 768px) {
    .line-button {
        width: 100%;
        max-width: none;
    }
}

.news-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.news-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
    color: #9e302c;
}

.news-blocks {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.news-block {
    flex: 1 1 calc(33.333% - 20px);
    background: #fff;
    margin: 10px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s;
}

.news-block:hover {
    transform: translateY(-5px);
}

.news-image {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.news-content {
    padding: 15px;
}

/*
.news-content h3 {
    font-size: 18px;
    margin: 0 0 10px;
    color: #0078d7;
}
*/
.news-content h3 {
    font-size: 18px;
    margin: -10px 0 10px;
    font-weight: bold;
    color: #9e302c;
}

.news-content p {
    font-size: 14px;
    color: #555;
    margin: 0 0 15px;
}

.news-content a {
    text-decoration: none;
    color: #0078d7;
    font-weight: bold;
}

.news-content a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .news-block {
        flex: 1 1 100%;
    }
}

@media screen and (max-width: 480px) {
    .news-block {
        flex: 1 1 calc(100% - 20px);
    }
}

/* 送料無料 */
.box28 {
    position: relative;
    margin: 2em 0;
    padding: 25px 10px 7px;
    border: solid 2px #FFC107;
}

.box28 .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #FFC107;
    color: #ffffff;
    font-weight: bold;
}

.box28 p {
    margin: 0;
    padding: 0;
}

.alert-danger {
    margin-top: -10px;
    padding-bottom: 1px
}

.box10 {
    padding: 2em 1em;
    margin: 3em 0;
    color: #5d627b;
    background: #FFFAF0;
    border-top: solid 12px #9e302c;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
    padding-bottom: 1px
}

.box9 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 8px #9e302c;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

.fuwa p {
    -webkit-transition: all 1s;
    -webkit-transform: translate(0, 0);
    opacity: 1;
}

.fuwa p.move {
    -webkit-transform: translate(-10px, 0);
    opacity: 0;
}

.fuwa p {
    -webkit-transition: all 1s;
    -webkit-transform: translate(0, 0);
    opacity: 1;
}

.fuwa p.move {
    -webkit-transform: translate(-10px, 0);
    opacity: 0;
}

/* トップページ全幅見出しの高さ（余白で設定） */
@media (min-width: 300px) {

    .widget_ltg_adv_full_wide_title_outer,
    .widget_ltg_full_wide_title_outer {
        padding: 7em 10px;
    }
}

.carousel {
    border-bottom: none;
}

.home .siteContent {
    padding-top: 0 !important;
}



h4 {
    background-color: #4f1c0f;
    color: #fff;
}

.box29 {
    margin: 2em 0;
    background: #eee;
}

.box29 .box-title {
    font-size: 1.2em;
    background: #4f1c0f;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.box29 p {
    padding: 15px 20px;
    margin: 0;
}

.co {
    display: flex;
}


.thumbnail2 {
    width: 100%;
    height: 100%;
    margin: 1px;
    padding: 2px;
    background-color: #eeeeee;
}

.boxbox {
    width: 100%;
    height: 100%;
    margin: 1px;
    padding: 2px;
    border: 1px solid #ddd;
    background-color: #fff;
}

.box2 {
    width: 100%;
    height: 100%;
    margin: 1px;
    padding: 2px;
    border: 1px solid #ddd;
    background-color: #eee;
}

.back {
    border: 4px solid #440000;
    background-color: #fff;
    padding: 0.5em 1em;

}



.b2 {
    border: 4px solid #440000;
    padding: 0.5em 1em;
    margin: 1px;

}

.back1 {
    border: 4px solid #777;
    padding: 0.5em 1em;

}


.background {
    background-color: #EEE;
    padding: 0.5em 1em;

}


table.company {
    width: 500px;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0px 15px;
    font-size: 12px;
}

table.company th,
table.company td {
    padding: 10px;
}

table.company th {
    background: #6A5ACD;
    vertical-align: middle;
    text-align: left;
    width: 100px;
    overflow: visible;
    position: relative;
    color: #fff;
    font-weight: normal;
    font-size: 15px;
}

table.company th:after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-left-color: #6A5ACD;
    border-width: 10px;
    margin-top: -10px;
}

/* firefox */
@-moz-document url-prefix() {
    table.company th::after {
        float: right;
        padding: 0;
        left: 30px;
        top: 10px;
        content: " ";
        height: 0;
        width: 0;
        position: relative;
        pointer-events: none;
        border: 10px solid transparent;
        border-left: #6A5ACD 10px solid;
        margin-top: -10px;
    }
}

table.company td {
    background: #f8f8f8;
    width: 360px;
    padding-left: 20px;
}

h2 {
    background: Transparent;
    border-top-color: Transparent;
    border-bottom-color: #440000;
    border-bottom-width: 3px;
    position: relative;
    padding: 10px;
    padding-right: 30px;

    color: #000;
    padding-left: 2em;
}


.balloon5 {
    width: 100%;
    margin: 1.5em 0;
    overflow: hidden;
}

.balloon5 .faceicon {
    float: left;
    margin-right: -90px;
    width: 80px;
}

.balloon5 .faceicon img {
    width: 100%;
    height: auto;
    border: solid 3px #6A5ACD;
    border-radius: 50%;
}

.balloon5 .chatting {
    width: 100%;
}

.says {
    display: inline-block;
    position: relative;
    margin: 5px 0 0 105px;
    padding: 17px 13px;
    border-radius: 12px;
    background: #eee;
}

.says:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 18px;
    left: -24px;
    border: 12px solid transparent;
    border-right: 12px solid #eee;
}

.says p {
    margin: 0;
    padding: 0;
}

label {
    display: block;
    font-weight: normal;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    width: 100%;
    margin: 0 auto;
    display: block;
}

input[type=date],
input[type=datetime-local],
input[type=month],
input[type=time] {
    display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: rgb(85, 85, 85);
    background-color: rgb(255, 255, 255);
    background-image: none;
    border: 1px solid rgb(204, 204, 204);
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}

.table tbody tr td .form-control,
.table tbody tr th .form-control,
.table td .form-control,
.table th .form-control,
.table thead tr td .form-control,
.table thead tr th .form-control,
table tbody tr td .form-control,
table tbody tr th .form-control,
table td .form-control,
table th .form-control,
table thead tr td .form-control,
table thead tr th .form-control {
    max-width: 100%;
}

@media screen and (max-width: 640px) {

    .table.table-bordered.table-striped.table-contactform7 th,
    .table.sp_brake th {
        display: block !important;
    }

    .table.table-bordered.table-striped.table-contactform7 td,
    .table.sp_brake td {
        display: block !important;
    }
}

.fadein {
    opacity: 0.1;
    transform: translate(0, 50px);
    transition: all 500ms;
}

/************************************************
 よくある質問ここから*/

.cp_qa *,
.cp_qa *:after,
.cp_qa *:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cp_qa .cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 0 -1em 0;
    color: #1b2538;
}

.cp_qa .cp_actab input {
    position: absolute;
    opacity: 0;
}

/* 質問 */
.cp_qa .cp_actab label {
    font-weight: bold;
    line-height: 1.6em;
    position: relative;
    display: block;
    margin: 0 0 0 0;
    padding: 1em 2em 1em 2.5em;
    cursor: pointer;
    text-indent: 1em;
    border-radius: 0.5em;
    background: rgba(27, 37, 56, 0.1);
}

.cp_qa .cp_actab label::before {
    font-family: serif;
    font-size: 1.5em;
    margin-left: -2em;
    padding-right: 0.5em;
    content: 'Q';
}

.cp_qa .cp_actab label:hover {
    transition: all 0.3s;
    color: #777;
}

/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
    font-size: 1.7em;
    font-weight: bold;
    line-height: 2em;
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    width: 2em;
    height: 2em;
    -webkit-transition: transform 0.4s;
    transition: transform 0.4s;
}

/* 答え */
.cp_qa .cp_actab .cp_actab-content {
    position: relative;
    overflow: hidden;
    max-height: 0;
    margin-top: -1.8em;
    padding: 0 0 0 2.5em;
    -webkit-transition: max-height 0.2s;
    transition: max-height 0.2s;
    border-radius: 0 0 0.5em 0.5em;
}

.cp_qa .cp_actab .cp_actab-content::before {
    font-family: serif;
    font-size: 1.5em;
    position: absolute;
    margin: 0.4em 0 0 -1em;
    padding: 0;
    content: 'A';
}

.cp_qa .cp_actab .cp_actab-content p {
    margin: 1em 1em 1em 0;
}

/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked~.cp_actab-content {
    max-height: 40em;
    border: 10px solid rgba(27, 37, 56, 0.1);
}

/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked~label {
    color: #9e302c;
    border-radius: 0.5em 0.5em 0 0;
}

/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked~label::after {
    -webkit-transform: rotateZ(45deg);
    transform: rotateZ(45deg);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}


/***
 よくある質問ここまで***************************************/

.yokonarabi {
    display: flex;
}

.yokonarabi>div {
    width: 50%;
    padding-left: 10px
}

.feature-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 2rem 1rem;
    max-width: 1100px;
    margin: auto;
}

.feature-item {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s ease;
}

.feature-item:hover {
    transform: translateY(-4px);
}

.feature-item img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    margin: 0;
    padding: 0;
}

.feature-content {
    padding: 1rem 1rem 1.5rem;
}

.feature-content h3 {
    margin: 0rem 0 0.4rem;
    font-size: 1.1rem;
    color: #6c3a1f;
}

.feature-content p {
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
    color: #444;
}

@media (min-width: 600px) {
    .feature-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 960px) {
    .feature-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* === custom.css === */

.line-button {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #06C755;
    color: white;
    font-size: 23px;
    font-weight: bold;
    padding: 15px 30px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    width: 100%;
    max-width: 600px;
    height: 60px;
    margin: 0 auto;
    text-align: center;
}

.line-button:hover {
    background-color: #04a646;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
}

.line-button img {
    width: 35px;
    height: 24px;
    margin-right: 8px;
}

.line-button span {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
}

.line-button img,
.line-button span {
    height: auto;
    display: flex;
    align-items: center;
}

@media (max-width: 768px) {
    .line-button {
        width: 100%;
        max-width: none;
    }
}

.news-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.news-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
    color: #9e302c;
}

.news-blocks {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.news-block {
    flex: 1 1 calc(33.333% - 20px);
    background: #fff;
    margin: 10px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s;
}

.news-block:hover {
    transform: translateY(-5px);
}

.news-image {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.news-content {
    padding: 15px;
}

/*
.news-content h3 {
    font-size: 18px;
    margin: 0 0 10px;
    color: #0078d7;
}
*/
.news-content h3 {
    font-size: 18px;
    margin: -10px 0 10px;
    font-weight: bold;
    color: #9e302c;
}

.news-content p {
    font-size: 14px;
    color: #555;
    margin: 0 0 15px;
}

.news-content a {
    text-decoration: none;
    color: #0078d7;
    font-weight: bold;
}

.news-content a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .news-block {
        flex: 1 1 100%;
    }
}

@media screen and (max-width: 480px) {
    .news-block {
        flex: 1 1 calc(100% - 20px);
    }
}

/* 送料無料 */
.box28 {
    position: relative;
    margin: 2em 0;
    padding: 25px 10px 7px;
    border: solid 2px #FFC107;
}

.box28 .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #FFC107;
    color: #ffffff;
    font-weight: bold;
}

.box28 p {
    margin: 0;
    padding: 0;
}

.alert-danger {
    margin-top: -10px;
    padding-bottom: 1px
}

.box10 {
    padding: 2em 1em;
    margin: 3em 0;
    color: #5d627b;
    background: #FFFAF0;
    border-top: solid 12px #9e302c;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
    padding-bottom: 1px
}

.box9 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 8px #9e302c;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

.fuwa p {
    -webkit-transition: all 1s;
    -webkit-transform: translate(0, 0);
    opacity: 1;
}

.fuwa p.move {
    -webkit-transform: translate(-10px, 0);
    opacity: 0;
}

.fuwa p {
    -webkit-transition: all 1s;
    -webkit-transform: translate(0, 0);
    opacity: 1;
}

.fuwa p.move {
    -webkit-transform: translate(-10px, 0);
    opacity: 0;
}

/* トップページ全幅見出しの高さ（余白で設定） */
@media (min-width: 300px) {

    .widget_ltg_adv_full_wide_title_outer,
    .widget_ltg_full_wide_title_outer {
        padding: 7em 10px;
    }
}

.carousel {
    border-bottom: none;
}

.home .siteContent {
    padding-top: 0 !important;
}



h4 {
    background-color: #4f1c0f;
    color: #fff;
}

.box29 {
    margin: 2em 0;
    background: #eee;
}

.box29 .box-title {
    font-size: 1.2em;
    background: #4f1c0f;
    padding: 4px;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    letter-spacing: 0.05em;
}

.box29 p {
    padding: 15px 20px;
    margin: 0;
}

.co {
    display: flex;
}


.thumbnail2 {
    width: 100%;
    height: 100%;
    margin: 1px;
    padding: 2px;
    background-color: #eeeeee;
}

.boxbox {
    width: 100%;
    height: 100%;
    margin: 1px;
    padding: 2px;
    border: 1px solid #ddd;
    background-color: #fff;
}

.box2 {
    width: 100%;
    height: 100%;
    margin: 1px;
    padding: 2px;
    border: 1px solid #ddd;
    background-color: #eee;
}

.back {
    border: 4px solid #440000;
    background-color: #fff;
    padding: 0.5em 1em;

}



.b2 {
    border: 4px solid #440000;
    padding: 0.5em 1em;
    margin: 1px;

}

.back1 {
    border: 4px solid #777;
    padding: 0.5em 1em;

}


.background {
    background-color: #EEE;
    padding: 0.5em 1em;

}


table.company {
    width: 500px;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0px 15px;
    font-size: 12px;
}

table.company th,
table.company td {
    padding: 10px;
}

table.company th {
    background: #6A5ACD;
    vertical-align: middle;
    text-align: left;
    width: 100px;
    overflow: visible;
    position: relative;
    color: #fff;
    font-weight: normal;
    font-size: 15px;
}

table.company th:after {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(136, 183, 213, 0);
    border-left-color: #6A5ACD;
    border-width: 10px;
    margin-top: -10px;
}

/* firefox */
@-moz-document url-prefix() {
    table.company th::after {
        float: right;
        padding: 0;
        left: 30px;
        top: 10px;
        content: " ";
        height: 0;
        width: 0;
        position: relative;
        pointer-events: none;
        border: 10px solid transparent;
        border-left: #6A5ACD 10px solid;
        margin-top: -10px;
    }
}

table.company td {
    background: #f8f8f8;
    width: 360px;
    padding-left: 20px;
}

h2 {
    background: Transparent;
    border-top-color: Transparent;
    border-bottom-color: #440000;
    border-bottom-width: 3px;
    position: relative;
    padding: 10px;
    padding-right: 30px;

    color: #000;
    padding-left: 2em;
}


.balloon5 {
    width: 100%;
    margin: 1.5em 0;
    overflow: hidden;
}

.balloon5 .faceicon {
    float: left;
    margin-right: -90px;
    width: 80px;
}

.balloon5 .faceicon img {
    width: 100%;
    height: auto;
    border: solid 3px #6A5ACD;
    border-radius: 50%;
}

.balloon5 .chatting {
    width: 100%;
}

.says {
    display: inline-block;
    position: relative;
    margin: 5px 0 0 105px;
    padding: 17px 13px;
    border-radius: 12px;
    background: #eee;
}

.says:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 18px;
    left: -24px;
    border: 12px solid transparent;
    border-right: 12px solid #eee;
}

.says p {
    margin: 0;
    padding: 0;
}

label {
    display: block;
    font-weight: normal;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    width: 100%;
    margin: 0 auto;
    display: block;
}

input[type=date],
input[type=datetime-local],
input[type=month],
input[type=time] {
    display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: rgb(85, 85, 85);
    background-color: rgb(255, 255, 255);
    background-image: none;
    border: 1px solid rgb(204, 204, 204);
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}

.table tbody tr td .form-control,
.table tbody tr th .form-control,
.table td .form-control,
.table th .form-control,
.table thead tr td .form-control,
.table thead tr th .form-control,
table tbody tr td .form-control,
table tbody tr th .form-control,
table td .form-control,
table th .form-control,
table thead tr td .form-control,
table thead tr th .form-control {
    max-width: 100%;
}

@media screen and (max-width: 640px) {

    .table.table-bordered.table-striped.table-contactform7 th,
    .table.sp_brake th {
        display: block !important;
    }

    .table.table-bordered.table-striped.table-contactform7 td,
    .table.sp_brake td {
        display: block !important;
    }
}

.fadein {
    opacity: 0.1;
    transform: translate(0, 50px);
    transition: all 500ms;
}

/************************************************
 よくある質問ここから*/

.cp_qa *,
.cp_qa *:after,
.cp_qa *:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cp_qa .cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 0 -1em 0;
    color: #1b2538;
}

.cp_qa .cp_actab input {
    position: absolute;
    opacity: 0;
}

/* 質問 */
.cp_qa .cp_actab label {
    font-weight: bold;
    line-height: 1.6em;
    position: relative;
    display: block;
    margin: 0 0 0 0;
    padding: 1em 2em 1em 2.5em;
    cursor: pointer;
    text-indent: 1em;
    border-radius: 0.5em;
    background: rgba(27, 37, 56, 0.1);
}

.cp_qa .cp_actab label::before {
    font-family: serif;
    font-size: 1.5em;
    margin-left: -2em;
    padding-right: 0.5em;
    content: 'Q';
}

.cp_qa .cp_actab label:hover {
    transition: all 0.3s;
    color: #777;
}

/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
    font-size: 1.7em;
    font-weight: bold;
    line-height: 2em;
    position: absolute;
    top: 0;
    right: 0;
    display: inline-block;
    width: 2em;
    height: 2em;
    -webkit-transition: transform 0.4s;
    transition: transform 0.4s;
}

/* 答え */
.cp_qa .cp_actab .cp_actab-content {
    position: relative;
    overflow: hidden;
    max-height: 0;
    margin-top: -1.8em;
    padding: 0 0 0 2.5em;
    -webkit-transition: max-height 0.2s;
    transition: max-height 0.2s;
    border-radius: 0 0 0.5em 0.5em;
}

.cp_qa .cp_actab .cp_actab-content::before {
    font-family: serif;
    font-size: 1.5em;
    position: absolute;
    margin: 0.4em 0 0 -1em;
    padding: 0;
    content: 'A';
}

.cp_qa .cp_actab .cp_actab-content p {
    margin: 1em 1em 1em 0;
}

/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked~.cp_actab-content {
    max-height: 40em;
    border: 10px solid rgba(27, 37, 56, 0.1);
}

/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked~label {
    color: #9e302c;
    border-radius: 0.5em 0.5em 0 0;
}

/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked~label::after {
    -webkit-transform: rotateZ(45deg);
    transform: rotateZ(45deg);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}


/***
 よくある質問ここまで***************************************/

.yokonarabi {
    display: flex;
}

.yokonarabi>div {
    width: 50%;
    padding-left: 10px
}

.feature-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 2rem 1rem;
    max-width: 1100px;
    margin: auto;
}

.feature-item {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s ease;
}

.feature-item:hover {
    transform: translateY(-4px);
}

.feature-item img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    margin: 0;
    padding: 0;
}

.feature-content {
    padding: 1rem 1rem 1.5rem;
}

.feature-content h3 {
    margin: 0rem 0 0.4rem;
    font-size: 1.1rem;
    color: #6c3a1f;
}

.feature-content p {
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
    color: #444;
}

@media (min-width: 600px) {
    .feature-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 960px) {
    .feature-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* === gallery.css === */

#gallery-4 {
    margin: auto;
}

#gallery-4 .gallery-item {
    float: left;
    margin-top: 10px;
    text-align: center;
    width: 33%;
}

#gallery-4 img {
    border: 2px solid #cfcfcf;
}

#gallery-4 .gallery-caption {
    margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

/* === style.css === */

:root {
    --text-color: #464646;
    --color-footer-border: rgba(0, 0, 0, 0.15)
}

body,
html {
    font-size: 14px
}

body {
    font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Hiragino Sans, "Noto Sans JP", sans-serif;
    -ms-word-wrap: break-word;
    word-wrap: break-word
}

img {
    max-width: 100%;
    height: auto
}

img {
    max-width: 100%;
    height: auto
}

p {
    line-height: 1.7;
    margin-bottom: 1.2em
}

em {
    font-weight: 700
}

dl,
ol,
ul {
    margin-top: 1.5em;
    margin-bottom: 1.2em
}

li {
    margin-bottom: .8em;
    line-height: 1.65em
}

dd,
dt {
    padding-left: 10px;
    border-left-width: 2px;
    border-left-style: solid;
    margin-bottom: 10px
}

dt {
    border-left-color: #337ab7
}

dd {
    border-left-color: #e5e5e5
}

dd.wp-caption-dd,
dt.wp-caption-dt {
    border-left: none
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin-top: 10px;
    margin-bottom: 10px
}

.form-inline label.screen-reader-text {
    display: none
}

h1 {
    position: relative
}

.h2,
.h3,
.h4,
.h5,
.h6,
.mainSection-title,
h2,
h3,
h4,
h5,
h6 {
    margin: 1.5em 0 1.2em;
    clear: both
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child {
    margin-top: 0
}

.h2,
.mainSection-title,
h2 {
    font-size: 1.75rem
}

blockquote {
    padding: 20px
}

.wp-block-freeform.block-library-rich-text__tinymce blockquote,
blockquote,
blockquote.wp-block-quote:not(.is-large):not(.is-style-large) {
    border: 5px solid #eee;
    background-color: #fcfcfc;
    position: relative;
    font-size: 16px
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote {
    padding: 35px 20px 30px
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:after,
:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:before {
    color: #ccc;
    position: absolute
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:before {
    top: 10px
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:after {
    bottom: 10px;
    right: 20px
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:before {
    content: "\f10d"
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:after {
    content: "\f10e"
}

.fa_v4 blockquote:after,
.fa_v4 blockquote:before {
    font-family: FontAwesome
}

.fa_v5_css blockquote:after,
.fa_v5_css blockquote:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 700
}

.fa_v6_css blockquote:after,
.fa_v6_css blockquote:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 700
}

.table,
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    border-top: 1px solid rgba(0, 0, 0, .05)
}

.table tbody tr td,
.table tbody tr th,
.table td,
.table th,
.table thead tr td,
.table thead tr th,
table tbody tr td,
table tbody tr th,
table td,
table th,
table thead tr td,
table thead tr th {
    border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.table tbody tr td .form-control,
.table tbody tr th .form-control,
.table td .form-control,
.table th .form-control,
.table thead tr td .form-control,
.table thead tr th .form-control,
table tbody tr td .form-control,
table tbody tr th .form-control,
table td .form-control,
table th .form-control,
table thead tr td .form-control,
table thead tr th .form-control {
    max-width: 90%
}

th {
    font-weight: 400
}

td,
th {
    padding: 1em;
    font-size: 14px
}

.btn {
    white-space: normal
}

.btn-xs {
    padding-left: 15px;
    padding-right: 15px;
    font-size: 12px
}

.btn.btn-block {
    padding-left: 10px;
    padding-right: 10px
}

.attachment img {
    max-width: 100%
}

.alignleft,
img.alignleft {
    display: inline;
    float: left;
    margin-right: 20px;
    margin-top: 4px
}

.alignright,
img.alignright {
    display: inline;
    float: right;
    margin-left: 20px;
    margin-top: 4px
}

.aligncenter,
img.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto
}

img.aligncenter,
img.alignleft,
img.alignright {
    margin-bottom: 12px
}

.wp-caption {
    background: #fcfcfc;
    line-height: 18px;
    margin-top: 2.5em;
    margin-bottom: 2.5em;
    padding: 0 0 5px;
    text-align: center;
    border: 1px solid #e5e5e5;
    max-width: 100% !important
}

.wp-caption img {
    margin: 10px 0 9px;
    max-width: 95% !important;
    height: auto !important
}

.wp-caption p.wp-caption-text {
    color: #888;
    font-size: 12px;
    margin: 0
}

.wp-smiley {
    margin: 0
}

.gallery {
    margin: 0 auto 25px
}

.gallery .gallery-item {
    float: left;
    margin-top: 0;
    text-align: center;
    width: 33%
}

.gallery img {
    border: 2px solid #cfcfcf
}

.gallery .gallery-caption {
    color: #888;
    font-size: 12px;
    margin: 0 0 12px
}

.gallery dl {
    margin: 0
}

.gallery dd,
.gallery dt {
    border: none
}

.gallery img {
    border: 10px solid #f1f1f1
}

.gallery br+br {
    display: none
}

.attachment img {
    display: block;
    margin: 0 auto
}

.well p:last-child {
    margin-bottom: 0
}

.wp-block-button .wp-block-button__link {
    border-radius: 4px
}

.siteHeader .siteHeadContainer:after {
    content: "";
    display: block;
    clear: both
}

.siteContent {
    padding: 2rem 0 2rem
}

.page-template-page-lp .siteContent,
.page-template-page-lp-builder .siteContent {
    padding-top: 0
}

.page-template-page-lp-builder .siteContent {
    padding-bottom: 0
}

.siteContent.siteContent-paddingVertical-off,
.siteContent.siteContent-paddingVertical-off.siteContent-base-on {
    padding-top: 0;
    padding-bottom: 0
}

.siteContent>.container>.row {
    display: block
}

.siteContent>.container>.row:after {
    content: "";
    display: block;
    clear: both
}

.mainSection>aside:last-child,
.mainSection>div:last-child,
.sideSection>aside:last-child,
.sideSection>div:last-child {
    margin-bottom: 0
}

.mainSection-marginBottom-on {
    margin-bottom: 3rem
}

.mainSection.mainSection-marginVertical-off {
    margin-top: 0;
    margin-bottom: 0
}

.siteFooter {
    display: block;
    overflow: hidden
}

.home .siteContent.siteContent-base-on {
    padding-top: 3.5rem
}

.siteContent.siteContent-base-on>.container>.row {
    margin: 0
}

.page-template-page-lp .siteContent.siteContent-base-on .mainSection-base-on,
.page-template-page-lp-builder .siteContent.siteContent-base-on .mainSection-base-on {
    padding-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.mainSection-base-on,
.sideSection-base-on {
    background-color: #fff;
    padding: 1.4rem
}

.mainSection-base-on .vk_outer-width-full,
.mainSection-base-on .widget_ltg_full_wide_title_outer,
.sideSection-base-on .vk_outer-width-full,
.sideSection-base-on .widget_ltg_full_wide_title_outer {
    margin-left: -1.4rem;
    margin-right: -1.4rem;
    padding-left: 1.4rem;
    padding-right: 1.4rem
}

.siteHeader {
    width: 100%;
    position: relative;
    z-index: 1000;
    top: 0;
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
    margin-bottom: 0;
    min-height: 46px;
    border: none
}

.siteHeader.navbar {
    border-radius: 0
}

.siteHeader .container {
    padding-top: 5px;
    padding-bottom: 4px
}

.siteHeader_logo {
    display: inline-block;
    height: auto;
    padding: 5px 0;
    margin: 0;
    font-size: 32px;
    line-height: 1.5em;
    white-space: inherit
}

.siteHeader_logo a {
    color: #333
}

.siteHeader_logo a:hover {
    text-decoration: none;
    color: #337ab7
}

.siteHeader_logo img {
    max-height: 40px;
    display: block
}

.siteFooter .widget {
    margin-bottom: 25px
}

.siteFooter a:where(:not(:is(.btn, .wp-block-button__link))) {
    text-decoration: underline
}

.siteFooter a:where(:not(:is(.btn, .wp-block-button__link))):hover {
    text-decoration: none
}

.siteFooter li>a {
    text-decoration: none
}

.siteFooter li>a:hover {
    text-decoration: underline
}

.footerMenu li {
    margin-bottom: 0;
    font-size: 14px
}

.copySection {
    border-top: var(--color-footer-border, #ccc)
}

.copySection p {
    font-size: 12px;
    margin: 0 15px 5px
}

.gMenu_outer {
    width: 100%
}

.gMenu {
    margin: 0 auto;
    padding: 0;
    display: flex;
    list-style: none;
    position: relative
}

.gMenu a {
    color: #333;
    height: 100%;
    text-decoration: none
}

.gMenu a:active,
.gMenu a:focus,
.gMenu a:hover {
    background-color: inhelit;
    transition: background-color .4s;
    color: #333
}

.gMenu li {
    margin: 0;
    list-style: none;
    line-height: 1.4;
    font-size: 12px;
    position: relative
}

.gMenu>li {
    border-left: inhelit;
    text-align: center
}

.gMenu>li:last-child {
    border-right: inhelit
}

.gMenu>li .gMenu_name {
    font-size: 14px;
    display: block;
    white-space: nowrap
}

.gMenu>li .gMenu_description {
    display: block;
    overflow: hidden;
    font-size: 10px;
    line-height: 14px;
    opacity: .6;
    text-align: center
}

.gMenu>li:hover,
.gMenu>li[class*=current] {
    transition: all .5s ease-out;
    background-color: inhelit
}

.gMenu>li:hover:before,
.gMenu>li[class*=current]:before {
    width: 100%
}

.gMenu>li>ul.sub-menu {
    background-color: #191919;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, .2);
    left: 50%;
    margin-left: -120px;
    width: 240px
}

.gMenu ul {
    margin: 0;
    padding: 0;
    text-align: left;
    transition: all .3s ease-in
}

.gMenu ul li a,
.gMenu ul li a:hover {
    color: #fff
}

.gMenu ul li a {
    padding: 14px 1.2em;
    border-bottom: 1px solid rgba(255, 255, 255, .15)
}

.gMenu ul li a:hover {
    background-color: inhelit
}

.gMenu ul li.menu-item-has-children>a {
    padding: 14px 3.5em 14px 1.2em
}

.device-pc .gMenu>li>.acc-btn {
    display: none
}

.gMenu.vk-menu-acc .sub-menu .acc-btn {
    right: 1.2em
}

.gMenu .acc-btn {
    color: #333;
    border-color: #333;
    background-image: var(--g_nav_main_acc_icon_open_url)
}

.gMenu .acc-btn.acc-btn-close {
    background-image: var(--g_nav_main_acc_icon_close_url)
}

.device-mobile .gMenu .acc-btn {
    width: 20px;
    height: 20px;
    right: 6px;
    top: 12px
}

.gMenu .sub-menu .acc-btn {
    background-image: var(--g_nav_sub_acc_icon_open_url);
    border-color: #fff
}

.gMenu .sub-menu .acc-btn.acc-btn-close {
    background-image: var(--g_nav_sub_acc_icon_close_url)
}

.gMenu>li>ul.sub-menu {
    position: absolute
}

.gMenu>li>.sub-menu {
    position: absolute;
    z-index: 1000;
    display: block;
    overflow: hidden;
    opacity: 0;
    max-height: 0;
    transition: all .5s
}

.device-pc .gMenu>li:hover>.sub-menu {
    opacity: 1;
    max-height: 80vh;
    overflow-y: auto
}

.device-mobile .gMenu>li>.sub-menu.acc-child-close {
    opacity: 0;
    max-height: 0
}

.device-mobile .gMenu>li>.sub-menu.acc-child-open {
    opacity: 1;
    max-height: 80vh;
    overflow-y: auto
}

.device-pc .gMenu>li>.acc-btn {
    display: none
}

.device-pc .gMenu>li>a {
    display: block;
    overflow: hidden;
    padding: 14px 1.8em
}

.device-mobile .gMenu>li {
    padding: 14px 2.5em
}

.device-mobile .gMenu>li .gMenu_name {
    font-size: 12px
}

.device-mobile .gMenu>li.menu-item-has-children>a {
    display: inline-block;
    padding-right: 0
}

.device-mobile .gMenu>li>ul.sub-menu {
    margin-top: 14px
}

body,
html {
    overflow-x: hidden
}

.sectionBox {
    padding-top: 2em;
    padding-bottom: 2em;
    display: block
}

.sectionBox:after {
    content: "";
    clear: both;
    display: block
}

.nav li a {
    color: #464646
}

.btn-default {
    background: 0 0;
    color: #337ab7;
    border-color: #337ab7
}

.btn-default:focus,
.btn-default:hover {
    background-color: #337ab7;
    color: #fff;
    border-color: #337ab7
}

.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    word-break: normal
}

input.form-control {
    margin-bottom: 3px
}

input.form-control.input_widthAuto {
    width: auto
}

.page-header {
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 0;
    text-align: center
}

.page-header_pageTitle,
h1.page-header_pageTitle:first-child {
    margin: 1.2em 0;
    font-size: 1.75rem;
    line-height: 1.1
}

.breadSection {
    border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.breadSection .breadcrumb {
    margin-top: 0;
    margin-bottom: 0;
    background: 0 0;
    padding: 6px 15px
}

.breadSection .breadcrumb li {
    margin-bottom: 0;
    list-style: none
}

.breadSection .breadcrumb span {
    font-size: .75em
}

.mainSection header h1 {
    margin-top: 0;
    line-height: 1.4em
}

.mainSection .postList::after {
    content: "";
    clear: both;
    display: block
}

h1.mainSection-title {
    font-size: 24px
}

h1.mainSection-title i {
    margin-right: 8px
}

h1.entry-title {
    font-size: 32px
}

h1.entry-title>a {
    color: #464646
}

.mainSection .widget {
    margin-bottom: 25px
}

.entry-full {
    margin-bottom: 3rem
}

.archive .entry-full,
.blog .entry-full {
    border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.mainSection-marginVertical-off .entry-full {
    margin-bottom: 0
}

.entry-header {
    margin-bottom: 1.5rem;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.entry-meta {
    margin-bottom: .8em;
    padding-left: 3px
}

.entry-meta i {
    margin-right: 5px
}

.entry-meta_items {
    font-size: 12px
}

.entry-meta_items.published a {
    color: #464646
}

.entry-meta_items_author {
    margin-left: .8em
}

.entry-meta_items_term {
    float: right;
    margin-right: 0
}

.entry-meta_items_term_button {
    font-size: .8rem;
    line-height: 1;
    padding: 4px 1em 2px
}

.entry-meta_hidden {
    display: none
}

.fa_v4 .entry-meta_items.published::before {
    margin-right: 5px;
    font-family: FontAwesome;
    content: "\f073"
}

.fa_v4 .entry-meta_items_author::before {
    margin-right: 5px;
    font-family: FontAwesome;
    content: "\f040"
}

.fa_v5_css .entry-meta_items.published::before {
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    content: "\f073";
    font-weight: 900
}

.fa_v5_css .entry-meta_items_author::before {
    margin-right: 5px;
    font-family: "Font Awesome 5 Free";
    content: "\f303";
    font-weight: 900
}

.fa_v6_css .entry-meta_items.published::before {
    margin-right: 5px;
    font-family: "Font Awesome 6 Free";
    content: "\f073";
    font-weight: 900
}

.fa_v6_css .entry-meta_items_author::before {
    margin-right: 5px;
    font-family: "Font Awesome 6 Free";
    content: "\f303";
    font-weight: 900
}

.entry-body::after {
    content: "";
    clear: both;
    display: block
}

.entry-footer {
    display: block;
    overflow: hidden;
    margin-bottom: 3rem
}

.entry-meta-dataList {
    display: block;
    overflow: hidden;
    padding-top: 3px
}

.entry-meta-dataList dl {
    margin: 0 0 2px
}

.entry-meta-dataList dd,
.entry-meta-dataList dt {
    display: block;
    overflow: hidden;
    margin-bottom: 0
}

.entry-meta-dataList dt {
    float: left;
    background-color: #666;
    color: #fff;
    font-size: 10px;
    line-height: 1.1em;
    padding: 4px 8px;
    font-weight: lighter;
    margin-right: 10px;
    border: none;
    min-width: 10em;
    text-align: center;
    border-radius: 3px
}

.entry-meta-dataList dd {
    font-size: 12px;
    border: none;
    padding-left: 0
}

.entry-meta-dataList dd a {
    display: inline-block;
    padding: 0 2px 1px;
    color: #464646
}

.entry-tag {
    display: block;
    overflow: hidden
}

.entry-tag dl {
    margin-bottom: 0
}

.media {
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    padding: 1rem 0;
    margin-top: 0
}

.media>div {
    width: 100%
}

.media .postList_thumbnail {
    width: 160px;
    margin-bottom: .5em;
    padding-right: 30px;
    display: block;
    overflow: hidden;
    float: left
}

.media .postList_thumbnail a {
    position: relative;
    display: block;
    overflow: hidden;
    border: 1px solid #e5e5e5
}

.media .postList_thumbnail img {
    width: 100%;
    height: auto;
    border: 1px solid #fff
}

.media .postList_thumbnail .postList_cateLabel {
    position: absolute;
    bottom: 0;
    left: 0
}

.media .media-body .media-heading {
    font-size: 20px;
    line-height: 1.4em;
    margin-top: 0;
    margin-bottom: .4em;
    font-weight: 400;
    background: 0 0;
    box-shadow: none;
    padding: 0
}

.media .media-body .media-heading a {
    color: #464646;
    text-decoration: none
}

.media p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 150%
}

.media .entry-meta_updated {
    display: none
}

.media .entry-meta_items_author {
    display: none
}

.media a.media-body_excerpt {
    color: #464646;
    display: block;
    overflow: hidden
}

.pagination {
    margin-top: 2rem;
    margin-bottom: 0
}

.pagination .nav-links {
    margin: 0 auto
}

ul.page-numbers {
    margin: 0;
    padding: 0
}

ul.page-numbers li {
    margin: 0;
    list-style: none;
    display: block;
    overflow: hidden;
    float: left
}

ul.page-numbers li a,
ul.page-numbers li span.page-numbers {
    padding: 6px 12px;
    display: block;
    border: 1px solid #ddd;
    margin-left: -1px;
    color: #464646
}

ul.page-numbers li a:hover {
    text-decoration: none
}

ul.page-numbers li:first-child a {
    margin-left: 0
}

ul.page-numbers li a:hover {
    background-color: #efefef
}

ul.page-numbers li span.page-numbers.current {
    color: #fff;
    background-color: #337ab7
}

ul.page-numbers li:first-child>a {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px
}

ul.page-numbers li:last-child>a {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px
}

ul.page-numbers li:first-child>.page-numbers {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px
}

ul.page-numbers li:last-child>.page-numbers {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px
}

.page-link {
    background-color: transparent;
    border: none;
    display: flex;
    line-height: 1.65em
}

.page-link:hover {
    background-color: transparent;
    border-color: transparent
}

.page-link dl {
    margin: 0 auto
}

.page-link dl dt {
    display: none
}

.page-link dl dd {
    border-left: 1px solid #ddd
}

.page-link dl .post-page-numbers {
    float: left;
    padding: 6px 12px;
    display: block;
    border: 1px solid #ddd;
    margin-left: -1px;
    color: #464646
}

.page-link dl .post-page-numbers.current {
    color: #fff;
    background-color: #337ab7
}

.page-link dl .post-page-numbers:hover:not(span) {
    background-color: #efefef;
    text-decoration: none
}

.page-link dl .post-page-numbers:first-child {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px
}

.page-link dl .post-page-numbers:last-child {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px
}

.postNextPrev {
    position: relative;
    margin-bottom: 3rem
}

.postNextPrev_label {
    margin-bottom: 1em;
    font-size: 12px;
    line-height: 1
}

.postNextPrev_next .postNextPrev_label {
    text-align: right
}

.postNextPrev .card {
    margin-bottom: 0
}

.postNextPrev .card-title {
    font-size: 14px;
    margin-bottom: .6em
}

.postNextPrev_next .postNextPrev .card-title {
    text-align: right;
    border: 1px solid red
}

.pager ul {
    margin-top: 0
}

.pager li {
    margin-bottom: 10px;
    display: inline-block
}

.pager li>a {
    border-radius: 0;
    padding: 7px 15px 5px
}

.pager li {
    display: block;
    overflow: hidden;
    float: none
}

.pager li a {
    display: block;
    overflow: hidden;
    float: none;
    width: 100%;
    text-align: left
}

.pager li.previous a:before {
    content: "«";
    margin-right: .8em
}

.pager li.next a:before {
    content: "»";
    margin-right: .8em
}

.subSection {
    display: block
}

.subSection .localNav {
    display: block
}

.subSection .widget {
    margin-bottom: 25px
}

.subSection .media {
    padding: 1em 0 .8em;
    margin-top: 0
}

.subSection .media .postList_thumbnail {
    width: 80px;
    padding-right: 15px
}

.subSection .media .media-heading {
    font-size: 14px
}

.subSection li>a:hover {
    text-decoration: underline
}

.subSection li.current-cat>a,
.subSection li.current_page_item>a {
    background-color: rgba(0, 0, 0, .05)
}

.subSection:after {
    content: "";
    clear: both;
    display: block
}

.subSection-title {
    font-size: 18px;
    margin-bottom: 15px
}

.subSection-title i {
    margin-right: 8px
}

.widget {
    display: block
}

.widget .subSection-title {
    margin-top: 0;
    font-size: 18px
}

.widget .subSection-title a {
    color: inherit
}

.widget ul {
    margin-top: 0
}

.widget:after {
    content: "";
    clear: both;
    display: block
}

.widget_archive ul,
.widget_categories ul,
.widget_link_list ul,
.widget_nav_menu ul,
.widget_pages ul,
.widget_recent_comments ul,
.widget_recent_entries ul {
    padding-left: 0;
    margin: 0;
    font-size: 14px;
    list-style: none
}

.widget_archive a,
.widget_categories a,
.widget_link_list a,
.widget_nav_menu a,
.widget_pages a,
.widget_postlist a,
.widget_recent_entries a {
    color: #464646
}

.widget_archive .subSection-title,
.widget_categories .subSection-title,
.widget_link_list .subSection-title,
.widget_nav_menu .subSection-title,
.widget_pages .subSection-title,
.widget_postlist .subSection-title,
.widget_recent_entries .subSection-title {
    margin-bottom: 0
}

.widget_archive ul li,
.widget_categories ul li,
.widget_link_list ul li,
.widget_nav_menu ul li,
.widget_pages ul li,
.widget_postlist ul li,
.widget_recent_entries ul li {
    margin-bottom: 0
}

.widget_archive ul li a,
.widget_categories ul li a,
.widget_link_list ul li a,
.widget_nav_menu ul li a,
.widget_pages ul li a,
.widget_postlist ul li a,
.widget_recent_entries ul li a {
    display: block;
    padding: 10px .5em 8px;
    border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.siteFooter .widget_archive ul li a,
.siteFooter .widget_categories ul li a,
.siteFooter .widget_link_list ul li a,
.siteFooter .widget_nav_menu ul li a,
.siteFooter .widget_pages ul li a,
.siteFooter .widget_postlist ul li a,
.siteFooter .widget_recent_entries ul li a {
    border-bottom: 1px solid var(--color-footer-border, #ccc)
}

.widget_archive ul li li a,
.widget_categories ul li li a,
.widget_link_list ul li li a,
.widget_nav_menu ul li li a,
.widget_pages ul li li a,
.widget_postlist ul li li a,
.widget_recent_entries ul li li a {
    padding-left: 1.5em
}

.widget_archive ul li li li a,
.widget_categories ul li li li a,
.widget_link_list ul li li li a,
.widget_nav_menu ul li li li a,
.widget_pages ul li li li a,
.widget_postlist ul li li li a,
.widget_recent_entries ul li li li a {
    padding-left: 2.5em
}

.widget_archive ul li li li li a,
.widget_categories ul li li li li a,
.widget_link_list ul li li li li a,
.widget_nav_menu ul li li li li a,
.widget_pages ul li li li li a,
.widget_postlist ul li li li li a,
.widget_recent_entries ul li li li li a {
    padding-left: 3.5em
}

.widget_archive ul li li li li li a,
.widget_categories ul li li li li li a,
.widget_link_list ul li li li li li a,
.widget_nav_menu ul li li li li li a,
.widget_pages ul li li li li li a,
.widget_postlist ul li li li li li a,
.widget_recent_entries ul li li li li li a {
    padding-left: 4.5em
}

.widget_archive ul li li li li li li a,
.widget_categories ul li li li li li li a,
.widget_link_list ul li li li li li li a,
.widget_nav_menu ul li li li li li li a,
.widget_pages ul li li li li li li a,
.widget_postlist ul li li li li li li a,
.widget_recent_entries ul li li li li li li a {
    padding-left: 5.5em
}

.widget_archive ul li li li li li li li a,
.widget_categories ul li li li li li li li a,
.widget_link_list ul li li li li li li li a,
.widget_nav_menu ul li li li li li li li a,
.widget_pages ul li li li li li li li a,
.widget_postlist ul li li li li li li li a,
.widget_recent_entries ul li li li li li li li a {
    padding-left: 6.5em
}

.widget_archive ul li li li li li li li li a,
.widget_categories ul li li li li li li li li a,
.widget_link_list ul li li li li li li li li a,
.widget_nav_menu ul li li li li li li li li a,
.widget_pages ul li li li li li li li li a,
.widget_postlist ul li li li li li li li li a,
.widget_recent_entries ul li li li li li li li li a {
    padding-left: 7.5em
}

.widget_archive ul li li li li li li li li li a,
.widget_categories ul li li li li li li li li li a,
.widget_link_list ul li li li li li li li li li a,
.widget_nav_menu ul li li li li li li li li li a,
.widget_pages ul li li li li li li li li li a,
.widget_postlist ul li li li li li li li li li a,
.widget_recent_entries ul li li li li li li li li li a {
    padding-left: 8.5em
}

.widget_archive ul li li li li li li li li li li a,
.widget_categories ul li li li li li li li li li li a,
.widget_link_list ul li li li li li li li li li li a,
.widget_nav_menu ul li li li li li li li li li li a,
.widget_pages ul li li li li li li li li li li a,
.widget_postlist ul li li li li li li li li li li a,
.widget_recent_entries ul li li li li li li li li li li a {
    padding-left: 9.5em
}

.widget_archive ul li li li li li li li li li li li a,
.widget_categories ul li li li li li li li li li li li a,
.widget_link_list ul li li li li li li li li li li li a,
.widget_nav_menu ul li li li li li li li li li li li a,
.widget_pages ul li li li li li li li li li li li a,
.widget_postlist ul li li li li li li li li li li li a,
.widget_recent_entries ul li li li li li li li li li li li a {
    padding-left: 10.5em
}

.widget_archive ul ul,
.widget_categories ul ul,
.widget_link_list ul ul,
.widget_nav_menu ul ul,
.widget_pages ul ul,
.widget_postlist ul ul,
.widget_recent_entries ul ul {
    margin: 0;
    padding-left: 0
}

.widget_archive select,
.widget_categories select,
.widget_taxonomies select {
    margin-top: 10px
}

.widget_vkexunit_post_list .mainSection-title {
    margin-bottom: 0
}

.widget_ltg_full_wide_title_outer {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 2em;
    padding-bottom: 2em
}

.widget_ltg_full_wide_title_outer {
    text-align: center;
    background-size: cover;
    background-position: center center;
    margin: 0 calc(50% - 50vw) 3em;
    padding: 3em calc(50vw - 50%)
}

.widget_ltg_full_wide_title_title {
    font-size: 2rem;
    padding: 0;
    margin-bottom: .3em;
    line-height: 1.4em;
    background: 0 0;
    border: none
}

.widget_ltg_full_wide_title_title:last-child {
    margin-bottom: 0
}

.widget_ltg_adv_full_wide_title_caption,
.widget_ltg_full_wide_title_caption {
    margin-bottom: 0;
    line-height: 1.4em
}

.widget .tagcloud a {
    border-radius: 4px;
    padding: 3px 10px 1px;
    line-height: 2.4em
}

.siteContent_after {
    position: relative
}

.sticky {
    overflow: hidden;
    padding: 1em;
    background-color: #f5f5f5
}

.archive-header {
    margin-bottom: 1em
}

.archive-header_title {
    font-size: 2rem
}

.archive-meta {
    margin-bottom: 2em
}

#respond label {
    font-weight: lighter
}

.comments-title {
    line-height: 1.4em;
    font-size: 24px
}

ol.comment-list {
    padding: 0;
    margin-top: 0
}

li.comment {
    border: 4px solid #eee;
    padding: 1em;
    margin: 0 0 1em;
    list-style: none
}

li.comment ol.children {
    padding-left: 1em
}

li.comment ol.children li.comment {
    border: none
}

.comment-author {
    display: block;
    overflow: hidden;
    margin-bottom: 10px;
    padding: 7px;
    background-color: #f5f5f5;
    border: 4px solid #eee
}

.comment-meta {
    display: block;
    overflow: hidden;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    margin-bottom: 10px
}

li.pingback {
    margin: 0 0 1em;
    list-style: none;
    border-bottom: 1px dotted #999
}

p.no-comments {
    background-color: #f3f3f3;
    border: 1px solid #e5e5e5;
    text-align: center;
    padding: 2em
}

.bypostauthor {
    color: #464646
}

.prBlock a {
    color: #333
}

.prBlock a:hover {
    color: #333;
    text-decoration: none
}

.prBlock_icon_outer {
    display: block;
    margin: 0 auto;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    position: relative
}

.prBlock_icon {
    position: absolute;
    font-size: 36px;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%)
}

.prBlock_title {
    margin-top: .9em;
    margin-bottom: .7em;
    text-align: center;
    font-size: 18px;
    line-height: 1.4em
}

.prBlock_image {
    position: relative;
    display: block;
    width: 120px;
    height: 120px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 50%;
    text-indent: -9999px
}

.prBlock_summary {
    margin-bottom: .5em;
    text-align: center;
    font-size: 14px;
    line-height: 1.6em
}

.carousel {
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    display: block;
    overflow: hidden;
    width: 100%
}

.carousel-indicators {
    margin-bottom: 0;
    margin-top: 0;
    bottom: 0
}

.slide a>img,
.slide a>picture>img,
.slide img,
.slide picture>img {
    width: 100%;
    height: auto
}

.carousel-control {
    width: 10%
}

.carousel-control.right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .2) 100%)
}

.carousel-control.left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .2) 100%)
}

.slide-cover {
    position: absolute;
    top: 0;
    background-color: #000;
    display: block;
    overflow: hidden;
    width: 100%;
    height: 100%
}

.slide-text-set {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%
}

.slide-text-title {
    box-shadow: none;
    border: none;
    line-height: 1.5;
    padding: 0;
    margin: 0;
    background: 0 0;
    font-size: calc(14px + 1vw);
    text-align: inherit;
    outline: unset;
    outline-offset: unset;
    display: block
}

.slide-text-title:after,
.slide-text-title:before {
    display: none
}

.slide-text-caption {
    margin-top: .6em;
    font-size: 11px;
    line-height: 1.5
}

.slide .btn-ghost {
    margin-top: .8em;
    padding: .4em 2em;
    font-size: 1.7vw;
    transition: background-color 1s, border-color .5s
}

.tagcloud a {
    color: #464646;
    margin-bottom: 4px;
    white-space: nowrap;
    text-decoration: none
}

.tagcloud a:before {
    margin-right: 5px
}

.tagcloud a:hover {
    text-decoration: none;
    opacity: .6
}

.entry-meta-dataList .tagcloud a {
    margin-right: 8px
}

.gMenu>li {
    float: left
}

.gMenu>li:before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 0;
    border-bottom: 1px solid #2e6da4;
    transition: all .5s ease-out
}

.gMenu>li.menu-item-has-children::after {
    transition: all .2s ease-out;
    content: "";
    position: absolute;
    padding: 0;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    border: 10px solid transparent;
    z-index: 1000;
    opacity: 0;
    border-bottom-color: #191919
}

.device-pc .gMenu>li.menu-item-has-children:hover::after,
.gMenu>li.acc-parent-open::after {
    opacity: 1;
    bottom: 0
}

.gMenu>li.acc-parent-close::after {
    opacity: 0
}

.gMenu>li>ul {
    margin-top: -1px
}

.gMenu ul li a:hover {
    background-color: #337ab7
}

.mainSection-title,
h2 {
    padding: .8em 0 .7em;
    border-top: 2px solid #337ab7;
    border-bottom: 1px solid #e9e9e9
}

.subSection-title,
h3 {
    padding-bottom: 8px;
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.siteFooter .subSection-title {
    border-bottom: 1px solid var(--color-footer-border, #ccc)
}

.subSection-title:after,
h3:after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -1px;
    width: 30%;
    border-bottom: 1px solid #337ab7
}

.wp-block-button__link {
    padding-top: calc(.6em + 2px);
    padding-bottom: calc(.6em + 2px)
}

.vk_button {
    margin-top: 0
}

.vk_button .vk_button_link.btn,
.wp-block-button.is-style-outline .wp-block-button__link {
    border-width: 1px;
    padding-top: .6em;
    padding-bottom: .6em
}

.widget_display_search form div input#bbp_search,
.widget_display_search form div input#s,
.widget_display_search form div input.search-field,
.widget_product_search form input#bbp_search,
.widget_product_search form input#s,
.widget_product_search form input.search-field,
.widget_search form div input#bbp_search,
.widget_search form div input#s,
.widget_search form div input.search-field,
.wp-block-search input#bbp_search,
.wp-block-search input#s,
.wp-block-search input.search-field {
    border-radius: 4px
}

.widget_display_search form div .wp-block-search__button,
.widget_display_search form div button,
.widget_display_search form div input#bbp_search_submit,
.widget_display_search form div input#searchsubmit,
.widget_product_search form .wp-block-search__button,
.widget_product_search form button,
.widget_product_search form input#bbp_search_submit,
.widget_product_search form input#searchsubmit,
.widget_search form div .wp-block-search__button,
.widget_search form div button,
.widget_search form div input#bbp_search_submit,
.widget_search form div input#searchsubmit,
.wp-block-search .wp-block-search__button,
.wp-block-search button,
.wp-block-search input#bbp_search_submit,
.wp-block-search input#searchsubmit {
    border-radius: 4px
}

.page-header {
    background-color: #337ab7;
    color: #fff
}

.breadSection .breadcrumb li {
    line-height: 1.2
}

.breadSection .breadcrumb a {
    color: #666;
    padding-bottom: 2px
}

.breadSection .breadcrumb a:hover {
    border-bottom: 1px solid #666;
    text-decoration: none
}

.breadSection .breadcrumb>li+li:before {
    content: "/";
    margin-left: .5em;
    margin-right: .5em;
    font-size: 12px
}

ul.page-numbers li:first-child>.page-numbers {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px
}

ul.page-numbers li:last-child>.page-numbers {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px
}

.siteFooter {
    border-top: 3px solid #337ab7;
    background-color: #f9f9f9
}

.widget .tagcloud a {
    border: 1px solid rgba(0, 0, 0, .1);
    background-color: rgba(255, 255, 255, .9)
}

footer.siteFooter .widget .tagcloud a {
    border: 1px solid rgba(0, 0, 0, .1);
    background-color: rgba(255, 255, 255, .8)
}

.widget_recent_entries .wp-block-latest-posts li {
    padding: unset;
    border-bottom: unset
}

.widget_recent_entries .wp-block-latest-posts li>a {
    margin-bottom: 0
}

.media .card-img-overlay {
    margin: 1px
}

.card-noborder .vk_post_imgOuter {
    border-radius: .25rem
}

.card-imageRound .vk_post_imgOuter {
    border-radius: 50%
}

.veu_sitemap .sitemap-post-type-title {
    border-bottom: 1px dotted #999
}

.veu_sitemap ul li {
    list-style: none
}

.veu_sitemap ul>li>a {
    padding-left: 1.2em
}

.veu_sitemap ul>li>a:before {
    display: block;
    position: absolute;
    top: 47%;
    left: 0;
    transform: translateY(-65%);
    font-size: 10px;
    line-height: 1em;
    font-family: "メイリオ", Meiryo, sans-serif;
    content: "≫";
    margin-right: .5em
}

@media (min-width:576px) {

    .mainSection-base-on,
    .sideSection-base-on {
        padding: 1.7rem
    }

    .mainSection-base-on .alignwide,
    .sideSection-base-on .alignwide {
        width: calc(100% + 1.7rem + 1.7rem);
        margin-left: -1.7rem;
        margin-right: -1.7rem
    }

    .mainSection-base-on .alignwide.wp-block-image,
    .sideSection-base-on .alignwide.wp-block-image {
        width: calc(100% + 1.7rem + 1.7rem)
    }

    .mainSection-base-on .vk_outer-width-full,
    .mainSection-base-on .widget_ltg_full_wide_title_outer,
    .sideSection-base-on .vk_outer-width-full,
    .sideSection-base-on .widget_ltg_full_wide_title_outer {
        margin-left: -1.7rem;
        margin-right: -1.7rem;
        padding-left: 1.7rem;
        padding-right: 1.7rem
    }

    .slide-text-caption {
        font-size: 12px;
        line-height: 1.7
    }
}

@media (min-width:768px) {
    p {
        line-height: 1.9
    }

    .siteContent {
        padding: 2.5rem 0 2.5rem
    }

    .siteContent.siteContent-base-on {
        padding: 2rem 0 3.5rem
    }

    .mainSection-base-on,
    .sideSection-base-on {
        padding: 2rem
    }

    .mainSection-base-on .alignwide,
    .sideSection-base-on .alignwide {
        width: calc(100% + 2rem + 2rem);
        margin-left: -2rem;
        margin-right: -2rem
    }

    .mainSection-base-on .alignwide.wp-block-image,
    .sideSection-base-on .alignwide.wp-block-image {
        width: calc(100% + 2rem + 2rem)
    }

    .mainSection-base-on .vk_outer-width-full,
    .mainSection-base-on .widget_ltg_full_wide_title_outer,
    .sideSection-base-on .vk_outer-width-full,
    .sideSection-base-on .widget_ltg_full_wide_title_outer {
        margin-left: -2rem;
        margin-right: -2rem;
        padding-left: 2rem;
        padding-right: 2rem
    }

    .footerMenu ul {
        margin: 12px 0 10px
    }

    .footerMenu li {
        float: left
    }

    .footerMenu li a {
        border-left: 1px solid var(--color-footer-border, #ccc);
        padding: 0 1em
    }

    .footerMenu li:last-child a {
        border-right: 1px solid var(--color-footer-border, #ccc)
    }

    .mainSection .widget {
        margin-bottom: 35px
    }

    .slide-text-title {
        font-size: calc(1.313rem + .7vw)
    }

    .slide-text-caption {
        margin-top: 1.2em
    }

    .slide .btn-ghost {
        margin-top: 1.3em
    }
}

@media (min-width:992px) {

    body,
    html {
        font-size: 16px
    }

    .siteContent {
        padding: 3rem 0 3.5rem
    }

    .mainSection-col-two {
        width: 66.66667%;
        float: left
    }

    .sideSection-col-two {
        width: calc(33.33333% - 3rem);
        float: right
    }

    .sideSection-pos-left {
        float: left
    }

    .mainSection-pos-right {
        float: right
    }

    .mainSection-col-one,
    .sideSection-col-one {
        width: 100%
    }

    .mainSection-base-on {
        padding: 2.4rem
    }

    .sideSection-base-on {
        padding: 2.4rem 1.7rem
    }

    .mainSection-base-on .alignwide,
    .sideSection-base-on.sideSection-col-one .alignwide {
        width: calc(100% + 2.4rem + 2.4rem);
        margin-left: -2.4rem;
        margin-right: -2.4rem
    }

    .mainSection-base-on .alignwide.wp-block-image,
    .sideSection-base-on.sideSection-col-one .alignwide.wp-block-image {
        width: calc(100% + 2.4rem + 2.4rem)
    }

    .sideSection-base-on.sideSection-col-two .alignwide {
        width: calc(100% + 1.7rem + 1.7rem);
        margin-left: -1.7rem;
        margin-right: -1.7rem
    }

    .sideSection-base-on.sideSection-col-two .alignwide.wp-block-image {
        width: calc(100% + 1.7rem + 1.7rem)
    }

    .mainSection.mainSection-base-on .vk_outer-width-full,
    .mainSection.mainSection-base-on .widget_ltg_full_wide_title_outer {
        margin-left: -2.4rem;
        margin-right: -2.4rem;
        padding-left: 2.4rem;
        padding-right: 2.4rem
    }

    .sideSection-base-on .vk_outer-width-full,
    .sideSection-base-on .widget_ltg_full_wide_title_outer {
        margin-left: -1.7rem;
        margin-right: -1.7rem;
        padding-left: 1.7rem;
        padding-right: 1.7rem
    }

    .siteHeader .container {
        padding-top: 16px;
        padding-bottom: 14px
    }

    .siteHeader_logo img {
        max-height: 50px
    }

    .gMenu ul li ul.sub-menu li a {
        padding-left: 2.2em
    }

    .gMenu ul li ul.sub-menu li li a {
        padding-left: 3.2em
    }

    body.device-mobile .vk-mobile-nav-menu-btn {
        display: none
    }

    .gMenu_outer {
        top: -54px;
        transition: top 1s
    }

    .gMenu_outer::after {
        content: "";
        clear: both;
        display: block
    }

    .header_scrolled .siteHeadContainer.container {
        width: 100%
    }

    .header_scrolled .navbar-header {
        margin-bottom: 54px
    }

    .header_scrolled.admin-bar .gMenu_outer {
        top: 32px
    }

    .header_scrolled .gMenu_outer {
        clear: both;
        z-index: 1000;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        min-height: unset;
        background-color: #fff;
        box-shadow: 0 1px 3px rgba(0, 0, 0, .1)
    }

    .header_scrolled .gMenu_outer nav {
        display: block;
        width: 960px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 15px;
        padding-right: 15px
    }

    .header_scrolled .gMenu {
        float: none;
        display: flex
    }

    .header_scrolled .gMenu>li {
        width: 50%;
        border-left: 1px solid #f5f5f5
    }

    .header_scrolled .gMenu>li:last-child {
        border-right: 1px solid #f5f5f5
    }

    .device-pc .gMenu>li a {
        padding-left: 1em;
        padding-right: 1em
    }

    .entry-header {
        margin-bottom: 2.2rem
    }

    .widget_ltg_full_wide_title_outer {
        padding-top: 2.5em;
        padding-bottom: 2.5em
    }

    .slide-text-caption {
        font-size: 1.3vw
    }

    .slide .btn-ghost {
        font-size: 1.3vw
    }
}

@media (min-width:992px) and (min-width:1200px) {
    .header_scrolled .gMenu_outer nav {
        width: 1140px
    }
}

@media (min-width:1200px) {
    .siteContent {
        padding: 3.5rem 0 4rem
    }

    .sideSection-base-on {
        padding: 2.4rem 2rem
    }

    .sideSection-base-on.sideSection-col-two .alignwide {
        width: calc(100% + 2rem + 2rem);
        margin-left: -2rem;
        margin-right: -2rem
    }

    .sideSection-base-on.sideSection-col-two .alignwide.wp-block-image {
        width: calc(100% + 2rem + 2rem)
    }

    .mainSection.mainSection-base-on .vk_outer-width-full,
    .mainSection.mainSection-base-on .widget_ltg_full_wide_title_outer {
        margin-left: -2.4rem;
        margin-right: -2.4rem;
        padding-left: 2.4rem;
        padding-right: 2.4rem
    }

    .sideSection-base-on .vk_outer-width-full,
    .sideSection-base-on .widget_ltg_full_wide_title_outer {
        margin-left: -2rem;
        margin-right: -2rem;
        padding-left: 2rem;
        padding-right: 2rem
    }

    .widget_ltg_full_wide_title_outer {
        padding-top: 3em;
        padding-bottom: 3em
    }

    .siteHeader_logo {
        float: left
    }

    .gMenu_outer {
        right: 0;
        float: right;
        width: auto;
        min-height: 4em;
        display: table
    }

    .gMenu {
        right: 0;
        margin: 0;
        float: right
    }

    .gMenu_outer nav {
        display: table-cell;
        vertical-align: middle
    }
}

@media (max-width:1199.98px) {
    .siteHeader_logo {
        width: 100%;
        text-align: center
    }

    .siteHeader_logo img {
        margin-left: auto;
        margin-right: auto
    }

    .gMenu_outer nav {
        text-align: center
    }

    .gMenu {
        display: inline-flex;
        margin: 0 auto
    }

    .gMenu>li {
        float: unset
    }
}

@media (max-width:991.98px) {

    .mainSection,
    .sideSection {
        width: 100%;
        flex-basis: unset
    }

    .mainSection {
        margin-bottom: 2rem
    }

    .navbar-header {
        float: none
    }

    .siteHeader_logo {
        font-size: 1.6rem;
        float: inherit;
        text-align: center;
        display: block;
        margin: 0 auto;
        padding: 0 45px
    }

    .siteHeader_logo img {
        display: block;
        margin: 0 auto
    }

    .gMenu_outer {
        display: none
    }
}

@media (max-width:991px) {
    .headerTop .headerTop .headerTop_tel_wrap {
        color: #464646
    }

    .headerTop ul {
        border-top: 1px solid rgba(0, 0, 0, .15)
    }

    .headerTop ul a {
        color: #464646;
        border-bottom: 1px solid rgba(0, 0, 0, .15)
    }
}

@media (max-width:767px) {
    .footerMenu {
        border-top: var(--color-footer-border, #ccc);
        border-bottom: var(--color-footer-border, #ccc)
    }

    .footerMenu .nav {
        display: unset
    }

    .footerMenu li {
        float: none;
        border-bottom: var(--color-footer-border, #ccc);
        display: block;
        overflow: hidden;
        padding: .5em 0
    }

    .footerMenu li:last-child {
        border-bottom: none
    }

    .media .postList_thumbnail {
        padding-right: 20px
    }

    .media .media-body .media-headding {
        font-size: 1.2em;
        line-height: 1.3em;
        margin-bottom: .5em
    }
}

@media (max-width:767.98px) {
    .entry-meta .entry-meta_items_term {
        float: none;
        display: block;
        margin-top: .5em
    }

    h1.entry-title {
        font-size: 26px
    }

    .carousel-indicators {
        display: none
    }
}

@media (max-width:575.98px) {

    .mainSection-base-on .alignwide,
    .sideSection-base-on .alignwide {
        width: calc(100% + 1.4rem + 1.4rem);
        margin-left: -1.4rem;
        margin-right: -1.4rem
    }

    .mainSection-base-on .alignwide.wp-block-image,
    .sideSection-base-on .alignwide.wp-block-image {
        width: calc(100% + 1.4rem + 1.4rem)
    }
}

@media screen and (max-width:575.98px) {
    .prBlock {
        margin-bottom: 1.5em
    }
}

@media (max-width:500px) {
    .media .postList_thumbnail {
        width: 100px
    }
}

/* === style_1.css === */

/*
Theme Name: Lightning
Text Domain: lightning
Theme URI: https://lightning.vektor-inc.co.jp/en/
Description: Lightning is a very simple & easy to customize theme which is based on the Bootstrap. It is also very friendly with custom post types and custom taxonomies. When you add a new one, the breadcrumbs will be adjusted and posts will look beautifully without editing or adding a template files.
Author: Vektor,Inc.
Author URI: https://www.vektor-inc.co.jp
Version: 15.33.1
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Lightning WordPress theme, Copyright (C) 2015-2026 Vektor,Inc.
Lightning WordPress theme is licensed under the GPL.

Lightning WordPress Theme bundles the following third-party resources:

Font Awesome icon font, Copyright 2012 Fonticons, Inc.
its fonts are licensed under the terms of the SIL OFL License 1.1, and its code is licensed under the terms of the MIT license
Source: https://fontawesome.com/

Bootstrap framework, Copyright 2011 Bootstrap Authors and Twitter, Inc.
Bootstrap is licensed under the terms of the MIT license
Source: https://getbootstrap.com/

CSS Simple Tree Shaking
CSS Simple Tree Shaking is licensed under the terms of the GNU General Public License v2 license
Source: https://celtislab.net/
*/

/* === wp-common.css === */

img:is([sizes=auto i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px
}


img.wp-smiley,
img.emoji {
    display: inline !important;
    border: none !important;
    box-shadow: none !important;
    height: 1em !important;
    width: 1em !important;
    margin: 0 0.07em !important;
    vertical-align: -0.1em !important;
    background: none !important;
    padding: 0 !important;
}


:root {
    --wp-block-synced-color: #7a00df;
    --wp-block-synced-color--rgb: 122, 0, 223;
    --wp-bound-block-color: var(--wp-block-synced-color);
    --wp-editor-canvas-background: #ddd;
    --wp-admin-theme-color: #007cba;
    --wp-admin-theme-color--rgb: 0, 124, 186;
    --wp-admin-theme-color-darker-10: #006ba1;
    --wp-admin-theme-color-darker-10--rgb: 0, 107, 160.5;
    --wp-admin-theme-color-darker-20: #005a87;
    --wp-admin-theme-color-darker-20--rgb: 0, 90, 135;
    --wp-admin-border-width-focus: 2px
}

@media (min-resolution:192dpi) {
    :root {
        --wp-admin-border-width-focus: 1.5px
    }
}

.wp-element-button {
    cursor: pointer
}

:root .has-very-light-gray-background-color {
    background-color: #eee
}

:root .has-very-dark-gray-background-color {
    background-color: #313131
}

:root .has-very-light-gray-color {
    color: #eee
}

:root .has-very-dark-gray-color {
    color: #313131
}

:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {
    background: linear-gradient(135deg, #00d084, #0693e3)
}

:root .has-purple-crush-gradient-background {
    background: linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe)
}

:root .has-hazy-dawn-gradient-background {
    background: linear-gradient(135deg, #faaca8, #dad0ec)
}

:root .has-subdued-olive-gradient-background {
    background: linear-gradient(135deg, #fafae1, #67a671)
}

:root .has-atomic-cream-gradient-background {
    background: linear-gradient(135deg, #fdd79a, #004a59)
}

:root .has-nightshade-gradient-background {
    background: linear-gradient(135deg, #330968, #31cdcf)
}

:root .has-midnight-gradient-background {
    background: linear-gradient(135deg, #020381, #2874fc)
}

:root {
    --wp--preset--font-size--normal: 16px;
    --wp--preset--font-size--huge: 42px
}

.has-regular-font-size {
    font-size: 1em
}

.has-larger-font-size {
    font-size: 2.625em
}

.has-normal-font-size {
    font-size: var(--wp--preset--font-size--normal)
}

.has-huge-font-size {
    font-size: var(--wp--preset--font-size--huge)
}

.has-text-align-center {
    text-align: center
}

.has-text-align-left {
    text-align: left
}

.has-text-align-right {
    text-align: right
}

.has-fit-text {
    white-space: nowrap !important
}

#end-resizable-editor-section {
    display: none
}

.aligncenter {
    clear: both
}

.items-justified-left {
    justify-content: flex-start
}

.items-justified-center {
    justify-content: center
}

.items-justified-right {
    justify-content: flex-end
}

.items-justified-space-between {
    justify-content: space-between
}

.screen-reader-text {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important
}

.screen-reader-text:focus {
    background-color: #ddd;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}

html :where(.has-border-color) {
    border-style: solid
}

html :where([style*=border-top-color]) {
    border-top-style: solid
}

html :where([style*=border-right-color]) {
    border-right-style: solid
}

html :where([style*=border-bottom-color]) {
    border-bottom-style: solid
}

html :where([style*=border-left-color]) {
    border-left-style: solid
}

html :where([style*=border-width]) {
    border-style: solid
}

html :where([style*=border-top-width]) {
    border-top-style: solid
}

html :where([style*=border-right-width]) {
    border-right-style: solid
}

html :where([style*=border-bottom-width]) {
    border-bottom-style: solid
}

html :where([style*=border-left-width]) {
    border-left-style: solid
}

html :where(img[class*=wp-image-]) {
    height: auto;
    max-width: 100%
}

:where(figure) {
    margin: 0 0 1em
}

html :where(.is-position-sticky) {
    --wp-admin--admin-bar--position-offset: var(--wp-admin--admin-bar--height, 0px)
}

@media screen and (max-width:600px) {
    html :where(.is-position-sticky) {
        --wp-admin--admin-bar--position-offset: 0px
    }
}



/*! This file is auto-generated */
.wp-block-button__link {
    color: #fff;
    background-color: #32373c;
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
    padding: calc(.667em + 2px) calc(1.333em + 2px);
    font-size: 1.125em
}

.wp-block-file__button {
    background: #32373c;
    color: #fff;
    text-decoration: none
}


:root {
    --wp--preset--aspect-ratio--square: 1;
    --wp--preset--aspect-ratio--4-3: 4/3;
    --wp--preset--aspect-ratio--3-4: 3/4;
    --wp--preset--aspect-ratio--3-2: 3/2;
    --wp--preset--aspect-ratio--2-3: 2/3;
    --wp--preset--aspect-ratio--16-9: 16/9;
    --wp--preset--aspect-ratio--9-16: 9/16;
    --wp--preset--color--black: #000000;
    --wp--preset--color--cyan-bluish-gray: #abb8c3;
    --wp--preset--color--white: #ffffff;
    --wp--preset--color--pale-pink: #f78da7;
    --wp--preset--color--vivid-red: #cf2e2e;
    --wp--preset--color--luminous-vivid-orange: #ff6900;
    --wp--preset--color--luminous-vivid-amber: #fcb900;
    --wp--preset--color--light-green-cyan: #7bdcb5;
    --wp--preset--color--vivid-green-cyan: #00d084;
    --wp--preset--color--pale-cyan-blue: #8ed1fc;
    --wp--preset--color--vivid-cyan-blue: #0693e3;
    --wp--preset--color--vivid-purple: #9b51e0;
    --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgb(6, 147, 227) 0%, rgb(155, 81, 224) 100%);
    --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
    --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgb(252, 185, 0) 0%, rgb(255, 105, 0) 100%);
    --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgb(255, 105, 0) 0%, rgb(207, 46, 46) 100%);
    --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
    --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%);
    --wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
    --wp--preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
    --wp--preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
    --wp--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
    --wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
    --wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
    --wp--preset--font-size--small: 13px;
    --wp--preset--font-size--medium: 20px;
    --wp--preset--font-size--large: 36px;
    --wp--preset--font-size--x-large: 42px;
    --wp--preset--spacing--20: 0.44rem;
    --wp--preset--spacing--30: 0.67rem;
    --wp--preset--spacing--40: 1rem;
    --wp--preset--spacing--50: 1.5rem;
    --wp--preset--spacing--60: 2.25rem;
    --wp--preset--spacing--70: 3.38rem;
    --wp--preset--spacing--80: 5.06rem;
    --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
    --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
    --wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);
    --wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);
}

:where(.is-layout-flex) {
    gap: 0.5em;
}

:where(.is-layout-grid) {
    gap: 0.5em;
}

body .is-layout-flex {
    display: flex;
}

.is-layout-flex {
    flex-wrap: wrap;
    align-items: center;
}

.is-layout-flex> :is(*, div) {
    margin: 0;
}

body .is-layout-grid {
    display: grid;
}

.is-layout-grid> :is(*, div) {
    margin: 0;
}

:where(.wp-block-columns.is-layout-flex) {
    gap: 2em;
}

:where(.wp-block-columns.is-layout-grid) {
    gap: 2em;
}

:where(.wp-block-post-template.is-layout-flex) {
    gap: 1.25em;
}

:where(.wp-block-post-template.is-layout-grid) {
    gap: 1.25em;
}

.has-black-color {
    color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-color {
    color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-color {
    color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-color {
    color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-color {
    color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-color {
    color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-color {
    color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-color {
    color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-color {
    color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-color {
    color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-color {
    color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-color {
    color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-background-color {
    background-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-background-color {
    background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-background-color {
    background-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-background-color {
    background-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-background-color {
    background-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-background-color {
    background-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-background-color {
    background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-background-color {
    background-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-background-color {
    background-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-background-color {
    background-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-background-color {
    background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-background-color {
    background-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-border-color {
    border-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-border-color {
    border-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-border-color {
    border-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-border-color {
    border-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-border-color {
    border-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-border-color {
    border-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-border-color {
    border-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-border-color {
    border-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-border-color {
    border-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-border-color {
    border-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-border-color {
    border-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-border-color {
    border-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
    background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;
}

.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
    background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;
}

.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
    background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;
}

.has-luminous-vivid-orange-to-vivid-red-gradient-background {
    background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;
}

.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
    background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;
}

.has-cool-to-warm-spectrum-gradient-background {
    background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}

.has-blush-light-purple-gradient-background {
    background: var(--wp--preset--gradient--blush-light-purple) !important;
}

.has-blush-bordeaux-gradient-background {
    background: var(--wp--preset--gradient--blush-bordeaux) !important;
}

.has-luminous-dusk-gradient-background {
    background: var(--wp--preset--gradient--luminous-dusk) !important;
}

.has-pale-ocean-gradient-background {
    background: var(--wp--preset--gradient--pale-ocean) !important;
}

.has-electric-grass-gradient-background {
    background: var(--wp--preset--gradient--electric-grass) !important;
}

.has-midnight-gradient-background {
    background: var(--wp--preset--gradient--midnight) !important;
}

.has-small-font-size {
    font-size: var(--wp--preset--font-size--small) !important;
}

.has-medium-font-size {
    font-size: var(--wp--preset--font-size--medium) !important;
}

.has-large-font-size {
    font-size: var(--wp--preset--font-size--large) !important;
}

.has-x-large-font-size {
    font-size: var(--wp--preset--font-size--x-large) !important;
}


/* vk-mobile-nav */
:root {
    --vk-mobile-nav-menu-btn-bg-src: url("../assets/vk-menu-btn-black.svg");
    --vk-mobile-nav-menu-btn-close-bg-src: url("../assets/vk-menu-close-black.svg");
    --vk-menu-acc-icon-open-black-bg-src: url("../assets/vk-menu-acc-icon-open-black.svg");
    --vk-menu-acc-icon-open-white-bg-src: url("../assets/vk-menu-acc-icon-open-white.svg");
    --vk-menu-acc-icon-close-black-bg-src: url("../assets/vk-menu-close-black.svg");
    --vk-menu-acc-icon-close-white-bg-src: url("../assets/vk-menu-close-white.svg");
}


:root {
    --color-key: #9e302c;
    --wp--preset--color--vk-color-primary: #9e302c;
    --color-key-dark: #703400;
}

/* ltg common custom */
:root {
    --vk-menu-acc-btn-border-color: #333;
    --vk-color-primary: #9e302c;
    --vk-color-primary-dark: #703400;
    --vk-color-primary-vivid: #ae3530;
    --color-key: #9e302c;
    --wp--preset--color--vk-color-primary: #9e302c;
    --color-key-dark: #703400;
}

.veu_color_txt_key {
    color: #703400;
}

.veu_color_bg_key {
    background-color: #703400;
}

.veu_color_border_key {
    border-color: #703400;
}

.btn-default {
    border-color: #9e302c;
    color: #9e302c;
}

.btn-default:focus,
.btn-default:hover {
    border-color: #9e302c;
    background-color: #9e302c;
}

.wp-block-search__button,
.btn-primary {
    background-color: #9e302c;
    border-color: #703400;
}

.wp-block-search__button:focus,
.wp-block-search__button:hover,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:focus,
.btn-primary:hover {
    background-color: #703400;
    border-color: #9e302c;
}

.btn-outline-primary {
    color: #9e302c;
    border-color: #9e302c;
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:focus,
.btn-outline-primary:hover {
    color: #fff;
    background-color: #9e302c;
    border-color: #703400;
}

a {
    color: #337ab7;
}

.tagcloud a:before {
    font-family: "Font Awesome 7 Free";
    content: "\f02b";
    font-weight: bold;
}

.media .media-body .media-heading a:hover {
    color: #9e302c;
}

@media (min-width: 768px) {

    .gMenu>li:before,
    .gMenu>li.menu-item-has-children::after {
        border-bottom-color: #703400
    }

    .gMenu li li {
        background-color: #703400
    }

    .gMenu li li a:hover {
        background-color: #9e302c;
    }
}

/* @media (min-width: 768px) */
.page-header {
    background-color: #9e302c;
}

h2,
.mainSection-title {
    border-top-color: #9e302c;
}

h3:after,
.subSection-title:after {
    border-bottom-color: #9e302c;
}

ul.page-numbers li span.page-numbers.current,
.page-link dl .post-page-numbers.current {
    background-color: #9e302c;
}

.pager li>a {
    border-color: #9e302c;
    color: #9e302c;
}

.pager li>a:hover {
    background-color: #9e302c;
    color: #fff;
}

.siteFooter {
    border-top-color: #9e302c;
}

dt {
    border-left-color: #9e302c;
}

:root {
    --g_nav_main_acc_icon_open_url: url(../assets/vk-menu-acc-icon-open-black.svg);
    --g_nav_main_acc_icon_close_url: url(../assets/vk-menu-close-black.svg);
    --g_nav_sub_acc_icon_open_url: url(../assets/vk-menu-acc-icon-open-white.svg);
    --g_nav_sub_acc_icon_close_url: url(../assets/vk-menu-close-white.svg);
}


/* ltg theme common */
.color_key_bg,
.color_key_bg_hover:hover {
    background-color: #9e302c;
}

.color_key_txt,
.color_key_txt_hover:hover {
    color: #9e302c;
}

.color_key_border,
.color_key_border_hover:hover {
    border-color: #9e302c;
}

.color_key_dark_bg,
.color_key_dark_bg_hover:hover {
    background-color: #703400;
}

.color_key_dark_txt,
.color_key_dark_txt_hover:hover {
    color: #703400;
}

.color_key_dark_border,
.color_key_dark_border_hover:hover {
    border-color: #703400;
}

/* vk-mobile-nav */
:root {
    --vk-mobile-nav-menu-btn-bg-src: url('../assets/vk-menu-btn-black.svg');
    --vk-mobile-nav-menu-btn-close-bg-src: url('../assets/vk-menu-close-black.svg');
    --vk-menu-acc-icon-open-black-bg-src: url('../assets/vk-menu-acc-icon-open-black.svg');
    --vk-menu-acc-icon-open-white-bg-src: url('../assets/vk-menu-acc-icon-open-white.svg');
    --vk-menu-acc-icon-close-black-bg-src: url('../assets/vk-menu-close-black.svg');
    --vk-menu-acc-icon-close-white-bg-src: url('../assets/vk-menu-close-white.svg');
}


#ltg_full_wide_title-2.widget {
    margin-top: 0;
    margin-bottom: 0px;
    background-repeat: no-repeat;
}

#ltg_full_wide_title-4.widget {
    margin-top: 0;
    margin-bottom: 0px;
    background-repeat: no-repeat;
}

/* Universal fix for gallery grid layout cross-site */
.gallery {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: center !important;
}

.gallery .gallery-item {
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.gallery-columns-1 .gallery-item {
    width: 100% !important;
}

.gallery-columns-2 .gallery-item {
    width: 48% !important;
}

.gallery-columns-3 .gallery-item {
    width: 31% !important;
}

.gallery-columns-4 .gallery-item {
    width: 23% !important;
}

.gallery-columns-5 .gallery-item {
    width: 18% !important;
}

.gallery img {
    border: 2px solid #cfcfcf;
    max-width: 100%;
    height: auto;
}

.gallery br {
    display: none;
}

/* === FAQアコーディオン 重なり・レイアウト崩れ完全修正 (.cp_qa_fixed) === */
.cp_qa .cp_actab {
    margin: 0 0 10px 0 !important;
    /* -1emのマイナスマージンを上書きして重なりを防止 */
    overflow: hidden;
    border-radius: 0.5em;
}

.cp_qa .cp_actab .cp_actab-content {
    margin-top: 0 !important;
    /* -1.8emのマイナスマージンを上書きしてめり込みを防止 */
    padding: 10px 15px 10px 2.5em !important;
}

.cp_qa .cp_actab input:checked~.cp_actab-content {
    max-height: 40em !important;
    /* 開いた時に確実に高さを確保 */
    border-top: none !important;
}

.cp_qa .cp_actab br {
    display: none !important;
    /* 不自然な空白を生むbrを排除し、マージンのみで制御 */
}

.line-button br {
    display: none;
}

/* === MOBILE FIXES === */
@media (max-width: 767px) {
    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 28px !important;
        display: block !important;
        text-align: center !important;
        line-height: 1.4 !important;
    }

    .lp-premium-wrapper .lp-hero-copy {
        text-align: center !important;
    }

    .lp-premium-wrapper .lp-cta-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
    }

    .lp-premium-wrapper .lp-btn {
        width: 100% !important;
        max-width: 320px !important;
        box-sizing: border-box !important;
        display: block !important;
        text-align: center !important;
    }
}