/* =========================================================
   飲食店向け AIカメラ×店舗改善（試作）の追加CSS
   - 見た目の本体は dp-theme.css（本体テーマの実物）と meo-addon.css（MEOページの実物）
   - ここには、それらに無い部品だけを .cam の内側で足す
   - 本番に入れるときは、このファイルの内容をテーマ側の追加CSSに移す
   ========================================================= */

/* 試作用：スクロール演出を最初から表示（本体は jquery.inview が is-show を付ける） */
.js-inview,.js-inview.inview-fadein,.js-inview.inview-zoom,.js-inview.inview-blur,
.js-inview.inview-floatintoright,.js-inview.inview-floatintoleft,.js-inview.inview-floatup{opacity:1!important;filter:none!important;transform:none!important;visibility:visible!important}

/* 【要確認】の印（MEOページの mark.meo2-tbd と同じ配色） */
.tbc{background:#fff3b0;color:#6b4a00;font-size:.8em;font-weight:700;padding:0 .4em;line-height:1.7;display:inline-block;border-radius:2px}
body.no-hl .tbc{background:none;color:inherit;font-weight:inherit;padding:0}
.cam-toggle{position:fixed;right:12px;bottom:12px;z-index:9999;background:#222;color:#fff;border:0;border-radius:4px;padding:8px 12px;font:inherit;font-size:12px;cursor:pointer;opacity:.85}

.cam .meo2-catch .japanese{display:block}
.cam-ph-note{margin:8px 0 0;text-align:center;font-size:1.2rem}
.cam-points{max-width:640px;margin:0 auto 2em!important}

/* 店の中 × 店の外 */
.cam-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:stretch;margin:2em 0}
.cam-box{background:#fff;border-radius:12px;border-top:4px solid var(--color-primary,#51ba97);padding:24px 28px;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.cam-box.cam-out{border-top-color:var(--color-secondary,#0a86ac)}
.cam-box .c-title-20{margin-bottom:.2em}
.cam-tag{margin:0 0 .8em!important;font-weight:700;color:#666;font-size:1.3rem}
.cam-times{align-self:center;font-size:3.2rem;font-weight:700;color:#ddab24;line-height:1}

/* 手順カードの本文（テーマの l-text は大きめなので詰める） */
.cam-lineup{margin:0 0 2em}
.cam-lineup .l-title{line-height:1.6}

/* メニュー3枚 */
.cam-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 2em}
.cam-card{background:#fff;border-radius:12px;border:1px solid #e4ece9;border-top:4px solid var(--color-secondary,#0a86ac);padding:24px;display:flex;flex-direction:column}
.cam .cam-card>p{font-size:1.4rem;line-height:1.9;margin-bottom:1em}
.cam-card .c-title-20{margin-bottom:.6em}
.cam-chip{align-self:flex-start;background:var(--color-secondary,#0a86ac);color:#fff;font-size:1.2rem!important;font-weight:700;padding:0 14px;border-radius:999px;margin-bottom:.8em!important;line-height:2!important}
.cam-chip.free{background:#ddab24;color:#3b2d00}
.cam-card dl{margin-top:auto;border-top:1px solid #e4ece9;padding-top:12px;font-size:1.3rem;line-height:1.8}
.cam-card dt{font-weight:700;color:var(--color-primary,#51ba97);margin-top:6px}
.cam-card dd{margin:0}

/* 分かること／分からないこと */
.cam-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:2em}
.cam-two .c-frame-beige{padding:2.4em}
.cam-no{background:#f1f2f2}
.cam-small{font-size:1.3rem!important;color:#555;line-height:1.8!important;margin:1em 0 0!important}
.cam-links{margin-top:1.4em}

/* 表（4列） */
.meo2 .meo2-table.meo2-cols-4 table{min-width:720px}
.meo2 .meo2-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.meo2 .meo2-table tbody th{width:24%}

/* プロフィール */
.cam-profile{padding:3em}
.cam-profile-head{display:flex;gap:28px;align-items:flex-start;margin-bottom:1.6em}
.cam-profile-head>div:last-child{flex:1;min-width:0}
.cam-role{font-size:1.3rem!important;font-weight:700;color:var(--color-secondary,#0a86ac);margin-bottom:.2em!important;line-height:1.7!important}
.cam-name{font-size:2.6rem;font-weight:700;line-height:1.5;margin-bottom:.5em}
.cam-photo{width:180px;height:220px;flex:none;background:repeating-linear-gradient(45deg,#f0eee3,#f0eee3 10px,#e9e6d6 10px,#e9e6d6 20px);display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;border:1px dashed #c9c4a8;border-radius:10px}
.cam-photo.sm{width:100%;height:150px;margin-bottom:12px}
.cam-photo.icon{background:linear-gradient(135deg,var(--color-primary,#51ba97),var(--color-secondary,#0a86ac));border:none}
.cam-three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:1.6em}
.cam-mini{background:#fff;border-radius:10px;padding:16px 18px}
.cam-mini b{display:block;color:var(--color-secondary,#0a86ac);margin-bottom:.3em}
.cam-mini p{margin:0!important;font-size:1.4rem;line-height:1.9!important}
.cam-achv{columns:2;column-gap:32px}
.cam-achv li{break-inside:avoid}
.cam-creds h4{font-weight:700;font-size:1.4rem;color:#666;margin:0 0 .4em}
.cam-creds ul{margin-bottom:1.2em!important}
.cam-creds li{font-size:1.4rem;line-height:1.9}

/* 体制 */
.cam-team{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1200px;margin:0 auto}
.cam-member{background:#fff;border:1px solid #e4ece9;border-radius:12px;padding:18px}
.cam-member p{font-size:1.4rem;line-height:1.9;margin-bottom:.6em}
.cam-member .cam-role{font-size:1.2rem!important}
.cam-aff{color:#666}

.cam-case-pending{display:none!important}
.cam-also{text-align:center;font-weight:700;font-size:1.8rem}

/* CTA（本体の .action-contact に足す分） */
.cam-cta-types{list-style:none;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:1.2em 0 0}
.cam-cta-types a{display:inline-block;border:1px solid currentColor;border-radius:999px;padding:6px 18px;font-weight:700;color:inherit;text-decoration:none}
.cam-cta-note{margin-top:1.4em;font-size:1.3rem;text-align:center}

/* 関連 */
.cam-rel{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto}
.cam-relcard{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e4ece9;border-radius:12px;padding:20px;text-decoration:none;color:#000;font-size:1.4rem;line-height:1.8}
.cam-relcard b{font-size:1.6rem}
.cam-reltag{color:var(--color-secondary,#0a86ac);font-weight:700;font-size:1.2rem}
#related .c-section{padding-top:0}

@media screen and (max-width:799px){
  .cam-pair,.cam-two,.cam-three,.cam-menu,.cam-team,.cam-rel{grid-template-columns:1fr}
  .cam-times{text-align:center}
  .cam-profile{padding:6vw}
  .cam-profile-head{flex-direction:column;gap:16px}
  .cam-photo{width:100%;height:180px}
  .cam-achv{columns:1}
  .cam-name{font-size:2rem}
  .cam-box{padding:20px}
  .cam-two .c-frame-beige{padding:6.25vw}
  .cam .cam-card>p,.cam-card dl,.cam-member p,.cam-mini p,.cam-creds li,.cam-relcard{font-size:1.3rem}
  .cam-toggle{font-size:11px}
}

/* 追記（2周目）：写真の上でも読めるように。関連は問い合わせ枠との間をあける */
.cam-cta-types a{background:rgba(0,0,0,.32);border-color:rgba(255,255,255,.8);color:#fff}
#related{margin-top:60px}
.cam-photo.has-img{padding:0;border:none;background:none;overflow:hidden}
.cam-photo.has-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.cam-photo.sm.has-img{height:auto;aspect-ratio:4/5}
.cam-amano{font-size:1.3rem;margin:.6em 0!important}
.cam-amano li{margin-bottom:.4em;line-height:1.7}
@media (max-width:799px){.cam-photo.sm.has-img{max-width:240px;margin-left:auto;margin-right:auto}}
.cam-br{display:none}
@media (min-width:800px){.meo2-hero-title .english{font-size:88px!important;line-height:1.08!important}.cam-br{display:inline}}
