/* ============================================================
   SPOT MEETING — 下層ページ共通デザインシステム
   「溶け合う」: goo / 4色 / 混色 / 神戸モチーフ
   ============================================================ */
:root{
  --web:  #F2762E;
  --meo:  #4FB9E2;
  --gra:  #17365C;
  --line: #3DA864;
  --mix4: #3FB8AC;          /* 4色が溶け合った色(神戸の海) */
  --bg:   #F7F2E8;
  --paper:#FFFDF6;
  --ink:  #1E2127;
  --cream:#F1EADB;
  --hairline: rgba(30,33,39,.14);
  --maru:"Zen Maru Gothic", sans-serif;
  --sans:"Zen Kaku Gothic New", sans-serif;
  --dot: "DotGothic16", monospace;
  --ease-out: cubic-bezier(.22,1,.36,1);
  --ease-melt: cubic-bezier(.65,0,.35,1);
  --ease-jelly: cubic-bezier(.34,1.65,.5,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--sans);background:var(--bg);color:var(--ink);
  line-height:2;overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
::selection{background:var(--web);color:#fff;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit;}
img{max-width:100%;display:block;}

body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9990;
  opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- 固定UI ---- */
#progress{
  position:fixed;top:0;left:0;height:3px;width:0%;z-index:9980;
  background:linear-gradient(90deg,var(--web),var(--meo),var(--line),var(--gra));
}
#cursor{
  position:fixed;top:0;left:0;width:16px;height:16px;border-radius:50%;
  background:var(--ink);z-index:9985;pointer-events:none;opacity:0;
  mix-blend-mode:exclusion;transition:opacity .3s;
}
body.cursor-on #cursor{opacity:1;}
#cursor.grow{background:#fff;}
@media (hover:none){#cursor{display:none;}}

.badge{
  position:fixed;right:28px;bottom:28px;z-index:9000;width:100px;height:100px;
  display:flex;align-items:center;justify-content:center;
}
.badge svg{position:absolute;inset:0;animation:spin 16s linear infinite;}
.badge:hover svg{animation-duration:5s;}
.badge text{font-family:var(--dot);font-size:12.5px;letter-spacing:.16em;fill:var(--ink);}
.badge-core{
  width:48px;height:48px;border-radius:50%;background:var(--web);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:18px;
  transition:transform .5s var(--ease-jelly),background .4s;
}
.badge:hover .badge-core{transform:scale(1.16);background:var(--ink);}
@keyframes spin{to{transform:rotate(360deg);}}
@media(max-width:760px){.badge{right:14px;bottom:14px;transform:scale(.8);}}

/* ---- ヘッダー(ピル) ---- */
header.site-head{
  position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:9100;
  display:flex;align-items:center;gap:6px;
  background:rgba(255,253,246,.74);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid var(--hairline);border-radius:99px;padding:7px 9px 7px 18px;
  box-shadow:0 12px 36px -18px rgba(23,54,92,.3);
  width:max-content;max-width:calc(100vw - 20px);
}
.logo{display:flex;align-items:center;gap:9px;font-family:var(--maru);font-weight:900;font-size:15px;letter-spacing:.03em;margin-right:8px;}
.logo-mark{filter:url(#goo);width:28px;height:28px;position:relative;flex:none;}
.logo-mark i{position:absolute;width:14px;height:14px;border-radius:50%;transition:translate .55s var(--ease-jelly);}
.logo-mark i:nth-child(1){background:var(--web); top:0;left:0;}
.logo-mark i:nth-child(2){background:var(--meo); top:0;right:0;}
.logo-mark i:nth-child(3){background:var(--line);bottom:0;left:0;}
.logo-mark i:nth-child(4){background:var(--gra); bottom:0;right:0;}
.logo:hover .logo-mark i:nth-child(1){translate:7px 7px;}
.logo:hover .logo-mark i:nth-child(2){translate:-7px 7px;}
.logo:hover .logo-mark i:nth-child(3){translate:7px -7px;}
.logo:hover .logo-mark i:nth-child(4){translate:-7px -7px;}
.logo-mark::after{
  content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;
  border-radius:50%;background:var(--mix4);scale:0;transition:scale .55s var(--ease-jelly) .12s;
}
.logo:hover .logo-mark::after{scale:1.25;}
header.site-head nav{display:flex;gap:2px;}
header.site-head nav a{
  font-size:12px;font-weight:700;letter-spacing:.1em;padding:7px 13px;border-radius:99px;
  transition:background .3s,color .3s;
}
header.site-head nav a:hover{background:var(--ink);color:var(--cream);}
.nav-cta{
  background:var(--ink);color:var(--cream);font-size:12px;font-weight:700;letter-spacing:.08em;
  padding:9px 18px;border-radius:99px;position:relative;overflow:hidden;flex:none;
}
.nav-cta span{position:relative;z-index:1;}
.nav-cta::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--web),var(--meo),var(--line),var(--gra));
  translate:-101% 0;transition:translate .5s var(--ease-melt);
}
.nav-cta:hover::before{translate:0 0;}
@media(max-width:860px){header.site-head nav{display:none;} .logo{margin-right:4px;}}

