/*
Theme Name: ごほうび取り寄せ SWELL CHILD
Theme URI: https://gohoubi-toriyose.online/
Description: お取り寄せ・お土産のおすすめサイト「ごほうび取り寄せ」専用のSWELL子テーマ。旅吉の上品な明朝見出しを引き継ぎ、ギフトボックスのような華やかさを足した軽量版です。
Author: ごほうび取り寄せ 編集部
Template: swell
Version: 1.4.0
Text Domain: gohoubi
*/

:root{
  --gh-berry:#8c3b4a;
  --gh-berry-dark:#6f2e3b;
  --gh-berry-soft:#f6e9ec;
  --gh-gold:#c19a5b;
  --gh-gold-soft:#f5ecdc;
  --gh-cream:#fbf6ef;
  --gh-ink:#3a2f2f;
  --gh-muted:#7a6f6f;
  --gh-line:#eadfd2;
  --gh-radius:12px;
  --gh-shadow:0 10px 30px rgba(90,50,50,.09);
  --gh-serif:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
}

/* ========== 全体 ========== */
body{background:var(--gh-cream);color:var(--gh-ink)}
#content,.l-content{background:transparent}
.post_content{line-height:1.95;color:var(--gh-ink)}
.l-mainContent__inner>.post_content,.p-articleContent{background:#fff;border-radius:var(--gh-radius)}
a{color:var(--gh-berry)}

/* ========== ヘッダー・ナビ ========== */
.l-header{box-shadow:0 1px 0 var(--gh-line);border-top:4px solid var(--gh-berry)}
.l-header .c-headLogo__link,.c-headLogo{font-family:var(--gh-serif);letter-spacing:.08em}
.c-gnav>.menu-item>a{font-weight:700;letter-spacing:.06em}
.c-gnav>.menu-item>a .ttl{position:relative}
.c-gnav>.menu-item>a .ttl::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;
  background:var(--gh-gold);transform:scaleX(0);transition:transform .3s;
}
.c-gnav>.menu-item:hover>a .ttl::after{transform:scaleX(1)}

/* ========== 見出し ========== */
.post_content h2,.post_content h3,.c-pageTitle,.p-articleTitle{
  font-family:var(--gh-serif);color:var(--gh-ink);letter-spacing:.03em;
}
.post_content h2{
  position:relative;background:none;border:none;
  padding:.3em 0 .6em 2.2em;margin:3em 0 1.2em;
  border-bottom:1px solid var(--gh-line);font-size:1.45em;
}
.post_content h2::before{
  content:"";display:block;position:absolute;left:0;top:.35em;width:1.4em;height:1.4em;
  background:var(--gh-berry);border-radius:4px;transform:rotate(45deg) scale(.7);
  box-shadow:0 0 0 3px var(--gh-gold-soft);
}
.post_content h2::after{
  content:"";display:block;position:absolute;left:0;bottom:-1px;width:6em;height:2px;background:var(--gh-gold);
}
.post_content h3{
  border:none;padding:.1em 0 .1em .9em;border-left:4px solid var(--gh-berry);
  margin:2.2em 0 1em;font-size:1.2em;
}
.post_content h3::before,.post_content h3::after{display:none}
.post_content h4{font-family:var(--gh-serif);color:var(--gh-berry)}

