:root{
  color-scheme:light;
  --bg:#F8F3ED; --bg2:#FFFDFC; --head:#665078; --text:#594A45;
  --coral:#E88983; --purple:#665078; --lav:#C9B9D8; --gold:#D8C7A0; --beige:#E8D8C8;
  --serif:'Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',serif;
  --sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  --cap:'Cormorant Garamond',Georgia,serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);color:var(--head);font-weight:600;line-height:1.5}
h1{font-size:clamp(28px,5vw,44px)}
h2{font-size:clamp(24px,3.4vw,34px)}
h3{font-size:clamp(19px,2.4vw,24px)}
p{max-width:36em}
.cap{font-family:var(--cap);font-size:14px;letter-spacing:.3em;color:var(--gold);display:block;margin-bottom:10px}
.wrap{width:min(1080px,92%);margin:0 auto}
section.block{padding:72px 0}
section.block.alt{background:var(--bg2)}
.center{text-align:center}
.center p{margin-inline:auto}
.lead{font-family:var(--serif);font-size:clamp(18px,2.2vw,22px);color:var(--head);line-height:2}
.stack>*+*{margin-top:18px}
.gold-line{width:56px;height:2px;background:var(--gold);margin:18px auto 28px}
.left .gold-line{margin-inline:0}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(248,243,237,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--beige)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.logo{font-family:var(--serif);font-weight:600;color:var(--head);text-decoration:none;font-size:17px;white-space:nowrap}
.logo small{display:block;font-family:var(--cap);font-size:11px;letter-spacing:.3em;color:var(--gold);font-weight:500;line-height:1}
nav.main{display:flex;gap:18px;flex-wrap:nowrap}
nav.main a{font-size:14px;text-decoration:none;white-space:nowrap;padding:4px 0;border-bottom:2px solid transparent}
nav.main a[aria-current="page"]{border-color:var(--gold);color:var(--head)}
.burger{display:none;background:none;border:1px solid var(--lav);border-radius:6px;padding:8px 10px;color:var(--head);font-size:14px;cursor:pointer}
@media (max-width:1160px){
  nav.main{display:none;position:absolute;left:0;right:0;top:64px;background:var(--bg2);flex-direction:column;gap:0;border-bottom:1px solid var(--beige)}
  nav.main.open{display:flex}
  nav.main a{padding:14px 5%;border-bottom:1px solid var(--beige);font-size:16px}
  nav.main a[aria-current="page"]{border-left:4px solid var(--gold);border-bottom-color:var(--beige)}
  .burger{display:block}
}

