/* ふるさと納税 オーダー家具 宣伝フリーページ用（.fsp の中だけに効かせる） */
.fsp {
    --fsp-ink: #222222;
    --fsp-sub: #4f4a43;
    --fsp-brown: #3b2a1e;
    --fsp-deep: #2f2118;
    --fsp-gold: #9a7a43;
    --fsp-gold-text: #76592b;
    --fsp-gold-light: #d9c49a;
    --fsp-soft: #f6f4f0;
    --fsp-gold-soft: #f1ebdf;
    --fsp-line: #c9c4bb;
    --fsp-serif: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;

    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    overflow: hidden;
    background: #fff;
    color: var(--fsp-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    text-align: left;
    box-sizing: border-box;
}

.fsp *,
.fsp *::before,
.fsp *::after {
    box-sizing: border-box;
}

.fsp :where(h2, h3, p, ul, ol, li) {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    float: none;
    list-style: none;
}

/* ショップ本体の article p { color: #555 } などに負けないように */
.fsp p,
.fsp li {
    color: inherit;
}

.fsp img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border: 0;
}

.fsp a {
    color: inherit;
}

/* ショップ本体の article h2 { font-size: 22px !important } に負けないよう、h2 の大きさは !important */
.fsp h2,
.fsp h3 {
    color: var(--fsp-ink);
    font-family: var(--fsp-serif);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .04em;
    text-align: left;
}

.fsp h2 span {
    display: inline-block;
}

.fsp .fsp-eyebrow {
    color: var(--fsp-gold-text);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .22em;
}

.fsp .fsp-note {
    margin-top: 16px;
    color: var(--fsp-sub);
    font-size: 12.5px;
}

/* ボタン */
.fsp .fsp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.fsp .fsp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 8px 22px;
    border: 1px solid var(--fsp-brown);
    background: #fff;
    color: var(--fsp-brown);
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: .03em;
    text-decoration: none;
}

.fsp .fsp-btn--gold {
    border-color: var(--fsp-gold-light);
    background: var(--fsp-gold-light);
    color: var(--fsp-deep);
}

.fsp .fsp-btn--line {
    border-color: rgba(255, 255, 255, .6);
    background: transparent;
    color: #fff;
}

/* 最初の画面：左にこげ茶のパネル、右に製作例4枚 */
.fsp-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--fsp-deep);
    color: #fff;
}

.fsp-hero__body {
    padding: 44px 36px 40px;
}

.fsp .fsp-hero__badge {
    display: inline-block;
    padding: 3px 10px;
    border: 1px solid var(--fsp-gold-light);
    color: var(--fsp-gold-light);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
}

.fsp .fsp-hero__title {
    margin-top: 18px;
    color: #fff;
    font-size: 38px !important;
    line-height: 1.4;
}

.fsp .fsp-hero__lead {
    margin-top: 18px;
    color: #eee6da;
    font-size: 14.5px;
}

.fsp .fsp-hero__range {
    margin-top: 20px;
    padding-top: 14px;
    border-top: 1px solid rgba(217, 196, 154, .45);
    color: var(--fsp-gold-light);
    font-family: var(--fsp-serif);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.35;
}

.fsp .fsp-hero__range small {
    display: block;
    color: #eee6da;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 500;
}

.fsp .fsp-hero__first {
    margin-top: 14px;
    color: var(--fsp-gold-light);
    font-size: 13.5px;
    font-weight: 700;
}

.fsp-hero__photos {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
    background: var(--fsp-deep);
}

