/*
Theme Name: Yorimichi Bento
Theme URI: https://yellaid.com/
Author: YellAid Inc.
Description: よりみち弁当(高齢者の見守り弁当配食サービス)公式サイト用オリジナルテーマ。パンフレットのデザインを再現した1ページ構成です。
Version: 1.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: yorimichi-bento
*/

:root{
  --cream:#FBF3E4;        /* 背景クリーム */
  --cream2:#FDF9F0;       /* 明るいクリーム */
  --orange:#DD7A2E;       /* メインオレンジ */
  --orange-d:#C05F1B;     /* 濃いオレンジ */
  --orange-l:#F6DFC2;     /* 淡いオレンジ */
  --brown:#5C4632;        /* 本文の焦げ茶 */
  --yellow:#F0C169;       /* 差し色の黄 */
  --line:#06C755;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Zen Kaku Gothic New',sans-serif;
  background:var(--cream);
  color:var(--brown);
  line-height:2;
  font-size:16px;
}
img{max-width:100%;height:auto;}
.wrap{max-width:880px;margin:0 auto;padding:0 20px;}
.mincho{font-family:'Shippori Mincho',serif;}

/* 見出し飾り */
.sec-head{text-align:center;margin-bottom:38px;}
.sec-head h2{
  font-family:'Shippori Mincho',serif;font-weight:600;
  font-size:1.7rem;color:var(--orange-d);letter-spacing:.18em;
  display:inline-block;position:relative;padding:0 44px;
}
.sec-head h2::before,.sec-head h2::after{
  content:"\2741";color:var(--orange);font-size:1.1rem;position:absolute;top:50%;transform:translateY(-50%);
}
.sec-head h2::before{left:0;}
.sec-head h2::after{right:0;}
.sec-head p{font-size:.85rem;color:#9A7B54;margin-top:8px;letter-spacing:.08em;}

/* 写真の基本設定:画像は切り取らず全体を表示 */
.photo{
  border-radius:12px;overflow:hidden;padding:0;border:none;background:none;
  display:flex;align-items:center;justify-content:center;
}
.photo img{width:100%;height:auto;display:block;border-radius:12px;}
/* まだ画像を入れていない場所用(photo-placeholderクラス) */
.photo-placeholder{
  background:repeating-linear-gradient(45deg,#F3E4CB 0 12px,#F9EFDD 12px 24px);
  border:2px dashed #D9B98C;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  color:#A6824F;font-size:.88rem;letter-spacing:.04em;text-align:center;padding:12px;
  min-height:200px;
}

/* ===== ヘッダー ===== */
.site-header{
  background:var(--cream2);
  border-bottom:3px solid var(--orange);
  padding:14px 0;position:sticky;top:0;z-index:10;
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.logo .mark{
  width:42px;height:42px;border-radius:50%;background:var(--orange);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:.6rem;font-weight:700;line-height:1.3;text-align:center;letter-spacing:.02em;
}
.logo .name{font-family:'Shippori Mincho',serif;font-weight:700;font-size:1.3rem;color:var(--orange-d);letter-spacing:.1em;white-space:nowrap;}
/* ロゴ画像:どんな元サイズでも高さ48pxに固定 */
.site-header .logo img,
.logo .logo-img{
  height:48px !important;
  width:auto !important;
  max-width:160px;
  object-fit:contain;
  border-radius:8px;display:block;
}
@media(max-width:680px){
  .site-header .logo img,
  .logo .logo-img{height:40px !important;}
}
.global-nav{
  display:flex;flex-wrap:wrap;justify-content:flex-end;
  gap:4px 16px;margin-left:16px;
}
.global-nav a{
  font-size:.8rem;color:var(--brown);text-decoration:none;font-weight:500;
  white-space:nowrap;letter-spacing:.02em;
}
.global-nav a:hover{color:var(--orange);}
@media(max-width:760px){.global-nav{display:none;}}

/* ===== ヒーロー ===== */
.hero{
  padding:70px 0 60px;text-align:center;position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse 60% 40% at 85% 10%,var(--orange-l) 0%,transparent 70%),
    radial-gradient(ellipse 50% 35% at 10% 90%,var(--orange-l) 0%,transparent 70%),
    var(--cream);
}
.hero .catch-sub{
  font-family:'Shippori Mincho',serif;font-size:1.15rem;letter-spacing:.2em;color:var(--brown);margin-bottom:10px;
}
.hero h1{
  font-family:'Shippori Mincho',serif;font-weight:600;
  font-size:clamp(1.8rem,5.6vw,2.8rem);letter-spacing:.14em;line-height:1.7;color:var(--brown);
}
.hero h1 .anshin{
  color:var(--orange-d);font-size:1.25em;font-weight:700;
  border-bottom:6px solid var(--yellow);padding:0 2px;
}
.hero .service-name{
  margin-top:22px;font-family:'Shippori Mincho',serif;
  font-size:1.35rem;color:var(--orange-d);font-weight:700;letter-spacing:.16em;
}
.hero .service-tag{
  display:inline-block;margin-top:8px;font-size:.9rem;letter-spacing:.14em;
  color:#fff;background:var(--orange);border-radius:999px;padding:5px 22px;
}
/* トップ写真:高さ固定をやめて、画像全体を切らずに表示 */
.hero .photo{
  height:auto;max-width:780px;margin:34px auto 0;
  box-shadow:0 6px 24px rgba(221,122,46,.15);
}
.hero .lead{max-width:640px;margin:26px auto 0;font-size:.95rem;text-align:left;}

/* ===== セクション共通 ===== */
.sec{padding:66px 0;}

/* ===== サービスについて ===== */
.about-lead{max-width:660px;margin:0 auto;font-size:.98rem;}
.about-lead strong{color:var(--orange-d);}
.about-photo{max-width:640px;margin:30px auto 0;box-shadow:0 4px 18px rgba(221,122,46,.12);}
.price-photo{max-width:640px;margin:0 auto;box-shadow:0 4px 18px rgba(221,122,46,.12);}
.price-photo-caption{text-align:center;font-size:.85rem;color:#9A7B54;margin:8px 0 30px;}

/* ===== 3つの特徴 ===== */
.tokucho-sec{background:var(--cream2);border-top:1px solid #EFE0C6;border-bottom:1px solid #EFE0C6;}
.toku-list{display:flex;flex-direction:column;gap:22px;max-width:760px;margin:0 auto;}
.toku-card{
  background:#fff;border:1px solid #F0DFC2;border-radius:14px;overflow:hidden;
  display:grid;grid-template-columns:1fr 240px;box-shadow:0 3px 14px rgba(221,122,46,.08);
}
.toku-card:nth-child(even){grid-template-columns:240px 1fr;}
.toku-card:nth-child(even) .toku-body{order:2;}
@media(max-width:640px){
  .toku-card,.toku-card:nth-child(even){grid-template-columns:1fr;}
  .toku-card:nth-child(even) .toku-body{order:0;}
}
.toku-body{padding:26px 26px 24px;}
.toku-num{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;}
.toku-num .badge{
  width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:.55rem;font-weight:700;line-height:1.2;
}
.toku-num .badge b{font-size:1.05rem;}
.toku-body h3{
  font-family:'Shippori Mincho',serif;font-size:1.25rem;color:var(--orange-d);
  letter-spacing:.1em;font-weight:700;
}
.toku-body p{font-size:.9rem;margin-top:6px;}
.toku-body p small{color:#9A7B54;}
/* 特徴カード内の写真はカードの高さに合わせて表示(はみ出しは切り取り) */
.toku-card .photo{border:none;border-radius:0;min-height:180px;}
.toku-card .photo img{height:100%;object-fit:cover;border-radius:0;}

/* ===== 料金・献立 ===== */
.price-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:640px;margin:0 auto;
}
@media(max-width:560px){.price-grid{grid-template-columns:1fr;}}
.price-card{
  background:#fff;border:2px solid var(--orange-l);border-radius:14px;
  text-align:center;padding:30px 20px 26px;box-shadow:0 3px 14px rgba(221,122,46,.08);
}
.price-card h3{
  font-family:'Shippori Mincho',serif;font-size:1.15rem;color:var(--brown);
  letter-spacing:.1em;font-weight:700;
}
.price-card .price{
  font-family:'Shippori Mincho',serif;font-size:2.4rem;font-weight:700;
  color:var(--orange-d);line-height:1.4;margin-top:6px;
}
.price-card .price small{font-size:1rem;font-weight:500;}
.menu-link-box{text-align:center;margin-top:34px;}
.menu-link-box p{font-size:.92rem;margin-bottom:16px;}
.menu-btn{
  display:inline-block;background:var(--orange);color:#fff;text-decoration:none;
  font-weight:700;font-size:1.02rem;padding:14px 42px;border-radius:999px;letter-spacing:.08em;
  box-shadow:0 4px 0 var(--orange-d);transition:transform .15s;
}
.menu-btn:hover{transform:translateY(2px);box-shadow:0 2px 0 var(--orange-d);color:#fff;}
.menu-note{font-size:.8rem;color:#9A7B54;margin-top:14px;}

/* ===== ご利用の流れ ===== */
.flow-list{max-width:680px;margin:0 auto;position:relative;}
.flow-list::before{
  content:"";position:absolute;left:26px;top:20px;bottom:20px;width:3px;
  background:var(--orange-l);border-radius:2px;
}
.flow-item{position:relative;padding:0 0 30px 76px;}
.flow-item:last-child{padding-bottom:0;}
.flow-item .num{
  position:absolute;left:0;top:0;width:54px;height:54px;border-radius:50%;
  background:var(--orange);color:#fff;font-family:'Shippori Mincho',serif;
  font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;
  border:4px solid var(--cream);box-shadow:0 0 0 2px var(--orange-l);
}
.flow-item h3{
  font-size:1.05rem;color:var(--orange-d);font-weight:700;letter-spacing:.06em;padding-top:10px;
}
.flow-item p{font-size:.9rem;margin-top:4px;}
.flow-item p strong{color:var(--orange-d);}

/* ===== ご家族・ケアマネジャーの方へ ===== */
.family-sec{background:linear-gradient(180deg,var(--orange-l),#F3D9AE);}
.family-box{
  max-width:720px;margin:0 auto;background:rgba(255,255,255,.75);
  border-radius:16px;padding:36px 30px;border:1px solid #EFD3A0;
}
.family-box p{font-size:.95rem;margin-bottom:1em;}
.family-box .marker{background:linear-gradient(transparent 55%,#F7C9A0 55%);font-weight:700;}
.family-box .line-green{background:linear-gradient(transparent 55%,#BFE8CB 55%);font-weight:700;}

/* ===== 試食申込 ===== */
.shishoku-sec{background:var(--cream2);border-top:1px solid #EFE0C6;border-bottom:1px solid #EFE0C6;}
.shishoku-box{
  max-width:680px;margin:0 auto;background:#fff;border:2px solid var(--orange-l);
  border-radius:16px;padding:36px 30px;text-align:center;
  box-shadow:0 4px 18px rgba(221,122,46,.1);
}
.shishoku-lead{font-size:.95rem;text-align:left;}
.shishoku-lead strong{color:var(--orange-d);}
.shishoku-steps{
  display:flex;flex-direction:column;gap:10px;max-width:440px;margin:22px auto;text-align:left;
}
.s-step{
  background:var(--cream);border-radius:10px;padding:10px 16px;font-size:.9rem;
  display:flex;align-items:center;gap:12px;
}
.s-num{
  flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:'Shippori Mincho',serif;font-weight:700;font-size:1rem;
}
.shishoku-btn-box{margin-top:24px;}
.shishoku-note{font-size:.8rem;color:#9A7B54;margin-top:18px;line-height:1.8;}

/* ===== よくある質問 ===== */
.faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.faq-item{background:#fff;border:1px solid #F0DFC2;border-radius:12px;padding:18px 22px;}
.faq-item .q{display:flex;gap:10px;font-weight:700;color:var(--orange-d);font-size:.97rem;}
.faq-item .q::before{content:"Q";font-family:'Shippori Mincho',serif;font-size:1.15rem;}
.faq-item .a{display:flex;gap:10px;font-size:.9rem;margin-top:6px;}
.faq-item .a::before{content:"A";font-family:'Shippori Mincho',serif;font-size:1.15rem;color:var(--yellow);font-weight:700;}

/* ===== LINE CTA ===== */
.cta{background:var(--orange);text-align:center;color:#fff;}
.cta h2{font-family:'Shippori Mincho',serif;font-size:1.5rem;letter-spacing:.14em;margin-bottom:14px;}
.cta p{font-size:.93rem;max-width:600px;margin:0 auto 26px;opacity:.95;}
.line-btn{
  display:inline-block;background:var(--line);color:#fff;text-decoration:none;
  font-weight:700;font-size:1.1rem;padding:16px 48px;border-radius:999px;letter-spacing:.08em;
  box-shadow:0 4px 0 #049A42;transition:transform .15s;
}
.line-btn:hover{transform:translateY(2px);box-shadow:0 2px 0 #049A42;color:#fff;}
.cta .tel{margin-top:26px;font-size:.95rem;}
.cta .tel b{font-size:1.5rem;font-family:'Shippori Mincho',serif;letter-spacing:.06em;}
.cta .tel a{color:#fff;text-decoration:none;}
.cta .note{font-size:.78rem;opacity:.85;margin-top:14px;}

/* ===== お問い合わせ ===== */
.info-table{width:100%;max-width:640px;margin:0 auto;border-collapse:collapse;background:#fff;}
.info-table th,.info-table td{
  border:1px solid #F0DFC2;padding:14px 18px;font-size:.92rem;text-align:left;vertical-align:top;
}
.info-table th{
  width:32%;background:var(--orange-l);color:var(--orange-d);font-weight:700;letter-spacing:.05em;
}
.info-table a{color:var(--orange);}
.info-note{max-width:640px;margin:18px auto 0;font-size:.82rem;color:#9A7B54;text-align:center;}

/* ===== アクセス(外観写真+地図) ===== */
.access-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch;
  max-width:720px;margin:34px auto 0;
}
@media(max-width:600px){.access-grid{grid-template-columns:1fr;}}
.access-grid .photo{height:100%;}
.access-grid .photo img{height:100%;object-fit:cover;}
.access-grid .map{
  border-radius:12px;overflow:hidden;border:1px solid #F0DFC2;
  height:320px;width:100%;
}
.access-grid .map iframe{width:100%;height:320px;border:0;display:block;}
@media(max-width:600px){
  .access-grid .photo{height:auto;}
  .access-grid .photo img{height:auto;object-fit:contain;}
}

/* ===== フッター ===== */
.site-footer{background:var(--brown);color:#EADFCE;text-align:center;padding:32px 20px;font-size:.8rem;letter-spacing:.05em;}
.site-footer .fname{font-family:'Shippori Mincho',serif;font-size:1.1rem;color:#fff;margin-bottom:6px;letter-spacing:.14em;}

/* WordPress管理バー対応 */
.admin-bar .site-header{top:32px;}
@media(max-width:782px){.admin-bar .site-header{top:46px;}}