/* 引用・表・リスト */
.post_content blockquote{
  background:var(--gh-cream);border:1px solid var(--gh-line);border-left:4px solid var(--gh-gold);
  border-radius:8px;padding:1.2em 1.4em;color:var(--gh-muted);
}
.post_content table{border-collapse:separate;border-spacing:0;border:1px solid var(--gh-line);border-radius:10px;overflow:hidden;width:100%}
.post_content th{background:var(--gh-berry-soft);color:var(--gh-berry-dark);font-weight:700}
.post_content th,.post_content td{border:none;border-bottom:1px solid var(--gh-line);padding:.8em 1em}
.post_content tr:last-child th,.post_content tr:last-child td{border-bottom:none}
.post_content ul:not([class]) li::marker{color:var(--gh-gold)}
.post_content mark,.gh-mark{background:linear-gradient(transparent 60%,#f3d9a4 60%);color:inherit}

/* ========== PR表記 ========== */
.gh-pr-note{
  margin:0 0 1.6em;padding:.7em 1em;font-size:.82em;line-height:1.7;
  color:var(--gh-muted);background:var(--gh-cream);
  border:1px dashed var(--gh-gold);border-radius:var(--gh-radius);
}
.gh-pr-note b{display:inline-block;margin-right:.6em;padding:0 .7em;border-radius:999px;background:var(--gh-gold);color:#fff;font-size:.9em;letter-spacing:.1em}

/* ========== トップのヒーロー [gh_hero] ========== */
.gh-hero{
  position:relative;overflow:hidden;margin:0 0 2.4em;min-height:340px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  border-radius:16px;color:#fff;
  background:linear-gradient(135deg,var(--gh-berry-dark),var(--gh-berry) 55%,#b0566a);
  box-shadow:var(--gh-shadow);
}
.gh-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35}
.gh-hero::before,.gh-hero::after{
  content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.25);
}
.gh-hero::before{width:420px;height:420px;right:-120px;top:-160px}
.gh-hero::after{width:260px;height:260px;left:-80px;bottom:-120px;border-color:rgba(193,154,91,.55)}
.gh-hero__inner{position:relative;z-index:1;padding:44px 24px;max-width:720px}
.gh-hero__eyebrow{display:inline-block;margin-bottom:1em;font-size:.78em;letter-spacing:.3em;color:var(--gh-gold-soft)}
.gh-hero__title{margin:0 0 .6em;font-family:var(--gh-serif);font-size:2.1em;line-height:1.5;letter-spacing:.06em;color:#fff}
.gh-hero__sub{margin:0 0 1.8em;font-size:.98em;line-height:1.9;color:rgba(255,255,255,.88)}
.gh-hero__btn{
  display:inline-block;padding:.9em 2.6em;border-radius:999px;background:var(--gh-gold);
  color:#fff!important;font-weight:700;letter-spacing:.08em;text-decoration:none!important;
  box-shadow:0 6px 18px rgba(0,0,0,.2);transition:transform .2s,background .2s;
}
.gh-hero__btn:hover{transform:translateY(-2px);background:#ad8744}

/* ========== カテゴリのタイル [gh_cats] ========== */
.gh-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin:2em 0}
.gh-cat{
  display:flex;flex-direction:column;align-items:center;gap:.5em;padding:20px 10px;
  background:#fff;border:1px solid var(--gh-line);border-radius:var(--gh-radius);
  color:var(--gh-ink)!important;text-decoration:none!important;
  box-shadow:0 2px 0 var(--gh-gold-soft);transition:transform .25s,box-shadow .25s,border-color .25s;
}
.gh-cat:hover{transform:translateY(-4px);box-shadow:var(--gh-shadow);border-color:var(--gh-gold)}
.gh-cat__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--gh-berry-soft);font-size:1.7em}
.gh-cat__name{font-family:var(--gh-serif);font-weight:700;font-size:.98em;letter-spacing:.05em}

/* ========== 商品カード [gh_item] ========== */
.gh-item{
  position:relative;display:grid;grid-template-columns:210px 1fr;gap:22px;
  margin:2em 0;padding:20px;background:#fff;
  border:1px solid var(--gh-line);border-radius:var(--gh-radius);box-shadow:var(--gh-shadow);
}
.gh-item__img{margin:0;border-radius:8px;overflow:hidden;background:var(--gh-cream)}
.gh-item__img img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;transition:transform .6s ease}
.gh-item:hover .gh-item__img img{transform:scale(1.05)}
.gh-item__body{display:flex;flex-direction:column;gap:.55em}
.gh-item__label{align-self:flex-start;padding:.15em .9em;border-radius:999px;background:var(--gh-gold-soft);color:#8a6a30;font-size:.72em;letter-spacing:.16em;font-weight:700}
.gh-item__name{margin:0!important;padding:0!important;border:none!important;font-family:var(--gh-serif);font-size:1.25em;line-height:1.5}
.gh-item__name::before,.gh-item__name::after{display:none!important}
.gh-item__price{margin:0;font-size:1.05em;color:var(--gh-berry);font-weight:700}
.gh-item__desc{margin:0;font-size:.92em;color:var(--gh-muted);line-height:1.8}
.gh-item__btn{
  align-self:flex-start;margin-top:auto;display:inline-block;
  padding:.75em 2em;border-radius:999px;background:var(--gh-berry);color:#fff!important;
  font-weight:700;letter-spacing:.04em;text-decoration:none!important;
  box-shadow:0 5px 14px rgba(140,59,74,.28);transition:transform .2s,background .2s;
}
.gh-item__btn::after{content:" ›"}
.gh-item__btn:hover{background:var(--gh-berry-dark);transform:translateY(-2px)}

/* ランキング [gh_rank] */
.gh-item--rank{padding-top:30px}
.gh-rank__badge{
  position:absolute;left:14px;top:-14px;display:grid;place-items:center;
  min-width:46px;height:46px;padding:0 12px;border-radius:23px;
  background:var(--gh-berry);color:#fff;font-family:var(--gh-serif);font-weight:700;font-size:1.15em;
  box-shadow:0 6px 14px rgba(140,59,74,.35);border:3px solid #fff;
}
.gh-item--rank-1 .gh-rank__badge{background:linear-gradient(135deg,#d9b36e,#b88a3f)}
.gh-item--rank-2 .gh-rank__badge{background:linear-gradient(135deg,#b9bcc2,#8d9098)}
.gh-item--rank-3 .gh-rank__badge{background:linear-gradient(135deg,#c98a5b,#9c6236)}
.gh-item--rank-1{border-color:var(--gh-gold);box-shadow:0 12px 34px rgba(193,154,91,.28)}

/* ポイント・注意ボックス */
.gh-box{margin:2em 0;padding:1.3em 1.5em 1.1em;border-radius:var(--gh-radius);background:var(--gh-gold-soft);border:1px solid #ead9b6}
.gh-box__title{margin:0 0 .6em!important;padding:0!important;border:none!important;font-family:var(--gh-serif);font-size:1.05em!important;color:#8a6a30}
.gh-box__title::before,.gh-box__title::after{display:none!important}
.gh-box--warn{background:var(--gh-berry-soft);border-color:#e6c6cd}
.gh-box--warn .gh-box__title{color:var(--gh-berry)}
.gh-box>:last-child{margin-bottom:0}

/* ========== 記事一覧・サイドバー ========== */
.p-postList__item{border-radius:var(--gh-radius)}
.-type-card .p-postList__item,.p-postList.-type-card .p-postList__link{border-radius:var(--gh-radius);overflow:hidden}
.p-postList__thumb{border-radius:8px;overflow:hidden}
.p-postList__thumb img{transition:transform .6s ease}
.p-postList__link:hover .p-postList__thumb img{transform:scale(1.05)}
.p-postList__title{font-family:var(--gh-serif);font-weight:700;line-height:1.6}
.c-widget{border-radius:var(--gh-radius)}
.c-widget__title{font-family:var(--gh-serif);letter-spacing:.08em;color:var(--gh-berry)}
.c-categoryList__link,.c-tagList__link{border-radius:999px}

/* ========== フッター ========== */
.l-footer{border-top:4px solid var(--gh-gold)}
.l-footer__foot{font-size:.8em;letter-spacing:.08em}

/* ========== スマホ ========== */
@media (max-width:599px){
  .gh-hero{min-height:280px;border-radius:12px}
  .gh-hero__title{font-size:1.55em}
  .gh-item{grid-template-columns:1fr;padding:16px;gap:14px}
  .gh-item__btn{align-self:stretch;text-align:center}
  .gh-cats{grid-template-columns:repeat(2,1fr)}
  .post_content h2{font-size:1.25em}
}

/* ========== 上書き（記事見出しの装飾をヒーロー等から外す） ========== */
.post_content .gh-hero__title,.gh-hero .gh-hero__title{
  color:#fff!important;padding:0!important;margin:0 0 .6em!important;border:none!important;font-size:2.1em;
}
.post_content .gh-hero__title::before,.post_content .gh-hero__title::after{display:none!important}
.gh-cats{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}
.gh-box p{margin:.3em 0}
.gh-box__title{margin:0 0 .3em!important}
@media (max-width:599px){
  .post_content .gh-hero__title{font-size:1.55em}
}

/* ========== 箱が開くオープニング ========== */
.gh-open{position:fixed;inset:0;z-index:99999;display:none;place-items:center;cursor:pointer;
  background:radial-gradient(circle at 50% 45%,#a24d5f,var(--gh-berry-dark) 70%);color:#fff;text-align:center}
html.gh-opening .gh-open{display:grid}
html.gh-opening{overflow:hidden}
.gh-open.is-done{opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s}
.gh-open__stage{position:relative;width:200px;height:230px;margin:0 auto}
.gh-gift__box{position:absolute;left:10px;bottom:0;width:180px;height:112px;border-radius:6px;
  background:linear-gradient(135deg,#e7c98c,#c19a5b);box-shadow:0 20px 40px rgba(0,0,0,.35);
  animation:ghDrop .7s cubic-bezier(.3,1.6,.5,1) both}
.gh-gift__box::before{content:"";position:absolute;left:78px;top:0;bottom:0;width:24px;background:#fff3;border-left:1px solid #fff5;border-right:1px solid #fff5}
.gh-gift__lid{position:absolute;left:0;bottom:104px;width:200px;height:38px;border-radius:6px;transform-origin:0 100%;
  background:linear-gradient(135deg,#f0d9a6,#cfa862);box-shadow:0 6px 14px rgba(0,0,0,.25);
  animation:ghDrop .7s cubic-bezier(.3,1.6,.5,1) both,ghLid .9s .9s cubic-bezier(.5,0,.2,1) forwards}
.gh-gift__lid::before{content:"";position:absolute;left:88px;top:0;bottom:0;width:24px;background:#fff3}
.gh-gift__lid::after{content:"";position:absolute;left:78px;top:-22px;width:44px;height:26px;border-radius:50% 50% 8px 8px;
  border:6px solid #fff;border-bottom:none;opacity:.9}
.gh-open__glow{position:absolute;left:50%;bottom:90px;width:160px;height:160px;margin-left:-80px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,236,190,.95),rgba(255,236,190,0) 70%);opacity:0;animation:ghGlow 1.4s .95s ease-out forwards}
.gh-open__logo{position:absolute;left:0;right:0;bottom:70px;font-family:var(--gh-serif);font-size:1.5em;letter-spacing:.2em;
  opacity:0;animation:ghRise 1.1s 1.5s ease-out forwards;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.gh-open__tap{position:absolute;left:0;right:0;bottom:-70px;font-size:.78em;letter-spacing:.2em;opacity:.7}
.gh-open__spark{position:absolute;width:8px;height:8px;border-radius:50%;background:#ffe9b8;opacity:0;animation:ghSpark 1.6s ease-out forwards}
.gh-open__spark:nth-of-type(1){left:30px;bottom:120px;animation-delay:1.1s}
.gh-open__spark:nth-of-type(2){right:30px;bottom:140px;animation-delay:1.25s}
.gh-open__spark:nth-of-type(3){left:80px;bottom:170px;animation-delay:1.4s}
.gh-open__spark:nth-of-type(4){right:70px;bottom:190px;animation-delay:1.55s}
@keyframes ghDrop{from{transform:translateY(-260px);opacity:0}to{transform:none;opacity:1}}
@keyframes ghLid{to{transform:translateY(-70px) rotate(-24deg)}}
@keyframes ghGlow{0%{opacity:0;transform:scale(.4)}60%{opacity:1}100%{opacity:.8;transform:scale(1.6)}}
@keyframes ghRise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(-36px)}}
@keyframes ghSpark{0%{opacity:0;transform:translateY(0) scale(.4)}30%{opacity:1}100%{opacity:0;transform:translateY(-70px) scale(1.3)}}
@media (prefers-reduced-motion:reduce){.gh-open{display:none!important}}

/* ========== ギフト診断 ========== */
.gh-quiz{margin:2.4em 0;padding:26px 22px 28px;border-radius:16px;text-align:center;
  background:linear-gradient(180deg,#fff,var(--gh-gold-soft));border:1px solid #ead9b6;box-shadow:var(--gh-shadow)}
.gh-quiz__head{font-family:var(--gh-serif);font-size:1.35em;font-weight:700;color:var(--gh-berry-dark);margin:0 0 .2em;letter-spacing:.05em}
.gh-quiz__lead{margin:0 0 1.2em;font-size:.88em;color:var(--gh-muted)}
.gh-quiz__bar{height:6px;margin:0 auto 1.4em;max-width:360px;border-radius:99px;background:#eadfd2;overflow:hidden}
.gh-quiz__bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--gh-gold),var(--gh-berry));transition:width .5s ease}
.gh-quiz__q{margin:0 0 1em;font-family:var(--gh-serif);font-size:1.1em;font-weight:700}
.gh-quiz__choices{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.gh-quiz__choice{min-width:130px;padding:.9em 1.4em;border:2px solid var(--gh-berry);border-radius:999px;background:#fff;
  color:var(--gh-berry);font-weight:700;font-size:1em;cursor:pointer;transition:all .2s}
.gh-quiz__choice:hover{background:var(--gh-berry);color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px rgba(140,59,74,.3)}
.gh-quiz__loading{padding:1.5em 0;color:var(--gh-muted);line-height:2}
.gh-quiz__loading span{display:inline-block;width:12px;height:12px;margin:0 4px;border-radius:50%;background:var(--gh-gold);animation:ghBounce .9s infinite ease-in-out}
.gh-quiz__loading span:nth-child(2){animation-delay:.15s}.gh-quiz__loading span:nth-child(3){animation-delay:.3s}
@keyframes ghBounce{0%,80%,100%{transform:scale(.5);opacity:.5}40%{transform:scale(1.2);opacity:1}}
.gh-quiz__result{text-align:left;animation:ghPop .6s cubic-bezier(.3,1.4,.5,1) both}
@keyframes ghPop{from{opacity:0;transform:scale(.9) translateY(14px)}to{opacity:1;transform:none}}
.gh-quiz__q--result{color:var(--gh-berry);font-size:1.2em}
.gh-quiz__again{margin-top:.6em;padding:.5em 1.4em;border:none;background:none;color:var(--gh-muted);text-decoration:underline;cursor:pointer}
@media (max-width:599px){.gh-quiz{padding:20px 14px}.gh-quiz__choice{min-width:0;flex:1 1 40%}}
.gh-open__logo{left:-80px;right:-80px;bottom:128px;white-space:nowrap}
@keyframes ghRise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(-50px)}}
.gh-open__logo{bottom:262px}
@keyframes ghRise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.gh-open__logo{bottom:305px}

/* ========== トップページ（front-page.php） ========== */
.gh-sec{display:flex;align-items:baseline;gap:.8em;margin:2.4em 0 1em;font-family:var(--gh-serif);font-size:1.4em;letter-spacing:.06em;color:var(--gh-ink)}
.gh-sec small{font-family:sans-serif;font-size:.5em;letter-spacing:.3em;color:var(--gh-gold)}
.gh-new{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.gh-card{display:flex;flex-direction:column;gap:.5em;padding-bottom:14px;background:#fff;border:1px solid var(--gh-line);border-radius:var(--gh-radius);
  overflow:hidden;color:var(--gh-ink)!important;text-decoration:none!important;box-shadow:0 2px 0 var(--gh-gold-soft);transition:transform .25s,box-shadow .25s}
.gh-card:hover{transform:translateY(-4px);box-shadow:var(--gh-shadow)}
.gh-card__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--gh-cream)}
.gh-card__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.gh-card:hover .gh-card__img img{transform:scale(1.06)}
.gh-card__img i{display:grid;place-items:center;height:100%;font-size:3em;font-style:normal}
.gh-card__cat{align-self:flex-start;margin:0 14px;padding:.1em .8em;border-radius:999px;background:var(--gh-berry-soft);color:var(--gh-berry);font-size:.72em;font-weight:700}
.gh-card__title{margin:0 14px;font-family:var(--gh-serif);font-weight:700;line-height:1.6}
.gh-card__date{margin:0 14px;font-size:.75em;color:var(--gh-muted)}
.gh-front .l-mainContent{padding-top:1.5em}

/* ========== 広告枠（ズレ防止の高さ確保・「広告」表示） ========== */
.gh-ad{position:relative;clear:both;margin:2.4em 0;padding:1.6em 0 .4em;min-height:280px;text-align:center}
.gh-ad__label{position:absolute;left:0;top:0;font-size:.7em;letter-spacing:.2em;color:var(--gh-muted)}
.gh-ad ins{min-height:250px}
/* ========== お問い合わせフォーム ========== */
.gh-form input[type=text],.gh-form input[type=email],.gh-form textarea{width:100%;padding:.7em .9em;border:1px solid var(--gh-line);border-radius:8px;background:#fff;font-size:1em}
.gh-form input:focus,.gh-form textarea:focus{outline:2px solid var(--gh-gold);border-color:transparent}
.gh-form__msg{padding:.8em 1em;border-radius:8px;background:var(--gh-gold-soft)}
.gh-form__msg--ng,.gh-form__msg--wait{background:var(--gh-berry-soft);color:var(--gh-berry)}
/* ========== このサイトについて（トップ） ========== */
.gh-about{margin:3em 0 1em;padding:1.6em 1.8em;border-radius:var(--gh-radius);background:#fff;border:1px solid var(--gh-line);border-left:4px solid var(--gh-gold)}
.gh-about h2{margin:0 0 .5em!important;padding:0!important;border:none!important;font-family:var(--gh-serif);font-size:1.15em!important}
.gh-about h2::before,.gh-about h2::after{display:none!important}
.gh-about p{margin:.4em 0;font-size:.92em;color:var(--gh-muted);line-height:1.9}
