@charset "UTF-8";
/* LAR テーマ上書き（実サイト準拠：水色×ゴールド／全ページ共通フォント） */
:root{
  --serif:'Shippori Mincho','Noto Serif JP',serif;
  --en:'Cormorant Garamond','Shippori Mincho',serif;
  --accent:#C4DDE1; --accent2:#7EB6BF; --price:#3c434a; --text:#3c434a;
  --line:#e4e9ec; --bg:#ffffff; --soft:#f4f9fa;
}
/* PHOTO FACTORY LAR オプション紹介ページ（衣装ページと同一トーン・和装ベージュ） */
:root{
  --serif:'Shippori Mincho','Noto Serif JP',serif;
  --sans:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;
  --accent:#C4DDE1; --accent2:#7EB6BF; --soft:#eef6f8;
  --price:#8a7358; --text:#6b6154; --line:#e6dccd; --bg:#faf6f0;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--sans);color:var(--text);background:var(--bg);
  line-height:1.85;-webkit-text-size-adjust:100%;}
.wrap{max-width:760px;margin:0 auto;padding:0 14px 34px;}
.hero{background:linear-gradient(160deg,#C4DDE1,#a9d0d6);border-radius:0 0 20px 20px;
  padding:30px 22px 26px;text-align:center;margin-bottom:22px;}
.hero-en{font-family:var(--en);font-weight:600;font-size:11px;letter-spacing:.42em;color:#fff;margin-bottom:8px;}
.hero h1{font-family:var(--serif);font-size:22px;font-weight:500;letter-spacing:.16em;margin:0 0 10px;color:#4a4741;}
.hero p{font-size:12.5px;color:#33484c;margin:0;line-height:1.95;}

/* 持ち物チェックリスト */
.mochi-note{font-size:12.5px;color:#9a8a72;text-align:center;margin:0 0 22px;line-height:1.9;}
.mochi{margin-bottom:20px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;
  box-shadow:0 1px 4px rgba(150,120,80,.06);}
.mochi > summary{list-style:none;cursor:pointer;padding:14px 18px;
  background:linear-gradient(135deg,#f2ebe1,#eaddcd);display:flex;align-items:center;justify-content:space-between;}
.mochi > summary::-webkit-details-marker{display:none;}
.mochi > summary h2{font-size:15px;font-weight:600;letter-spacing:.08em;color:#5c4f3d;margin:0;}
.mochi > summary .cnt{font-size:11px;color:#a8926f;}
.mochi > summary .arw{transition:.2s;color:#7EB6BF;font-size:13px;}
.mochi[open] > summary .arw{transform:rotate(90deg);}
.mochi ul{list-style:none;margin:0;padding:10px 8px 14px;
  display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;}
.mochi li{font-size:13px;color:#6b6154;padding:6px 6px 6px 24px;position:relative;
  border-bottom:1px dotted #ece2d3;}
.mochi li::before{content:'';position:absolute;left:7px;top:12px;width:8px;height:8px;
  border:1.5px solid var(--accent2);border-radius:2px;}
.mochi li.note{grid-column:1/-1;color:#a8926f;font-size:11.5px;padding-left:8px;border:none;}
.mochi li.note::before{display:none;}

.foot-back{text-align:center;margin-top:36px;}
.foot-back a{color:#b09a7c;font-size:13px;text-decoration:none;margin:0 10px;}
@media(max-width:480px){ .mochi ul{grid-template-columns:1fr;} }
.inote{color:#b0906a;font-size:10px;margin-left:4px;letter-spacing:0;}

/* ===== 写真つき持ち物（完成形ヒーロー＋アイテム大写真） ===== */
.mochi-photo{margin-bottom:30px;}
.mochi-photo .cat-head{font-size:16px;font-weight:600;letter-spacing:.08em;color:#5c4f3d;
  border-left:4px solid var(--accent2);padding-left:10px;margin:0 0 14px;}
.finish{position:relative;border-radius:14px;margin:0 auto 20px;max-width:62%;text-align:center;
  background:var(--soft);padding:13px;border:1px solid var(--accent);box-shadow:0 4px 14px rgba(90,100,120,.14);}
.finish img{width:100%;height:auto;display:block;border-radius:6px;border:1px solid var(--line);}
.finish .badge{position:absolute;left:14px;top:14px;background:rgba(199,171,141,.92);color:#fff;
  font-size:12px;letter-spacing:.12em;padding:5px 14px;border-radius:20px;}
.finish .ph, .icard .ph{display:flex;align-items:center;justify-content:center;height:100%;
  color:#c2ac8e;font-size:13px;text-align:center;padding:10px;}
.igrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;}
.icard .lbl .inote{display:block;margin:2px 0 0;}


/* カテゴリ帯（メイン写真の下・枠で目立たせる） */

.jump::before{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 50vw);
  width:100vw;z-index:-1;background:rgba(244,249,250,.95);backdrop-filter:blur(6px);
  border-bottom:1px solid #dbe7ea;}
.jump a:active{background:var(--accent);color:#fff;}

/* アイテムカード（統一ベージュ・元の仕様） */

/* 種類ブロックの背景を2色交互（全幅の帯） */
body{overflow-x:hidden;}
.mochi-photo{position:relative;padding:30px 0 34px;margin-bottom:0;}
.mochi-photo::before{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 50vw);
  width:100vw;z-index:-1;}

/* 右下の「上部へ戻る」ボタン */
.totop{position:fixed;right:14px;bottom:18px;z-index:80;width:46px;height:46px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  background:rgba(199,171,141,.94);color:#fff;font-size:20px;line-height:1;
  box-shadow:0 3px 10px rgba(120,90,50,.28);border:1px solid rgba(255,255,255,.6);}
.totop:active{background:#b89a76;}
html{scroll-behavior:smooth;}
.mochi-photo{scroll-margin-top:56px;}
@media(max-width:480px){ .jump{gap:6px;padding:8px 4px;} .jump a{font-size:12px;padding:5px 12px;} }

/* ===== アレンジ着物PHOTO ===== */
.ar-hero{border-radius:14px;overflow:hidden;margin:0 auto 22px;max-width:100%;
  border:1px solid var(--accent);box-shadow:0 4px 14px rgba(90,100,120,.14);background:var(--soft);padding:10px;}
.ar-hero img{width:100%;display:block;border-radius:8px;}
.ar-lead{font-size:13px;line-height:2.05;color:#55606a;text-align:center;margin:0 0 8px;}
.ar-sec{position:relative;padding:30px 0 34px;}
.ar-sec::before{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 50vw);width:100vw;z-index:-1;}
.ar-sec:nth-of-type(odd)::before{background:var(--soft);}
.ar-sec:nth-of-type(even)::before{background:#ffffff;}
.ar-h{font-size:17px;font-weight:600;letter-spacing:.16em;color:#5c4f3d;text-align:center;margin:0 0 20px;}
.ar-h span{border:2px solid var(--accent2);border-radius:12px;padding:7px 28px;background:var(--soft);
  box-shadow:0 2px 8px rgba(90,100,120,.10);display:inline-block;}

/* 着用例 */
.ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ex-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;
  box-shadow:0 2px 8px rgba(150,120,80,.10);}
.ex-card .ph{background:#eef1f3;padding:8px;}
.ex-card .ph img{width:100%;display:block;border-radius:8px;}
.ex-spec{padding:11px 12px 14px;background:linear-gradient(135deg,#eaf4f6,#d5e8ec);}
.ex-row{display:flex;justify-content:center;gap:8px;font-size:12.5px;color:#5c4f3d;margin-bottom:5px;}
.ex-row b{font-weight:600;}
.ex-row .k{color:#a8926f;font-size:11px;align-self:center;}
.ex-inner{font-size:11.5px;color:#55606a;text-align:center;line-height:1.8;
  border-top:1px dotted #d8c8b0;padding-top:8px;margin-top:7px;}

/* コーディネート例 */
.coord{margin-bottom:26px;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:14px;box-shadow:0 2px 8px rgba(150,120,80,.10);}
.coord-top{text-align:center;margin-bottom:12px;}
.coord-top img{width:56%;max-width:230px;display:block;margin:0 auto 7px;border-radius:8px;
  border:1px solid var(--line);background:var(--soft);}
.coord-top .cap{font-size:11.5px;letter-spacing:.1em;color:#a8926f;}
.coord-pair{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.coord-pair figure{margin:0;}
.coord-pair img{width:100%;display:block;border-radius:10px;background:#eef1f3;}
.coord-pair figcaption{text-align:center;font-size:12.5px;color:#5c4f3d;font-weight:600;
  letter-spacing:.06em;padding-top:7px;}

/* 振袖 */
.sg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.sg-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.sg-grid img{width:100%;display:block;background:#eef1f3;}
.sg-grid figcaption{text-align:center;font-size:12px;font-weight:600;color:#5c4f3d;padding:6px 2px 8px;
  background:linear-gradient(135deg,#eaf4f6,#d5e8ec);letter-spacing:.06em;}
@media(max-width:480px){ .ex-grid{grid-template-columns:1fr;} }

/* 一枚絵の例（着用例・コーディネート例） */
.rei-board{margin:0 auto 16px;background:var(--soft);border:1px solid var(--accent);border-radius:14px;
  padding:9px;box-shadow:0 3px 12px rgba(90,100,120,.12);}
.rei-board img{width:100%;display:block;border-radius:8px;}
.rei-hint{font-size:11px;color:#a8926f;text-align:center;margin:0 0 14px;}

/* ===== 簡単ヘアセット例（キッズ／大人 切替） ===== */
.hs-switch{display:flex;gap:10px;justify-content:center;margin:0 0 22px;
  position:sticky;top:49px;z-index:40;padding:10px 6px;}
.hs-switch::before{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 50vw);
  width:100vw;z-index:-1;background:rgba(244,249,250,.95);backdrop-filter:blur(6px);
  border-bottom:1px solid #dbe7ea;}
.hs-switch button{font-family:var(--serif);font-size:14.5px;letter-spacing:.14em;color:#5a6a70;
  background:var(--soft);border:1px solid var(--accent);border-radius:24px;padding:10px 30px;cursor:pointer;
  box-shadow:0 2px 6px rgba(160,120,70,.10);}
.hs-switch button.on{background:linear-gradient(135deg,#C4DDE1,#7EB6BF);color:#fff;border-color:#7EB6BF;
  box-shadow:0 3px 10px rgba(160,120,70,.24);}
.hs-panel[hidden]{display:none;}
.hs-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.hs-card img{width:100%;display:block;border-radius:8px;}
.hs-card .cap{text-align:center;font-size:13px;font-weight:600;color:#3f4a4e;letter-spacing:.05em;
  padding:8px 2px 4px;}
.hs-note{margin:24px auto 0;background:linear-gradient(135deg,#eaf4f6,#d5e8ec);border:1px solid var(--accent);
  border-radius:14px;padding:16px 18px;text-align:center;}
.hs-note h3{font-size:14px;font-weight:600;letter-spacing:.1em;color:#3f4a4e;margin:0 0 9px;}
.hs-note p{font-size:12px;line-height:1.95;color:#55636a;margin:0 0 6px;}
.hs-note .ref{margin-top:12px;text-align:center;}
.hs-note .ref img{width:56%;max-width:230px;margin:0 auto;border-radius:10px;border:1px solid var(--line);background:#fff;}
.hs-note .ref .rc{font-size:11px;color:#7a858c;margin-top:6px;text-align:center;}
@media(max-width:400px){ .hs-grid{gap:9px;} .hs-card .cap{font-size:11.5px;} }

/* ページ間の導線 */
.xnav{margin:36px auto 6px;max-width:none;}
.xnav-h{font-size:13px;font-weight:500;letter-spacing:.2em;color:#9a8a72;text-align:center;margin:0 0 14px;}
.xnav-h::before,.xnav-h::after{content:'';display:inline-block;width:30px;height:1px;background:#C4DDE1;
  vertical-align:middle;margin:0 11px;}
.xnav-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.xnav-card{display:flex;flex-direction:column;justify-content:center;position:relative;
  text-decoration:none;color:#5c4f3d;text-align:center;min-height:78px;
  background:linear-gradient(135deg,#eef6f8,#dcecef);border:1px solid #cfe2e6;border-radius:14px;
  padding:12px 8px 13px;box-shadow:0 2px 9px rgba(160,120,70,.13);}
.xnav-card .xn-en{display:block;font-size:8.5px;letter-spacing:.22em;color:#e9eef0;margin-bottom:4px;}
.xnav-card .xn-t{display:block;font-size:12.5px;font-weight:600;letter-spacing:.03em;line-height:1.5;}
.xnav-card .xn-a{display:none;}
.xnav-card{color:#fff;}
.xnav-card.is-back{background:linear-gradient(135deg,#f2ede4,#e6ddcd);}
.xnav-card:active{background:linear-gradient(135deg,#f0e7d8,#e3d5be);}

@media(max-width:380px){
  .xnav-list{gap:7px;}
  .xnav-card{padding:10px 5px 11px;min-height:72px;}
  .xnav-card .xn-t{font-size:11px;letter-spacing:0;}
}

/* 案内バナーに写真 */
.xnav-card{overflow:hidden;background-size:cover;background-position:center;}
.xnav-card::before{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,17,45,.30),rgba(10,17,45,.62));}
.xnav-card > span{position:relative;z-index:1;}
.xnav-card[data-nav="mochimono"]{background-image:url("/option/img/nav-mochimono.jpg");}
.xnav-card[data-nav="arrange"]{background-image:url("/option/img/nav-arrange.jpg");}
.xnav-card[data-nav="hairset"]{background-image:url("/option/img/nav-hairset.jpg");}
.xnav-card[data-nav="costume"]{background-image:url("/option/img/nav-costume.jpg");}
.xnav-card .xn-t{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.5);}


/* 公式LINEボタン */
.line-btn{display:inline-block;margin:12px auto 2px;padding:11px 26px;border-radius:26px;
  background:linear-gradient(135deg,#C4DDE1,#7EB6BF);color:#fff;text-decoration:none;font-size:14px;
  font-weight:600;letter-spacing:.08em;box-shadow:0 3px 10px rgba(160,120,70,.24);
  border:1px solid #7EB6BF;}
.line-btn:active{background:linear-gradient(135deg,#cdb497,#b89a76);}
.line-btn.sm{margin:10px auto 2px;padding:8px 20px;font-size:12.5px;
  box-shadow:0 2px 7px rgba(160,120,70,.20);}
@media(max-width:380px){
  .line-btn{font-size:13px;padding:10px 20px;}
  .line-btn.sm{font-size:11.5px;padding:7px 15px;}
}

/* ===== 共通ブランドバー（LARロゴ） ===== */
.site-bar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:11px 16px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);
  border-bottom:1px solid #e4e9ec;}
.site-logo img{height:24px;width:auto;display:block;}
.site-bar .line-btn{display:inline-flex;align-items:center;color:#fff;font-weight:700;font-size:11.5px;
  letter-spacing:.06em;padding:8px 15px;border-radius:26px;text-decoration:none;
  background:#B9AB7A;box-shadow:0 2px 8px rgba(185,171,122,.36);}
.site-foot{background:#0a112d;color:#cfd4de;text-align:center;padding:32px 16px 26px;margin-top:0;}
.sf-logo img{height:28px;width:auto;margin:0 auto 14px;display:block;}
.sf-info{font-size:11.5px;line-height:1.95;color:#c3c9d4;}
.sf-copy{font-family:var(--en);font-size:10.5px;letter-spacing:.14em;color:#8891a3;margin-top:16px;}

/* ===== ページ別テーマ ===== */
/* 持ち物：水色系（デフォルトと同じ） */
.theme-sky{--accent:#C4DDE1;--accent2:#7EB6BF;--soft:#eef6f8;--line:#d5e6ea;--bg:#eef6f8;}
.theme-sky .hero{background:linear-gradient(160deg,#C4DDE1,#a9d0d6);}
.theme-sky .cat-tag,.theme-sky .ar-h span{border-color:#7EB6BF;}

/* アレンジ：ラベンダーグレー */
.theme-lav{--accent:#B7B2C8;--accent2:#948EAE;--soft:#f1eff5;--line:#e0dced;--bg:#f1eff5;}
.theme-lav .hero{background:linear-gradient(160deg,#c8c3d8,#a8a1c0);}
.theme-lav .hero h1{color:#3b3550;}
.theme-lav .hero p{color:#4d4666;}
.theme-lav .cat-tag,.theme-lav .ar-h span{border-color:#948EAE;background:#f6f4fa;}
.theme-lav .ex-spec,.theme-lav .hs-note,.theme-lav .sg-grid figcaption{background:linear-gradient(135deg,#efedf5,#e2dded);}
.theme-lav .totop{background:rgba(148,142,174,.95);}
.theme-lav .rei-board{border-color:#B7B2C8;}

/* ヘアセット：グレー系 */
.theme-grey{--accent:#AEB4B8;--accent2:#868E93;--soft:#f0f2f3;--line:#dde1e3;--bg:#eef1f2;}
.theme-adult{--accent:#C4B49F;--accent2:#9C8A72;--soft:#f5f2ee;--line:#e4ded5;--bg:#f2eee8;}
.theme-grey .hero{background:linear-gradient(160deg,#aabecb,#8ba0af);}
.theme-grey .hero h1{color:#2f3a44;}
.theme-grey .hero p{color:#3f4a54;}
.theme-grey .hs-switch button[data-tab="kids"].on{background:linear-gradient(135deg,#AEC4CC,#7E9AA4);color:#fff;border-color:#7E9AA4;}
.theme-grey .hs-switch button[data-tab="adult"].on{background:linear-gradient(135deg,#9BA6AE,#6E7A83);color:#fff;border-color:#6E7A83;}
.theme-grey .hs-card,.theme-grey .hs-note{border-color:#AEB4B8;}
.theme-grey .hs-note{background:linear-gradient(135deg,#eef0f1,#dfe3e5);}
.theme-grey .totop{background:rgba(134,142,147,.95);}

/* ヘアセット：キッズ／大人を色で区別（ブルーグレー2トーン） */
.theme-grey #p-kids .hs-note{background:linear-gradient(135deg,#e9f0f2,#d3e2e7);border-color:#AEC4CC;}
.theme-grey #p-adult .hs-note{background:linear-gradient(135deg,#eaedf0,#d7dde2);border-color:#9BA6AE;}

/* ================================================================
   オプション各ページ（持物・アレンジ・ヘアセット）を
   トップページと同じ見せ方に揃える
   ================================================================ */
.cat-index .wrap{max-width:1120px;}

/* 見出し：トップの「REASON / 選ばれる理由」と同じ組み方 */
.cat-tag,.ar-h span{font-family:var(--serif);font-size:16px;font-weight:500;
  letter-spacing:.14em;color:var(--price);}
.cat-band{display:flex;align-items:center;gap:12px;margin:34px 0 16px;
  padding-bottom:9px;border-bottom:1px solid var(--line);background:none;}
.cat-band::before{content:'';width:22px;height:1px;background:var(--accent2);flex:none;}
.ar-h{display:flex;align-items:center;gap:12px;margin:34px 0 16px;
  padding-bottom:9px;border-bottom:1px solid var(--line);}
.ar-h::before{content:'';width:22px;height:1px;background:var(--accent2);flex:none;}

/* 小物・ヘアのカード：衣装カードと同じ形に */
.igrid,.hs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.icard,.hs-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;
  overflow:hidden;box-shadow:0 3px 12px rgba(120,130,140,.12);
  transition:transform .25s ease, box-shadow .25s ease;}
.icard:hover,.hs-card:hover{transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(120,130,140,.18);}
.icard .pic,.hs-card{position:relative;}
.icard .pic{width:100%;padding-top:100%;position:relative;overflow:hidden;background:#fcfbf9;}
.icard .pic img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;padding:8px;box-sizing:border-box;display:block;}
.hs-card img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;}
.icard .lbl,.hs-card .cap{padding:10px 10px 12px;text-align:center;
  font-size:12px;line-height:1.6;color:var(--text);}
.icard .lbl b{display:block;font-family:var(--serif);font-size:13px;color:var(--price);
  font-weight:700;}
.hs-card .cap{font-family:var(--serif);font-size:12.5px;color:var(--price);}

/* 大きな写真（被布のメイン写真・アレンジの着用例） */
.finish,.ar-hero,.rei-board{border-radius:18px;overflow:hidden;
  box-shadow:0 5px 20px rgba(120,130,140,.16);margin:0 0 16px;}
.finish img,.ar-hero img,.rei-board img{width:100%;height:auto;display:block;}

/* 説明文はトップと同じ組み方 */
.ar-lead,.mochi-note{font-family:var(--serif);text-align:center;font-size:12.5px;
  line-height:2.1;color:var(--ink-soft);max-width:620px;margin:0 auto 26px;
  letter-spacing:.04em;line-break:strict;word-break:auto-phrase;text-wrap:pretty;}

/* ページ内リンク：衣装ページの文字タブと同じ */
.jump{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:0 0 22px;}
.jump a{font-size:11.5px;letter-spacing:.04em;color:var(--price);
  background:#fff;border:1px solid var(--line);border-radius:20px;padding:6px 14px;}
.jump a:active{background:var(--soft);}
.genre-switch{margin:0 0 20px;}

@media(min-width:760px){
  .igrid{grid-template-columns:repeat(4,1fr);gap:16px;}
  .hs-grid{grid-template-columns:repeat(3,1fr);gap:16px;}
  .cat-tag,.ar-h span{font-size:18px;}
}
@media(min-width:1080px){
  .igrid{grid-template-columns:repeat(5,1fr);}
  .hs-grid{grid-template-columns:repeat(4,1fr);}
}

/* カードが順に浮かび上がるよう、少しずつ遅らせる */
.igrid .fade-up:nth-child(3n+2){transition-delay:.07s;}
.igrid .fade-up:nth-child(3n+3){transition-delay:.14s;}
.hs-grid .fade-up:nth-child(3n+2){transition-delay:.07s;}
.hs-grid .fade-up:nth-child(3n+3){transition-delay:.14s;}

/* ================================================================
   写真主役・文字は小さめ・スクロール演出
   （水色／ベージュの色味はそのまま）
   ================================================================ */

/* ---- ヒーロー：写真を大きく、文字は写真の上に静かに置く ---- */
.cat-index .cat-hero{position:relative;overflow:hidden;background:#fff;}
.cat-index .ch-img{height:72vh;min-height:400px;max-height:680px;
  object-fit:cover;transform:scale(1.06);transition:transform 1.6s ease-out;}
.cat-index.ready .ch-img{transform:scale(1);}
.cat-index .ch-cap{position:relative;inset:auto;padding:34px 26px 40px;
  background:#fff;text-align:left;display:block;}
/* 写真の下端は白へ自然につなげる */
.cat-index .cat-hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:120px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.92) 78%,#fff);
  pointer-events:none;}
.cat-index .ch-cap::before{display:none;}
.cat-index .ch-en{font-family:var(--en);font-size:10px;letter-spacing:.42em;
  color:var(--accent2);margin:0 0 10px;font-weight:500;}
.cat-index .ch-cap h1{font-family:var(--serif);font-size:22px;font-weight:400;
  letter-spacing:.16em;line-height:1.75;color:var(--price);margin:0;text-shadow:none;}
.cat-index .ch-lead{font-size:11.5px;line-height:2.2;color:var(--ink-soft);
  margin:14px 0 0;letter-spacing:.06em;text-shadow:none;max-width:none;}

/* ---- 区分見出し：小さな英字＋細い線 ---- */
.cat-band,.ar-h{display:block;text-align:center;border:none;
  margin:64px 0 26px;padding:0;background:none;}
.cat-band::before,.ar-h::before{content:'';display:block;width:1px;height:34px;
  background:var(--accent2);margin:0 auto 18px;opacity:.6;}
.cat-tag,.ar-h span{display:block;font-family:var(--serif);font-size:17px;
  font-weight:400;letter-spacing:.24em;text-indent:.24em;color:var(--price);
  border:none;padding:0;background:none;box-shadow:none;}

/* ---- カード：枠と影をなくし、写真そのものを見せる ---- */
.igrid,.hs-grid{gap:22px 14px;}
.icard,.hs-card{background:none;border:none;border-radius:0;box-shadow:none;
  overflow:visible;transition:none;}
.icard:hover,.hs-card:hover{transform:none;box-shadow:none;}
.icard .pic{padding-top:112%;border-radius:3px;overflow:hidden;background:#f7f5f2;}
.icard .pic img{padding:0;object-fit:cover;
  transition:transform 1.1s cubic-bezier(.2,.7,.3,1);}
.hs-card img{border-radius:3px;transition:transform 1.1s cubic-bezier(.2,.7,.3,1);}
.icard:hover .pic img,.hs-card:hover img{transform:scale(1.05);}
.icard .lbl,.hs-card .cap{padding:12px 2px 0;text-align:center;background:none;}
.icard .lbl b,.hs-card .cap{font-family:var(--serif);font-size:11.5px;font-weight:400;
  letter-spacing:.1em;color:var(--price);line-height:1.7;}
.icard .lbl .inote{font-size:10.5px;color:var(--sub);letter-spacing:.04em;}

/* ---- 大きな写真：枠なしで全幅に近く ---- */
.finish,.rei-board{border-radius:3px;box-shadow:none;margin:0 0 26px;}
.mochi-photo,.ar-sec{margin-bottom:72px;}

/* ---- 説明文：小さめ・行間広め ---- */
.ar-lead,.mochi-note{font-family:var(--sans);font-size:11.5px;line-height:2.4;
  letter-spacing:.08em;color:var(--ink-soft);max-width:640px;margin:0 auto 40px;}

/* ---- ページ内リンク：線だけの静かなボタン ---- */
.jump{gap:0;margin:0 0 46px;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);}
.jump a{flex:1;text-align:center;border:none;border-radius:0;background:none;
  padding:15px 4px;font-size:11px;letter-spacing:.12em;color:var(--sub);
  border-right:1px solid var(--line);transition:color .3s ease;}
.jump a:last-child{border-right:none;}
.jump a:hover{color:var(--price);}
.genre-switch{margin:0 0 46px;text-align:center;}
.gs-btn{display:inline-block;border:none;border-bottom:1px solid var(--accent2);
  border-radius:0;background:none;padding:9px 4px;font-size:11.5px;
  letter-spacing:.14em;color:var(--price);}

/* ---- スクロール演出：下からゆっくり ---- */
.fade-up{opacity:0;transform:translateY(28px);
  transition:opacity 1.1s ease, transform 1.1s cubic-bezier(.2,.7,.3,1);}
.fade-up.shown{opacity:1;transform:none;}
.igrid .fade-up:nth-child(2n){transition-delay:.09s;}
.hs-grid .fade-up:nth-child(2n){transition-delay:.09s;}

@media(min-width:760px){
  .cat-index .ch-cap{padding:0 56px 56px;}
  .cat-index .ch-cap h1{font-size:30px;}
  .cat-index .ch-en{font-size:11px;}
  .cat-index .ch-lead{font-size:12.5px;}
  .cat-tag,.ar-h span{font-size:20px;}
  .igrid{gap:30px 20px;}
  .hs-grid{gap:30px 20px;}
  .icard .lbl b,.hs-card .cap{font-size:12.5px;}
  .jump a{font-size:11.5px;padding:17px 4px;}
  .igrid .fade-up:nth-child(3n+2){transition-delay:.09s;}
  .igrid .fade-up:nth-child(3n+3){transition-delay:.18s;}
}
@media(prefers-reduced-motion:reduce){
  .fade-up{transition:none;}
  .cat-index .ch-img{transform:none;transition:none;}
}

/* ===== ヘアセット：お子さま／大人の切り替え ===== */
.hs-tabs{display:flex;justify-content:center;gap:0;margin:0 0 44px;}
.hs-tab{appearance:none;background:none;border:none;cursor:pointer;
  padding:14px 34px 13px;position:relative;color:var(--sub);
  transition:color .35s ease;}
.hs-tab::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--line);}
.hs-tab.is-on::after{background:var(--accent2);height:1.5px;}
.hs-tab.is-on{color:var(--price);}
.ht-en{display:block;font-family:var(--en);font-size:9.5px;letter-spacing:.34em;
  margin-bottom:5px;opacity:.85;}
.ht-t{display:block;font-family:var(--serif);font-size:14px;letter-spacing:.16em;}
@media(min-width:760px){
  .hs-tab{padding:16px 52px 15px;}
  .ht-t{font-size:15.5px;}
}
.hs-panel[hidden]{display:none;}

/* ===== 簡単ヘアセット：お子さま／大人の切り替え ===== */
.hs-tabs{display:flex;justify-content:center;gap:0;margin:0 0 52px;
  border-bottom:1px solid var(--line);}
.hs-tab{flex:1;max-width:190px;background:none;border:none;cursor:pointer;
  padding:16px 8px 15px;position:relative;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  font-family:inherit;color:var(--sub);transition:color .35s ease;}
.hs-tab::after{content:'';position:absolute;left:50%;right:50%;bottom:-1px;height:1px;
  background:var(--accent2);transition:left .4s ease, right .4s ease;}
.hs-tab.is-on{color:var(--price);}
.hs-tab.is-on::after{left:0;right:0;}
.ht-en{font-family:var(--en);font-size:10px;letter-spacing:.34em;text-indent:.34em;}
.ht-t{font-family:var(--serif);font-size:14px;letter-spacing:.14em;}
.hs-tab:hover{color:var(--price);}

/* 日本髪などの補足：囲みをやめて静かに */
.hs-note{border:none;background:none;padding:0;margin:64px 0 0;text-align:center;}
.hs-note h3{font-family:var(--serif);font-size:14px;font-weight:400;letter-spacing:.12em;
  line-height:1.9;color:var(--price);margin:0 0 14px;}
.hs-note h3::before{content:'';display:block;width:1px;height:30px;
  background:var(--accent2);opacity:.6;margin:0 auto 18px;}
.hs-note p{font-size:11.5px;line-height:2.2;color:var(--ink-soft);margin:0 auto 6px;
  max-width:620px;letter-spacing:.06em;}
.hs-note .ref{margin:26px auto 0;max-width:420px;}
.hs-note .ref img{width:100%;height:auto;display:block;border-radius:3px;}

@media(min-width:760px){
  .ht-t{font-size:15.5px;}
  .ht-en{font-size:11px;}
  .hs-note h3{font-size:16px;}
}

/* ================================================================
   ご自前お持物リスト：囲みをやめ、衣装ページと同じ見せ方に
   ================================================================ */
/* チェックリストの開閉：枠と色地をやめ、細い線1本で区切る */
.mochi{margin:0 0 2px;border:none;border-radius:0;background:none;box-shadow:none;
  border-bottom:1px solid var(--line);overflow:visible;}
.mochi > summary{background:none;padding:20px 4px;}
.mochi > summary h2{font-family:var(--serif);font-size:14px;font-weight:400;
  letter-spacing:.14em;color:var(--price);}
.mochi > summary .cnt{font-family:var(--en);font-size:11px;letter-spacing:.14em;
  color:var(--sub);}
.mochi > summary .arw{color:var(--accent2);font-size:12px;}
.mochi ul{padding:2px 4px 22px;gap:0 24px;}
.mochi li{font-size:12px;line-height:1.9;color:var(--ink-soft);letter-spacing:.05em;
  padding:9px 0 9px 20px;border-bottom:1px solid rgba(200,195,185,.28);}
.mochi li::before{left:0;top:15px;width:5px;height:5px;border:none;border-radius:50%;
  background:var(--accent2);opacity:.75;}
.mochi li.note{font-size:11px;color:var(--sub);padding-left:0;border-bottom:none;}

/* 完成形の写真：枠・影・バッジ地をやめて写真だけ */
.finish{background:none;border:none;box-shadow:none;padding:0;max-width:520px;
  border-radius:0;margin:0 auto 34px;}
.finish img{border:none;border-radius:3px;}
.finish .badge{left:0;top:auto;bottom:-30px;background:none;color:var(--sub);
  font-family:var(--en);font-size:10px;letter-spacing:.3em;padding:0;border-radius:0;}

/* 見出し：左の太い線をやめ、中央に細い縦線 */
.mochi-photo .cat-head{border:none;padding:0;text-align:center;
  font-family:var(--serif);font-size:16px;font-weight:400;letter-spacing:.2em;
  text-indent:.2em;color:var(--price);margin:0 0 26px;}
.mochi-photo .cat-head::before{content:'';display:block;width:1px;height:30px;
  background:var(--accent2);opacity:.6;margin:0 auto 18px;}

/* ページ内リンクの背景帯をやめる */
.jump::before{display:none;}
.jump a:active{background:none;color:var(--price);}
.foot-back a{font-size:11.5px;letter-spacing:.1em;color:var(--sub);}
.inote{color:var(--sub);}

/* タブへ移動したときにヘッダーへ隠れないようにする */
.hs-tabs{scroll-margin-top:88px;}
.hs-panel{scroll-margin-top:88px;}

/* ================================================================
   ヒーロー写真をやめ、テキストの案内カードに
   ================================================================ */
.page-head{background:var(--soft);padding:52px 20px 46px;text-align:center;
  border-bottom:1px solid var(--line);}
.ph-inner{max-width:760px;margin:0 auto;}
.ph-en{font-family:var(--en);font-size:10px;letter-spacing:.42em;text-indent:.42em;
  color:var(--accent2);margin:0 0 14px;font-weight:500;}
.page-head h1{font-family:var(--serif);font-size:23px;font-weight:400;
  letter-spacing:.18em;text-indent:.18em;line-height:1.7;color:var(--price);margin:0;}
.page-head h1::after{content:'';display:block;width:34px;height:1px;
  background:var(--accent2);opacity:.7;margin:20px auto 0;}
.ph-lead{font-size:11.5px;line-height:2.2;letter-spacing:.06em;color:var(--ink-soft);
  margin:18px 0 0;}
.ph-lead .ln{display:block;}
@media(min-width:760px){
  .page-head{padding:70px 24px 62px;}
  .page-head h1{font-size:30px;}
  .ph-en{font-size:11px;}
  .ph-lead{font-size:12.5px;}
}

/* ================================================================
   ご自前お持物リスト：衣装ページと同じカード仕様に
   ================================================================ */
.igrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.icard{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;
  overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;}
.icard:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(120,130,140,.16);}
.icard .pic{position:relative;width:100%;padding-top:100%;overflow:hidden;background:#fff;}
.icard .pic img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;padding:8px;box-sizing:border-box;transition:none;}
.icard:hover .pic img{transform:none;}
.icard .lbl{padding:10px 8px 12px;text-align:center;background:none;}
.icard .lbl b{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.04em;
  color:var(--price);line-height:1.5;}
@media(min-width:760px){
  .igrid{grid-template-columns:repeat(4,1fr);gap:16px;}
  .icard .lbl b{font-size:13px;}
}
@media(max-width:380px){ .igrid{gap:10px;} }

/* 完成形の写真も衣装ページのカードと同じ枠に */
.finish{background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:10px;max-width:460px;margin:0 auto 34px;box-shadow:none;}
.finish img{border-radius:10px;}

/* ================================================================
   ヘアセット：キッズ・大人とも3列で大きく
   ================================================================ */
.hs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.hs-card img{aspect-ratio:auto;height:auto;object-fit:cover;}
@media(min-width:760px){ .hs-grid{grid-template-columns:repeat(3,1fr);gap:20px;} }
@media(max-width:380px){ .hs-grid{gap:7px;} }

/* ================================================================
   お持物リスト：種類を選ぶカード（やわらかい印象に）
   ================================================================ */
.kgrid{display:grid;grid-template-columns:1fr;gap:16px;margin:0 0 20px;}
.kcard{display:grid;grid-template-columns:118px 1fr;align-items:center;
  background:#fff;border:none;border-radius:20px;overflow:hidden;
  box-shadow:0 4px 18px rgba(140,150,160,.13);
  transition:transform .3s ease, box-shadow .3s ease;}
.kcard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(140,150,160,.2);}
.kc-ph{display:block;width:118px;height:118px;overflow:hidden;background:#fbfaf8;}
.kc-ph img{width:100%;height:100%;object-fit:contain;padding:8px;box-sizing:border-box;
  display:block;transition:transform .8s cubic-bezier(.2,.7,.3,1);}
.kcard:hover .kc-ph img{transform:scale(1.05);}
.kc-cap{display:block;padding:16px 18px;}
.kc-who{display:block;font-family:var(--en);font-size:9.5px;letter-spacing:.24em;
  color:var(--accent2);margin-bottom:6px;}
.kc-t{display:block;font-family:var(--serif);font-size:19px;font-weight:400;
  letter-spacing:.18em;color:var(--price);line-height:1.5;}
.kc-go{display:inline-block;font-size:10.5px;letter-spacing:.1em;color:var(--sub);
  margin-top:10px;padding-bottom:3px;border-bottom:1px solid var(--accent2);}
@media(min-width:760px){
  .kgrid{grid-template-columns:1fr 1fr;gap:22px;}
  .kc-t{font-size:21px;}
}
@media(min-width:1080px){ .kgrid{grid-template-columns:repeat(3,1fr);} }

/* 種類の切り替えリンク（各ページ上部） */
.kind-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin:0 0 44px;
  border-bottom:1px solid var(--line);}
.kind-nav a{flex:1;min-width:64px;text-align:center;padding:15px 4px;
  font-family:var(--serif);font-size:12px;letter-spacing:.1em;color:var(--sub);
  position:relative;transition:color .3s ease;}
.kind-nav a::after{content:'';position:absolute;left:50%;right:50%;bottom:-1px;height:1px;
  background:var(--accent2);transition:left .4s ease, right .4s ease;}
.kind-nav a.is-on{color:var(--price);}
.kind-nav a.is-on::after{left:0;right:0;}
.kind-nav a:hover{color:var(--price);}
@media(min-width:760px){ .kind-nav a{font-size:13.5px;padding:17px 6px;} }

/* ヘアセットの写真をもう少し大きく／スマホは2列 */
.hs-grid{grid-template-columns:1fr 1fr;gap:14px;}
@media(min-width:760px){ .hs-grid{grid-template-columns:repeat(3,1fr);gap:22px;} }

/* アレンジ着物：案内カードの背景に着用写真を薄く敷く */
.page-head{position:relative;overflow:hidden;isolation:isolate;}
.ph-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:center 32%;z-index:-1;opacity:.34;}
.page-head:has(.ph-bg){background:#fff;}
.page-head:has(.ph-bg)::after{content:'';position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.84));}
.page-head:has(.ph-bg) .ph-lead{color:var(--price);}

/* ===== お持物：種類の切り替えをボタンカードに ===== */
.kind-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:0 0 44px;}
.kbtn{display:block;background:#fff;border-radius:14px;overflow:hidden;text-align:center;
  box-shadow:0 3px 12px rgba(140,150,160,.12);
  transition:transform .3s ease, box-shadow .3s ease;}
.kbtn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(140,150,160,.2);}
.kb-ph{display:block;width:100%;padding-top:100%;position:relative;background:#fbfaf8;}
.kb-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  padding:7px;box-sizing:border-box;display:block;}
.kb-t{display:block;padding:8px 3px 10px;font-family:var(--serif);font-size:11px;
  letter-spacing:.06em;color:var(--sub);line-height:1.5;}
/* 現在ひらいている種類 */
.kbtn.is-on{box-shadow:0 4px 14px rgba(160,140,90,.24);}
.kbtn.is-on .kb-t{color:var(--price);font-weight:700;
  border-top:1px solid var(--accent2);margin:0 10px;padding-left:0;padding-right:0;}
@media(min-width:560px){
  .kind-cards{gap:12px;}
  .kb-t{font-size:12.5px;padding:10px 4px 12px;}
}
@media(min-width:900px){
  .kind-cards{gap:16px;max-width:760px;margin-left:auto;margin-right:auto;}
  .kb-t{font-size:13.5px;}
}


/* ===== ヘアセットのカード：衣装カードと同じ仕様に ===== */
.hs-card{display:block;position:relative;overflow:hidden;border-radius:14px;background:#fff;
  border:1px solid var(--line);box-shadow:0 3px 12px rgba(120,130,140,.12);margin:0;
  transition:transform .25s ease, box-shadow .25s ease;}
.hs-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(120,130,140,.18);}
.hs-card img{width:100%;height:auto;display:block;object-fit:cover;transition:none;}
.hs-card:hover img{transform:none;}
.hs-card .cap{display:block;padding:9px 10px 11px;text-align:center;background:none;
  font-family:var(--serif);font-size:13px;color:var(--price);line-height:1.5;}
.hs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
@media(min-width:760px){ .hs-grid{gap:16px;} .hs-card .cap{font-size:13.5px;} }
@media(max-width:380px){ .hs-grid{gap:8px;} .hs-card .cap{font-size:11.5px;padding:8px 6px 10px;} }

/* ヘアセット：スマホは2列で写真を大きく（PCは3列のまま） */
.hs-grid{grid-template-columns:1fr 1fr;gap:12px;}
@media(min-width:760px){ .hs-grid{grid-template-columns:repeat(3,1fr);gap:16px;} }

/* ===== アレンジ着物：説明文の下に着用写真を置く ===== */
.ar-lead-photo{max-width:640px;margin:0 auto 8px;border-radius:16px;overflow:hidden;
  box-shadow:0 5px 20px rgba(120,130,140,.16);}
.ar-lead-photo img{width:100%;height:auto;display:block;}

/* 見出しまわりの余白を詰める */
.ar-sec{margin-bottom:44px;}
.ar-h{margin:34px 0 18px;}
.ar-h::before{height:22px;margin-bottom:12px;}
#sg.ar-sec{margin-top:0;}
#sg .ar-h{margin-top:30px;}

/* ===== 振袖の写真：PC4列・スマホ3列 ===== */
.sg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.sg-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;
  overflow:hidden;box-shadow:0 3px 12px rgba(120,130,140,.12);
  transition:transform .25s ease, box-shadow .25s ease;}
.sg-grid figure:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(120,130,140,.18);}
.sg-grid img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;}
.sg-grid figcaption{padding:7px 4px 9px;text-align:center;font-family:var(--en);
  font-size:11px;letter-spacing:.1em;color:var(--sub);}
@media(min-width:760px){
  .sg-grid{grid-template-columns:repeat(4,1fr);gap:14px;}
  .sg-grid figcaption{font-size:12px;padding:9px 4px 11px;}
}
@media(max-width:380px){ .sg-grid{gap:6px;} }

/* ================================================================
   テキストのみの案内カード：枠線で囲み、ページごとに色を変える
   ================================================================ */
.page-head{background:none;border-bottom:none;padding:34px 16px 30px;}
.ph-inner{position:relative;max-width:760px;margin:0 auto;
  background:var(--ph-bg,#eef2f3);
  padding:44px 26px 42px;border-radius:2px;}
/* 内側に細い枠線を1本（添付のカードと同じ装飾） */
.ph-inner::before{content:'';position:absolute;inset:11px;
  border:1px solid var(--ph-line,rgba(160,180,186,.7));
  border-radius:1px;pointer-events:none;}
.ph-inner > *{position:relative;z-index:1;}

/* ページごとの色分け（区別しやすく、少し濃いめに） */
body.theme-sky   .ph-inner{--ph-bg:#e3edef;--ph-line:rgba(122,158,166,.75);}
body.theme-lav   .ph-inner{--ph-bg:#eae6f2;--ph-line:rgba(140,128,168,.7);}
body.theme-grey  .ph-inner{--ph-bg:#e7ebec;--ph-line:rgba(140,152,156,.7);}
body.theme-adult .ph-inner{--ph-bg:#ece7e2;--ph-line:rgba(168,150,132,.72);}

body.theme-sky   .ph-en{color:#5f8b93;}
body.theme-lav   .ph-en{color:#7d6fa0;}
body.theme-grey  .ph-en{color:#718186;}
body.theme-adult .ph-en{color:#96805f;}
body.theme-sky   .page-head h1::after{background:#7a9ea6;}
body.theme-lav   .page-head h1::after{background:#8c80a8;}
body.theme-grey  .page-head h1::after{background:#8c9498;}
body.theme-adult .page-head h1::after{background:#a89684;}

@media(min-width:760px){
  .page-head{padding:46px 20px 40px;}
  .ph-inner{padding:56px 40px 54px;}
  .ph-inner::before{inset:14px;}
}
@media(max-width:380px){
  .page-head{padding:24px 12px 22px;}
  .ph-inner{padding:36px 18px 34px;}
  .ph-inner::before{inset:9px;}
}
