/* ---------- tokens ---------- */
:root{
  --shiro:#FFFFFF;
  --gofun:#F6F4EF;
  --sumi:#1A1A1A;
  --usuzumi:#595551;
  --kei:#E3E0DA;
  --nori:#121212;
  --kogane:#8A6B28;           /* ロゴの金茶（実測 #94742C を小さな文字でも読める濃度に調整）。差し色はこの一系統のみ */
  --kogane-nama:#94742C;      /* 原色の金茶：暗地・罫・大きな数字用 */
  --serif:"Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN",serif;
  --sans:"Zen Kaku Gothic New","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
  --max:1060px;
  --pad:24px;
  /* 間隔スケール（8px基準）：セクション=sp6 / 大きな塊=sp4 / 見出し下=sp3 */
  --sp-1:8px;
  --sp-2:16px;
  --sp-3:24px;
  --sp-4:40px;
  --sp-5:64px;
  --sp-6:96px;
}

/* ---------- base ---------- */
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:var(--sans);
  color:var(--sumi);
  background:var(--shiro);
  font-size:15.5px;
  line-height:2;
  letter-spacing:.02em;
  line-break:strict;
  -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
}
a{color:var(--sumi);text-decoration:none}
a:hover{color:var(--usuzumi)}
:focus-visible{outline:2px solid var(--sumi);outline-offset:3px}
img,svg{display:block;max-width:100%}
p{text-wrap:pretty}
h1,h2{font-feature-settings:"palt";text-spacing-trim:trim-start;text-wrap:balance}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.skip{position:fixed;top:12px;left:12px;z-index:100;background:var(--sumi);color:#fff;
  padding:12px 18px;font-size:12.5px;letter-spacing:.08em;transform:translateY(-260%)}
.skip:focus{transform:none}
#main:focus{outline:none}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--kei);
}
.h-inner{max-width:var(--max);margin:0 auto;padding:0 var(--pad);
  display:flex;align-items:center;gap:20px;height:64px}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.brand img{height:40px;width:auto}
.brand .name{font-family:var(--serif);font-weight:700;font-size:16px;letter-spacing:.06em;line-height:1.3}
.brand .name small{display:block;font-family:var(--sans);font-weight:500;font-size:9px;letter-spacing:.28em;color:var(--usuzumi)}
header nav{margin-left:auto;display:flex;align-items:center;gap:26px;overflow-x:auto;scrollbar-width:none}
header nav::-webkit-scrollbar{display:none}
header nav a{font-size:13px;font-weight:500;letter-spacing:.1em;white-space:nowrap;padding:6px 0;border-bottom:2px solid transparent}
header nav a.on{border-bottom-color:var(--kogane-nama)}
.h-cta{flex-shrink:0;font-size:12.5px;font-weight:700;letter-spacing:.12em;
  border:1px solid var(--sumi);padding:9px 18px;border-radius:2px;white-space:nowrap}
