/* v3 共通（2026-10-30 リニューアル）。トップ・製品ページと同じ配色・書体。原本: 原稿/_hp/common/v3.css */
:root{--bg:#fff;--mist:#f2f5f8;--mist2:#e9eef3;--ink:#1f2328;--sub:#5d6670;--mute:#8a929b;--line:#e2e7ec;--gold:#b39456;--gold2:#cdb483;--slate:#5b7188;--dark:#23272c;
--serif:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;--latin:"Cormorant Garamond","Times New Roman",serif;--inter:"Inter","Helvetica Neue",Arial,sans-serif;
--sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic",Meiryo,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-variant-numeric:lining-nums}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15.5px;line-height:1.95;letter-spacing:.04em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,table{margin:0;padding:0}
ul,ol{list-style:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 40px}
.note{font-size:12px;color:var(--mute);line-height:1.8}
.txt-link{text-decoration:underline;text-underline-offset:3px}
/* 見出し：英字(大)+日本語 */
.hd2{margin-bottom:56px}
.hd2 .en{display:block;font-family:var(--latin);font-weight:400;font-size:clamp(46px,6vw,84px);line-height:1;letter-spacing:.02em;color:var(--gold)}
.hd2 .ja{display:block;margin-top:14px;font-family:var(--serif);font-weight:600;font-size:clamp(17px,1.7vw,21px);letter-spacing:.12em;line-height:1.6;color:var(--ink)}
.hd2--c{text-align:center}
.hd2--w .en,.hd2--w .ja{color:#fff}
.lead{font-family:var(--serif);font-weight:600;font-size:clamp(20px,2.2vw,28px);line-height:1.85;letter-spacing:.08em}
.small-cap{display:inline-block;font-family:var(--inter);font-weight:400;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--slate)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 28px;min-width:250px;font-size:14.5px;font-weight:600;letter-spacing:.1em;transition:all .35s var(--ease);white-space:nowrap;border:1px solid var(--ink)}
.btn::after{content:"";width:22px;height:1px;background:currentColor;transition:width .35s var(--ease)}
.btn:hover::after{width:34px}
.btn--dark{background:var(--ink);color:#fff}.btn--dark:hover{background:#000}
.btn--line{background:#fff;color:var(--ink)}.btn--line:hover{background:var(--ink);color:#fff}
.btn--wline{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}.btn--wline:hover{background:#fff;color:var(--ink)}
.tlink{display:inline-flex;align-items:center;gap:12px;font-size:13.5px;font-weight:600;letter-spacing:.1em;border-bottom:1px solid var(--gold);padding-bottom:4px}
.tlink::after{content:"→";font-weight:400;color:var(--gold)}
/* header */
.hd{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hd-in{display:flex;align-items:stretch;justify-content:space-between;height:72px}
.hd-logo{display:flex;align-items:center;padding-left:36px}
.hd-logo img{height:30px;width:auto;filter:brightness(0)}
.hd-nav{display:flex;align-items:stretch}
.hd-nav a.nv{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 17px;font-family:var(--inter);font-size:12.5px;letter-spacing:.14em;font-weight:400;line-height:1.3}
.hd-nav a.nv small{font-family:var(--sans);font-size:9.5px;letter-spacing:.08em;color:var(--mute);margin-top:3px}
.hd-nav a.nv:hover,.hd-nav a.nv.on{color:var(--gold)}
.hd-cta{display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--dark);color:#fff;padding:0 34px;font-family:var(--inter);font-size:13px;letter-spacing:.16em;line-height:1.35;transition:background .3s}
.hd-cta small{font-family:var(--sans);font-size:10px;letter-spacing:.06em;color:#b9bfc5;margin-top:3px}
.hd-cta:hover{background:#000}
/* 下層ページの見出し帯 */
.phero{padding:150px 0 70px;background:linear-gradient(115deg,#f7f9fb 0%,#eef2f6 55%,#e7ecf1 100%);position:relative;overflow:hidden}
.phero .en{display:block;font-family:var(--latin);font-weight:400;font-size:clamp(54px,8vw,110px);line-height:1;letter-spacing:.02em;color:var(--gold)}
.phero h1{margin-top:16px;font-family:var(--serif);font-weight:600;font-size:clamp(22px,2.6vw,32px);letter-spacing:.12em;line-height:1.5}
.phero p.intro{margin-top:26px;max-width:760px;font-size:14.5px;color:var(--sub)}
.bc{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--mute);letter-spacing:.08em;margin-bottom:34px}
.bc a:hover{color:var(--gold)}
.bc li+li::before{content:"/";margin-right:8px;color:var(--line)}
/* faq */
.fq{border-top:1px solid var(--line)}
.fq details{border-bottom:1px solid var(--line)}
.fq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:34px 1fr 20px;gap:10px;align-items:baseline;padding:24px 0}
.fq summary::-webkit-details-marker{display:none}
.fq summary::before{content:"Q";font-family:var(--latin);font-style:italic;font-size:22px;color:var(--gold);line-height:1}
.fq summary h3{font-size:15.5px;font-weight:600;letter-spacing:.06em;line-height:1.7}
.fq summary::after{content:"";width:12px;height:12px;justify-self:end;background:linear-gradient(var(--ink),var(--ink)) center/12px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1px 12px no-repeat;transition:transform .35s var(--ease)}
.fq details[open] summary::after{transform:rotate(45deg)}
.fq .ans{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:0 30px 26px 0}
.fq .ans::before{content:"A";font-family:var(--latin);font-style:italic;font-size:22px;color:var(--mute);line-height:1.2}
.fq .ans p{font-size:14.5px;color:var(--sub);line-height:2}
.fq .ans a{text-decoration:underline;text-underline-offset:3px}
/* final CTA */
.final{position:relative;padding:130px 0;text-align:center;overflow:hidden;background:var(--dark);color:#fff}
.final-bg{position:absolute;inset:0}
.final-bg img{width:100%;height:100%;object-fit:cover;opacity:.22}
.final .wrap{position:relative}
.final .en{font-family:var(--latin);font-weight:400;font-size:clamp(46px,7vw,96px);letter-spacing:.06em;line-height:1;color:#fff}
.final h2{font-family:var(--serif);font-weight:600;font-size:clamp(20px,2.4vw,28px);letter-spacing:.12em;margin:18px 0 12px}
.final p{color:#c9ced3;margin-bottom:36px;font-size:14.5px}
.final .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.final .btn--dark{background:#fff;color:var(--ink);border-color:#fff}.final .btn--dark:hover{background:var(--mist)}
/* footer */
.ft{background:#16191c;color:#b9bfc5;padding:80px 0 130px;font-size:13px}
.ft-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.ft-logo img{height:30px;width:auto}
.ft address{font-style:normal;margin-top:22px;line-height:2}
.ft h4{font-family:var(--inter);font-weight:300;font-size:13px;letter-spacing:.24em;color:#fff;margin-bottom:12px}
.ft li{margin:6px 0}
.ft a:hover{color:#fff}
.ft-bottom{margin-top:60px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11.5px;color:#7d858e}
/* floating bar */
.fbar{position:fixed;left:50%;bottom:20px;z-index:60;transform:translate(-50%,150%);transition:transform .6s var(--ease);display:flex;align-items:stretch;background:#fff;border:1px solid var(--line);box-shadow:0 12px 36px rgba(40,55,70,.14)}
.fbar.is-on{transform:translate(-50%,0)}
.fbar .nm{display:flex;align-items:center;padding:0 22px;font-family:var(--latin);font-weight:500;font-size:16px;letter-spacing:.14em;text-transform:uppercase;border-right:1px solid var(--line);white-space:nowrap}
.fbar a{display:flex;align-items:center;padding:15px 22px;font-size:13px;font-weight:600;letter-spacing:.08em;white-space:nowrap;transition:background .3s}
.fbar a.s{border-right:1px solid var(--line)}
.fbar a.s:hover{background:var(--mist)}
.fbar a.p{background:var(--dark);color:#fff}
.fbar .tel{font-family:var(--inter);font-weight:300;font-size:16px;letter-spacing:.06em}
/* reveal */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.js .d1{transition-delay:.1s}.js .d2{transition-delay:.2s}.js .d3{transition-delay:.3s}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}
@media (max-width:1100px){.hd-nav a.nv.hide-md{display:none}.ft-top{grid-template-columns:1fr 1fr}}
@media (max-width:767px){
 body{font-size:14.5px}
 .wrap{padding:0 20px}
 .hd-in{height:60px}
 .hd-logo{padding-left:18px}
 .hd-logo img{height:22px}
 .hd-nav a.nv{display:none}
 .hd-cta{padding:0 16px;font-size:11px;letter-spacing:.1em}
 .hd-cta small{display:none}
 .hd2{margin-bottom:38px}
 .hd2 .en{font-size:44px}
 .hd2 .ja{font-size:16px;margin-top:10px}
 .phero{padding:100px 0 48px}
 .phero .en{font-size:52px}
 .phero h1{font-size:21px;letter-spacing:.06em}
 .bc{margin-bottom:22px}
 .fq summary{grid-template-columns:28px 1fr 16px;padding:20px 0}
 .fq summary h3{font-size:14.5px}
 .fq .ans{grid-template-columns:28px 1fr;padding-right:0}
 .final{padding:90px 0}
 .final .btns{flex-direction:column;align-items:stretch}
 .ft{padding:60px 0 120px}
 .ft-top{grid-template-columns:1fr;gap:30px}
 .fbar{left:10px;right:10px;bottom:10px;transform:translateY(160%)}
 .fbar.is-on{transform:none}
 .fbar .nm,.fbar .tel-pc,.fbar a.s{display:none}
 .fbar a{flex:1;justify-content:center;padding:15px 8px}
 .fbar a.tel-sp{display:flex;flex:0 0 26%;background:var(--mist)}
 .fbar a.chat-sp{display:flex;flex:0 0 28%;border-left:1px solid var(--line);border-right:1px solid var(--line)}
 .fbar a.chat-sp::before{content:"";width:7px;height:7px;border-radius:50%;background:#06c755;margin-right:7px;box-shadow:0 0 0 3px rgba(6,199,85,.18)}
 .chat-widget{transition:bottom .5s var(--ease)}
 body.fbar-on .chat-widget{bottom:72px!important}
 body.fbar-on #chatToggle{visibility:hidden;opacity:0;pointer-events:none}
}
@media (min-width:768px){.fbar .tel-sp,.fbar .chat-sp{display:none}}
