@charset "UTF-8";
/* Base */
:root{--peach:#ffe6d1;--ink:#281c2b;--lime:#dcf790}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px;overflow-x:hidden}body{margin:0;background:var(--peach);color:var(--ink);font:15px/1.9 Arial,"Yu Gothic",Meiryo,sans-serif;line-break:strict;overflow-wrap:anywhere;overflow-x:hidden}@supports(overflow:clip){html,body{overflow-x:clip}}h1,h2,h3,p,ol,dl,figure{margin:0}h1,h2,h3{font-weight:800;line-height:1.4;letter-spacing:-.045em;line-break:strict;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}h1 span,h2 span,h3 span{display:inline-block;max-width:100%}h2{font-size:clamp(30px,3.6vw,48px)}h3{font-size:21px}p{line-break:strict}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}a:focus-visible,summary:focus-visible{outline:3px solid #08746b;outline-offset:6px}.container{width:min(1200px,calc(100% - 80px));margin-inline:auto}.section-pad{padding-block:96px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;margin-bottom:24px}.fineprint{font-size:11px;margin-top:18px}.skip-link{position:fixed;top:10px;left:10px;z-index:100;padding:12px;background:var(--lime);transform:translateY(-200%)}.skip-link:focus{transform:none}
/* Navigation */
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 40px;background:#ffe6d1f5;backdrop-filter:blur(16px)}.brand{font-size:27px;font-weight:900;letter-spacing:-.065em;white-space:nowrap}.brand-dot{color:#bd4308}.site-header nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 28px}.site-header nav a{font-size:12px;font-weight:700;white-space:nowrap;padding:6px 0}
/* Dimensional hero */
.hero{overflow:hidden;background:radial-gradient(ellipse at 80% 10%,#ffd59d,transparent 50%),linear-gradient(120deg,#ffb16b,#ff882c 62%,#ff721b)}.hero-inner{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:24px;padding-block:68px 38px}.hero-inner>*,.section-heading>*,.price-layout>*,.faq-layout>*,.closing-layout>*{min-width:0}.hero-service{display:inline-block;font-size:12px;font-weight:700;padding:5px 13px;border:1px solid #281c2b50;border-radius:30px;margin-bottom:26px}h1{font-size:clamp(39px,4.55vw,65px);line-height:1.32;letter-spacing:-.06em}h1>span{display:block}.depth-word{color:#fff2d9;text-shadow:0 2px #c1642f,0 4px #bd5627,0 12px 22px #94340545}.hero-description{font-size:14px;line-height:2;margin-top:27px}.hero-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:27px 0 22px}.hero-price strong{font-size:49px;letter-spacing:-.06em;line-height:1.2;white-space:nowrap}.hero-price strong span{font-size:23px}.initial-price{font-size:12px;white-space:nowrap;border-left:1px solid #281c2b60;padding-left:14px}.initial-price b{font-size:21px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;max-width:100%;min-height:64px;border-radius:50px;padding:13px 16px 13px 26px;color:#fff1e3;background:linear-gradient(135deg,#493044,#281c2b);box-shadow:0 5px #160e18,0 16px 25px #762e1635;font-size:14px;font-weight:700;transition:transform .2s}.button>span:first-child{min-width:0;word-break:keep-all;overflow-wrap:anywhere}.arrow{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:1px solid #ffffff40;border-radius:50%;font-size:22px}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(3px)}.hero-visual{perspective:1000px;padding-top:16px}.scene-label{position:relative;z-index:1;font-size:clamp(45px,6.8vw,96px);font-weight:900;letter-spacing:-.07em;line-height:.9;text-align:center;color:#ffe1b3;margin-bottom:-15px;text-shadow:0 2px #d47139}.scene{position:relative;aspect-ratio:1;transform-style:preserve-3d}.stage-image{width:100%;height:100%;object-fit:cover;border-radius:48% 48% 25% 25%;box-shadow:0 30px 40px -30px #922d0b}.hero-mascot{position:absolute;width:78%;height:78%;object-fit:contain;left:11%;top:4%;filter:drop-shadow(0 18px 12px #7b340b50);animation:float-softly 6s ease-in-out infinite}.speech-bubble{position:absolute;z-index:3;top:3%;right:3%;background:#fff2db;border-radius:22px 22px 22px 3px;padding:15px 21px;box-shadow:0 5px #e6b880,0 17px 26px #8f420e30;font-size:13px;line-height:1.6;transform:rotate(5deg) translateZ(35px)}.speech-bubble strong{color:#a63c0b}.scene-chip{position:absolute;left:6%;bottom:8%;padding:9px 18px;border-radius:24px;background:var(--lime);font-size:11px;font-weight:700;box-shadow:0 4px #96b949,0 12px 18px #82491033;transform:rotate(-7deg) translateZ(20px)}.scene-caption,.hero-bottom{display:flex;justify-content:space-between;gap:12px;font-size:10px;padding-block:22px}.hero-bottom{flex-wrap:wrap;border-top:1px solid #281c2b30}@keyframes float-softly{0%,100%{transform:translate3d(0,0,30px) rotate(-2deg)}50%{transform:translate3d(0,-10px,30px) rotate(1deg)}}
/* Image-led concepts */
.design-section{background:var(--ink);color:var(--peach)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:50px}.section-heading>p{font-size:14px}.design-section .eyebrow{color:#ffa869}.showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.showcase{min-width:0}.showcase-salon{padding-top:76px}.concept-image{position:relative;overflow:hidden;border-radius:8px 8px 40px 8px}.concept-image img{width:100%;aspect-ratio:4/3;object-fit:cover}.concept-index{position:absolute;top:18px;left:18px;padding:4px 12px;border-radius:30px;font-size:10px;background:#281c2bc9;color:#fff1df}.showcase-caption{padding-top:25px}.showcase-caption>p{font-size:10px;letter-spacing:.13em;color:#ffb579;margin-bottom:9px}.showcase-caption h3{font-size:25px}.showcase-caption .caption-description{margin-top:14px;color:#dcc7d3;font-size:13px;letter-spacing:0}.design-disclaimer{color:#cfb9c4;font-size:11px;margin-top:40px}.industry-row{border-top:1px solid #ffffff25;margin-top:37px;padding-top:28px;font-size:13px}.industry-row>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.industry-row span{font-size:11px;padding:4px 13px;border-radius:30px;border:1px solid #ffffff25}.approach-section{background:linear-gradient(135deg,#ffe9d6,#ffd7b7)}.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.approach-grid article{border-top:1px solid #b47b6650;padding-top:25px;min-width:0}.item-number{display:block;color:#ba4a14;font-weight:800;font-size:46px;text-shadow:0 2px #fff4dd,0 5px #edb38b;margin-bottom:18px}.approach-grid h3{margin-bottom:18px}.approach-grid p{font-size:14px}
/* Pricing, flow and FAQ */
.price-section{background:#f6bd91;overflow:hidden}.price-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.price-copy>p:not(.eyebrow){font-size:14px;margin-top:26px}.price-side-note{margin-top:35px;display:inline-block;padding:8px 17px;border-radius:30px;border:1px solid #82533560;font-size:12px}.pricing-card{padding:36px;border:1px solid #fff3df;border-radius:28px;background:linear-gradient(145deg,#fff0dd,#ffd9b1);box-shadow:0 9px #d58e5f,0 30px 45px #823e2430}.pricing-top{display:flex;justify-content:space-between;gap:12px;font-size:10px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid #281c2b25}.main-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-block:24px}.main-price strong{white-space:nowrap;font-size:clamp(48px,5.6vw,76px);line-height:1;letter-spacing:-.065em}.main-price strong span{font-size:26px}.zero-price{display:flex;justify-content:space-between;align-items:center;padding-block:13px;border-block:1px solid #281c2b25;margin-bottom:25px}.zero-price strong{font-size:30px;white-space:nowrap}.pricing-card>p{font-size:13px}.plan-notes{font-size:11px;border-top:1px solid #281c2b25;margin-top:24px;padding-top:18px}.flow-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.flow-grid li{min-width:0;border-top:2px solid #e78950;padding-top:24px}.step-number{font-size:12px;font-weight:700;color:#a94315}.flow-grid h3{margin:21px 0 16px;font-size:19px}.flow-grid p{font-size:13px}.faq-section{background:#f3d4ba}.faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.faq-intro{margin-top:24px;font-size:14px}.faq-decoration{display:block;font-size:120px;font-weight:900;color:#bf501d;text-shadow:0 3px #ffe6c8,0 8px #da9b6b}.faq-list details{border-bottom:1px solid #281c2b35}.faq-list summary{cursor:pointer;padding:23px 6px;font-size:14px;font-weight:700;line-break:strict}.faq-list details p{font-size:13px;padding:0 20px 24px}.faq-list details[open]{background:#ffe7d24d}
/* Closing */
.closing-section{overflow:hidden;background:radial-gradient(ellipse at 80% 50%,#ffc994,transparent 50%),#ff8b35;padding-block:70px}.closing-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}.closing-copy>p:not(.eyebrow):not(.fineprint){margin-top:22px;font-size:14px}.closing-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 14px;margin-block:25px;font-size:13px}.closing-price strong{font-size:35px;white-space:nowrap}.closing-price>span{white-space:nowrap}.closing-character{position:relative;perspective:1000px}.closing-character img{width:100%;filter:drop-shadow(0 24px 15px #923d1240)}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:36px;padding-block:54px 26px;font-size:12px}.footer-brand p{margin-top:16px}.company-info h2{font-size:14px;letter-spacing:0;margin-bottom:14px}.company-info dl{display:grid;grid-template-columns:auto 1fr;gap:10px 24px}.company-info dd{margin:0}.footer-bottom{flex-basis:100%;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #281c2b25;padding-top:23px;font-size:10px}
/* Responsive and motion preferences */
@media(max-width:1050px){.price-layout{gap:30px}.pricing-card{padding:28px}.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header nav{gap:16px}}
@media(max-width:768px){.container{width:calc(100% - 48px)}.section-pad{padding-block:72px}.site-header{padding:14px 24px}.nav-design,.nav-flow{display:none}.hero-inner,.price-layout,.faq-layout,.closing-layout{grid-template-columns:1fr;gap:44px}.hero-inner{padding-block:44px 24px}h1{font-size:clamp(43px,8vw,60px)}.hero-visual{width:min(100%,510px);margin:auto}.scene-label{font-size:clamp(50px,12vw,80px)}.section-heading{flex-direction:column;align-items:flex-start;gap:24px}.showcase-grid,.approach-grid{grid-template-columns:1fr;gap:42px}.showcase-salon{padding:0}.faq-decoration{display:none}.closing-character{width:min(100%,380px);margin:auto}.main-price strong{font-size:70px}}
@media(max-width:480px){.container{width:calc(100% - 40px)}.site-header{padding:12px 20px;gap:12px;flex-wrap:wrap}.brand{font-size:24px}.site-header nav a{font-size:11px}.section-pad{padding-block:58px}h1{font-size:clamp(32px,10.2vw,46px)}h2{font-size:29px}.hero-service{font-size:11px}.hero-description{font-size:13px}.hero-price{gap:8px}.hero-price strong{font-size:44px}.initial-price{padding-left:10px}.button{width:100%;font-size:13px;padding-left:20px;gap:12px}.speech-bubble{font-size:11px;padding:12px 15px}.scene-chip{font-size:10px}.scene-caption,.hero-bottom{font-size:9px}.flow-grid{grid-template-columns:1fr}.pricing-card{padding:25px}.main-price strong{font-size:59px}.showcase-caption h3{font-size:23px}.closing-section{padding-block:56px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-mascot{animation:none}.button{transition:none}}

/* 規約などへのリンク（本番サイトの他ページと同じ導線） */
.legal-links{display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.75rem;opacity:.8;margin:.75rem 0}
.legal-links a{color:inherit;text-decoration:none}.legal-links a:hover{text-decoration:underline}

/* ロゴは本番サイトの LogoLockup と同じ並び（前に決めたロゴに統一） */
.brand{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:600;letter-spacing:.14em;line-height:1;white-space:nowrap;text-decoration:none;color:inherit}
.brand-mark{width:24px;height:24px;object-fit:contain;flex:none}
.brand-kk{font-size:11px;font-weight:500;letter-spacing:.06em;opacity:.75}
.brand-word{font-size:17px;font-weight:600;letter-spacing:.14em}
.brand-symbol,.brand-dot,.brand small{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ico-arrow{display:inline-block;vertical-align:-0.1em;flex:none}