.h-cta:hover{background:var(--sumi);color:#fff}

/* ---------- page ---------- */
.page{display:block}

/* ---------- section / 柱 ---------- */
section{padding:var(--sp-6) 0}
section.tight{padding-top:0}
.sec{max-width:var(--max);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:56px 1fr;gap:0 28px}
.hashira{
  writing-mode:vertical-rl;
  font-size:11.5px;font-weight:700;letter-spacing:.5em;color:var(--kogane);
  border-left:1px solid var(--kei);padding-left:14px;height:max-content;
}
.body{min-width:0}
.sec h2{font-family:var(--serif);font-weight:700;font-size:clamp(23px,3.2vw,31px);
  letter-spacing:.06em;line-height:1.65;margin-bottom:var(--sp-3);}
.sec h2.slack{margin-top:var(--sp-4);}
.sec .lead{max-width:640px}
.note{font-size:12px;color:var(--usuzumi);line-height:1.9}
.body>.note{margin-top:14px}
.more{position:relative;display:inline-block;margin-top:var(--sp-3);font-size:13px;font-weight:700;letter-spacing:.14em;
  border-bottom:1px solid var(--sumi);padding-bottom:3px}
.more::after{content:"　→"}
.more::before{content:"";position:absolute;inset:-12px -6px}  /* タップ領域の拡張（不可視） */
.more:hover{color:var(--usuzumi);border-bottom-color:var(--usuzumi)}
.crumb{font-size:11px;letter-spacing:.16em;color:var(--usuzumi);margin-bottom:16px}
.crumb a{color:inherit;border-bottom:1px solid var(--kei)}

/* ---------- hero ---------- */
.hero{padding:104px 0 84px}
.hero h1{font-family:var(--serif);font-weight:700;
  font-size:clamp(30px,5.6vw,52px);line-height:1.7;letter-spacing:.06em}
.hero.sub{padding-bottom:var(--sp-5)}
.hero.sub h1{font-size:clamp(26px,4.4vw,40px)}
.hero .lead{margin-top:28px;max-width:620px}
.cta-row{margin-top:var(--sp-4);display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;font-size:13.5px;font-weight:700;letter-spacing:.14em;
  padding:15px 30px;border-radius:2px;border:1px solid var(--sumi);text-align:center}
.btn:hover{color:var(--sumi);background:var(--gofun)}
.btn.fill{background:var(--sumi);color:#fff}
.btn.fill:hover{background:var(--nori);color:#fff}
.rise{opacity:0;transform:translateY(14px);animation:rise .8s cubic-bezier(.2,.7,.2,1) forwards}
.rise.d1{animation-delay:.08s}.rise.d2{animation-delay:.2s}.rise.d3{animation-delay:.34s}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.rise{animation:none;opacity:1;transform:none}}

/* ---------- stats ---------- */
.stats{border-top:1px solid var(--kei);border-bottom:1px solid var(--kei)}
.stats .row{max-width:var(--max);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:32px 8px;text-align:center}
.stat + .stat{border-left:1px solid var(--kei)}
.stat b{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(26px,4vw,40px);line-height:1.2;letter-spacing:.03em;color:var(--kogane-nama)}
.stat span{display:block;margin-top:8px;font-size:11.5px;letter-spacing:.14em;color:var(--usuzumi);line-height:1.7}
.stats .cap{max-width:var(--max);margin:0 auto;padding:10px var(--pad) 14px;text-align:right;font-size:11px;color:var(--usuzumi)}

/* ---------- photo slot (実素材が届いたら assets/photos に置くだけ) ---------- */
.ph{position:relative;aspect-ratio:16/9;border:1px solid var(--kei);overflow:hidden;
  background:repeating-linear-gradient(45deg,var(--gofun) 0 12px,#EAE7E0 12px 24px)}
.ph>picture{position:absolute;inset:0;display:block;}
.ph img{width:100%;height:100%;object-fit:cover;display:block;opacity:1;transition:opacity .5s ease}
.ph img.loaded{opacity:1}
.ph .cap{position:absolute;left:0;bottom:0;z-index:2;background:var(--shiro);
  font-size:11px;letter-spacing:.1em;color:var(--usuzumi);padding:6px 12px;border-top:1px solid var(--kei);border-right:1px solid var(--kei)}
.ph.is-empty::after{content:"写真準備中";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:12px;letter-spacing:.24em;color:var(--usuzumi);opacity:.55}
@media (prefers-reduced-motion:reduce){.ph img{transition:none}}

/* ---------- cards / grids ---------- */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--kei);border:1px solid var(--kei)}
.cell{background:var(--shiro);padding:32px 28px}
.cell h2{font-family:var(--serif);font-weight:700;font-size:18.5px;letter-spacing:.06em;margin-bottom:12px;font-feature-settings:"palt"}
.cell h3{font-family:var(--serif);font-weight:700;font-size:18.5px;letter-spacing:.06em;margin-bottom:12px;font-feature-settings:"palt"}
.cell p{font-size:14px;color:var(--usuzumi);line-height:2.05}
.cell .more{margin-top:14px;font-size:12px}

.band{background:var(--gofun);border-top:1px solid var(--kei);border-bottom:1px solid var(--kei)}
.band-dark{background:var(--nori);color:#fff}
.band-dark a{color:#fff}
.band-dark a:hover{color:#C9C5BE}
.band-dark .hashira{color:var(--kogane-nama);border-left-color:#333}
.band-dark h2{color:#fff}
.band-dark .lead{color:#C9C5BE}
.band-dark .more{border-bottom-color:#fff}
.band-dark .more:hover{border-bottom-color:#C9C5BE}
.band-dark :focus-visible{outline-color:#fff}

/* ---------- news ---------- */
.news{border-top:1px solid var(--kei)}
.news li{list-style:none;display:grid;grid-template-columns:110px 1fr;gap:18px;
  padding:14px 4px;border-bottom:1px solid var(--kei);align-items:baseline}
.news time{font-size:12.5px;letter-spacing:.1em;color:var(--usuzumi);font-feature-settings:"tnum"}
.news a{display:inline-block;font-size:14.5px;padding:6px 0}
.news a:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}

/* ---------- tables ---------- */
table{width:100%;border-collapse:collapse;font-size:13.5px;line-height:1.9}
th,td{border:1px solid var(--kei);padding:14px 16px;text-align:left;vertical-align:top}
thead th{background:var(--gofun);font-weight:700;font-size:12.5px;letter-spacing:.08em;white-space:nowrap}
thead th:nth-child(1){width:16%}
thead th:nth-child(2){width:26%}
tbody th{background:var(--shiro);font-weight:700}
td .sub{font-size:12px;color:var(--usuzumi)}
.table-scroll{overflow-x:auto}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--kei);border:1px solid var(--kei);counter-reset:step}
.steps.three{grid-template-columns:repeat(3,1fr);padding: 10px;}
#page-kentei .steps{gap:40px;}
.step{background:var(--shiro);padding:26px 22px;counter-increment:step}
.step::before{content:counter(step,decimal-leading-zero);
  font-family:var(--serif);font-size:13px;letter-spacing:.2em;color:var(--kogane);display:block;margin-bottom:10px}
.step h3,.step h4{font-size:15px;font-weight:700;letter-spacing:.06em;margin-bottom:8px}
.step p{font-size:12.5px;color:var(--usuzumi);line-height:1.95}
@media (max-width:760px){
.steps.three{
  grid-template-columns:1fr;
}
#page-kentei .steps{gap:10px;}
#page-kentei .steps.three{grid-template-columns:1fr}
}
/* ---------- pull quote ---------- */
.pull{border-left:2px solid var(--kogane-nama);padding:6px 0 6px 26px;max-width:620px;margin-top:26px}
.pull p{font-family:var(--serif);font-size:17px;line-height:2.2;letter-spacing:.04em}
.pull cite{display:block;margin-top:10px;font-size:12px;color:var(--usuzumi);font-style:normal;letter-spacing:.1em}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 8px;padding:0;list-style:none}
.chips li{font-size:12px;letter-spacing:.06em;border:1px solid var(--kei);background:#FFFFFF;padding:7px 12px;border-radius:2px}
.chips a{color:inherit;text-decoration:none}
.chips a:hover{text-decoration:underline}
.chips li.active{background:var(--kogane);color:#fff;border-color:var(--kogane)}
.chips li img{
  width:100px;height:auto;
  object-fit:contain;display:block;
}
.chips li span.alt-text{
  text-align:center;display:block;margin-top:6px;font-size:7px;color:var(--usuzumi);line-height:1.5
}

/* ---------- contact cards ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--kei);border:1px solid var(--kei)}
.grid3 .cell{padding:26px 24px}
.grid3 .cell h3{font-size:15.5px;font-family:var(--sans);font-weight:700;font-feature-settings:normal}
.mailline{margin-top:34px;padding:26px 30px;border:1px solid var(--sumi);display:flex;flex-wrap:wrap;gap:8px 26px;align-items:baseline}
.mailline b{font-family:var(--serif);font-size:19px;letter-spacing:.04em;overflow-wrap:anywhere}

/* ---------- EN page ---------- */
.en p,.en li{line-height:1.95;letter-spacing:.01em}
.en .sec h2{letter-spacing:.02em}
.en .hero h1{font-size:clamp(30px,5.2vw,50px);line-height:1.5;letter-spacing:.01em}

/* ---------- footer ---------- */
footer{background:var(--nori);color:#C9C5BE}
footer .wrap{padding:56px var(--pad) 40px}
footer .f-brand{display:flex;align-items:center;gap:11px;margin-bottom:22px}
footer .f-brand img{height:30px;width:auto}
footer .f-brand .name{font-family:var(--serif);color:#fff;font-size:15px;letter-spacing:.08em}
footer p{font-size:12px;line-height:2.1}
footer a{color:#fff;font-size:12px;letter-spacing:.1em}
footer a:hover{color:#C9C5BE}
footer :focus-visible{outline-color:#fff}
.f-cols{display:flex;flex-wrap:wrap;gap:0 32px;margin:12px 0 18px}
.f-cols a{display:inline-block;padding:10px 0}
.f-warn{border-top:1px solid #2C2C2C;padding-top:18px;font-size:11px;color:#8F8B84}
.copyright{margin-top:14px;font-size:11px;color:#8F8B84;letter-spacing:.1em}

/* ---------- responsive ---------- */
@media (max-width:760px){
  :root{--pad:20px;--sp-4:32px;--sp-5:44px;--sp-6:64px}
  .hero{padding:64px 0 48px}
  .sec{grid-template-columns:1fr;gap:16px 0}
  .hashira{font-size:10.5px;letter-spacing:.34em;padding-left:10px}  /* 縦書きのまま高さを抑える */
  .stats .row{grid-template-columns:1fr 1fr}
  .stat{padding:26px 8px;border-top:1px solid var(--kei)}
  .stat:nth-child(3){border-left:none}
  .stat:nth-child(1),.stat:nth-child(2){border-top:none}
  .grid2,.grid3,.steps{grid-template-columns:1fr;}
  .cell{padding:26px 20px}
  .h-inner{height:56px;gap:14px}
  .brand .name{font-size:13.5px}
  .brand img{height:34px}
  .brand .name small{display:none}
  header nav{gap:16px}
  header nav a{padding:12px 4px}
  .h-cta{font-size:11.5px;letter-spacing:.08em;padding:12px 14px;position:absolute;top:5px;right:60px;}
  .news li{grid-template-columns:1fr;gap:0;padding:12px 2px}
  .ph{aspect-ratio:16/9}
  .table-scroll{margin:0 calc(var(--pad)*-1);padding:0 var(--pad)}
  .table-scroll table{min-width:640px}
  .mailline{padding:20px;gap:6px 20px}
  .mailline b{font-size:16px}
}

/* ---------- form embed slot（公開時にフォームサービスの埋め込みコードを差し込む） ---------- */
.form-embed{margin-top:var(--sp-4);border:1px solid var(--kei);background:var(--gofun);
  min-height:200px;display:flex;align-items:center;justify-content:center;padding:32px 24px}
.form-embed__note{font-size:13px;color:var(--usuzumi);letter-spacing:.06em;text-align:center;line-height:2}
.form-embed iframe{width:100%;border:0}

/* ---------- 会員ロゴグリッド ---------- */
.lg-h{font-size:15px;letter-spacing:.14em;font-weight:700;margin:36px 0 14px}
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;padding:0;margin:0 0 6px;list-style:none}
.logos li{border:1px solid var(--kei);background:var(--shiro,#FFFFFF);display:flex;align-items:center;justify-content:center;text-align:center;padding:8px}
.logos li span,.logos li a{font-size:10.5px;letter-spacing:.06em;line-height:1.55;color:var(--usuzumi);text-decoration:none}
.logos li a:hover{color:var(--sumi);text-decoration:underline}
.logos img{width:auto;max-height:70%;object-fit:contain}
.logos span.alt-text{
  text-align:center;display:block;margin-top:6px;font-size:7px;color:var(--usuzumi);line-height:1.5;
}
/* ---------- 認定ショーケース ---------- */
.certgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0 8px}
.cert .ph{aspect-ratio:4/3}
.cert h3{font-family:var(--serif,"Shippori Mincho B1"),serif;font-size:17px;letter-spacing:.08em;margin:12px 0 4px}
.cert p{font-size:12.5px;letter-spacing:.05em;color:var(--usuzumi)}
@media (max-width:760px){.certgrid{grid-template-columns:1fr}}

/* ---------- お問い合わせフォーム ---------- */
.cform{margin-top:34px;max-width:640px}
.frow{margin-bottom:18px}
.frow label{display:block;font-size:12px;letter-spacing:.14em;color:var(--usuzumi);margin-bottom:8px}
.cform input,.cform select,.cform textarea{width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--kei);background:var(--shiro,#FFFFFF);color:var(--sumi);border-radius:0}
.cform textarea{resize:vertical;line-height:1.8}
.cform select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--usuzumi) 50%),linear-gradient(135deg,var(--usuzumi) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.agree{display:block;font-size:13px;letter-spacing:.04em;margin:4px 0 22px}
.agree input{width:auto}
button.btn{appearance:none;cursor:pointer;font:inherit}

/* ---------- 応援団 ---------- */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;margin-top:26px}
.person{border:1px solid var(--kei);background:var(--shiro,#FFFFFF);padding:22px}
.p-photo{aspect-ratio:1;border:none;border-radius:50%;background:var(--gofun);
         display:flex;align-items:center;justify-content:center;overflow:hidden;width: 50%;height: auto;margin: 0 auto;}
.p-photo img{width:88%;height:88%;object-fit:contain}
.p-field{display:inline-block;font-size:10.5px;letter-spacing:.2em;color:var(--kogane,#94742C);border:1px solid currentColor;padding:3px 10px;margin-bottom:10px}
.person h3{font-family:var(--serif,"Shippori Mincho B1"),serif;font-size:18px;letter-spacing:.1em;margin:0 0 4px}
.p-org{font-size:12px;letter-spacing:.06em;color:var(--usuzumi);margin:0 0 10px}
.p-org a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.p-fav{font-size:12px;line-height:1.9;color:var(--sumi);margin:0 0 8px}
.p-note{font-size:12.5px;line-height:2;color:var(--sumi);margin:0}
/* ---------- 認定一覧 ---------- */
.clist{display:grid;gap:26px;margin-top:24px}
.citem{display:grid;grid-template-columns:180px 1fr;gap:22px;border:1px solid var(--kei);background:var(--shiro,#FFFFFF);padding:22px}
.c-photo{aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.c-photo img{max-width:100%;max-height:100%;object-fit:contain}
.c-cat{display:inline-block;font-size:10.5px;letter-spacing:.18em;color:var(--kogane,#94742C);border:1px solid currentColor;padding:3px 10px;margin-bottom:10px}
.citem h3{font-family:var(--serif,"Shippori Mincho B1"),serif;font-size:18px;letter-spacing:.06em;margin:0 0 4px}
.citem h3 a{color:inherit;text-decoration:none}
.citem h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.c-co{font-size:12px;color:var(--usuzumi);margin:0 0 10px}
.c-body p{font-size:13.5px;line-height:2}
.c-meta{font-size:11.5px;letter-spacing:.08em;color:var(--usuzumi);margin-top:10px}
.citem.past{opacity:.75}
@media (max-width:640px){.citem{grid-template-columns:1fr}.c-photo{max-height:220px;margin: 0 auto;}}

.certgrid.five{grid-template-columns:repeat(5,1fr)}
.certgrid .ph.sq{aspect-ratio:1;background:var(--shiro,#fff);border:1px solid var(--kei);display:flex;align-items:center;justify-content:center}
.certgrid .ph.sq img{max-width:86%;max-height:86%;object-fit:contain}
@media (max-width:900px){.certgrid.five{grid-template-columns:repeat(2,1fr)}}

/* ---------- ハンバーガーメニュー（760px以下） ---------- */
.nav-toggle{display:none}
.gnav-overlay[hidden]{display:none}
@media (max-width:760px){
  .h-inner{gap:10px}
  header nav{display:block;}
  header nav[aria-label="主要メニュー"]{display:none}
  .brand img{width:32px;height:auto}
  .brand .name{font-size:11px;letter-spacing:.14em}
  .brand .name small{display:none}
  .h-cta{padding:8px 10px;font-size:11px;letter-spacing:.12em;white-space:nowrap}
  .nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;min-width:44px;background:transparent;border:1px solid var(--kei);cursor:pointer;padding:0;position:absolute;top:5px;right:10px;z-index:1001;}
  .nav-toggle span{display:block;width:18px;height:1.5px;background:var(--sumi);transition:transform .25s ease,opacity .2s ease}
  body.nav-open .nav-toggle{position:fixed;top:5px;right:10px;z-index:1001;background:var(--gofun)}
  body.nav-open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  body.nav-open .nav-toggle span:nth-child(2){opacity:0}
  body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .gnav-overlay{position:fixed;inset:0;z-index:1000;background:var(--gofun);padding:86px 26px 40px;overflow:auto;-webkit-overflow-scrolling:touch;height:100dvh;}
  .gnav-list a{display:block;width:100%;padding:17px 4px;border-bottom:1px solid var(--kei);font-family:var(--serif,"Shippori Mincho B1"),serif;font-size:17px;letter-spacing:.16em;color:var(--sumi);text-decoration:none}
  .gnav-list a.on{color:var(--kogane,#94742C);border-bottom: 1px solid var(--kei);}
  .gnav-list .g-cta{display:block;margin-top:30px;border:1px solid var(--sumi);text-align:center;font-family:var(--sans,"Zen Kaku Gothic New"),sans-serif;font-size:13px;letter-spacing:.2em;padding:15px 4px;color:var(--sumi);text-decoration:none}
  body.nav-open{overflow:hidden}
}
@media (max-width:374px){
  .brand .name{
    font-size:10px;letter-spacing:.12em;
  }
  .h-cta{
    padding:6px 8px;font-size:10px;letter-spacing:.1em;margin: 4px 0 0 0;
  }
}
@media (max-width:345px){
  .h-cta{
    display:none;
  }
}
@media (min-width:761px){.gnav-overlay{display:none!important}}



/* ---------- ページング ---------- */
#pagenavi{
  display:block;
  padding: 20px 0;
}
#pagenavi:after{
  content: "";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both;
}
#pagenavi .prev{
  float:left;
}
#pagenavi .next{
  float:right;
}

/* ---------- single ---------- */
#page-news [itemprop="text"]{
  padding:40px 0;
}
#page-news [itemprop="text"] p,
#page-news [itemprop="text"] dl{
  margin-bottom:16px;
}
#page-news [itemprop="text"] dt{
  font-weight:700;
}
#page-news [itemprop="text"] a{
  text-decoration:underline dotted 1px  var(--usuzumi);
}