/* buttons */
.btn{display:block;width:min(100%,520px);margin:0 auto;min-height:56px;padding:14px 20px;border-radius:999px;text-align:center;text-decoration:none;font-weight:700;font-size:16px;line-height:1.5;display:flex;align-items:center;justify-content:center}
.btn.main{background:var(--coral);color:#fff}
.btn.sub{background:transparent;color:var(--purple);border:2px solid var(--purple)}
.btn.sub:hover{background:var(--purple);color:#fff}
.btn+.btn{margin-top:14px}
.btn.detail{background:var(--purple);color:#fff;width:100%;min-height:48px;font-size:15px}
.cta{padding:64px 0;background:var(--beige)}
.cta .note{font-size:14px;margin:18px auto 0;text-align:center}

/* hero */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;
  background:radial-gradient(ellipse at 20% 30%,#F7E4DE 0%,transparent 55%),radial-gradient(ellipse at 80% 70%,#E9DCF0 0%,transparent 50%),linear-gradient(180deg,#FBF3EC,#F1E4DA)}
.hero .dragon{position:absolute;right:-6%;top:-4%;width:60%;max-width:640px;opacity:.55;pointer-events:none}
.hero .in{position:relative;padding:80px 0}
.hero h1{letter-spacing:.06em;font-weight:600}
.hero .sub{margin:26px auto 0;font-family:var(--serif);font-size:clamp(16px,2.3vw,22px);color:var(--text);letter-spacing:.08em}
.hero .tag{margin-top:44px;font-family:var(--serif);color:var(--head);letter-spacing:.14em;font-size:clamp(15px,2vw,19px)}
.hero .tag b{display:block;font-size:clamp(20px,3vw,28px);letter-spacing:.06em;margin-bottom:6px;font-weight:600}
.proof{background:var(--head);color:#fff;text-align:center;padding:14px 5%;font-family:var(--serif);letter-spacing:.1em;font-size:15px}

/* page hero */
.phero{padding:64px 0 40px;text-align:center;background:linear-gradient(180deg,var(--bg2),var(--bg))}
.phero p{margin:18px auto 0}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin-top:40px}
.card{background:var(--bg2);border:1px solid var(--beige);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.card .img{aspect-ratio:4/3;background:linear-gradient(135deg,#EAD9E4,#F3E6D6)}
.card .img.c2{background:linear-gradient(135deg,#F1E1D2,#E5D5E8)}
.card .img.c3{background:linear-gradient(135deg,#D9D3EA,#EEDDD5)}
.card .img.c4{background:linear-gradient(135deg,#F0E4C8,#E4D9EC)}
.card .body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}
.card h3{font-size:19px}
.card p{font-size:15px;flex:1}

/* lists / check */
.check{list-style:none;display:grid;gap:12px;max-width:560px;margin:28px auto 0}
.check li{background:var(--bg2);border-left:4px solid var(--gold);padding:14px 18px;font-family:var(--serif);color:var(--head);font-size:17px}
.threeword{display:flex;justify-content:center;gap:clamp(18px,6vw,64px);margin-top:36px;font-family:var(--serif);color:var(--head);font-size:clamp(26px,5vw,44px);letter-spacing:.1em}
.threeword span{position:relative;padding-bottom:10px}
.threeword span::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:36px}
.step{background:var(--bg2);border-radius:14px;padding:26px 22px;border-top:4px solid var(--lav)}
.step .n{font-family:var(--cap);font-size:34px;color:var(--gold);line-height:1;margin-bottom:8px}
.step h3{font-size:19px;margin-bottom:10px}
.step p{font-size:15px}

/* band */
.band{background:linear-gradient(120deg,#6C5680,#8A6E9E);color:#fff;padding:72px 0;text-align:center}
.band h2,.band .lead{color:#fff}
.band .cap{color:var(--gold)}
.band p{margin-inline:auto}

/* voices */
.voice{background:var(--bg2);border-radius:14px;padding:28px 24px;border:1px solid var(--beige);margin-top:22px}
.voice h3{font-size:17px;margin-bottom:12px}
.voice p{font-size:15px;max-width:none}
.voice .who{font-size:13px;color:var(--head);margin-top:14px;font-family:var(--serif)}
.voice .menu{display:inline-block;font-size:12px;background:var(--beige);color:var(--head);padding:2px 10px;border-radius:999px;margin-left:8px}

/* price */
.price{max-width:640px;margin:32px auto 0;background:var(--bg2);border:1px solid var(--beige);border-radius:14px;overflow:hidden}
.price .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:18px 22px;border-bottom:1px solid var(--beige);flex-wrap:wrap}
.price .row:last-child{border-bottom:0}
.price .name{font-family:var(--serif);color:var(--head);font-size:17px}
.price .amt{font-family:var(--serif);font-size:22px;color:var(--head)}
.price .amt small{font-size:13px;color:var(--text);margin-left:6px;font-family:var(--sans)}
.price .memo{width:100%;font-size:14px}
.price .tag{font-size:12px;background:var(--coral);color:#fff;padding:2px 10px;border-radius:999px;margin-left:8px;vertical-align:middle}
.tax{font-size:13px;text-align:center;margin-top:12px}

/* faq */
.faq{max-width:720px;margin:28px auto 0}
.faq details{background:var(--bg2);border:1px solid var(--beige);border-radius:10px;margin-top:12px;padding:0 20px}
.faq summary{cursor:pointer;padding:16px 0;font-family:var(--serif);color:var(--head);font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"＋";color:var(--gold)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:0 0 18px;max-width:none;font-size:15px}

/* profile */
.profile{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:start;margin-top:36px}
.profile .photo{aspect-ratio:3/4;border-radius:14px;background:linear-gradient(160deg,#EBDCE2,#DDD1E6);border:1px solid var(--beige)}
.profile .titles{font-size:14px;color:var(--head);line-height:2;font-family:var(--serif)}
@media (max-width:760px){.profile{grid-template-columns:1fr}.profile .photo{max-width:280px}}

/* access */
.access{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:36px;align-items:start}
@media (max-width:760px){.access{grid-template-columns:1fr}}
.access dl{background:var(--bg2);border:1px solid var(--beige);border-radius:14px;padding:22px}
.access dt{font-family:var(--serif);color:var(--head);margin-top:14px}
.access dt:first-child{margin-top:0}
.access dd{font-size:15px}

/* footer */
footer{background:var(--head);color:#EFE8F2;padding:48px 0 28px;font-size:14px}
footer .cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media (max-width:760px){footer .cols{grid-template-columns:1fr}}
footer a{color:#fff;text-decoration:none}
footer .fnav{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px}
footer .sns{display:flex;gap:16px;margin-top:12px}
footer .note{margin-top:28px;border-top:1px solid rgba(255,255,255,.25);padding-top:16px;font-size:12px;color:#D9CBE6}
.updated{font-size:12px;text-align:center;color:var(--head);opacity:.75;padding:12px 0 0}

/* page switching */
.page{display:none}
.page.active{display:block}
@media (prefers-reduced-motion:no-preference){.page.active{animation:fade .35s ease}}
@keyframes fade{from{opacity:0}to{opacity:1}}
:focus-visible{outline:3px solid var(--coral);outline-offset:2px}
/* ===== design layer v2 ===== */
.hero{min-height:92vh;background:#F1E6DC}
.hero-img,.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
@media (prefers-reduced-motion:no-preference){.hero-img img{animation:kb 18s ease-out forwards}}
@keyframes kb{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(248,243,237,.15) 0%,rgba(248,243,237,0) 35%,rgba(248,243,237,.55) 100%)}
.hero .in{padding:120px 0 90px;text-shadow:0 2px 24px rgba(255,255,255,.9),0 0 2px rgba(255,255,255,.9)}
.hero h1{font-size:clamp(30px,5.4vw,58px);letter-spacing:.1em;line-height:1.55}
.hero .sub{margin-top:30px}
.hero .tag{margin-top:52px}
@media (max-width:760px){.hero{min-height:88vh}.hero .in{padding:90px 0 60px}.hero-veil{background:linear-gradient(180deg,rgba(248,243,237,.25),rgba(248,243,237,.05) 40%,rgba(248,243,237,.7))}}

.pphoto{position:relative;height:clamp(300px,52vw,620px);overflow:hidden;background:#F1E6DC}
.pphoto img{width:100%;height:100%;object-fit:cover;object-position:center 30%;transform:scale(1.02)}
.pphoto::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;background:linear-gradient(180deg,rgba(255,253,252,0),var(--bg2))}
.pp-voice img{object-position:center 10%}
.phero{padding:36px 0 40px}

.band{position:relative;background-size:cover;background-position:center;background-attachment:fixed;color:#fff}
@media (max-width:1000px){.band{background-attachment:scroll}}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(80,60,100,.72),rgba(102,80,120,.78))}
.band .wrap{position:relative}
.band .gold-line{background:var(--gold)}
.band p{color:#F3ECF7}

.split{display:grid;grid-template-columns:1fr 1fr;background:var(--bg2)}
.split-img img{width:100%;height:100%;object-fit:cover;min-height:420px}
.split-txt{display:flex;align-items:center;padding:64px 6%}
.split-txt .inner{max-width:520px}
.split-txt p{margin-top:16px}.split-txt .gold-line{margin-inline:0}.split-txt h2{font-size:clamp(26px,3.2vw,38px)}
@media (max-width:860px){.split{grid-template-columns:1fr}.split-img img{min-height:300px;max-height:60vw}.split-txt{padding:48px 6%}}

.quote-band{position:relative;height:clamp(320px,48vw,560px);overflow:hidden}
.quote-band img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.quote-band .q{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 6%;background:linear-gradient(90deg,rgba(89,74,69,.35),rgba(89,74,69,.05))}
.quote-band p{color:#fff;font-family:var(--serif);font-size:clamp(17px,2.6vw,26px);line-height:2;text-align:center;text-shadow:0 2px 16px rgba(60,40,40,.6);max-width:none}

.gift{background-size:cover;background-position:center;position:relative}
.gift::before{content:"";position:absolute;inset:0;background:rgba(255,253,252,.55)}
.gift .wrap{position:relative}

.card .img{background-size:cover;background-position:center 20%;transition:transform .6s ease}
.card{transition:transform .35s ease,box-shadow .35s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(102,80,120,.12)}
.card .body{gap:14px}
.profile .photo{overflow:hidden}
.profile .photo img{width:100%;height:100%;object-fit:cover}

h2{letter-spacing:.06em}
section.block{padding:clamp(46px,5.6vw,88px) 0}
.check li{border-left-color:var(--lav);background:rgba(255,253,252,.85)}
.step{box-shadow:0 10px 30px rgba(102,80,120,.06)}
.voice{box-shadow:0 10px 30px rgba(102,80,120,.05)}
.voice p{font-family:var(--serif);line-height:2}
.cta{background:linear-gradient(180deg,#EFE4DA,#E8D8C8)}
header{background:rgba(248,243,237,.86)}
.logo small{margin-bottom:2px}
footer{background:#4E3C5E}
.proof{background:var(--purple)}
/* ===== v3 追加 ===== */
.btn.sub2{background:var(--purple);color:#fff;border:2px solid var(--purple)}
.btn.sub2:hover{background:transparent;color:var(--purple)}
.cta-link{max-width:none;text-align:center;font-size:14px;margin:16px auto 0}
.cta-link a{color:var(--purple);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.band .cta-link,.band .cta-link a{color:#fff}

/* 理念：語の幅を揃えて尻すぼみをなくす */
.threeword{gap:clamp(10px,3vw,32px);flex-wrap:wrap}
.threeword span{min-width:2.6em;text-align:center;padding-bottom:12px}
.threeword span::after{height:2px}

/* こんなことはありませんか：写真とセットにする */
.checkgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;margin:36px auto 0;max-width:960px;text-align:left}
.checkgrid.r{direction:rtl}
.checkgrid.r>*{direction:ltr}
.checkgrid .ci{border-radius:14px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 14px 36px rgba(102,80,120,.14)}
.checkgrid .ci img{width:100%;height:100%;object-fit:cover}
.checkgrid .check{margin:0;max-width:none}
@media (max-width:760px){
  .checkgrid{grid-template-columns:1fr;gap:22px}
  .checkgrid .ci{aspect-ratio:16/10}
}
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
  .rv.in{opacity:1;transform:none}
}

/* ===== multi-page 版の追加 ===== */
.page{display:block}
.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{left:16px;top:8px;z-index:100;background:var(--bg2);color:var(--head);padding:10px 16px;border-radius:8px}
.tel-line{margin:18px auto 0;text-align:center;font-size:15px;max-width:none}
.tel-line a{color:var(--purple);font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.band .tel-line,.band .tel-line a{color:#fff}
footer .tel{margin-top:8px}
footer .tel a{text-decoration:underline;text-underline-offset:3px}

@media (min-width:1161px) and (max-width:1400px){
  nav.main{gap:10px}
  nav.main a{font-size:12.5px}
  .logo{font-size:15px}
}

/* v6 */
.threeword.henka{margin-top:34px}
.threeword.henka span{font-size:clamp(24px,4.2vw,40px);min-width:auto;padding:0 .3em 12px}
.qual-h{font-family:var(--serif);color:var(--head);font-size:14px;letter-spacing:.12em;margin-top:18px;padding-bottom:6px;border-bottom:1px solid var(--gold);display:inline-block}
.signs{background:linear-gradient(180deg,var(--bg2),var(--bg))}
.signgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:40px}
.sign{position:relative;background:var(--bg);border:1px solid var(--beige);border-radius:0 18px 0 18px;padding:34px 26px 28px;overflow:hidden}
.sign::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--gold),var(--lav))}
.sign .sn{font-family:var(--cap);font-size:44px;line-height:1;color:var(--gold);opacity:.55;position:absolute;right:18px;top:14px}
.sign p{font-family:var(--serif);color:var(--head);font-size:17px;line-height:1.9;max-width:none;position:relative}
.sign-note{max-width:640px;margin:34px auto 0;text-align:center}
.gsub{max-width:none;font-size:14px;margin:14px auto 0}
.voice+.voice{margin-top:22px}

.maplink{display:inline-block;margin-top:8px;color:var(--purple);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.tel-line{max-width:none;text-align:center;font-size:14px;margin:16px auto 0}
.tel-line a{color:var(--purple);font-weight:700}

.inlink{color:var(--purple);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* 3P 結魂ヒーロー：顔をしっかり見せる */
.yhero{display:grid;grid-template-columns:1.05fr .95fr;background:var(--bg2);align-items:stretch}
.yhero-img{position:relative;overflow:hidden;min-height:clamp(360px,52vw,660px)}
.yhero-img img{width:100%;height:100%;object-fit:cover;object-position:center 22%}
.yhero-txt{display:flex;align-items:center;padding:clamp(36px,5vw,72px) clamp(24px,5vw,64px);
  background:linear-gradient(160deg,var(--bg2),var(--bg))}
.yhero-txt .inner{max-width:460px}
.yhero-txt h1{font-size:clamp(26px,3.6vw,44px);line-height:1.45}
.yhero-txt .gold-line{margin:20px 0 24px}
.yhero-txt .lead{margin:0}
@media (max-width:860px){
  .yhero{grid-template-columns:1fr}
  .yhero-img{min-height:0;aspect-ratio:4/5;max-height:74vh}
  .yhero-img img{object-position:center 18%}
  .yhero-txt{padding:34px 6% 42px}
}

/* 結魂の言葉 */
.soulwords{background:var(--bg);padding:clamp(64px,8vw,104px) 0;text-align:center;position:relative}
.soulwords::before,.soulwords::after{content:"";position:absolute;left:50%;transform:translateX(-50%);
  width:min(760px,86%);height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.soulwords::before{top:0}.soulwords::after{bottom:0}
.soulwords .sw{font-family:var(--serif);color:var(--head);max-width:none;
  font-size:clamp(17px,2.3vw,24px);line-height:2.1;letter-spacing:.06em;margin:0}
.soulwords .sw.big{margin-top:18px;font-size:clamp(20px,3.2vw,32px);letter-spacing:.08em}

/* 3P 結魂：タイトル帯＋言葉と顔を並べる */
.ytitle{text-align:center;padding:clamp(40px,5vw,64px) 0 clamp(28px,3.5vw,40px);
  background:linear-gradient(180deg,var(--bg2),var(--bg))}
.ytitle h1{font-size:clamp(24px,3.4vw,40px)}
.ytitle .lead{margin:14px auto 0}
.yhero-txt .inner .sw{max-width:none;font-family:var(--serif);color:var(--head);
  font-size:clamp(16px,1.9vw,21px);line-height:2.05;letter-spacing:.05em;margin:0}
.yhero-txt .inner .sw.big{margin-top:16px;font-size:clamp(19px,2.6vw,27px);letter-spacing:.07em}
.yhero-txt .inner{max-width:520px}
.yhero-txt h2{font-size:clamp(22px,2.8vw,32px)}

/* サイン番号と文字の重なりを防ぐ */
.sign{padding-top:26px}
.sign .sn{top:10px;font-size:38px}
.sign p{padding-right:3.2em}
@media (max-width:520px){.sign .sn{font-size:32px}.sign p{padding-right:2.6em}}

/* ホームのファーストビュー：左に文字、右に龍と女性 */
.hero-img img{object-position:center}
.hero .in.hero-left{text-align:left;max-width:1080px}
.hero .in.hero-left h1,.hero .in.hero-left .sub,.hero .in.hero-left .tag{max-width:16em}
.hero-veil{background:linear-gradient(100deg,rgba(248,243,237,.82) 0%,rgba(248,243,237,.55) 34%,rgba(248,243,237,0) 62%),
  linear-gradient(180deg,rgba(248,243,237,0) 60%,rgba(248,243,237,.5) 100%)}
@media (max-width:760px){
  .hero .in.hero-left{text-align:center}
  .hero .in.hero-left h1,.hero .in.hero-left .sub,.hero .in.hero-left .tag{max-width:none}
  .hero-img img{object-position:center 28%}
  .hero-veil{background:linear-gradient(180deg,rgba(248,243,237,.72) 0%,rgba(248,243,237,.35) 42%,rgba(248,243,237,.78) 100%)}
}

/* FVの文字揃えを整える */
.hero .in.hero-left .sub{margin-left:0;margin-right:0;max-width:22em}
.hero .in.hero-left h1{max-width:14em}
.hero .in.hero-left .tag{max-width:none;white-space:nowrap}
@media (max-width:760px){
  .hero .in.hero-left .sub{margin-inline:auto;max-width:none}
  .hero .in.hero-left .tag{white-space:normal}
}


/* v37 ヘッダー：PC幅でナビが収まるようにする */
header .wrap.hd{width:min(1320px,96%)}
.hd .logo{flex:0 0 auto}
nav.main{flex:1 1 auto;justify-content:flex-end;min-width:0}
@media (max-width:1160px){nav.main{flex:none;justify-content:flex-start}}

/* v37 理念を枠で見せる */
.creed{max-width:760px;margin:34px auto 0;padding:clamp(28px,4vw,46px) clamp(20px,4vw,44px);background:var(--bg2);border:1px solid var(--gold);position:relative}
.creed::before,.creed::after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--gold)}
.creed::before{top:-5px;left:-5px;border-right:0;border-bottom:0}
.creed::after{bottom:-5px;right:-5px;border-left:0;border-top:0}
.creed .threeword:first-child{margin-top:0}
.creed .threeword span{color:var(--head)}
.creed .creed-note{margin:0 0 6px;font-family:var(--cap);font-size:13px;letter-spacing:.3em;color:var(--gold);text-align:center}

/* v37 七彩について：タイトルを画像の上に重ねる */
.ahero{position:relative;height:clamp(380px,56vw,640px);overflow:hidden;background:#F1E6DC;display:flex;align-items:flex-start}
.ahero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 55%}
.ahero .veil{position:absolute;inset:0;background:linear-gradient(105deg,rgba(248,243,237,.80) 0%,rgba(248,243,237,.42) 42%,rgba(248,243,237,.06) 68%),linear-gradient(180deg,rgba(248,243,237,.10),rgba(248,243,237,0) 55%,rgba(248,243,237,.80))}
.ahero .txt{position:relative;z-index:2;text-align:left;width:min(1080px,92%);margin:0 auto;padding-top:clamp(34px,7vh,78px);max-width:min(1080px,92%)}
.ahero h1{margin:8px 0 0;text-shadow:0 1px 14px rgba(255,253,252,.9)}
.ahero .lead{margin:16px 0 0;max-width:20em;text-shadow:0 1px 12px rgba(255,253,252,.9)}
@media (max-width:860px){
  .ahero{height:clamp(420px,105vw,620px)}
  .ahero>img{object-position:64% 62%}
  .ahero .veil{background:linear-gradient(170deg,rgba(248,243,237,.90) 0%,rgba(248,243,237,.62) 30%,rgba(248,243,237,.10) 58%),linear-gradient(180deg,rgba(248,243,237,0) 70%,rgba(248,243,237,.80))}
  .ahero .txt{text-align:left;padding-top:clamp(24px,5vh,40px)}
  .ahero .lead{max-width:none}
}


/* v39 ホームのバランス：CTAボタンを横並びに */
.cta .wrap{display:flex;flex-direction:column;align-items:center}
.cta .wrap>.btn{order:1}
.cta .wrap>.cta-link,.cta .wrap>.tel-line,.cta .wrap>.note{order:2;width:100%}
@media (min-width:700px){
  .cta .wrap{flex-flow:row wrap;justify-content:center;gap:14px}
  .cta .wrap>.btn{width:min(320px,44%);margin:0}
  .btn+.btn{margin-top:0}
  .cta .wrap>.cta-link,.cta .wrap>.tel-line,.cta .wrap>.note{flex:0 0 100%;margin-top:6px}
  .cta .wrap>.cap,.cta .wrap>h2{flex:0 0 100%;order:0;text-align:center;margin-left:auto;margin-right:auto}
}

/* v39 4つのサイン */
.harabg{background:linear-gradient(180deg,#FFFDFC 0%,#F4ECE4 100%)}
.harastate{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:32px auto 0}
@media (max-width:760px){.harastate{grid-template-columns:repeat(2,minmax(0,1fr))}}
.harastate figure{margin:0;text-align:center;min-width:0}
.harastate .ic{width:100%;margin:0 auto;display:block}
.harastate figcaption{margin-top:10px;font-family:var(--serif);color:var(--head);font-size:clamp(14px,1.7vw,17px);letter-spacing:.04em;line-height:1.6}
.harastate{max-width:900px;gap:clamp(14px,2.4vw,28px)}
.harastate .ic{max-width:188px}
.harastate figcaption{min-height:3.2em;display:flex;align-items:flex-start;justify-content:center}
.harastate+p{margin-top:22px}


/* v40 変化の入口バナー */
.gate{display:block;line-height:0;background:#F1E6DC}
.gate img{width:100%;height:auto;display:block}
@media (max-width:700px){.gate img{height:clamp(240px,68vw,340px);object-fit:cover;object-position:center}}


/* v41 心相：運気の注意ブロック */
.warn{padding:clamp(44px,6vw,72px) 0;background:linear-gradient(180deg,#F4ECE4,#EFE4DA)}
.warn .wrap{max-width:760px;text-align:center}
.warn .wlead{font-family:var(--serif);color:var(--head);font-size:clamp(21px,3.2vw,31px);line-height:1.9;letter-spacing:.05em;margin:0 0 22px;max-width:none}
.warn .wend{font-family:var(--serif);color:var(--head);font-size:clamp(16px,2vw,20px);line-height:2;margin-top:24px;padding-top:22px;border-top:1px solid var(--gold);max-width:none}

/* v41 心相：3つの獲得 */
.gains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-top:34px;text-align:left}
@media (max-width:820px){.gains{grid-template-columns:minmax(0,1fr)}}
.gains .g{background:var(--bg2);border:1px solid var(--beige);border-radius:12px;padding:24px 22px;min-width:0}
.gains .gn{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold);line-height:1}
.gains h3{font-size:17px;margin:8px 0 8px}
.gains p{font-size:14.5px;margin:0;max-width:none}

/* v41 心相：有名人の組 */
.pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:30px auto 0;max-width:760px}
@media (max-width:700px){.pairs{grid-template-columns:minmax(0,1fr)}}
.pairs .pr{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--bg2);border:1px solid var(--beige);border-radius:999px;padding:12px 14px;min-width:0;flex-wrap:wrap}
.pairs .pn{font-size:14px;color:var(--body);white-space:nowrap}
.pairs .pn b{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--head);margin-left:6px;letter-spacing:.04em}
.pairs em{font-style:normal;color:var(--gold)}
.pnote{margin:14px auto 0;font-size:13.5px;text-align:center}

/* v41 心相：9項目 */
.nineitem{margin:30px auto 0;max-width:720px;background:var(--bg2);border:1px solid var(--gold);border-radius:12px;padding:26px 28px}
.nineitem .ni-h{font-family:var(--serif);color:var(--head);font-size:16px;letter-spacing:.1em;text-align:center;margin:0 0 14px;max-width:none}
.nineitem ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin:0;padding-left:20px}
@media (max-width:700px){.nineitem ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nineitem li{font-size:14.5px;color:var(--body);line-height:1.7}

/* v41 心相：料金の二段表示 */
.price.two .phead{display:grid;grid-template-columns:minmax(0,1fr) 120px 110px;gap:10px;padding:0 4px 8px;border-bottom:1px solid var(--gold)}
.price.two .phead span{font-family:var(--cap);font-size:12px;letter-spacing:.16em;text-align:right;color:var(--gold)}
.price.two .phead .h1{color:var(--purple);font-weight:700}
.price.two .row{display:grid;grid-template-columns:minmax(0,1fr) 120px 110px;gap:10px;align-items:baseline;padding:16px 4px;border-bottom:1px solid var(--beige)}
.price.two .row .name{font-family:var(--serif);color:var(--head);font-size:16px;min-width:0}
.price.two .row .name .memo{display:block;font-family:var(--sans);color:var(--body);font-size:13px;margin-top:5px;line-height:1.7}
.price.two .row .amt{text-align:right;font-weight:700;color:var(--purple);font-size:17px;white-space:nowrap}
.price.two .row .reg{text-align:right;color:#9A8C86;font-size:14px;white-space:nowrap;text-decoration:line-through}
.price.two .row .reg:only-child,.price.two .row .reg.none{text-decoration:none}
@media (max-width:640px){
  .price.two .phead{grid-template-columns:minmax(0,1fr) 96px 88px}
  .price.two .row{grid-template-columns:minmax(0,1fr) 96px 88px}
  .price.two .row .name{font-size:15px}
  .price.two .row .amt{font-size:15.5px}
  .price.two .row .reg{font-size:12.5px}
}


/* v42 心相：二度の奇跡 */
.mina{max-width:700px;margin:34px auto 0;background:var(--bg2);border:1px solid var(--gold);border-radius:14px;padding:clamp(24px,3.4vw,36px)}
.mina .mh{font-family:var(--serif);color:var(--head);font-size:clamp(16px,2.1vw,20px);line-height:1.9;text-align:center;margin:0 0 20px;max-width:none}
.mina .mrow{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--beige);flex-wrap:wrap}
.mina .ml{font-size:15px;color:var(--body)}
.mina .mv{font-size:14px;color:var(--head)}
.mina .mv b{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--purple);margin:0 3px;letter-spacing:.04em}
.mina .mn{margin:20px 0 0;font-size:14.5px;line-height:2;border-top:1px solid var(--beige);padding-top:18px;max-width:none}
.pnote2{margin:34px auto 0;font-family:var(--cap);font-size:12px;letter-spacing:.3em;color:var(--gold);text-align:center}

.grp{margin:30px auto 0;font-family:var(--serif);color:var(--head);font-size:16px;letter-spacing:.14em;text-align:center;max-width:none}
.grp+.pairs{margin-top:14px}


/* v43 喜びの便り */
.joy{position:relative;padding:clamp(56px,7vw,92px) 0;background:
  radial-gradient(60% 48% at 50% 8%,rgba(255,253,252,.95),rgba(255,253,252,0) 70%),
  radial-gradient(38% 30% at 12% 78%,rgba(232,137,131,.10),rgba(232,137,131,0) 70%),
  radial-gradient(38% 30% at 88% 80%,rgba(201,185,216,.16),rgba(201,185,216,0) 70%),
  linear-gradient(180deg,#FFFDFC,#F7EFE6 62%,#F8F3ED)}
.joy .jlead{font-family:var(--serif);color:var(--head);font-size:clamp(16px,2.1vw,21px);line-height:2;letter-spacing:.05em;margin:20px auto 0;max-width:none}
.joycards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,26px);margin-top:clamp(30px,4vw,46px);align-items:start}
@media (max-width:940px){.joycards{grid-template-columns:minmax(0,1fr);max-width:620px;margin-left:auto;margin-right:auto}}
.jc{position:relative;background:#FFFDFC;border:1px solid #F0E3D6;border-radius:20px;padding:clamp(26px,2.6vw,34px) clamp(20px,2.2vw,28px) 24px;box-shadow:0 10px 30px rgba(102,80,120,.07);min-width:0}
.jc::before{content:"“";position:absolute;top:6px;left:16px;font-family:'Cormorant Garamond',serif;font-size:64px;line-height:1;color:var(--gold);opacity:.45}
.jc .big{position:relative;font-family:var(--serif);color:var(--head);font-size:clamp(17px,1.5vw,20px);line-height:2;letter-spacing:.03em;margin:14px 0 0;max-width:none}
.jc .body{font-size:14px;line-height:2;color:var(--body);margin:16px 0 0;max-width:none}
.jc .who{margin:20px 0 0;padding-top:14px;border-top:1px solid #F0E3D6;font-family:var(--serif);color:var(--head);font-size:15px;max-width:none}
.jc .who span{display:block;font-family:var(--sans);font-size:12.5px;color:#9A8C86;letter-spacing:.06em;margin-top:5px}

.ninehow{margin:20px auto 0;max-width:620px;font-size:14px;line-height:2;color:var(--body);text-align:center}

/* v45 心相のトップ：星図に合わせて位置調整 */
#page-shinso .ahero>img{object-position:center 46%}
@media (max-width:860px){#page-shinso .ahero>img{object-position:58% 42%}}




/* v48 お腹に手を当てる写真 */
.meimg{width:min(420px,88%);margin:34px auto 10px}
.meimg img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:62% 46%;border-radius:14px;box-shadow:0 12px 34px rgba(102,80,120,.12)}
@media (max-width:520px){.meimg{width:min(330px,88%)}}


/* v49 無料鑑定のベネフィット */
.bene{max-width:620px;margin:30px auto 0;background:rgba(255,253,252,.94);border:1px solid var(--gold);border-radius:16px;padding:clamp(24px,3vw,34px) clamp(20px,2.6vw,32px);text-align:left;box-shadow:0 10px 30px rgba(102,80,120,.08)}
.bene .bh{margin:0 0 18px;font-family:var(--serif);color:var(--head);font-size:clamp(16px,2vw,19px);letter-spacing:.06em;text-align:center;max-width:none}
.bene ul{list-style:none;margin:0;padding:0}
.bene li{position:relative;padding:0 0 16px 34px;margin-bottom:16px;border-bottom:1px solid var(--beige)}
.bene li:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.bene li::before{content:"";position:absolute;left:0;top:4px;width:22px;height:22px;border-radius:50%;background:var(--gold)}
.bene li::after{content:"";position:absolute;left:6.5px;top:11px;width:9px;height:5px;border-left:2px solid #FFFDFC;border-bottom:2px solid #FFFDFC;transform:rotate(-45deg)}
.bene li b{display:block;font-family:var(--serif);color:var(--head);font-size:clamp(17px,2.1vw,20px);font-weight:600;line-height:1.7;letter-spacing:.03em}
.bene li span{display:block;margin-top:4px;font-size:14.5px;color:var(--text);line-height:1.9}
.bene .bfoot{margin:20px 0 0;padding-top:16px;border-top:1px solid var(--beige);font-family:var(--serif);color:var(--head);font-size:clamp(15px,1.8vw,17px);text-align:center;max-width:none}
.freeflag{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:26px auto 30px;max-width:620px}
.freeflag .was{font-size:15px;color:#8C7C76;text-decoration:line-through}
.freeflag .arrow{color:var(--gold)}
.freeflag .now{font-family:var(--serif);color:var(--head);font-size:clamp(16px,2vw,19px)}
.freeflag .now b{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,4.4vw,44px);color:var(--coral);line-height:1;margin-left:6px;letter-spacing:.02em}

/* v50 幸せ発生器の帯：明るく */
.band.mission::before{background:rgba(255,253,252,.30)}
.band.mission h2,.band.mission .lead,.band.mission p,.band.mission .cap{color:#4A3A5C;text-shadow:0 1px 10px rgba(255,253,252,.9)}
.band.mission .cap{color:#8E7440}
.band.mission .gold-line{background:#C3A867}


/* v51 結魂：体・心・魂をひとつに（刺す一文） */
.oneline{max-width:640px;margin:36px auto 0;text-align:center}
.oneline p{font-family:var(--serif);color:var(--head);font-size:clamp(16px,2.1vw,20px);line-height:2.1;letter-spacing:.05em;margin:0;max-width:none;opacity:.9}
.oneline .ol-strong{margin-top:22px;padding-top:22px;border-top:1px solid var(--gold);font-size:clamp(19px,2.9vw,28px);line-height:1.95;letter-spacing:.06em;font-weight:600;opacity:1}


/* v52 4つのサイン：文字を大きく、答えを立てる */
.harastate figcaption{font-size:clamp(16px,2vw,20px);font-weight:600;letter-spacing:.05em;line-height:1.75;color:var(--head)}
.signans{max-width:640px;margin:40px auto 0;padding:clamp(26px,3.2vw,38px) clamp(20px,3vw,34px);background:rgba(255,253,252,.9);border:1px solid var(--gold);border-radius:16px;text-align:center}
.signans .sa1{margin:0 0 14px;font-family:var(--cap);font-size:14px;letter-spacing:.24em;color:var(--gold);max-width:none}
.signans .sa2{margin:0;font-family:var(--serif);color:var(--head);font-weight:600;font-size:clamp(19px,2.9vw,28px);line-height:1.95;letter-spacing:.05em;max-width:none}
.signans .sa3{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--beige);font-family:var(--serif);color:var(--head);font-size:clamp(15px,1.9vw,18px);line-height:2;max-width:none}


/* v53 英字小見出しが薄くて読めないため、文字だけ濃い金にする（線・枠の金はそのまま） */
:root{--capink:#A8874A}
.cap{color:var(--capink)}
.band .cap,.gift .cap{color:var(--gold)}
.logo small{color:var(--capink)}
.creed .creed-note,.pnote2,.signans .sa1,.year{color:var(--capink)}
.price.two .phead span{color:var(--capink)}


/* v54 「こんな方に」：写真が文章に対して大きすぎるので抑える */
.checkgrid{grid-template-columns:minmax(0,.82fr) minmax(0,1fr);max-width:880px;align-items:center}
.checkgrid .ci{aspect-ratio:1/1;max-width:340px;margin-inline:auto}
@media (max-width:860px){
  .checkgrid{grid-template-columns:minmax(0,1fr)}
  .checkgrid .ci{aspect-ratio:4/3;max-width:420px}
}


/* v55 変化の入口バナーに添える言葉 */
.gatewords{background:linear-gradient(180deg,#F1E6DC,#F8F3ED);padding:clamp(34px,4.6vw,60px) 0;text-align:center;line-height:1.8}
.gatewords .gw1{margin:0;font-family:var(--serif);color:var(--head);font-size:clamp(15px,1.9vw,18px);letter-spacing:.06em;line-height:2;opacity:.92;max-width:none}
.gatewords .gw2{margin:16px auto 0;font-family:var(--serif);color:var(--head);font-weight:600;font-size:clamp(22px,3.6vw,36px);letter-spacing:.06em;line-height:1.9;max-width:none}
.gatewords .gw3{margin:22px auto 0;padding-top:20px;border-top:1px solid var(--gold);max-width:min(30em,92%);font-size:clamp(14px,1.7vw,16px);line-height:2.1;color:var(--text)}


/* v56 Conceptセクションだけ背景画像 */
.introbg{position:relative;background-size:cover;background-position:center 30%;background-attachment:fixed}
@media (max-width:1000px){.introbg{background-attachment:scroll}}
.introbg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(248,243,237,.70),rgba(255,253,252,.80) 45%,rgba(248,243,237,.86))}
.introbg>.wrap{position:relative;z-index:1}

.introbg h2,.introbg .lead,.introbg p{text-shadow:0 1px 10px rgba(255,253,252,.9)}


/* v57 4つのサインを囲んで、主語を立てる */
.harabox{max-width:900px;margin:34px auto 0;padding:clamp(24px,3vw,34px) clamp(16px,2.4vw,30px) clamp(20px,2.6vw,30px);background:rgba(255,253,252,.9);border:1px solid var(--beige);border-radius:18px}
.harabox .hb-h{margin:0;font-family:var(--serif);color:var(--head);font-weight:600;font-size:clamp(18px,2.4vw,23px);letter-spacing:.08em;text-align:center;max-width:none}
.harabox .harastate{margin-top:clamp(18px,2.4vw,26px)}

ruby rt{font-size:.5em;font-weight:400;letter-spacing:.02em;color:inherit;opacity:.8;transform:translateY(.2em)}


/* v58 理念：もっと大きく、間にゆとり */
.creed{max-width:820px;padding:clamp(34px,4.6vw,58px) clamp(22px,4vw,50px)}
.creed .threeword{gap:clamp(20px,6vw,72px);font-size:clamp(32px,6.4vw,56px);letter-spacing:.12em}
.creed .threeword span{min-width:3em;padding-bottom:16px}
.creed .threeword+.threeword{margin-top:clamp(34px,5vw,52px)!important}
.creed .threeword.henka{margin-top:clamp(44px,6vw,64px)!important}
.creed .threeword.henka span{font-size:clamp(28px,5.4vw,48px);min-width:auto;padding:0 .4em 16px}
@media (max-width:520px){
  .creed .threeword{gap:14px;font-size:clamp(28px,9vw,38px)}
  .creed .threeword span{min-width:2.8em;padding-bottom:12px}
}


/* v59 英字小見出しを大きく、読めるように */
.cap{font-size:clamp(16px,1.7vw,19px);font-weight:600;letter-spacing:.2em;margin-bottom:12px}
.logo small{font-size:11px;letter-spacing:.28em}
.split-txt h2{font-size:clamp(26px,3.6vw,38px)}

.yuikon-em{display:inline-block;margin-top:6px;font-family:var(--serif);font-weight:600;color:var(--coral);font-size:1.12em;letter-spacing:.04em;line-height:2}


/* v60 数字を受け取った後に起きること */
.afterb{max-width:900px;margin:0 auto clamp(38px,5vw,58px)}
.afterb .ab-h{margin:0 0 clamp(20px,2.6vw,28px);font-family:var(--serif);color:var(--head);font-weight:600;font-size:clamp(19px,2.8vw,27px);letter-spacing:.06em;text-align:center;line-height:1.9;max-width:none}
.ab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,22px)}
@media (max-width:860px){.ab-grid{grid-template-columns:minmax(0,1fr);max-width:520px;margin-inline:auto}}
.ab{background:rgba(255,253,252,.94);border:1px solid var(--beige);border-radius:16px;padding:clamp(22px,2.6vw,30px) clamp(18px,2.2vw,26px);text-align:left;min-width:0;box-shadow:0 8px 24px rgba(102,80,120,.07)}
.ab .abn{display:block;font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--gold);line-height:1;margin-bottom:8px}
.ab b{display:block;font-family:var(--serif);color:var(--head);font-weight:600;font-size:clamp(17px,2vw,20px);line-height:1.8;letter-spacing:.03em}
.ab span:not(.abn){display:block;margin-top:8px;font-size:14.5px;line-height:2;color:var(--text)}


/* v61 心相数でわかること（5項目） */
.ab-grid.five{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(10px,1.4vw,16px)}
@media (max-width:1000px){.ab-grid.five{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px;margin-inline:auto}}
@media (max-width:480px){.ab-grid.five{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
.ab-grid.five .ab{text-align:center;padding:clamp(18px,2.2vw,26px) clamp(12px,1.6vw,18px)}
.ab-grid.five .ab b{font-size:clamp(15.5px,1.7vw,18px)}
.ab-grid.five .ab .abn{font-size:22px}
.ab-grid.five .ab span:not(.abn){font-size:13px;margin-top:6px}
/* 心相数とは */
.bene .bdef{margin:0;font-family:var(--serif);color:var(--head);font-size:clamp(17px,2.2vw,21px);line-height:2;text-align:center;max-width:none}
.bene .bdef b{color:var(--coral);font-weight:600}
.bene .bdef2{margin:16px auto 0;font-size:15px;line-height:2.1;text-align:center;max-width:none;color:var(--text)}


/* v62 運命の人：チラシの華やかさに寄せる */
.destiny{position:relative;overflow:hidden;
  background:
   radial-gradient(60% 40% at 50% 12%,rgba(216,199,160,.22),rgba(216,199,160,0) 70%),
   radial-gradient(50% 40% at 12% 88%,rgba(232,137,131,.18),rgba(232,137,131,0) 70%),
   radial-gradient(50% 40% at 88% 82%,rgba(201,185,216,.22),rgba(201,185,216,0) 70%),
   linear-gradient(160deg,#2A2140 0%,#3B2C55 48%,#2E2444 100%)}
.destiny::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(2px 2px at 18% 22%,rgba(255,253,252,.85),transparent 60%),
  radial-gradient(2px 2px at 74% 16%,rgba(255,253,252,.7),transparent 60%),
  radial-gradient(1.6px 1.6px at 36% 74%,rgba(216,199,160,.9),transparent 60%),
  radial-gradient(1.6px 1.6px at 86% 62%,rgba(255,253,252,.7),transparent 60%),
  radial-gradient(1.4px 1.4px at 58% 88%,rgba(216,199,160,.8),transparent 60%)}
.destiny>.wrap{position:relative;z-index:1}
.destiny .cap{color:#E3CE94}
.destiny h2{color:#FFFDFC;font-weight:700;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.destiny .gold-line{background:linear-gradient(90deg,rgba(216,199,160,0),#E3CE94,rgba(216,199,160,0));width:120px;height:2px}
.destiny p{color:#EDE4DC}
.destiny .ninehow{color:#D9CFC6}
.destiny .grp{color:#E3CE94;font-size:18px;letter-spacing:.2em}
.destiny .pnote,.destiny .pnote2{color:#CFC3BA}

/* 999 を大きく光らせる */
.destiny .nine{display:flex;align-items:center;justify-content:center;gap:clamp(8px,1.6vw,18px);flex-wrap:wrap;margin:clamp(26px,3.4vw,40px) auto 0}
.destiny .nine span{display:flex;align-items:center;justify-content:center;
  min-width:clamp(78px,11vw,132px);height:clamp(78px,11vw,132px);border-radius:50%;
  font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4.6vw,54px);letter-spacing:.02em;
  color:#2A2140;background:radial-gradient(circle at 34% 30%,#FFF6DF,#E3CE94 70%,#C9AE68 100%);
  box-shadow:0 0 0 2px rgba(255,253,252,.45),0 10px 34px rgba(227,206,148,.35)}
.destiny .nine span:last-child{color:#2A2140;font-size:clamp(32px,5.4vw,64px);
  background:radial-gradient(circle at 34% 30%,#FFFDF6,#F2DFA8 60%,#DCC079 100%);
  box-shadow:0 0 0 3px rgba(255,253,252,.6),0 0 46px rgba(242,223,168,.6),0 12px 40px rgba(0,0,0,.25)}
.destiny .nine em{font-style:normal;color:#E3CE94;font-size:clamp(20px,3vw,34px)}

/* 田中みな実の枠を主役にする */
.destiny .mina{background:linear-gradient(160deg,rgba(255,253,252,.10),rgba(255,253,252,.04));
  border:1px solid rgba(227,206,148,.55);box-shadow:0 18px 50px rgba(0,0,0,.28);backdrop-filter:blur(2px)}
.destiny .mina .mh{color:#FFFDFC;font-weight:700;font-size:clamp(17px,2.4vw,23px)}
.destiny .mina .mrow{border-top-color:rgba(227,206,148,.35)}
.destiny .mina .ml{color:#EDE4DC;font-size:15.5px}
.destiny .mina .mv{color:#F2E7D6}
.destiny .mina .mv b{color:#F7E6B5;font-size:clamp(24px,3.4vw,34px);text-shadow:0 0 22px rgba(247,230,181,.5)}
.destiny .mina .mn{border-top-color:rgba(227,206,148,.35);color:#E4DAD2}

/* 有名人の組を金の札に */
.destiny .pairs .pr{background:rgba(255,253,252,.07);border:1px solid rgba(227,206,148,.45);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.destiny .pairs .pn{color:#F2E7D6;font-size:14.5px}
.destiny .pairs .pn b{color:#F7E6B5;font-size:21px;text-shadow:0 0 18px rgba(247,230,181,.45)}
.destiny .pairs em{color:#E3CE94}


/* v63 ヒーローのサブコピーの下に線 */
.hero .sub{position:relative;padding-bottom:26px}
.hero .sub::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:clamp(120px,18vw,220px);height:2px;
  background:linear-gradient(90deg,rgba(216,199,160,0),#C9AE68,rgba(216,199,160,0))}


/* v64 心相のトップ：リード文を左下へ */
#page-shinso .ahero{align-items:stretch}
#page-shinso .ahero .txt{display:flex;flex-direction:column;height:100%;padding-bottom:clamp(28px,5vh,56px)}
#page-shinso .ahero .lead{margin-top:auto;margin-bottom:0}
@media (max-width:860px){#page-shinso .ahero .txt{padding-bottom:clamp(22px,4vh,40px)}}


/* v65 わかること：画像の欄（丸） */
.ab-grid.five .ab{padding-top:clamp(20px,2.4vw,26px)}
.abslot{display:flex;align-items:center;justify-content:center;width:clamp(64px,7vw,86px);height:clamp(64px,7vw,86px);margin:0 auto 12px;border-radius:50%;
  background:radial-gradient(circle at 34% 28%,#FFFDFC,#F1E6DC 70%,#E8D8C8 100%);
  border:1px solid var(--gold);overflow:hidden}
.abslot img{width:100%;height:100%;object-fit:cover;display:block}
.abslot .abn{margin:0;font-size:22px;color:#C9AE68}

/* v65 運命の人：さらに華やかに */
.destiny .mina{padding:clamp(30px,3.8vw,46px) clamp(22px,3vw,40px);text-align:center;position:relative}
.destiny .mina .mbadge{display:inline-block;margin:0 auto 16px;padding:7px 22px;border-radius:999px;
  font-family:var(--serif);font-weight:700;font-size:clamp(13px,1.5vw,15px);letter-spacing:.22em;
  color:#2A2140;background:linear-gradient(90deg,#F7E6B5,#E3CE94 60%,#D3B678);
  box-shadow:0 6px 22px rgba(227,206,148,.4);max-width:none}
.destiny .mina .mname{margin:14px 0 0;font-family:var(--serif);font-weight:700;color:#FFFDFC;
  font-size:clamp(20px,2.8vw,26px);letter-spacing:.08em;max-width:none}
.destiny .mina .mheart{display:flex;justify-content:center;margin:14px 0 6px}
.destiny .mina .mrow{flex-direction:column;align-items:center;gap:6px;text-align:center;padding:16px 0}
.destiny .mina .ml{display:block}
.destiny .mina .ml b{display:block;font-family:var(--serif);color:#F7E6B5;font-size:clamp(15px,1.9vw,18px);letter-spacing:.1em;margin-bottom:4px}
.destiny .mina .mlast{margin:22px 0 0;padding-top:18px;border-top:1px solid rgba(227,206,148,.35);
  font-family:var(--serif);font-weight:600;color:#FFFDFC;font-size:clamp(17px,2.3vw,22px);line-height:2;max-width:none;
  text-shadow:0 0 22px rgba(247,230,181,.35)}


/* v66 入口の締めの2行を強調 */
.gatewords .gw3{max-width:min(34em,94%);margin-top:26px;padding:22px clamp(18px,3vw,32px) 20px;
  border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);
  background:rgba(255,253,252,.66);
  font-family:var(--serif);font-weight:600;color:var(--head);
  font-size:clamp(16px,2.2vw,21px);line-height:2.1;letter-spacing:.04em}


/* v67 セラピスト育成講座バナー */
.coursebn{margin:0 auto clamp(28px,3.6vw,46px);width:min(1080px,100%);border-radius:18px;overflow:hidden;box-shadow:0 16px 44px rgba(102,80,120,.14)}
.coursebn img{width:100%;height:auto;display:block}


/* v68 運命の人：二人の画像 */
.pairimg{position:relative;width:min(960px,100%);margin:clamp(24px,3.2vw,36px) auto clamp(26px,3.4vw,40px);border-radius:18px;overflow:hidden;
  box-shadow:0 18px 50px rgba(0,0,0,.35);border:1px solid rgba(227,206,148,.4)}
.pairimg img{width:100%;height:auto;display:block}
.pairimg::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(42,33,64,.10) 0%,rgba(42,33,64,0) 40%,rgba(42,33,64,.30) 100%)}
@media (max-width:700px){.pairimg img{height:clamp(240px,60vw,320px);object-fit:cover;object-position:72% center}}


/* v69 田中みな実の枠：チラシの作りに寄せる */
.destiny .mina{max-width:940px;padding:clamp(26px,3.4vw,42px) clamp(18px,2.8vw,36px) clamp(30px,3.6vw,44px)}
.destiny .mina .mtop{margin:0;font-family:var(--serif);color:#F2E7D6;font-size:clamp(16px,2.1vw,20px);letter-spacing:.05em;line-height:1.9;max-width:none}
.destiny .mina .mtop2{margin:6px 0 0;font-family:var(--serif);font-weight:700;color:#FFFDFC;font-size:clamp(24px,3.8vw,38px);letter-spacing:.06em;max-width:none}
.destiny .mina .mtop2 b{color:#F7E6B5;font-size:1.35em;text-shadow:0 0 26px rgba(247,230,181,.6)}
.destiny .mina .mname{margin:12px 0 0;font-size:clamp(21px,3vw,28px)}
.destiny .mina .mquote{margin:18px auto 0;max-width:640px;padding:16px 20px;border-radius:12px;
  background:rgba(255,253,252,.92);color:#43325A;font-family:var(--serif);font-weight:600;
  font-size:clamp(15px,2vw,19px);line-height:1.95;letter-spacing:.03em;box-shadow:0 8px 26px rgba(0,0,0,.22)}
.mpanels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.8vw,20px);margin:clamp(20px,2.8vw,30px) 0 0}
@media (max-width:760px){.mpanels{grid-template-columns:minmax(0,1fr)}}
.mp{position:relative;border-radius:16px;padding:clamp(20px,2.6vw,28px) clamp(16px,2.2vw,24px);min-width:0;text-align:center;
  background:linear-gradient(170deg,rgba(255,253,252,.14),rgba(255,253,252,.05));border:1px solid rgba(227,206,148,.5)}
.mp-h{display:inline-block;margin:0 auto 10px;padding:6px 16px;border-radius:999px;font-family:var(--serif);font-weight:700;
  font-size:clamp(13px,1.6vw,15px);letter-spacing:.14em;color:#2A2140;max-width:none}
.mp-a .mp-h{background:linear-gradient(90deg,#F7E6B5,#E3CE94)}
.mp-b .mp-h{background:linear-gradient(90deg,#F6C9C5,#E88983);color:#4A1F1D}
.mp-who{margin:0;color:#EDE4DC;font-size:14.5px;max-width:none}
.mp-num{margin:6px 0 0;font-family:'Cormorant Garamond',serif;color:#F7E6B5;
  font-size:clamp(42px,7vw,74px);line-height:1.1;letter-spacing:.02em;max-width:none;
  text-shadow:0 0 30px rgba(247,230,181,.55)}
.mp-num em{font-style:normal;font-size:.5em;color:#E3CE94;margin:0 .1em}
.mp-txt{margin:10px 0 0;font-size:14px;line-height:2;color:#E4DAD2;max-width:none}
.mband{margin:clamp(22px,3vw,32px) 0 0;padding:clamp(18px,2.4vw,26px) clamp(16px,2.4vw,28px);border-radius:14px;
  background:linear-gradient(100deg,#E88983,#D96F79 55%,#B85E86);color:#FFFDFC;
  font-family:var(--serif);font-weight:700;font-size:clamp(16px,2.2vw,22px);line-height:2;letter-spacing:.04em;
  box-shadow:0 12px 34px rgba(184,94,134,.35)}
.destiny .mina .mlast{margin:clamp(20px,2.6vw,28px) 0 0;padding-top:0;border-top:0;
  font-size:clamp(19px,2.9vw,28px);font-weight:700;color:#FFFDFC}

/* v69b 詳細度の修正：.destiny p に負けないようにする */
.destiny .mp-h{color:#2A2140;font-weight:700}
.destiny .mp-b .mp-h{color:#4A1F1D}
.destiny .mp-who{color:#EDE4DC}
.destiny .mp-num{color:#F7E6B5}
.destiny .mp-txt{color:#E4DAD2}
.destiny .mband{color:#FFFDFC}
.destiny .mquote{color:#43325A}


/* v70 「運命の人」を大きく目立たせる */
.destiny .mina .mbadge{position:relative;display:inline-block;margin:0 auto 20px;
  padding:clamp(12px,1.6vw,18px) clamp(34px,5vw,64px);border-radius:999px;
  font-family:var(--serif);font-weight:700;
  font-size:clamp(22px,3.6vw,36px);letter-spacing:.3em;text-indent:.3em;
  color:#2A2140;
  background:linear-gradient(100deg,#FFF3D2 0%,#F7E6B5 28%,#E3CE94 55%,#F2DFA8 78%,#D3B678 100%);
  border:2px solid rgba(255,253,252,.85);
  box-shadow:0 0 0 6px rgba(227,206,148,.18),0 14px 40px rgba(227,206,148,.45),0 0 60px rgba(247,230,181,.35)}
.destiny .mina .mbadge::before,.destiny .mina .mbadge::after{content:"";position:absolute;top:50%;width:clamp(26px,5vw,64px);height:1px;background:linear-gradient(90deg,rgba(227,206,148,0),#E3CE94)}
.destiny .mina .mbadge::before{left:calc(-1 * clamp(34px,6vw,80px));transform:translateY(-50%)}
.destiny .mina .mbadge::after{right:calc(-1 * clamp(34px,6vw,80px));transform:translateY(-50%) rotate(180deg)}
@media (max-width:480px){
  .destiny .mina .mbadge{font-size:clamp(20px,6.6vw,26px);padding:11px 26px;letter-spacing:.22em;text-indent:.22em}
  .destiny .mina .mbadge::before,.destiny .mina .mbadge::after{display:none}
}


/* v71 ステージアップのサイン：階段の背景 */
.stairsbg{position:relative;background-size:cover;background-position:center 30%}
.stairsbg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(248,243,237,.62),rgba(255,253,252,.74) 45%,rgba(248,243,237,.80))}
.stairsbg>.wrap{position:relative;z-index:1}
.stairsbg h2,.stairsbg .sign-note,.stairsbg .sign p{text-shadow:0 1px 10px rgba(255,253,252,.9)}
@media (max-width:760px){.stairsbg{background-position:68% 28%}}


/* ===== v72 スマホ追従CTA ===== */
.stickycta{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;gap:8px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(248,243,237,.94);backdrop-filter:blur(8px);
  border-top:1px solid var(--gold);box-shadow:0 -8px 24px rgba(102,80,120,.14);
  transform:translateY(110%);transition:transform .28s ease}
.stickycta.on{transform:translateY(0)}
.stickycta a{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:52px;
  border-radius:999px;text-decoration:none;font-weight:700;font-size:16px;letter-spacing:.02em;
  background:var(--coral);color:#fff;box-shadow:0 6px 18px rgba(232,137,131,.4)}
.stickycta a.s2{flex:0 0 84px;background:var(--purple);box-shadow:0 6px 18px rgba(102,80,120,.35)}
@media (max-width:860px){
  .stickycta{display:flex}
  body{padding-bottom:0}
  footer{padding-bottom:84px}
}

/* ===== v72 金の線が引かれる ===== */
.gold-line.gl-anim{width:0;transition:width .8s cubic-bezier(.22,.8,.24,1)}
.gold-line.gl-anim.drawn{width:56px}
.destiny .gold-line.gl-anim.drawn{width:120px}
@media (prefers-reduced-motion:reduce){.gold-line.gl-anim{width:56px;transition:none}}

/* ===== v72 ボタンに光が一度通る ===== */
.btn.sheen{position:relative;overflow:hidden}
.btn.sheen::after{content:"";position:absolute;top:-60%;bottom:-60%;left:-40%;width:36%;
  background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.55),rgba(255,255,255,0));
  transform:translateX(-160%) rotate(14deg);opacity:0}
.btn.sheen.shine::after{animation:sheen 1.15s .25s ease-out 1 forwards}
@keyframes sheen{0%{transform:translateX(-160%) rotate(14deg);opacity:0}
  12%{opacity:1}88%{opacity:1}100%{transform:translateX(420%) rotate(14deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.btn.sheen::after{display:none}}

/* ===== v72 数え上がる数字 ===== */
.num{font-variant-numeric:tabular-nums}


/* ===== v73 遊びと気配 ===== */
@media (prefers-reduced-motion:no-preference){

  /* 現れ方に時間差をつける */
  .rv{transform:translateY(24px)}
  .stagger>*{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,.8,.24,1)}
  .stagger.in>*{opacity:1;transform:none}
  .stagger.in>*:nth-child(1){transition-delay:.05s}
  .stagger.in>*:nth-child(2){transition-delay:.15s}
  .stagger.in>*:nth-child(3){transition-delay:.25s}
  .stagger.in>*:nth-child(4){transition-delay:.35s}
  .stagger.in>*:nth-child(5){transition-delay:.45s}
  .stagger.in>*:nth-child(6){transition-delay:.55s}

  /* お腹の4つのサインがゆっくり息をする */
  .harastate figure:nth-child(1) .ic{animation:floaty 5.2s ease-in-out infinite}
  .harastate figure:nth-child(2) .ic{animation:floaty 6.1s ease-in-out .5s infinite}
  .harastate figure:nth-child(3) .ic{animation:floaty 5.6s ease-in-out .9s infinite}
  .harastate figure:nth-child(4) .ic{animation:floaty 6.6s ease-in-out .3s infinite}
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

  /* 光の粒が漂う層 */
  .sparkles{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
  .sparkles i{position:absolute;width:6px;height:6px;border-radius:50%;
    background:radial-gradient(circle,#FFFDFC 0%,rgba(216,199,160,.85) 45%,rgba(216,199,160,0) 70%);
    opacity:0;animation:drift linear infinite}
  @keyframes drift{
    0%{transform:translate3d(0,20px,0) scale(.7);opacity:0}
    18%{opacity:.9}
    70%{opacity:.65}
    100%{transform:translate3d(14px,-120px,0) scale(1.1);opacity:0}}

  /* 「そして、変化。」に光が差す */
  .threeword.henka span{background:linear-gradient(100deg,currentColor 0 40%,#D8C7A0 50%,currentColor 60% 100%);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
    background-size:260% 100%;animation:shimmer 5.5s ease-in-out 1.2s infinite}
  @keyframes shimmer{0%,72%{background-position:130% 0}88%,100%{background-position:-30% 0}}
}

/* PCで触れると持ち上がる */
@media (hover:hover) and (min-width:861px){
  .card,.jc,.ab,.mp,.pairs .pr,.gains .g,.step{transition:transform .3s cubic-bezier(.22,.8,.24,1),box-shadow .3s ease}
  .card:hover,.jc:hover,.ab:hover,.gains .g:hover,.step:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(102,80,120,.16)}
  .mp:hover,.pairs .pr:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(0,0,0,.3)}
  .card:hover .img{transform:scale(1.06)}
  .meimg img,.coursebn img,.pairimg img{transition:transform .6s cubic-bezier(.22,.8,.24,1)}
  .meimg:hover img,.coursebn:hover img,.pairimg:hover img{transform:scale(1.03)}
  .btn{transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
  .btn.main:hover,.btn.sub2:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(232,137,131,.35)}
  .btn.sub2:hover{box-shadow:0 12px 28px rgba(102,80,120,.32)}
}


/* ===== v74 配置の変化：巨大な英字・互い違い・斜めの区切り ===== */
.ghost{position:absolute;pointer-events:none;z-index:0;
  font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:.04em;
  font-size:clamp(72px,17vw,230px);line-height:.82;white-space:nowrap;
  color:#665078;opacity:.055;text-transform:uppercase}
.ghost.gl{left:-.06em;top:-.12em}
.ghost.gr{right:-.06em;bottom:-.10em}
@media (max-width:760px){.ghost{font-size:clamp(58px,26vw,120px);opacity:.05}}
section{position:relative}
section>.wrap{position:relative;z-index:1}

/* カードを互い違いに置く */
@media (min-width:900px){
  .cards{align-items:start}
  .cards .card:nth-child(even){transform:translateY(30px)}
  .cards .card:nth-child(even):hover{transform:translateY(24px)}
  .ab-grid.five .ab:nth-child(even){transform:translateY(22px)}
  .ab-grid.five .ab:nth-child(even):hover{transform:translateY(16px)}
  .steps>.step:nth-child(even){transform:translateY(26px)}
  .steps>.step:nth-child(even):hover{transform:translateY(20px)}
}

/* 斜めの区切り */
.block.alt{clip-path:polygon(0 2.2vw,100% 0,100% 100%,0 calc(100% - 2.2vw));margin-top:-1px;margin-bottom:-1px;
  padding-top:calc(clamp(44px,6vw,78px) + 2.2vw);padding-bottom:calc(clamp(44px,6vw,78px) + 2.2vw)}
@media (max-width:760px){.block.alt{clip-path:polygon(0 3.4vw,100% 0,100% 100%,0 calc(100% - 3.4vw))}}

/* 見出しを左に寄せる回（交互のリズム） */
.lefthead{text-align:left}
.lefthead .gold-line{margin-left:0;margin-right:auto}
.lefthead .lead,.lefthead p{margin-left:0;margin-right:auto}
@media (max-width:760px){.lefthead{text-align:center}.lefthead .gold-line{margin-left:auto}}
.hasghost{overflow:hidden}

/* v75 わかること：イラストを入れて丸を大きく */
.abslot{width:clamp(92px,9.5vw,124px);height:clamp(92px,9.5vw,124px);background:#FFFDFC;border-color:var(--gold)}
.ab-grid.five .ab{padding-top:clamp(22px,2.6vw,30px)}


/* ===== v76 セクションごとに骨組みを変える ===== */

/* 巨大英字は一部のセクションだけに絞る */
.ghost{display:none}
.introbg>.ghost,#menu>.ghost,.joy>.ghost,.destiny>.ghost{display:block}

/* カードの互い違いも一部だけ */
@media (min-width:900px){
  .ab-grid.five .ab:nth-child(even){transform:none}
  .steps>.step:nth-child(even){transform:none}
  .ab-grid.five .ab:nth-child(even):hover,.steps>.step:nth-child(even):hover{transform:translateY(-6px)}
}

/* 理念：配色を反転して全幅の一枚に */
.creedblock{background:
  radial-gradient(70% 50% at 50% 0%,rgba(216,199,160,.20),rgba(216,199,160,0) 70%),
  linear-gradient(165deg,#3B2C55 0%,#54406A 52%,#332845 100%);
  clip-path:none;padding:clamp(56px,7vw,100px) 0}
.creedblock .cap{color:#E3CE94}
.creedblock h2{color:#FFFDFC}
.creedblock .gold-line{background:linear-gradient(90deg,rgba(227,206,148,0),#E3CE94,rgba(227,206,148,0));width:120px}
.creedblock .lead{color:#EFE6DC}
.creedblock .creed{background:transparent;border:0;box-shadow:none;padding:clamp(20px,3vw,34px) 0 0;max-width:900px}
.creedblock .creed::before,.creedblock .creed::after{display:none}
.creedblock .creed-note{color:#E3CE94}
.creedblock .threeword span{color:#FFFDFC}
.creedblock .threeword span::after{background:rgba(227,206,148,.75)}
.creedblock .threeword.henka span{color:#FFFDFC}

/* メニュー：4枚を大判の2×2に */
@media (min-width:1000px){
  #menu .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.4vw,30px);max-width:960px;margin-inline:auto}
  #menu .cards .card:nth-child(even){transform:none}
  #menu .card{flex-direction:row;align-items:stretch;border-radius:18px}
  #menu .card .img{flex:0 0 42%;aspect-ratio:auto;min-height:220px}
  #menu .card .body{flex:1 1 auto;justify-content:center;padding:24px}
  #menu .card:hover{transform:translateY(-6px)}
}



.creed .creed-note{margin-left:auto;margin-right:auto;max-width:none;text-align:center}
.creedblock .lead{margin-left:auto;margin-right:auto;max-width:none}


/* v77 結魂：こんなことはありませんか（2列のチェック） */
.nayami{background:linear-gradient(180deg,#FFFDFC,#F4ECE4)}
.nlist{list-style:none;margin:clamp(26px,3.4vw,38px) auto 0;padding:0;max-width:920px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.8vw,18px)}
@media (max-width:820px){.nlist{grid-template-columns:minmax(0,1fr);max-width:560px}}
.nlist li{position:relative;padding:clamp(16px,2vw,20px) clamp(16px,2vw,22px) clamp(16px,2vw,20px) 52px;
  background:#FFFDFC;border:1px solid var(--beige);border-radius:14px;
  font-family:var(--serif);color:var(--head);font-size:clamp(15.5px,1.9vw,18px);line-height:1.85;letter-spacing:.02em;
  box-shadow:0 6px 18px rgba(102,80,120,.06);text-align:left;min-width:0}
.nlist li::before{content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;border-radius:6px;border:1.5px solid var(--gold);background:#FFFDFC}
.nlist li::after{content:"";position:absolute;left:24px;top:calc(50% - 3px);
  width:10px;height:6px;border-left:2px solid var(--coral);border-bottom:2px solid var(--coral);
  transform:translateY(-50%) rotate(-45deg)}
.nend{margin:clamp(26px,3.4vw,36px) auto 0;text-align:center;font-family:var(--serif);color:var(--head);
  font-weight:600;font-size:clamp(17px,2.4vw,23px);line-height:2;max-width:none}
@media (hover:hover) and (min-width:861px){
  .nlist li{transition:transform .25s ease,box-shadow .25s ease}
  .nlist li:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(102,80,120,.12)}
}


/* v78 お客様の声：見出し付き・顔写真の枠（写真は届き次第） */
.voice.hasHead{position:relative}
.voice .vhead{margin:0 0 14px;font-family:var(--serif);color:var(--head);font-weight:600;
  font-size:clamp(18px,2.4vw,24px);line-height:1.85;letter-spacing:.03em;max-width:none}
.voice .vhead+p{margin-top:0}
.voice .vphoto{float:left;width:92px;height:92px;border-radius:50%;overflow:hidden;margin:0 18px 10px 0;border:1px solid var(--beige)}
.voice .vphoto img{width:100%;height:100%;object-fit:cover;display:block}
.voice .vperm{margin:12px 0 0;font-size:12.5px;color:#9A8C86;text-align:right;max-width:none}
@media (max-width:520px){.voice .vphoto{width:72px;height:72px;margin-right:14px}}


/* v79 理念の背景：キラキラ */
@media (prefers-reduced-motion:no-preference){
  .creedblock .sparkles.star i{width:9px;height:9px;
    background:radial-gradient(circle,#FFFDFC 0%,rgba(247,230,181,.95) 35%,rgba(227,206,148,.35) 60%,rgba(227,206,148,0) 72%);
    animation:twinkle 4.6s ease-in-out infinite}
  .creedblock .sparkles.star i::before,.creedblock .sparkles.star i::after{content:"";position:absolute;left:50%;top:50%;
    background:linear-gradient(90deg,rgba(255,253,252,0),rgba(255,253,252,.9),rgba(255,253,252,0));
    transform:translate(-50%,-50%)}
  .creedblock .sparkles.star i::before{width:26px;height:1px}
  .creedblock .sparkles.star i::after{width:1px;height:26px}
  @keyframes twinkle{
    0%,100%{opacity:0;transform:scale(.4) rotate(0deg)}
    35%{opacity:.95;transform:scale(1) rotate(8deg)}
    60%{opacity:.45;transform:scale(.8) rotate(-6deg)}
    80%{opacity:.85;transform:scale(1.05) rotate(4deg)}}
  .creedblock .sparkles.star i:nth-child(3n){animation-duration:6.2s}
  .creedblock .sparkles.star i:nth-child(4n){animation-duration:7.4s}
  .creedblock .sparkles.star i:nth-child(5n){animation-duration:5.2s}
}


/* v80 七彩について：場所（左右分割）とメニュー導線 */
.split2{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(22px,3.4vw,48px);align-items:center;margin-top:clamp(26px,3.4vw,40px);max-width:960px;margin-inline:auto}
@media (max-width:860px){.split2{grid-template-columns:minmax(0,1fr)}}
.p2img{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 14px 36px rgba(102,80,120,.14)}
.p2img img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;display:block}
@media (max-width:860px){.p2img img{aspect-ratio:16/10;max-height:320px}}
.p2txt p{margin:0 0 1.1em;max-width:none}
.p2txt p:last-child{margin-bottom:0}

.aboutmenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.8vw,18px);margin-top:clamp(24px,3vw,34px);max-width:900px;margin-inline:auto}
@media (max-width:760px){.aboutmenu{grid-template-columns:minmax(0,1fr)}}
.am{display:block;text-decoration:none;background:var(--bg2);border:1px solid var(--beige);border-radius:14px;
  padding:clamp(18px,2.2vw,24px) clamp(16px,2vw,22px);min-width:0;position:relative;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.am b{display:block;font-family:var(--serif);color:var(--head);font-size:clamp(17px,2vw,20px);font-weight:600;line-height:1.7}
.am span{display:inline-block;margin-top:4px;font-family:var(--cap);font-size:13px;letter-spacing:.16em;color:var(--capink)}
.am em{display:block;margin-top:8px;font-style:normal;font-size:14.5px;line-height:1.95;color:var(--text)}
.am::after{content:"→";position:absolute;right:16px;bottom:14px;color:var(--gold);font-size:15px}
@media (hover:hover){.am:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(102,80,120,.14);border-color:var(--gold)}}

.warn .wadd{margin:16px auto 0;max-width:min(30em,94%);font-size:15px;line-height:2;color:var(--text)}

.p2txt .gold-line{margin-left:0;margin-right:auto}
.p2txt h2{margin-bottom:0}
.p2txt .cap{text-align:left}
@media (max-width:860px){.p2txt .cap,.p2txt h2{text-align:center}.p2txt .gold-line{margin-left:auto}}

/* v81 悩んでいる姿 */
.nayimg{width:min(640px,92%);margin:clamp(24px,3.2vw,34px) auto 0;border-radius:18px;overflow:hidden;box-shadow:0 14px 38px rgba(102,80,120,.14)}
.nayimg img{width:100%;height:auto;display:block}
.nayimg+.nlist{margin-top:clamp(22px,3vw,30px)}


/* ===== v82 運気の波：動き出す ===== */
@media (prefers-reduced-motion:no-preference){
  .wave .wline{stroke-dasharray:1200;stroke-dashoffset:1200}
  .wave .wfill{opacity:0}
  .wave .wpeak{opacity:0;transform-box:fill-box;transform-origin:center}
  .wave .wrider{opacity:0}
  .wave.go .wline{animation:wdraw 2.4s cubic-bezier(.33,.9,.3,1) forwards}
  .wave.go .wfill{animation:wfade 1.2s ease 1.6s forwards}
  .wave.go .wpeak{animation:wpop .7s ease 2.2s forwards, wpulse 2.6s ease-in-out 2.9s infinite}
  .wave.go .wrider{offset-path:path("M40 120 C110 190, 180 210, 250 200 C330 188, 380 140, 440 100 C500 62, 560 52, 620 70 C670 85, 710 110, 720 130");
    offset-rotate:0deg;animation:wride 6.5s ease-in-out 2.6s infinite, wfade .6s ease 2.6s forwards}
  @keyframes wdraw{to{stroke-dashoffset:0}}
  @keyframes wfade{to{opacity:1}}
  @keyframes wpop{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}
  @keyframes wpulse{0%,100%{r:9}50%{r:12}}
  @keyframes wride{0%{offset-distance:0%}100%{offset-distance:100%}}
}

/* v83 2ショットは横長の枠で */
.voice .vphoto.wide{width:150px;height:112px;border-radius:12px}
@media (max-width:520px){.voice .vphoto.wide{width:120px;height:90px}}

/* v84 施術前後の比較写真 */
.bawrap{width:min(760px,94%);margin:clamp(22px,3vw,30px) auto 0;border-radius:14px;overflow:hidden;box-shadow:0 12px 32px rgba(102,80,120,.12)}
.bawrap.one{width:min(420px,84%)}
.bawrap img{width:100%;height:auto;display:block}
.banote{margin:20px auto 0;font-size:13px;color:#8C7C76;text-align:center;max-width:none}

/* v85 施術前後：何枚でも並ぶグリッド */
.bagrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:clamp(14px,2vw,22px);
  max-width:900px;margin:clamp(24px,3vw,32px) auto 0;align-items:start}
.bagrid figure{margin:0;min-width:0;background:var(--bg2);border:1px solid var(--beige);border-radius:14px;overflow:hidden;
  box-shadow:0 10px 26px rgba(102,80,120,.10)}
.bagrid img{width:100%;height:auto;display:block}
.bagrid figcaption{padding:10px 12px;font-size:12.5px;color:#8C7C76;text-align:center;letter-spacing:.04em}
@media (hover:hover) and (min-width:861px){.bagrid figure{transition:transform .25s ease,box-shadow .25s ease}.bagrid figure:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(102,80,120,.16)}}

/* v86 写真のない声には猫のイラスト */
.voice .vphoto.cat{background:#FFFDFC;border-color:#F0E3D6}
.voice .vphoto.cat img{object-fit:contain}

/* v98 施術前後ギャラリー：見出しと代表モンタージュ */
.bahead{font-family:var(--serif);font-size:clamp(17px,2.1vw,22px);font-weight:600;color:var(--head);
  letter-spacing:.1em;margin:clamp(34px,4vw,48px) 0 2px;position:relative;display:inline-block;padding-bottom:8px}
.bahead::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:40px;height:1px;background:var(--gold)}
.bahero{margin:clamp(22px,3vw,30px) auto 0;max-width:620px;background:var(--bg2);border:1px solid var(--beige);
  border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(102,80,120,.12)}
.bahero img{width:100%;height:auto;display:block}
.bahero figcaption{padding:10px 12px;font-size:12.5px;color:#8C7C76;text-align:center;letter-spacing:.04em}

/* v98 代表紹介とセラピスト紹介を一つに */
.story .profile{margin:clamp(24px,3vw,34px) auto clamp(6px,1vw,10px)}
.storyhead{font-family:var(--serif);font-size:clamp(22px,3.4vw,34px);font-weight:600;color:var(--head);
  line-height:1.5;letter-spacing:.06em;text-align:center;margin:clamp(34px,4.5vw,54px) 0 0}
.storyhead::after{content:"";display:block;width:48px;height:1px;background:var(--gold);margin:14px auto 0}
.qualbox{max-width:720px;margin:clamp(26px,3.4vw,38px) auto 0;padding:18px 22px;background:var(--bg2);
  border:1px solid var(--beige);border-radius:14px;text-align:center}
.qualbox .qual-h{font-family:var(--serif);color:var(--head);letter-spacing:.14em;font-size:14px;margin:0 0 8px}
.qualbox .titles{margin:0}
.story .profile{align-items:center}

/* v99 喜びの便り：丸枠の猫イラスト */
.jc{padding-top:clamp(20px,2.2vw,26px)}
.jcat{width:78px;height:78px;border-radius:50%;overflow:hidden;background:#FFFDFC;border:1px solid var(--beige);
  box-shadow:0 6px 16px rgba(102,80,120,.10);margin:0 0 4px auto;position:relative;z-index:1}
.jcat img{width:100%;height:100%;object-fit:contain;display:block}
@media (max-width:940px){.jcat{width:68px;height:68px}}

/* v99 鑑定メニューと料金を一体化 */
.mnpnote{margin:clamp(16px,2vw,22px) auto 0;font-size:13.5px;color:#8C7C76;text-align:center;max-width:none}
.mnplist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.2vw,24px);
  max-width:980px;margin:clamp(26px,3.2vw,36px) auto 0;align-items:stretch}
@media (max-width:860px){.mnplist{grid-template-columns:minmax(0,1fr);max-width:560px}}
.mnp{position:relative;display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--beige);
  border-radius:18px;padding:clamp(22px,2.4vw,30px) clamp(18px,2.2vw,28px);box-shadow:0 10px 28px rgba(102,80,120,.08);min-width:0}
.mnp h3{font-family:var(--serif);font-size:clamp(16px,1.6vw,19px);font-weight:600;color:var(--head);
  line-height:1.7;letter-spacing:.04em;margin:0}
.mnp p{font-size:14px;line-height:2;color:var(--text);margin:12px 0 0;max-width:none;text-align:left}
.mnpfee{margin-top:auto;padding-top:16px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  border-top:1px dashed #E8D8C8}
.mnpfee{margin-top:18px}
.mnplbl{font-size:11px;letter-spacing:.12em;color:#FFFDFC;background:var(--head);border-radius:999px;padding:4px 11px;white-space:nowrap}
.mnpamt{font-family:var(--serif);font-size:clamp(22px,2.5vw,29px);font-weight:600;color:var(--coral);letter-spacing:.02em}
.mnpreg{font-size:12.5px;color:#9A8C86;text-decoration:line-through;letter-spacing:.04em}
.mnp.free{background:linear-gradient(160deg,#FFFDFC,#FBF5EE);border-color:var(--gold)}
.mnp.free .mnpamt{color:var(--head)}
.mnp.best{border-color:var(--gold);box-shadow:0 14px 34px rgba(216,199,160,.30)}
.mnp.best::after{content:"答え合わせ付き";position:absolute;top:-11px;right:18px;background:var(--gold);color:#5A4A33;
  font-size:11px;letter-spacing:.12em;padding:4px 12px;border-radius:999px}
.mnp .nineitem{display:none}

/* v99 龍神：ホース図とカウンセリングシート */
.hoseimg,.flowimg{margin:clamp(22px,3vw,32px) auto;max-width:640px;background:var(--bg2);border:1px solid var(--beige);
  border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(102,80,120,.10)}
.hoseimg img,.flowimg img{width:100%;height:auto;display:block}
.hoseimg figcaption,.flowimg figcaption{padding:10px 14px;font-size:12.5px;color:#8C7C76;text-align:center;letter-spacing:.04em}
.band .hoseimg figcaption{color:#EDE4DA}
.crossimg{margin:clamp(24px,3vw,34px) auto clamp(20px,2.6vw,28px);max-width:860px;border-radius:18px;overflow:hidden;
  border:1px solid var(--beige);box-shadow:0 14px 34px rgba(102,80,120,.12);background:var(--bg2)}
.crossimg img{width:100%;height:auto;display:block}
.crossimg figcaption{padding:10px 14px;font-size:12.5px;color:#8C7C76;text-align:center;letter-spacing:.04em}
.flowimg{max-width:380px}
@media (max-width:480px){.flowimg{max-width:270px}}

/* v103 龍神：ホースは小さく左、文章は右 */
.hosesplit{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
.p2img.wide{background:var(--bg2);border:1px solid var(--beige)}
.p2img.wide img{aspect-ratio:auto;height:auto}
.p2img.wide figcaption{padding:9px 12px;font-size:12px;color:#8C7C76;text-align:center;letter-spacing:.04em}
@media (max-width:860px){.hosesplit{grid-template-columns:minmax(0,1fr)}.p2img.wide img{max-height:none}
  .p2img.wide{max-width:420px;margin-inline:auto}.hosesplit .lead{text-align:center!important}}
.hosesplit .p2txt{text-align:left}
@media (max-width:860px){.hosesplit .p2txt{text-align:center}}

/* v103 流れ：01はカウンセリングの画像そのもの */
.step.stepimg{padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.step.stepimg .n{position:absolute;top:12px;left:14px;z-index:2}
.step.stepimg img{width:100%;height:100%;object-fit:cover;display:block;min-height:170px}
.step.stepimg{position:relative;border-top:4px solid var(--lav)}
.step.stepimg .n{background:rgba(255,253,252,.88);border-radius:999px;padding:2px 10px}

/* v103 龍神：壁と3つの柱は文字入り画像で見せる */
.wallgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px);
  max-width:900px;margin:clamp(26px,3.2vw,36px) auto 0}
.wallgrid.three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:840px}
.wallgrid figure{margin:0;min-width:0;border-radius:16px;overflow:hidden;border:1px solid var(--beige);
  box-shadow:0 12px 30px rgba(102,80,120,.12);background:var(--bg2)}
.wallgrid img{width:100%;height:auto;display:block}
@media (max-width:760px){.wallgrid,.wallgrid.three{grid-template-columns:minmax(0,1fr);max-width:420px}}
.step.hasimg{padding:0;overflow:hidden;position:relative}
.stepfig{margin:0}
.stepfig img{width:100%;height:auto;display:block}
.step.hasimg .n{padding:20px 22px 0}
.step.hasimg h3{padding:0 22px}
.step.hasimg p{padding:0 22px 24px}

.step.stepimg img{object-position:center;aspect-ratio:auto;height:auto}
.step.stepimg{border-top-width:0}

/* v104 お客様の声：薄いピンクの柄地 */
.voicebg{position:relative;background-color:#FDF3F2;
  background-image:
    radial-gradient(circle at 50% 50%, rgba(232,137,131,.14) 0 2.2px, transparent 2.6px),
    radial-gradient(circle at 50% 50%, rgba(216,199,160,.20) 0 1.5px, transparent 1.9px),
    radial-gradient(circle at 50% 50%, rgba(201,185,216,.16) 0 1.5px, transparent 1.9px),
    linear-gradient(180deg,#FFF7F6,#FDF1F0 55%,#FCEEEE);
  background-size:38px 38px, 38px 38px, 38px 38px, 100% 100%;
  background-position:0 0, 19px 19px, 19px 0, 0 0}
.voicebg::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(60deg, rgba(255,253,252,.55) 0 1px, transparent 1px 22px),
    linear-gradient(-60deg, rgba(255,253,252,.55) 0 1px, transparent 1px 22px);
  background-size:26px 26px;opacity:.7}
.voicebg>.wrap{position:relative;z-index:1}
.voicebg .voice,.voicebg .jc{background:#FFFDFC}

/* v104 コースの案内一行 */
.coursenote{max-width:none;text-align:center;margin:clamp(20px,2.6vw,28px) auto 0;font-size:14px;color:#7A6A64;
  letter-spacing:.03em;padding:14px 18px;background:#FFFDFC;border:1px dashed var(--beige);border-radius:12px}

/* v104 水彩の装飾 */
.ornpath{margin:clamp(18px,2.4vw,26px) auto 0;max-width:280px}
.ornpath img{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.ornwave{max-width:620px;margin:0 auto;padding:0 16px;line-height:0}
.ornwave img{width:100%;height:auto;display:block;mix-blend-mode:multiply;opacity:.95}
@media (max-width:640px){.ornwave{max-width:420px}.ornpath{max-width:220px}}

/* v104 幸せ発生器の深掘り */
.hassei{background:linear-gradient(180deg,#FFFDFC,#FBF6F0)}
.hassei .hs-h{font-family:var(--serif);font-size:clamp(19px,2.3vw,25px);font-weight:600;color:var(--head);
  letter-spacing:.07em;line-height:1.7;margin:clamp(34px,4vw,48px) 0 16px}
.hassei .hs-h:first-child{margin-top:0}
.hassei .hs-h::after{content:"";display:block;width:36px;height:1px;background:var(--gold);margin:12px auto 0}
.hassei .pull{font-family:var(--serif);font-size:clamp(18px,2.2vw,24px);color:var(--head);line-height:2;
  margin:26px auto;padding:18px 0;border-top:1px solid var(--beige);border-bottom:1px solid var(--beige)}
.spread{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.8vw,20px);
  max-width:760px;margin:clamp(30px,3.8vw,44px) auto;align-items:stretch}
.spread .sp{position:relative;background:#FFFDFC;border:1px solid var(--beige);border-radius:16px;
  padding:22px 16px;box-shadow:0 8px 22px rgba(102,80,120,.07)}
.spread .sp b{display:block;font-family:var(--serif);font-size:clamp(18px,2.1vw,22px);color:var(--head);letter-spacing:.12em}
.spread .sp span{display:block;margin-top:10px;font-size:13px;line-height:1.9;color:#7A6A64}
.spread .sp:not(:last-child)::after{content:"";position:absolute;top:50%;right:-14px;width:10px;height:10px;
  border-top:1px solid var(--gold);border-right:1px solid var(--gold);transform:translateY(-50%) rotate(45deg)}
@media (max-width:620px){.spread{grid-template-columns:minmax(0,1fr);max-width:340px}
  .spread .sp:not(:last-child)::after{top:auto;bottom:-14px;right:50%;transform:translateX(50%) rotate(135deg)}}
.keepimg{margin:clamp(24px,3vw,34px) auto 0;max-width:460px;border-radius:16px;overflow:hidden;
  border:1px solid var(--beige);box-shadow:0 14px 34px rgba(102,80,120,.14)}
.keepimg img{width:100%;height:auto;display:block}
.beginimg{margin:18px auto clamp(24px,3vw,32px);max-width:560px;border-radius:16px;overflow:hidden;
  border:1px solid var(--beige);box-shadow:0 14px 34px rgba(102,80,120,.14)}
.beginimg img{width:100%;height:auto;display:block}
.hasseiimg{margin:0 auto clamp(30px,4vw,42px);max-width:880px;border-radius:18px;overflow:hidden;
  border:1px solid var(--beige);box-shadow:0 16px 38px rgba(102,80,120,.14)}
.hasseiimg img{width:100%;height:auto;display:block}

/* v104 登壇・メディア実績 */
.record{max-width:780px;margin:clamp(16px,2vw,22px) auto 0;text-align:left}
.record .rec{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;padding:11px 4px;
  border-bottom:1px dashed #EADFD3;align-items:baseline}
.record .rec:last-child{border-bottom:0}
.record .yr{font-family:var(--serif);font-size:13px;color:var(--capink);letter-spacing:.06em;white-space:nowrap}
.record .rc{font-size:14.5px;line-height:1.9;color:var(--text)}
.record.qual{margin-top:8px}
.record.qual .rec{padding:8px 4px}
.record.qual .rc{font-size:14px}
.recnote{max-width:780px;margin:10px auto 0;font-size:13.5px;color:#8C7C76;text-align:center}
@media (max-width:560px){.record .rec{grid-template-columns:minmax(0,1fr);gap:2px}
  .record .yr{font-size:12px}}
.stanceimg{margin:clamp(26px,3.4vw,38px) auto 0;max-width:940px;border-radius:18px;overflow:hidden;
  border:1px solid var(--beige);box-shadow:0 16px 38px rgba(102,80,120,.14)}
.stanceimg img{width:100%;height:auto;display:block}

/* v104 地図 */
.mapbox{position:relative;max-width:960px;margin:0 auto clamp(28px,3.4vw,40px);aspect-ratio:16/9;
  border-radius:18px;overflow:hidden;border:1px solid var(--beige);box-shadow:0 14px 34px rgba(102,80,120,.12);
  background:linear-gradient(160deg,#FFFDFC,#F5EDE4)}
.mapfall{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;text-align:center;padding:24px}
.mapfall .mf-h{font-family:var(--serif);font-size:clamp(17px,2vw,21px);color:var(--head);margin:0}
.mapfall p{margin:0;font-size:14px;line-height:1.9;color:var(--text);max-width:none}
.mapframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
@media (max-width:640px){.mapbox{aspect-ratio:4/3}}
.gift.nobg{background-image:
  radial-gradient(70% 55% at 18% 12%,rgba(201,185,216,.50),transparent 62%),
  radial-gradient(60% 50% at 86% 88%,rgba(216,199,160,.45),transparent 64%),
  radial-gradient(90% 70% at 50% 50%,rgba(255,253,252,.85),rgba(248,243,237,.95)),
  linear-gradient(165deg,#F3ECF6,#FBF5EE 55%,#F6EEE6)}
.gift.nobg::before{background:rgba(255,253,252,.22)}
.gift.nobg h2,.gift.nobg .stack p{text-shadow:0 1px 10px rgba(255,253,252,.9)}
.mapbox{aspect-ratio:auto;min-height:0}
.mapfall{position:static;padding:clamp(26px,3.2vw,38px) 24px}
.stlegend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,20px);
  max-width:940px;margin:14px auto 0}
.stlegend p{margin:0;font-size:14px;line-height:1.95;color:var(--text);max-width:none;text-align:center}
@media (max-width:700px){.stlegend{grid-template-columns:minmax(0,1fr);gap:6px;max-width:420px}
  .stlegend p{padding:8px 0;border-bottom:1px dashed #EADFD3}
  .stlegend p:last-child{border-bottom:0}}

/* v105 心相数1〜9の意味 */
.numlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,18px);
  max-width:1000px;margin:clamp(26px,3.2vw,36px) auto 0}
.numlist .nm{display:flex;gap:14px;align-items:flex-start;background:var(--bg2);border:1px solid var(--beige);
  border-radius:14px;padding:18px 16px;box-shadow:0 8px 20px rgba(102,80,120,.06);text-align:left}
.numlist .nmn{flex:0 0 auto;font-family:var(--serif);font-size:clamp(26px,3vw,34px);line-height:1;color:var(--gold);
  width:38px;text-align:center}
.numlist .nmt b{display:block;font-size:14.5px;line-height:1.8;color:var(--head);font-weight:600}
.numlist .nmt span{display:block;margin-top:8px;font-size:13px;line-height:1.85;color:#8C7C76}
@media (max-width:900px){.numlist{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.numlist{grid-template-columns:minmax(0,1fr);max-width:420px}}

/* v105 運命の人 5つのパターン */
.grp2{font-family:var(--serif);font-size:clamp(17px,2.1vw,21px);color:var(--gold);letter-spacing:.14em;
  margin:clamp(34px,4vw,46px) 0 0;text-align:center}
.dpat{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:clamp(12px,1.7vw,18px);
  max-width:1000px;margin:clamp(18px,2.4vw,26px) auto 0}
.dpat .dp{position:relative;background:rgba(255,253,252,.07);border:1px solid rgba(216,199,160,.34);
  border-radius:16px;padding:22px 18px;text-align:left}
.dpat .dpn{display:block;font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--gold);letter-spacing:.14em}
.dpat b{display:block;margin-top:8px;font-family:var(--serif);font-size:15.5px;color:#F3ECE2}
.dpat p{margin:10px 0 0;font-size:13.5px;line-height:1.95;color:#DFD4E4;max-width:none}
.dlaw,.dseed{max-width:820px;margin:clamp(30px,3.6vw,42px) auto 0;padding:24px 26px;text-align:left;
  background:rgba(255,253,252,.07);border:1px solid rgba(216,199,160,.34);border-radius:18px}
.dlaw .dl-h,.dseed .ds-h{font-family:var(--serif);font-size:clamp(16px,2vw,20px);color:var(--gold);
  letter-spacing:.1em;margin:0 0 12px}
.dlaw p,.dseed p{margin:0 0 1em;font-size:14.5px;line-height:2;color:#E7DDEA;max-width:none}
.dlaw p:last-child,.dseed p:last-child{margin-bottom:0}
.dlaw b{color:#F6E7B8}
.record .rc a{color:var(--head);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold)}
.record .rc a:hover{color:var(--coral)}
.fsns{margin-top:12px;display:flex;gap:16px;flex-wrap:wrap}
.fsns a{font-size:13px;letter-spacing:.06em;text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(216,199,160,.7)}

/* v105 取材コメントの引用 */
.mquote2{max-width:780px;margin:clamp(26px,3.2vw,36px) auto 0;text-align:left}
.mquote2 .mq-h{font-family:var(--serif);font-size:14px;color:var(--capink);letter-spacing:.14em;margin:0 0 12px;text-align:center}
.mquote2 blockquote{margin:0;padding:24px 26px;background:var(--bg2);border:1px solid var(--beige);
  border-left:3px solid var(--gold);border-radius:0 14px 14px 0}
.mquote2 blockquote p{margin:0 0 1em;font-size:15px;line-height:2.05;color:var(--text);max-width:none}
.mquote2 blockquote cite{display:block;font-style:normal;font-size:12.5px;color:#8C7C76;letter-spacing:.04em}
.mquote2 .mq-me{margin:18px auto 0;text-align:center;font-size:14.5px;line-height:2;color:var(--text);max-width:none}
.mquote2 .mq-me b{font-family:var(--serif);color:var(--head);font-size:clamp(16px,1.9vw,19px)}
.mnpfig{margin:0 0 16px;border-radius:12px;overflow:hidden;border:1px solid var(--beige)}
.mnpfig img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.access .step.hasimg .stepfig img{aspect-ratio:16/9;object-fit:cover}
.band.mission{background-position:center 22%}
@media (max-width:760px){.band.mission{background-position:72% 20%}}
.band.mission{background-attachment:scroll;background-position:center 30%}

/* v105 掲載紙面・番組の写真 */
.medgal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.8vw,20px);
  max-width:960px;margin:clamp(24px,3vw,34px) auto 0;align-items:start}
.medgal figure{margin:0;min-width:0;background:var(--bg2);border:1px solid var(--beige);border-radius:14px;
  overflow:hidden;box-shadow:0 10px 26px rgba(102,80,120,.10)}
.medgal img{width:100%;height:auto;display:block}
.medgal figcaption{padding:10px 12px;font-size:12px;line-height:1.7;color:#8C7C76;text-align:center}
@media (max-width:760px){.medgal{grid-template-columns:minmax(0,1fr);max-width:460px}}

/* v106 結魂の一文を大きく */
.yuikon-em{display:block;margin-top:18px;font-size:clamp(20px,2.6vw,28px);line-height:1.85;letter-spacing:.06em}

/* v107 喜びの便り：3枚を揃え、猫はお名前の前へ */
.joycards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.joycards .jc{display:flex;flex-direction:column;transform:none!important;padding-top:clamp(26px,2.6vw,34px)}
.joycards .jc .body{margin-bottom:8px}
.jbottom{margin-top:auto;display:flex;align-items:center;gap:14px;padding-top:16px;border-top:1px solid #F0E3D6}
.jbottom .jcat{width:62px;height:62px;flex:0 0 auto;margin:0}
.jbottom .who{margin:0;padding:0;border-top:0;text-align:left}
@media (max-width:940px){.joycards{grid-template-columns:minmax(0,1fr)}}
/* v107 七彩についてTOP：龍の下が切れないように */
#page-about .ahero>img{object-position:65% 100%}
@media (max-width:860px){#page-about .ahero>img{object-position:64% 100%}}
/* v107 七彩についてTOP：見出しをもう一回り大きく（スマホは控えめ） */
#page-about .ahero h1{font-size:clamp(32px,5.6vw,60px);letter-spacing:.08em}
#page-about .ahero .lead{font-size:clamp(18px,2.6vw,27px);line-height:1.95;max-width:22em}
#page-about .ahero .cap{font-size:clamp(13px,1.5vw,16px)}
@media (max-width:860px){#page-about .ahero h1{font-size:clamp(30px,7.6vw,40px)}
  #page-about .ahero .lead{font-size:clamp(16px,4.2vw,20px);max-width:none}}

/* v107 PCのメニューバーを狭い画面でも出す */
@media (min-width:980px) and (max-width:1160px){
  nav.main{display:flex!important;position:static;flex-direction:row;gap:5px;background:none;border-bottom:0;
    flex:1 1 auto;justify-content:flex-end;min-width:0;top:auto;left:auto;right:auto}
  nav.main a{font-size:11.5px;letter-spacing:0;padding:4px;border-bottom:2px solid transparent}
  nav.main a[aria-current="page"]{border-left:0;border-bottom-color:var(--gold)}
  .burger{display:none!important}
  .logo{font-size:15px}
  .logo small{display:none}
}

/* v107 お腹に手を当てる写真を楕円に、縁をぼかす */
.meimg img{aspect-ratio:1/1.12;border-radius:50%;box-shadow:none;
  -webkit-mask-image:radial-gradient(closest-side, #000 62%, rgba(0,0,0,.55) 82%, transparent 100%);
  mask-image:radial-gradient(closest-side, #000 62%, rgba(0,0,0,.55) 82%, transparent 100%)}
.meimg{position:relative}
.meimg::before{content:"";position:absolute;inset:-6%;border-radius:50%;
  background:radial-gradient(closest-side, rgba(255,253,252,0) 60%, rgba(255,253,252,.55) 92%, rgba(255,253,252,.9) 100%);
  pointer-events:none}
@media (min-width:980px) and (max-width:1160px){.logo{margin-right:18px}}

/* v107 「ひとつでも当てはまったら」を大きく、結びの一文に下線 */
.signans .sa1{font-size:clamp(16px,2vw,20px);letter-spacing:.18em;margin-bottom:18px}
.signans .sa3{font-size:clamp(17px,2.2vw,22px);text-decoration:underline;text-decoration-color:var(--gold);
  text-underline-offset:8px;text-decoration-thickness:1px}
/* v107 七彩腸セラピー：冒頭に施術の背景 */
.chouintro{background-size:cover;background-position:center 32%}
.chouintro::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,253,252,.90),rgba(255,253,252,.82))}
.chouintro{position:relative}
.chouintro>.wrap{position:relative;z-index:1}
/* v107 英字キャプションをもう一段大きく */
.cap{font-size:clamp(18px,2vw,23px);font-weight:600;letter-spacing:.22em;margin-bottom:14px}
/* v107 楕円の縁をさらにぼかす */
.meimg img{-webkit-mask-image:radial-gradient(closest-side, #000 40%, rgba(0,0,0,.85) 58%, rgba(0,0,0,.45) 76%, rgba(0,0,0,.15) 90%, transparent 100%);
  mask-image:radial-gradient(closest-side, #000 40%, rgba(0,0,0,.85) 58%, rgba(0,0,0,.45) 76%, rgba(0,0,0,.15) 90%, transparent 100%)}
.meimg::before{display:none}
/* v107 「ひとつでも当てはまったら」を太く */
.signans .sa1{font-weight:700;font-family:var(--serif);letter-spacing:.14em;color:var(--head)}

/* v108 理念：きらきらと動き */
.creedblock{position:relative;overflow:hidden}
.creedblock::after{content:"";position:absolute;inset:-10%;pointer-events:none;z-index:0;
  background-image:
    radial-gradient(circle, rgba(255,252,240,.95) 0 1.2px, transparent 1.8px),
    radial-gradient(circle, rgba(227,206,148,.9) 0 1.6px, transparent 2.3px),
    radial-gradient(circle, rgba(255,255,255,.7) 0 1px, transparent 1.6px);
  background-size:180px 150px, 260px 220px, 130px 110px;
  background-position:0 0, 60px 90px, 100px 40px;opacity:.55}
.creedblock>.wrap{position:relative;z-index:1}
@media (prefers-reduced-motion:no-preference){
  .creedblock::after{animation:cbtwinkle 7s ease-in-out infinite alternate}
  @keyframes cbtwinkle{
    0%{opacity:.30;transform:translate3d(0,0,0) scale(1)}
    50%{opacity:.75}
    100%{opacity:.42;transform:translate3d(-14px,-10px,0) scale(1.04)}
  }
  .creed{position:relative;overflow:hidden}
  .creed::before{z-index:2}
  .creed .threeword span{animation:cbglow 5.4s ease-in-out infinite}
  .creed .threeword:nth-of-type(1) span:nth-child(1){animation-delay:0s}
  .creed .threeword:nth-of-type(1) span:nth-child(2){animation-delay:.5s}
  .creed .threeword:nth-of-type(1) span:nth-child(3){animation-delay:1s}
  .creed .threeword:nth-of-type(2) span:nth-child(1){animation-delay:1.5s}
  .creed .threeword:nth-of-type(2) span:nth-child(2){animation-delay:2s}
  .creed .threeword:nth-of-type(2) span:nth-child(3){animation-delay:2.5s}
  .creed .threeword.henka span{animation-delay:3.2s}
  @keyframes cbglow{
    0%,100%{text-shadow:0 0 0 rgba(227,206,148,0)}
    45%{text-shadow:0 0 18px rgba(227,206,148,.85), 0 0 34px rgba(255,252,240,.35)}
  }
}

/* v108 結魂：写真と項目を左右に */
.naysplit{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(20px,3vw,40px);
  align-items:center;max-width:1040px;margin:clamp(26px,3.4vw,38px) auto 0}
.naysplit .nayimg{width:100%;margin:0}
.naysplit .nlist{grid-template-columns:minmax(0,1fr);margin:0;max-width:none}
.naysplit .nlist li{padding-top:14px;padding-bottom:14px}
@media (max-width:900px){.naysplit{grid-template-columns:minmax(0,1fr);max-width:560px}}

/* v108 「ひとつでも当てはまったら」の色 */
.signans .sa1{color:var(--coral)}

/* v108 アクセス：ご予約の流れを左の欄の高さに収める */
.access .step.hasimg{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;
  padding:12px 16px 12px 12px}
.access .step.hasimg .stepfig{grid-row:1 / span 3;border-radius:12px;overflow:hidden}
.access .step.hasimg .stepfig img{aspect-ratio:1/1;object-fit:cover}
.access .step.hasimg .n{padding:0;font-size:13px;align-self:end}
.access .step.hasimg h3{padding:0;font-size:15px;line-height:1.6}
.access .step.hasimg p{padding:0;font-size:13px;line-height:1.8;margin:2px 0 0}
.access .steps{gap:12px}
@media (max-width:520px){.access .step.hasimg{grid-template-columns:76px minmax(0,1fr)}}


/* v108 声の背景：薄いピンクをはっきり出す */
.voicebg{background-color:#FBEBE8;
  background-image:
    radial-gradient(circle at 50% 50%, rgba(232,137,131,.22) 0 2.4px, transparent 2.9px),
    radial-gradient(circle at 50% 50%, rgba(216,199,160,.30) 0 1.7px, transparent 2.1px),
    radial-gradient(circle at 50% 50%, rgba(201,185,216,.24) 0 1.7px, transparent 2.1px),
    linear-gradient(180deg,#FDF1EF,#FAE8E4 55%,#F8E2DD)}
.voicebg::before{opacity:.85}
/* v108 心相TOPのリードを際立たせる */
#page-shinso .ahero .lead{font-size:clamp(20px,3vw,34px);font-weight:600;line-height:1.85;letter-spacing:.05em;
  text-shadow:0 2px 18px rgba(255,253,252,.95),0 0 40px rgba(255,253,252,.8)}
#page-shinso .ahero h1{font-size:clamp(30px,5.2vw,54px)}
@media (max-width:860px){#page-shinso .ahero .lead{font-size:clamp(18px,5vw,24px)}}

/* v108 段落の切り替えに小さな飾り */
.stack > p + p{position:relative;margin-top:2.9em}
.stack > p + p::before{content:"";position:absolute;top:-1.55em;left:50%;transform:translateX(-50%);
  width:42px;height:7px;opacity:.85;
  background:
    radial-gradient(circle 2.2px at 5px 50%, var(--gold) 99%, transparent 100%),
    radial-gradient(circle 3.2px at 21px 50%, var(--gold) 99%, transparent 100%),
    radial-gradient(circle 2.2px at 37px 50%, var(--gold) 99%, transparent 100%);
  background-repeat:no-repeat}
.stack > p.lead + p::before{opacity:.6}
.creed .stack > p + p::before,.destiny .stack > p + p::before,
.creedblock .stack > p + p::before{background-image:
    radial-gradient(circle 2.2px at 5px 50%, #E3CE94 99%, transparent 100%),
    radial-gradient(circle 3.2px at 21px 50%, #E3CE94 99%, transparent 100%),
    radial-gradient(circle 2.2px at 37px 50%, #E3CE94 99%, transparent 100%)}

/* v108 読みやすさ：日本語の改行位置と行の長さ */
p,li,dd,figcaption,.who,.titles{word-break:auto-phrase;text-wrap:pretty;line-break:strict}
.stack{max-width:780px;margin-left:auto;margin-right:auto}
.stack p{line-height:2.05}
.voice p,.jc .body,.mnp p,.step p,.nlist li{text-wrap:pretty}

/* v109 心相：数字の出し方を主役にする */
#page-shinso .calc{gap:clamp(14px,2vw,22px);max-width:900px;position:relative}
#page-shinso .calc .cbox{position:relative;text-align:center;padding:clamp(24px,2.6vw,32px) 18px;
  background:linear-gradient(168deg,#FFFDFC,#F7F0E6);border:1px solid var(--gold);border-radius:20px;
  box-shadow:0 14px 34px rgba(216,199,160,.28)}
#page-shinso .calc .cno{position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  font-family:var(--cap);font-size:14px;letter-spacing:.16em;color:#5A4A33;background:var(--gold);
  border-radius:999px;padding:4px 14px;line-height:1.4}
#page-shinso .calc h3{font-size:clamp(15px,1.7vw,18px);margin:10px 0 14px;letter-spacing:.08em}
#page-shinso .calc .eq{font-size:clamp(16px,1.9vw,20px);line-height:2.1;color:#7A6A64}
#page-shinso .calc .eq b{display:inline-block;margin-left:6px;font-size:clamp(30px,4vw,44px);color:var(--coral);
  line-height:1;vertical-align:-4px}
@media (min-width:721px){
  #page-shinso .calc .cbox:not(:last-child)::after{content:"";position:absolute;right:calc(-1 * clamp(14px,2vw,22px) / 2 - 7px);
    top:50%;width:14px;height:14px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);
    transform:translateY(-50%) rotate(45deg)}
}
#page-shinso .calcout{margin-top:clamp(28px,3.4vw,40px);font-size:clamp(16px,2vw,20px)}
#page-shinso .calcout b{display:block;margin:14px auto 0;width:max-content;
  font-size:clamp(46px,8vw,84px);letter-spacing:.16em;color:var(--head);
  padding:14px clamp(24px,4vw,44px);border-radius:999px;
  background:radial-gradient(closest-side,#FFFDFC,#F7EEDF);
  border:2px solid var(--gold);box-shadow:0 0 0 8px rgba(216,199,160,.16),0 18px 40px rgba(216,199,160,.35)}
@media (prefers-reduced-motion:no-preference){
  #page-shinso .calcout b{animation:numglow 3.6s ease-in-out infinite}
  @keyframes numglow{0%,100%{box-shadow:0 0 0 8px rgba(216,199,160,.14),0 18px 40px rgba(216,199,160,.28)}
    50%{box-shadow:0 0 0 14px rgba(216,199,160,.22),0 18px 48px rgba(216,199,160,.5)}}
}
/* v109 心相：立場のある方への一文を強調 */
.wadd .waem{display:block;margin-bottom:14px;font-family:var(--serif);font-weight:600;
  font-size:clamp(19px,2.6vw,27px);line-height:1.8;color:var(--coral);letter-spacing:.05em}
.wadd{position:relative;padding:clamp(20px,2.6vw,28px) clamp(18px,2.4vw,28px);
  background:#FFFDFC;border:1px solid var(--gold);border-radius:16px;margin-top:clamp(20px,2.6vw,28px);
  box-shadow:0 12px 30px rgba(216,199,160,.25)}

/* v109 1〜9：自分の数字を探せる形に */
.numhit{display:inline-block;min-width:1.9em;text-align:center;font-family:var(--serif);
  font-size:1.5em;color:var(--coral);border-bottom:2px solid var(--gold);line-height:1.2}
.numlist{max-width:1060px;gap:clamp(14px,1.8vw,20px)}
.numlist .nm{position:relative;gap:16px;padding:22px 18px 20px;border-radius:18px;
  background:linear-gradient(168deg,#FFFDFC,#FAF4EA);border:1px solid var(--beige)}
.numlist .nmn{width:52px;height:52px;display:flex;align-items:center;justify-content:center;
  font-size:clamp(24px,2.6vw,30px);color:#5A4A33;background:radial-gradient(closest-side,#F6E7BE,#E3CE94);
  border-radius:50%;box-shadow:0 6px 16px rgba(216,199,160,.5);flex:0 0 auto}
.numlist .nmt b{font-size:clamp(15px,1.7vw,17px);line-height:1.75}
.numlist .nmt span{margin-top:10px;padding-top:10px;border-top:1px dashed #EADFD3;font-size:12.5px;color:#8C7C76}
.numlist .nmt span i{display:inline-block;font-style:normal;margin-right:8px;font-size:11px;letter-spacing:.1em;
  color:#A8874A;background:#F7F0E2;border-radius:999px;padding:2px 8px}
@media (hover:hover) and (min-width:861px){
  .numlist .nm{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
  .numlist .nm:hover{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 16px 34px rgba(216,199,160,.4)}
}

/* v109 全体：伝えたい所を強調する型 */
.hl{font-weight:600;color:var(--head);
  background:linear-gradient(transparent 58%, rgba(216,199,160,.55) 58%, rgba(216,199,160,.55) 92%, transparent 92%);
  padding:0 .12em}
.band .hl,.gift .hl,.destiny .hl,.creedblock .hl{color:#FFFDFC;
  background:linear-gradient(transparent 58%, rgba(227,206,148,.42) 58%, rgba(227,206,148,.42) 92%, transparent 92%)}
.stack p.lead{font-weight:600}
.stack b:not(.hl):not(.numhit):not(.waem){color:var(--head);font-weight:600}

/* v110 心相：立場ごとに分けて伝える */
.wadd .waem{margin:0 0 clamp(18px,2.4vw,26px);font-family:var(--serif);font-weight:600;
  font-size:clamp(20px,2.8vw,30px);line-height:1.75;color:var(--coral);letter-spacing:.05em;text-align:center;max-width:none}
.waL{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.8vw,20px)}
.waL .wa{background:linear-gradient(168deg,#FFFDFC,#FAF4EA);border:1px solid var(--beige);
  border-radius:16px;padding:20px 18px;text-align:left}
.waL .wat{display:inline-block;font-family:var(--serif);font-size:14px;color:#5A4A33;background:var(--gold);
  border-radius:999px;padding:4px 14px;letter-spacing:.08em;margin-bottom:12px}
.waL .wa p{margin:0;font-size:14px;line-height:1.95;color:var(--text);max-width:none}
@media (max-width:820px){.waL{grid-template-columns:minmax(0,1fr)}}

/* v110 運命の人：ときめきを出す */
.dhook{margin:clamp(20px,2.6vw,30px) auto 0;font-family:var(--serif);font-weight:600;
  font-size:clamp(22px,3.4vw,38px);line-height:1.8;letter-spacing:.05em;color:#FFF3F2;max-width:none;
  text-shadow:0 0 26px rgba(232,137,131,.55)}
.dhook2{margin:14px auto 0;font-family:var(--serif);font-size:clamp(17px,2.2vw,24px);color:#E3CE94;
  letter-spacing:.12em;max-width:none}
.dhook2::after{content:"";display:block;width:54px;height:1px;background:var(--gold);margin:16px auto 0}
.dfeel{margin:clamp(24px,3vw,34px) auto 0;font-family:var(--serif);font-size:clamp(18px,2.4vw,26px);
  line-height:2;color:#FFF3F2;max-width:none;letter-spacing:.04em}
.dpat .dpn::before{content:"♥";margin-right:8px;font-size:.9em;color:#F0AFAB}
.destiny .nine{position:relative}
.destiny .nine::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(360px,80%);height:200px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(232,137,131,.30),transparent 70%)}
/* v110 立場別の3枚を広く使う */
.wadd{width:min(1060px,94vw);margin-left:50%;transform:translateX(-50%);max-width:none}
.waL{gap:clamp(14px,2vw,22px)}
.waL .wa{padding:24px 22px}
.waL .wa p{font-size:14.5px;line-height:2}
@media (max-width:1020px){.waL{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.waL{grid-template-columns:minmax(0,1fr)}}
.warn .wadd{width:min(1060px,94vw);max-width:none;margin:clamp(20px,2.6vw,28px) 0 0 50%;
  transform:translateX(-50%);font-size:inherit}

/* v110 強運カラーの色見本 */
.numlist .nmc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:10px;
  border-top:1px dashed #EADFD3;font-size:11.5px;letter-spacing:.08em;color:#A8874A}
.cchip{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text)}
.cchip i{width:15px;height:15px;border-radius:50%;background:var(--c);
  box-shadow:0 0 0 1px rgba(89,74,69,.18) inset,0 2px 5px rgba(89,74,69,.18);display:block}
/* v110 立ち位置の画像を小さく */
.stanceimg{max-width:660px}
.stlegend{max-width:660px}
@media (max-width:760px){.stanceimg{max-width:420px}}

/* v110 運命の人：愛の色に */
.destiny{background:
  radial-gradient(75% 55% at 22% 12%, rgba(232,137,131,.42), transparent 62%),
  radial-gradient(65% 50% at 82% 78%, rgba(216,199,160,.34), transparent 64%),
  radial-gradient(90% 70% at 50% 45%, rgba(255,206,214,.18), transparent 70%),
  linear-gradient(162deg,#402444,#63314C 46%,#3A2340)}
.destiny::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    radial-gradient(circle, rgba(255,224,228,.85) 0 1.3px, transparent 1.9px),
    radial-gradient(circle, rgba(227,206,148,.8) 0 1.7px, transparent 2.4px);
  background-size:190px 160px, 270px 230px;background-position:0 0, 80px 60px;opacity:.4}
.destiny{position:relative;overflow:hidden}
.destiny>.wrap{position:relative;z-index:1}
@media (prefers-reduced-motion:no-preference){
  .destiny::after{animation:cbtwinkle 9s ease-in-out infinite alternate}
}

/* v110 無料の帯を整える */
.freeflag{display:inline-flex;align-items:center;justify-content:center;gap:clamp(10px,1.4vw,18px);
  flex-wrap:wrap;margin:clamp(24px,3vw,32px) auto 0;padding:14px clamp(20px,2.6vw,32px);
  background:rgba(255,253,252,.92);border:1px solid var(--gold);border-radius:999px;
  box-shadow:0 12px 30px rgba(216,199,160,.3);width:max-content;max-width:94%}
.freeflag .was{font-size:14px;color:#9A8C86;text-decoration:line-through;letter-spacing:.04em}
.freeflag .arrow{color:var(--gold);font-size:18px;line-height:1}
.freeflag .now{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--serif);
  font-size:clamp(14px,1.7vw,17px);color:var(--head);letter-spacing:.04em}
.freeflag .now b{font-size:clamp(30px,4.2vw,42px);color:var(--coral);line-height:1;letter-spacing:.02em}

/* v110 心相数とは：段落の間にも飾り */
.bene p + p{position:relative;margin-top:2.4em}
.bene p + p::before{content:"";position:absolute;top:-1.35em;left:50%;transform:translateX(-50%);
  width:42px;height:7px;opacity:.8;background-repeat:no-repeat;
  background-image:
    radial-gradient(circle 2.2px at 5px 50%, var(--gold) 99%, transparent 100%),
    radial-gradient(circle 3.2px at 21px 50%, var(--gold) 99%, transparent 100%),
    radial-gradient(circle 2.2px at 37px 50%, var(--gold) 99%, transparent 100%)}
.bene .bh + p::before{display:none}

/* v110 アクセス：見出しに印を付けて読みやすく、右の流れと高さを揃える */
.access dl{margin:0}
.access dt{display:flex;align-items:center;gap:9px;margin-top:16px}
.access dt:first-child{margin-top:0}
.access dd{margin:6px 0 0 30px;line-height:1.95}
.dti{font-size:15px;line-height:1;filter:saturate(.75)}
.access dt{margin-top:11px;font-size:13.5px}
.access dd{margin:3px 0 0 30px;line-height:1.85;font-size:14px}
.access dl{font-size:14px}

/* v110 ファーストビューの一行を目立たせる */
.hero .sub{font-family:var(--serif);font-weight:600;font-size:clamp(17px,2.5vw,28px);
  letter-spacing:.1em;color:var(--head);margin-top:clamp(24px,3vw,34px);
  text-shadow:0 2px 16px rgba(255,253,252,.95)}
.hero .sub::before,.hero .sub::after{content:"";display:block;width:48px;height:1px;background:var(--gold);
  margin:14px auto}

/* v111 一番人気の札 */
.poptag{display:inline-block;margin:0 auto 14px;padding:6px 20px;border-radius:999px;
  background:var(--coral);color:#FFFDFC;font-family:var(--serif);font-size:clamp(13px,1.6vw,16px);
  letter-spacing:.14em;box-shadow:0 8px 20px rgba(232,137,131,.35);max-width:none}
/* v111 結魂TOPの写真を小さく */
.yhero-img{min-height:clamp(300px,40vw,480px)}
@media (max-width:860px){.yhero-img{aspect-ratio:4/4.4;max-height:60vh}}

/* v112 ターゲット明示ライン */
.tgt{display:inline-block;margin:18px auto 0;padding:9px 20px;border:1px solid var(--gold);border-radius:4px;
  font-family:var(--serif);font-weight:600;font-size:clamp(13.5px,1.5vw,16px);line-height:1.85;letter-spacing:.06em;
  color:var(--head);background:rgba(255,253,252,.62)}
.phero .tgt,.rhero .tgt,.ahero .tgt{background:rgba(255,253,252,.82)}
.rhero .tgt,.ahero .tgt{color:#4A3C55}
.ytitle .tgt{margin-top:14px}
@media (max-width:520px){.tgt{padding:8px 15px}}

/* v113 数字を強運カラーで表示 ＋ 強運カラーの欄 */
.numlist .nm{--n:var(--gold)}
.numlist .nmn{color:#FFFDFC;border:2px solid #FFFDFC;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--n) 72%,#FFFFFF),var(--n));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--n) 45%,#FFFFFF),0 7px 18px color-mix(in srgb,var(--n) 38%,transparent);
  text-shadow:0 1px 2px color-mix(in srgb,var(--n) 60%,transparent)}
.numlist .nm{border-color:color-mix(in srgb,var(--n) 26%,var(--beige))}
@media (hover:hover){.numlist .nm:hover{border-color:color-mix(in srgb,var(--n) 60%,#FFFFFF);
  box-shadow:0 16px 34px color-mix(in srgb,var(--n) 22%,transparent)}}

.lucky{position:relative;max-width:900px;margin:clamp(34px,4.4vw,54px) auto 0;padding:clamp(26px,3.4vw,42px) clamp(18px,3vw,40px) clamp(28px,3.6vw,42px);
  background:linear-gradient(172deg,#FFFDFC,#FBF5EC);border:1px solid var(--beige);border-radius:20px;
  box-shadow:0 18px 44px rgba(89,74,69,.07)}
.lkband{display:flex;gap:0;margin:0 auto clamp(20px,2.6vw,30px);max-width:640px;border-radius:999px;overflow:hidden;
  box-shadow:0 8px 22px rgba(89,74,69,.14)}
.lkband span{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  padding:12px 0 10px;background:var(--c);color:#FFFDFC;font-size:11px;letter-spacing:.04em;
  text-shadow:0 1px 2px rgba(0,0,0,.22)}
.lkband span i{font-style:normal;font-family:var(--serif);font-size:15px;font-weight:600;line-height:1}
.lkh{font-family:var(--serif);font-size:clamp(22px,2.8vw,30px);font-weight:600;color:var(--head);margin-top:8px;letter-spacing:.06em}
.lklead{margin-top:14px;font-family:var(--serif);font-size:clamp(17px,2.2vw,24px);font-weight:600;line-height:1.9;color:var(--head)}
.lucky .stack{margin-top:clamp(20px,2.6vw,30px);text-align:left}
.lkex{position:relative;padding:16px 18px;border-left:4px solid #D9534C;border-radius:0 10px 10px 0;
  background:rgba(217,83,76,.07);font-family:var(--serif);font-weight:600;font-size:clamp(15px,1.8vw,18px);
  line-height:1.95;color:var(--head)}
@media (max-width:560px){.lkband span{font-size:9.5px;padding:10px 0 8px}.lkband span i{font-size:13px}}

/* v114 強運カラーのチップ（詳細度の修正・塗りのピルに） */
.numlist .nmt .nmc{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:11px;
  border-top:1px dashed #EADFD3;font-size:11.5px;letter-spacing:.08em;color:#A8874A}
.numlist .nmt .nmc .cchip{display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 11px 4px 6px;
  border:0;border-radius:999px;background:color-mix(in srgb,var(--c) 14%,#FFFFFF);
  font-size:12px;letter-spacing:.06em;color:color-mix(in srgb,var(--c) 72%,#4A3C33);font-weight:600}
.numlist .nmt .nmc .cchip i{width:14px;height:14px;min-width:14px;margin:0;padding:0;border-radius:50%;
  background:var(--c);font-size:0;letter-spacing:0;
  box-shadow:0 0 0 1px rgba(255,255,255,.9) inset,0 2px 5px color-mix(in srgb,var(--c) 45%,transparent)}

/* v115 メニュー4枚のカードの高さを揃える */
@media (min-width:761px){
  #menu .cards{align-items:stretch;grid-auto-rows:1fr}
  #menu .card{height:100%}
}

/* v116 よくあるご質問を全ページ共通に（背景・写真・締めの導線） */
.faqbg{position:relative;
  background-color:#F1ECF5;
  background-image:radial-gradient(circle at 12% 18%,rgba(201,185,216,.42),transparent 46%),
    radial-gradient(circle at 88% 82%,rgba(216,199,160,.32),transparent 50%),
    linear-gradient(180deg,#F4EFF7,#EFE9F3 58%,#F3EEEA)}
.faqhead{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.4vw,28px);
  margin-top:clamp(22px,2.8vw,32px);flex-wrap:wrap}
.faqface{width:clamp(96px,11vw,132px);flex:0 0 auto}
.faqface img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:38% 22%;border-radius:50%;
  border:3px solid #FFFDFC;box-shadow:0 10px 26px rgba(89,74,69,.16)}
.faqlead{font-family:var(--serif);font-weight:600;font-size:clamp(17px,2.2vw,23px);line-height:1.9;
  color:var(--head);text-align:left}
.faqbg .faq{margin-top:clamp(22px,2.8vw,30px)}
.faqbg .faq details{background:rgba(255,253,252,.92);border-color:#E3D8E8}
.faqend{margin-top:clamp(24px,3vw,32px);text-align:center;font-size:15px;color:var(--text)}
.faqend + .center{margin-top:14px}
.classimg{max-width:820px;margin:clamp(26px,3.2vw,38px) auto 0}
.classimg img{width:100%;border-radius:18px;box-shadow:0 16px 36px rgba(89,74,69,.12)}
@media (max-width:560px){.faqhead{gap:14px}.faqlead{text-align:center;font-size:17px}}

/* v116b FAQの締め文と写真の位置 */
.faqbg .faqend{max-width:720px;margin-left:auto;margin-right:auto;text-align:center}
.faqface img{object-position:26% 24%}

/* v117 携帯での読みやすさ・押しやすさ */
@media (max-width:760px){
  .price .amt small{font-size:12px}
  ruby rt{font-size:.62em}
  .numlist .nmt span i{font-size:12px}
  .numlist .nmt .nmc .cchip{font-size:12.5px}
  .mnplbl,.mnpreg{font-size:12px}
  footer .fnav a,footer .fsns a,footer .sns a,footer .tel a{display:inline-block;padding-block:9px}
  .maplink{padding:14px 20px}
  .faq summary{padding:18px 0;font-size:16.5px}
  .lkband span{font-size:10px;padding:11px 0 9px}
  .lkband span i{font-size:14px}
}

/* v118 携帯での段落・改行・画像の大きさ */
.ph{display:inline-block}
.spbr{display:none}
@media (max-width:600px){
  .spbr{display:inline}
  .tgt{padding:12px 18px;line-height:2.05;margin-top:22px}
  .block.introbg h2{font-size:24px;line-height:1.85}
  .stack > p{font-size:15px;line-height:2.1}
  .stack > p + p{margin-top:2.4em}
  .harastate{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;max-width:330px}
  .harastate .ic{max-width:118px}
  .harastate figcaption{font-size:14.5px;line-height:1.65;min-height:2.9em}
  .harabox{padding:20px 14px 18px}
  .meimg{width:min(250px,72%);margin-top:26px}
  .signans .sa2{font-size:19px;line-height:2.1}
  .signans .sa3{line-height:2.05}
}
/* v118 「心の状態は、体に表れます。」を太字に */
.signans .sa3{font-weight:700;color:var(--head)}

/* v119 お腹アイコンの縦伸び修正 */
.harastate .ic,.meimg img,.faqface img{height:auto}
.harastate .ic{aspect-ratio:1/1;object-fit:contain}
.meimg img{height:auto}

/* v119 「そして、変化。」を大きく */
.creed .threeword.henka span{font-size:clamp(34px,7vw,64px);letter-spacing:.1em}
@media (max-width:560px){.creed .threeword.henka span{font-size:clamp(30px,9.4vw,44px)}}

/* v119 理念の背景：大きさの違う星と、ゆっくり流れる光 */
.creedblock::after{
  background-image:
    radial-gradient(circle at 50% 50%, rgba(255,252,240,.55) 0 2.6px, transparent 4.2px),
    radial-gradient(circle at 50% 50%, rgba(227,206,148,.5) 0 3.4px, transparent 5.4px),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.4) 0 1.8px, transparent 3.2px);
  background-size:340px 300px, 520px 460px, 230px 210px;
  background-position:0 0, 130px 180px, 210px 70px;opacity:.5}
.creedblock::before{content:"";position:absolute;inset:-20%;pointer-events:none;z-index:0;
  background-image:
    radial-gradient(circle at 18% 26%, rgba(227,206,148,.30), transparent 42%),
    radial-gradient(circle at 82% 72%, rgba(201,185,216,.34), transparent 46%),
    radial-gradient(circle at 52% 12%, rgba(255,253,252,.22), transparent 38%);
  filter:blur(2px)}
@media (prefers-reduced-motion:no-preference){
  .creedblock::before{animation:cbdrift 18s ease-in-out infinite alternate}
  @keyframes cbdrift{0%{transform:translate3d(0,0,0) scale(1);opacity:.75}
    100%{transform:translate3d(3%,-2%,0) scale(1.08);opacity:1}}
  .creedblock .sparkles{z-index:0}
  .creedblock .sparkles.star i{left:var(--x);top:var(--y);
    width:calc(13px * var(--s,1));height:calc(13px * var(--s,1));
    animation-delay:var(--d,0s);animation-duration:calc(4.4s + 2.6s * var(--s,1))}
  .creedblock .sparkles.star i::before{width:calc(44px * var(--s,1));height:1.4px}
  .creedblock .sparkles.star i::after{width:1.4px;height:calc(44px * var(--s,1))}
}

/* v119 Whyとお腹は魂の入れ物を、写真の上に重ねる */
.split.hasover .split-img{position:relative}
.split.hasover .split-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(60,44,74,.52),rgba(60,44,74,.16) 46%,rgba(60,44,74,.42))}
.splitover{position:absolute;z-index:2;left:0;right:0;top:50%;transform:translateY(-50%);
  padding:0 clamp(18px,4vw,40px);text-align:center}
.splitover .cap{color:#F0E2BE}
.splitover h2{color:#FFFDFC;font-size:clamp(28px,3.6vw,44px);line-height:1.7;
  text-shadow:0 2px 18px rgba(40,28,52,.55)}
.splitover .gold-line{margin-inline:auto;background:linear-gradient(90deg,rgba(227,206,148,0),#E3CE94,rgba(227,206,148,0));width:120px}
.split.hasover .split-txt .stack{margin-top:0}

/* v120 携帯での上下の余白を詰める */
@media (max-width:760px){
  section.block{padding:46px 0}
  .split-txt{padding:38px 6% 42px}
  section.cta{padding-block:38px}
}

/* v121 「0円」をもっと大きく */
.freeflag .now b{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,6.4vw,68px);
  color:var(--coral);line-height:.92;letter-spacing:.01em;font-weight:600}
.freeflag{padding-block:clamp(12px,1.6vw,18px)}
@media (max-width:520px){.freeflag{flex-wrap:wrap;row-gap:4px}.freeflag .now b{font-size:46px}}

/* v122 引用帯：明るい背景でも読めるように＋文字を大きく */
.quote-band .q{background:linear-gradient(180deg,rgba(74,58,86,.30),rgba(74,58,86,.52) 45%,rgba(74,58,86,.34))}
.quote-band img{object-position:center 42%}
.quote-band p{font-size:clamp(19px,3vw,32px);font-weight:600;line-height:2.05;
  text-shadow:0 2px 20px rgba(52,36,58,.85),0 0 40px rgba(52,36,58,.5)}

/* v122 喜びの便りのリード文を大きく */
.joy .jlead{font-size:clamp(19px,2.7vw,27px);font-weight:600;line-height:2.05;color:var(--head)}

/* v123 引用帯のベールをもう一段強く */
.quote-band .q{background:
  radial-gradient(ellipse 78% 58% at 50% 50%, rgba(64,48,76,.62), rgba(64,48,76,.30) 72%, rgba(64,48,76,.18)),
  linear-gradient(180deg,rgba(64,48,76,.22),rgba(64,48,76,.40))}

/* v123 喜びの便り：見出しの一文を太字で立てる */
.jc .big{font-weight:700;font-size:clamp(18px,1.7vw,22px);color:var(--head);line-height:1.95}
.jc .big::after{content:"";display:block;width:44px;height:2px;margin:14px 0 0;
  background:linear-gradient(90deg,var(--gold),rgba(216,199,160,0))}

/* v123b 引用帯：写真そのものを落として文字を立てる */
.quote-band img{filter:brightness(.58) saturate(1.08) contrast(1.02)}
.quote-band .q{background:linear-gradient(180deg,rgba(52,38,64,.28),rgba(52,38,64,.42))}
.quote-band p{text-shadow:0 2px 14px rgba(30,20,38,.75)}

/* v124 引用帯：淡い写真に合わせて濃い文字にする */
.quote-band img{filter:none}
.quote-band .q{background:linear-gradient(180deg,rgba(255,253,252,.40),rgba(255,253,252,.62) 45%,rgba(255,253,252,.44))}
.quote-band p{color:var(--head);font-weight:700;text-shadow:0 1px 10px rgba(255,253,252,.9),0 0 26px rgba(255,253,252,.75)}

/* v124 お客様の声：見出しをすべて太字に */
.vhead{font-weight:700;color:var(--head)}

/* v125 見出しも文節で折り返す（語の途中で切れないように） */
h1,h2,h3,.big,.vhead,.lead,.tgt,.sub,.jlead,summary,.hb-h,.sa1,.sa2,.sa3,.quote-band p,.gw1,.gw2,.gw3,.splitover h2{
  word-break:auto-phrase;text-wrap:pretty;line-break:strict}

/* v125 ページ上部のターゲット枠を大きく */
.phero .tgt,.rhero .tgt,.ahero .tgt,.ytitle .tgt{
  font-size:clamp(15px,1.9vw,19px);padding:14px 26px;line-height:2.0;border-width:1.5px}
@media (max-width:600px){.phero .tgt,.rhero .tgt,.ahero .tgt,.ytitle .tgt{font-size:15.5px;padding:13px 20px}}

/* v126 写真に重ねた見出しを読みやすく */
.split.hasover .split-img::after{
  background:radial-gradient(ellipse 92% 52% at 50% 50%, rgba(52,38,64,.62), rgba(52,38,64,.30) 70%, rgba(52,38,64,.20)),
    linear-gradient(180deg,rgba(52,38,64,.30),rgba(52,38,64,.18) 46%,rgba(52,38,64,.36))}
.splitover h2{text-shadow:0 2px 10px rgba(34,22,44,.85),0 0 28px rgba(34,22,44,.6)}
.splitover .cap{color:#F4E6C4;text-shadow:0 1px 8px rgba(34,22,44,.8)}


/* v128 一番人気の札を、金の細い帯に作り替え */
.poptag{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.4vw,16px);
  margin:0 auto 16px;padding:0;background:none;border-radius:0;box-shadow:none;
  font-family:var(--serif);font-weight:600;font-size:clamp(13.5px,1.7vw,17px);
  letter-spacing:.2em;color:var(--capink);max-width:none;text-indent:.2em}
.poptag i{display:block;height:1px;width:clamp(26px,5vw,74px);flex:0 0 auto;
  background:linear-gradient(90deg,rgba(216,199,160,0),var(--gold))}
.poptag i:last-child{background:linear-gradient(90deg,var(--gold),rgba(216,199,160,0))}
@media (max-width:520px){.poptag{font-size:13px;letter-spacing:.12em}.poptag i{width:20px}}

/* v129 チェック項目を枠ごとに色分け */
.nlist li{--k:var(--lav)}
.nlist li:nth-child(6n+1){--k:#C9B9D8}
.nlist li:nth-child(6n+2){--k:#E8A9A4}
.nlist li:nth-child(6n+3){--k:#D8C7A0}
.nlist li:nth-child(6n+4){--k:#9DC0B3}
.nlist li:nth-child(6n+5){--k:#A9BDD9}
.nlist li:nth-child(6n+6){--k:#D9B9C9}
.nlist li{border-left:4px solid var(--k);
  background:linear-gradient(100deg,color-mix(in srgb,var(--k) 13%,#FFFDFC),#FFFDFC 62%)}
.nlist li::before{background:color-mix(in srgb,var(--k) 88%,#FFFFFF)}
@media (hover:hover){.nlist li:hover{box-shadow:0 12px 26px color-mix(in srgb,var(--k) 26%,transparent)}}

/* v129 「怠けてきたからではありません」を強調して中央に */
.nend{max-width:760px;margin-left:auto;margin-right:auto;text-align:center;
  font-size:clamp(17px,2.2vw,23px);font-weight:600;line-height:2.05;
  padding:clamp(20px,2.6vw,28px) clamp(18px,3vw,34px);
  background:rgba(255,253,252,.72);border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.nend b{font-weight:700;color:var(--head);
  background:linear-gradient(transparent 58%,rgba(216,199,160,.55) 58%,rgba(216,199,160,.55) 92%,transparent 92%)}

/* v130 ステージアップのサインも、チェック項目の形に */
.signlist{max-width:820px;grid-template-columns:minmax(0,1fr)}
.signlist li{padding-block:clamp(14px,1.8vw,17px)}
.sign-note{max-width:760px;margin:clamp(22px,2.8vw,30px) auto 0}

/* v131 「3か所に通っていたことを」の区画に背景を入れる */
.whybg{position:relative;overflow:hidden;
  background-color:#FBF6F1;
  background-image:
    radial-gradient(circle at 14% 20%, rgba(201,185,216,.34), transparent 44%),
    radial-gradient(circle at 86% 26%, rgba(232,137,131,.20), transparent 42%),
    radial-gradient(circle at 50% 92%, rgba(216,199,160,.30), transparent 52%)}
.whybg::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle, rgba(255,253,252,.85) 0 1.6px, transparent 2.6px);
  background-size:32px 32px;opacity:.5}
.whybg > .wrap{position:relative;z-index:1}
.fig-ring{margin-inline:auto}

/* v132 カウンセリング写真の頭が切れないように */
.p2img img{object-position:center 12%}
@media (max-width:860px){
  .p2img img{aspect-ratio:4/5;max-height:none}
  .split2 .p2img{max-width:330px;margin-inline:auto}
}

/* v133 セッション・ヒーリングの流れも、写真を小さく横並びに */
#page-yuikon .step.hasimg,#page-ryujin .step.hasimg,#page-chou .step.hasimg{
  display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;
  padding:16px 20px 16px 16px}
#page-yuikon .step.hasimg .stepfig,#page-ryujin .step.hasimg .stepfig,#page-chou .step.hasimg .stepfig{
  grid-row:1 / span 4;border-radius:14px;overflow:hidden}
#page-yuikon .step.hasimg .stepfig img,#page-ryujin .step.hasimg .stepfig img,#page-chou .step.hasimg .stepfig img{
  aspect-ratio:1/1;object-fit:cover}
#page-yuikon .step.hasimg .n,#page-ryujin .step.hasimg .n,#page-chou .step.hasimg .n{padding:0;font-size:13px}
#page-yuikon .step.hasimg h3,#page-ryujin .step.hasimg h3,#page-chou .step.hasimg h3{padding:0;font-size:16px;line-height:1.65;margin-top:2px}
#page-yuikon .step.hasimg p,#page-ryujin .step.hasimg p,#page-chou .step.hasimg p{padding:0;font-size:14px;line-height:1.95;margin:6px 0 0;text-align:left}
@media (max-width:520px){
  #page-yuikon .step.hasimg,#page-ryujin .step.hasimg,#page-chou .step.hasimg{grid-template-columns:88px minmax(0,1fr);gap:14px}
  #page-yuikon .step.hasimg h3,#page-ryujin .step.hasimg h3,#page-chou .step.hasimg h3{font-size:15px}
  #page-yuikon .step.hasimg p,#page-ryujin .step.hasimg p,#page-chou .step.hasimg p{font-size:13.5px}
}

/* v134 龍神：ターゲットの一行を写真の外へ */
.tgtband{background:var(--bg2);border-bottom:1px solid var(--beige);text-align:center;
  padding:clamp(18px,2.4vw,26px) 16px}
.tgtband .tgt{margin:0;line-height:1.8;background:none;border:0;padding:0;
  font-size:clamp(16px,2.1vw,21px);color:var(--head)}
.tgtband .tgt::before,.tgtband .tgt::after{content:"";display:inline-block;width:clamp(20px,4vw,54px);
  height:1px;vertical-align:middle;margin:0 clamp(10px,1.6vw,18px);background:var(--gold)}

/* v135 チェック項目を全ページ同じ形に（枠ごとの色＋チェック印） */
.check{max-width:820px;gap:clamp(12px,1.8vw,16px)}
.check li{position:relative;--k:var(--lav);
  padding:clamp(15px,1.9vw,19px) clamp(16px,2vw,22px) clamp(15px,1.9vw,19px) 52px;
  border:1px solid var(--beige);border-left:4px solid var(--k);border-radius:14px;
  background:linear-gradient(100deg,color-mix(in srgb,var(--k) 13%,#FFFDFC),#FFFDFC 62%);
  font-size:clamp(15.5px,1.9vw,18px);line-height:1.85;text-align:left;
  box-shadow:0 6px 18px rgba(102,80,120,.06)}
.check li:nth-child(6n+1){--k:#C9B9D8}
.check li:nth-child(6n+2){--k:#E8A9A4}
.check li:nth-child(6n+3){--k:#D8C7A0}
.check li:nth-child(6n+4){--k:#9DC0B3}
.check li:nth-child(6n+5){--k:#A9BDD9}
.check li:nth-child(6n+6){--k:#D9B9C9}
.check li::before{content:"";position:absolute;left:18px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;border-radius:6px;border:1.5px solid var(--gold);
  background:color-mix(in srgb,var(--k) 88%,#FFFFFF)}
.check li::after{content:"";position:absolute;left:24px;top:calc(50% - 3px);
  width:10px;height:6px;border-left:2px solid #FFFDFC;border-bottom:2px solid #FFFDFC;
  transform:translateY(-50%) rotate(-45deg)}
@media (hover:hover){.check li{transition:transform .25s ease,box-shadow .25s ease}
  .check li:hover{transform:translateY(-3px);box-shadow:0 12px 26px color-mix(in srgb,var(--k) 26%,transparent)}}

/* v135 腸・感情・魂・龍神の一本線を、きちんとした図に */
.flowline{display:flex;align-items:stretch;justify-content:center;gap:0;
  margin:clamp(28px,3.4vw,40px) auto;max-width:760px;position:relative}
.flowline .fnode{position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;gap:6px;padding-top:58px;min-width:0}
.flowline .fnode::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:46px;height:46px;border-radius:50%;background:radial-gradient(closest-side,#FFFDFC,#F3E9DA);
  border:1.5px solid var(--gold);box-shadow:0 6px 16px rgba(216,199,160,.45);z-index:1}
.flowline .fnode::after{content:"";position:absolute;top:23px;left:50%;width:100%;height:2px;
  background:linear-gradient(90deg,var(--gold),rgba(216,199,160,.5))}
.flowline .fnode:last-child::after{display:none}
.flowline .fnode b{position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:46px;height:46px;display:flex;align-items:center;justify-content:center;z-index:2;
  font-family:var(--serif);font-size:19px;font-weight:600;color:var(--head)}
.flowline .fnode i{font-style:normal;font-size:12px;letter-spacing:.12em;color:var(--capink)}
@media (max-width:520px){
  .flowline .fnode{padding-top:48px}
  .flowline .fnode::before,.flowline .fnode b{width:40px;height:40px}
  .flowline .fnode b{font-size:17px}
  .flowline .fnode::after{top:20px}
  .flowline .fnode i{font-size:11px}
}

/* v135b 一本線の図：帯の上でも読めるように */
.band .flowline .fnode b{color:#FFFDFC;text-shadow:0 1px 8px rgba(40,28,52,.7)}
.band .flowline .fnode i{color:#F0E2BE}
.band .flowline .fnode::before{background:radial-gradient(closest-side,rgba(255,253,252,.28),rgba(255,253,252,.10));
  border-color:rgba(240,226,190,.9)}

/* v135c 一本線の丸を、はっきり見せる */
.band .flowline .fnode::before{background:radial-gradient(closest-side,rgba(255,253,252,.92),rgba(243,233,218,.86));
  border-color:var(--gold);box-shadow:0 6px 18px rgba(40,28,52,.35)}
.band .flowline .fnode b{color:var(--head);text-shadow:none;font-weight:700}
.band .flowline .fnode i{color:#F4E6C4;font-weight:600}
.band .flowline .fnode::after{background:linear-gradient(90deg,rgba(240,226,190,.95),rgba(240,226,190,.45));height:2px}

/* v136 ターゲットの一行を、枠から帯へ（全ページ共通・行間も詰める） */
.tgt{display:block;width:100%;max-width:none;margin:clamp(16px,2vw,22px) auto 0;
  padding:clamp(12px,1.6vw,16px) 14px;border:0;border-radius:0;
  border-top:1px solid rgba(216,199,160,.75);border-bottom:1px solid rgba(216,199,160,.75);
  background:rgba(255,253,252,.72);
  font-family:var(--serif);font-weight:700;font-size:clamp(15px,2vw,20px);
  line-height:1.75;letter-spacing:.06em;color:var(--head);text-align:center}
.phero .tgt,.rhero .tgt,.ahero .tgt,.ytitle .tgt{background:rgba(255,253,252,.86);
  font-size:clamp(15px,2vw,20px);padding:clamp(12px,1.6vw,16px) 14px;border-width:1px}
.rhero .tgt,.ahero .tgt{color:#4A3C55}
@media (max-width:600px){.tgt{font-size:15px;line-height:1.8;padding:11px 12px}}

/* v136 喜びの便り：リードを際立たせ、行間を詰める */
.joy .jlead{color:var(--coral);line-height:1.85}
.joy .jlead b,.joy .jlead{font-weight:700}
.jc .big{line-height:1.7;letter-spacing:.02em}
.jc .body{line-height:1.9}

/* v136 数字カード：上下と行間を詰める */
.numlist .nm{padding:16px 16px 14px}
.numlist .nmt b{line-height:1.6}
.numlist .nmt span{margin-top:7px;padding-top:7px;line-height:1.7}
.numlist .nmt .nmc{margin-top:9px;padding-top:8px}
.numlist{gap:clamp(10px,1.3vw,14px)}

/* v136 本文の行間を少し詰める */
.stack > p{line-height:1.95}
@media (max-width:760px){.stack > p{line-height:1.95}}
.lucky .stack{text-align:center}
.lucky .stack > p{margin-left:auto;margin-right:auto}

/* v137 「動かす力」の3枠：余白を詰める */
.gains .g{padding:clamp(18px,2.1vw,24px) clamp(16px,2vw,22px) clamp(16px,1.9vw,20px)}
.gains .g h3{margin-top:6px;line-height:1.6}
.gains .g p{margin-top:8px;line-height:1.9}
.gains{gap:clamp(12px,1.6vw,18px)}

/* v138 運命の人：5つのパターンは名前だけ、詳細は鑑定で */
.dtease{max-width:760px;margin:clamp(30px,3.8vw,44px) auto 0;
  padding:clamp(24px,3vw,34px) clamp(20px,3vw,36px);border-radius:20px;
  background:linear-gradient(168deg,rgba(255,253,252,.14),rgba(255,253,252,.06));
  border:1px solid rgba(240,226,190,.55);text-align:center}
.dtease .dt1{margin:0;font-family:var(--serif);font-weight:700;
  font-size:clamp(20px,2.8vw,30px);line-height:1.75;color:#FFFDFC;
  text-shadow:0 2px 14px rgba(40,24,52,.5)}
.dtease .dt2{margin:16px auto 0;max-width:640px;font-size:clamp(14px,1.7vw,16.5px);
  line-height:2;color:#F3E7F0}
.dtease .dt3{margin:18px auto 0;font-family:var(--serif);font-weight:600;
  font-size:clamp(16px,2vw,20px);line-height:1.9;color:#F4E6C4}
.dwow{font-family:var(--serif);font-weight:700;font-size:clamp(18px,2.3vw,24px)!important;
  line-height:1.85;color:#FFFDFC}

/* v139 ヒーローの一行を、薄い白の帯に載せて浮き出させる */
.hero .sub{display:inline-block;padding:clamp(12px,1.6vw,18px) clamp(22px,3.4vw,44px);
  background:rgba(255,253,252,.66);border-radius:6px;
  box-shadow:0 10px 30px rgba(102,80,120,.10);text-shadow:none;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.hero .sub::before{margin-top:0}
.hero .sub::after{margin-bottom:0}
@media (max-width:600px){.hero .sub{padding:11px 18px}}

/* v140 効かせたい一文に、静かな動きをつける */
.anim .ln{display:block}
@media (prefers-reduced-motion:no-preference){
  .rv .anim .ln{opacity:0;transform:translateY(16px);filter:blur(5px)}
  .rv.in .anim .ln{animation:lnUp 1s cubic-bezier(.22,.8,.24,1) forwards;
    animation-delay:calc(var(--i,0) * .38s)}
  @keyframes lnUp{
    0%{opacity:0;transform:translateY(16px);filter:blur(5px)}
    60%{opacity:1;filter:blur(0)}
    100%{opacity:1;transform:translateY(0);filter:blur(0)}}
  .rv.in .anim .ln.shine2{position:relative;
    background:linear-gradient(100deg,currentColor 0 38%,#D8C7A0 50%,currentColor 62% 100%);
    background-size:280% 100%;-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:lnUp 1s cubic-bezier(.22,.8,.24,1) forwards,
      lnShine 3.6s ease-in-out 1.4s infinite}
  @keyframes lnShine{0%{background-position:180% 0}55%{background-position:-60% 0}100%{background-position:-60% 0}}
}

/* v141 「それが結魂──」を光らせる */
@media (prefers-reduced-motion:no-preference){
  .rv.in .yuikon-em{
    background:linear-gradient(100deg,currentColor 0 38%,#D8C7A0 50%,currentColor 62% 100%);
    background-size:280% 100%;-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    animation:lnShine 4.2s ease-in-out .8s infinite}
}

/* v142 Gift区画の上の余白をさらに詰める */
.gift{padding-top:clamp(28px,3.4vw,52px)}
.gift .cap{margin-top:0}
.card h3{line-height:1.55}

/* v143 0円の札を縦組みに */
.freeflag{flex-direction:column;gap:6px;padding:clamp(16px,2vw,22px) clamp(26px,3.4vw,44px);
  border-radius:18px}
.freeflag .was{font-size:15px}
.freeflag .arrow{font-size:20px;line-height:1;transform:rotate(90deg);margin:2px 0}
.freeflag .now{flex-direction:column;align-items:center;gap:2px;line-height:1.4}
.freeflag .now b{font-size:clamp(52px,8vw,80px);margin-top:2px}
@media (max-width:520px){.freeflag{flex-wrap:nowrap;padding:16px 26px}.freeflag .now b{font-size:56px}}

/* v144 「頭より先に、お腹のあたりが動く」を大きく・光らせる */
.hitline{max-width:none!important;margin-top:clamp(22px,2.8vw,32px)!important}
.hitline .ln{font-family:var(--serif);font-weight:700;
  font-size:clamp(19px,2.8vw,30px);line-height:1.85;letter-spacing:.04em;color:var(--head)}

/* v145 ターゲットの帯：白をやめ、形も変える */
.tgt{border:0;border-radius:999px;
  background:linear-gradient(100deg,#EFE4F0,#F6ECDF 52%,#F3E3DF);
  box-shadow:0 8px 22px rgba(102,80,120,.12), inset 0 0 0 1px rgba(216,199,160,.7);
  padding:clamp(12px,1.7vw,17px) clamp(30px,4.4vw,58px);
  width:auto;display:inline-block;max-width:min(760px,92%)}
.phero .tgt,.rhero .tgt,.ahero .tgt,.ytitle .tgt{
  background:linear-gradient(100deg,rgba(239,228,240,.94),rgba(246,236,223,.94) 52%,rgba(243,227,223,.94))}
.tgt::before,.tgt::after{content:"";display:inline-block;width:6px;height:6px;
  transform:rotate(45deg);background:var(--gold);vertical-align:middle;
  margin:0 clamp(10px,1.4vw,16px) .25em}
.tgt::after{margin:0 0 .25em clamp(10px,1.4vw,16px)}
.tgtband .tgt{background:none;box-shadow:none;border-radius:0;padding:0;max-width:none}
@media (max-width:600px){.tgt{padding:11px 20px;border-radius:20px}
  .tgt::before,.tgt::after{display:none}}

/* v146 引用符で囲んで目立たせる強調 */
.qmark{position:relative;font-weight:700;color:var(--head);padding:0 .15em}
.qmark::before,.qmark::after{font-family:var(--serif);color:var(--gold);
  font-size:1.5em;line-height:0;vertical-align:-.15em;font-weight:700}
.qmark::before{content:"\201C";margin-right:.06em}
.qmark::after{content:"\201D";margin-left:.06em}

/* v147 腸セラピーの流れも1列に */
#page-chou .steps{grid-template-columns:minmax(0,1fr);max-width:820px;margin-inline:auto;gap:14px}

/* v148 結魂の冒頭に背景の模様／写真をさらに小さく */
.ytitle{position:relative;overflow:hidden;
  background-color:#F7F1F6;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(201,185,216,.40), transparent 44%),
    radial-gradient(circle at 88% 24%, rgba(232,137,131,.22), transparent 42%),
    radial-gradient(circle at 50% 96%, rgba(216,199,160,.34), transparent 54%)}
.ytitle::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(circle, rgba(255,253,252,.9) 0 1.5px, transparent 2.6px);
  background-size:30px 30px;opacity:.55}
.ytitle > .wrap{position:relative;z-index:1}
.yhero-img{min-height:clamp(240px,30vw,360px)}
@media (max-width:860px){.yhero-img{aspect-ratio:4/3.4;max-height:44vh}}

/* v149 見出しの行の長さを揃える（ガタガタを防ぐ） */
h1,h2,h3,.dt1,.jlead,.lead{text-wrap:balance}

/* v150 「わたし純度100％で、生きていく。」に波線 */
.yhero-txt .sw.big{text-decoration:underline wavy var(--gold);
  text-decoration-thickness:2px;text-underline-offset:12px;
  text-decoration-skip-ink:none}

/* v151 見出しの中のマーカー */
.mk{font-weight:inherit;color:inherit;
  background:linear-gradient(transparent 58%,rgba(232,137,131,.42) 58%,rgba(232,137,131,.42) 94%,transparent 94%);
  padding:0 .06em}
.sign-note b{font-weight:700;color:var(--head)}

/* v152 3つの並びを大きく／波線の強調 */
.big3{font-family:var(--serif);font-weight:700;font-size:clamp(18px,2.5vw,26px)!important;
  line-height:1.9;color:var(--head)}
.wv{font-weight:700;color:var(--head);text-decoration:underline wavy var(--gold);
  text-decoration-thickness:2px;text-underline-offset:9px;text-decoration-skip-ink:none}

/* v153 結魂のページ全体に、体を思わせる淡い背景 */
#page-yuikon{position:relative}
#page-yuikon::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-color:#FAF5F2;
  background-image:
    radial-gradient(ellipse 34% 44% at 50% 44%, rgba(201,185,216,.20), transparent 62%),
    radial-gradient(ellipse 22% 30% at 50% 50%, rgba(232,137,131,.14), transparent 66%),
    radial-gradient(ellipse 13% 18% at 50% 55%, rgba(216,199,160,.22), transparent 70%),
    radial-gradient(circle at 50% 8%, rgba(201,185,216,.16), transparent 34%);
  background-repeat:no-repeat}
#page-yuikon > section{position:relative}

/* v154 アクセスの「光の方へ続く道」を大きく */
.ornpath{max-width:none;margin-top:clamp(20px,2.6vw,30px)}
.ornpath img{width:100%;border-radius:16px;box-shadow:0 14px 32px rgba(89,74,69,.12)}

/* v155 お客様の声のTOP写真：サロン全体が入るように */
.pp-voice{height:clamp(220px,34vw,420px)}
.pp-voice img{object-fit:contain;object-position:center center;transform:none;background:#F1E6DC}
@media (max-width:760px){.pp-voice{height:auto}.pp-voice img{height:auto}}

/* v156 ヒーローの一行：長方形をやめ、にじんだ楕円に */
.hero .sub{background:none;box-shadow:none;border-radius:0;
  -webkit-backdrop-filter:none;backdrop-filter:none;position:relative;z-index:1}
.hero .sub::before,.hero .sub::after{position:relative;z-index:1}
.hero .in{position:relative}
.hero .sub-halo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(680px,92%);height:150px;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 50% 50% at 50% 50%, rgba(255,253,252,.92), rgba(255,253,252,.72) 46%, rgba(255,253,252,.34) 70%, rgba(255,253,252,0) 88%);
  filter:blur(6px)}
.hero .subwrap{position:relative;display:inline-block;margin-top:clamp(24px,3vw,34px)}
.hero .subwrap .sub{margin-top:0}
@media (max-width:600px){.hero .sub-halo{height:120px;width:min(360px,96%)}}

/* v157 ヒーローのにじみを少し強く／導入の一文を大きく太く */
.hero .sub-halo{background:radial-gradient(ellipse 50% 50% at 50% 50%, rgba(255,253,252,.98), rgba(255,253,252,.88) 40%, rgba(255,253,252,.5) 66%, rgba(255,253,252,0) 88%);
  filter:blur(10px);height:170px}
.lead2{font-family:var(--serif);font-weight:700;font-size:clamp(19px,2.6vw,27px)!important;
  line-height:1.9;color:var(--head);margin-top:clamp(26px,3.4vw,40px)!important}

/* v158 腸セラピーの帯を明るく */
.brightband::before{background:linear-gradient(180deg,rgba(80,60,100,.44),rgba(102,80,120,.50))}
.brightband{background-position:center 42%}

/* v159 光の球の絵に合わせて、帯のベールを調整 */
.brightband{background-position:center 46%}
.brightband::before{background:linear-gradient(180deg,rgba(76,56,96,.50),rgba(92,70,112,.58))}

/* v160 見出しの上の英語表記をやめる */
.cap{display:none}
.center .cap+h2,.center .cap+h1{margin-top:0}

/* v161 腸セラピーの流れ：写真をさらに小さく */
#page-chou .step.hasimg{grid-template-columns:92px minmax(0,1fr);gap:16px;padding:14px 18px 14px 14px}
#page-chou .step.hasimg h3{font-size:15.5px}
#page-chou .step.hasimg p{font-size:13.5px;line-height:1.9}
@media (max-width:520px){#page-chou .step.hasimg{grid-template-columns:72px minmax(0,1fr);gap:12px}}

/* v162 心相数の補足と「三千年の旅」の一行 */
.mp-sub{margin:6px 0 0;font-size:12.5px;letter-spacing:.06em;color:#F0E2BE;text-align:center}
.m3000{margin:clamp(22px,2.8vw,32px) auto 0;font-family:var(--serif);font-weight:700;
  font-size:clamp(19px,2.6vw,28px);line-height:1.85;letter-spacing:.05em;color:#FFFDFC;
  text-align:center;text-shadow:0 2px 14px rgba(40,24,52,.5)}
.m3000::before,.m3000::after{content:"";display:block;width:56px;height:1px;margin:14px auto;
  background:linear-gradient(90deg,rgba(240,226,190,0),#F0E2BE,rgba(240,226,190,0))}

/* v163 理念の星の瞬きを速く */
@media (prefers-reduced-motion:no-preference){
  .creedblock .sparkles.star i{animation-duration:calc(2.1s + 1.3s * var(--s,1))!important}
  .creedblock .sparkles.star i:nth-child(3n){animation-duration:2.9s!important}
  .creedblock .sparkles.star i:nth-child(4n){animation-duration:3.4s!important}
  .creedblock .sparkles.star i:nth-child(5n){animation-duration:2.4s!important}
  .creedblock::after{animation-duration:4s}
  .creedblock::before{animation-duration:10s}
}

/* v164 写真に重ねた見出し：色の濁りを取る */
.split.hasover .split-img img{filter:saturate(1.18) contrast(1.05) brightness(1.02)}
.split.hasover .split-img::after{
  background:radial-gradient(ellipse 96% 62% at 50% 46%, rgba(88,54,96,.52), rgba(88,54,96,.24) 72%, rgba(88,54,96,.14)),
    linear-gradient(180deg,rgba(72,44,86,.22),rgba(72,44,86,.10) 45%,rgba(72,44,86,.30))}
.splitover h2{text-shadow:0 2px 12px rgba(48,24,54,.9),0 0 34px rgba(48,24,54,.6)}

/* v165 3つの数字の区画：星空・DNA・羅針盤の背景 */
.numbg{position:relative;overflow:hidden;
  background-color:#F6F2F8;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(201,185,216,.30), transparent 46%),
    radial-gradient(circle at 84% 76%, rgba(216,199,160,.26), transparent 48%)}
.numbg > .wrap{position:relative;z-index:1}
.numart{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.5}
.numart .na-helix path{fill:none;stroke:#C9B9D8;stroke-width:2.4;opacity:.75}
.numart .na-helix line{stroke:#D8C7A0;stroke-width:1.6;opacity:.7}
.numart .na-comp circle{fill:none;stroke:#D8C7A0;stroke-width:1.4;opacity:.6}
.numart .na-comp path{fill:none;stroke:#C9B9D8;stroke-width:1.6;opacity:.7}
.numart .na-comp line{stroke:#D8C7A0;stroke-width:1;opacity:.5}
.numart .na-star circle{fill:#C9A94A;opacity:.7}
@media (prefers-reduced-motion:no-preference){
  .numart .na-comp{transform-box:fill-box;transform-origin:center;
    animation:naSpin 90s linear infinite}
  @keyframes naSpin{to{transform:translate(1010px,300px) rotate(360deg)}}
  .numart .na-star circle{animation:naTw 3.2s ease-in-out infinite}
  .numart .na-star circle:nth-child(3n){animation-duration:4.1s}
  .numart .na-star circle:nth-child(4n){animation-duration:2.6s}
  @keyframes naTw{0%,100%{opacity:.25}50%{opacity:.9}}
}
@media (max-width:760px){.numart{opacity:.36}}

/* v166 背景の図をはっきりと／裏が出るとの後で改行 */
.numart{opacity:.8}
.numart .na-helix path{stroke-width:3.2;opacity:.85}
.numart .na-comp circle,.numart .na-comp path{stroke-width:2;opacity:.8}
.numlist .nmt span i{display:block;margin:0 0 6px}

/* v167 強運カラーの活かし方 */
.lkh2{margin:0 0 clamp(16px,2vw,22px);font-family:var(--serif);font-weight:700;
  font-size:clamp(17px,2.2vw,22px);letter-spacing:.08em;color:var(--head);text-align:center}
.lkways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.5vw,16px);
  margin:0 auto clamp(22px,2.8vw,30px);text-align:center}
.lkways .lw{background:#FFFDFC;border:1px solid var(--beige);border-radius:14px;
  padding:clamp(16px,2vw,20px) clamp(12px,1.6vw,16px)}
.lkways .lwn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:50%;background:radial-gradient(closest-side,#F6E7BE,#E3CE94);color:#5A4A33;
  font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:600}
.lkways .lw b{display:block;margin-top:9px;font-family:var(--serif);font-size:15.5px;color:var(--head)}
.lkways .lw p{margin-top:8px;font-size:13px;line-height:1.85;color:#8C7C76;max-width:none}
@media (max-width:640px){.lkways{grid-template-columns:minmax(0,1fr);max-width:340px}}

/* v168 効かせる一文を大きく・動きをつける */
.bigline{max-width:none!important;margin-top:clamp(22px,2.8vw,32px)!important}
.bigline .ln{font-family:var(--serif);font-weight:700;
  font-size:clamp(19px,2.7vw,29px);line-height:1.9;letter-spacing:.04em;color:var(--head)}
.bigline .ln:last-child{font-size:clamp(16px,2vw,21px);font-weight:600;margin-top:6px}

/* v169 「順番を間違えなければ」を大きく */
.bigline2{font-family:var(--serif);font-weight:700;
  font-size:clamp(19px,2.6vw,28px)!important;line-height:1.9;color:var(--head);
  margin-top:clamp(20px,2.6vw,30px)!important;max-width:none!important}

/* v170 「運気を知らないまま」を枠で囲んで目立たせる */
.wframe{max-width:min(760px,94%);margin:0 auto clamp(22px,2.8vw,30px);
  padding:clamp(20px,2.6vw,30px) clamp(18px,3vw,36px);
  border:2px solid var(--coral);border-radius:18px;
  background:linear-gradient(168deg,rgba(255,253,252,.94),rgba(252,240,238,.94));
  box-shadow:0 14px 34px rgba(232,137,131,.18)}
.wframe .wlead{margin:0;color:var(--head)}

/* v171 「あなたの決断は」の枠が左にずれていたのを中央へ */
.warn .wadd{position:relative;left:auto;width:min(1060px,94%);max-width:none;
  margin-left:auto;margin-right:auto;transform:none}
.warn{overflow:hidden}

/* v172 龍神TOPの写真を中央に */
.rhero img{object-position:center center}

/* ===== v173 龍神ページ 改修 ===== */
/* 一本の線 */
.rline{position:relative;height:168px;max-width:920px;margin:clamp(22px,3vw,32px) auto 0}
.rline-sv{position:absolute;left:0;top:0;width:100%;height:110px;overflow:visible}
.rline-sv path{fill:none;stroke-linecap:round}
.rl-base{stroke:rgba(240,226,190,.42);stroke-width:3}
.rl-flow{stroke:#F6E7BE;stroke-width:4;stroke-dasharray:120 900;filter:drop-shadow(0 0 6px rgba(246,231,190,.9));
  animation:rlFlow 4.6s linear infinite}
@keyframes rlFlow{from{stroke-dashoffset:1020}to{stroke-dashoffset:0}}
.rline .rn{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;width:110px}
.rline .rn1{left:12.5%;top:50px}
.rline .rn2{left:37.5%;top:24px}
.rline .rn3{left:62.5%;top:32px}
.rline .rn4{left:87.5%;top:-2px}
.rline .rn b{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--serif);font-size:20px;font-weight:700;color:var(--head);
  background:radial-gradient(closest-side,rgba(255,253,252,.97),rgba(243,233,218,.9));
  box-shadow:0 6px 18px rgba(40,28,52,.28), 0 0 0 1px rgba(240,226,190,.85), 0 0 22px rgba(246,231,190,.35)}
.rline .rn em{font-style:normal;font-size:12.5px;letter-spacing:.08em;color:#F4E6C4;font-weight:600;white-space:nowrap;
  text-shadow:0 1px 8px rgba(40,28,52,.6)}
.rline .rn4 b{font-size:17px;background:radial-gradient(closest-side,#FFFDFC,#F2E4C6);
  box-shadow:0 6px 20px rgba(40,28,52,.3), 0 0 0 2px rgba(246,231,190,.95), 0 0 30px rgba(246,231,190,.6)}
.rline-note{font-family:var(--serif);font-weight:700;font-size:clamp(15px,2vw,19px);
  color:#FFFDFC;text-shadow:0 1px 10px rgba(40,28,52,.55);margin-top:6px}
@media (max-width:720px){
  .rline{height:auto;display:flex;flex-direction:column;align-items:center;gap:10px;padding:6px 0}
  .rline-sv{display:none}
  .rline .rn{position:static;transform:none;flex-direction:row;gap:12px;width:auto;align-items:center}
  .rline .rn b{width:46px;height:46px;font-size:18px}
  .rline .rn4 b{font-size:15px}
  .rline .rn::after{content:"";position:absolute}
  .rline .rn:not(:last-child){position:relative}
  .rline .rn:not(:last-child)::before{content:"";position:absolute;left:23px;top:100%;width:2px;height:10px;
    background:linear-gradient(180deg,rgba(246,231,190,.95),rgba(246,231,190,.25))}
}
/* ホース図 */
.hosesplit.big{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);align-items:center}
.hosesplit.big .p2img.wide img{width:100%;height:auto;border-radius:16px}
.hosefig{position:relative}
.hosecap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:12px}
.hosecap .hc{font-family:var(--serif);font-weight:700;font-size:clamp(13px,1.5vw,16px);
  color:#8A7C86;padding:7px 4px;border-radius:10px;background:rgba(201,185,216,.16)}
.hosecap .hc.on{color:var(--head);background:linear-gradient(100deg,rgba(216,199,160,.3),rgba(232,216,200,.22))}
.hosecap .hcar{width:34px;height:12px;position:relative;display:block}
.hosecap .hcar::before{content:"";position:absolute;left:0;top:5px;width:26px;height:2px;
  background:linear-gradient(90deg,rgba(216,199,160,.35),var(--gold))}
.hosecap .hcar::after{content:"";position:absolute;right:0;top:1px;width:9px;height:9px;
  border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:rotate(45deg)}
@media (max-width:860px){.hosesplit.big{grid-template-columns:minmax(0,1fr)}
  .hosesplit.big .p2img.wide{max-width:520px}}
/* 壁を越えた橋渡し */
.wbridge{position:relative;max-width:640px;margin:clamp(26px,3.4vw,38px) auto 0;padding:clamp(20px,2.6vw,28px) clamp(18px,3vw,34px) clamp(26px,3.2vw,34px);
  border-radius:26px 6px 26px 6px;
  background:linear-gradient(150deg,rgba(255,253,252,.96),rgba(246,236,223,.94) 58%,rgba(243,227,223,.94));
  box-shadow:0 14px 34px rgba(102,80,120,.14), inset 0 0 0 1px rgba(216,199,160,.8)}
.wb-big{font-family:var(--serif);font-weight:700;line-height:1.7;margin:0;
  font-size:clamp(21px,3.2vw,32px);color:var(--head)}
.wb-big b{background:linear-gradient(transparent 62%,rgba(232,137,131,.32) 62%)}
.wb-sub{margin:14px 0 0;font-size:clamp(13.5px,1.6vw,15.5px);line-height:1.95;color:var(--text)}
.wb-ar{position:absolute;left:50%;bottom:-16px;transform:translateX(-50%) rotate(135deg);
  width:16px;height:16px;border-top:2px solid var(--gold);border-right:2px solid var(--gold)}
.wb-label{font-family:var(--serif);font-weight:700;letter-spacing:.1em;
  font-size:clamp(15px,2vw,19px);color:var(--head);text-align:center;margin:34px auto 0}
.wb-label::before,.wb-label::after{content:"";display:inline-block;width:26px;height:1px;
  background:var(--gold);vertical-align:middle;margin:0 12px}
/* 明日には戻っちゃうの？ 画像横に文章 */
.keepsplit{align-items:center;max-width:900px}
.keepsplit .p2img.keepimg{max-width:none;margin:0;border-radius:16px;overflow:hidden;
  box-shadow:0 14px 30px rgba(102,80,120,.16)}
.keepsplit .p2img.keepimg img{width:100%;height:auto;display:block}
.keepsplit .p2txt{text-align:left}
.keepsplit .p2txt p{margin-inline:0}
@media (max-width:860px){.keepsplit{grid-template-columns:minmax(0,1fr)}
  .keepsplit .p2img.keepimg{max-width:420px;margin-inline:auto}
  .keepsplit .p2txt{text-align:center}.keepsplit .p2txt p{margin-inline:auto}}
/* 4つの再生 縦カード */
#page-ryujin .rebirth .step.hasimg{display:flex;flex-direction:column;align-items:center;
  grid-template-columns:none;gap:0;text-align:center;padding:clamp(16px,2vw,22px)}
#page-ryujin .rebirth .step.hasimg .n{order:1;font-size:12px}
#page-ryujin .rebirth .step.hasimg h3{order:2;font-size:clamp(16px,1.7vw,19px);text-align:center;
  line-height:1.6;margin-top:4px}
#page-ryujin .rebirth .step.hasimg .stepfig{order:3;width:100%;margin:14px 0 0}
#page-ryujin .rebirth .step.hasimg .stepfig img{width:100%;height:auto;border-radius:14px}
#page-ryujin .rebirth .step.hasimg p{order:4;text-align:center;margin-top:12px;font-size:14px;line-height:1.95}
/* 特典 */
.gift2{max-width:780px;margin:clamp(28px,3.6vw,40px) auto 0;padding:clamp(22px,3vw,32px) clamp(18px,3vw,32px);
  border-radius:28px;position:relative;overflow:hidden;
  background:linear-gradient(160deg,#FBF4EA,#F6EEF6 55%,#FAF1EC);
  box-shadow:0 16px 38px rgba(102,80,120,.15), inset 0 0 0 1.5px rgba(216,199,160,.9)}
.gift2::before{content:"";position:absolute;inset:-40% -20% auto auto;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(246,231,190,.5),transparent);pointer-events:none}
.g2h{position:relative;font-family:var(--serif);font-weight:700;margin:0 0 18px;text-align:center;
  font-size:clamp(19px,2.8vw,27px);line-height:1.65;color:var(--head)}
.g2list{position:relative;list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,18px)}
.g2list li{background:rgba(255,253,252,.9);border-radius:18px;padding:clamp(16px,2vw,22px) clamp(14px,2vw,20px);
  text-align:center;box-shadow:0 6px 16px rgba(102,80,120,.08), inset 0 0 0 1px rgba(232,216,200,.9)}
.g2list b{display:block;font-family:var(--serif);font-size:clamp(16px,2vw,19px);line-height:1.6;
  color:var(--head);margin-bottom:8px}
.g2list span{display:block;font-size:13.5px;line-height:1.9;color:var(--text)}
@media (max-width:640px){.g2list{grid-template-columns:minmax(0,1fr)}}
/* v174 龍神：声の2列・分岐点の一言・料金 */
/* お客様の声：全ページ2列 */
.vgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px);
  align-items:start;margin-top:clamp(20px,2.6vw,30px)}
.vgrid .voice{margin:0}
@media (max-width:860px){.vgrid{grid-template-columns:minmax(0,1fr)}}
.crossimg.hasmsg{position:relative;overflow:hidden;border-radius:18px}
.crossimg.hasmsg img{display:block;width:100%;height:auto}
.crossimg.hasmsg::after{content:"";position:absolute;inset:auto 0 0 0;height:62%;
  background:linear-gradient(180deg,rgba(58,40,66,0),rgba(58,40,66,.62))}
.crossmsg{position:absolute;left:50%;bottom:clamp(16px,3vw,34px);transform:translateX(-50%);z-index:2;
  width:92%;font-family:var(--serif);font-weight:700;color:#FFFDFC;
  font-size:clamp(17px,2.8vw,30px);line-height:1.75;text-shadow:0 2px 16px rgba(40,28,52,.85)}
.firstoff{max-width:560px;margin:clamp(20px,2.6vw,28px) auto 0;padding:clamp(18px,2.4vw,26px) clamp(16px,3vw,30px);
  border-radius:22px 6px 22px 6px;text-align:center;
  background:linear-gradient(150deg,#FDF6EE,#F8EEF3 60%,#FBF1EA);
  box-shadow:0 14px 32px rgba(102,80,120,.14), inset 0 0 0 1.5px rgba(232,137,131,.5)}
.fo-tag{margin:0;display:inline-block;padding:5px 16px;border-radius:999px;background:var(--coral);
  color:#FFFDFC;font-size:12.5px;letter-spacing:.08em;font-weight:700}
.fo-amt{margin:14px 0 0;display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap}
.fo-amt s{color:#A79AA4;font-size:clamp(15px,2vw,18px)}
.fo-amt i{width:26px;height:8px;position:relative;display:inline-block}
.fo-amt i::before{content:"";position:absolute;left:0;top:3px;width:20px;height:2px;background:var(--gold)}
.fo-amt i::after{content:"";position:absolute;right:0;top:0;width:8px;height:8px;
  border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:rotate(45deg)}
.fo-amt b{font-family:var(--serif);font-size:clamp(32px,5.4vw,48px);color:var(--head);line-height:1}
.fo-amt small{font-size:12px;color:var(--text)}
.fo-note{margin:12px 0 0;font-size:13px;line-height:1.9;color:var(--text)}
.crs{max-width:820px;margin:clamp(18px,2.4vw,26px) auto 0}
.crs-h{font-family:var(--serif);font-weight:700;font-size:clamp(17px,2.4vw,23px);color:var(--head);
  text-align:center;margin:0 0 18px}
.crs-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.crs-list li{display:grid;grid-template-columns:minmax(0,1.5fr) auto minmax(0,1fr);align-items:center;
  gap:6px 14px;padding:clamp(14px,2vw,20px) clamp(14px,2.4vw,24px);border-radius:16px;
  background:#FFFDFC;box-shadow:0 6px 16px rgba(102,80,120,.08), inset 0 0 0 1px rgba(232,216,200,.95)}
.crs-list li.pick{box-shadow:0 10px 24px rgba(102,80,120,.14), inset 0 0 0 2px rgba(216,199,160,.95);
  background:linear-gradient(120deg,#FFFDFC,#FBF4E9)}
.crs-list b{font-family:var(--serif);font-size:clamp(14.5px,1.8vw,17px);color:var(--head);line-height:1.6}
.crs-list .cn{font-size:12.5px;color:var(--capink);letter-spacing:.06em}
.crs-list .cp{font-family:var(--serif);font-size:clamp(17px,2.4vw,22px);color:var(--head);text-align:right}
.crs-list .cp small{font-size:11px;margin-left:4px;color:var(--text)}
.crs-list .co{grid-column:3;font-size:12px;color:#A79AA4;text-align:right;text-decoration:line-through}
.crs-note{margin:16px auto 0;font-size:13px;line-height:1.95;color:var(--text);text-align:center}
@media (max-width:640px){
  .crs-list li{grid-template-columns:minmax(0,1fr) auto;text-align:left}
  .crs-list b{grid-column:1/-1}
  .crs-list .cp{grid-column:2;grid-row:2}
  .crs-list .co{grid-column:2;grid-row:3}
}
/* v175 龍神バンドの霞を薄く */
#page-ryujin .band::before{background:linear-gradient(180deg,rgba(80,60,100,.60),rgba(102,80,120,.70))}
.rl-flow{stroke-dasharray:90 700}
@keyframes rlFlow{from{stroke-dashoffset:790}to{stroke-dashoffset:0}}
.wbridge{text-align:center}
.wb-sub{margin-inline:auto;max-width:26em}
#page-ryujin .rebirth .step.hasimg h3{min-height:calc(2em * 1.6)}
/* v176 一本の線 スマホ修正 */
@media (max-width:720px){
  .rline{height:auto;display:flex;flex-direction:column;align-items:center;gap:0;padding:4px 0}
  .rline-sv{display:none}
  .rline .rn,.rline .rn1,.rline .rn2,.rline .rn3,.rline .rn4{position:relative;left:auto;top:auto;
    transform:none;flex-direction:row;justify-content:center;gap:12px;width:auto;align-items:center}
  .rline .rn:not(:last-child){margin-bottom:26px}
  .rline .rn:not(:last-child)::before{content:"";position:absolute;left:50%;transform:translateX(-50%);
    top:100%;width:2px;height:22px;
    background:linear-gradient(180deg,rgba(246,231,190,.95),rgba(246,231,190,.3))}
  .rline .rn b{width:50px;height:50px;font-size:19px}
  .rline .rn4 b{font-size:16px}
  .rline .rn em{font-size:13px}
}
/* v177 動画のお客様の声 */
.vidvoice{margin:clamp(22px,3vw,32px) auto 0;max-width:560px;text-align:center}
.vv-h{font-family:var(--serif);font-weight:700;font-size:clamp(16px,2.2vw,21px);color:var(--head);
  line-height:1.7;margin:0 0 14px}
.vidvoice video{width:100%;height:auto;display:block;border-radius:18px;background:#EFE7DF;
  box-shadow:0 14px 32px rgba(102,80,120,.18), 0 0 0 1px rgba(216,199,160,.85)}
.vv-who{margin:12px 0 0;font-family:var(--serif);font-size:13.5px;color:var(--head)}
.vv-who .menu{display:inline-block;margin-left:10px;padding:3px 12px;border-radius:999px;
  background:rgba(201,185,216,.28);font-family:var(--sans);font-size:11.5px;letter-spacing:.06em}
/* v178 予約枠の希少性をボタンの真上へ */
.ctascarce{display:inline-block;margin:0 auto 18px;padding:9px 22px;border-radius:999px;
  font-family:var(--serif);font-weight:700;font-size:clamp(13.5px,1.7vw,16px);line-height:1.75;
  color:var(--head);background:rgba(255,253,252,.92);
  box-shadow:0 6px 18px rgba(102,80,120,.12), inset 0 0 0 1.5px rgba(216,199,160,.95)}
.band .ctascarce,.cta.dark .ctascarce{color:var(--head)}
.ctascarce{display:table;margin:0 auto 18px}
.cta .wrap>.ctascarce{order:0;flex:0 0 100%;display:block;width:max-content;max-width:100%;
  margin:0 auto 4px}
/* v179 予約枠バッジ 幅の修正 */
.ctascarce,.cta .wrap>.ctascarce{display:block;width:auto;max-width:100%;background:none;
  box-shadow:none;padding:0;margin:0 auto 16px;text-align:center;flex:0 0 100%;order:0}
.ctascarce span{display:inline-block;padding:9px 22px;border-radius:999px;
  font-family:var(--serif);font-weight:700;font-size:clamp(13.5px,1.7vw,16px);line-height:1.75;
  color:var(--head);background:rgba(255,253,252,.92);
  box-shadow:0 6px 18px rgba(102,80,120,.12), inset 0 0 0 1.5px rgba(216,199,160,.95)}
/* v180 七彩について 締めのブロック */
.closingline{position:relative;max-width:640px;margin:clamp(30px,4vw,44px) auto 0;
  padding:clamp(28px,3.6vw,44px) clamp(20px,3.4vw,40px) clamp(26px,3.4vw,38px);
  border-radius:34px 8px 34px 8px;text-align:center;overflow:hidden;
  background:linear-gradient(158deg,#FBF4EA,#F5EDF6 48%,#FAF0EB);
  box-shadow:0 18px 44px rgba(102,80,120,.16), inset 0 0 0 1.5px rgba(216,199,160,.95)}
.closingline::before{content:"";position:absolute;top:-90px;right:-70px;width:260px;height:260px;
  border-radius:50%;background:radial-gradient(closest-side,rgba(246,231,190,.55),transparent);pointer-events:none}
.closingline::after{content:"";position:absolute;bottom:-100px;left:-80px;width:260px;height:260px;
  border-radius:50%;background:radial-gradient(closest-side,rgba(201,185,216,.4),transparent);pointer-events:none}
.closingline>*{position:relative}
.cl-1{margin:0;font-family:var(--serif);font-weight:700;line-height:1.75;
  font-size:clamp(19px,2.9vw,28px);color:var(--head)}
.cl-2{margin:10px 0 0;font-family:var(--serif);font-weight:700;line-height:1.5;
  font-size:clamp(26px,4.6vw,42px);color:var(--head)}
.cl-2 span{background:linear-gradient(transparent 60%,rgba(232,137,131,.34) 60%);padding:0 .12em}
.cl-3{margin:20px 0 0;font-size:clamp(14px,1.8vw,16px);color:var(--text)}
.cl-4{margin:14px 0 0;font-family:var(--serif);font-size:clamp(15px,2.1vw,19px);line-height:1.9;color:var(--head)}
.cl-4 b{display:inline-block;margin-top:4px;font-size:clamp(17px,2.5vw,23px);
  background:linear-gradient(transparent 62%,rgba(216,199,160,.6) 62%)}
.cl-btn{margin-top:24px}
/* v181 ホーム ゲート画像の問いかけ */
.gatefig{position:relative;margin:0;line-height:0}
.gatefig img{width:100%;height:auto;display:block}
.gateask{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  width:min(760px,90%);text-align:center;line-height:1.85;
  font-family:var(--serif);font-weight:700;color:#4A3A5C;
  font-size:clamp(19px,3.4vw,40px);letter-spacing:.04em}
.gateask::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:118%;height:190%;border-radius:50%;z-index:-1;filter:blur(14px);
  background:radial-gradient(ellipse 50% 50% at 50% 50%, rgba(255,253,252,.96), rgba(255,253,252,.86) 46%, rgba(255,253,252,.5) 68%, rgba(255,253,252,0) 82%)}
.gateask .ln{display:block}
@media (max-width:520px){.gateask{font-size:clamp(16px,4.6vw,22px);width:94%}}
/* v182 強運カラー 調査の一文 */
.lkfind{max-width:min(30em,94%);margin:clamp(22px,3vw,30px) auto 0;padding:clamp(15px,2.2vw,20px) clamp(16px,3vw,26px);
  border-radius:20px 6px 20px 6px;text-align:center;line-height:2;
  font-size:clamp(13.5px,1.7vw,16px);color:var(--text);
  background:linear-gradient(150deg,rgba(255,253,252,.96),rgba(246,236,223,.94));
  box-shadow:0 10px 26px rgba(102,80,120,.1), inset 0 0 0 1px rgba(216,199,160,.9)}
.lkfind b{font-family:var(--serif);font-size:clamp(15px,2.1vw,19px);color:var(--head);
  background:linear-gradient(transparent 62%,rgba(216,199,160,.55) 62%)}
/* v183 9年の警告を大きく／警告枠を重い雰囲気に */
.nineline{margin:clamp(16px,2.4vw,26px) auto 0;font-family:var(--serif);font-weight:700;
  font-size:clamp(24px,4.6vw,46px);line-height:1.7;color:var(--head);letter-spacing:.03em;max-width:none}
.nineline .ln{display:block}
.warn .wframe{position:relative;overflow:hidden;border:0;
  background:linear-gradient(165deg,#3B2E46,#2E2436 46%,#43303A);
  box-shadow:0 20px 46px rgba(40,28,52,.34), inset 0 0 0 1.5px rgba(216,199,160,.45)}
.warn .wframe::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at 50% 120%, rgba(232,137,131,.28), transparent 70%),
             radial-gradient(ellipse 60% 50% at 12% -10%, rgba(201,185,216,.2), transparent 70%)}
.warn .wframe .wlead{position:relative;color:#FFFDFC;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.warn .wframe .wlead::after{content:"";display:block;width:54px;height:2px;margin:18px auto 0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent)}
/* v184 心相 図版 */
.waimg{display:block;width:clamp(96px,9vw,124px);height:auto;margin:0 auto 10px}
.weaponart{margin:clamp(24px,3vw,34px) auto 0;max-width:min(420px,88%)}
.weaponart svg{width:100%;height:auto;display:block}
/* v185 三千年の旅 二人の後ろ姿 */
.coupleart{margin:clamp(22px,3vw,32px) auto clamp(6px,1.4vw,14px);max-width:min(480px,92%)}
.coupleart svg{width:100%;height:auto;display:block;border-radius:18px;
  box-shadow:0 14px 34px rgba(40,28,52,.22)}
/* v186 鑑定メニュー：画像を収める／ライトを全幅 */
.mnpfig img{aspect-ratio:1/1;object-fit:cover}
.mnpart{margin:0 0 16px;border-radius:12px;overflow:hidden;border:1px solid var(--beige);
  background:linear-gradient(160deg,#FBF5EC,#F6EFF6)}
.mnpart svg{width:100%;height:auto;display:block}
.mnp.wide{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1fr);
  gap:clamp(18px,3vw,34px);align-items:center;
  background:linear-gradient(150deg,#FDF6EE,#F6EEF6 58%,#FBF1EA);
  box-shadow:0 16px 38px rgba(102,80,120,.14), inset 0 0 0 1.5px rgba(216,199,160,.95);border:0}
.mnp.wide .mnpart{margin:0;border:0;background:none}
.mnp.wide h3{margin-top:0;font-size:clamp(19px,2.4vw,25px)}
.litelead{font-size:clamp(14px,1.7vw,16px)!important}
.litegift{margin-top:14px!important;padding:12px 16px;border-radius:14px;
  background:rgba(255,253,252,.9);box-shadow:inset 0 0 0 1px rgba(232,216,200,.95);font-size:13.5px!important}
.litegift b{color:var(--head);font-family:var(--serif)}
.litebtn{margin-top:18px;width:100%;max-width:340px}
@media (max-width:760px){.mnp.wide{grid-template-columns:minmax(0,1fr)}
  .mnp.wide .mnpart{max-width:300px;margin-inline:auto}}
/* v187 フッターSNSをマークに */
.fsns{margin-top:14px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.fsns .sni{display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  padding:7px 14px 7px 9px;border-radius:999px;font-size:12.5px;letter-spacing:.06em;
  background:rgba(255,253,252,.1);box-shadow:inset 0 0 0 1px rgba(216,199,160,.5)}
.fsns .sni svg{width:19px;height:19px;fill:currentColor;flex:0 0 19px}
.fsns .sni:hover{background:rgba(255,253,252,.18)}
/* v188 アクセス 道の絵のバランス */
#page-access .ornpath{max-width:min(240px,64%);margin-inline:auto;margin-top:clamp(24px,3vw,34px)}
/* v189 お腹と脳の図 */
.gutbrain{margin:clamp(22px,3vw,32px) auto;max-width:min(300px,74%);text-align:center}
.gutbrain svg{width:100%;height:auto;display:block}
.gutbrain figcaption{margin-top:10px;font-size:13px;color:var(--capink);letter-spacing:.04em}
/* v190 代表紹介から物語への切り替え／プロフィールの行間 */
.storyswitch{margin:clamp(40px,5vw,64px) auto clamp(6px,1vw,12px);text-align:center}
.storyswitch .cap{display:block;margin-bottom:8px}
.storyswitch .ss-h{margin:0;font-family:var(--serif);font-weight:700;letter-spacing:.22em;text-indent:.22em;
  font-size:clamp(18px,2.4vw,24px);color:var(--head)}
.storyswitch .ss-h::before,.storyswitch .ss-h::after{content:"";display:inline-block;width:30px;height:1px;
  background:var(--gold);vertical-align:middle;margin:0 14px}
.profile .stack p{line-height:1.95;margin-top:14px}
.profile .stack .titles{line-height:1.9}
/* v191 おなかに溜まっているもの 背景を暗く */
.fig-four img{filter:brightness(.62) saturate(.85) contrast(1.08)}
.fig-four span{color:#FFFDFC!important;text-shadow:0 2px 14px rgba(20,12,28,.85),0 0 26px rgba(20,12,28,.6)}
.fig-four span::after{background:linear-gradient(90deg,rgba(246,231,190,.95),rgba(246,231,190,.15))!important}
.fig-four .c2::after,.fig-four .c4::after{background:linear-gradient(270deg,rgba(246,231,190,.95),rgba(246,231,190,.15))!important}
/* v192 腸セラピー 施術の流れを横一列に */
#page-chou .steps{grid-template-columns:repeat(3,minmax(0,1fr));max-width:940px;gap:clamp(12px,1.8vw,18px)}
#page-chou .step.hasimg{grid-template-columns:none;display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:0;padding:clamp(14px,1.8vw,20px)}
#page-chou .step.hasimg .stepfig{order:1;width:clamp(64px,7vw,84px);margin:0 auto}
#page-chou .step.hasimg .stepfig img{width:100%;height:auto;border-radius:50%}
#page-chou .step.hasimg .n{order:2;margin-top:10px;font-size:12px}
#page-chou .step.hasimg h3{order:3;text-align:center;font-size:clamp(14.5px,1.6vw,17px);margin-top:2px}
#page-chou .step.hasimg p{order:4;text-align:center;font-size:13px;line-height:1.9;margin-top:8px}
@media (max-width:700px){#page-chou .steps{grid-template-columns:minmax(0,1fr);max-width:420px}
  #page-chou .step.hasimg{flex-direction:row;align-items:flex-start;text-align:left;gap:14px}
  #page-chou .step.hasimg .stepfig{width:70px;margin:0}
  #page-chou .step.hasimg .n,#page-chou .step.hasimg h3,#page-chou .step.hasimg p{text-align:left}
  #page-chou .step.hasimg h3,#page-chou .step.hasimg p,#page-chou .step.hasimg .n{margin-left:0}
}
/* v193 0円の「円」を小さく */
.freeflag .now b i{font-style:normal;font-size:.42em;margin-left:2px;letter-spacing:0}
/* v194 結魂 セッションの流れを縦カードに */
#page-yuikon .steps{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1000px;margin-inline:auto;
  gap:clamp(12px,1.8vw,18px)}
#page-yuikon .step.hasimg{grid-template-columns:none;display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:0;padding:clamp(14px,1.8vw,20px)}
#page-yuikon .step.hasimg .n{order:1;font-size:12px}
#page-yuikon .step.hasimg h3{order:2;text-align:center;font-size:clamp(15px,1.6vw,18px);line-height:1.6;
  margin-top:4px;min-height:calc(2em * 1.6)}
#page-yuikon .step.hasimg .stepfig{order:3;width:100%;margin:12px 0 0}
#page-yuikon .step.hasimg .stepfig img{width:100%;height:auto;border-radius:14px}
#page-yuikon .step.hasimg p{order:4;text-align:center;font-size:13.5px;line-height:1.95;margin-top:12px}
@media (max-width:860px){#page-yuikon .steps{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}}
@media (max-width:520px){#page-yuikon .steps{grid-template-columns:minmax(0,1fr);max-width:360px}}
/* v195 結魂 施術後2週間を強調 */
.after2w{position:relative;max-width:640px;margin:clamp(30px,4vw,44px) auto 0;
  padding:clamp(26px,3.4vw,40px) clamp(20px,3.4vw,38px);text-align:center;overflow:hidden;
  border-radius:8px 32px 8px 32px;
  background:linear-gradient(158deg,#FBF4EA,#F4ECF6 52%,#FAF0EB);
  box-shadow:0 18px 42px rgba(102,80,120,.16), inset 0 0 0 2px rgba(216,199,160,.9)}
.after2w::before{content:"";position:absolute;top:-70px;left:-60px;width:240px;height:240px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(246,231,190,.55),transparent);pointer-events:none}
.after2w>*{position:relative}
.a2-tag{display:inline-block;margin:0 0 16px;padding:6px 18px;border-radius:999px;background:var(--coral);
  color:#FFFDFC;font-size:12.5px;letter-spacing:.1em;font-weight:700}
.a2-big{margin:0;font-family:var(--serif);font-weight:700;line-height:1.7;
  font-size:clamp(21px,3.4vw,34px);color:var(--head)}
.a2-big b{background:linear-gradient(transparent 60%,rgba(232,137,131,.34) 60%)}
.a2-txt{margin:18px auto 0!important;font-size:clamp(13.5px,1.7vw,15.5px);line-height:2.05;color:var(--text)}
.a2-last{margin:20px auto 0;padding-top:18px;border-top:1px solid rgba(216,199,160,.8);
  font-family:var(--serif);font-weight:700;font-size:clamp(15px,2vw,19px);line-height:1.9;color:var(--head)}
/* v196 物語の画像を文章の横に／行間を全体的に詰める */
@media (min-width:861px){
  .storygrid.solo .stxt{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    column-gap:clamp(24px,3.4vw,46px);align-items:start}
  .storygrid.solo .stxt>.year{grid-column:1/-1}
  .storygrid.solo .stxt>.beginimg{grid-column:1;grid-row:2/span 99;margin:6px 0 0;max-width:none;
    position:sticky;top:100px}
  .storygrid.solo .stxt>p{grid-column:2;margin-inline:0}
}
/* 行間を全体的に詰める */
body{line-height:1.72}
p,li,dd,dt,figcaption{line-height:1.85}
.lead,.lead2,.voice p,.jc .big,.jc .body,.mnp p,.step p,.faq p,.profile .titles,
.quote-band p,.warn .wend,.joy .jlead,.mina .mn,.a2-txt{line-height:1.85}
.stack p{margin-top:16px}
.gatewords .gw1{line-height:1.85}
@media (min-width:861px){
  .storygrid.solo .stxt{grid-template-columns:minmax(0,340px) minmax(0,1fr)}
  .storygrid.solo .stxt>.beginimg{width:100%}
}
/* v197 物語を語る理由 */
.ss-why{margin:18px auto 0;font-family:var(--serif);font-weight:700;
  font-size:clamp(16px,2.1vw,20px);color:var(--head)}
.ss-why2{margin:10px auto 0;max-width:34em;font-size:clamp(13.5px,1.6vw,15px);
  line-height:1.95;color:var(--text)}
/* v198 実績リストを開閉式に */
.recfold{margin:14px auto 0;max-width:760px;border-radius:16px;overflow:hidden;
  background:rgba(255,253,252,.7);box-shadow:inset 0 0 0 1px rgba(232,216,200,.95)}
.recfold>summary{list-style:none;cursor:pointer;padding:14px 20px;text-align:center;
  font-family:var(--serif);font-size:14px;color:var(--head);letter-spacing:.04em;position:relative}
.recfold>summary::-webkit-details-marker{display:none}
.recfold>summary::after{content:"";display:inline-block;width:8px;height:8px;margin-left:10px;
  border-right:1.6px solid var(--gold);border-bottom:1.6px solid var(--gold);
  transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.recfold[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.recfold>summary:hover{background:rgba(246,231,190,.25)}
.recfold .record{padding:0 clamp(14px,2.4vw,24px) 18px}
/* v199 喜びの便りの行間を詰める */
.jc .big{line-height:1.7;margin-top:12px}
.jc .body{line-height:1.75;margin-top:11px}
.jc .who{line-height:1.6}
.joy .jlead{line-height:1.75}
/* v200 腸セラピー 強調文を大きく */
.bigwv{font-family:var(--serif);font-weight:700;color:var(--head);line-height:1.75;
  font-size:clamp(19px,2.9vw,30px);margin-top:20px!important;max-width:none}
/* v201 目次と実績サマリー */
.pagetoc{max-width:min(820px,92%);margin:clamp(18px,2.4vw,26px) auto 0;
  padding:clamp(16px,2.2vw,22px) clamp(16px,2.6vw,26px);border-radius:20px;text-align:center;
  background:linear-gradient(150deg,rgba(255,253,252,.96),rgba(246,240,247,.94));
  box-shadow:0 10px 26px rgba(102,80,120,.1), inset 0 0 0 1px rgba(216,199,160,.85)}
.ptoc-h{margin:0 0 12px;font-family:var(--serif);font-size:13px;letter-spacing:.16em;
  color:var(--capink);max-width:none}
.pagetoc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;
  gap:8px clamp(8px,1.4vw,14px)}
.pagetoc a{display:inline-block;padding:8px 16px;border-radius:999px;text-decoration:none;
  font-family:var(--serif);font-size:clamp(13px,1.6vw,15px);color:var(--head);
  background:rgba(255,253,252,.9);box-shadow:inset 0 0 0 1px rgba(232,216,200,.95);transition:.2s}
.pagetoc a:hover{background:rgba(246,231,190,.4)}
#page-about section[id]{scroll-margin-top:96px}
.proofnum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.8vw,18px);
  max-width:820px;margin:clamp(26px,3.4vw,38px) auto clamp(6px,1vw,10px)}
.proofnum .pn{text-align:center;padding:clamp(14px,2vw,20px) clamp(8px,1.4vw,14px);border-radius:18px;
  background:linear-gradient(160deg,#FFFDFC,#FAF3EA);
  box-shadow:0 8px 20px rgba(102,80,120,.08), inset 0 0 0 1px rgba(216,199,160,.9)}
.proofnum .pn b{display:block;font-family:var(--serif);color:var(--head);line-height:1.15;
  font-size:clamp(26px,4.2vw,42px);letter-spacing:.01em}
.proofnum .pn b i{font-style:normal;font-size:.42em;margin:0 1px}
.proofnum .pn span{display:block;margin-top:10px;font-size:12.5px;letter-spacing:.06em;color:var(--text)}
.proofnum .pn em{display:block;font-style:normal;margin-top:4px;font-size:11.5px;color:var(--capink)}
@media (max-width:640px){.proofnum{grid-template-columns:minmax(0,1fr);max-width:340px}}
/* v202 ページタイトルを写真の上に重ねる */
.pptitle{position:absolute;left:50%;bottom:clamp(34px,6vw,84px);transform:translateX(-50%);
  z-index:2;width:min(900px,92%);text-align:center}
.pptitle .cap{display:block;color:#F3E4C0;text-shadow:0 2px 14px rgba(40,28,52,.7);margin-bottom:10px}
.pptitle h1{margin:0;color:#FFFDFC;font-size:clamp(28px,5.4vw,54px);line-height:1.45;
  letter-spacing:.06em;text-shadow:0 3px 22px rgba(40,28,52,.85),0 0 44px rgba(40,28,52,.5)}
.pphoto::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(48,34,58,.18) 0%,rgba(48,34,58,0) 34%,rgba(48,34,58,.42) 78%,rgba(48,34,58,.5) 100%)}
.pphoto::after{z-index:1}
.phero{padding-top:clamp(22px,3vw,34px)}
@media (max-width:600px){.pptitle{bottom:clamp(26px,7vw,48px)}}
/* v203 お客様の声のヒーロー写真を全幅に */
.pp-voice{height:clamp(300px,44vw,520px)}
.pp-voice img{object-fit:cover;object-position:center 42%;transform:scale(1.02);background:none}
@media (max-width:760px){.pp-voice{height:clamp(260px,52vw,380px)}.pp-voice img{height:100%}}
/* v204 強運カラー なぜ色なのか／3枠の図 */
.lkwhy{max-width:min(34em,94%);margin:clamp(22px,3vw,32px) auto clamp(26px,3.4vw,38px);
  padding:clamp(20px,2.8vw,30px) clamp(18px,3vw,30px);border-radius:26px 8px 26px 8px;text-align:center;
  background:linear-gradient(155deg,rgba(255,253,252,.95),rgba(246,238,246,.93));
  box-shadow:0 12px 30px rgba(102,80,120,.1), inset 0 0 0 1px rgba(216,199,160,.85)}
.lkw-h{margin:0 0 14px;font-family:var(--serif);font-weight:700;color:var(--head);
  font-size:clamp(18px,2.6vw,24px)}
.lkwhy p{margin:14px auto 0;font-size:clamp(13.5px,1.7vw,15.5px);line-height:1.95;max-width:none}
.lkw-last{margin-top:20px!important;padding-top:16px;border-top:1px solid rgba(216,199,160,.8);
  font-family:var(--serif);font-weight:700;color:var(--head);font-size:clamp(16px,2.2vw,21px)!important}
.lwimg{display:block;width:clamp(64px,7vw,84px);height:auto;margin:0 auto 8px}
/* v205 心相数134に動きを戻す */
@media (prefers-reduced-motion:no-preference){
  #page-shinso .calcout b{animation:numglow 3.2s ease-in-out infinite, numFloat 4.6s ease-in-out infinite}
  @keyframes numFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
  #page-shinso .calcout b span{display:inline-block;
    background:linear-gradient(100deg,var(--head) 0 40%,#D8A44A 50%,var(--head) 60% 100%);
    background-size:300% 100%;-webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;color:transparent;
    animation:numShine 3.4s ease-in-out infinite}
  @keyframes numShine{0%{background-position:180% 0}55%,100%{background-position:-80% 0}}
}
/* v206 特典3つに */
@media (min-width:641px){.g2list{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* v207 GPT画像の配置 */
.weaponpic,.couplepic{margin:clamp(24px,3vw,34px) auto 0;max-width:min(560px,92%)}
.weaponpic img,.couplepic img{width:100%;height:auto;border-radius:18px;
  box-shadow:0 14px 34px rgba(102,80,120,.18)}
.waimg,.lwimg{display:block;width:100%;height:auto;border-radius:14px;margin:0 auto 12px;
  aspect-ratio:1/1;object-fit:cover}
.gutbrain img{width:100%;height:auto;border-radius:16px}

/* ============ v208 心相数カードの行間を詰める ============ */
.numlist .nm{padding:13px 14px 11px;gap:13px}
.numlist .nmt b{line-height:1.45}
.numlist .nmt span{margin-top:5px;padding-top:5px;line-height:1.55}
.numlist .nmt span i{margin:0 0 3px}
.numlist .nmt .nmc{margin-top:6px;padding-top:6px}
.numlist .nmt .nmc .cchip{padding:3px 10px 3px 5px}
@media (max-width:720px){
  .numlist .nm{padding:12px 13px 10px;gap:11px}
  .numlist .nmn{width:44px;height:44px}
}

/* ============ v209 運命のペアの丸枠 ============ */
.pairs .pr.haspic{flex-wrap:wrap;row-gap:10px;border-radius:22px;padding:16px 14px 14px}
.pairs .prpic{flex:0 0 100%;margin:0;display:flex;justify-content:center}
.pairs .prpic img{display:block;width:clamp(96px,13vw,118px);height:auto;border-radius:50%}
.pairs .pr.haspic .pn{font-size:13.5px}

/* ============ v210 龍体文字のレース（フッター上下） */
footer{position:relative}
footer::before,footer::after{content:"";position:absolute;left:0;right:0;height:38px;
  background:url(../img/mark-tile.png) repeat-x left center;background-size:auto 100%;
  opacity:.3;pointer-events:none}
footer::before{top:0}
footer::after{bottom:0}
footer>.wrap{padding-top:calc(38px + 14px);padding-bottom:calc(38px + 14px)}
@media (max-width:720px){
  footer::before,footer::after{height:28px}
  footer>.wrap{padding-top:calc(28px + 12px);padding-bottom:calc(28px + 12px)}
}

/* ============ v212 VOICEの連続文字 ============ */
.joy.voicebg{overflow:hidden}
.voicewall{position:absolute;inset:0;z-index:0;display:flex;flex-wrap:wrap;
  align-content:center;justify-content:center;gap:6px 18px;padding:10px;
  pointer-events:none;user-select:none;overflow:hidden;
  font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:.1em;
  color:var(--coral);opacity:.12;line-height:1}
.voicewall span{display:inline-block}
@media (max-width:720px){.voicewall{gap:4px 12px;opacity:.1}}

/* ============ v213 喜びの便りの金線を見出し直下へ ============ */
.joy .center h2{margin-bottom:0}
.joy .center .gold-line{margin:8px auto 26px}

/* ============ v214 喜びの便りの行間と段落 ============ */
.jc .big{line-height:1.6;margin-top:10px}
.jc .big::after{margin-top:11px}
.jc .body{line-height:1.8;margin-top:12px}
.jc .body+.body{margin-top:10px}
.jc .who{margin-top:16px;padding-top:12px}

/* ============ v215 見出しの下線を全ページ共通で直下へ・10%太く ============ */
.gold-line{height:2.2px;margin-top:8px}
.destiny .gold-line{height:2.2px}
.yhero-txt .gold-line{margin-top:8px}
h1:has(+.gold-line),h2:has(+.gold-line),h3:has(+.gold-line){margin-bottom:0}

/* ============ v216 幸せ発生器の章の文字バランス ============ */
.band.mission .stack{display:grid;justify-items:center;gap:clamp(14px,1.8vw,20px)}
.band.mission .stack p{margin:0;text-align:center}
.band.mission .stack p.lead{font-size:clamp(19px,2.6vw,27px);line-height:1.85}
.band.mission .stack p:nth-of-type(2){font-family:var(--serif);font-size:clamp(17px,2.2vw,23px);
  line-height:1.85;color:#4A3A5C;text-shadow:0 1px 10px rgba(255,253,252,.9)}
.band.mission .stack p:last-child{font-family:var(--serif);font-weight:700;
  font-size:clamp(21px,3vw,31px);line-height:1.8}

/* ============ v217 幸せ発生器の章を縦に3分の1縮小 ============ */
#sec-hassei{padding:34px 0}
#sec-hassei .stack{gap:clamp(9px,1.1vw,13px)}
#sec-hassei .cap{margin-bottom:2px}
#sec-hassei .gold-line{margin:7px auto 14px}

/* ============ v219 メニューの背景を光の模様に ============ */
#menu{position:relative;overflow:hidden}
#menu::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,253,252,.95),rgba(255,253,252,0) 42%),
    radial-gradient(circle at 82% 8%,rgba(216,199,160,.30),rgba(216,199,160,0) 46%),
    radial-gradient(circle at 50% 46%,rgba(201,185,216,.26),rgba(201,185,216,0) 55%),
    radial-gradient(circle at 12% 78%,rgba(232,137,131,.16),rgba(232,137,131,0) 48%),
    radial-gradient(circle at 88% 88%,rgba(216,199,160,.24),rgba(216,199,160,0) 50%)}
#menu::after{content:"";position:absolute;left:50%;top:-16%;width:min(1100px,120%);
  aspect-ratio:1/1;transform:translateX(-50%);z-index:0;pointer-events:none;opacity:.5;
  background:
    repeating-conic-gradient(from 0deg at 50% 50%,
      rgba(216,199,160,.16) 0deg 2deg, rgba(216,199,160,0) 2deg 15deg);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0%,rgba(0,0,0,.35) 42%,transparent 68%);
  mask-image:radial-gradient(circle at 50% 50%,#000 0%,rgba(0,0,0,.35) 42%,transparent 68%)}
#menu>.wrap{position:relative;z-index:1}

/* ============ v220 結魂の一文を光らせる ============ */
.yuikon-em{background:linear-gradient(100deg,var(--head) 0 40%,#D8A44A 50%,var(--head) 60% 100%);
  background-size:300% 100%;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:yuikonShine 4.2s ease-in-out infinite}
@keyframes yuikonShine{0%{background-position:120% 0}55%{background-position:-20% 0}100%{background-position:-20% 0}}
@media (prefers-reduced-motion:reduce){.yuikon-em{animation:none;-webkit-text-fill-color:var(--head);color:var(--head)}}

/* ============ v221 理念の章の縦を3分の1削る ============ */
#sec-rinen{padding-top:clamp(30px,3.4vw,42px);padding-bottom:clamp(30px,3.4vw,42px)}
#sec-rinen .gold-line{margin:7px auto 12px}
#sec-rinen .creed{margin-top:20px;padding:clamp(20px,2.6vw,30px) clamp(18px,3vw,34px)}
#sec-rinen .threeword{margin-top:22px}
#sec-rinen .threeword[style]{margin-top:18px!important}
#sec-rinen .threeword.henka{margin-top:22px}
#sec-rinen .threeword span{padding-bottom:8px}
#sec-rinen .creed-note{margin-bottom:0}
#sec-rinen .threeword{font-size:clamp(22px,3.4vw,32px)}
#sec-rinen .threeword.henka span{font-size:clamp(20px,3vw,29px)}
#sec-rinen .lead{margin-bottom:0}

/* ============ v222 メニューカードの改行 ============ */
#menu .card .body{padding-inline:clamp(12px,1.3vw,16px)}
#menu .card .body p{word-break:auto-phrase;line-break:strict;text-wrap:pretty;
  hanging-punctuation:allow-end;font-size:14px;line-height:2;max-width:none}
@media (min-width:861px){#menu .card .img{flex:0 0 34%}}
@media (max-width:520px){#menu .card .body p br{display:none}
  #menu .card .body p{text-wrap:balance}}

/* ============ v224 VOICEの連続文字を敷き詰める ============ */
.voicebg{position:relative;overflow:hidden}
.voicebg::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='620' viewBox='0 0 900 620'%3E%3Cg fill='%23E88983' font-family='Cormorant Garamond, Georgia, serif' font-weight='500' letter-spacing='3'%3E%3Ctext x='7.5' y='74.6' font-size='40'%3EVOICE%3C/text%3E%3Ctext x='222.9' y='92.5' font-size='80'%3EVOICE%3C/text%3E%3Ctext x='410.6' y='102.7' font-size='80'%3EVOICE%3C/text%3E%3Ctext x='679.1' y='77.0' font-size='52'%3EVOICE%3C/text%3E%3Ctext x='3.3' y='215.2' font-size='66'%3EVOICE%3C/text%3E%3Ctext x='236.3' y='199.4' font-size='66'%3EVOICE%3C/text%3E%3Ctext x='479.8' y='214.2' font-size='40'%3EVOICE%3C/text%3E%3Ctext x='688.9' y='196.0' font-size='30'%3EVOICE%3C/text%3E%3Ctext x='-37.0' y='348.4' font-size='80'%3EVOICE%3C/text%3E%3Ctext x='863.0' y='348.4' font-size='80'%3EVOICE%3C/text%3E%3Ctext x='222.8' y='346.0' font-size='52'%3EVOICE%3C/text%3E%3Ctext x='467.3' y='354.0' font-size='66'%3EVOICE%3C/text%3E%3Ctext x='693.5' y='340.3' font-size='66'%3EVOICE%3C/text%3E%3Ctext x='30.7' y='445.3' font-size='40'%3EVOICE%3C/text%3E%3Ctext x='224.6' y='451.7' font-size='40'%3EVOICE%3C/text%3E%3Ctext x='472.6' y='475.4' font-size='66'%3EVOICE%3C/text%3E%3Ctext x='675.6' y='456.8' font-size='66'%3EVOICE%3C/text%3E%3Ctext x='2.8' y='581.6' font-size='52'%3EVOICE%3C/text%3E%3Ctext x='257.7' y='592.5' font-size='40'%3EVOICE%3C/text%3E%3Ctext x='478.9' y='604.8' font-size='30'%3EVOICE%3C/text%3E%3Ctext x='691.1' y='578.4' font-size='40'%3EVOICE%3C/text%3E%3C/g%3E%3C/svg%3E");
  background-repeat:repeat;background-size:900px 620px;opacity:.13}
.voicebg>.wrap{position:relative;z-index:1}
@media (max-width:720px){.voicebg::after{background-size:560px 386px;opacity:.1}}

/* ============ v225 喜びの便りの行間をさらに詰める ============ */
.jc .big{line-height:1.45;margin-top:8px}
.jc .big::after{margin-top:9px}
.jc .body{line-height:1.65;margin-top:10px}
.jc .body+.body{margin-top:8px}
.jc .who{margin-top:13px;padding-top:10px}
.jc .big{font-size:clamp(17px,1.55vw,20px)}
.jc .body{word-break:auto-phrase;line-break:strict;text-wrap:pretty;hanging-punctuation:allow-end}

/* ============ v226 お客様の声を隙間なく積む ============ */
@media (min-width:861px){
  .vgrid{display:block;columns:2;column-gap:clamp(14px,2vw,22px)}
  .vgrid .voice{break-inside:avoid;-webkit-column-break-inside:avoid;
    display:inline-block;width:100%;margin:0 0 clamp(14px,2vw,22px)}
}

/* ============ v227 まとめの枠を体のラインに ============ */
.closingline{border-radius:50% 50% 44% 44% / 26% 26% 18% 18%;
  padding:clamp(46px,5.2vw,66px) clamp(34px,5vw,58px) clamp(40px,4.6vw,56px)}
.closingline::before{top:-70px;right:-50px}
.closingline::after{bottom:-80px;left:-60px}
@media (max-width:640px){
  .closingline{border-radius:44% 44% 38% 38% / 16% 16% 12% 12%;
    padding:40px 24px 34px}
}

/* ============ v228 声の章の背景色を全部そろえる ============ */
.block.alt.voicebg,.voicebg{background-color:#FBEBE8}

/* ============ v229 理念の章をさらに4分の1縮める ============ */
#sec-rinen{padding-top:clamp(22px,2.4vw,28px);padding-bottom:clamp(22px,2.4vw,28px)}
#sec-rinen h2{font-size:clamp(21px,2.7vw,28px)}
#sec-rinen .lead{font-size:clamp(15px,1.7vw,17px)}
#sec-rinen .gold-line{margin:6px auto 10px}
#sec-rinen .creed{margin-top:14px;padding:clamp(14px,1.9vw,22px) clamp(14px,2.4vw,26px)}
#sec-rinen .creed-note{font-size:11px}
#sec-rinen .threeword{margin-top:14px;font-size:clamp(19px,2.7vw,26px)}
#sec-rinen .threeword[style]{margin-top:12px!important}
#sec-rinen .threeword.henka{margin-top:14px}
#sec-rinen .threeword.henka span{font-size:clamp(17px,2.4vw,24px)}
#sec-rinen .threeword span{padding-bottom:6px}

/* ============ v230 引用の目立たせ方を5通りに ============ */
.pull{font-family:var(--serif);color:var(--head);line-height:1.95;max-width:none}

/* a 左に金の柱、左寄せ */
.hassei .pull-a,.pull-a{border:0;padding:6px 0 6px 20px;margin:26px auto;text-align:left;
  border-left:3px solid var(--gold);font-size:clamp(18px,2.2vw,24px)}

/* b 大きな明朝、下に短い金線 */
.pull-b{border:0;padding:0;margin:30px 0 24px;font-size:clamp(21px,2.9vw,30px);font-weight:700;
  position:relative}
.pull-b::after{content:"";display:block;width:52px;height:2.2px;background:var(--gold);margin:12px 0 0}

/* c 淡い面で囲む */
.pull-c{border:0;margin:28px 0;padding:20px 22px;border-radius:20px 6px 20px 6px;
  background:linear-gradient(150deg,rgba(201,185,216,.26),rgba(232,137,131,.16));
  font-size:clamp(18px,2.3vw,25px)}

/* d 文字に金のマーカー */
.pull-d{border:0;padding:0;margin:30px 0 24px;font-size:clamp(19px,2.5vw,27px);font-weight:700}
.pull-d{background-image:linear-gradient(transparent 64%,rgba(216,199,160,.65) 64%);
  background-repeat:no-repeat;background-size:100% 100%;display:inline-block;padding:0 .2em}

/* e 上下に小さな菱形 */
.pull-e{border:0;padding:16px 0;margin:30px auto;font-size:clamp(18px,2.3vw,25px);position:relative}
.pull-e::before,.pull-e::after{content:"";position:absolute;left:0;width:9px;height:9px;
  background:var(--gold);transform:rotate(45deg)}
.pull-e::before{top:0}
.pull-e::after{bottom:0}
@media (max-width:640px){
  .pull-c{padding:16px 16px}
  .pull-d{padding:0 .15em}
}

/* ============ v231 物語の本文が細くなっていたのを修正 ============ */
@media (min-width:861px){
  .storygrid.solo{grid-template-columns:minmax(0,1fr)}
}
/* v231 プロフィールの肩書きを大きく */
.profile .titles{font-size:clamp(14px,1.8vw,17px);line-height:2;font-weight:500}

/* ============ v232 私の物語の見出しまわりの中央揃えを直す ============ */
.storyswitch>*{margin-left:auto;margin-right:auto;text-align:center}
.storyswitch .ss-h{max-width:none;text-indent:0;letter-spacing:.22em;padding-left:.22em}
.storyswitch .ss-why,.storyswitch .ss-why2{max-width:36em;text-align:center}
.bahead{display:block;text-align:center;width:max-content;max-width:100%;margin-left:auto;margin-right:auto}

/* ============ v233 資格一覧は年を出さず小さく並べる ============ */
.record.qual{display:flex;flex-wrap:wrap;gap:8px 10px;max-width:780px;margin:10px auto 0}
.record.qual .rec{display:inline-flex;grid-template-columns:none;gap:0;padding:5px 12px;
  border:1px solid var(--beige);border-bottom:1px solid var(--beige);border-radius:999px;
  background:var(--bg2)}
.record.qual .rc{font-size:12.5px;line-height:1.7;color:var(--text)}

/* ============ v234 メディア媒体名の並び ============ */
.medialist{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;
  max-width:760px;margin:14px auto 0}
.medialist span{display:inline-block;padding:6px 14px;border-radius:999px;
  background:var(--bg2);border:1px solid var(--gold);
  font-family:var(--serif);font-size:13px;color:var(--head);letter-spacing:.04em}
@media (max-width:640px){.medialist span{font-size:12px;padding:5px 11px}}

/* ============ v235 物語ページ ============ */
.pp-story{height:clamp(280px,40vw,460px)}
.pp-story img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
#page-story .ss-why{margin:0 auto;text-align:center}
#page-story .ss-why2{margin:10px auto 0;text-align:center}
#page-story .storyhead{margin-top:clamp(30px,4vw,44px)}
.ss-lead{margin:14px auto 0;max-width:34em;font-size:clamp(13.5px,1.7vw,15.5px);
  line-height:2;color:var(--text);text-align:center}
.ss-btn{margin:20px auto 0;display:inline-flex}

/* ============ v236 「お腹は、魂の入れ物」の帯が2枚に見える件 ============ */
.split.hasover .split-img::after{
  background:linear-gradient(180deg,rgba(72,44,86,.34),rgba(72,44,86,.22) 45%,rgba(72,44,86,.40))!important}

/* ============ v237 メニューは常に見える2段 ============ */
nav.main{flex-wrap:wrap;align-items:center;row-gap:6px}
nav.main>a{order:1}
.navgrp{order:2;flex:0 0 100%;display:flex;align-items:center;justify-content:flex-end;
  gap:clamp(10px,1.4vw,18px);padding-top:6px;border-top:1px solid rgba(216,199,160,.55)}
.navbtn{font:inherit;background:none;border:0;padding:0 10px 0 0;cursor:default;pointer-events:none;
  font-family:var(--serif);font-weight:700;color:var(--capink);letter-spacing:.14em;white-space:nowrap;
  font-size:.85em}
.navbtn::after{display:none}
.navsub{display:flex;align-items:center;gap:clamp(10px,1.4vw,18px);flex-wrap:wrap;
  position:static;transform:none;opacity:1;visibility:visible;background:none;
  box-shadow:none;padding:0;margin:0;min-width:0}
.navsub a{padding:0;border-radius:0;white-space:nowrap}
@media (max-width:979px){
  nav.main{row-gap:0}
  .navgrp{flex:0 0 100%;display:block;padding-top:0;border-top:0}
  .navbtn{display:block;width:100%;padding:12px 5%;font-size:12px;
    background:rgba(201,185,216,.14);border-bottom:1px solid var(--beige)}
  .navsub{display:block}
  .navsub a{padding:14px 5%;border-bottom:1px solid var(--beige);font-size:16px}
}

/* ============ v238 まとめ枠の外形を体の輪郭に・ボタンを短く ============ */
.closingline{border-radius:0;background:none;box-shadow:none;padding:0;position:relative;
  max-width:min(560px,92%);margin:clamp(30px,4vw,44px) auto 0}
.closingline::before,.closingline::after{display:none}
.clbody{position:absolute;inset:-34px -18px -30px;z-index:0;pointer-events:none;
  background:linear-gradient(158deg,#FBF4EA,#F5EDF6 48%,#FAF0EB);
  box-shadow:0 18px 44px rgba(102,80,120,.16), inset 0 0 0 1.5px rgba(216,199,160,.95);
  clip-path:polygon(50% 0%,66% 3%,74% 9%,76% 17%,88% 25%,93% 36%,90% 47%,84% 55%,
    82% 66%,86% 80%,84% 92%,74% 100%,26% 100%,16% 92%,14% 80%,18% 66%,16% 55%,
    10% 47%,7% 36%,12% 25%,24% 17%,26% 9%,34% 3%)}
.closingline>*:not(.clbody){position:relative;z-index:1}
.closingline>.clbody{position:absolute;z-index:0}
.closingline .cl-1{margin-top:6px}
.cl-btn{display:inline-flex;width:auto;min-width:0;margin-left:auto;margin-right:auto;
  padding-left:clamp(26px,4vw,40px);padding-right:clamp(26px,4vw,40px)}

/* v238 本音に従って生きる時代の見出しにマーカー */
#sec-era h2{background-image:linear-gradient(transparent 62%,rgba(216,199,160,.62) 62%);
  background-repeat:no-repeat;background-size:100% 100%;display:inline;padding:0 .18em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* ============ v239 資格は目立たせず、地味に小さく ============ */
.qualbox{background:none;border:0;box-shadow:none;padding:0;max-width:760px;
  margin:clamp(20px,2.6vw,28px) auto 0}
.qualbox .qual-h{font-size:12px;letter-spacing:.16em;color:var(--capink);
  border:0;padding:0;margin:0 0 6px;text-align:center;display:block}
.record.qual{gap:4px 8px;margin-top:6px;justify-content:center}
.record.qual .rec{border:0;background:none;padding:0}
.record.qual .rc{font-size:11.5px;color:#9A8C86;line-height:1.9}
.record.qual .rec+.rec .rc::before{content:"／";margin-right:8px;color:#CFC3BB}

/* ============ v240 物語ページのタイトルを左上に ============ */
#page-story .pptitle{left:clamp(20px,5vw,64px);right:auto;bottom:auto;
  top:clamp(24px,5vw,58px);transform:none;text-align:left}
#page-story .pptitle .cap{display:block;margin-bottom:4px}
#page-story .pptitle h1{text-align:left}

/* ============ v241 アスリートの実績 ============ */
.athlete{max-width:880px;margin:clamp(20px,2.6vw,30px) auto 0;padding:clamp(20px,2.6vw,30px) clamp(18px,2.4vw,28px);
  border-radius:22px 6px 22px 6px;background:var(--bg2);
  box-shadow:0 12px 30px rgba(102,80,120,.09), inset 0 0 0 1.5px rgba(216,199,160,.9)}
.ath-h{margin:0 0 14px;font-family:var(--serif);font-weight:700;color:var(--head);
  font-size:clamp(15px,2vw,19px);line-height:1.85;text-align:center;max-width:none}
.ath-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);
  gap:clamp(16px,2.4vw,26px);align-items:start}
@media (max-width:760px){.ath-body{grid-template-columns:minmax(0,1fr)}}
.ath-txt p{margin:0 0 10px;font-size:clamp(13.5px,1.7vw,15px);line-height:1.95;max-width:none}
.ath-txt p:last-child{margin-bottom:0}
.ath-txt b{color:var(--head);background:linear-gradient(transparent 62%,rgba(216,199,160,.6) 62%)}
.ath-pics{display:grid;gap:10px}
.ath-pics img{width:100%;height:auto;border-radius:12px;display:block}

/* ============ v242 コンセプトの見出し ============ */
.introbg .cap{color:var(--capink);font-weight:700;letter-spacing:.28em;
  background:linear-gradient(90deg,#B9932F,#E3CE94 45%,#B9932F);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  display:block;margin-bottom:10px}

/* ============ v243 声の見出しの行間を統一 ============ */
.vhead,.voice .vhead{line-height:1.55!important;margin:0 0 10px}
.jc .big{line-height:1.55}
.mnp h3,.card .body h3,.bahead,.storyhead{line-height:1.55}

/* ============ v244 ミッションの本文 ============ */
.hassei .hs-q{font-family:var(--serif);color:var(--head);line-height:2.05;
  font-size:clamp(14px,1.8vw,16.5px)}
.hassei .hs-turn{font-family:var(--serif);font-weight:700;color:var(--head);
  font-size:clamp(17px,2.4vw,23px);margin-top:22px!important}
.hassei .hs-big{font-family:var(--serif);font-weight:700;color:var(--head);
  font-size:clamp(18px,2.6vw,26px);line-height:1.8;margin-top:22px!important}
.hassei .hs-last{margin-top:26px!important;padding-top:18px;
  border-top:1px solid rgba(216,199,160,.9);
  font-family:var(--serif);font-weight:700;color:var(--head);
  font-size:clamp(17px,2.3vw,22px)}


/* ============ v245 ナビの文字サイズ ============ */
@media (min-width:980px) and (max-width:1160px){
  .navbtn{font-size:10.5px;letter-spacing:.1em}
  .navsub a{font-size:11.5px}
}

/* ============ v247 私の物語（全文・開閉式） ============ */
#my-story .st-sub{max-width:none;text-align:center;font-family:var(--serif);font-weight:700;
  color:var(--head);font-size:clamp(16px,2.2vw,21px);line-height:1.9;margin:0 auto}
.story-preview{max-width:720px;margin:clamp(22px,3vw,32px) auto 0;text-align:center}
.story-preview p{margin:0 0 12px;max-width:none;font-size:clamp(14px,1.8vw,16px);line-height:1.95}
.story-accordion{max-width:760px;margin:clamp(22px,3vw,30px) auto 0}
.accordion-btn{list-style:none;cursor:pointer;display:block;text-align:center;
  padding:15px 22px;border-radius:999px;background:var(--coral);color:#fff;
  font-family:var(--serif);font-weight:700;font-size:clamp(15px,2vw,17px);
  box-shadow:0 10px 26px rgba(232,137,131,.3)}
.accordion-btn::-webkit-details-marker{display:none}
.accordion-btn span::after{content:"　＋";font-weight:700}
.story-accordion[open] .accordion-btn span::after{content:"　−"}
.story-full-text{margin-top:clamp(24px,3.4vw,36px);text-align:center}
.story-full-text .beginimg{margin:0 auto clamp(20px,3vw,30px);max-width:min(420px,90%)}
.story-full-text .beginimg img{width:100%;height:auto;border-radius:18px}
.story-full-text p{margin:0 auto 16px;max-width:none;font-size:clamp(14px,1.8vw,16px);line-height:1.95}
.story-full-text .year{display:block;margin:clamp(34px,4.4vw,52px) auto 14px;
  font-family:'Cormorant Garamond',serif;letter-spacing:.24em;color:var(--capink);
  font-size:clamp(13px,1.7vw,16px)}
.story-full-text .st-h{margin:clamp(28px,3.6vw,40px) auto 16px;font-family:var(--serif);
  font-weight:700;color:var(--head);font-size:clamp(17px,2.3vw,22px);line-height:1.6;
  width:max-content;max-width:100%;padding-bottom:8px;border-bottom:2px solid var(--gold)}
.story-full-text .st-q{font-family:var(--serif);color:var(--head);line-height:2.05}
.story-full-text .st-pull{font-family:var(--serif);font-weight:700;color:var(--head);
  font-size:clamp(19px,2.8vw,27px)!important;line-height:1.8;margin:26px auto!important;
  padding:16px 0;border-top:1px solid var(--beige);border-bottom:1px solid var(--beige)}
.story-full-text .st-big{font-family:var(--serif);font-size:clamp(17px,2.4vw,23px)!important;
  line-height:1.85;margin:24px auto!important}
.story-full-text .st-big b{color:var(--head);
  background:linear-gradient(transparent 64%,rgba(216,199,160,.6) 64%)}
.story-full-text .st-last{margin-top:28px!important;padding-top:20px;
  border-top:1px solid rgba(216,199,160,.9);font-family:var(--serif);font-weight:700;
  color:var(--head);font-size:clamp(16px,2.2vw,20px)!important}
.story-cta-block{margin-top:clamp(30px,4vw,46px);padding:clamp(24px,3.4vw,38px) clamp(20px,3vw,32px);
  border-radius:26px 6px 26px 6px;text-align:center;
  background:linear-gradient(155deg,#FBF4EA,#F5EDF6 50%,#FAF0EB);
  box-shadow:0 16px 40px rgba(102,80,120,.14), inset 0 0 0 1.5px rgba(216,199,160,.95)}
.story-cta-block h3{margin:0 0 14px;font-family:var(--serif);font-weight:700;color:var(--head);
  font-size:clamp(17px,2.4vw,23px);line-height:1.75}
.story-cta-block>p{margin:0 auto 20px;max-width:none;font-size:clamp(13.5px,1.7vw,15px);line-height:1.95}
.service-summary ul{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:12px;
  max-width:560px;margin-inline:auto}
.service-summary li{background:var(--bg2);border-radius:16px;padding:14px 18px;
  box-shadow:inset 0 0 0 1px rgba(216,199,160,.8)}
.service-summary b{display:block;font-family:var(--serif);color:var(--head);
  font-size:clamp(14.5px,1.9vw,16.5px);margin-bottom:6px}
.service-summary span{display:block;font-size:12.5px;line-height:1.85;color:var(--text)}
.story-cta-block .btn{margin:0 auto 10px}

/* v248 スマホでの横はみ出し対策（装飾の光を枠の中で止める・見た目と配置は変えない） */
.gatefig{overflow:clip}
@supports not (overflow:clip){.gatefig{overflow:hidden}}

/* v249 斜めの区切りをやめて、まっすぐな線にする（全ページ14か所） */
.block.alt{clip-path:none;margin-top:0;margin-bottom:0;
  padding-top:clamp(44px,6vw,78px);padding-bottom:clamp(44px,6vw,78px)}
@media (max-width:760px){.block.alt{clip-path:none}}

/* v250 魂ヒーラーを大きく出す */
.profile .role-main{font-family:var(--serif);font-weight:700;color:var(--head);
  font-size:clamp(22px,3vw,30px);letter-spacing:.06em;line-height:1.5;margin:0 0 6px}
.profile .stack .role-main+.titles{margin-top:0}
.profile .bio-line{margin-top:14px}

/* v251 アクセスの見出しを大きく */
#page-access .pptitle h1{font-size:clamp(34px,6.4vw,64px);letter-spacing:.06em}
#page-access .pptitle .cap{font-size:clamp(13px,1.6vw,16px)}

/* v252 スマホのメニューを押しやすく（間隔・高さ・タップ領域を統一） */
@media (max-width:979px){
  nav.main a,.navsub a{
    display:block;padding:17px 5%;min-height:54px;font-size:16px;line-height:1.35;
    border-bottom:1px solid var(--beige);box-sizing:border-box}
  .navbtn{padding:14px 5%;min-height:46px;font-size:12.5px;box-sizing:border-box}
  .navsub a:last-child{border-bottom:0}
}
@media (min-width:980px) and (max-width:1160px){
  nav.main a{font-size:12.5px;padding:8px 6px}
  .navsub{gap:14px}
  .navsub a{font-size:12.5px;padding:8px 2px}
  .navbtn{font-size:11.5px}
}

/* v253 スマホのファーストビュー：龍と珠が中央に来るように */
@media (max-width:860px){
  #page-about .ahero>img{object-position:52% 66%}
}

/* v254 あなた・家庭・社会はスマホでも横一列 */
@media (max-width:620px){
  .spread{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:10px}
  .spread .sp{padding:14px 6px 12px;border-radius:12px}
  .spread .sp b{font-size:15px;letter-spacing:.06em}
  .spread .sp span{margin-top:6px;font-size:11px;line-height:1.6}
  .spread .sp:not(:last-child)::after{top:50%;bottom:auto;right:-8px;left:auto;
    transform:translateY(-50%) rotate(45deg);width:7px;height:7px}
}

/* v255 冒頭の四つのメニュー名を読みやすく */
.fourmenu{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;max-width:none}
.fourmenu span{white-space:nowrap}
.fourmenu span:not(:last-child)::after{content:"／";margin-left:18px;color:var(--beige)}
@media (max-width:620px){
  .fourmenu{display:block;text-align:center}
  .fourmenu span{display:block}
  .fourmenu span:not(:last-child)::after{display:none}
}

/* v256 私の物語へのボタンをスマホで3行に */
.ss-btn .ss-l1,.ss-btn .ss-l2,.ss-btn .ss-l3{display:inline}
.ss-btn .ss-l3::before{content:"　"}
@media (max-width:620px){
  .ss-btn{line-height:1.7;padding-top:14px;padding-bottom:14px}
  .ss-btn .ss-l1,.ss-btn .ss-l2,.ss-btn .ss-l3{display:block}
  .ss-btn .ss-l3::before{content:none}
}

/* v257 理念の文字を階層はそのままで約10%大きく */
#sec-rinen h2{font-size:clamp(23px,3vw,31px)}
#sec-rinen .lead{font-size:clamp(17px,1.9vw,19px)}
#sec-rinen .creed-note{font-size:12px}
#sec-rinen .threeword{font-size:clamp(21px,3vw,29px)}
#sec-rinen .threeword.henka span{font-size:clamp(19px,2.7vw,27px)}
@media (max-width:620px){
  #sec-rinen h2{font-size:clamp(24px,6.2vw,30px)}
  #sec-rinen .lead{font-size:clamp(16px,4.2vw,19px)}
  #sec-rinen .threeword{font-size:clamp(23px,7vw,30px)}
  #sec-rinen .threeword.henka span{font-size:clamp(21px,6.4vw,28px)}
}

/* v258 スマホだけの改行 */
.spbr{display:none}
@media (max-width:620px){.spbr{display:inline}}

/* v259 取得資格・登壇実績を左揃えに、行頭を統一 */
.record.qual{justify-content:flex-start;max-width:720px;margin-left:auto;margin-right:auto;
  text-align:left;padding-left:0}
.record.qual .rec{justify-content:flex-start}
.recnote{text-align:left;max-width:720px;margin-left:auto;margin-right:auto}
.athlete .ath-h{text-align:left}
@media (max-width:620px){
  .record.qual{gap:3px 6px}
  .record.qual .rc{font-size:11.5px}
  .recnote{font-size:13px;line-height:1.95}
}

/* v260 七彩で受けられること：4つを上品に色分けし、サイズと余白を揃える */
.aboutmenu{align-items:stretch}
.am{display:flex;flex-direction:column;height:100%;min-height:150px;
  padding:clamp(20px,2.4vw,26px) clamp(18px,2.2vw,24px) clamp(38px,3.4vw,44px);
  border-width:1px;border-left-width:5px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.am b{min-height:2.6em;display:flex;align-items:center}
.am em{flex:1 1 auto}
.am-chou{border-left-color:#E8D8C8;background:linear-gradient(180deg,#FFFDFC,#FBF5EE)}
.am-yuikon{border-left-color:#C9B9D8;background:linear-gradient(180deg,#FFFDFC,#F7F3FA)}
.am-ryujin{border-left-color:#B9C9D2;background:linear-gradient(180deg,#FFFDFC,#F2F7F9)}
.am-shinso{border-left-color:#D8C7A0;background:linear-gradient(180deg,#FFFDFC,#FBF7EC)}
@media (max-width:760px){
  .aboutmenu{gap:14px}
  .am{min-height:0;padding:18px 18px 34px}
  .am b{min-height:0;font-size:17px}
  .am em{font-size:14px;line-height:1.9}
}

/* v261 「辿り着いた、3つの答え」を見出しとして大きく */
.wb-answer{font-size:clamp(22px,3.4vw,34px);color:var(--head);margin-top:clamp(28px,3.4vw,40px);
  margin-bottom:clamp(16px,2vw,22px);line-height:1.6}
.wb-answer::before,.wb-answer::after{width:40px}
@media (max-width:620px){.wb-answer{font-size:clamp(21px,6vw,28px)}}

/* v262 3つの答えの画像を、2つの壁と同じ見え方に揃える */
.ansgrid figure{aspect-ratio:1/1.04;overflow:hidden}
.ansgrid img{width:100%;height:100%;object-fit:cover;object-position:center top}
@media (max-width:760px){.ansgrid figure{aspect-ratio:auto}
  .ansgrid img{height:auto;object-fit:contain}}

/* v263 おなかに溜まっているものの図を明るく */
.fig-four img{filter:brightness(1.22) contrast(1.04) saturate(1.02)}

/* v264 施術の流れ：3つの画像の比率と表示領域を統一 */
#page-chou .steps .stepfig,#page-yuikon .steps .stepfig{aspect-ratio:1/1;overflow:hidden}
#page-chou .steps .stepfig img,#page-yuikon .steps .stepfig img{width:100%;height:100%;object-fit:cover;object-position:center}

/* v265 施術から2週間を目立たせる */
.twoweek{font-size:clamp(16px,2vw,19px);line-height:2}
.twoweek b{color:var(--head);font-family:var(--serif)}
.twoweek .tw-em{background:linear-gradient(transparent 62%,rgba(216,199,160,.55) 62%);padding:0 .12em}

/* v266 結魂－YUIKON－セッションの文字を大きく（ステージアップのサイン） */
.sign-note .yk-big{font-size:clamp(24px,6.4vw,34px);line-height:1.7;display:inline-block;
  font-family:var(--serif);font-weight:700;color:var(--head);letter-spacing:.02em;white-space:nowrap}
@media (max-width:360px){.sign-note .yk-big{font-size:22px}}

/* v267 カウンセリングの文章をスマホで中央揃えに */
@media (max-width:860px){
  #page-yuikon .split2 .p2txt{text-align:center}
  #page-yuikon .split2 .p2txt .gold-line{margin-left:auto!important;margin-right:auto!important}
  #page-yuikon .split2 .p2txt p{margin-left:auto;margin-right:auto}
}

/* v268 「あなたの決断は、あなた一人では終わりません。」の3枚の写真を同じ大きさに */
.waL .waimg{width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:14px;margin:0 auto 12px}
.waL .waimg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:0}

/* v269 心相数の出し方：枠を小さくして横一列に */
#page-shinso .calc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(8px,1.4vw,18px);align-items:stretch}
#page-shinso .calc .cbox{padding:26px 8px 14px}
#page-shinso .calc .cbox h3{font-size:clamp(13px,3.3vw,18px);letter-spacing:.02em;line-height:1.5}
#page-shinso .calc .eq{font-size:clamp(11.5px,3vw,16px);line-height:1.95;letter-spacing:0}
#page-shinso .calc .cno{font-size:11px}
@media (max-width:359px){
  #page-shinso .calc{grid-template-columns:minmax(0,1fr)}
  #page-shinso .calc .cbox{padding:24px 14px 14px}
}

/* v270 西暦・月日・合計の数字に動きを戻す */
@media (prefers-reduced-motion:no-preference){
  #page-shinso .calc .eq b{display:inline-block;opacity:0;transform:scale(.4)}
  #page-shinso .calc.go .eq b{animation:calcPop .62s cubic-bezier(.2,1.3,.4,1) forwards}
  #page-shinso .calc.go .cbox:nth-child(1) .eq b{animation-delay:.10s}
  #page-shinso .calc.go .cbox:nth-child(2) .eq b{animation-delay:.55s}
  #page-shinso .calc.go .cbox:nth-child(3) .eq b{animation-delay:1s}
  @keyframes calcPop{0%{opacity:0;transform:scale(.4)}
    60%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}
}

/* v271 「運気を知らないまま」にSTOPの印 */
.wframe{position:relative}
.stopmark{display:flex;align-items:center;justify-content:center;gap:10px;
  width:max-content;margin:0 auto clamp(14px,2vw,20px);padding:7px 20px 7px 16px;
  font-family:var(--serif);font-size:clamp(12px,1.6vw,14px);font-weight:700;
  letter-spacing:.26em;color:var(--head);background:#FFFDFC;
  border:1px solid var(--gold);border-radius:999px;
  box-shadow:0 6px 18px rgba(216,199,160,.30)}
.stopmark i{display:block;width:13px;height:13px;border-radius:50%;
  background:var(--coral);box-shadow:0 0 0 3px rgba(232,137,131,.22)}

/* v272 「研ぐ方向が分かると」「3000年の旅」の写真の切り抜き線を消す */
.weaponpic,.couplepic{overflow:hidden;border-radius:18px;
  box-shadow:0 14px 34px rgba(102,80,120,.18)}
.weaponpic img,.couplepic img{width:100%;height:auto;display:block;
  border-radius:0;box-shadow:none;transform:scale(1.11);transform-origin:center}

/* v273 鑑定メニューの写真枠がスマホで大きすぎるのを直す */
@media (max-width:760px){
  .mnpfig img{aspect-ratio:16/10;object-fit:cover;object-position:center}
  .mnpfig{margin-bottom:14px}
}

/* v275 七彩腸セラピー：施術の流れの文章が横に並んでしまうのを直す */
@media (max-width:700px){
  #page-chou .step.hasimg{display:grid;grid-template-columns:78px minmax(0,1fr);
    column-gap:14px;row-gap:0;align-items:start;padding:16px 18px 16px 14px}
  #page-chou .step.hasimg .stepfig{grid-column:1;grid-row:1 / span 6;width:78px;margin:0}
  #page-chou .step.hasimg .n,
  #page-chou .step.hasimg h3,
  #page-chou .step.hasimg p{grid-column:2;text-align:left;margin-left:0}
  #page-chou .step.hasimg .n{margin-top:0;font-size:12px}
  #page-chou .step.hasimg h3{margin-top:2px}
  #page-chou .step.hasimg p{margin-top:7px}
}

/* v276 七彩について：マイストーリーの前に区切りを入れる */
.storyswitch{position:relative;margin-top:clamp(46px,6vw,74px);padding-top:clamp(40px,5vw,62px)}
.storyswitch::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(420px,84%);height:1px;
  background:linear-gradient(90deg,rgba(216,199,160,0),var(--gold) 50%,rgba(216,199,160,0))}
.storyswitch::after{content:"";position:absolute;top:-5px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:10px;height:10px;background:var(--bg);border:1px solid var(--gold)}

/* v277 幸せ発生器の途中に入れる写真 */
.hsfig{margin:clamp(26px,3.4vw,38px) auto;max-width:min(560px,94%);
  border-radius:18px;overflow:hidden;box-shadow:0 14px 34px rgba(102,80,120,.13)}
.hsfig.wide{max-width:min(820px,96%)}
.hsfig img{width:100%;height:auto;display:block}

/* v278 ゲートの一文：文字の大きさはそのまま、字間だけ詰める */
.gateask{letter-spacing:-.01em}

/* v279 ターゲットの帯に厚みを出す（平らな枠をやめて立体に） */
.tgt,
.phero .tgt,.rhero .tgt,.ahero .tgt,.ytitle .tgt{
  background:linear-gradient(180deg,#FCF6F3 0%,#F5EAE2 42%,#EADFE6 100%);
  box-shadow:
    inset 0 2px 1px rgba(255,255,255,.96),
    inset 0 -4px 6px rgba(150,120,140,.16),
    inset 0 0 0 1px rgba(216,199,160,.9),
    0 2px 0 rgba(208,188,196,.75),
    0 4px 0 rgba(188,166,180,.55),
    0 6px 1px rgba(168,146,162,.35),
    0 14px 26px rgba(102,80,120,.24);
  padding:clamp(14px,1.9vw,19px) clamp(30px,4.4vw,58px);
  text-shadow:0 1px 0 rgba(255,255,255,.8)}
@media (max-width:600px){
  .tgt,.phero .tgt,.rhero .tgt,.ahero .tgt,.ytitle .tgt{
    padding:13px 22px;
    box-shadow:
      inset 0 2px 1px rgba(255,255,255,.96),
      inset 0 -3px 5px rgba(150,120,140,.16),
      inset 0 0 0 1px rgba(216,199,160,.9),
      0 2px 0 rgba(208,188,196,.75),
      0 4px 0 rgba(188,166,180,.5),
      0 9px 18px rgba(102,80,120,.22)}
}
.tgtband .tgt{background:none;box-shadow:none;text-shadow:none;padding:0}

/* v280 ヒーローの「龍神が宿る 七彩ヒーリングサロン－NANAIRO－」を2行分下げる */
.hero .tag{margin-top:calc(52px + 2 * 1.9em)}
@media (max-width:760px){.hero .tag{margin-top:calc(44px + 2 * 1.9em)}}

/* v281 「今、あなたのお腹は」の枠を暗めのグラデにする */
.harabox{
  background:linear-gradient(158deg,#5A4A63 0%,#473A54 46%,#3E3346 100%);
  border-color:rgba(216,199,160,.55);
  box-shadow:0 18px 42px rgba(48,38,58,.28), inset 0 1px 0 rgba(255,255,255,.14)}
.harabox .hb-h{color:#F6EFE6;text-shadow:0 1px 6px rgba(40,30,50,.45)}
.harastate .ic{border-radius:14px;background:#FBF7F2;
  box-shadow:0 6px 16px rgba(30,22,40,.28)}
.harabox .harastate figcaption{color:#F2E7DA}

/* v282 「ひとつでも当てはまったら」の枠も暗めのグラデにする */
.signans{
  background:linear-gradient(158deg,#5A4A63 0%,#473A54 46%,#3E3346 100%);
  border-color:rgba(216,199,160,.6);
  box-shadow:0 18px 42px rgba(48,38,58,.28), inset 0 1px 0 rgba(255,255,255,.14)}
.signans .sa1{color:#EFC7C2}
.signans .sa2{color:#F6EFE6}
.signans .sa2 .ln{color:#F6EFE6}
.signans .sa3{color:#F2E7DA;border-top-color:rgba(216,199,160,.45);
  text-decoration-color:rgba(216,199,160,.9)}
.signans ruby rt{color:#E4D6C4}

/* v283 暗い枠の中では、白いにじみの影を消す */
.introbg .harabox p,.introbg .harabox figcaption,.introbg .harabox .hb-h,
.introbg .signans p,.introbg .signans .sa1,.introbg .signans .sa2,.introbg .signans .sa3{
  text-shadow:none}
.harabox .hb-h{text-shadow:0 1px 6px rgba(40,30,50,.45)}

/* v284 鉤括弧で強調する */
.kagi{font-weight:700;color:var(--head)}
.kagi::before,.kagi::after{font-family:var(--serif);color:var(--gold);font-weight:700;
  font-size:1.15em;vertical-align:-.04em}
.kagi::before{content:"「"}
.kagi::after{content:"」"}

/* v285 「お腹は、魂の入れ物。」の本文を1ポイント大きく */
.split.hasover .split-txt .stack p{font-size:calc(1em + 1px)}
.split.hasover .split-txt .stack .lead{font-size:calc(clamp(17px,2.1vw,21px) + 1px)}

/* v286 「それが結魂──魂から繋がる生き方です。」を1ポイント大きく */
.split.hasover .yuikon-em{font-size:calc(clamp(20px,2.6vw,28px) + 1px)}

/* v287 「それが結魂──」を袋文字にする */
.split.hasover .yuikon-em{
  -webkit-text-stroke:0;
  -webkit-text-fill-color:#665078;color:#665078;
  background:none;animation:none;
  text-shadow:
    -3px -3px 0 #FFFDFC, 3px -3px 0 #FFFDFC, -3px 3px 0 #FFFDFC, 3px 3px 0 #FFFDFC,
    0 -3px 0 #FFFDFC, 0 3px 0 #FFFDFC, -3px 0 0 #FFFDFC, 3px 0 0 #FFFDFC,
    -2px -3px 0 #FFFDFC, 2px -3px 0 #FFFDFC, -2px 3px 0 #FFFDFC, 2px 3px 0 #FFFDFC,
    0 8px 16px rgba(102,80,120,.32)}

/* v288 「4つのメニュー」の見出しにエコーをかける */
#menu > .wrap > h2{position:relative;isolation:isolate}
#menu > .wrap > h2::before,#menu > .wrap > h2::after{
  content:attr(data-echo);position:absolute;left:0;right:0;top:0;
  color:var(--head);pointer-events:none;z-index:-1;white-space:pre}
#menu > .wrap > h2::before{transform:translate(7px,7px) scale(1.035);opacity:.18;filter:blur(.5px)}
#menu > .wrap > h2::after{transform:translate(15px,15px) scale(1.075);opacity:.08;filter:blur(1.4px)}
@media (max-width:620px){
  #menu > .wrap > h2::before{transform:translate(5px,5px) scale(1.03)}
  #menu > .wrap > h2::after{transform:translate(10px,10px) scale(1.06)}
}

/* v289 「今、あなたのお腹は」の背景を、黄色からグレーへの円のグラデにする */
.harabox{
  background:
    radial-gradient(circle at 50% 32%,
      #F7EAC0 0%, #F2E2AC 16%, #E7DCC0 38%,
      #D5D2CC 62%, #BFBDB9 82%, #ADABA8 100%);
  border-color:rgba(216,199,160,.9);
  box-shadow:0 16px 38px rgba(90,84,78,.22), inset 0 1px 0 rgba(255,255,255,.55)}
.harabox .hb-h{color:#4A3C55;text-shadow:0 1px 4px rgba(255,255,255,.65)}
.harabox .harastate figcaption{color:#4A3C55}
.harastate .ic{background:rgba(255,253,250,.86);
  box-shadow:0 6px 14px rgba(90,84,78,.18)}

/* v290 「今、あなたのお腹は」の背景を指定色の円グラデにする（#aba44e 40：#201d1e 60） */
.harabox{
  background:radial-gradient(circle at 50% 38%,
    #ABA44E 0%, #ABA44E 40%, #201D1E 100%);
  border-color:rgba(216,199,160,.7);
  box-shadow:0 18px 42px rgba(24,21,22,.34), inset 0 1px 0 rgba(255,255,255,.18)}
.harabox .hb-h{color:#F7F1DE;text-shadow:0 1px 6px rgba(24,21,22,.55)}
.harabox .harastate figcaption{color:#F2E9D2}
.harastate .ic{background:rgba(255,253,250,.92);
  box-shadow:0 8px 18px rgba(24,21,22,.45)}

/* v291 「今、あなたのお腹は」の背景に幾何学の模様を重ねる */
.harabox{position:relative;overflow:hidden;isolation:isolate}
.harabox::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    repeating-radial-gradient(circle at 50% 38%,
      rgba(238,228,186,0) 0 46px, rgba(238,228,186,.20) 46px 47px),
    repeating-linear-gradient(45deg,
      rgba(238,228,186,0) 0 26px, rgba(238,228,186,.10) 26px 27px),
    repeating-linear-gradient(-45deg,
      rgba(238,228,186,0) 0 26px, rgba(238,228,186,.10) 26px 27px)}
.harabox > *{position:relative;z-index:1}

/* v292 幾何学の模様をやめて、光がゆっくり漂う動きにする */
.harabox::before{
  background-image:
    radial-gradient(38% 34% at 28% 24%, rgba(238,228,186,.30), rgba(238,228,186,0) 70%),
    radial-gradient(34% 30% at 76% 62%, rgba(214,206,150,.24), rgba(214,206,150,0) 72%),
    radial-gradient(46% 40% at 50% 88%, rgba(160,156,110,.22), rgba(160,156,110,0) 74%)}
.harabox::after{content:"";position:absolute;inset:-12%;pointer-events:none;z-index:0;
  background-image:
    radial-gradient(30% 26% at 62% 18%, rgba(247,241,222,.20), rgba(247,241,222,0) 72%),
    radial-gradient(36% 32% at 20% 74%, rgba(171,164,78,.28), rgba(171,164,78,0) 72%)}
@media (prefers-reduced-motion:no-preference){
  .harabox::before{animation:haraDrift1 26s ease-in-out infinite alternate}
  .harabox::after{animation:haraDrift2 34s ease-in-out infinite alternate}
  @keyframes haraDrift1{
    0%{transform:translate3d(-3%,-2%,0) scale(1.06)}
    50%{transform:translate3d(3%,2%,0) scale(1.14)}
    100%{transform:translate3d(-2%,3%,0) scale(1.08)}}
  @keyframes haraDrift2{
    0%{transform:translate3d(4%,3%,0) scale(1.12)}
    50%{transform:translate3d(-4%,-3%,0) scale(1.04)}
    100%{transform:translate3d(3%,-2%,0) scale(1.1)}}
}

/* v293 「ひとつでも当てはまったら」の背景を指定色の円グラデにする（#8e8cb8 / #201d1e） */
.signans{position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(circle at 50% 36%,
    #8E8CB8 0%, #8E8CB8 40%, #201D1E 100%);
  border-color:rgba(216,199,160,.6);
  box-shadow:0 18px 42px rgba(24,21,22,.34), inset 0 1px 0 rgba(255,255,255,.16)}
.signans > *{position:relative;z-index:1}
.signans .sa1{color:#F0C9C4}
.signans .sa2,.signans .sa2 .ln{color:#F8F3EC}
.signans .sa3{color:#F3EBDC;border-top-color:rgba(216,199,160,.45)}

/* v294 まとめ枠の外形を、首から胴体までの女性の体の線にする */
.clbody{inset:-46px -14px -34px;
  clip-path:polygon(
    44% 0%, 43% 4%, 41% 8%, 34% 10%, 26% 13%, 18% 17%, 12% 22%, 9% 28%,
    7.5% 34%, 8% 40%, 10% 46%, 13% 51%, 16% 56%, 18.5% 61%,
    17% 65%, 13% 70%, 10.5% 76%, 10% 82%, 12% 88%, 17% 94%, 26% 99%, 38% 100%,
    62% 100%, 74% 99%, 83% 94%, 88% 88%, 90% 82%, 89.5% 76%, 87% 70%, 83% 65%,
    81.5% 61%, 84% 56%, 87% 51%, 90% 46%, 92% 40%, 92.5% 34%, 91% 28%,
    88% 22%, 82% 17%, 74% 13%, 66% 10%, 59% 8%, 57% 4%, 56% 0%)}

/* v295 体の線が見えるように、外形に金の輪郭をつける */
.clbody{background:linear-gradient(158deg,#D8C7A0,#C9B9D8 48%,#E8B9B2);
  box-shadow:none;overflow:visible}
.clbody::after{content:"";position:absolute;inset:2px;
  background:linear-gradient(158deg,#FDF8F1,#F7F0F8 48%,#FDF3EF);
  clip-path:inherit}
.closingline{filter:drop-shadow(0 14px 30px rgba(102,80,120,.16))}

/* v296 まとめ枠の外形に首を出す */
.clbody{inset:-96px -14px -34px;
  clip-path:polygon(
    44% 0%, 43.5% 6%, 43% 12%, 42% 16%,
    36% 19%, 28% 22%, 20% 26%, 14% 31%, 10% 37%,
    8% 43%, 8% 49%, 10% 55%, 13% 60%, 16% 65%, 18.5% 70%,
    17% 74%, 13% 79%, 10.5% 84%, 10% 89%, 12% 93%, 17% 97%, 26% 99.5%, 38% 100%,
    62% 100%, 74% 99.5%, 83% 97%, 88% 93%, 90% 89%, 89.5% 84%, 87% 79%, 83% 74%,
    81.5% 70%, 84% 65%, 87% 60%, 90% 55%, 92% 49%, 92% 43%,
    90% 37%, 86% 31%, 80% 26%, 72% 22%, 64% 19%,
    58% 16%, 57% 12%, 56.5% 6%, 56% 0%)}

/* v297 首が切れないように、まとめ枠のはみ出しを許可する */
.closingline{overflow:visible}

/* v298 首の分だけ、まとめ枠の上に余白を取る */
.closingline{margin-top:clamp(120px,16vw,170px)}
.clbody{inset:-88px -14px -34px}

/* v299 取得資格：行頭に「／」が来ないよう、区切りを語尾に置く */
.record.qual .rec+.rec .rc::before{content:none}
.record.qual .rec:not(:last-child) .rc::after{content:"／";margin-left:8px;color:#CFC3BB}

/* v300 メディア掲載・出演をシンプルな左寄せにする */
.medialist{justify-content:flex-start;gap:4px 8px;max-width:780px;margin-left:auto;margin-right:auto}
.medialist span{padding:0;border:0;background:none;border-radius:0;
  font-size:12.5px;line-height:1.95;color:#9A8C86;letter-spacing:.02em;box-shadow:none}
.medialist span:not(:last-child)::after{content:"／";margin-left:8px;color:#CFC3BB}
#sec-nanaluna .bahead,#sec-nanaluna .recnote{text-align:left}

/* v301 取得資格・登壇・メディアの見出しも左寄せに揃える */
#sec-nanaluna .bahead,#page-about .qualbox .qual-h{
  text-align:left;width:auto;max-width:100%;margin-left:0;margin-right:auto}
#sec-nanaluna .bahead::after{left:0;transform:none}

/* v302 アスリートの実績文の行間を詰める */
.ath-txt p{line-height:1.7;margin-bottom:8px}
.ath-h{line-height:1.6}

/* v303 メディア下のお客様の声の行間を詰める */
.mquote2 blockquote p{line-height:1.75;margin-bottom:.75em}
.mquote2 blockquote p:last-of-type{margin-bottom:.9em}

/* v304 メディア一覧：行間1.5、区切りのスラッシュをなくす */
.medialist{gap:2px 20px}
.medialist span{line-height:1.5}
.medialist span:not(:last-child)::after{content:none}

/* v305 取得資格：行間1.5、区切りのスラッシュをなくす */
.record.qual{gap:2px 20px}
.record.qual .rc{line-height:1.5}
.record.qual .rec:not(:last-child) .rc::after{content:none}

/* v306 Nanalunaの区画の行間を1.7に揃える */
#sec-nanaluna .profile .stack p,
#sec-nanaluna .profile .titles,
#sec-nanaluna .profile .bio-line,
#sec-nanaluna .storyswitch p,
#sec-nanaluna .recnote,
#sec-nanaluna .mquote2 blockquote p{line-height:1.7}

/* v307 アスリートの実績文の行間を1.6に */
.ath-txt p{line-height:1.6}

/* v308 体のラインを作り直す（トルソー型：首・肩の直線・深いくびれ・腰の張り） */
.clbody{inset:-78px -10px -30px;
  clip-path:polygon(
    45% 0%, 44.6% 4%, 44% 8%,
    38% 10.5%, 30% 13%, 22% 15.5%, 15% 18.5%,
    12% 23%, 10.5% 28%, 10.5% 33%, 12% 38%,
    14.5% 43%, 17.5% 48%, 20.5% 53%, 22% 58%,
    21% 62%, 18% 67%, 14.5% 72%, 12% 78%, 11% 84%,
    12% 89%, 15% 94%, 20% 98%, 27% 100%,
    73% 100%, 80% 98%, 85% 94%, 88% 89%, 89% 84%,
    88% 78%, 85.5% 72%, 82% 67%, 79% 62%,
    78% 58%, 79.5% 53%, 82.5% 48%, 85.5% 43%,
    88% 38%, 89.5% 33%, 89.5% 28%, 88% 23%,
    85% 18.5%, 78% 15.5%, 70% 13%, 62% 10.5%,
    56% 8%, 55.4% 4%, 55% 0%)}

/* v309 体のラインを滑らかに（首を短く太く、肩の角を丸め、点数を増やす） */
.clbody{inset:-58px -10px -30px;
  clip-path:polygon(
    41% 0%, 40.6% 2.5%, 40.2% 5%, 39.6% 7%,
    37% 8.4%, 33.5% 9.6%, 29.5% 10.9%, 25.5% 12.3%,
    21.5% 13.9%, 18% 15.8%, 15.2% 18%, 13.2% 20.6%,
    11.9% 23.6%, 11.2% 26.8%, 11.1% 30%, 11.6% 33.2%,
    12.7% 36.4%, 14.3% 39.6%, 16.2% 42.8%, 18.2% 46%,
    20% 49.2%, 21.4% 52.4%, 22.2% 55.6%, 22.4% 58.4%,
    21.9% 61%, 20.6% 63.8%, 18.7% 66.8%, 16.6% 70%,
    14.6% 73.4%, 12.9% 77%, 11.7% 80.8%, 11.1% 84.4%,
    11.3% 87.8%, 12.4% 91%, 14.4% 94%, 17.4% 96.6%,
    21.5% 98.6%, 26.5% 99.8%, 32% 100%,
    68% 100%, 73.5% 99.8%, 78.5% 98.6%, 82.6% 96.6%,
    85.6% 94%, 87.6% 91%, 88.7% 87.8%, 88.9% 84.4%,
    88.3% 80.8%, 87.1% 77%, 85.4% 73.4%, 83.4% 70%,
    81.3% 66.8%, 79.4% 63.8%, 78.1% 61%, 77.6% 58.4%,
    77.8% 55.6%, 78.6% 52.4%, 80% 49.2%, 81.8% 46%,
    83.8% 42.8%, 85.7% 39.6%, 87.3% 36.4%, 88.4% 33.2%,
    88.9% 30%, 88.8% 26.8%, 88.1% 23.6%, 86.8% 20.6%,
    84.8% 18%, 82% 15.8%, 78.5% 13.9%, 74.5% 12.3%,
    70.5% 10.9%, 66.5% 9.6%, 63% 8.4%,
    60.4% 7%, 59.8% 5%, 59.4% 2.5%, 59% 0%)}
.closingline{margin-top:clamp(92px,12vw,130px)}

/* v310 七彩で受けられること：4つとも金の額縁に */
.am{position:relative;border:0;border-radius:6px;
  padding:clamp(28px,3vw,34px) clamp(26px,2.8vw,32px) clamp(46px,4vw,52px);
  background:linear-gradient(140deg,
    #F4E9C9 0%, #DCCCA4 20%, #C0A972 46%, #E2D2AB 62%, #BFA871 82%, #F0E4C4 100%);
  box-shadow:0 14px 30px rgba(102,80,120,.18),
    inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(120,96,48,.35)}
.am::before{content:"";position:absolute;inset:9px;border-radius:2px;z-index:0;
  background:var(--bg2);
  box-shadow:inset 0 0 0 1px rgba(191,168,113,.5),
    0 1px 4px rgba(96,74,36,.28), 0 0 0 1px rgba(255,255,255,.55)}
.am > b,.am > span,.am > em{position:relative;z-index:1}
.am::after{z-index:2;right:22px;bottom:20px}
.am-chou::before{background:linear-gradient(180deg,#FFFDFC,#FBF5EE)}
.am-yuikon::before{background:linear-gradient(180deg,#FFFDFC,#F7F3FA)}
.am-ryujin::before{background:linear-gradient(180deg,#FFFDFC,#F2F7F9)}
.am-shinso::before{background:linear-gradient(180deg,#FFFDFC,#FBF7EC)}
.am-chou,.am-yuikon,.am-ryujin,.am-shinso{border-left-width:0}
@media (hover:hover){.am:hover{transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(102,80,120,.22),
    inset 0 1px 0 rgba(255,255,255,.8), inset 0 -1px 0 rgba(120,96,48,.4)}}
@media (max-width:760px){
  .am{padding:24px 22px 42px}
  .am::before{inset:8px}
  .am::after{right:18px;bottom:16px}
}

/* v311 額縁に装飾を足し、メニュー名と時間を横並び・1.5倍に */
.am{
  background-image:
    radial-gradient(circle at 15px 15px, rgba(255,253,244,.95) 0 2.2px, rgba(255,253,244,0) 3px),
    radial-gradient(circle at calc(100% - 15px) 15px, rgba(255,253,244,.95) 0 2.2px, rgba(255,253,244,0) 3px),
    radial-gradient(circle at 15px calc(100% - 15px), rgba(255,253,244,.95) 0 2.2px, rgba(255,253,244,0) 3px),
    radial-gradient(circle at calc(100% - 15px) calc(100% - 15px), rgba(255,253,244,.95) 0 2.2px, rgba(255,253,244,0) 3px),
    linear-gradient(140deg,
      #F4E9C9 0%, #DCCCA4 20%, #C0A972 46%, #E2D2AB 62%, #BFA871 82%, #F0E4C4 100%)}
.am::before{inset:11px;
  box-shadow:
    0 0 0 1px rgba(255,253,244,.85),
    0 0 0 3px rgba(191,168,113,.75),
    0 0 0 4px rgba(255,253,244,.6),
    inset 0 0 0 1px rgba(191,168,113,.45),
    0 2px 5px rgba(96,74,36,.26)}
.am{flex-flow:row wrap;align-content:flex-start;
  align-items:baseline;column-gap:.55em;row-gap:0}
.am > b{flex:0 1 auto;min-height:0;display:inline;
  font-size:clamp(20px,5.4vw,30px);line-height:1.5}
.am > span{flex:0 0 auto;margin-top:0;
  font-size:clamp(14px,3.6vw,19.5px);letter-spacing:.1em}
.am > em{flex:1 0 100%;margin-top:10px}
@media (max-width:760px){
  .am{padding:26px 22px 42px}
  .am::before{inset:10px}
  .am > b{font-size:clamp(19px,5.2vw,24px)}
}

/* v312 結魂は名前が長いので、スマホでは時間が同じ行に収まる大きさにする */
.am > b{letter-spacing:-.01em}
@media (max-width:760px){
  .am-yuikon > b{font-size:19.5px}
  .am-yuikon > span{font-size:13.5px}
}

/* v313 ホームの4つのメニューも金の額縁に */
#menu .card{position:relative;border:0;border-radius:6px;overflow:visible;
  padding:11px;background-clip:padding-box;
  background-image:
    radial-gradient(circle at 15px 15px, rgba(255,253,244,.95) 0 2.2px, rgba(255,253,244,0) 3px),
    radial-gradient(circle at calc(100% - 15px) 15px, rgba(255,253,244,.95) 0 2.2px, rgba(255,253,244,0) 3px),
    radial-gradient(circle at 15px calc(100% - 15px), rgba(255,253,244,.95) 0 2.2px, rgba(255,253,244,0) 3px),
    radial-gradient(circle at calc(100% - 15px) calc(100% - 15px), rgba(255,253,244,.95) 0 2.2px, rgba(255,253,244,0) 3px),
    linear-gradient(140deg,
      #F4E9C9 0%, #DCCCA4 20%, #C0A972 46%, #E2D2AB 62%, #BFA871 82%, #F0E4C4 100%);
  box-shadow:0 14px 30px rgba(102,80,120,.18),
    inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(120,96,48,.35)}
#menu .card::before{content:"";position:absolute;inset:11px;border-radius:2px;z-index:0;
  pointer-events:none;
  box-shadow:
    0 0 0 1px rgba(255,253,244,.85),
    0 0 0 3px rgba(191,168,113,.75),
    0 0 0 4px rgba(255,253,244,.6),
    inset 0 0 0 1px rgba(191,168,113,.45)}
#menu .card .img{position:relative;z-index:1;border-radius:2px 2px 0 0;overflow:hidden}
#menu .card .body{position:relative;z-index:1;background:var(--bg2);
  border-radius:0 0 2px 2px;padding:20px 18px}
@media (hover:hover){#menu .card:hover{transform:translateY(-5px);
  box-shadow:0 22px 44px rgba(102,80,120,.22),
    inset 0 1px 0 rgba(255,255,255,.8), inset 0 -1px 0 rgba(120,96,48,.4)}}
@media (max-width:860px){
  #menu .card{padding:10px}
  #menu .card::before{inset:10px}
}

/* v314 私の物語：節目に挟む写真 */
.stfig{margin:clamp(26px,3.4vw,38px) auto;max-width:min(620px,94%);
  border-radius:16px;overflow:hidden;box-shadow:0 14px 34px rgba(102,80,120,.15)}
.stfig img{width:100%;height:auto;display:block}

/* v315 まとめ枠を、真ん中から広がる光にする（体の輪郭はやめる） */
.closingline{margin-top:clamp(44px,6vw,72px);overflow:visible;filter:none}
.clbody{inset:-70px -24px -56px;clip-path:none;border-radius:50%;
  box-shadow:none;background:
    radial-gradient(closest-side circle at 50% 46%,
      rgba(255,253,246,1) 0%,
      rgba(250,241,216,.96) 18%,
      rgba(238,222,178,.72) 36%,
      rgba(222,205,166,.40) 54%,
      rgba(206,190,206,.20) 70%,
      rgba(248,243,237,.06) 86%,
      rgba(248,243,237,0) 100%)}
.clbody::after{content:"";position:absolute;inset:0;clip-path:none;
  background:repeating-conic-gradient(from 6deg at 50% 46%,
    rgba(255,250,228,.55) 0deg 1.6deg,
    rgba(255,250,228,0) 1.6deg 9deg);
  -webkit-mask-image:radial-gradient(closest-side circle at 50% 46%,
    rgba(0,0,0,.05) 12%, rgba(0,0,0,.55) 34%, rgba(0,0,0,.30) 62%, rgba(0,0,0,0) 86%);
  mask-image:radial-gradient(closest-side circle at 50% 46%,
    rgba(0,0,0,.05) 12%, rgba(0,0,0,.55) 34%, rgba(0,0,0,.30) 62%, rgba(0,0,0,0) 86%)}
@media (prefers-reduced-motion:no-preference){
  .clbody{animation:clGlow 7.5s ease-in-out infinite}
  .clbody::after{animation:clRay 62s linear infinite}
  @keyframes clGlow{0%,100%{transform:scale(1);opacity:.96}
    50%{transform:scale(1.045);opacity:1}}
  @keyframes clRay{to{transform:rotate(360deg)}}
}

/* v316 光が画面からはみ出さないようにする */
.clbody{inset:-70px -8px -56px}
@media (prefers-reduced-motion:no-preference){
  .clbody{animation:clGlow 7.5s ease-in-out infinite}
  @keyframes clGlow{0%,100%{opacity:.94}50%{opacity:1}}
}

/* v317 回る光の筋が枠の外へ出ないようにする */
.clbody{overflow:hidden}

/* v318 アスリートの区画：画面幅に合わせて写真と文章を可変にし、余白を詰める */
.athlete{padding:clamp(14px,3.2vw,26px) clamp(13px,3vw,24px);
  margin-top:clamp(14px,2.2vw,24px)}
.ath-h{margin-bottom:clamp(8px,1.4vw,12px);
  font-size:clamp(15px,3.9vw,20px)}
.ath-body{gap:clamp(10px,2.2vw,18px)}
.ath-txt p{margin-bottom:clamp(5px,1vw,8px);
  font-size:clamp(12.5px,3.4vw,15px)}
.ath-pics{gap:clamp(7px,1.4vw,10px)}
.ath-pics img{aspect-ratio:16/10;object-fit:cover;object-position:center 40%}
@media (max-width:760px){
  .ath-pics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ath-pics img{aspect-ratio:4/3}
}
@media (max-width:420px){
  .ath-txt p br{display:none}
}

/* v319 プロフィール欄の行間をさらに1px詰める */
#sec-nanaluna .profile .stack p,
#sec-nanaluna .profile .titles,
#sec-nanaluna .profile .bio-line{line-height:calc(1.7em - 1px)}

/* v320 魂ヒーラーの「魂」にふりがな */
.role-main ruby rt{font-size:.34em;letter-spacing:.06em;color:var(--capink);
  font-weight:600;font-family:var(--sans);transform:translateY(2px)}
.role-main{line-height:1.9}

/* v321 「まぶい」の説明の一行を少しだけ立てる */
#sec-nanaluna .profile .mabui-def{font-family:var(--serif);font-weight:600;color:var(--head);
  font-size:calc(1em + 1px)}

/* v322 プロフィール欄の行間をさらに狭く */
#sec-nanaluna .profile .stack p,
#sec-nanaluna .profile .titles,
#sec-nanaluna .profile .bio-line{line-height:1.5}
#sec-nanaluna .profile .stack p{margin-top:clamp(12px,2vw,16px)}

/* v323 プロフィール欄の文字を1px小さく、行間をさらに狭く */
#sec-nanaluna .profile .stack p,
#sec-nanaluna .profile .bio-line{font-size:calc(1em - 1px);line-height:1.45}
#sec-nanaluna .profile .titles{line-height:1.45}
#sec-nanaluna .profile .stack p{margin-top:clamp(11px,1.8vw,15px)}

/* v324 「沖縄の言葉で『まぶい』とは、魂のこと。」を色違い・1px大きく・太字に */
#sec-nanaluna .profile .stack p.mabui-def{
  font-size:calc(1em + 1px);font-weight:700;color:var(--coral);
  letter-spacing:.03em;line-height:1.7;
  margin-top:clamp(16px,2.6vw,22px)}

/* v325 七彩で受けられること：額縁の中にメニュー画像を入れる */
.am > .amfig{flex:1 0 100%;position:relative;z-index:1;margin:0 0 12px;
  border-radius:2px;overflow:hidden;order:-1}
.am > .amfig img{width:100%;height:auto;display:block;aspect-ratio:16/10;
  object-fit:cover}
.am-chou > .amfig img{object-position:58% 62%}
.am-yuikon > .amfig img{object-position:60% 34%}
.am-ryujin > .amfig img{object-position:60% 44%}
.am-shinso > .amfig img{object-position:62% 34%}
@media (max-width:760px){
  .am > .amfig img{aspect-ratio:16/9}
}

/* v326 プロフィール欄の行間をさらに1px縮める */
#sec-nanaluna .profile .stack p,
#sec-nanaluna .profile .bio-line,
#sec-nanaluna .profile .titles{line-height:calc(1.45em - 1px)}

/* v327 「七彩では、まぶいを〜」以降の2段落をさらに2px小さく */
#sec-nanaluna .profile .stack p:nth-last-of-type(-n+2){font-size:calc(1em - 3px)}

/* v328 七彩で受けられること：写真を左に置き、カード全体を約半分の高さに */
.am{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;
  gap:clamp(12px,2vw,18px);
  padding:clamp(18px,2.2vw,24px) clamp(18px,2.2vw,24px) clamp(20px,2.4vw,26px)}
.am > .amfig{flex:0 0 38%;margin:0;align-self:stretch;
  border-radius:2px;overflow:hidden;order:0}
.am > .amfig img{width:100%;height:100%;min-height:100%;display:block;
  aspect-ratio:auto;object-fit:cover}
.ambody{flex:1 1 auto;min-width:0;position:relative;z-index:1;
  display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.5em;row-gap:0}
.ambody > b{flex:0 1 auto;min-height:0;display:inline;
  font-size:clamp(15px,4.2vw,21px);line-height:1.5;letter-spacing:-.01em}
.ambody > span{flex:0 0 auto;margin-top:0;font-size:clamp(11.5px,3vw,14px);letter-spacing:.08em}
.ambody > em{flex:1 0 100%;margin-top:7px;font-size:clamp(12px,3.2vw,14px);line-height:1.8}
.am::before{inset:9px}
.am::after{right:16px;bottom:12px;font-size:13px}
.aboutmenu{gap:clamp(10px,1.6vw,16px)}
@media (max-width:760px){
  .am{padding:16px 16px 22px;gap:12px}
  .am::before{inset:8px}
  .am-yuikon .ambody > b{font-size:clamp(14px,3.9vw,18px)}
  .am-yuikon .ambody > span{font-size:11.5px}
}

/* v329 4枚の額縁と写真を完全に同じ大きさに揃える */
.aboutmenu{grid-auto-rows:1fr}
.am{height:100%}
.am > .amfig{flex:0 0 38%;align-self:stretch}
.am > .amfig img{height:100%;object-fit:cover}
@media (max-width:760px){
  .am{min-height:140px}
  .am-yuikon .ambody > b{font-size:13.5px;line-height:1.45}
  .am-yuikon .ambody > span{font-size:11px}
}


/* v331 七彩について：見出しが長くなった分を調整 */
#page-about .ahero .txt h1{font-size:clamp(23px,5.6vw,40px);line-height:1.65;letter-spacing:.04em}


/* v333 「魂ヒーラー」を元の大きさに戻す（SEO作業の範囲外のため） */

/* v334 「魂ヒーラー」を2倍の大きさに（SEO作業完了後の指示） */
#sec-nanaluna .profile .stack p.role-main{
  font-size:clamp(40px,11vw,60px);line-height:1.55;letter-spacing:.04em}
.role-main ruby rt{font-size:.26em}

/* v335 「ひとつでも当てはまったら」の枠に、真ん中から広がる光を入れる */
.signans::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(closest-side circle at 50% 36%,
    rgba(255,252,240,.55) 0%,
    rgba(246,238,214,.34) 20%,
    rgba(214,206,232,.18) 42%,
    rgba(160,150,190,.08) 64%,
    rgba(32,29,30,0) 86%)}
.signans::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:repeating-conic-gradient(from 6deg at 50% 36%,
    rgba(255,250,228,.30) 0deg 1.6deg,
    rgba(255,250,228,0) 1.6deg 9deg);
  -webkit-mask-image:radial-gradient(closest-side circle at 50% 36%,
    rgba(0,0,0,.08) 10%, rgba(0,0,0,.6) 30%, rgba(0,0,0,.3) 58%, rgba(0,0,0,0) 84%);
  mask-image:radial-gradient(closest-side circle at 50% 36%,
    rgba(0,0,0,.08) 10%, rgba(0,0,0,.6) 30%, rgba(0,0,0,.3) 58%, rgba(0,0,0,0) 84%)}
@media (prefers-reduced-motion:no-preference){
  .signans::before{animation:sgGlow 7.5s ease-in-out infinite}
  .signans::after{animation:sgRay 62s linear infinite}
  @keyframes sgGlow{0%,100%{opacity:.9}50%{opacity:1}}
  @keyframes sgRay{to{transform:rotate(360deg)}}
}

/* v336 国際心相科学鑑定：ページ全体の背景画像 */
#page-shinso{position:relative;isolation:isolate}
#page-shinso::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:url(../img/shin-bg.webp);
  background-size:cover;background-position:center top;background-repeat:no-repeat}
#page-shinso::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(248,243,237,.80) 0%,
    rgba(248,243,237,.86) 38%,
    rgba(255,253,252,.90) 100%)}
#page-shinso > section:not(.band):not(.warn):not(.cta):not(.quote-band){background-color:transparent}
