@charset "UTF-8";
/* フリーページ共通CSS（about/guide/faq/news）. FTP配信しindex.htmlで<link>。直書き回避 */
.l-main[class*="free"] .c-breadcrumbs {
    display: none;
}
/* フリーページのラッパー(u-container 1030 / u-contents 上下75px)を全幅化＝fp-pageを画面幅いっぱいに、ヒーローはヘッダー直下フラッシュへ。
   各パーツの幅は fp-page 内で個別規定（コンテンツ=1200中央 / ヒーロー・バナー=全幅 / 背景セクション=全幅） */
.l-main[class*="free"].u-container {
    width: 100%;
    max-width: none;
    padding: 0;
}
.l-main[class*="free"] .u-contents {
    padding: 0;
}
.fp-page,
.fp-page *,
.fp-page *::before,
.fp-page *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
.fp-page {
    position: relative;
    width: 100%;
    font-family: var(--font-body);
    font-weight: 350;
    font-size: var(--fs-body);
    letter-spacing: 0.03em;
    line-height: 1.65;
    color: var(--c-black);
    -webkit-font-smoothing: antialiased;
}
.fp-page img {
    max-width: 100%;
    display: block;
}
.fp-page a {
    color: inherit;
    text-decoration: none;
}
.fp-page a:hover {
    opacity: 0.7;
    transition: opacity 0.25s;
}
.fp-page ul,
.fp-page ol {
    list-style: none;
}
.fp-page .crumb {
    width: 1200px;
    margin: 24px auto 0;
    font-size: 12px;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .sec-heading {
    text-align: center;
}
.fp-page .sec-heading__en {
    font-family: var(--font-en);
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
}
.fp-page .sec-heading__ja {
    font-size: var(--fs-body);
    letter-spacing: 0.06em;
}
.fp-page .heading-set--invert {
    color: var(--c-white);
}
.fp-page .page-hero {
    position: relative;
    height: 500px;
    padding-bottom: 54px;
    background: var(--c-black);
    color: var(--c-white);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.fp-page .page-hero img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.fp-page .page-hero__en {
    position: relative;
    font-family: "OCR A Extended", "Courier New", monospace;
    font-size: 30px;
    letter-spacing: 0.02em;
}
.fp-page .page-hero__ja {
    position: relative;
    margin-top: 2px;
    font-size: var(--fs-product);
    font-weight: 500;
    letter-spacing: 0.06em;
}

/* ---- guide.css ---- */

.gd-wrap {
    width: 1200px;
    margin-inline: auto;
    position: relative;
}
.fp-page .gd-hero {
    position: relative;
    height: 500px;
    background: var(--c-row); /* 読み込み前の薄いグレー（画像はフェードイン） */
    color: var(--c-white);
    overflow: hidden;
}
.fp-page .gd-hero img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.fp-page .gd-hero__copy {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    translate: 8px -18px;
}
/* .gd-hero__en / __ja のPCタイポは common.css の共通ヘッダー定義へ集約（Optima30px 字間0 ／ Inter Medium15px）。SP上書きは下部@mediaに残置 */
.fp-page .gd-crumb {
    margin-top: 26px;
    padding-bottom: 26px;
    border-bottom: 1px solid var(--c-line-2);
}
.fp-page .gd-nav {
    width: 1200px;
    margin: 77px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 391px);
    justify-content: space-between;
    row-gap: 12px;
}
.fp-page .gd-nav__item {
    position: relative;
    height: 50px;
    border: 1px solid var(--c-line-2);
    background: var(--c-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .gd-nav__arrow {
    position: absolute;
    right: 6px;
    top: 50%;
    translate: 0 -50%;
    rotate: 90deg; /* 右向き三角を下向きに（アンカー＝下のセクションへジャンプ） */
    width: 22px;
    height: 22px;
    background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2022%2022'%3E%3Ccircle%20cx='11'%20cy='11'%20r='11'%20fill='%239C7861'/%3E%3Cpath%20d='M9.4%208.2%2013.2%2011%209.4%2013.8%2011.2%2011%20Z'%20fill='%23FFFFFF'/%3E%3C/svg%3E") center / 22px 22px no-repeat;
}
.fp-page .gd-band {
    width: 1200px;
    margin-inline: auto;
    background: rgba(139, 115, 94, 0.141);
    border: 1px solid var(--c-accent);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 35px 0;
}
.fp-page .gd-band__jp {
    font-family: var(--font-body);
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0.06em;
    color: var(--c-accent);
}
.fp-page .gd-band__en {
    margin-top: 5px;
    font-family: var(--font-num);
    font-size: 12px;
    letter-spacing: 0.05em;
    color: var(--c-text);
}
.fp-page .gd-intro {
    text-align: center;
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 2;
    color: var(--c-black);
}
.fp-page .gd-intro--strong {
    font-size: 15px;
}
.fp-page .gd-notes {
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 2;
    color: var(--c-black);
}
.fp-page .gd-hr {
    border: 0;
    border-top: 1px solid var(--c-line-2);
}
.fp-page .gd-chiprow {
    position: relative;
    width: 1200px;
    height: 50px;
    border: 1px solid var(--c-line-2);
    display: flex;
    align-items: center;
    padding-left: 253px;
    gap: 24px;
}
.fp-page .gd-chip {
    position: absolute;
    left: 0;
    top: 0;
    width: 220px;
    height: 100%;
    background: #aa9181;
    color: var(--c-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.03em;
}
.fp-page .gd-chiprow__val {
    font-size: 15px;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .gd-chiprow__note {
    font-size: 14px;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .gd-chiprow--tall {
    height: 100px;
}
.fp-page .gd-chiprow--tall .gd-chiprow__val {
    line-height: 1.9;
    padding-right: 40px;
}
.fp-page .gd-bar {
    width: 1200px;
    height: 50px;
    border: 1px solid var(--c-accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.03em;
    color: var(--c-accent);
}
.fp-page .gd-bar--soft {
    border-color: var(--c-line-2);
}
/* 本文(左660)｜画像(右499) の2カラム。timelineは全幅で下段へ回すため flex-wrap。
   幅1200を明示（.gd-wrapの1200が効かない環境向けの保険。SPは .fp-guide .gd-wrap で auto 上書き） */
.fp-page .gd-price {
    width: 1200px;
    margin-inline: auto;
    padding-top: 67px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.fp-page .gd-price__body {
    width: 500px;
}
.fp-page .gd-price__body p {
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 2;
}
.fp-page .gd-price__body p + p {
    margin-top: 1.5em;
}
.fp-page .gd-price__body p.gd-price__accent {
    color: var(--c-accent);
}
.fp-page .gd-price > picture {
    flex: none;
}
.fp-page .gd-price__img {
    display: block;
    width: 499px;
    height: 337px;
    object-fit: cover;
    object-position: center;
}
.fp-page .gd-timeline {
    position: relative;
    width: 100%;
    height: 330px;
    margin-top: 73px;
    border: 1px solid rgba(127, 98, 79, 0.6);
}
/* 1枚SVG差し替え: 旧内訳要素の位置(左156/上77・893.912x202.519)に配置。旧 .gd-timeline__* ルールは未使用（要素撤去済み） */
.fp-page .gd-timeline__svg {
    position: absolute;
    left: 156px;
    top: 77px;
    width: 893.912px;
    height: 202.519px;
}
.fp-page .gd-timeline__title {
    position: absolute;
    left: 156px;
    top: 79px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.03em;
    color: var(--c-accent);
}
.fp-page .gd-timeline__off {
    position: absolute;
    left: 921px;
    top: 77px;
    font-size: 14px;
    letter-spacing: 0.03em;
    color: var(--c-text);
}
.fp-page .gd-timeline__note {
    position: absolute;
    font-size: 14px;
    letter-spacing: 0;
    color: var(--c-text);
}
.fp-page .gd-timeline__note--a {
    left: 492px;
    top: 149px;
}
.fp-page .gd-timeline__note--b {
    left: 863px;
    top: 148px;
}
.fp-page .gd-timeline__release {
    position: absolute;
    left: 231px;
    top: 183px;
    font-size: 15px;
    letter-spacing: 0.03em;
    color: var(--c-text);
}
.fp-page .gd-timeline__pill {
    position: absolute;
    top: 171px;
    height: 35px;
    background: var(--c-white);
    border: 1px solid #7c6454;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.03em;
    color: #89664f;
}
.fp-page .gd-timeline__pill--a {
    left: 330px;
    width: 326px;
}
.fp-page .gd-timeline__pill--b {
    left: 698px;
    width: 328px;
}
.fp-page .gd-timeline__bar {
    position: absolute;
    left: 157px;
    top: 226px;
    width: 888px;
    height: 14px;
    background: #baad9f;
}
.fp-page .gd-timeline__tick {
    position: absolute;
    width: 1px;
    background: var(--c-accent);
}
.fp-page .gd-timeline__time {
    position: absolute;
    top: 268px;
    font-size: 16px;
    letter-spacing: 0.03em;
    color: var(--c-text);
}
.fp-page .gd-flow {
    position: relative;
    padding-top: 84px;
}
/* 縦線: 各ステップの点から次の点へ繋ぐコネクタ（固定高さ廃止＝内容が伸びても常に全ステップ到達）。最終ステップは線なし */
.fp-page .gd-step:not(.gd-step--last)::before {
    content: "";
    position: absolute;
    left: 7px; /* 点の中心(left2+幅11/2) */
    top: 6px;
    width: 1px;
    height: calc(100% + 40px); /* このステップ高 + 次点までのgap(margin40) */
    background: var(--c-line);
}
.fp-page .gd-step {
    position: relative;
    display: grid;
    grid-template-columns: 185px 1fr;
    padding-left: 28px;
}
.fp-page .gd-step + .gd-step {
    margin-top: 40px;
}
.fp-page .gd-step::after {
    content: "";
    position: absolute;
    left: 2px;
    top: 6px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--c-accent);
}
.fp-page .gd-step__label {
    font-family: var(--font-num);
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.05em;
    color: var(--c-accent);
}
.fp-page .gd-step__body {
    padding-bottom: 45px;
    border-bottom: 1px solid var(--c-line);
}
.fp-page .gd-step__body h3 {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: var(--c-accent);
}
.fp-page .gd-step__body > p {
    margin-top: 14px;
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 1.9;
    color: var(--c-black);
}
.fp-page .gd-step__note {
    margin-top: 20px !important;
    font-size: 12px !important;
    letter-spacing: 0.06em;
    line-height: 1.9;
}
.fp-page .gd-section {
    scroll-margin-top: 90px; /* アンカー着地を固定ヘッダー分下げ、見出し(gd-band)がヘッダー裏に潜らないように（PC） */
}
.fp-page .gd-section .gd-wrap > .gd-intro:first-child {
    margin-top: 44px;
}
.fp-page .gd-intro + .gd-intro {
    margin-top: 8px;
}
.fp-page .gd-chiprow {
    margin-top: 55px;
}
.fp-page .gd-chiprow + .gd-chiprow {
    margin-top: 15px;
}
.fp-page .gd-chiprow + .gd-notes {
    margin-top: 20px;
}
.fp-page .gd-notes + .gd-chiprow {
    margin-top: 43px;
}
.fp-page .gd-hr {
    margin-top: 40px;
}
.fp-page .gd-hr + .gd-notes {
    margin-top: 40px;
}
.fp-page .gd-bar {
    margin-top: 55px;
}
.fp-page .gd-bar + .gd-notes {
    margin-top: 25px;
}
/* 返品・交換セクション（XD実測）
   帯=塗り#AA9181/枠なし/白16px Medium/中央/50px、本文ボックス=枠線#C9C9C9/透明、
   ●小見出し=16px Regular アクセント、●本文=14px 行間32 黒。
   ※縦マージン(40/8/40等)はデザインからの概算。要微調整。 */
.fp-page .gd-rbar {
    width: 1200px;
    height: 50px;
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #aa9181;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.03em;
}
.fp-page .gd-rbox {
    border: 1px solid #c9c9c9;
    padding: 20px 36px;
}
.fp-page .gd-rbox p {
    font-size: 15px;
    line-height: 28px;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .gd-rsub {
    margin-top: 40px;
    font-size: 16px;
    letter-spacing: 0.03em;
    color: var(--c-accent);
}
.fp-page .gd-rtext {
    margin-top: 8px;
    font-size: 14px;
    line-height: 32px;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .gd-rtext + .gd-rsub {
    margin-top: 40px;
}
.fp-page .gd-notes--list a {
    text-decoration: underline;
    text-underline-offset: 2px;
}
/* アクセント色の注記（※ぶら下げ。配送の「※アクセサリー/※2個口」等） */
.fp-page .gd-notes--accent {
    color: var(--c-accent);
}
/* 配送: ※注記とその下リストの上余白を倍(40px)に。アクセント注記限定＝他セクションのgd-notesは不変 */
.fp-page .gd-chiprow + .gd-notes--accent {
    margin-top: 40px;
}
.fp-page .gd-notes--accent + .gd-notes {
    margin-top: 40px;
}
.fp-page .gd-buy {
    text-align: center;
    padding-bottom: 4px;
}
.fp-page .gd-buy .gd-intro {
    margin-top: 66px;
}
.fp-page .gd-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 397px;
    height: 45px;
    margin-top: 40px;
    border: 1px solid #7b7b7b;
    background: var(--c-white);
    font-size: 13px;
    letter-spacing: 0.06em;
    color: var(--c-black);
}
.fp-page .gd-btn__arrow {
    position: absolute;
    right: 20px;
    top: 50%;
    width: 6.379px;
    height: 5.376px;
    translate: 0 -50%;
    background: url(https://file001.shop-pro.jp/PA01503/177/detail-arrow.svg) center / contain no-repeat;
}
.fp-page #s-price {
    margin-top: 61px;
}
.fp-page #s-flow {
    margin-top: 110px;
}
.fp-page #s-pay {
    margin-top: 130px;
}
.fp-page #s-ship {
    margin-top: 101px;
}
.fp-page #s-return {
    margin-top: 108px;
}
.fp-page #s-id {
    margin-top: 99px;
}
.fp-page #s-buy {
    margin-top: 108px;
}
.fp-page .gd-buy + .guide {
    margin-top: 91px;
}
/* ---- faq.css ---- */

.faq-acc {
    margin-top: 25px;
}
.fp-page .faq-item {
    border: 1px solid var(--c-line-2);
}
.fp-page .faq-item + .faq-item {
    margin-top: 12px;
}
.fp-page .faq-q {
    position: relative;
    height: 50px;
    box-sizing: border-box;
    background: #f8f8f8;
    display: flex;
    align-items: center;
    padding-left: 33px;
    cursor: pointer;
}
.fp-page .faq-q__n {
    width: 59px;
    font-family: var(--font-en);
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.03em;
    color: #aa9181;
}
.fp-page .faq-q__t {
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .faq-q__chev {
    position: absolute;
    right: 33px;
    top: 50%;
    width: 9px;
    height: 9px;
    border-right: 1px solid var(--c-text);
    border-bottom: 1px solid var(--c-text);
    rotate: 45deg;
    translate: 0 -60%;
    transition: rotate 0.3s ease, translate 0.3s ease; /* 開閉時のchevron回転をアニメ */
}
.fp-page .faq-a {
    display: grid;
    grid-template-rows: 0fr; /* 閉 */
    background: var(--c-white);
    transition: grid-template-rows 0.35s ease; /* 真の高さを滑らかに開閉（max-heightのタメ/カクつき回避） */
}
.fp-page .faq-item.is-open .faq-a {
    grid-template-rows: 1fr; /* 開＝内容実高さ */
}
.fp-page .faq-a__in {
    overflow: hidden; /* 0fr時に内側(padding含む)ごとクリップ */
}
.fp-page .faq-a__body a,
.fp-page .faq-a a {
    color: var(--c-accent);
    text-decoration: underline;
}
.fp-page .faq-a__body {
    padding: 24px 33px 24px;
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 28px;
    color: var(--c-black);
}
.fp-page .faq-item.is-open .faq-q {
    border-bottom: 1px solid var(--c-line-2);
}
.fp-page .faq-item.is-open .faq-q__chev {
    rotate: -135deg;
    translate: 0 -30%;
}
.fp-page #f1 {
    margin-top: 60px;
}
.fp-page #f2 {
    margin-top: 70px;
}
.fp-page #f3 {
    margin-top: 62px;
}
.fp-page #f4 {
    margin-top: 66px;
}
.fp-page #f5 {
    margin-top: 77px;
}
.fp-page #f6 {
    margin-top: 89px;
}
.fp-page #f7 {
    margin-top: 73px;
}
.fp-page .faq-sec + .guide {
    margin-top: 110px;
}
/* ---- news.css ---- */