.fsp .fsp-hero__photos img {
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.fsp .fsp-hero__cap {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 3px 10px;
    background: rgba(34, 34, 34, .8);
    color: #fff;
    font-size: 11.5px;
}

/* セクション共通 */
.fsp-section {
    padding: 60px 36px;
}

.fsp-section--soft {
    background: var(--fsp-soft);
}

.fsp-head {
    margin-bottom: 28px;
}

.fsp .fsp-head h2 {
    margin-top: 6px;
    font-size: 28px !important;
}

.fsp .fsp-head > p:not(.fsp-eyebrow) {
    margin-top: 8px;
    font-size: 14px;
}

/* 完成品とオーダーの違い */
.fsp-diff {
    display: grid;
    grid-template-columns: 1fr auto 1.25fr;
    align-items: stretch;
    gap: 16px;
}

.fsp-diff__item {
    padding: 22px 20px;
    border: 1px solid var(--fsp-line);
    color: var(--fsp-sub);
    font-size: 14px;
}

.fsp-diff__item--order {
    border: 2px solid var(--fsp-brown);
    background: var(--fsp-gold-soft);
    color: var(--fsp-ink);
}

.fsp .fsp-diff__label {
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .06em;
}

.fsp .fsp-diff__item--order .fsp-diff__label {
    color: var(--fsp-gold-text);
}

.fsp .fsp-diff__main {
    margin: 6px 0 8px;
    font-family: var(--fsp-serif);
    font-size: 21px;
    font-weight: 600;
    line-height: 1.45;
}

.fsp .fsp-diff__arrow {
    align-self: center;
    color: var(--fsp-gold);
    font-size: 26px;
}

/* 決められること */
.fsp-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.fsp-card {
    padding: 18px 20px 20px;
    border-top: 2px solid var(--fsp-brown);
    background: var(--fsp-soft);
}

.fsp .fsp-card__label {
    color: var(--fsp-gold-text);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .16em;
}

.fsp .fsp-card h3 {
    margin-top: 2px;
    font-size: 20px;
}

.fsp .fsp-card h3 + p {
    margin-top: 8px;
    font-size: 13.5px;
}

.fsp .fsp-actions--center {
    justify-content: center;
}

/* ページ内メニュー */
.fsp-nav {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--fsp-line);
}

