/* ── hero-info（hero-description / hero-logo）───────────── */
.hero-info{width:100%;max-width:1440px;margin:0 auto;padding:40px 20px 50px;text-align:center;background:#fff}
.hero-info .hero-description{font-family:'Noto Serif JP',serif;font-weight:400;font-size:15px;line-height:30px;letter-spacing:-.15px;   word-break: auto-phrase;color:#000;max-width:362px;margin:0 auto}
.hero-info .hero-description p{margin:0}
.hero-info .hero-description br.u-sp-only{display:inline}
.hero-info .hero-logo{display:block;width:50px;height:auto;margin:24px auto 0}
.hero-info .hero-logo img{width:100%;height:auto;display:block}

@media(min-width:1100px){
  .hero-info{padding:50px 20px 60px}
  .hero-info .hero-description{max-width:1340px}
  .hero-info .hero-description br.u-sp-only{display:none}
  .hero-info .hero-logo{width:61px;margin-top:30px}
}

/* 共通コンポーネント：overlay-button-black / check-button（複数セクションで再利用） */
.overlay-button-black{display:block;position:absolute;right:10px;bottom:5px;width:77px;height:60px;padding:0;margin:0;border:0;background:none;line-height:0;cursor:pointer;z-index:3}
.overlay-button-black img{width:100%;height:100%;display:block}

.overlay-button-black.check-button4{right:30px;bottom:15px;width:130px;height:40px;}
.overlay-button-black.check-button5{right:0;bottom:0;width:90px;height:40px;}
/* THE STORE by C'：写真に被らないよう、写真の下に配置 */
.overlay-button-black.check-button5--below{position:static;align-self:flex-end;margin-top:-20px}

.check-button{display:block;width:100%;max-width:240px;padding:0;margin:0;border:0;background:none;line-height:0;cursor:pointer;transition:opacity .3s}
.check-button:hover{opacity:.6}
.check-button img{width:100%;height:auto;display:block}

@media(min-width:1100px){
  .overlay-button-black{width:90px;height:70px}
}

@media(max-width:767.9px){
  .overlay-button-black.check-button4{right:10px;bottom:5px;width:98px;height:30px;}
}

/* 共通コンポーネント：photo_modal（写真拡大オーバーレイ、全セクション共通で再利用） */
[data-photo-modal-target]{cursor:pointer}
html.is-photo_modal-open,body.is-photo_modal-open{overflow:hidden}
.photo_modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;opacity:0;pointer-events:none;overscroll-behavior:contain;transition:opacity .3s ease}
.photo_modal.is-active{display:flex;opacity:1;pointer-events:auto}
.photo_modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);overscroll-behavior:contain}
/* Safari対策：panelがbodyより低いと角丸clip内で写真が下にはみ出るため、両者のmax-heightを揃える */
.photo_modal-panel{position:relative;width:700px;max-width:80vw;max-height:min(760px,88vh);max-height:min(760px,88dvh);overflow:hidden;background:#fff;border-radius:20px;opacity:0;transform:scale(.8);transition:all .3s ease}
.photo_modal.is-active .photo_modal-panel{animation:photoModalFadeInScale .4s ease forwards}
@keyframes photoModalFadeInScale{
  0%{opacity:0;transform:scale(.8)}
  100%{opacity:1;transform:scale(1)}
}
.photo_modal-close{position:absolute;top:10px;right:5px;width:40px;height:40px;padding:10px;margin:0;border:0;background:none;cursor:pointer;z-index:2;mix-blend-mode:multiply;opacity:.6}
.photo_modal-close img{width:100%;height:100%;display:block}
.photo_modal-body{max-height:min(760px,88vh);max-height:min(760px,88dvh);overflow-y:auto;overscroll-behavior:contain;padding:0 40px 40px 40px}
.photo_modal-body::-webkit-scrollbar{width:8px}
.photo_modal-body::-webkit-scrollbar-track{background:#fff}
.photo_modal-body::-webkit-scrollbar-thumb{background:#999;border-radius:999px}
.photo_modal-header{display:flex;flex-direction:column;align-items:flex-start;gap:15px;height:fit-content;justify-content:center;margin-bottom:30px}
.photo_modal-floor{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:120px;height:30px;background:#000;color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:12px;letter-spacing:.05em;text-align:center}
.photo_modal-brand{margin:0;font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:28px;color:#000;text-decoration:underline}
.photo_modal-brand:visited{color:#000}
.photo_modal-brand:hover{color:#A28467;text-decoration:none}
.sup-size-14{font-size:140%;vertical-align:-2px}
.photo_modal-hero{width:100%;overflow:hidden}
.photo_modal-hero img{width:100%;height:auto;display:block}
.photo_modal-description{margin:30px 0 0;font-family:'Noto Sans JP',sans-serif;font-size:13px;line-height:1.62;color:#000;white-space:pre-wrap}
/* 複数枚写真：scroll-snapで横スクロール表示 */
.photo_modal-swiper{width:87%;margin:30px auto 0;overflow-x:auto;overflow-y:hidden;display:flex;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.photo_modal-swiper::-webkit-scrollbar{height:6px}
.photo_modal-swiper::-webkit-scrollbar-track{background:#fff}
.photo_modal-swiper::-webkit-scrollbar-thumb{background:#999;border-radius:999px}
.photo_modal-swiper-slide{flex:0 0 100%;scroll-snap-align:start}
.photo_modal-swiper-slide img{width:100%;height:100%;object-fit:cover;display:block}

/* item-07・08（写真3枚）：slick.js導入。高さはJSで実写真比率から算出 */
.photo_modal-swiper.slick-initialized{display:block;overflow:visible;background:#fff}
.photo_modal-swiper.slick-initialized .slick-list,
.photo_modal-swiper.slick-initialized .slick-track,
.photo_modal-swiper.slick-initialized .slick-slide,
.photo_modal-swiper.slick-initialized .slick-slide>div{height:100%}
.photo_modal-swiper.slick-initialized .slick-slide img{width:100%;height:100%;object-fit:contain;display:block}
/* 縦写真（.is-portrait）は幅を絞りセンター表示 */
.photo_modal-swiper.slick-initialized .slick-slide img.is-portrait{width:77%;margin:0 auto}
.photo_modal-swiper .slick-arrow{width:5.3%;height:100%;top:0;margin:0;padding:0;transform:none;background:none;z-index:1}
.photo_modal-swiper .slick-prev{left:-7.07%}
.photo_modal-swiper .slick-next{right:-7.07%}
.photo_modal-swiper .slick-prev:before,.photo_modal-swiper .slick-next:before{
  content:'';
  display:block;
  width:100%;
  height:100%;
  opacity:1;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 52'%3E%3Cpath d='M6 4 L22 26 L6 48' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 50% calc(50% + 6px)/55% 52%;
}
.photo_modal-swiper .slick-prev:before{transform:scaleX(-1)}
.photo_modal-swiper .slick-dots{display:none}
.photo_modal-swiper_counter{margin:5px 0 0;font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.316;color:#000;text-align:center}

/* brand_story専用オーバーレイ本文のレイアウト */
.photo_modal-brand_story .photo_modal-header{margin-bottom:30px}
.photo_modal-brand_story-title{margin:0 0 30px;font-family:'Noto Serif JP',serif;font-weight:900;font-size:18px;line-height:1.3;color:#000}
.photo_modal-brand_story-text{margin:0 0 20px;font-family:'Noto Sans JP',sans-serif;font-size:13px;line-height:1.62;color:#000;white-space:pre-wrap}
.photo_modal-brand_story-photo{margin:0 3px 20px;aspect-ratio:640/430;overflow:hidden}
.photo_modal-brand_story-photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo_modal-brand_story-photo:last-child{margin-bottom:0}
#photo_modal-brand_story .photo_modal-panel{background:#e3d7b7}
#photo_modal-brand_story .photo_modal-body::-webkit-scrollbar-track{background:#e3d7b7}

@media(min-width:768px){
  .photo_modal-panel{width:500px;max-width:80vw;max-height:min(700px,92vh)}
  .photo_modal-body{max-height:min(700px,92vh)}
}

/* Safari（Mac/iPhone共通）は角丸パネルからスクロールバーがはみ出て見えるため非表示にする */
/* jsでUA判定し、html.is-safariで対応 */
html.is-safari .photo_modal-body{scrollbar-width:none;-ms-overflow-style:none}
html.is-safari .photo_modal-body::-webkit-scrollbar{display:none}

/* fall_edit（2026 THE FALL EDIT）：Desktop/iPhone共通DOM、Flexで並び替え・反転 */
.fall_edit{position:relative;max-width:1126px;margin:0 auto;padding:100px 0 0;overflow:hidden}
.fall_edit-title{max-width:260px;margin:0 auto 50px;position:relative;z-index:1}
.fall_edit-title img{width:100%;height:auto;display:block}

/* 秋あしらいデコ：Desktop7点／iPhone2点で点数が異なるため出し分け */
.fall_edit-deco{position:absolute;width:var(--w);height:var(--h);top:var(--top,auto);left:var(--left,auto);right:var(--right,auto);bottom:var(--bottom,auto);pointer-events:none;z-index:0}
.fall_edit-deco.u-sp-only{display:block}
.fall_edit-deco.u-pc-only{display:none}

.fall_edit-list{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:0;max-width:768px;margin:0 auto}

/* iPhone：info_groupの左右位置はアイテムごとに変則（01中央・06右寄せ） */
.fall_edit_item{display:flex;flex-direction:column;align-items:flex-start;gap:20px;width:100%;margin-top:var(--mt,0)}
.fall_edit_item-01{align-items:center}
.fall_edit_item-06{align-items:flex-end}

/* iPhone：アイテム幅・位置もアイテムごとに変則 */
.fall_edit_item-02{width:90.07%;align-self:flex-end}
.fall_edit_item-03{width:89.83%;align-self:center}
.fall_edit_item-04{width:90.07%;align-self:center}
.fall_edit_item-05{width:90.07%;align-self:flex-end}
.fall_edit_item-06{width:90.07%;align-self:flex-start}
.fall_edit_item-07{width:90.07%;align-self:flex-end}
.fall_edit_item-08{width:90.07%;align-self:center}

@media(max-width:767.9px){
.fall_edit_item-02{margin-right:-10%;}
.fall_edit_item-03{margin-left:10%;}
.fall_edit_item-04{margin-left:10%;}
.fall_edit_item-05{margin-right:-10%;}
.fall_edit_item-06{margin-left: -9%;}
.fall_edit_item-08{margin-left: 10%;}
}

/* 写真サイズ90%に縮小（お試し・戻す場合は100%へ） */
.fall_edit_item-photo{position:relative;width:90%;aspect-ratio:var(--ar);overflow:hidden;flex-shrink:0}
/* 04：写真が縦長に変更されたため実寸比率に合わせる */
.fall_edit_item-04 .fall_edit_item-photo{aspect-ratio:1292/1680}
.fall_edit_item-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--pos);display:block;transition:transform .3s ease}
.fall_edit_item-photo:hover img{transform:scale(1.1)}

/* catch位置はinline styleでアイテムごとに指定 */
/* 白枠はborder-radiusで再現（左右非対称に切れ目あり） */
.fall_edit_item-catch{position:absolute;left:var(--catch-l,auto);top:var(--catch-t,auto);right:var(--catch-r,auto);bottom:var(--catch-b,auto);z-index:2;pointer-events:none;width:34px;display:flex;justify-content:center;padding:22px 0;box-sizing:border-box}
.fall_edit_item-catch_cap-top,.fall_edit_item-catch_cap-bottom,.fall_edit_item-catch_rail-left,.fall_edit_item-catch_rail-right{position:absolute;left:0;width:100%;box-sizing:border-box}
.fall_edit_item-catch_cap-top{top:0;height:36px;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #fff;border-radius:17px 17px 0 0}
.fall_edit_item-catch_cap-bottom{bottom:0;height:36px;border-bottom:1px solid #fff;border-right:1px solid #fff;border-left:1px solid #fff;border-radius:0 0 17px 17px}
.fall_edit_item-catch_rail-left{top:36px;bottom:48px;border-left:1px solid #fff}
.fall_edit_item-catch_rail-right{top:48px;bottom:17px;border-right:1px solid #fff}
.fall_edit_item-catch_text{writing-mode:vertical-rl;color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:300;letter-spacing:.05em;line-height:1;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.5)}

/* 06 SHIPS・07 GALERIE VIE：枠線とテキストを白から黒に変更 */
.fall_edit_item-06 .fall_edit_item-catch_cap-top,.fall_edit_item-07 .fall_edit_item-catch_cap-top,
.fall_edit_item-06 .fall_edit_item-catch_cap-bottom,.fall_edit_item-07 .fall_edit_item-catch_cap-bottom{border-color:#000}
.fall_edit_item-06 .fall_edit_item-catch_rail-left,.fall_edit_item-07 .fall_edit_item-catch_rail-left{border-left-color:#000}
.fall_edit_item-06 .fall_edit_item-catch_rail-right,.fall_edit_item-07 .fall_edit_item-catch_rail-right{border-right-color:#000}
.fall_edit_item-06 .fall_edit_item-catch_text,.fall_edit_item-07 .fall_edit_item-catch_text{color:#000;text-shadow:none}

/* info_groupは可変幅（最低240px＝check-button幅） */
.fall_edit_item-info_group{width:fit-content;min-width:240px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.fall_edit_item-01 .fall_edit_item-info_group {width:100%;padding-left:5%;}
/* 06のみiPhoneで右揃え（Desktopは左揃えに戻す） */
.fall_edit_item-text_group{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}
.fall_edit_item-06 .fall_edit_item-text_group{align-items:flex-end;text-align:right}
.fall_edit_item-brand{white-space:nowrap;font-family:'Noto Sans JP',sans-serif;font-size:18px;letter-spacing:.05em}
.fall_edit_item-name_price{white-space:nowrap;font-family:'Noto Sans JP',sans-serif;font-size:13px;line-height:2}
.fall_edit_item-name_price p{margin:0}

@media(min-width:768px){
  .fall_edit{padding:40px 20px 0}
  .fall_edit-title{max-width:407px;margin:0 auto 100px}
  .fall_edit-deco.u-sp-only{display:none}
  .fall_edit-deco.u-pc-only{display:block}

  /* 縦位置はアイテムごとにmargin-top（--mt-d）で個別指定 */
  .fall_edit-list{align-items:flex-start;max-width:1086px;gap:0}

  .fall_edit_item{flex-direction:row;align-items:center;max-width:none;width:auto;gap:30px;margin-top:var(--mt-d,0)}
  /* 左右入替アイテムはrow-reverse＋右寄せ */
  .fall_edit_item--reverse{flex-direction:row-reverse;align-self:flex-end}
  /* 05はDesktopのみセンター表示 */
  .fall_edit_item-05{align-self:center}
  /* iPhone専用の幅・位置指定をDesktopで解除 */
  .fall_edit_item-03,.fall_edit_item-08{align-self:flex-start}
  /* 06の右揃えはiPhoneのみ、Desktopは左揃えに戻す */
  .fall_edit_item-06 .fall_edit_item-text_group{align-items:flex-start;text-align:left}

  .fall_edit_item-photo{width:calc(var(--w-d) * .9);aspect-ratio:auto;height:calc(var(--h-d) * .9)}
  .fall_edit_item-photo img{object-position:var(--pos-d,var(--pos))}
  .fall_edit_item-catch{
    left:var(--catch-l-d,var(--catch-l,auto));
    top:var(--catch-t-d,var(--catch-t,auto));
    right:var(--catch-r-d,var(--catch-r,auto));
    bottom:var(--catch-b-d,var(--catch-b,auto));
  }
  .fall_edit_item-catch_text{font-size:16px}
}

/* 768〜1099px：zoomで1100px基準に縮小、文字はfont-scaleで90%以上を保持（Firefox対策はosampo2026AW.js参照） */
@media(min-width:768px) and (max-width:1099.98px){
  .fall_edit{
    --scale:clamp(calc(768px / 1100px),calc(100vw / 1100px),1);
    --font-scale:clamp(.9,calc(.9 + .1 * (100vw - 768px) / (1100px - 768px)),1);
    zoom:var(--scale);
  }
  .fall_edit_item-brand{font-size:calc(18px * var(--font-scale) / var(--scale))}
  .fall_edit_item-name_price{font-size:calc(13px / var(--scale))}
}

/* 共通コンポーネント：outer-cta（View Photosボタン） */
.outer-cta{display:block;width:100%;max-width:180px;height:30px;padding:0;margin:0;border:0;background:#fff;position:relative;text-align:left;cursor:pointer}
.outer-cta_label{position:absolute;left:0;bottom:2px;font-family:'Noto Serif JP',serif;font-weight:500;font-size:14px;letter-spacing:.09em;color:#000}
.outer-cta_icon{position:absolute;left:0;bottom:0;width:100%;height:auto;display:block}

@media(min-width:1100px){
  .outer-cta{height:40px}
  .outer-cta_label{font-size:16px;letter-spacing:1.44px;bottom:3px}
}

/* outer_start（秋はアウターからはじまる）：Desktop/iPhone共通DOM */
.outer_start{position:relative;max-width:1126px;margin:100px auto 0;padding:212px 0 0;overflow:hidden}
/* モバイルはタイトルを絶対配置でオーバーレイ、飾り画像（outer_start-deco-sp-01）を横に添える */
.outer_start-title{position:absolute;top:12px;left:0;right:0;width:360px;max-width:none;margin:0 auto;padding-right:160px;z-index:2}
.outer_start-title img{width:200px;height:auto;display:block}
.outer_start-deco-sp-01{display:block;position:absolute;top:0;left:55%;width:160px;height:172px;opacity:.4;z-index:1;pointer-events:none}

.outer_start-main_sub{display:flex;flex-direction:column;gap:60px;margin-bottom:60px}

.outer_start_main,.outer_start_sub{display:flex;flex-direction:column;align-items:center;gap:24px}
.outer_start_sub{width:100%;margin-inline: auto;}
/* 写真サイズ90%に縮小（お試し・戻す場合は100%へ） */
.outer_start_main-photo_group,.outer_start_sub-photo_group{position:relative;width:90%;aspect-ratio:var(--ar);overflow:hidden;padding:0;border:0;background:none;display:block}
.outer_start_main-photo_group img,.outer_start_sub-photo_group img{width:100%;height:100%;object-fit:cover;object-position:var(--pos);display:block;transition:transform .3s ease}
.outer_start_main-photo_group:hover img,.outer_start_sub-photo_group:hover img{transform:scale(1.1)}
.outer_start_main-photo_group{width:90%;height:100%;aspect-ratio: 4 / 5;}

.outer_start_main-catch,.outer_start_sub-catch{position:absolute;right:6%;top:5%;z-index:2;pointer-events:none}
.outer_start_main-catch_text,.outer_start_sub-catch_text{writing-mode:vertical-rl;color:#000;font-family:'Noto Sans JP',sans-serif;font-size:14px;letter-spacing:.05em;line-height:1.4;white-space:nowrap}

/* Safari対策：モバイルのみ2行になるsubキャッチは幅未指定だと右にはみ出て見切れる */
@media(max-width:767.9px){
  .outer_start_sub-catch{width:40px}
  /* mainキャッチが右端に寄りすぎるため20px分余白を追加 */
  .outer_start_main-catch{right:calc(6% + 20px)}
}

/* main/sub-infoは左揃え（align-items指定が必要） */
.outer_start_main-info,.outer_start_sub-info{width:100%;min-width:180px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.outer_start_main-info{padding-left:5%;}
.outer_start_sub-info{padding-left:5%;}
.outer_start_main-brand,.outer_start_sub-brand{white-space:nowrap;font-family:'Noto Sans JP',sans-serif;font-size:18px}
.outer_start_main-name_price,.outer_start_sub-name_price{white-space:nowrap;font-family:'Noto Sans JP',sans-serif;font-size:13px;line-height:2}
.outer_start_main-name_price p,.outer_start_sub-name_price p{margin:0}

/* outer_start_note：装飾は書き出し画像を使用 */
.outer_start_note{position:relative;padding:60px 0}
.outer_start_note-bg-02{position:absolute;inset:0 0 0 10px;width:100%;height:100%;z-index:0;pointer-events:none}
.outer_start-deco{position:absolute;width:var(--w);height:var(--h);top:var(--top);left:var(--left,auto);right:var(--right,auto);pointer-events:none;z-index:0}
.outer_start-deco.u-sp-only{display:block}
.outer_start-deco.u-pc-only{display:none}

.outer_start_note-list{position:relative;z-index:1;display:flex;flex-direction:column;align-items: center; gap:40px}
.outer_start_note-col{display:contents}

.outer_start_note_item-03{order:1}
.outer_start_note_item-01{order:2}
.outer_start_note_item-02{order:3}

.outer_start_note_item{display:flex;flex-direction:column;gap:16px;width:100%;max-width:var(--w-sp,100%)}
/* 写真サイズ90%に縮小（お試し・戻す場合は100%へ） */
/* Safari：aspect-ratio+paddingの組み合わせで写真下端が欠けるため、paddingではなくimg側の高さ調整で上に40pxの装飾スペースを確保 */
.outer_start_note_item-photo_group{position:relative;width:90%;aspect-ratio:var(--ar);overflow:hidden;padding:0;border:0;background:none;display:block}
.outer_start_note_item-photo_group img.outer_start_note_item-photo{width:100%;height:calc(100% - 40px);margin-top:40px;object-fit:cover;object-position:var(--pos);display:block;transition:transform .3s ease}
.outer_start_note_item-photo_group:hover img.outer_start_note_item-photo{transform:scale(1.04)}

/* catchは横書き2行＋装飾ライン、位置はinline styleで指定 */
.outer_start_note_item-catch{position:absolute;left:var(--catch-l,auto);top:var(--catch-t,auto);right:var(--catch-r,auto);bottom:var(--catch-b,auto);z-index:2;pointer-events:none}
.outer_start_note_item-catch_text{display:block;color:#000;font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:20px;letter-spacing:.05em}
.outer_start_note_item-catch_line{position:absolute;left:var(--line-l,auto);top:var(--line-t,auto);right:var(--line-r,auto);bottom:var(--line-b,auto);width:var(--line-w);height:var(--line-h);z-index:2;pointer-events:none;display:block}
/* 02・03はiPhoneのみ左右反転 */
.outer_start_note_item-catch_line--flip{transform:scaleX(-1)}

.outer_start_note_item-info{width:100%;text-align:left}
/* 01のみiPhoneで右揃え */
.outer_start_note_item-01 .outer_start_note_item-info{text-align:right}
.outer_start_note_item-brand{font-family:'Noto Sans JP',sans-serif;font-size:18px}
.outer_start_note_item-name_price{font-family:'Noto Sans JP',sans-serif;font-size:13px}

@media(min-width:768px){
  .outer_start{margin:0 auto;padding:150px 20px 0}
  /* titleはDesktopでposition:absolute配置（実測座標） */
  .outer_start-title{position:absolute;top:150px;left:20px;width:317px;max-width:none;margin:0;padding-right:0;z-index:2}
  .outer_start-title img{width:100%}
  /* 飾り画像はモバイル専用 */
  .outer_start-deco-sp-01{display:none}
  .outer_start-main_sub{max-width:100%;margin:0 auto 80px 0}

  .outer_start_main,.outer_start_sub{flex-direction:row;align-items:flex-end;gap:30px}
  .outer_start_sub{width:100%;}
  .outer_start_main{flex-direction:row-reverse}
  .outer_start_main-photo_group,.outer_start_sub-photo_group{width:calc(var(--w-d) * .9);aspect-ratio:auto;height:calc(var(--h-d) * .9);flex-shrink:0}
  /* info幅はmain=200px／sub=311px */
  .outer_start_main-info{padding-left:0;width:fit-content}
  .outer_start_sub-info{padding-left:0;width:311px}

  .outer_start_note{max-width:1086px;margin:0 auto;padding-left: 90px;padding-right: 30px;}
  .outer_start_note-bg-02{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
  .outer_start-deco.u-sp-only{display:none}
  .outer_start-deco.u-pc-only{display:block}

  .outer_start_note-list{flex-direction:row;align-items:flex-start;gap:90px}
  .outer_start_note-col{display:flex;flex-direction:column;gap:37px}
  .outer_start_note-col--b{margin-top:171px}
  .outer_start_note_item{width:420px;max-width:none}

  .outer_start_note_item-catch{
    left:var(--catch-l-d,var(--catch-l,auto));
    top:var(--catch-t-d,var(--catch-t,auto));
    right:var(--catch-r-d,var(--catch-r,auto));
    bottom:var(--catch-b-d,var(--catch-b,auto));
  }
  .outer_start_note_item-catch_line{
    left:var(--line-l-d,var(--line-l,auto));
    top:var(--line-t-d,var(--line-t,auto));
    right:var(--line-r-d,var(--line-r,auto));
    bottom:var(--line-b-d,var(--line-b,auto));
    width:var(--line-w-d);height:var(--line-h-d);
  }
  .outer_start_note_item-catch_line--flip{transform:none}
  /* 01の右揃えはiPhoneのみ、Desktopは左揃えに戻す */
  .outer_start_note_item-01 .outer_start_note_item-info{text-align:left}

  .outer_start_note_item-photo_group{width:90%;}
}

/* 768〜1099px：zoomで1100px基準に縮小、brand系は最低90%・price系は100%を保持 */
@media(min-width:768px) and (max-width:1099.98px){
  .outer_start{
    --scale:clamp(calc(768px / 1100px),calc(100vw / 1100px),1);
    --font-scale:clamp(.9,calc(.9 + .1 * (100vw - 768px) / (1100px - 768px)),1);
    zoom:var(--scale);
  }
  .outer_start_main-brand,.outer_start_sub-brand,.outer_start_note_item-brand{font-size:calc(18px * var(--font-scale) / var(--scale))}
  .outer_start_main-name_price,.outer_start_sub-name_price,.outer_start_note_item-name_price{font-size:calc(13px / var(--scale))}
  .outer_start_note-list{gap:7vw}
}

.fall_pick_item-hotspot_number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1;pointer-events:none;z-index:1}

/* fall_pick（"好き"で仕上げる秋）：items1-2/5-6はDesktopで写真共有、3-4は個別写真 */
.fall_pick{position:relative;max-width:1000px;margin:0 auto;padding:90px 20px 0;background:#fff}

.fall_pick-photo_duo{display:none;position:relative;width:100%;aspect-ratio:var(--ar);overflow:hidden;margin-bottom:10px}
.fall_pick-photo_duo img.photo{width:100%;height:100%;object-fit:cover;object-position:var(--pos);display:block}

.fall_pick-title{position:absolute;left:var(--title-l,auto);top:var(--title-t,auto);right:var(--title-r,auto);bottom:var(--title-b,auto);width:var(--title-w);pointer-events:none}
.fall_pick-title img{width:100%;height:auto;display:block}

.fall_pick-duo{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}
.fall_pick_item{display:flex;flex-direction:column;gap:10px}

.fall_pick_item-photo{position:relative;width:100%;aspect-ratio:var(--ar);overflow:hidden}
.fall_pick_item-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--pos);display:block}

.fall_pick_item-hotspot{position:absolute;left:var(--h-l,auto);top:var(--h-t,auto);right:var(--h-r,auto);bottom:var(--h-b,auto);width:40px;height:40px}
/* hotspot「1」のみ当たり判定枠が異なる（48×52px） */
.fall_pick_item-hotspot--wide{width:48px;height:52px}
.fall_pick_item-hotspot--wide .fall_pick_item-hotspot_number{inset:0 auto auto 0;width:40px;height:40px}
/* ボタン画像を廃止し数字のみのクリックエリアにしたもの：40×40・枠線・中央配置 */
.fall_pick_item-hotspot--wide .fall_pick_item-hotspot_number.fall_pick_item-hotspot_number--boxed{inset:0;margin:auto;width:30px;height:30px;border:1px solid currentColor;box-sizing:border-box}
.fall_pick_item-hotspot_number--dark{color:#000}

@media(max-width:767.9px){
  .fall_pick_item-hotspot--wide .fall_pick_item-hotspot_number.fall_pick_item-hotspot_number--boxed{width:20px;height:20px;font-size: 12px;}
}

/* item1・2・5・6は透明クリックエリアを個別追加（アクセシビリティ対応） */
.fall_pick_item-hotspot-01,
.fall_pick_item-hotspot-02,
.fall_pick_item-hotspot-05,
.fall_pick_item-hotspot-06{display:block;position:absolute;z-index:2;border:0;padding:0;margin:0;background:none;cursor:pointer}
.fall_pick_item-hotspot-01{width:412px;height:245px;top:260px;left:125px}
.fall_pick_item-hotspot-02{width:220px;height:400px;top:90px;right:180px}
.fall_pick_item-hotspot-05{width:300px;height:200px;top:40px;left:90px}
.fall_pick_item-hotspot-06{width:300px;height:400px;top:50px;right:130px}

.fall_pick_item-info{display:flex;flex-direction:column;gap:10px}
.fall_pick_item-catch{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:15px;line-height:1.4}
.fall_pick_item-brand{font-family:'Noto Sans JP',sans-serif;font-size:18px}
.fall_pick_item-name_price{font-family:'Noto Sans JP',sans-serif;font-size:13px}

/* items1-2はモバイルもPCと同じ共有写真に変更（戻す場合はこのブロック削除） */
@media(max-width:767.9px){
  .fall_pick-photo_duo.fall_pick-photo_duo--0102{display:block;aspect-ratio:1.4}
  .fall_pick-photo_duo--0102 .fall_pick-title{width:70%}
  .fall_pick-photo_duo--0102 .fall_pick_item-hotspot-01{width:42vw;height:22vw;top:auto;bottom:8vw;left:12vw}
  .fall_pick-photo_duo--0102 .fall_pick_item-hotspot[data-photo-modal-target="fall_pick_item-01"]{left:5vw;bottom:4vw}
  .fall_pick-photo_duo--0102 .fall_pick_item-hotspot-02{width:23vw;height:48vw;top:auto;bottom:6vw;right:5vw}
  .fall_pick-photo_duo--0102 .fall_pick_item-hotspot[data-photo-modal-target="fall_pick_item-02"]{right:3vw;top:2vw;bottom:auto}
  .fall_pick_item-01 .fall_pick_item-photo,
  .fall_pick_item-02 .fall_pick_item-photo{display:none}

  .fall_pick-photo_duo.fall_pick-photo_duo--0506{display:block;aspect-ratio:1.8}
  .fall_pick-photo_duo--0506 .fall_pick_item-hotspot-05{width:30vw;height:18vw;top:40px;left:40px}
  .fall_pick-photo_duo--0506 .fall_pick_item-hotspot[data-photo-modal-target="fall_pick_item-05"]{left:32vw;top:2vw}
  .fall_pick-photo_duo--0506 .fall_pick_item-hotspot-06{width:32vw;height:38vw;top:auto;bottom:20px;right:6vw}
  .fall_pick-photo_duo--0506 .fall_pick_item-hotspot[data-photo-modal-target="fall_pick_item-06"]{right:2vw;top:2vw;bottom:auto}
  .fall_pick_item-05 .fall_pick_item-photo,
  .fall_pick_item-06 .fall_pick_item-photo{display:none}
}

@media(min-width:768px){
  .fall_pick{padding:140px 20px 0}

  .fall_pick-photo_duo.u-pc-only{display:block}
  .fall_pick_item-photo.u-sp-only{display:none}

  .fall_pick-duo{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;margin-bottom:40px}
  .fall_pick_item{display:contents}

  /* items3-4：写真とinfoを2列に明示配置 */
  .fall_pick-duo--split{column-gap:4px;row-gap:6px}
  .fall_pick_item-03 .fall_pick_item-photo{grid-column:1;grid-row:1}
  .fall_pick_item-03 .fall_pick_item-info{grid-column:1;grid-row:2;padding-right:20px}
  .fall_pick_item-04 .fall_pick_item-photo{grid-column:2;grid-row:1}
  .fall_pick_item-04 .fall_pick_item-info{grid-column:2;grid-row:2}

  .fall_pick_item-hotspot_number{font-size:18px}

  /* items3-4：ホットスポット位置のみブレークポイントで上書き */
  .fall_pick_item-hotspot{
    left:var(--h-l-d,var(--h-l,auto));
    top:var(--h-t-d,var(--h-t,auto));
    right:var(--h-r-d,var(--h-r,auto));
    bottom:var(--h-b-d,var(--h-b,auto));
  }
}

/* 768〜1099px：zoomで1100px基準に縮小、brand・catchは最低90%・priceは100%を保持 */
@media(min-width:768px) and (max-width:1099.98px){
  .fall_pick{
    --scale:clamp(calc(768px / 1100px),calc(100vw / 1100px),1);
    --font-scale:clamp(.9,calc(.9 + .1 * (100vw - 768px) / (1100px - 768px)),1);
    zoom:var(--scale);
  }
  .fall_pick_item-catch{font-size:calc(15px * var(--font-scale) / var(--scale))}
  .fall_pick_item-brand{font-size:calc(18px * var(--font-scale) / var(--scale))}
  .fall_pick_item-name_price{font-size:calc(13px / var(--scale))}
}

@media(max-width:767.9px){
    .fall_pick_item.fall_pick_item-01{margin-inline:-20px;}
    .fall_pick_item.fall_pick_item-01 .fall_pick_item-info {padding-inline: 20px;}
}

/* true_standard（Vol.15／定番アイテム17点）：01=タイトルと1組、02/05/10/17=wide、03/04/06-09/12/13/15/16=square、11/14=tall、03-04・06-09・11-16はDesktopのみ2列マソンリー */
.true_standard{position:relative;max-width:1000px;margin:0 auto;padding:90px 20px 0}
.true_standard-list{display:flex;flex-direction:column;gap:30px}

.true_standard-title{width:100%;max-width:320px;margin:0 auto}
.true_standard-title_logo{width:100%;aspect-ratio:320/130;margin-bottom:20px;overflow:hidden}
.true_standard-title_logo img{width:100%;height:100%;object-fit:cover;display:block}
.true_standard-title_meta{position:relative;display:flex;align-items:center;gap:20px;min-height:65px;padding:10px 0;border-top:1px solid #808080;border-bottom:1px solid #808080}
.true_standard-title_vol{margin:0;flex:0 0 auto;position:relative;padding-right:20px;font-family:'Old Standard TT','Noto Serif JP',serif;font-style:italic;font-size:18px;text-align:center}
.true_standard-title_vol::after{content:"";position:absolute;top:-10px;right:0;bottom:-10px;width:1px;background:#000}
.true_standard-title_tagline{margin:0;font-family:'Noto Serif JP',serif;font-size:16px;line-height:24px;text-transform:uppercase}

/* ── アイテム共通（写真・catch・detail）───────────────────── */
.true_standard_item-photo_group{position:relative;overflow:hidden;display:block;padding:0;border:0;background:none}
.true_standard_item-photo_group img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);display:block;transition:transform .3s ease}
.true_standard_item-photo_group:hover img{transform:scale(1.1)}

/* モバイルは%指定、デスクトップはpx固定値（--catch-*-d）に切替 */
.true_standard_item-catch{position:absolute;left:var(--catch-l,auto);top:var(--catch-t,auto);right:var(--catch-r,auto);bottom:var(--catch-b,auto);z-index:2;pointer-events:none;font-size:14px;line-height:1}
.true_standard_item-catch_text{writing-mode:vertical-rl;color:#fff;font-family:'Noto Sans JP',sans-serif;font-size:14px;letter-spacing:.05em;line-height:1.3;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.5)}
/* 縦中横：2桁数字・2文字英字を横向き表示 */
.u-tcy{text-combine-upright:all;-webkit-text-combine:horizontal;-ms-text-combine-horizontal:all}
.true_standard_item-catch--dark .true_standard_item-catch_text{color:#000;text-shadow:none}
/* Safari対策：縦書き2行の右寄せキャッチは幅未指定だと右にはみ出て見切れる（04/09/14/16対象） */
.true_standard_item-catch--fixed2col{width:37px}
/* evam eva（05番）：モバイルのみ2行になるため幅固定（Desktopは1行のままでよい） */
@media(max-width:767.9px){
  .true_standard_item-catch--fixed2col-sp{width:37px}
}
/* 同じSafari対策の1行版：右寄せ1行キャッチが右にずれて見えるため幅固定（10 RING JACKET・17 芋屋金次郎対象） */
.true_standard_item-catch--fixed1col{width:19px}
/* 06・15番：モバイル・デスクトップとも横書き（--catch-w依存） */
.true_standard_item-catch--horizontal .true_standard_item-catch_text{writing-mode:horizontal-tb;white-space:normal;text-align:left;line-height:1.3;width:var(--catch-w,auto)}
/* 01・02・08番：モバイルのみ横書き、デスクトップは縦書き */
.true_standard_item-catch--horizontal-sp .true_standard_item-catch_text{writing-mode:horizontal-tb;white-space:normal;text-align:left;line-height:1.3;width:var(--catch-w,auto)}

.true_standard_item-detail{width:fit-content;display:flex;flex-direction:column;gap:10px}
/* shop_row・price_rowは下揃え、item_rowは中央揃え */
.true_standard_item-shop_row,.true_standard_item-item_row,.true_standard_item-price_row{display:flex;gap:20px;min-height:30px;border-bottom:1px solid #ccc}
.true_standard_item-shop_row,.true_standard_item-price_row{align-items:flex-end}
.true_standard_item-item_row{align-items:center}
.true_standard_item-shop_label,.true_standard_item-item_label,.true_standard_item-price_label{flex:0 0 40px;margin:0;font-family:'Noto Sans JP',sans-serif;font-size:12px;text-transform:uppercase;color:#000}
/* Firefox対策：fit-content幅の誤差で最後の1文字だけ改行されるためnowrap指定（2行分は<br>で対応） */
.true_standard_item-shop_name,.true_standard_item-item_name{margin:0;font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:16px;white-space:nowrap}
.true_standard_item-shop_open-schedule{font-weight:400;font-size:12px;margin-left:12px;}
.true_standard_item-17 .true_standard_item-price_value{white-space:nowrap}
.true_standard_item-price_value{margin:0;font-family:'Noto Sans JP',sans-serif;font-size:14px}

/* ── head（title＋#01）────────────────────────────────────── */
.true_standard-head{display:contents}

/* ── wideパターン（#02,05,10,17／#01はheadで個別処理）──────── */
.true_standard_item--wide{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.true_standard_item--wide .true_standard_item-photo_group{width:100%;aspect-ratio:var(--ar)}

/* ── squareパターン（#03,04,06,07,08,09,12,13,15,16）───────── */
.true_standard_item--square{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%}
.true_standard_item--square .true_standard_item-photo_group{width:100%;aspect-ratio:4/3}

/* ── tallパターン（#11,14）─────────────────────────────────── */
.true_standard_item--tall{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%}
.true_standard_item--tall .true_standard_item-photo_group{width:100%;aspect-ratio:1/1}

/* ── 2列マソンリー（#03-04／#06-09／#11-16）：Desktopのみ、列ごとにmargin-topで高さのズレを再現 ── */
.true_standard-cols{display:contents}
.true_standard-col{display:contents}

@media(min-width:768px){
  .true_standard{padding:100px 20px 0}
  .true_standard-list{gap:0}
  .true_standard-list>*{margin-top:var(--mt-d,0px)}

  .true_standard-title{max-width:none;width:320px}

  .true_standard-head{display:grid;grid-template-columns:320px 600px;column-gap:40px;row-gap:162px}
  .true_standard-head .true_standard-title{grid-column:1;grid-row:1}
  .true_standard-head .true_standard_item-01{display:contents}
  .true_standard-head .true_standard_item-01 .true_standard_item-detail{grid-column:1;grid-row:2;align-self:start}
  .true_standard-head .true_standard_item-01 .true_standard_item-photo_group{grid-column:2;grid-row:1 / 3}

  .true_standard_item--wide{flex-direction:row;align-items:center;gap:40px}
  .true_standard_item--wide.true_standard_item--reverse{flex-direction:row-reverse}
  .true_standard_item--wide .true_standard_item-photo_group{width:var(--w-d);aspect-ratio:auto;height:var(--h-d);flex-shrink:0}
  /* 10 RING JACKET：情報量が少なく写真とcenter揃えだと上に余白が空くのでtop揃えに */
  .true_standard_item-10.true_standard_item--wide{align-items:flex-start}

  .true_standard_item--square .true_standard_item-photo_group,
  .true_standard_item--tall .true_standard_item-photo_group{width:460px}

  .true_standard-cols{display:flex;flex-direction:row;align-items:flex-start;column-gap:40px}
  .true_standard-col{display:flex;flex-direction:column;flex:0 0 460px}
  .true_standard-col>.true_standard_item{margin-top:var(--mt-d,0px)}

  /* catch：モバイルは%、デスクトップはpx固定値に切替 */
  .true_standard_item-catch{
    left:var(--catch-l-d,var(--catch-l,auto));
    top:var(--catch-t-d,var(--catch-t,auto));
    right:var(--catch-r-d,var(--catch-r,auto));
    bottom:var(--catch-b-d,var(--catch-b,auto));
  }
  .true_standard_item-catch--horizontal .true_standard_item-catch_text{width:var(--catch-w-d,var(--catch-w,auto))}
  /* 01・02・08：モバイル横書き→デスクトップ縦書きに戻す */
  .true_standard_item-catch--horizontal-sp .true_standard_item-catch_text{writing-mode:vertical-rl;white-space:nowrap;line-height:1.3;width:auto}
}

/* 768〜1099px：zoomで1100px基準に縮小、shop_name/item_nameは最低90%・price_valueは100%を保持 */
@media(min-width:768px) and (max-width:1099.98px){
  .true_standard{
    --scale:clamp(calc(768px / 1100px),calc(100vw / 1100px),1);
    --font-scale:clamp(.9,calc(.9 + .1 * (100vw - 768px) / (1100px - 768px)),1);
    zoom:var(--scale);
  }
  .true_standard_item-shop_name,.true_standard_item-item_name{font-size:calc(16px * var(--font-scale) / var(--scale))}
  .true_standard_item-price_value{font-size:calc(14px / var(--scale))}
}

@media(max-width:767.9px){
  .true_standard_item-shop_open-schedule{display:block;margin-left:0;margin-top:-3px;}
  .true_standard_item-12 .true_standard_item-shop_row{align-items:center}

    .true_standard_item.true_standard_item-03,
    .true_standard_item.true_standard_item-04,
    .true_standard_item.true_standard_item-06,
    .true_standard_item.true_standard_item-07,
    .true_standard_item.true_standard_item-08,
    .true_standard_item.true_standard_item-09,
    .true_standard_item.true_standard_item-11,
    .true_standard_item.true_standard_item-12,
    .true_standard_item.true_standard_item-13,
    .true_standard_item.true_standard_item-14,
    .true_standard_item.true_standard_item-15,
    .true_standard_item.true_standard_item-16{margin-inline:20px;width: calc(100% - 40px);}
}

/* モバイルのみ表示順を変更：THE NORTH FACE＋の後をAUX PARADIS→MOLTON BROWN→伊織→WASHIN OPTICAL→(Epoi)に（デスクトップの列組みは変更なし） */
@media(max-width:767.9px){
  .true_standard_item-14{order:1}
  .true_standard_item-12{order:2}
  .true_standard_item-13{order:3}
  .true_standard_item-15{order:4}
  .true_standard_item-16{order:5}
  .true_standard_item-17{order:6}
}

/* brand_story（Cotopaxiのバックパック）：単発セクション、実測値をそのまま反映 */
.brand_story{position:relative;max-width:1064px;margin:0 auto;padding:60px 20px}

.brand_story-border{display:block;width:100%;min-height: 24px;overflow: hidden;}
.brand_story-border img{display:block;min-width: 683px;min-height: 24px;}

.brand_story-heading{display:flex;align-items:flex-start;gap:10px;margin-top:26px}
.brand_story-tag_wrap{position:relative;flex:0 0 auto;width:88px;height:31px}
.brand_story-tag_wrap img{width:100%;height:100%;object-fit:fill;display:block}
.brand_story-tag{position:absolute;left: 0;top: 12px;display:flex;align-items:center;justify-content:center;width: 100%;height: 20px;padding:0 8px;border-radius: 100px;background:#000}
.brand_story-tag_number{margin:0;font-family:'Noto Serif JP',serif;font-weight:700;font-size:16px;line-height:1;color:#fff;white-space:nowrap}
.brand_story-title{margin:10px 0 0;font-family:'Noto Serif JP',serif;font-weight:900;font-size:18px;line-height:1.3;color:#000}

.brand_story-photo_group{position:relative;margin-top:24px;overflow:hidden;width:100%;aspect-ratio:362/256.417}
.brand_story-photo_group img.brand_story-photo{width:100%;height:100%;object-fit:cover;object-position:44.5% 40%;display:block;transition:transform .3s ease}
.brand_story-photo_group:hover img.brand_story-photo{transform:scale(1.1)}
.brand_story-logo{display:none}

.brand_story-body{margin:10px 0 0;font-family:'Noto Sans JP',sans-serif;font-size:12px;line-height:1.4;color:#000}

@media(min-width:1100px){
  .brand_story{padding:150px 20px}
  .brand_story-border{height:36px}

  .brand_story-heading{gap:16.67px;margin-top:80px;width:800px;margin-inline:auto}
  .brand_story-tag_wrap{width:126.33px;height:50px}
  .brand_story-tag{left:0;top:20px;width: 100%;height:30px;padding:0 12px;}
  .brand_story-tag_number{font-size:20px}
  .brand_story-title{margin-top:12px;font-size:30px}

  .brand_story-photo_group{margin-top:15px;aspect-ratio:840/595;width:800px;margin-inline:auto}
  .brand_story-logo.u-pc-only{display:block;position:absolute;left:10px;bottom:10px;width:20.02px;height:149.88px;opacity:.4;object-fit:cover;pointer-events:none}

  .brand_story-body{margin-top:20px;font-size:14px;line-height:1.4;width:800px;margin-inline:auto}
}

/* shop_info_group（New Shop Information）：dividerはborder再現、Mobile1列／Desktop2列×3行 */
.shop_info_group{position:relative;max-width:1064px;margin:0 auto;padding:0 20px 60px;border-top:1px solid #ccc}
.shop_info_group-heading{margin:49px 0 0;font-family:'Noto Serif JP',serif;font-weight:700;font-size:20px;line-height:1.3;letter-spacing:1px;text-transform:uppercase;text-align:center;color:#211817}
.shop_info_group-list{margin-top:50px;display:flex;flex-direction:column}
.shop_info_group-row{display:contents}

.shop_info{width:100%;display:flex;flex-direction:column;align-items:center;gap:30px}
.shop_info+.shop_info{margin-top:30px;border-top:1px solid #ccc;padding-top:30px}
.shop_info:last-child{margin-bottom:30px;border-bottom:1px solid #ccc}

/* photo-group幅200px・logo200×124・photo200×200（Mobile/Desktop共通） */
/* photo-group・nameは店舗詳細ページへのリンク（aタグ）。未掲載店舗（PAÑPURI）はリンクなしのまま */
.shop_info-photo_group{width:100%;max-width:200px;display:flex;flex-direction:column;align-items:center;gap:18px}
.shop_info-logo{width:100%;height:124px;background:#d9d9d9}
.shop_info-logo img{width:100%;height:100%;object-fit:cover;display:block}
.shop_info-photo{width:100%;aspect-ratio:1/1;background:#d9d9d9}
.shop_info-photo img{width:100%;height:100%;object-fit:cover;display:block}

.shop_info-info_group{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px}
.shop_info-meta_row{width:100%;display:flex;align-items:center;gap:20px}
.shop_info-location{flex:0 0 90px;width:90px;margin:0;text-align:center;font-family:'Noto Sans JP',sans-serif;font-size:12px;line-height:24px;color:#000;border-top:1px solid #000;border-bottom:1px solid #000}
.shop_info-badge{flex:0 0 170px;width:170px;height:24px;margin:0;border-radius:6px;background:#a0141a;display:flex;align-items:center;justify-content:center;font-family:'Noto Sans JP',sans-serif;font-size:12px;line-height:24px;color:#fff;text-align:center}
.shop_info-name{display:block;width:100%;margin:0;font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:24px;color:#000}
a.shop_info-name{text-decoration:underline}
a.shop_info-name:hover{color:#A28467;text-decoration:none}
.shop_info-description{width:100%;margin:0;font-family:'Noto Sans JP',sans-serif;font-size:12px;line-height:22px;color:#000}

@media(min-width:768px){
  .shop_info_group{padding:0 20px 100px}
  .shop_info_group-heading{margin-top:104px;max-width:960px;margin-left:auto;margin-right:auto;font-size:40px;letter-spacing:2px}
  .shop_info_group-list{margin-top:80px;gap:0}

  .shop_info_group-row{display:grid;grid-template-columns:432px 432px;column-gap:160px;position:relative}
  .shop_info_group-row::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:#ccc;transform:translateX(-50%)}
  .shop_info_group-row .shop_info+.shop_info{margin-top:0;border-top:0;padding-top:0}
  .shop_info:last-child{margin-bottom:0;border-bottom:0}

  /* 行間の横線は::beforeで独立配置（縦線との干渉回避） */
  .shop_info_group-row+.shop_info_group-row{margin-top:160px}
  .shop_info_group-row+.shop_info_group-row::before{content:"";position:absolute;top:-80px;left:0;right:0;height:1px;background:#ccc}
}

/* 768〜1099px：zoomで1100px基準に縮小、shop_info-nameは最低90%を保持 */
@media(min-width:768px) and (max-width:1099.98px){
  .shop_info_group{
    --scale:clamp(calc(768px / 1100px),calc(100vw / 1100px),1);
    --font-scale:clamp(.9,calc(.9 + .1 * (100vw - 768px) / (1100px - 768px)),1);
    zoom:var(--scale);
  }
  .shop_info-name{font-size:calc(14px / var(--scale))}
}

/* common_footer（バナー×3／Q&A）：Q&Aは記事ごとに個別開閉、バナーはDesktopのみGridで並び替え */
.common_footer{position:relative;width:100%;overflow:hidden}

.common_footer-top{position:relative;background-color:#fff}

.common_footer-banner_group{max-width:500px;margin:0 auto;padding:0 20px}
.common_footer-banner_list{display:flex;flex-direction:column;gap:20px}
/* banner比率はDesktop実測をモバイルにも流用 */
.common_footer-banner{width:100%;background:#d9d9d9}
.common_footer-banner-01{aspect-ratio:508/453}
.common_footer-banner-02,
.common_footer-banner-03{aspect-ratio:500/219}
.common_footer-banner a{width:100%;height:100%;display:block}
.common_footer-banner img{width:100%;height:100%;object-fit:cover;display:block}
.common_footer-disclaimer{margin:60px 0 0;font-family:'Noto Sans JP',sans-serif;font-size:12px;line-height:2;color:#666}

.common_footer-qa{position:relative;max-width:90%;margin:60px auto 0;border:1px solid #333;background:#fff}
.common_footer-qa_heading{display:flex;align-items:center;justify-content:center;width:100%;height:50px;margin:0;padding:0;font-family:'Noto Sans JP',sans-serif;font-weight:500;font-size:18px;line-height:24px;color:#000}

.common_footer-qa_list{display:flex;flex-direction:column;gap:15px;padding:10px 12.5px 15px;margin:0}

/* qa_article区切り線はgapのみで再現（margin/paddingの二重付与を避ける） */
.qa_article{width:100%;border-bottom:1px solid #ccc;padding-bottom:15px}
.qa_article-question{display:flex;align-items:flex-start;gap:20px;width:100%;margin:0;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}
.qa_article-answer{display:none;align-items:flex-start;gap:20px;margin-top:15px}
.qa_article[data-open="true"] .qa_article-answer{display:flex}
.qa_article-badge{flex:0 0 18px;width:18px;height:18px;border:1px solid;display:flex;align-items:center;justify-content:center;margin:0;padding-bottom:2px;font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:14px;line-height:1}
.qa_article-badge--q{color:#2693ff;border-color:#2693ff}
.qa_article-badge--a{color:#a28467;border-color:#a28467}
.qa_article-question_text{flex:1;margin:0;font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1.6;letter-spacing:-.02em;color:#000}
.qa_article-answer_text{margin:0;font-family:'Noto Sans JP',sans-serif;font-size:13px;line-height:1.62;color:#000;white-space:pre-wrap}
/* リンクはブラウザ標準色で明示（デフォルトカラーでOKの指示） */
.qa_article-answer_text a{color:#0000EE;text-decoration:underline}
.qa_article-answer_text a:visited{color:#551A8B}

/* トグルアイコン：＋/－を縦棒の90度回転で表現 */
.qa_article-question_toggle_icon{position:relative;flex:0 0 15px;width:15px;height:15px;margin:4px 0 0}
.qa_article-question_toggle_icon::before,
.qa_article-question_toggle_icon::after{content:"";position:absolute;top:50%;left:50%;background:#333;transform:translate(-50%,-50%)}
.qa_article-question_toggle_icon::before{width:10px;height:1px}
.qa_article-question_toggle_icon::after{width:1px;height:10px}
.qa_article[data-open="true"] .qa_article-question_toggle_icon::after{transform:translate(-50%,-50%) rotate(90deg)}

@media(min-width:1100px){
  .common_footer-banner_group{max-width:1064px;padding:0 20px}
  .common_footer-banner_list{display:grid;grid-template-columns:508px 500px;grid-template-rows:219px 219px;justify-content:center;row-gap:15px;column-gap:16px}
  .common_footer-banner{aspect-ratio:auto}
  .common_footer-banner-01{grid-column:1;grid-row:1 / 3;width:508px;height:453px}
  .common_footer-banner-02{grid-column:2;grid-row:1;width:500px;height:219px}
  .common_footer-banner-03{grid-column:2;grid-row:2;width:500px;height:219px}
  .common_footer-disclaimer{margin-top:108px;max-width:1024px;margin-left:auto;margin-right:auto}

  .common_footer-qa{max-width:1024px;margin-top:100px}
  .common_footer-qa_list{padding:10px 35px 32px;gap:20px}
  .qa_article{padding-bottom:16px}
  .qa_article[data-open="true"] .qa_article-answer{margin-top:16px}
  .qa_article-badge{flex-basis:34px;width:34px;height:34px;font-size:18px;padding-bottom:3px}
  .qa_article-question_text{font-size:14px}
  .qa_article-question_toggle_icon{flex-basis:21px;width:21px;height:21px;margin-top:12px}
  .qa_article-question_toggle_icon::before{width:14px;height:1px}
  .qa_article-question_toggle_icon::after{width:1px;height:14px}
}

/* 〜390px：main-contents全体をzoomで縮小（Firefox対策はosampo2026AW.js参照） */
@media(max-width:390px){
  :root{--scale-sp:clamp(.82,calc(100vw / 395px),1)}

  .main-contents{
    zoom:var(--scale-sp);
  }
  .main-contents > #hero,
  .main-contents > .photo_modal{
    zoom:calc(1 / var(--scale-sp));
  }
}

/* スクロール連動フェードイン（osampo2026AW.js制御） */
.main-contents .fade-in{opacity:0}
.main-contents .fade-in-up{transform:translate(0,80px)}
.main-contents .fade-in-down{transform:translate(0,-80px)}
.main-contents .fade-in-left{transform:translate(-80px,0)}
.main-contents .fade-in-right{transform:translate(80px,0)}
.main-contents .scroll-in{animation:fadeIn .8s ease;animation-fill-mode:forwards}

/* name_price行数は可変のためanimation-delayはJSで動的付与 */

@keyframes fadeIn{
  0%{opacity:0}
  50%{opacity:.4}
  100%{opacity:1;transform:translate(0,0)}
}