.news-article {
    width: 800px;
    margin-inline: auto;
}
.fp-page .news-meta {
    margin-top: 70px;
    display: flex;
    align-items: center;
    gap: 16px;
}
.fp-page .news-date {
    font-size: 12px;
    letter-spacing: 0.05em;
    color: var(--c-text);
}
.fp-page .news-cat {
    width: 72px;
    height: 19px;
    background: var(--c-accent);
    color: var(--c-white);
    font-size: 10px;
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
	border-radius: 50px;
}
.fp-page .news-title {
    margin-top: 23px;
    font-size: 17px;
    font-weight: 350;
    line-height: 1.4;
    letter-spacing: 0.06em;
    color: var(--c-black);
}
.fp-page .news-divider {
    margin-top: 15px;
    border: 0;
    border-top: 1px solid var(--c-line-2);
}
.fp-page .news-img {
    margin-top: 29px;
    width: 800px;
}
.fp-page .news-body {
    margin-top: 58px;
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 2;
    color: var(--c-black);
}
.fp-page .news-body p + p {
    margin-top: 1.6em;
}
.fp-page .news-back {
    display: flex;
    width: 397px;
    margin: 74px auto 0;
}
.fp-page .news-article + .guide {
    margin-top: 51px;
}
/* ---- about.css ---- */

