:root{--paper:#f5f2eb;--ink:#292520;--muted:#756f67;--accent:#75586b;--line:#dcd5cb;--surface:#eae4dc;--serif:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink)}h1,h2,h3,p,figure{margin:0}p{line-height:1.95}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input{font-family:inherit}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.wrap{width:min(1100px,calc(100% - 96px));margin-inline:auto}.reviewbar{padding:9px 24px;min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#e9e4dc;color:#6a6258;font-size:10px;line-height:1.5}.reviewbar>a{text-decoration:underline;text-underline-offset:3px}.reviewbar small{font-size:9px;margin-left:auto;margin-right:20px}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:23px;font-weight:650;letter-spacing:-.8px}.brand img{width:32px;height:32px;border-radius:8px}.site-header nav{display:flex;gap:28px;font-size:11px}.site-header nav a{padding-block:10px}.serif{font-family:var(--serif);font-weight:400}.hero-title{font-family:var(--serif);font-weight:400;font-size:76px;line-height:1.15;letter-spacing:-.04em}.subtitle{font-size:15px;letter-spacing:.055em;color:var(--accent);margin-top:15px}.description{font-size:13px;line-height:2.05;max-width:31em;margin-top:24px;color:#5d5750;text-wrap:pretty}.primary{display:inline-flex;gap:38px;align-items:center;background:var(--accent);color:#fff;padding:15px 23px;font-size:11px;line-height:1.5;border-radius:3px;margin-top:26px;transition:background .2s}.primary:hover{background:#5c4052}.text-link{display:inline-flex;gap:24px;color:var(--accent);padding-block:9px;border-bottom:1px solid #b49aa8;font-size:12px}.device-note,.screen-note{font-size:10px;color:var(--muted);line-height:1.8}.device-note{margin-top:18px}.phone{width:230px;padding:5px;background:#242222;border:1px solid #48433e;border-radius:35px;overflow:hidden;box-shadow:12px 20px 28px -19px #41323680}.phone img{width:100%;height:auto;border-radius:29px}.screen-note{margin-top:19px}.section-title{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.6;letter-spacing:.015em}.how-section{padding-block:48px 64px;border-top:1px solid var(--line)}.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:28px}.how-step{border-top:1px solid var(--line);padding-top:19px}.how-step .step-icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;border:1px solid #baa5b2;color:var(--accent);font-size:18px;margin-bottom:15px}.how-step h3{font-family:var(--serif);font-size:20px;line-height:1.7;font-weight:400}.how-step p{font-size:12px;color:#6c645a;line-height:2;margin-top:12px}.how-step small{font-size:10px;display:block;color:var(--muted);line-height:1.8;margin-top:12px}.feature-section{background:#eae4dc}.feature-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:84px;padding-block:54px}.feature-photo{max-width:440px;background:#faf7f1;padding:22px 22px 15px;border:1px solid #e1d9cf}.feature-crop{aspect-ratio:1.4;overflow:hidden;border-radius:3px;background:#292335}.feature-crop img{width:100%;height:100%;object-fit:cover}.feature-photo figcaption{font-size:9px;line-height:1.8;color:var(--muted);margin-top:12px}.feature-copy p{font-size:13px;color:#696055;line-height:2.1;margin-top:19px;max-width:30em}.feature-copy .text-link{margin-top:23px}.faq-section{display:grid;grid-template-columns:1fr 1.65fr;gap:56px;padding-block:70px}.faq-list{min-width:0}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;position:relative;padding:21px 31px 21px 0;font-size:12px;line-height:1.85}summary::-webkit-details-marker{display:none}summary::after{content:'＋';position:absolute;right:1px;color:var(--accent)}details[open] summary::after{content:'−'}.faq-list details p{font-size:12px;line-height:2;color:#6c645a;padding:0 22px 23px 0}.contact-section{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:36px 45px;border-top:1px solid var(--line)}.contact-section>div:last-child{width:45%}.contact-section p{font-size:12px;color:var(--muted)}.contact-section .text-link{font-size:19px;margin-top:5px;overflow-wrap:anywhere}.site-footer{display:flex;gap:26px;align-items:center;padding-block:28px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.site-footer>a:first-child{font-size:20px;font-weight:600;color:var(--ink);margin-right:auto}.site-footer small{font-size:9px}.skip{position:absolute;left:15px;top:-100px;z-index:10;background:var(--ink);color:#fff;padding:12px;font-size:12px}.skip:focus{top:5px}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.feature-inner{gap:45px}.hero-title{font-size:64px}.how-grid{gap:28px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.reviewbar{padding:9px 16px;font-size:9px;gap:12px}.reviewbar small{display:none}.site-header{height:80px}.brand{font-size:21px}.brand img{width:29px;height:29px}.site-header nav{gap:18px;font-size:10px}.site-header nav a:last-child{display:none}.hero-title{font-size:58px}.subtitle{font-size:14px;margin-top:12px}.description{font-size:12px;line-height:2;margin-top:18px}.primary{font-size:11px;margin-top:23px;padding:14px 20px}.phone{width:205px;border-radius:31px}.phone img{border-radius:25px}.device-note,.screen-note{font-size:9px}.section-title{font-size:26px}.how-section{padding-block:33px 40px}.how-grid{grid-template-columns:1fr;gap:25px;margin-top:22px}.how-step{display:grid;grid-template-columns:29px 1fr;column-gap:15px;padding-top:19px}.how-step .step-icon{grid-column:1;grid-row:1;margin:0;align-self:center}.how-step h3{grid-column:2;grid-row:1;font-size:19px}.how-step p,.how-step small{grid-column:2;margin-top:10px}.how-step p{font-size:12px}.feature-inner{grid-template-columns:1fr;gap:28px;padding-block:38px}.feature-copy{grid-row:1}.feature-copy p{font-size:12px;margin-top:13px}.feature-copy .text-link{margin-top:16px}.feature-photo{justify-self:center;width:100%;padding:19px 19px 13px}.faq-section{grid-template-columns:1fr;gap:23px;padding-block:44px}.faq-list details p{font-size:11px}.contact-section{display:block;padding-block:31px 33px}.contact-section>div:last-child{width:100%;margin-top:19px}.contact-section p{font-size:11px}.contact-section .text-link{font-size:18px}.site-footer{flex-wrap:wrap;gap:18px;padding-block:23px}.site-footer>a:first-child{font-size:19px}.site-footer small{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:60px;align-items:center;padding:15px 0 46px}.hero-copy{padding-bottom:10px}.hero-screen{position:relative;isolation:isolate;display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:535px}.hero-screen .phone{width:226px;transform:rotate(3deg)}.screen-disc{position:absolute;left:50%;top:66px;transform:translateX(-50%);width:360px;max-width:103%;aspect-ratio:1;background:#e9e2da;border-radius:50%;z-index:-1}.screen-note{align-self:flex-end;font-size:9px;display:flex;align-items:center;gap:13px;margin-top:28px;margin-right:34px}.screen-note:before{content:'';width:28px;height:1px;background:#a8879d}.v01 .feature-photo{transform:none}@media(max-width:1000px){.hero{gap:30px}.hero-screen{min-height:500px}.hero-screen .phone{width:211px}.screen-disc{width:310px}.screen-note{margin-right:4px}}@media(max-width:700px){.hero{grid-template-columns:1fr;gap:26px;padding-top:23px;padding-bottom:34px}.hero-copy{padding:0}.hero-screen{min-height:464px;max-width:380px;width:100%;justify-self:center}.hero-screen .phone{width:194px}.screen-disc{width:300px;top:46px}.screen-note{margin-right:7px;margin-top:25px}.description br{display:none}.v01 .feature-photo{transform:none}}


/* 配置を動かさず、書体の比較と本文の読みやすさに集中する。 */
:root {
  --latin-display: Georgia, "Times New Roman", serif;
  --heading-font: "Hiragino Mincho ProN", "Yu Mincho", serif;
  --copy-font: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif;
  --title-size: 82px;
  --title-mobile: 62px;
  --title-weight: 400;
  --title-tracking: -.04em;
  --head-weight: 400;
  --body-size: 15px;
  --body-line: 2;
  --copy-spacing: .02em;
  --body-weight: 400;
  --section-size: 30px;
  font-family: var(--copy-font);
}
body {font-family:var(--copy-font);font-weight:var(--body-weight)}
.hero-title {font-family:var(--latin-display);font-size:var(--title-size);font-weight:var(--title-weight);letter-spacing:var(--title-tracking);line-height:1.12}
.brand,.site-footer>a:first-child {font-family:var(--latin-display);font-weight:var(--title-weight);letter-spacing:var(--title-tracking)}
.brand {font-size:26px}
.subtitle {font-family:var(--heading-font);font-size:18px;font-weight:var(--head-weight);line-height:1.8;letter-spacing:.04em;margin-top:17px}
.description {font-family:var(--copy-font);font-size:var(--body-size);font-weight:var(--body-weight);line-height:var(--body-line);letter-spacing:var(--copy-spacing);max-width:32em;margin-top:23px}
.site-header nav {font-size:12px}
.primary {font-size:13px;white-space:nowrap;margin-top:26px;gap:36px}
.device-note {font-size:11px;line-height:1.9;margin-top:19px}
.screen-note {font-size:10px}
.section-title {font-family:var(--heading-font);font-weight:var(--head-weight);font-size:var(--section-size);letter-spacing:.025em}
.how-step h3 {font-family:var(--heading-font);font-weight:var(--head-weight);font-size:22px;letter-spacing:.02em}
.how-step p,.feature-copy p,.faq-list details p {font-family:var(--copy-font);font-size:calc(var(--body-size) - 1px);font-weight:var(--body-weight);line-height:var(--body-line);letter-spacing:var(--copy-spacing)}
.how-step small {font-size:11px;line-height:1.9}
.feature-copy p {margin-top:20px}
.text-link {font-size:13px}
.faq-list summary {font-size:14px;line-height:1.9;letter-spacing:var(--copy-spacing)}
.contact-section p {font-size:14px;line-height:var(--body-line)}
.site-footer {font-size:11px}
@media (max-width:1000px) and (min-width:701px) {
  .hero-title {font-size:calc(var(--title-size) * .82)}
  .description br {display:none}
  .subtitle {font-size:17px}
}
@media (max-width:700px) {
  .hero-title {font-size:var(--title-mobile)}
  .brand {font-size:24px}
  .site-header nav {font-size:11px;gap:16px}
  .subtitle {font-size:17px;margin-top:14px}
  .description {font-size:14px;line-height:var(--body-line);margin-top:21px;max-width:33em}
  .primary {font-size:13px;margin-top:23px}
  .device-note {font-size:10px}
  .section-title {font-size:27px}
  .how-step h3 {font-size:20px}
  .how-step p,.feature-copy p,.faq-list details p {font-size:14px;line-height:var(--body-line)}
  .how-step small {font-size:11px}
  .contact-section p {font-size:13px}
  .contact-section .text-link {font-size:18px}
  .site-footer {font-size:10px}
}
@media(max-width:360px) {
  .hero-title {font-size:calc(var(--title-mobile) * .88)}
  .site-header nav {font-size:10px;gap:12px}
  .brand {font-size:22px;gap:7px}
  .brand img {width:27px;height:27px}
  .how-grid {gap:28px}
}


/* 配置を保ったまま、細い字形と広めの字間・行間で密度を下げる。 */
:root {
  --latin-display: "Didot", "Bodoni 72", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --heading-font: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  --copy-font: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif;
  --title-size: 88px;
  --title-mobile: 63px;
  --title-weight: 400;
  --title-tracking: -.025em;
  --head-weight: 400;
  --body-size: 14px;
  --body-line: 2.2;
  --copy-spacing: .035em;
  --body-weight: 400;
  --section-size: 29px;
}
.hero-title { line-height: 1.16; }
.brand { font-weight: 400; letter-spacing: .005em; }
.subtitle { font-family: var(--heading-font); font-size: 15px; font-weight: 400; letter-spacing: .11em; line-height: 1.9; }
.description { line-height: 2.2; }
.section-title { letter-spacing: .065em; line-height: 1.8; }
.how-step h3 { font-size: 21px; font-weight: 400; letter-spacing: .045em; line-height: 1.8; }
.site-header nav { font-weight: 400; letter-spacing: .065em; }
.primary, .text-link { font-weight: 400; letter-spacing: .055em; }
.faq-list summary { font-weight: 400; letter-spacing: .035em; line-height: 2; }
.device-note, .screen-note, .feature-photo figcaption { letter-spacing: .055em; }
.site-footer > a:first-child { font-weight: 400; letter-spacing: .005em; }
@media (max-width: 700px) {
  .subtitle { font-size: 14px; letter-spacing: .09em; }
  .section-title { font-size: 27px; line-height: 1.7; }
  .how-step h3 { font-size: 20px; letter-spacing: .035em; }
  .site-header nav { letter-spacing: .035em; }
}
@media (max-width: 360px) {
  .hero-title { font-size: 60px; letter-spacing: -.025em; }
  .section-title { font-size: 25px; letter-spacing: .045em; }
}

/* 採用した文字と実画面の大きさを保ち、上下の空きを詰める。 */
.site-header { height:76px; }
.hero { padding-top:0; padding-bottom:24px; }
.hero-copy { padding-bottom:0; }
.hero-screen { min-height:0; }
.subtitle { margin-top:12px; }
.description { margin-top:16px; }
.primary { margin-top:20px; }
.device-note { margin-top:12px; }
.screen-note { margin-top:18px; }
.how-section { padding-block:32px 40px; }
.how-grid { margin-top:20px; }
.feature-inner { padding-block:36px; }
.feature-copy p { margin-top:14px; }
.feature-copy .text-link { margin-top:16px; }
.faq-section { padding-block:44px; }
.faq-list summary { padding-block:16px; }
.faq-list details p { padding-bottom:16px; }
.contact-section { padding-block:26px 32px; }
.site-footer { padding-block:20px; }
@media(max-width:700px) {
  .site-header { height:64px; }
  .hero { padding-top:12px; padding-bottom:22px; row-gap:18px; }
  .subtitle { margin-top:10px; }
  .description { margin-top:14px; }
  .primary { margin-top:18px; }
  .how-section { padding-block:24px 28px; }
  .how-grid { margin-top:16px; row-gap:18px; }
  .feature-inner { padding-block:28px; row-gap:20px; }
  .faq-section { padding-block:30px; row-gap:16px; }
  .contact-section { padding-block:24px 26px; }
  .contact-section>div:last-child { margin-top:12px; }
  .site-footer { padding-block:18px; }
}

/* レイアウトを伸ばさず、スクロールと操作にだけ反応させる。 */
html { scroll-padding-top:96px; }
.header-shell {
  position:sticky;
  top:0;
  z-index:20;
  background:rgb(245 242 235 / 94%);
  transition:box-shadow .3s ease, background .3s ease;
}
.has-scrolled .header-shell {
  background:rgb(245 242 235 / 96%);
  box-shadow:0 1px 0 rgb(117 88 107 / 14%);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.reading-progress { position:fixed; inset:0 0 auto; height:2px; z-index:30; pointer-events:none; }
.reading-progress span { display:block; height:100%; background:var(--accent); transform:scaleX(0); transform-origin:left; opacity:.65; }
.skip { z-index:40; }
.site-header nav a { position:relative; }
.site-header nav a::after {
  content:'';
  position:absolute;
  bottom:4px;
  left:0;
  width:100%;
  height:1px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s ease;
}
.site-header nav a[aria-current="location"] { color:var(--accent); }
.site-header nav a[aria-current="location"]::after,
.site-header nav a:focus-visible::after { transform:scaleX(1); }
.hero-screen .phone { translate:0 var(--scroll-lift, 0px); }
.screen-disc { translate:0 calc(var(--scroll-lift, 0px) * -.65); }
.motion-ready .reveal-waiting { opacity:0; translate:0 16px; }
.primary { transition:background .25s ease, transform .3s ease, box-shadow .3s ease; }
.primary span,.text-link span { display:inline-block; transition:transform .3s ease; }
.how-step .step-icon { transition:background .3s ease, border-color .3s ease; }
.faq-list summary { transition:color .25s ease; }
.faq-list summary::after { content:'＋'; transition:transform .3s ease; }
.faq-list details[open] summary::after { content:'＋'; transform:rotate(45deg); }
.faq-list details[open] summary { color:var(--accent); }

/* 対応するブラウザでは高さも補間し、それ以外では標準の開閉を使う。 */
@supports (interpolate-size:allow-keywords) {
  .faq-list details { interpolate-size:allow-keywords; }
  .faq-list details::details-content {
    block-size:0;
    opacity:0;
    overflow:clip;
    transition:block-size .35s ease, opacity .25s ease, content-visibility .35s allow-discrete;
  }
  .faq-list details[open]::details-content { block-size:auto; opacity:1; }
}
@media (hover:hover) and (pointer:fine) {
  .site-header nav a:hover::after { transform:scaleX(1); }
  .primary:hover { transform:translateY(-2px); box-shadow:0 6px 14px -8px #75586b90; }
  .primary:hover span { transform:translateY(3px); }
  .text-link:hover span { transform:translate(2px, -2px); }
  .how-step:hover .step-icon { background:#e9e0e5; border-color:var(--accent); }
  .faq-list summary:hover { color:var(--accent); }
}
@media (max-width:700px) {
  html { scroll-padding-top:80px; }
  .hero-screen .phone,.screen-disc { translate:none; }
}
.motion-reduced { scroll-behavior:auto; }
.motion-reduced *, .motion-reduced *::before, .motion-reduced *::after,
.motion-reduced details::details-content { animation:none!important; transition:none!important; }
.motion-reduced .reveal-waiting { opacity:1; translate:none; }
.motion-reduced .primary:hover,.motion-reduced .primary:hover span,.motion-reduced .text-link:hover span { transform:none; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after,details::details-content { animation:none!important; transition:none!important; }
  .motion-ready .reveal-waiting { opacity:1; translate:none; }
  .hero-screen .phone,.screen-disc { translate:none; }
  .primary:hover,.primary:hover span,.text-link:hover span { transform:none; }
}
@media print {
  .header-shell { position:static; }
  .reading-progress { display:none; }
  .motion-ready .reveal-waiting { opacity:1; translate:none; }
  .hero-screen .phone,.screen-disc { translate:none; }
}

/* 機能の制限や実画面の注記も、本文から視線を移して読める大きさにする。 */
:root { --muted:#6a645c; }
.device-note,.screen-note,.how-step small,.feature-photo figcaption { font-size:12px; }
.site-footer { font-size:12px; }
.site-footer small { font-size:11px; }


/* =====================================================================
   夜版のうわがき。2026-09-23。
   配置・書体・文字サイズ・本文は採用案(アイボリー)のまま。
   地を黒へ落とし、紫の光をひと筋だけ置く。色だけの差分にしてある。
   元の style.css の行は消していないので、この節を外せば採用案に戻る。
   ===================================================================== */
:root{
  color-scheme:dark;
  --paper:#0B0A0F;      /* ほぼ黒。わずかに紫へ寄せた中間色 */
  --ink:#F2EEF8;
  --muted:#968EA6;
  --accent:#BC9FF2;     /* アプリのリード色。地の続きとして使う */
  --line:#2A2336;
  --surface:#141018;
}
/* 地は html が持ち、body は透かす。そうしないと下の光が body の背景に隠れる */
body{background:transparent;color:var(--ink)}
/* 光はページの上に1つだけ。固定して、スクロールしても位置が動かない */
body::before{
  content:"";position:fixed;left:50%;top:-360px;transform:translateX(-50%);
  width:min(1500px,168vw);height:900px;pointer-events:none;z-index:-1;
  background:radial-gradient(48% 50% at 50% 50%,
    rgba(150,104,232,.34) 0%,rgba(112,72,182,.15) 44%,rgba(11,10,15,0) 74%);
}
/* 本文の地。透けると光が文字の下で暴れる */
.feature-section{background:#110E17}
.how-section,.contact-section,.site-footer{border-top-color:var(--line)}

/* ヘッダーとナビ */
.header-shell{background:rgba(11,10,15,.72)}
.site-header nav a{color:#BDB5CB}
.site-header nav a:hover{color:var(--ink)}
.reading-progress span{background:var(--accent)}

/* ヒーロー */
.description{color:#B3AAC4}
.device-note,.screen-note,.site-footer,.contact-section p{color:var(--muted)}
.screen-note:before{background:#7A6A99}
/* 実画面の後ろの円。アイボリーでは紙の丸、夜では光の玉になる */
.screen-disc{
  background:radial-gradient(50% 50% at 50% 50%,
    rgba(188,159,242,.24) 0%,rgba(124,92,196,.10) 52%,rgba(11,10,15,0) 76%);
}
.phone{background:#1A1720;border-color:#332C42;box-shadow:0 26px 54px -26px rgba(122,74,198,.75)}

/* 使い方 */
.how-step{border-top-color:var(--line)}
.how-step .step-icon{border-color:#5B4B7C;color:var(--accent)}
.how-step p{color:#B3AAC4}
.how-step small{color:var(--muted)}

/* 区間の保存 */
.feature-photo{background:#171320;border-color:#2C2538}
.feature-crop{background:#1B1526}
.feature-photo figcaption{color:var(--muted)}
.feature-copy p{color:#B3AAC4}

/* よくある質問 */
.faq-list details,.faq-list details:first-child{border-color:var(--line)}
.faq-list details p{color:#B3AAC4}
summary::after{color:var(--accent)}

/* リンクとボタン */
.text-link{color:var(--accent);border-bottom-color:#5B4B7C}
.primary{background:var(--accent);color:#17101F}
.primary:hover{background:#D0BAFA}
.site-footer>a:first-child{color:var(--ink)}
.skip{background:var(--accent);color:#17101F}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--accent)}



.has-scrolled .header-shell{background:rgba(11,10,15,.88);box-shadow:0 1px 0 rgba(188,159,242,.16)}
.site-header nav a[aria-current="location"]{color:var(--accent)}
@media (hover:hover) and (pointer:fine){
  .how-step:hover .step-icon{background:rgba(188,159,242,.12);border-color:var(--accent)}
  .primary:hover{box-shadow:0 6px 18px -8px rgba(188,159,242,.6)}
}
.faq-list details[open] summary{color:var(--accent)}

/* ヒーローの「実際のアプリ画面」の注記を外した(2026-09-23)。
   注記ぶんの高さが消えて端末だけが下に寄るので、枠の最低高さを詰める。 */
.hero-screen{min-height:470px}
@media(max-width:1000px){.hero-screen{min-height:440px}}
@media(max-width:700px){.hero-screen{min-height:410px}}

/* 言語の切り替え(2026-09-25)。ナビの最後に置き、本文のリンクと見分けがつく形にする */
.site-header nav a.lang{border:1px solid rgba(197,180,236,.3);border-radius:999px;
  padding:5px 13px;color:#BDB5CB;letter-spacing:.04em}
.site-header nav a.lang::after{display:none}
.site-header nav a.lang:hover{border-color:var(--accent);color:var(--ink)}
@media(max-width:700px){
  /* 幅が足りないので、狭い画面では「お問い合わせ」ではなく本文側で補う */
  .site-header nav a.lang{padding:4px 10px;font-size:10px}
}
@media(max-width:700px){
  /* 既存の規則は「ナビの最後」を隠していた。最後が言語の切り替えに変わったので、
     隠す対象を「お問い合わせ」だと名指しし直す(本文の最後に同じ節がある)。 */
  .site-header nav a:last-child{display:inline-flex}
  .site-header nav a[href="#contact"]{display:none}
}

/* 英語のページでは、見出しの書体を「Hamoru」と同じ Georgia に揃える(2026-09-25)。
   和文用の明朝(游明朝・ヒラギノ明朝)の欧文は、英語の見出しには細く不揃いに出る。 */
:root:lang(en){--heading-font:Georgia,"Times New Roman",serif}