.fsp .fsp-nav a {
    flex: 1 1 auto;
    padding: 14px 8px;
    color: var(--fsp-brown);
    font-size: 13.5px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.fsp .fsp-nav a + a {
    border-left: 1px solid var(--fsp-line);
}

/* 工房のこと */
.fsp-works {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.fsp .fsp-works figure {
    margin: 0;
}

.fsp .fsp-works img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.fsp .fsp-works figcaption {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.7;
}

.fsp .fsp-works figcaption b {
    display: block;
    font-family: var(--fsp-serif);
    font-size: 16px;
}

/* 組み合わせ */
.fsp-combine {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 36px;
}

.fsp-combine__item {
    padding: 22px 22px 20px;
    border: 1px solid var(--fsp-line);
}

.fsp .fsp-combine__item h3 {
    margin-top: 2px;
    font-size: 19px;
}

.fsp .fsp-combine__item h3 + p {
    margin-top: 8px;
    font-size: 13.5px;
}

.fsp .fsp-combine__sum {
    margin-top: 14px;
    padding: 12px;
    background: var(--fsp-gold-soft);
    font-family: var(--fsp-serif);
    font-size: 19px;
    font-weight: 600;
    text-align: center;
}

.fsp .fsp-combine__sum span {
    margin: 0 8px;
    color: var(--fsp-gold-text);
}

.fsp .fsp-combine__sum b {
    font-size: 24px;
    white-space: nowrap;
}

.fsp .fsp-combine__small {
    margin-top: 10px;
    color: var(--fsp-sub);
    font-size: 12.5px;
}

/* 流れ */
.fsp .fsp-flow {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    counter-reset: fsp-step;
}

.fsp .fsp-flow li {
    padding: 18px 18px 16px;
    background: #fff;
    counter-increment: fsp-step;
}

.fsp .fsp-flow li::before {
    content: "STEP " counter(fsp-step);
    display: block;
    color: var(--fsp-gold-text);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
}

.fsp .fsp-flow .fsp-flow__key {
    background: var(--fsp-brown);
    color: #fff;
}

.fsp .fsp-flow .fsp-flow__key::before {
    color: var(--fsp-gold-light);
}

.fsp .fsp-flow h3 {
    margin-top: 2px;
    color: inherit;
    font-size: 17px;
}

.fsp .fsp-flow h3 + p {
    margin-top: 6px;
    font-size: 13px;
}

/* 利用券（券の形） */
.fsp .fsp-tickets {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.fsp .fsp-tickets a,
.fsp .fsp-tk--guide {
    display: block;
    height: 100%;
    padding: 16px 12px 14px;
    border: 1px solid var(--fsp-line);
    border-left: 6px solid var(--fsp-brown);
    background: #fff;
    text-align: center;
    text-decoration: none;
}

.fsp .fsp-tickets a:hover {
    border-color: var(--fsp-brown);
}

.fsp .fsp-tk__name {
    display: block;
    color: var(--fsp-sub);
    font-size: 11.5px;
    letter-spacing: .14em;
}

.fsp .fsp-tk__face {
    display: block;
    padding-bottom: 8px;
    border-bottom: 1px dashed var(--fsp-line);
    font-family: var(--fsp-serif);
    font-size: 30px;
    font-weight: 600;
    line-height: 1.35;
}

.fsp .fsp-tk__face small {
    margin-left: 2px;
    font-size: 13px;
}

.fsp .fsp-tk__don {
    display: block;
    margin-top: 8px;
    color: var(--fsp-gold-text);
    font-size: 12.5px;
    font-weight: 700;
}

/* 券ごとの「お見積り後に」の添え書き（すぐ寄附しないように） */
.fsp .fsp-tk__after {
    display: block;
    margin-top: 4px;
    color: var(--fsp-sub);
    font-size: 11px;
}

.fsp .fsp-btn--main {
    border-color: var(--fsp-brown);
    background: var(--fsp-brown);
    color: #fff;
}

.fsp .fsp-actions--top {
    margin: 0 0 20px;
}

.fsp .fsp-tk--guide {
    border-left-color: var(--fsp-gold);
    background: var(--fsp-gold-soft);
    font-size: 12.5px;
    line-height: 1.7;
}

.fsp .fsp-tk--guide .fsp-tk__name {
    margin-bottom: 4px;
    color: var(--fsp-brown);
    font-family: var(--fsp-serif);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
}

/* 完成品の返礼品（シリーズ別のカード） */
.fsp .fsp-goods {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.fsp .fsp-goods a {
    display: block;
    height: 100%;
    padding-bottom: 14px;
    background: #fff;
    text-decoration: none;
}

.fsp .fsp-goods img,
.fsp .fsp-goods__noimg {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* AIで作った写真には「AI設置イメージ」を重ねる */
.fsp .fsp-goods__ph {
    position: relative;
    display: block;
}

.fsp .fsp-goods__ai {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 2px 8px;
    background: rgba(34, 34, 34, .75);
    color: #fff;
    font-size: 11px;
    line-height: 1.6;
}

/* 写真のないシリーズは、シリーズ名だけを大きく */
.fsp .fsp-goods__noimg {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--fsp-gold-soft);
    color: var(--fsp-gold-text);
    padding: 0 8px;
    font-family: var(--fsp-serif);
    font-size: 22px;
    font-weight: 600;
    text-align: center;
}

.fsp .fsp-goods__name {
    display: block;
    margin: 12px 14px 0;
    font-family: var(--fsp-serif);
    font-size: 16.5px;
    font-weight: 600;
    line-height: 1.5;
}

.fsp .fsp-goods__spec {
    display: block;
    margin: 4px 14px 0;
    color: var(--fsp-sub);
    font-size: 12px;
    line-height: 1.6;
}

.fsp .fsp-goods__yen {
    display: block;
    margin: 8px 14px 0;
    color: var(--fsp-brown);
    font-size: 13.5px;
    font-weight: 700;
}

.fsp .fsp-goods__count {
    display: block;
    margin: 6px 14px 0;
    color: var(--fsp-gold-text);
    font-size: 12px;
    font-weight: 700;
}

/* 樹種は名前の途中で折り返さない */
.fsp .fsp-goods__wood {
    display: inline-block;
}

.fsp .fsp-goods__wood + .fsp-goods__wood::before {
    content: "・";
}

/* 完成品のあとの、オーダーへ戻る案内 */
.fsp .fsp-goods-back {
    margin-top: 20px;
    padding: 16px 18px;
    border-left: 3px solid var(--fsp-gold);
    background: #fff;
    font-size: 14px;
}

.fsp .fsp-goods-back a {
    color: var(--fsp-brown);
    font-weight: 700;
}

/* 全商品の一覧（絞り込み・並べ替えはスクリプトが動いたときだけ出す） */
.fsp .fsp-all__controls {
    display: none;
}

.fsp .fsp-js .fsp-all__controls {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    padding: 16px;
    background: var(--fsp-soft);
}

.fsp .fsp-all__controls label {
    display: block;
    color: var(--fsp-sub);
    font-size: 12px;
    font-weight: 700;
}

.fsp .fsp-all__controls select {
    display: block;
    width: 100%;
    height: 40px;
    margin-top: 4px;
    padding: 0 8px;
    border: 1px solid var(--fsp-line);
    border-radius: 0;
    background: #fff;
    color: var(--fsp-ink);
    font-family: inherit;
    font-size: 14px;
}

.fsp .fsp-all__count a {
    margin-left: 12px;
    font-weight: 500;
    font-size: 13px;
}

.fsp .fsp-all__count {
    margin: 16px 0 8px;
    font-size: 14px;
    font-weight: 700;
}

.fsp .fsp-list {
    border-top: 1px solid var(--fsp-line);
}

.fsp .fsp-list li {
    border-bottom: 1px solid var(--fsp-line);
}

.fsp .fsp-list a {
    display: grid;
    grid-template-columns: 64px 1fr 9em 11em;
    grid-template-areas: "img name wood yen" "img var wood yen";
    align-items: center;
    column-gap: 12px;
    padding: 12px 6px;
    text-decoration: none;
}

/* 画像のない行 */
.fsp .fsp-list a.fsp-list__noimg {
    grid-template-columns: 1fr 9em 11em;
    grid-template-areas: "name wood yen" "var wood yen";
}

.fsp .fsp-list a:hover {
    background: var(--fsp-soft);
}

/* 一覧の小さい写真（写真のない品は品目名の枠） */
.fsp .fsp-list__img {
    grid-area: img;
    width: 64px;
    height: 64px;
    object-fit: cover;
}

.fsp .fsp-list__img--none {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--fsp-gold-soft);
    color: var(--fsp-gold-text);
    font-family: var(--fsp-serif);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
}

.fsp .fsp-list__name {
    grid-area: name;
    font-size: 14.5px;
    font-weight: 700;
}

.fsp .fsp-list__var {
    grid-area: var;
    color: var(--fsp-sub);
    font-size: 12px;
}

.fsp .fsp-list__wood {
    grid-area: wood;
    font-size: 13px;
}

.fsp .fsp-list__yen {
    grid-area: yen;
    color: var(--fsp-brown);
    font-size: 13px;
    text-align: right;
}

.fsp .fsp-list__yen b {
    font-size: 16px;
}

.fsp .fsp-all__note {
    margin: 0 0 12px;
}

.fsp .fsp-all__more {
    margin-top: 20px;
    text-align: center;
}

.fsp .fsp-all__more .fsp-btn {
    min-width: 220px;
    border-radius: 0;
    font-family: inherit;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.fsp .fsp-hide {
    display: none !important;
}

/* 完成品の案内 */
.fsp .fsp-portal {
    margin-top: 32px;
    padding: 20px 22px;
    background: #fff;
    font-size: 13.5px;
}

.fsp .fsp-portal b {
    display: block;
    font-family: var(--fsp-serif);
    font-size: 17px;
}

.fsp .fsp-portal__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.fsp .fsp-portal__links a {
    padding: 6px 14px;
    border: 1px solid var(--fsp-line);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

/* ご注意 */
.fsp .fsp-notes {
    padding: 20px 22px;
    border: 1px solid var(--fsp-line);
}

.fsp .fsp-notes li {
    position: relative;
    padding-left: 1.1em;
    font-size: 14px;
}

.fsp .fsp-notes li + li {
    margin-top: 6px;
}

.fsp .fsp-notes li::before {
    content: "・";
    position: absolute;
    left: 0;
}

.fsp .fsp-notes a {
    white-space: nowrap;
}

/* 最後の相談 */
.fsp-cta {
    padding: 52px 36px;
    background: var(--fsp-deep);
    color: #fff;
    text-align: center;
}

.fsp .fsp-cta h2 {
    color: #fff;
    font-size: 28px !important;
    text-align: center;
}

.fsp .fsp-cta p {
    margin-top: 10px;
    font-size: 14px;
}

.fsp .fsp-cta .fsp-actions {
    margin-top: 22px;
}

.fsp .fsp-cta__hours {
    color: #eee6da;
    font-size: 13px;
}

/* PC幅でも狭いとき */
@media (max-width: 760px) {
    .fsp-hero__body {
        padding: 32px 22px;
    }

    .fsp .fsp-hero__title {
        font-size: 30px !important;
    }

    .fsp-works,
    .fsp .fsp-tickets,
    .fsp .fsp-goods {
        grid-template-columns: repeat(2, 1fr);
    }

    .fsp .fsp-flow {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .fsp-hero {
        grid-template-columns: 1fr;
    }

    .fsp-hero__photos {
        order: -1;
    }

    .fsp-hero__body {
        padding: 28px 18px 32px;
    }

    .fsp .fsp-hero__title {
        font-size: 30px !important;
    }

    .fsp .fsp-btn {
        width: 100%;
    }

    .fsp-section {
        padding: 44px 16px;
    }

    .fsp .fsp-head h2 {
        font-size: 23px !important;
    }

    .fsp-diff {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .fsp .fsp-diff__arrow {
        transform: rotate(90deg);
        text-align: center;
        line-height: 1;
    }

    .fsp-cards {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .fsp .fsp-nav a {
        flex: 1 1 33%;
        padding: 10px 4px;
        border-bottom: 1px solid var(--fsp-line);
        font-size: 12.5px;
    }

    .fsp .fsp-nav a + a {
        border-left: 0;
    }

    .fsp-combine,
    .fsp .fsp-flow {
        grid-template-columns: 1fr;
    }

    .fsp .fsp-flow {
        gap: 8px;
    }

    .fsp .fsp-tickets {
        gap: 8px;
    }

    .fsp .fsp-tk__face {
        font-size: 26px;
    }

    .fsp .fsp-tk--guide .fsp-tk__name {
        font-size: 13px;
    }

    .fsp .fsp-goods {
        gap: 8px;
    }

    .fsp .fsp-goods__name {
        margin: 8px 8px 0;
        font-size: 14px;
    }

    .fsp .fsp-goods__spec,
    .fsp .fsp-goods__yen,
    .fsp .fsp-goods__count {
        margin-left: 8px;
        margin-right: 8px;
    }

    .fsp .fsp-goods__yen {
        font-size: 12px;
    }

    .fsp .fsp-goods__noimg {
        font-size: 15px;
    }

    .fsp .fsp-js .fsp-all__controls {
        grid-template-columns: 1fr 1fr;
        padding: 12px;
    }

    /* iPhone で選ぶときに画面が拡大されないよう 16px にする */
    .fsp .fsp-all__controls select {
        font-size: 16px;
    }

    .fsp .fsp-all__count a {
        display: block;
        margin: 4px 0 0;
    }

    .fsp .fsp-list a {
        grid-template-columns: 56px 1fr auto;
        grid-template-areas: "img name name" "img var var" "img wood yen";
        row-gap: 2px;
        column-gap: 10px;
    }

    .fsp .fsp-list__img {
        width: 56px;
        height: 56px;
        align-self: start;
    }

    .fsp .fsp-list a.fsp-list__noimg {
        grid-template-columns: 1fr auto;
        grid-template-areas: "name name" "var var" "wood yen";
    }

    /* スマホの最初の画面は写真2枚にして、見出しを早く見せる */
    .fsp .fsp-hero__photos .fsp-hero__pc {
        display: none;
    }

    .fsp-cta {
        padding: 44px 16px;
    }

    .fsp .fsp-cta h2 {
        font-size: 23px !important;
    }
}


/* =========================================================
   ShopServe PC表示幅調整（「工房がつくる家具」の entry_v2.css と同じやり方）
   このCSSを読むページ（ふるさと納税の宣伝ページ）だけ、左のサイドカラムを消し、本文を1025px幅で使う
   ========================================================= */
@media screen and (min-width: 761px) {

    /* ShopServe サイドカラムを消す */
    #sub-column,
    html body #wrapper #contents #sub-column {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
    }

    /* 2カラム全体を1カラムとして使う */
    #contents,
    html body #wrapper #contents {
        width: 1025px !important;
        max-width: 1025px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    /* ShopServeテーマ側の article 幅制限を解除 */
    #contents > article,
    #contents article {
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    /* 本文カラムを親幅いっぱいに */
    #main-column,
    article#main-column,
    #contents #main-column,
    html body #wrapper #contents #main-column {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    /* フリーページ本文の内側に残る固定幅を解除 */
    #main-column .freeArea,
    #main-column .freeArea2,
    #main-column .freepage,
    #main-column .entry,
    #main-column .entry-content {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: visible !important;
    }

    /* このページの中身も、広がった幅いっぱいに */
    #main-column .fsp {
        max-width: none !important;
    }
}

/* 画面幅が1025pxに近いPCでは横スクロールを出さない */
@media screen and (min-width: 761px) and (max-width: 1073px) {
    #contents,
    html body #wrapper #contents {
        width: calc(100% - 32px) !important;
        max-width: none !important;
    }
}

/* =========================================================
   読みやすさの調整（2026-11-10）
   ・Windows の游ゴシックは標準の太さが細いので、Medium を先に使う
   ・本文と注記の文字を少し大きく、色を濃く
   ・全幅にしたので、説明文の1行が長くなりすぎないようにする
   ・完成品のカードの文字を大きくする（列は3列のまま）
   ========================================================= */
.fsp {
    font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", YuGothic, "Yu Gothic", Meiryo, sans-serif;
    color: #2b2b2b;
    letter-spacing: .02em;
}

/* 見出しの下の説明文・本文 */
.fsp .fsp-head > p:not(.fsp-eyebrow),
.fsp .fsp-hero__lead,
.fsp .fsp-card h3 + p,
.fsp .fsp-combine__item h3 + p,
.fsp .fsp-diff__item p:last-child,
.fsp .fsp-notes li {
    font-size: 15px;
    line-height: 1.9;
}

.fsp .fsp-head > p:not(.fsp-eyebrow) {
    max-width: 44em;
    color: #333;
}

/* 注記：小さすぎず、薄すぎず */
.fsp .fsp-note,
.fsp .fsp-combine__small {
    max-width: 52em;
    color: #555;
    font-size: 13px;
    line-height: 1.85;
}

.fsp .fsp-note--center {
    margin-left: auto;
    margin-right: auto;
}

/* 見出しと本文の間、セクションの間を少しゆったり */
.fsp .fsp-head {
    margin-bottom: 32px;
}

.fsp .fsp-head h2 {
    line-height: 1.45;
}

/* 工房の写真の説明 */
.fsp .fsp-works figcaption {
    font-size: 14px;
    line-height: 1.8;
}

.fsp .fsp-works figcaption b {
    margin-bottom: 2px;
    font-size: 17px;
}

/* 流れ */
.fsp .fsp-flow h3 + p {
    font-size: 14px;
    line-height: 1.8;
}

/* 利用券 */
.fsp .fsp-tk__name {
    font-size: 12.5px;
}

.fsp .fsp-tk__don {
    font-size: 14px;
}

.fsp .fsp-tk__after {
    font-size: 12px;
}

/* 完成品のカード */
.fsp .fsp-goods__name {
    font-size: 17px;
}

.fsp .fsp-goods__spec {
    color: #555;
    font-size: 13px;
}

.fsp .fsp-goods__yen {
    font-size: 14.5px;
    line-height: 1.6;
}

.fsp .fsp-goods__count {
    font-size: 13px;
}

/* 4列は細すぎて樹種や金額が折り返すので、3列のまま（2026-11-10 確認） */

/* 全商品の一覧 */
.fsp .fsp-list__name {
    font-size: 15.5px;
}

.fsp .fsp-list__var,
.fsp .fsp-list__wood {
    color: #444;
    font-size: 13.5px;
}

.fsp .fsp-list__yen {
    font-size: 14px;
}

.fsp .fsp-list__yen b {
    font-size: 17px;
}

/* スマホ */
@media (max-width: 600px) {
    .fsp .fsp-head > p:not(.fsp-eyebrow),
    .fsp .fsp-hero__lead,
    .fsp .fsp-card h3 + p,
    .fsp .fsp-combine__item h3 + p,
    .fsp .fsp-notes li {
        font-size: 15px;
    }

    .fsp .fsp-goods__name {
        font-size: 14.5px;
    }

    .fsp .fsp-goods__spec {
        font-size: 12px;
    }

    .fsp .fsp-goods__yen {
        font-size: 13px;
    }

    .fsp .fsp-list__name {
        font-size: 15px;
    }
}