.about-wrap {
    width: 1200px;
    margin-inline: auto;
    position: relative;
}
/* ヒーローは全幅（fp-page=100%なので width:100% で画面幅） */
.fp-page .gd-hero,
.fp-page .about-hero {
    width: 100%;
}
/* パンくずはコンテンツ幅1200中央（border-bottomが全幅化しないよう） */
.fp-page .gd-crumb,
.fp-page .about-crumb {
    width: 1200px;
    margin-inline: auto;
}
.fp-page .about-hero {
    position: relative;
    height: 500px;
    background: var(--c-row); /* 読み込み前の薄いグレー（画像はフェードイン） */
    color: var(--c-white);
    overflow: hidden;
}
.fp-page .about-hero img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.fp-page .about-hero__copy {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    translate: 8px -26px;
}
/* ページヘッダーのふわっと表示: グレー地→画像ロードで .is-ready を付与し画像/文言をフェードイン（商品 page-hero と同挙動。is-ready付与JSは共通index.html） */
.fp-page .gd-hero img,
.fp-page .about-hero img,
.fp-page .gd-hero__copy,
.fp-page .about-hero__copy {
    opacity: 0;
    transition: opacity 0.6s ease;
}
.fp-page .gd-hero__copy,
.fp-page .about-hero__copy {
    transition-delay: 0.05s;
}
.fp-page .gd-hero.is-ready img,
.fp-page .about-hero.is-ready img,
.fp-page .gd-hero.is-ready .gd-hero__copy,
.fp-page .about-hero.is-ready .about-hero__copy {
    opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
    .fp-page .gd-hero img,
    .fp-page .about-hero img,
    .fp-page .gd-hero__copy,
    .fp-page .about-hero__copy {
        transition: none;
    }
}
/* .about-hero__en / __ja のPCタイポは common.css の共通ヘッダー定義へ集約（Optima30px 字間0 ／ Inter Medium15px）。SP上書きは下部@mediaに残置 */
.fp-page .about-crumb {
    margin-top: 26px;
    padding-bottom: 27px;
    border-bottom: 1px solid var(--c-line-2);
}
.fp-page .about-intro .about-wrap {
    padding-top: 96px;
    padding-bottom: 84px;
}
.fp-page .about-logo {
    display: flex;
    align-items: center;
    gap: 13px;
    height: 43px;
}
.fp-page .about-logo__mark {
    height: 43px;
    width: auto;
    filter: invert(1);
}
.fp-page .about-logo__text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    font-family: var(--font-en);
    color: var(--c-ink);
}
.fp-page .about-logo__text b {
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1;
}
.fp-page .about-logo__text small {
    font-size: 8px;
    letter-spacing: 0.22em;
    line-height: 1;
}
.fp-page .about-logo__img {
    display: block;
    width: 286px;
    height: auto;
}
.fp-page .about-intro__body {
    margin-top: 88px;
    width: 587px;
    font-size: 15px;
    letter-spacing: 0.03em;
    line-height: 2;
    color: var(--c-black);
}
.fp-page .about-intro__body p + p {
    margin-top: 1.7em;
}
.fp-page .about-intro__en {
    margin-top: 70px;
    width: 403px;
    font-size: 10px;
    letter-spacing: 0.06em;
    line-height: 20px;
    color: var(--c-ink);
}
.fp-page .about-intro__img {
    position: absolute;
    top: 72px;
    right: 10px;
    width: 461px;
    height: 549px;
    object-fit: cover;
    object-position: center;
}
.fp-page .about-reg {
    margin-top: 21px;
}
.fp-page .about-reg__bar {
    position: relative;
    width: 1200px;
    height: 50px;
    margin-inline: auto;
    background: #333333;
    color: var(--c-white);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 24px;
    font-size: 15px;
    letter-spacing: 0.03em;
}
.fp-page .about-reg__caret {
    position: absolute;
    right: 24px;
    width: 9px;
    height: 9px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    rotate: 45deg;
    translate: 0 -3px;
    transition: rotate 0.25s ease;
}
/* 登録店バー: クリックでアコーディオン展開 */
.fp-page .about-reg__bar {
    cursor: pointer;
}
.fp-page .about-reg.is-open .about-reg__caret {
    rotate: 225deg;
}
.fp-page .about-reg__panel {
    width: 1200px;
    margin-inline: auto;
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.35s ease;
}
.fp-page .about-reg.is-open .about-reg__panel {
    grid-template-rows: 1fr;
}
.fp-page .about-reg__panel-inner {
    overflow: hidden;
}
.fp-page .about-reg__panel-inner p {
    margin: 0;
    padding: 28px 32px;
    border: 1px solid #dedede;
    border-top: none;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.03em;
}
/* 大バナーは全幅（画像バンド） */
.fp-page .about-shop__banner {
    position: relative;
    width: calc(100% - 30px);
    height: 600px;
    margin: 67px 0 0 30px; /* 左30px余白 */
    background: var(--c-black);
    overflow: hidden;
    color: var(--c-white);
}
.fp-page .about-shop__banner img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.fp-page .about-shop__head {
    position: absolute;
    left: 90px;
    top: 394px;
    z-index: 2;
}
.fp-page .about-shop__en {
    font-family: var(--font-en);
    font-size: 34px;
    font-weight: 400;
    line-height: 1;
}
.fp-page .about-shop__ja {
    margin-top: 12px;
    font-family: var(--font-mincho);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.12em;
}
.fp-page .about-shop__cap {
    margin-top: 20px;
    font-size: 10px;
    letter-spacing: 0.06em;
    line-height: 1.8;
}
.fp-page .about-shop__note {
    height: 80px;
    margin-top: 90px;
    border: 1px solid var(--c-accent-2);
    display: flex;
    align-items: center;
    padding-left: 29px;
}
.fp-page .about-shop__note p {
    font-size: 14px;
    letter-spacing: 0.03em;
    color: var(--c-accent);
}
.fp-page .about-shop__grid {
    margin-top: 95px;
    display: grid;
    grid-template-columns: 722px 478px;
}
.fp-page .about-shop__service-title {
    font-size: 15px;
    font-weight: 350;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .about-shop__service-body {
    margin-top: 24px;
    width: 588px;
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 2;
    color: var(--c-black);
}
.fp-page .about-shop__store-name {
    font-size: 15px;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .about-shop__table {
    margin-top: 40px;
    border-top: 1px solid var(--c-line-2);
}
.fp-page .about-shop__row {
    display: grid;
    grid-template-columns: 113px 1fr;
    border-bottom: 1px solid var(--c-line-2);
    padding: 21px 0;
    font-size: 14px;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .about-shop__row dt {
    font-weight: 350;
}
.fp-page .about-shop__row dd {
    line-height: 1.6;
}
.fp-page .about-reasons {
    margin-top: 83px;
    padding-top: 95px;
    padding-bottom: 91px;
    /* ベージュ塗りは右30pxを白に（中身は全幅中央のまま） */
    background: linear-gradient(to right, #faf8f5 calc(100% - 30px), #ffffff calc(100% - 30px));
}
.fp-page .about-reasons .sec-heading__en {
    color: var(--c-black);
}
.fp-page .about-reasons .sec-heading__ja,
.fp-page .about-craft .sec-heading__ja {
    margin-top: 12px;
    font-family: var(--font-mincho);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: var(--c-text);
}
.fp-page .about-reasons__list {
    margin-top: 56px;
    display: flex;
    flex-direction: column;
    row-gap: 51px;
}
.fp-page .reason {
    display: grid;
    grid-template-columns: 600px 1fr;
    column-gap: 110px;
    align-items: start;
}
.fp-page .reason__img {
    width: 600px;
    height: 400px;
    object-fit: cover;
    object-position: center;
}
.fp-page .reason__text {
    padding-top: 14px;
}
.fp-page .reason__label {
    position: relative;
    font-size: 14px;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .reason__label::after {
    content: "";
    position: absolute;
    left: 108px;
    top: 50%;
    width: 372px;
    height: 1px;
    background: #c6c6c6;
}
.fp-page .reason__title {
    margin-top: 41px;
    font-family: var(--font-mincho);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: var(--c-text);
}
.fp-page .reason__body {
    margin-top: 33px;
    font-size: 14px;
    letter-spacing: 0.06em;
    line-height: 32px;
    color: var(--c-black);
}
.fp-page .reason__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    height: 35px;
    margin-top: 26px;
    border: 1px solid #707070;
    font-family: var(--font-mincho);
    font-size: 11px;
    letter-spacing: 0.03em;
    color: var(--c-black);
}
.fp-page .about-craft {
    padding-top: 80px;
    padding-bottom: 50px;
}
.fp-page .about-craft .sec-heading__en {
    color: var(--c-black);
}
/* Craftsmanship 横スライダー（全幅6枚・>で送る・下にプログレスバー。PC/SP共通の可変スライダー） */
.fp-page .about-craft__slider {
    position: relative;
    width: calc(100% - 30px);
    margin-top: 50px;
    margin-left: 30px; /* 左30px余白 */
    overflow: hidden;
}
.fp-page .about-craft__track {
    display: flex;
    will-change: transform;
    transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.fp-page .about-craft__track.no-anim {
    transition: none;
}
.fp-page .about-craft__slide {
    position: relative;
    flex: 0 0 calc(100% - 130px); /* 右130pxに次スライドをチラ見せ */
    height: 600px;
    overflow: hidden;
    background: var(--c-black);
}
.fp-page .about-craft__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.fp-page .about-craft__copy {
    position: absolute;
    inset: 0;
    z-index: 2;
    color: var(--c-white);
}
/* 文字はメイン位置(is-active)のみ表示。チラ見せの次スライドは透明→アクティブでふわっと。
   is-jsはJS初期化時に付与(=JS無効時は常時表示のまま安全) */
.fp-page .about-craft__slider.is-js .about-craft__copy {
    opacity: 0;
    transition: opacity 0.5s ease;
}
.fp-page .about-craft__slider.is-js .about-craft__slide.is-active .about-craft__copy {
    opacity: 1;
}
.fp-page .about-craft__slider.is-js .about-craft__track.no-anim .about-craft__copy {
    transition: none;
}
.fp-page .about-craft__label {
    position: absolute;
    left: 90px;
    top: 62px;
    font-family: var(--font-num);
    font-size: 14px;
    letter-spacing: 0.05em;
}
.fp-page .about-craft__label::after {
    content: "";
    position: absolute;
    left: 150px;
    top: 50%;
    width: 290px;
    height: 1px;
    background: rgba(255, 255, 255, 0.8);
}
.fp-page .about-craft__text {
    position: absolute;
    left: 90px;
    top: 50%;
    transform: translateY(-50%);
    width: 452px; /* 1スライド目(導入) */
}
/* 2スライド目以降(ラベルあり)は幅広め */
.fp-page .about-craft__slide:has(.about-craft__label) .about-craft__text {
    width: 526px;
}
.fp-page .about-craft__title {
    font-family: var(--font-mincho);
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1.4;
}
.fp-page .about-craft__title + .about-craft__body {
    margin-top: 22px;
}
.fp-page .about-craft__body {
    font-size: 14px;
    line-height: 2.1;
    letter-spacing: 0.03em;
}
/* 2スライド目以降(ラベルあり)の本文 */
.fp-page .about-craft__slide:has(.about-craft__label) .about-craft__body {
    font-size: 13px;
    line-height: 2;
}
.fp-page .about-craft__next {
    position: absolute;
    right: 160px;
    top: 50%;
    transform: translateY(-50%);
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.11);
    border: 1px solid var(--c-white);
    cursor: pointer;
    z-index: 5;
    transition: background 0.2s;
}
.fp-page .about-craft__next:hover {
    background: rgba(255, 255, 255, 0.22);
}
.fp-page .about-craft__next::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 1.4px solid var(--c-white);
    border-top: 1.4px solid var(--c-white);
    rotate: 45deg;
    translate: -70% -50%;
}
.fp-page .about-craft__progress {
    position: absolute;
    right: 160px;
    bottom: 40px;
    width: 335px;
    height: 2px;
    background: rgba(255, 255, 255, 0.5);
    z-index: 5;
    overflow: hidden;
}
.fp-page .about-craft__progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: #9c7861;
    transform-origin: left center;
    transform: scaleX(0.16667);
    transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}
/* CTAはコンテンツ幅1200中央・2ボックスは均等flex */
.fp-page .about-cta {
    display: flex;
    gap: 20px;
    width: 1200px;
    margin: 150px auto 0;
}
.fp-page .about-cta__box {
    position: relative;
    flex: 1;
    height: 110px;
    background: var(--c-white);
    border: 1px solid var(--c-accent-2);
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding-left: 38px;
}
.fp-page .about-cta__jp {
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--c-black);
}
.fp-page .about-cta__en {
    font-family: var(--font-num);
    font-weight: 500;
    font-size: 10px;
    letter-spacing: 0.05em;
    color: var(--c-accent-2);
}
.fp-page .about-cta__arrow {
    position: absolute;
    right: 31px;
    top: 50%;
    translate: 0 -50%;
    width: 32px;
    height: 32px;
    background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3E%3Ccircle%20cx='16'%20cy='16'%20r='16'%20fill='%239C7861'/%3E%3Cpath%20d='M13.288%2013.227%2019.667%2016.201%2013.288%2018.603%2016.401%2016.021%20Z'%20fill='%23FFFFFF'/%3E%3C/svg%3E") center / 32px 32px no-repeat;
}
/* padding-bottom は上部の .about-craft 定義(padding-top と同じ場所)に集約済み＝ここでは重複させない */
.fp-page .about-craft + .guide {
    margin-top: 0;
}
.fp-page .about-craft__spstack {
    display: none;
} /* SP専用(sticky+クロスフェード)。PCは横スライダー(__slider)を表示 */
.fp-page .gd-timeline-sp {
    display: none;
} /* SP専用: タイムライン縦組 */

/* ============================================================
   SP（375基準vw）。ページ毎に追加中: about=AB-12-about-sp実測。
   guide/faq/newsのSPは各デザイン到着後に追加
   ============================================================ */
@media screen and (max-width: 767px) {
    .fp-page {
        width: 100%;
        left: 0;
        transform: none;
    }
    /* ---- about ---- */
    .fp-about {
        display: flex;
        flex-direction: column;
    }
    /* パンくず: 最下部・中央・上下罫線（実測y8634-8684） */
    .fp-about .about-crumb {
        order: 99;
        width: auto;
        margin: 19.733vw 5.333vw 10.133vw;
        padding-bottom: 0;
        border-top: 1px solid var(--c-line-2);
        border-bottom: 1px solid var(--c-line-2);
        height: 13.333vw;
        line-height: 13.333vw;
        text-align: center;
        font-size: 3.2vw;
        white-space: nowrap;
    }
    /* ヒーロー: バー下360px中央 */
    .fp-about .about-hero {
        height: 112vw;
    } /* 透過バー分+16vw */
    .fp-about .about-hero__copy {
        translate: 0 0;
        inset: 16vw 0 0 0;
    }
    .fp-about .about-hero__en {
        font-size: 6.933vw;
        letter-spacing: 0;
    }
    .fp-about .about-hero__ja {
        margin-top: 1.333vw;
        font-family: var(--font-body);
        font-size: 3.733vw;
    }
    /* イントロ: ロゴ帯(罫線挟み105px)→画像→本文→英文（実測: 線450/555・画像586 335x399・本文1022） */
    .fp-about .about-wrap {
        width: auto;
    } /* PCの1200固定をSPで解除（intro/shop/reasons共通のwrap） */
    .fp-about .about-intro .about-wrap {
        display: flex;
        flex-direction: column;
        padding: 8vw 5.333vw 18.933vw;
    }
    .fp-about .about-logo {
        order: 1;
        height: 28vw;
        justify-content: center;
        gap: 3.467vw;
        border-top: 1px solid var(--c-line-2);
        border-bottom: 1px solid var(--c-line-2);
    }
    .fp-about .about-logo__text b {
        font-size: 4.533vw;
    }
    .fp-about .about-logo__text small {
        font-size: 2.133vw;
    }
    .fp-about .about-logo__img {
        width: 54.4vw;
    }
    .fp-about .about-intro .about-wrap > picture {
        order: 2;
        display: block;
        width: 100%;
        margin-top: 8.267vw;
    }
    .fp-about .about-intro__img {
        position: static;
        width: 100%;
        height: auto;
        aspect-ratio: 335 / 399;
        object-fit: cover;
    }
    .fp-about .about-intro__body {
        order: 3;
        margin-top: 9.867vw;
        width: 100%;
        font-size: 3.733vw;
        line-height: 8vw;
    }
    .fp-about .about-intro__en {
        order: 4;
        margin-top: 9.067vw;
        width: 100%;
        font-size: 2.667vw;
        line-height: 5.867vw;
    }
    /* 登録店バー: 335x80中央2行（実測1685） */
    .fp-about .about-reg {
        margin-top: 0;
    }
    .fp-about .about-reg__bar {
        width: auto;
        margin-inline: 5.333vw;
        height: 21.333vw;
        justify-content: center;
        text-align: center;
        padding: 0 9.6vw 0 8vw;
        font-size: 3.467vw;
        line-height: 1.6;
    }
    .fp-about .about-reg__caret {
        right: 6.4vw;
    }
    .fp-about .about-reg__panel {
        width: auto;
        margin-inline: 5.333vw;
    }
    .fp-about .about-reg__panel-inner p {
        padding: 6.4vw 6.4vw;
        font-size: 3.733vw;
        line-height: 8vw;
    }
    /* 大バナー: 全幅600px・見出し左下（実測1824-2424・head top393） */
    .fp-about .about-shop__banner {
        width: 100%;
        height: 160vw;
        margin: 15.733vw 0 0;
    }
    .fp-about .about-shop__head {
        left: 5.333vw;
        right: 5.333vw;
        top: 100.8vw;
    }
    .fp-about .about-shop__en {
        font-size: 6.933vw;
    }
    .fp-about .about-shop__ja {
        margin-top: 2.667vw;
        font-size: 4.267vw;
        letter-spacing: 0.08em;
    }
    .fp-about .about-shop__cap {
        margin-top: 3.467vw;
        font-size: 2.667vw;
        line-height: 5.333vw;
    }
    /* サービス→注記→SHOWROOM の縦積み（gridはdisplay:contentsで解体しorderで並べ替え） */
    .fp-about .about-shop .about-wrap {
        display: flex;
        flex-direction: column;
        padding: 0 5.333vw;
    }
    .fp-about .about-shop__grid {
        display: contents;
    }
    .fp-about .about-shop__service {
        order: 1;
        margin-top: 18.133vw;
    }
    .fp-about .about-shop__service-title {
        font-size: 4vw;
    }
    .fp-about .about-shop__service-body {
        margin-top: 5.6vw;
        width: 100%;
        font-size: 3.733vw;
        line-height: 8vw;
    }
    .fp-about .about-shop__note {
        order: 2;
        width: 100%;
        height: auto;
        margin-top: 18.4vw;
        padding: 6.4vw 5.6vw;
        background: #f2f0e9;
    }
    .fp-about .about-shop__note p {
        font-size: 3.467vw;
        line-height: 6.933vw;
    }
    .fp-about .about-shop__store {
        order: 3;
        margin-top: 21.067vw;
    }
    .fp-about .about-shop__store-name {
        font-size: 4vw;
    }
    .fp-about .about-shop__table {
        margin-top: 2.667vw;
    }
    .fp-about .about-shop__row {
        grid-template-columns: 29.867vw 1fr;
        padding: 5.6vw 0;
        font-size: 3.733vw;
    }
    /* Reasons（実測: bg3360-5646・画像335x223・ラベル右線） */
    .fp-about .about-reasons {
        margin-top: 14.4vw;
        padding: 18.4vw 5.333vw 22.667vw;
        background: #faf8f5;
    }
    .fp-about .sec-heading__en {
        font-size: 5.867vw;
    }
    .fp-about .about-reasons .sec-heading__ja {
        margin-top: 1.6vw;
        font-family: var(--font-body);
        font-size: 3.733vw;
        letter-spacing: 0.08em;
    }
    .fp-about .about-reasons__list {
        margin-top: 7.733vw;
        row-gap: 24.533vw;
    }
    .fp-about .reason {
        display: block;
    }
    .fp-about .reason__img {
        width: 100%;
        height: auto;
        aspect-ratio: 335 / 223;
    }
    .fp-about .reason__text {
        padding-top: 0;
    }
    .fp-about .reason__label {
        margin-top: 9.4vw;
        display: flex;
        align-items: center;
        font-size: 3.2vw;
    }
    .fp-about .reason__label::after {
        position: static;
        flex: 1;
        width: auto;
        margin-left: 3.2vw;
    }
    .fp-about .reason__title {
        margin-top: 9.533vw;
        font-size: 4.8vw;
    }
    .fp-about .reason__body {
        margin-top: 7.867vw;
        font-size: 3.733vw;
        line-height: 8vw;
        letter-spacing: 0.03em;
    }
    .fp-about .reason__tag {
        margin-top: 6.4vw;
        width: 45.333vw;
        height: 9.333vw;
        font-size: 3.2vw;
    }
    /* Craftsmanship SP: 背景をJS 3状態ピン(上停止/画面固定/下端停止)＋4枚クロスフェード／文字は通常スクロール／下部インジケータ(1/4→4/4) */
    .fp-about .about-craft {
        padding-top: 0;
        padding-bottom: 0;
    }
    /* SPは横スライダー(__slider)と上部見出しを隠し、元のsticky+クロスフェード(spstack)を表示 */
    .fp-about .about-craft > .sec-heading,
    .fp-about .about-craft__slider {
        display: none;
    }
    .fp-about .about-craft__spstack {
        display: block;
    }
    .fp-about .craft-scroll {
        position: relative;
    }
    .fp-about .craft-bg {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 100vh;
        overflow: hidden;
        background: var(--c-black);
        z-index: 0;
    }
    .fp-about .craft-bg.is-fixed {
        position: fixed;
        top: 0;
    }
    .fp-about .craft-bg.is-bottom {
        position: absolute;
        top: auto;
        bottom: 0;
    }
    .fp-about .craft-bg__img {
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        opacity: 0;
        transition: opacity 0.8s ease;
    }
    .fp-about .craft-bg__img.is-active {
        opacity: 1;
    }
    .fp-about .craft-ind {
        position: absolute;
        left: 5.6vw;
        right: 5.333vw;
        bottom: 10.933vw;
        height: 2px;
        background: rgba(255, 255, 255, 0.5);
        overflow: hidden;
        z-index: 2;
    }
    .fp-about .craft-ind i {
        display: block;
        width: 100%;
        height: 100%;
        background: #9c7861;
        transform-origin: left center;
        transform: scaleX(0.16667);
        transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
    }
    .fp-about .craft-sec {
        position: relative;
        z-index: 1;
        min-height: 100vh;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 0 5.333vw;
        color: var(--c-white);
    }
    .fp-about .craft-sec--head {
        align-items: center;
        text-align: center;
    }
    .fp-about .craft-blk__en {
        font-family: var(--font-en);
        font-size: 5.867vw;
        line-height: 1.2;
    }
    .fp-about .craft-blk__ja {
        margin-top: 1.867vw;
        font-size: 3.733vw;
        letter-spacing: 0.08em;
    }
    .fp-about .craft-sec--head .craft-blk__body {
        margin-top: 6.4vw;
        text-align: left;
    }
    .fp-about .craft-blk__label {
        display: flex;
        align-items: center;
        font-size: 3.2vw;
        letter-spacing: 0.05em;
    }
    .fp-about .craft-blk__label::after {
        content: "";
        flex: 1;
        height: 1px;
        margin-left: 5.6vw;
        background: var(--c-white);
    }
    .fp-about .craft-blk__title {
        margin-top: 6vw;
        font-family: var(--font-mincho);
        font-size: 5vw;
        font-weight: 500;
        letter-spacing: 0.06em;
        line-height: 1.5;
    }
    .fp-about .craft-blk__body {
        margin-top: 5.333vw;
        font-size: 3.733vw;
        line-height: 1.95;
    }
    /* CTA: 縦積み335x93（実測8359/8467） */
    .fp-about .about-cta {
        width: auto;
        margin: 19.2vw 5.333vw 0;
        flex-direction: column;
        gap: 4vw;
    }
    .fp-about .about-cta__box {
        width: 100%;
        height: 24.8vw;
        gap: 0.8vw;
        padding: 5vw 8vw;
    }
    .fp-about .about-cta__jp {
        font-size: 4vw;
        line-height: 1.5;
    }
    .fp-about .about-cta__en {
        font-size: 2.667vw;
    }
    .fp-about .about-cta__arrow {
        right: 4vw;
        width: 8.533vw;
        height: 8.533vw;
        background-size: contain;
    }

    /* ---- guide（AB-13-guide-sp実測） ---- */
    .fp-guide {
        display: flex;
        flex-direction: column;
    }
    .fp-guide .gd-crumb {
        order: 99;
        width: auto;
        margin: 16.267vw 5.333vw 10.133vw;
        padding-bottom: 0;
        border-top: 1px solid var(--c-line-2);
        border-bottom: 1px solid var(--c-line-2);
        height: 13.333vw;
        line-height: 13.333vw;
        text-align: center;
        font-size: 3.2vw;
    }
    .fp-guide .gd-hero {
        height: 112vw;
    } /* 透過バー分+16vw */
    .fp-guide .gd-hero__copy {
        translate: 0 0;
        inset: 16vw 0 0 0;
    }
    .fp-guide .gd-hero__en {
        font-size: 6.933vw;
        letter-spacing: 0;
    }
    .fp-guide .gd-hero__ja {
        margin-top: 1.333vw;
        font-family: var(--font-body);
        font-size: 3.733vw;
    }
    /* 目次: 縦積み335x55・左寄せ（実測476-921・ピッチ65） */
    .fp-guide .gd-nav {
        width: auto;
        margin: 14.933vw 5.333vw 0;
        display: block;
    }
    .fp-guide .gd-nav__item {
        height: 14.667vw;
        justify-content: flex-start;
        padding-left: 5.067vw;
        font-size: 3.733vw;
    }
    .fp-guide .gd-nav__item + .gd-nav__item {
        margin-top: 2.667vw;
    }
    .fp-guide .gd-nav__arrow {
        right: 2.667vw;
        width: 5.867vw;
        height: 5.867vw;
        background-size: contain;
    }
    /* 見出し帯: 356x120・左右マージン10（実測） */
    .fp-guide .gd-band {
        width: auto;
        margin-inline: 2.667vw;
        padding: 11.4vw 0 10vw;
    }
    .fp-guide .gd-band__jp {
        font-size: 4.267vw;
    }
    .fp-guide .gd-band__en {
        margin-top: 1.6vw;
        font-size: 3.2vw;
    }
    .fp-guide .gd-wrap {
        width: auto;
        padding: 0 5.333vw;
    }
    .fp-guide .gd-section {
        margin-top: 14.4vw;
        scroll-margin-top: 72px; /* SP固定ヘッダー(60px)分＋余白＝見出しがヘッダー裏に潜らない（FAQ/Guide共通） */
    }
    .fp-guide #s-price {
        margin-top: 14.4vw;
    }
    .fp-guide #s-flow {
        margin-top: 5.6vw;
    }
    .fp-guide #s-pay {
        margin-top: 20vw;
    }
    .fp-guide #s-ship {
        margin-top: 20vw;
    }
    .fp-guide #s-return {
        margin-top: 13.867vw;
    }
    .fp-guide #s-id {
        margin-top: 8vw;
    }
    .fp-guide #s-buy {
        margin-top: 14.133vw;
    }
    /* 本文/リスト */
    .fp-guide .gd-section .gd-wrap > .gd-intro:first-child {
        margin-top: 8.533vw;
    }
    .fp-guide .gd-intro {
        text-align: left;
        font-size: 3.733vw;
        line-height: 8vw;
    }
    .fp-guide .gd-intro--strong {
        text-align: center;
        font-size: 4vw;
    }
    .fp-guide .gd-intro + .gd-intro {
        margin-top: 4.267vw;
    }
    .fp-guide .gd-notes {
        font-size: 3.2vw;
        line-height: 5.867vw;
    }
    .fp-guide .gd-rbar {
        width: 100%;
        height: 13.333vw;
        margin-top: 10.667vw;
        font-size: 4.267vw;
    }
    .fp-guide .gd-rbox {
        padding: 5.333vw;
    }
    .fp-guide .gd-rbox p {
        font-size: 4vw;
        line-height: 7.467vw;
    }
    .fp-guide .gd-rsub {
        margin-top: 10.667vw;
        font-size: 4.267vw;
    }
    .fp-guide .gd-rtext {
        font-size: 3.733vw;
        line-height: 8.533vw;
    }
    .fp-guide .gd-rtext + .gd-rsub {
        margin-top: 10.667vw;
    }
    /* 地金価格と販売時間 */
    .fp-guide .gd-price {
        padding-top: 8.533vw;
        display: block;
    } /* PCのflexを解除して縦積み */
    .fp-guide .gd-price__body {
        width: 100%;
    }
    .fp-guide .gd-price__body p {
        font-size: 3.733vw;
        line-height: 8vw;
    }
    .fp-guide .gd-price__img {
        position: static;
        width: 100%;
        height: auto;
        aspect-ratio: 335 / 226;
        margin-top: 14.4vw;
    }
    .fp-guide .gd-timeline {
        display: none;
    }
    .fp-guide .gd-timeline-sp {
        display: block;
        margin-top: 12.267vw;
        margin-bottom: 8vw;
    }
    /* 1枚SVG差し替え（SP）: コンテナ幅いっぱい。旧 .tls-* ルールは未使用（要素撤去済み） */
    .fp-guide .tls-svg {
        display: block;
        width: 100%;
        height: auto;
    }
    .fp-guide .tls-title {
        text-align: center;
        font-size: 4vw;
        letter-spacing: 0.03em;
        color: var(--c-text);
    }
    .fp-guide .tls-title em {
        font-style: normal;
        color: #89664f;
    }
    .fp-guide .tls-hours {
        width: 65.333vw;
        height: 9.067vw;
        margin: 2.133vw auto 0;
        background: #f2f0e9;
        border: 1px solid #7c6454;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 4.267vw;
        color: var(--c-accent);
    }
    .fp-guide .tls-off {
        margin-top: 2.667vw;
        text-align: center;
        font-size: 3.2vw;
        color: var(--c-text);
    }
    .fp-guide .tls-hr {
        margin-top: 4.267vw;
        border: 0;
        border-top: 1px solid var(--c-line-2);
    }
    .fp-guide .tls-row {
        position: relative;
        margin-top: 8vw;
        padding: 0 0 1px;
    }
    .fp-guide .tls-row::before,
    .fp-guide .tls-row::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 9.6vw;
        border-left: 1px dashed #b0a396;
    }
    .fp-guide .tls-row::before {
        left: 0;
    }
    .fp-guide .tls-row::after {
        right: 0;
    }
    .fp-guide .tls-note {
        font-size: 3.2vw;
        line-height: 4.8vw;
        color: var(--c-text);
    }
    .fp-guide .tls-note--r {
        text-align: right;
        padding-right: 2.667vw;
    }
    .fp-guide .tls-note--c {
        text-align: center;
    }
    .fp-guide .tls-head {
        position: relative;
        display: flex;
        align-items: center;
        margin-top: 2.133vw;
    }
    .fp-guide .tls-release {
        position: relative;
        margin-left: 14.933vw;
        font-size: 3.733vw;
        color: var(--c-text);
    }
    .fp-guide .tls-release::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 100%;
        height: 8.533vw;
        border-left: 1px dotted #89664f;
    }
    .fp-guide .tls-head::before {
        content: "";
        position: absolute;
        left: 29.867vw;
        top: -1.333vw;
        bottom: -4.8vw;
        border-left: 1px solid #b0a396;
    }
    .fp-guide .tls-pill {
        width: 45.6vw;
        height: 9.333vw;
        margin-left: 6.933vw;
        background: var(--c-white);
        border: 1px solid #7c6454;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 3.733vw;
        color: #89664f;
    }
    .fp-guide .tls-pill--wide {
        width: 76.8vw;
        margin-inline: auto;
    }
    .fp-guide .tls-bar {
        margin-top: 3.733vw;
        height: 3.733vw;
        background: #baad9f;
    }
    .fp-guide .tls-times {
        position: relative;
        height: 5.867vw;
        margin-top: 1.867vw;
        font-size: 4vw;
        color: var(--c-text);
    }
    .fp-guide .tls-times .t1 {
        position: absolute;
        left: 14.933vw;
    }
    .fp-guide .tls-times .t2 {
        position: absolute;
        left: 38.4vw;
    }
    .fp-guide .tls-times .t3 {
        position: absolute;
        right: 0;
    }
    .fp-guide .tls-times .t4 {
        position: absolute;
        left: 7.467vw;
    }
    .fp-guide .tls-row--b {
        margin-top: 11.467vw;
    }
    .fp-guide .tls-row--b .tls-head::before {
        display: none;
    }
    /* ご注文の流れ: 縦線＋ドット＋本文はベージュ角丸ボックス */
    .fp-guide .gd-flow {
        padding: 13.867vw 3.33vw 0;
    }
    .fp-guide .gd-step {
        display: block;
        padding-left: 5.333vw;
    }
    .fp-guide .gd-step + .gd-step {
        margin-top: 13.6vw;
    }
    .fp-guide .gd-step::after {
        left: 0.8vw; /* 点: コネクタ(中心2.4vw)に整列 */
        top: 1.067vw;
        width: 2.933vw;
        height: 2.933vw;
    }
    /* 縦線コネクタ SP: 点の中心(2.4vw)に合わせ、次点まで(このステップ高+gap13.6vw) */
    .fp-guide .gd-step:not(.gd-step--last)::before {
        left: 2.133vw;
        top: 1.067vw;
        height: calc(100% + 13.6vw);
    }
    .fp-guide .gd-step__label {
        font-size: 3.733vw;
        position: relative;
        top: -0.5vw;
    }
    .fp-guide .gd-step__body {
        border-bottom: 0;
        padding-bottom: 0;
    }
    .fp-guide .gd-step__body h3 {
        margin-top: 2.133vw;
        font-size: 4vw;
        color: var(--c-black);
    }
    .fp-guide .gd-step__body > p {
        margin-top: 2.667vw;
        margin-left: 0;
        background: #faf8f5;
        border-radius: 2.133vw;
        padding: 5.333vw 6.667vw;
        font-size: 3.467vw;
        line-height: 6.933vw;
		border:1px solid #C9C9C9;
		border-radius:7px;
    }
    .fp-guide .gd-step__body > p:has(+ .gd-step__note) {
        border-radius: 2.133vw 2.133vw 0 0;
        padding-bottom: 1.333vw;
		border-bottom: none;
    }
    .fp-guide .gd-step__body > p.gd-step__note {
        margin-top: 0 !important;
        border-radius: 0 0 2.133vw 2.133vw;
        padding-top: 0;
        font-size: 3.2vw !important;
        line-height: 5.867vw;
		border-top: none;
    }
    /* チップ行: チップ全幅50px＋値ボックス（実測4408-4508等） */
    .fp-guide .gd-chiprow {
        width: auto;
        height: auto;
        margin-top: 8.4vw;
        border: 0;
        padding: 0;
        display: block;
    }
    .fp-guide .gd-chiprow + .gd-chiprow {
        margin-top: 4.8vw;
    }
    .fp-guide .gd-chip {
        position: static;
        width: 100%;
        height: 13.333vw;
        font-size: 3.733vw;
    }
    .fp-guide .gd-chiprow__val {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 13.333vw;
        border: 1px solid var(--c-line-2);
        padding: 5.5vw 5vw;
        font-size: 3.467vw;
        line-height: 6.933vw;
        text-align: center;
    }
    .fp-guide .gd-chiprow--tall {
        height: auto;
    }
    .fp-guide .gd-chiprow--tall .gd-chiprow__val {
        justify-content: flex-start;
        text-align: left;
        padding-right: 5.067vw;
    }
    .fp-guide .gd-chiprow__note {
        display: flex;
        justify-content: center;
        border: 1px solid var(--c-line-2);
        border-top: 0;
        padding: 0 5.067vw 5.667vw;
        margin-top: -1px;
        font-size: 3.2vw;
        background: var(--c-white);
        position: relative;
    }
    .fp-guide .gd-chiprow:has(.gd-chiprow__note) .gd-chiprow__val {
        border-bottom: 0;
        padding-bottom: 0;
    }
    .fp-guide .gd-chiprow + .gd-notes {
        margin-top: 7.2vw;
    }
    /* 配送: ※アクセント注記と直下リストの上余白をPC同様に倍（generic 7.2vw→14.4vw） */
    .fp-guide .gd-chiprow + .gd-notes--accent {
        margin-top: 14.4vw;
    }
    .fp-guide .gd-notes--accent + .gd-notes {
        margin-top: 14.4vw;
    }
    .fp-guide .gd-notes + .gd-chiprow {
        margin-top: 11.467vw;
    }
    .fp-guide .gd-notes--md,
    .fp-guide .gd-notes--md .u-hang-line {
        font-size: 3.733vw;
        line-height: 2;
    }
    .fp-guide .gd-hr {
        margin-top: 10.667vw;
    }
    .fp-guide .gd-hr + .gd-notes {
        margin-top: 10.133vw;
    }
    .fp-guide .gd-bar {
        width: auto;
        height: 13.333vw;
        margin-top: 8.267vw;
        font-size: 3.733vw;
    }
    .fp-guide .gd-bar--soft {
        height: auto;
        min-height: 13.333vw;
        margin-top: 6.667vw;
        padding: 3.2vw 8vw;
        text-align: center;
        font-size: 3.467vw;
        line-height: 6.4vw;
    }
    .fp-guide .gd-bar + .gd-notes {
        margin-top: 9.867vw;
    }
    /* 買取 */
    .fp-guide .gd-buy .gd-intro {
        margin-top: 8.533vw;
    }
    .fp-guide .gd-btn {
        width: 89.333vw;
        height: 12vw;
        margin-top: 6.667vw;
        font-size: 3.467vw;
    }

    /* ---- faq（AB-14-faq-sp実測。共通部はfp-guide継承） ---- */
    .fp-faq .gd-band {
        margin-inline: 5.333vw;
    } /* FAQの帯は335幅(guideは356) */
    .fp-faq .gd-section {
        margin-top: 16vw;
    }
    .fp-faq #f1 {
        margin-top: 14.667vw;
    }
    .fp-faq .faq-acc {
        margin-top: 7.733vw;
    }
    .fp-faq .faq-item + .faq-item {
        margin-top: 3.2vw;
    }
    .fp-faq .faq-q {
        height: auto;
        min-height: 13.333vw;
        padding: 3.733vw 9.533vw 3.733vw 4.267vw;
		gap: 1vw;
    } /* 2行時=72px(実測) */
    .fp-faq .faq-q__n {
        width: 12vw;
        font-size: 5.333vw;
    }
    .fp-faq .faq-q__t {
        font-size: 3.733vw;
        line-height: 5.867vw;
    }
    .fp-faq .faq-q__chev {
        right: 4.267vw;
        width: 2.4vw;
        height: 2.4vw;
    }
    .fp-faq .faq-a__body {
        padding: 8vw 6.4vw 8vw;
        font-size: 3.733vw;
        line-height: 8vw;
    }

    /* ---- news（AB-15-news-sp実測。共通部はfp-guide継承） ---- */
    .fp-news .news-article {
        width: auto;
        padding: 0 5.333vw;
    }
    .fp-news .news-meta {
        margin-top: 13.6vw;
        gap: 3.2vw;
    }
    .fp-news .news-date {
        font-size: 3.2vw;
    }
    .fp-news .news-cat {
        width: 19.2vw;
        height: 5.067vw;
        font-size: 2.667vw;
    }
    .fp-news .news-title {
        margin-top: 4.533vw;
        font-size: 4.267vw;
		letter-spacing: 0.03em;
    }
    .fp-news .news-divider {
        margin-top: 5.533vw;
    }
    .fp-news .news-img {
        margin-top: 7.733vw;
        width: 100%;
        height: auto;
    }
    .fp-news .news-body {
        margin-top: 9.067vw;
        font-size: 3.733vw;
        line-height: 8vw;
    }
    .fp-news .news-back {
        margin: 12.267vw auto 0;
    }
    .fp-news .gd-crumb {
        margin-top: 5.333vw;
    } /* 実測: ボタン底1441→線1461 */
}