/* ---- ページヒーロー ---- */
.page-hero{position:relative;padding:160px 0 70px;overflow:clip;}
.page-blobs{position:absolute;inset:-12% -8% 0 -8%;filter:url(#gooBig);opacity:.35;z-index:0;}
.page-blobs i{position:absolute;border-radius:50%;will-change:transform;}
.page-hero .wrap{position:relative;z-index:1;}
.crumbs{
  font-family:var(--dot);font-size:11.5px;letter-spacing:.14em;color:#6a6e75;
  display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;
}
.crumbs a:hover{color:var(--web);}
.crumbs li:not(:last-child)::after{content:"▶";margin-left:10px;font-size:9px;color:var(--web);}
.crumbs li{display:flex;align-items:center;}
.page-label{
  font-family:var(--dot);font-size:12.5px;letter-spacing:.28em;display:flex;align-items:center;gap:14px;color:#56524a;
}
.page-label::after{content:"";flex:0 0 52px;height:2px;background:currentColor;opacity:.35;}
.page-hero h1{
  font-family:var(--maru);font-weight:900;font-size:clamp(24px,3.4vw,40px);
  line-height:1.9;letter-spacing:.05em;margin-top:16px;
}
.melt-underline{
  display:block;position:relative;height:16px;width:min(300px,70vw);
  filter:url(#goo);margin-top:4px;
}
.melt-underline i{
  position:absolute;top:2px;height:12px;width:31%;border-radius:99px;
  animation:underMelt 4.2s ease-in-out infinite alternate;
}
.melt-underline i:nth-child(1){left:0;background:var(--web);}
.melt-underline i:nth-child(2){left:24%;background:var(--meo);animation-delay:.5s;}
.melt-underline i:nth-child(3){left:48%;background:var(--line);animation-delay:1s;}
.melt-underline i:nth-child(4){left:72%;background:var(--gra);animation-delay:1.5s;}
@keyframes underMelt{0%{translate:0 0;scale:1 1;}100%{translate:14px 0;scale:1.25 .8;}}
.page-lead{margin-top:24px;max-width:640px;font-size:14.5px;color:#3f4147;}
.page-lead b{background:linear-gradient(transparent 62%,rgba(242,118,46,.38) 62%);font-weight:900;}
.hero-ctas{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}

/* ---- 汎用 ---- */
.wrap{max-width:1140px;margin:0 auto;padding:0 48px;}
@media(max-width:860px){.wrap{padding:0 24px;}}
.sec-label{
  font-family:var(--dot);font-size:12.5px;letter-spacing:.28em;display:flex;align-items:center;gap:14px;
}
.sec-label::after{content:"";flex:0 0 52px;height:2px;background:currentColor;opacity:.35;}
.sec-title{
  font-family:var(--maru);font-weight:900;font-size:clamp(19px,2.3vw,28px);line-height:2;margin-top:14px;letter-spacing:.04em;
}
section{position:relative;}
.rv{opacity:0;transform:translateY(44px);transition:opacity .9s ease,transform 1s var(--ease-out);transition-delay:var(--d,0s);}
.rv.in{opacity:1;transform:none;}

.btn{
  display:inline-flex;align-items:center;gap:11px;
  font-family:var(--maru);font-weight:900;font-size:14px;letter-spacing:.05em;
  padding:15px 32px;border-radius:99px;position:relative;overflow:hidden;
  border:2px solid var(--ink);cursor:pointer;background:transparent;color:var(--ink);
  transition:color .4s var(--ease-out),transform .3s var(--ease-jelly);
}
.btn:active{transform:scale(.94);}
.btn .t,.btn .ar{position:relative;z-index:1;}
.btn::before{
  content:"";position:absolute;left:50%;top:50%;width:0;height:0;border-radius:50%;
  transform:translate(-50%,-50%);transition:width .55s var(--ease-melt),height .55s var(--ease-melt);
}
.btn:hover::before{width:120%;height:350%;}
.btn .ar{transition:transform .4s var(--ease-jelly);}
.btn:hover .ar{transform:translateX(6px);}
.btn-fill{background:var(--ink);color:var(--cream);}
.btn-fill::before{background:var(--web);}
.btn-ghost::before{background:var(--ink);}
.btn-ghost:hover{color:var(--cream);}

/* ---- 記事カード(一覧・関連) ---- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:960px){.post-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto;}}
.post{
  background:var(--paper);border:1.5px solid var(--hairline);border-radius:24px;overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .55s var(--ease-jelly),box-shadow .55s,border-color .4s;
}
.post:hover{transform:translateY(-8px);box-shadow:0 30px 56px -32px rgba(23,54,92,.35);border-color:var(--ink);}
.post-eye{aspect-ratio:16/9;position:relative;overflow:hidden;background:var(--cream);}
.post-eye img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out);}
.post:hover .post-eye img{transform:scale(1.06);}
.post-eye.noimg{display:flex;align-items:center;justify-content:center;}
.post-eye .ph{filter:url(#goo);width:124px;height:72px;position:relative;}
.post-eye .ph i{position:absolute;border-radius:50%;}
.post-eye .ph i:nth-child(1){width:44px;height:44px;background:var(--pc1,var(--web));left:10px;top:14px;animation:orbMelt 4s ease-in-out infinite alternate;}
.post-eye .ph i:nth-child(2){width:30px;height:30px;background:var(--pc2,var(--meo));left:60px;top:8px;animation:orbMelt2 5s ease-in-out infinite alternate;}
.post-eye .ph i:nth-child(3){width:22px;height:22px;background:var(--pc3,var(--line));left:94px;top:36px;animation:orbMelt 4.6s ease-in-out infinite alternate-reverse;}
@keyframes orbMelt {0%{translate:0 0;}100%{translate:-22px 12px;}}
@keyframes orbMelt2{0%{translate:0 0;}100%{translate:-42px -8px;}}
.post-body{padding:20px 24px 22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.post-meta{display:flex;align-items:center;gap:12px;font-family:var(--dot);font-size:11.5px;color:#6a6e75;letter-spacing:.1em;}
.post-cat{border:1.5px solid var(--web);color:var(--web);border-radius:99px;padding:2px 12px;}
.post h3,.post h2{font-family:var(--maru);font-weight:900;font-size:15px;line-height:1.85;flex:1;}
.post-more{font-family:var(--dot);font-size:11.5px;color:#6a6e75;letter-spacing:.14em;display:flex;align-items:center;gap:8px;}
.post-more::after{content:"→";color:var(--web);transition:translate .4s var(--ease-jelly);}
.post:hover .post-more::after{translate:5px 0;}

/* ---- 記事本文(prose) ---- */
.prose{max-width:740px;margin:0 auto;font-size:15px;color:#34373d;}
.prose > *+*{margin-top:1.4em;}
.prose h2{
  font-family:var(--maru);font-weight:900;font-size:clamp(18px,2vw,23px);line-height:1.9;color:var(--ink);
  margin-top:2.6em;padding-bottom:10px;position:relative;
}
.prose h2::after{
  content:"";position:absolute;left:0;bottom:0;width:88px;height:7px;border-radius:99px;
  background:linear-gradient(90deg,var(--web),var(--meo),var(--line));filter:blur(.5px);
}
.prose h3{font-family:var(--maru);font-weight:900;font-size:17px;color:var(--ink);margin-top:2em;}
.prose strong{background:linear-gradient(transparent 62%,rgba(242,118,46,.35) 62%);color:var(--ink);}
.prose a{color:var(--web);border-bottom:1.5px solid currentColor;}
.prose ul,.prose ol{padding-left:1.4em;}
.prose ul li{list-style:none;position:relative;padding-left:4px;}
.prose ul li::before{
  content:"";position:absolute;left:-18px;top:.85em;width:9px;height:9px;border-radius:50%;background:var(--meo);
}
.prose ol li{list-style:decimal;}
.prose blockquote{
  border-left:4px solid var(--mix4);background:var(--paper);border-radius:0 16px 16px 0;
  padding:18px 24px;color:#555a61;
}
.prose img{border-radius:18px;}
.prose figure figcaption{font-size:12px;color:#6a6e75;margin-top:8px;}
.prose hr{border:none;height:10px;width:160px;margin:3em auto;filter:url(#goo);position:relative;background:none;}
.prose code{background:var(--cream);border-radius:6px;padding:2px 8px;font-size:.9em;}
.prose table{border-collapse:collapse;width:100%;font-size:13.5px;}
.prose th,.prose td{border:1.5px solid var(--hairline);padding:10px 14px;text-align:left;}
.prose th{background:var(--paper);font-family:var(--maru);}

/* ---- 特長カード ---- */
.feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:50px;}
@media(max-width:760px){.feat-grid{grid-template-columns:1fr;}}
.feat{
  background:var(--paper);border:1.5px solid var(--hairline);border-radius:24px;padding:34px 32px;
  transition:transform .55s var(--ease-jelly);position:relative;overflow:hidden;
}
.feat:hover{transform:translateY(-7px) rotate(-.3deg);}
.feat::after{
  content:"";position:absolute;right:-40px;bottom:-40px;width:110px;height:110px;border-radius:50%;
  background:var(--fc,var(--web));opacity:.13;transition:transform .7s var(--ease-melt);
}
.feat:hover::after{transform:scale(2.1);}
.feat-no{font-family:var(--dot);font-size:26px;color:var(--fc,var(--web));line-height:1;}
.feat h3{font-family:var(--maru);font-weight:900;font-size:16.5px;margin:14px 0 10px;line-height:1.8;}
.feat p{font-size:13.5px;color:#555a61;}

/* ---- 料金ボックス ---- */
.price-card{
  margin-top:50px;background:var(--paper);border:2px solid var(--ink);border-radius:28px;
  padding:44px 46px;display:grid;grid-template-columns:auto 1fr;gap:18px 60px;align-items:center;
  position:relative;overflow:hidden;
}
@media(max-width:760px){.price-card{grid-template-columns:1fr;padding:32px 26px;}}
.price-main{font-family:var(--maru);font-weight:900;font-size:17px;line-height:1.6;}
.price-main b{font-size:52px;letter-spacing:.02em;}
.price-main small{display:block;font-family:var(--dot);font-size:11.5px;color:#6a6e75;letter-spacing:.14em;margin-bottom:8px;}
.price-inc{display:flex;flex-direction:column;gap:9px;font-size:13.5px;}
.price-inc li{display:flex;gap:11px;align-items:center;}
.price-inc li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--pcl,var(--web));flex:none;}
.price-note{margin-top:22px;font-size:12.5px;color:#6a6e75;}

/* ---- ミニステップ ---- */
.ministeps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:50px;}
@media(max-width:860px){.ministeps{grid-template-columns:1fr;}}
.mstep{position:relative;padding:0 16px 8px;display:flex;flex-direction:column;gap:8px;}
.mstep i{
  width:42px;height:42px;border-radius:50%;background:var(--mc,var(--web));color:#fff;
  font-family:var(--dot);font-size:14px;display:flex;align-items:center;justify-content:center;flex:none;
}
.mstep:not(:last-child)::before{
  content:"";position:absolute;top:19px;left:calc(16px + 46px);right:-12px;height:3px;
  background-image:linear-gradient(90deg,rgba(30,33,39,.3) 40%,transparent 40%);background-size:10px 3px;background-repeat:repeat-x;
}
@media(max-width:860px){
  .mstep{flex-direction:row;align-items:baseline;padding:12px 0;}
  .mstep:not(:last-child)::before{display:none;}
}
.mstep h3{font-family:var(--maru);font-weight:900;font-size:14.5px;}
.mstep p{font-size:12.5px;color:#555a61;}

/* ---- 溶け合うクロスセル(A×B=混色) ---- */
.melt-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:50px;}
@media(max-width:860px){.melt-links{grid-template-columns:1fr;}}
.melt-link{
  background:var(--paper);border:1.5px solid var(--hairline);border-radius:22px;padding:28px 26px 24px;
  transition:transform .55s var(--ease-jelly),border-color .4s;display:block;
}
.melt-link:hover{transform:translateY(-7px);border-color:var(--ink);}
.ml-orbs{filter:url(#goo);height:46px;position:relative;width:130px;margin-bottom:12px;}
.ml-orbs i{position:absolute;top:50%;border-radius:50%;width:26px;height:26px;margin-top:-13px;}
.ml-orbs i:nth-child(1){left:14px;background:var(--c1);animation:mlA 4.5s var(--ease-melt) infinite;}
.ml-orbs i:nth-child(2){left:88px;background:var(--c2);animation:mlB 4.5s var(--ease-melt) infinite;}
.ml-orbs i:nth-child(3){left:51px;background:var(--cm);transform:scale(0);animation:mlM 4.5s var(--ease-melt) infinite;}
@keyframes mlA{0%,15%{translate:0 0;}45%,60%{translate:24px 0;}90%,100%{translate:0 0;}}
@keyframes mlB{0%,15%{translate:0 0;}45%,60%{translate:-24px 0;}90%,100%{translate:0 0;}}
@keyframes mlM{0%,32%{transform:scale(0);}48%,62%{transform:scale(1.1);}85%,100%{transform:scale(0);}}
.melt-link h3{font-family:var(--maru);font-weight:900;font-size:15px;line-height:1.8;}
.melt-link p{font-size:12.5px;color:#555a61;margin-top:6px;}
.melt-link .post-more{margin-top:12px;}

/* ---- FAQ ---- */
.faq-list{margin-top:44px;max-width:860px;}
.faq-list details{border-bottom:1.5px solid var(--hairline);}
.faq-list summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;
  font-family:var(--maru);font-weight:900;font-size:clamp(14px,1.6vw,16px);line-height:1.8;
  padding:24px 8px;transition:color .3s;
}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary:hover{color:var(--qc,var(--web));}
.q-dot{width:14px;height:14px;border-radius:50%;background:var(--qc,var(--web));flex:none;transition:transform .5s var(--ease-jelly);}
details[open] .q-dot{transform:scale(1.5);}
.q-mark{
  margin-left:auto;flex:none;width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);
  display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;line-height:1;
  transition:rotate .5s var(--ease-jelly),background .3s,color .3s;
}
details[open] .q-mark{rotate:135deg;background:var(--ink);color:var(--cream);}
.faq-a{padding:2px 8px 28px 40px;color:#4d5158;font-size:14px;max-width:760px;animation:faqIn .55s var(--ease-out);}
@keyframes faqIn{from{opacity:0;translate:0 -10px;}to{opacity:1;translate:0 0;}}

/* ---- CTAストリップ ---- */
.cta-strip{
  margin:90px auto 0;background:var(--ink);color:var(--cream);border-radius:28px;
  padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.cta-strip::before{
  content:"";position:absolute;left:-50px;top:-60px;width:170px;height:170px;border-radius:50%;
  background:linear-gradient(120deg,var(--web),var(--meo));opacity:.3;filter:blur(14px);
}
.cta-strip p{font-family:var(--maru);font-weight:900;font-size:clamp(15px,1.8vw,18px);line-height:2;position:relative;max-width:620px;}
.cta-strip p small{display:block;font-family:var(--dot);font-size:11.5px;font-weight:400;letter-spacing:.16em;color:rgba(241,234,219,.6);margin-bottom:8px;}
.cta-strip .btn{border-color:var(--cream);color:var(--ink);background:var(--cream);flex:none;}
.cta-strip .btn::before{background:var(--web);}
.cta-strip .btn:hover{color:#fff;}
.strip-ship{
  position:absolute;bottom:6px;left:-70px;width:52px;color:rgba(241,234,219,.55);
  animation:stripShip 46s linear infinite, shipBob 3.4s ease-in-out infinite;pointer-events:none;
}
@keyframes stripShip{to{left:104%;}}
@keyframes shipBob{50%{transform:translateY(-4px) rotate(-1deg);}}
@media(max-width:760px){.cta-strip{padding:34px 28px;}}

/* ---- フッター(夜の港・簡易版) ---- */
footer.site-foot{
  background:linear-gradient(180deg,#23262d 0%,var(--ink) 30%);
  color:rgba(241,234,219,.72);padding:64px 0 36px;
  border-radius:48px 48px 0 0;margin:90px 14px 0;position:relative;overflow:clip;
}
@media(max-width:760px){footer.site-foot{border-radius:28px 28px 0 0;margin:70px 8px 0;}}
.foot-sky{display:block;width:min(1100px,94%);margin:0 auto 44px;color:#E9E1CE;opacity:.55;}
.foot-grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start;}
.foot-logo{color:var(--cream);}
.foot-tag{margin-top:14px;font-size:12.5px;line-height:2.1;}
.foot-nav{display:flex;gap:22px;flex-wrap:wrap;font-family:var(--dot);font-size:12.5px;letter-spacing:.14em;}
.foot-nav a:hover{color:var(--cream);}
.foot-bottom{
  margin-top:54px;padding-top:24px;border-top:1px solid rgba(241,234,219,.15);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-family:var(--dot);font-size:12px;letter-spacing:.14em;
}
.foot-dots{display:flex;gap:8px;align-items:center;}
.foot-dots i{width:9px;height:9px;border-radius:50%;display:inline-block;}

/* ---- 記事ヒーロー専用 ---- */
.article-hero{padding:150px 0 40px;}
.article-hero .post-cat{font-family:var(--dot);font-size:12px;}
.article-meta{display:flex;align-items:center;gap:14px;font-family:var(--dot);font-size:12px;color:#6a6e75;letter-spacing:.12em;margin-top:14px;}
.article-eye{max-width:880px;margin:36px auto 0;border-radius:26px;overflow:hidden;aspect-ratio:16/8;background:var(--cream);}
.article-eye img{width:100%;height:100%;object-fit:cover;}
.article-eye.noimg{display:flex;align-items:center;justify-content:center;}

/* ---- 汎用ページ(会社概要・ポリシー) ---- */
.doc{max-width:760px;margin:0 auto;font-size:14px;color:#34373d;}
.doc h2{font-family:var(--maru);font-weight:900;font-size:18px;color:var(--ink);margin:2.4em 0 .7em;display:flex;align-items:center;gap:12px;}
.doc h2::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--web);flex:none;}
.doc p+p{margin-top:1em;}
.doc table{border-collapse:collapse;width:100%;font-size:13.5px;margin-top:1em;}
.doc th,.doc td{border:1.5px solid var(--hairline);padding:12px 16px;text-align:left;vertical-align:top;}
.doc th{background:var(--paper);font-family:var(--maru);white-space:nowrap;width:160px;}
.doc ul{padding-left:0;}
.doc ul li{position:relative;padding-left:22px;}
.doc ul li::before{content:"";position:absolute;left:0;top:.8em;width:9px;height:9px;border-radius:50%;background:var(--meo);}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}
