/* ウィステリアコンストラクション 共通スタイル
   配色の調整は「自然な配色」の :root を参照。
   下層のレイアウトは subpages.css で調整します。 */

/* 基本寸法と共通部品 */
:root{
  --bg:        #FFFFFF;   
  --bg-sub:    #F5F5F5;   
  --bg-box:    #E4E4E4;   
  --bg-invert: #1A1A1A;   
  --text:      #1A1A1A;
  --text-sub:  #555555;
  --text-mute: #8A8A8A;   
  --text-on-invert: #FFFFFF;

  --fs-note:  12px;
  --fs-small: 13px;
  --fs-body:  15px;   
  --fs-lead:  16px;
  --fs-h3:    18px;
  --fs-h2:    26px;
  --fs-h1:    34px;
  --fs-num:   44px;   

  --lh-tight: 1.5;
  --lh-body:  1.9;    

  --s1: 8px;  --s2: 16px; --s3: 24px; --s4: 40px;
  --s5: 64px; --s6: 96px; --s7: 128px;

  --maxw: 1040px;     
  --maxw-narrow: 720px;
}

*{ box-sizing: border-box; margin: 0; padding: 0; }

body{
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text);
  background: var(--bg);
  font-feature-settings: "palt";
}


.section{ padding: var(--s6) var(--s3); }
.section--sub{ background: var(--bg-sub); }
.inner{ max-width: var(--maxw); margin: 0 auto; }
.inner--narrow{ max-width: var(--maxw-narrow); margin: 0 auto; }


h1{ font-size: var(--fs-h1); line-height: var(--lh-tight); font-weight: 700; }
h2{ font-size: var(--fs-h2); line-height: var(--lh-tight); font-weight: 700; margin-bottom: var(--s3); }
h3{ font-size: var(--fs-h3); line-height: var(--lh-tight); font-weight: 700; margin-bottom: var(--s2); }
.lead{ font-size: var(--fs-lead); color: var(--text-sub); margin-bottom: var(--s5); }
p + p{ margin-top: var(--s2); }
.note{ font-size: var(--fs-note); color: var(--text-mute); }
.num{ font-size: var(--fs-num); font-weight: 700; line-height: 1.2; }


.grid{ display: grid; gap: var(--s3); }
.grid--2{ grid-template-columns: repeat(2, 1fr); }
.grid--3{ grid-template-columns: repeat(3, 1fr); }
.grid--side{ grid-template-columns: 1fr 1fr; gap: var(--s4); align-items: center; }
.stack > * + *{ margin-top: var(--s4); }


.card{ background: var(--bg-sub); padding: var(--s3); }
.section--sub .card{ background: var(--bg); }


.ph{
  background: var(--bg-box);
  color: var(--text-mute);
  font-size: var(--fs-small);
  display: flex; align-items: center; justify-content: center;
  text-align: center; padding: var(--s2);
}
.ph--wide{ aspect-ratio: 16 / 9; }
.ph--square{ aspect-ratio: 1 / 1; }
.ph--tall{ aspect-ratio: 3 / 4; }
.ph--band{ height: 320px; }
.ph--icon{ width: 48px; height: 48px; }


.icon{ font-size: 20px; color: var(--text); }


.btn{
  display: inline-block; background: var(--bg-invert); color: var(--text-on-invert);
  padding: var(--s2) var(--s4); font-size: var(--fs-body); font-weight: 500;
  text-decoration: none;
}
.btn--ghost{ background: var(--bg-sub); color: var(--text); }


table{ width: 100%; border-collapse: collapse; font-size: var(--fs-small); }
th, td{ padding: var(--s2); text-align: left; vertical-align: top; }
thead th{ background: var(--bg-invert); color: var(--text-on-invert); font-weight: 500; }
tbody tr:nth-child(odd){ background: var(--bg-sub); }
.section--sub tbody tr:nth-child(odd){ background: var(--bg); }


.memo{ background: var(--bg-sub); color: var(--text-sub); font-size: var(--fs-note); padding: var(--s1) var(--s2); margin-top: var(--s1); }

@media (max-width: 768px){
  .section{ padding: var(--s5) var(--s3); }
  .grid--2, .grid--3, .grid--side{ grid-template-columns: 1fr; }
  h1{ font-size: 26px; } h2{ font-size: 21px; }
}


.field{ display:block; margin-bottom: var(--s2); }
.field span{ display:block; font-size: var(--fs-small); color: var(--text-sub); margin-bottom: var(--s1); }
.input{ display:block; width:100%; background: var(--bg-box); color: var(--text-mute); padding: var(--s1) var(--s2); font-size: var(--fs-small); }
.result{ background: var(--bg); padding: var(--s3); }
.cta-row{ display:flex; flex-wrap:wrap; gap: var(--s2); align-items:center; }
.step{ font-size: var(--fs-note); color: var(--text-mute); }
.tag{ display:inline-block; background: var(--bg-box); font-size: var(--fs-note); padding: 0 var(--s1); margin-right: var(--s1); }
.block-label{ font-size: var(--fs-note); color: var(--text-mute); margin-bottom: var(--s1); }
.band{ display:inline-block; background: var(--bg-sub); font-size: var(--fs-small); padding: var(--s1) var(--s2); margin-bottom: var(--s2); }
.voice{ font-size: var(--fs-h3); font-weight:700; line-height: var(--lh-tight); }
.bridge{ max-width: var(--maxw); margin: var(--s5) auto 0; text-align:center; color: var(--text-sub); font-size: var(--fs-lead); }
.bridge i{ display:block; margin-top: var(--s2); color: var(--text-mute); }
.who{ font-size: var(--fs-note); color: var(--text-mute); }
.qa dt{ font-weight:700; margin-top: var(--s3); }
.qa dd{ color: var(--text-sub); }
.letter p{ margin-top: var(--s2); }


.tabs{ display:flex; gap: var(--s1); margin-bottom: var(--s3); }
.tabs span{ background: var(--bg-box); padding: var(--s1) var(--s3); font-size: var(--fs-small); }
.tabs span.on{ background: var(--bg-invert); color: var(--text-on-invert); }
.stars{ font-size: var(--fs-small); letter-spacing: 2px; }
.badge{ background: var(--bg-sub); padding: var(--s2); text-align:center; }
.badge .k{ font-size: var(--fs-note); color: var(--text-sub); }
.badge .v{ font-weight:700; line-height: var(--lh-tight); }
.list li{ margin-left: 1.2em; }
.add{ display:inline-block; background: var(--bg-invert); color: var(--text-on-invert); font-size: var(--fs-note); padding: 0 var(--s1); margin-right: var(--s1); }
.fixed-bar{ background: var(--bg-sub); padding: var(--s2) var(--s3); }
.cat-grid{ display:grid; grid-template-columns: repeat(6, 1fr); gap: var(--s4) var(--s3); }
.cat{ display:block; text-align:center; font-size: var(--fs-small); font-weight:700; color: var(--text); text-decoration:none; line-height: var(--lh-tight); }
.cat .ph{ aspect-ratio:1/1; margin-bottom: var(--s1); font-weight:400; font-size: var(--fs-note); overflow:hidden; }
.cat-head{ display:flex; justify-content:space-between; align-items:flex-end; }
@media (max-width: 768px){ .cat-grid{ grid-template-columns: repeat(3, 1fr); } }

/* トップページのレイアウト */
:root{--bg:#fff;--bg-sub:#f6f3fb;--bg-box:#e9e1f3;--bg-invert:#59358c;--text:#282033;--text-sub:#62596e;--text-mute:#80758c;--text-on-invert:#fff;--purple:#59358c;--deep:#352055;--lavender:#a78ac7;--line:#ddd3e9;--maxw:1100px;--maxw-narrow:810px;--fs-body:15px;--fs-h2:32px;--fs-h3:20px;--fs-h1:46px;--fs-num:64px;--s6:100px;--s5:56px}
html{scroll-behavior:smooth;scroll-padding-top:24px}body{padding-bottom:78px;letter-spacing:.025em}a{color:var(--purple);text-underline-offset:5px}img{display:block;max-width:100%}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}h1,h2,h3{color:var(--deep);font-weight:800}h2{letter-spacing:.025em;line-height:1.65;margin-bottom:30px}h3{line-height:1.7}p{line-height:2}.section{position:relative;padding:92px 36px}.inner,.inner--narrow{position:relative}.grid--side{display:grid}.section-en{font:700 62px/1.1 Arial,sans-serif;letter-spacing:-.035em;color:var(--purple);margin:0 0 22px!important}.section-en::after{content:' /';color:#baa6d1;font-size:.5em}.note{font-size:12px;line-height:1.9}.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid var(--purple);border-radius:3px;padding:17px 27px;line-height:1.5;font-weight:700;transition:background .2s}.btn:hover{background:var(--deep);color:#fff}.btn span{font-size:20px;margin-left:auto}.btn--ghost{background:#fff;color:var(--purple)}.bridge{font-size:15px;margin:52px auto 0;color:var(--purple);line-height:1.9}.bridge i{display:block;margin-top:14px;font-size:19px;color:var(--lavender)}.block-label{font-size:13px;color:var(--purple);font-weight:700;letter-spacing:.04em}.card{padding:30px;background:var(--bg-sub)}.section--sub .card{background:white}.site-header{height:108px;padding:20px 4%;display:flex;gap:32px;align-items:center;border-top:4px solid var(--purple);background:#fff;position:relative;z-index:2}.brand{width:285px;margin-right:auto;flex-shrink:0}.brand img{width:100%}.site-header nav{display:flex;gap:24px;white-space:nowrap;font-size:12px;font-weight:700}.site-header nav a{text-decoration:none}.header-call{display:flex;flex-direction:column;text-decoration:none;line-height:1.4;white-space:nowrap}.header-call small{font-size:10px;letter-spacing:0}.header-call strong{font:700 24px/1.5 Arial,sans-serif;letter-spacing:.025em}.header-cta{font-size:12px;padding:15px 20px;white-space:nowrap;gap:16px}
.hero.section{padding:0 0 38px;overflow:hidden}.hero-main{position:relative;min-height:660px;max-width:1600px;margin:auto;background:#f8f6fb}.hero-copy{position:relative;z-index:1;width:59%;padding:66px 0 58px max(6%,calc((100vw - 1100px)/2));pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{color:var(--purple);font:700 11px/1.5 Arial,sans-serif;letter-spacing:.2em;margin-bottom:20px}.hero-target{font-size:12px;font-weight:600;margin-bottom:21px;letter-spacing:0}.hero h1{font-size:clamp(30px,3.45vw,48px);line-height:1.6;letter-spacing:.02em;white-space:nowrap;font-weight:900}.hero h1 em{font-style:normal;color:#8654b0}.hero-lead{font-size:19px;margin-top:25px}.hero-lead strong{font-size:24px;color:var(--purple);background:linear-gradient(transparent 67%,#e5d9f0 67%)}.hero-description{font-size:13px;margin:8px 0 24px!important}.hero-copy .cta-row{gap:12px}.hero-copy .btn{font-size:12px;padding:16px 18px;gap:18px}.hero-copy .note{margin-top:15px;font-size:10px}.hero-visual{position:absolute;right:0;top:0;width:48%;height:100%;overflow:hidden;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%,7% 55%,0 28%);background:var(--deep)}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:52% center}.hero-visual::after{content:'';position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(33,18,47,.55))}.hero-word{position:absolute;right:8%;bottom:110px;color:white;opacity:.82;font:800 43px/1 Arial;letter-spacing:-.03em;z-index:1}.ceo-chip{position:absolute;bottom:25px;right:4%;z-index:2;display:flex;align-items:center;gap:14px;background:white;padding:10px 24px 10px 10px;border-radius:50px 3px 3px 50px;box-shadow:0 5px 30px #30204415}.ceo-chip img{height:66px;width:66px;border-radius:50%;object-fit:cover;object-position:50% 24%}.ceo-chip small{font-size:10px;color:var(--text-sub);display:block}.ceo-chip strong{font-size:12px;color:var(--purple)}.trust{display:grid;grid-template-columns:repeat(4,1fr);padding-top:38px}.trust>div{padding:0 28px;border-left:1px solid var(--line)}.trust>div:first-child{border:0}.trust span{color:var(--lavender);font:700 10px/1.6 Arial;letter-spacing:.12em}.trust p{margin:10px 0 0;font-size:13px;line-height:1.7}.trust strong{font-size:17px;color:var(--purple)}
.price{background:var(--bg-sub);padding-top:96px}.price .grid--side{gap:48px}.price .grid--side .card{padding:42px 30px;border-top:4px solid var(--purple);box-shadow:12px 12px 0 #ebe3f5}.price .num{font:700 94px/1.15 Arial,sans-serif;color:var(--purple);margin:20px 0 10px}.price .num span{font:700 23px 'Noto Sans JP',sans-serif}.price table{background:white;margin-top:55px!important;font-size:15px}.price thead th{background:var(--purple);padding:17px 24px}.price td{padding:16px 24px;border-bottom:1px solid #eee8f5}.price td:last-child{font-weight:700;color:var(--purple);width:38%}.price tbody tr:nth-child(odd){background:#fbf9fd}.price h3{color:var(--purple)}.value .grid--3{counter-reset:values}.value .card{padding:30px 26px;background:white;border-top:1px solid var(--line);position:relative}.value .card::before{counter-increment:values;content:'0' counter(values);font:700 55px/1 Arial;color:#e6dcef;position:absolute;right:14px;top:18px}.value .card .icon{color:var(--purple);font-size:30px;margin-bottom:20px}.value h3{font-size:20px;padding-right:16px}.value p:not(.section-en){font-size:14px}.worries{background:#f9f7fb;padding-top:80px;padding-bottom:74px}.worries h2{max-width:800px}.worries .card{background:white!important;border-left:3px solid #a484c5;padding:30px 34px}.worries .list{list-style:none}.worries .list li{margin:10px 0;padding-left:26px;position:relative;font-size:14px}.worries .list li::before{content:'✓';position:absolute;left:0;color:#9877b9;font-weight:700}.worries .bridge{font-weight:600}.reasons{background:white}.reasons .stack>.grid--side{gap:56px;align-items:center}.survey-photo{position:relative;margin:0}.survey-photo img{width:100%;height:330px;object-fit:cover;clip-path:polygon(0 0,93% 0,100% 100%,7% 100%)}.survey-photo figcaption{font-size:10px;color:var(--text-mute);padding:8px 20px}.reason-no{font:700 41px/1.5 Arial;display:block;color:#a286bf;margin-bottom:6px}.reasons .grid--2{gap:0 48px}.reasons .card{background:white!important;border-top:1px solid var(--line);padding:28px 0}.reasons .card h3{font-size:19px}.reasons .card p{font-size:14px}.reasons .card .reason-no{font-size:31px}
.categories{background:var(--bg-sub)}.cat-head{align-items:center;gap:32px}.cat-head h2{font-size:29px}.cat-head>p{flex-shrink:0}.tabs{display:flex;gap:0!important;border-bottom:1px solid var(--line);justify-content:flex-start!important}.tabs span{padding:12px 18px;background:transparent;font-size:12px;white-space:nowrap;color:var(--text-sub)}.tabs span.on{background:var(--purple);color:white;border-radius:3px 3px 0 0}.cat-grid{gap:20px 18px}.cat{background:white;padding:20px 12px 18px;font-size:12px;line-height:1.8;position:relative;border-bottom:2px solid #e8def2}.cat:hover{border-color:var(--purple)}.category-icon{height:88px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:#79529f}.category-icon svg{width:76px;height:76px}.categories .card{background:transparent!important;padding:30px 0 0;border-top:1px solid var(--line)}.categories .card h3{font-size:18px}.categories .card p{font-size:12px;line-height:2.6}.categories>.inner>p:not(.note){font-size:14px}.area{background:white}.area .grid--side{gap:64px}.area h2{font-size:31px}.area-map{height:380px;position:relative;background:#eee9f4;overflow:hidden;border-radius:3px}.area-map iframe{width:100%;height:100%;border:0}.area-label{position:absolute;left:20px;top:20px;background:var(--purple);color:white;font-size:14px;font-weight:700;padding:10px 20px;box-shadow:0 4px 16px #35205520}.area .section-en{font-size:52px}.contact{background:var(--bg-sub)}.contact .section-en,.closing .section-en{text-align:center;font-size:66px}.contact h2{font-size:30px}.contact .inner--narrow>p:not(.section-en){font-size:14px}.contact .card,.closing .card{padding:38px 48px;background:white!important;border-top:3px solid #9c7cbb}.field{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;margin-bottom:18px}.field>span{color:var(--deep);font-weight:600;margin:0;font-size:13px}.field input,.field select{width:100%;height:49px;padding:10px 15px;border:1px solid #ded6e7;border-radius:3px;background:#fcfbfd;font-size:13px;color:var(--text);min-width:0}.field input::placeholder{color:#a69caf}.contact .card .btn,.closing .card .btn{max-width:420px;margin:28px auto 0}.contact .card .note,.closing .card .note{text-align:center;font-size:10px}.contact .bridge{font-size:14px}.works{background:white}.works h2{font-size:30px;max-width:800px}.works .grid--3:first-of-type{padding:24px 0 30px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);gap:0;margin-top:38px!important}.works .grid--3:first-of-type>div{padding:0 24px;border-left:1px solid var(--line)}.works .grid--3:first-of-type>div:first-child{border:0;padding-left:0}.works .num{font:700 70px/1.4 Arial;color:var(--purple)}.works .num span{font-family:'Noto Sans JP',sans-serif;font-size:15px!important;margin-left:8px}.works .card{padding:0 0 25px;background:white!important;border-bottom:1px solid var(--line)}.works .card h3{font-size:17px;line-height:1.8;margin-bottom:8px}.works .card p:not(.note){font-size:13px;line-height:1.9}.works .card .note:last-child{margin-top:16px;color:var(--purple);font-weight:700}.works .card .note:last-child::after{content:'　↗'}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:3px}.before-after figure{position:relative;margin:0}.before-after img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f1edf5}.before-after figcaption{position:absolute;bottom:0;left:0;background:var(--deep);color:white;font:600 9px/1.4 Arial;padding:4px 9px;letter-spacing:.12em}.before-after figure+figure figcaption{background:#9f7bbd}.voices{background:#f6f3fb;overflow:hidden}.voices .section-en,.voices h2,.voices .lead{text-align:center}.voices .lead{font-size:17px;font-weight:600;color:var(--purple);margin-bottom:35px}.review-flag{display:block;font-size:10px;font-weight:400;color:var(--text-mute)}.voices .card{background:white;padding:35px}.voices .card:first-child,.voices .card:last-child{min-height:200px;display:flex;justify-content:center;align-items:center;font:700 20px Arial;color:var(--lavender)}.voices .card:nth-child(2){position:relative;padding:35px 40px}.voices .card:nth-child(2)::before{content:'“';font:100px/1 Georgia;position:absolute;right:20px;top:5px;color:#ebe4f3}.voices .stars{color:#9877b9;font-size:18px;margin-bottom:15px}.voices h3{font-size:21px;position:relative}.voices .card p{font-size:14px}.flow{background:white}.flow .grid--3{gap:0 40px}.flow .grid--3 .card{background:white;border-top:1px solid var(--line);padding:30px 0}.flow .step{font-size:13px;color:var(--purple);font-weight:700;letter-spacing:.1em}.flow .step::before{content:'STEP / ';font-family:Arial;color:#a88bc3;font-size:12px}.flow .card h3{font-size:19px;margin-top:14px}.flow .card p{font-size:14px}.flow .inner>.card{background:var(--bg-sub)!important;border-left:3px solid #a88bc3}.message{background:#f8f6fb}.message .grid--side{grid-template-columns:1.1fr 1fr;gap:65px}.letter p{font-size:14px}.letter .section-en{font-size:60px}.letter .who{border-top:1px solid var(--line);padding-top:22px;font-size:13px!important;color:var(--purple)}.ceo-portrait{margin:70px 0 0}.ceo-portrait img{width:100%;aspect-ratio:4/4;object-fit:cover;object-position:50% center}.ceo-portrait figcaption{padding:25px 0;font-size:14px;color:var(--purple);font-weight:700}.ceo-portrait figcaption span{display:block;font:700 27px/1.4 Arial;letter-spacing:.025em;color:#a88bc3;margin-bottom:10px}.faq{background:white}.faq .section-en{text-align:center}.faq h2{text-align:center}.qa dt{border-top:1px solid var(--line);padding:25px 0 10px 45px;margin-top:0;position:relative;font-size:15px;color:var(--deep)}.qa dt::before{content:'Q';font:700 25px/1 Arial;color:var(--purple);position:absolute;left:0;top:26px}.qa dd{position:relative;padding:0 0 25px 45px;font-size:14px}.qa dd::before{content:'A';position:absolute;left:3px;top:3px;color:#a88bc3;font:700 18px/1 Arial}.closing{background:var(--bg-sub)}.closing h2{font-size:27px;line-height:1.9}.closing .inner--narrow>p{font-size:14px}.closing .section-en{font-size:66px!important}.closing .card .block-label{margin-bottom:26px}.section--sub footer{background:white}footer.section{background:white;padding-bottom:60px!important}footer table{font-size:12px}footer td{border-bottom:1px solid #eae4ef;padding:16px 0}footer td:first-child{width:160px;color:var(--purple);font-weight:600;padding-right:24px}footer tbody tr:nth-child(odd){background:white!important}footer .footer-logo{width:310px;margin:0 auto 40px}footer .note{text-align:center;font-size:10px}.floating{position:fixed;bottom:0;left:0;width:100%;z-index:10;background:white;border-top:1px solid var(--line);box-shadow:0 -5px 30px #34204b0c;display:flex;justify-content:center;gap:30px;padding:12px 24px}.floating>a:first-child{background:var(--purple);color:white;text-decoration:none;font-size:14px;font-weight:700;padding:14px 28px;min-width:400px;display:flex;gap:20px;align-items:center;justify-content:space-between;border-radius:3px}.floating>a:first-child small{font-size:10px;font-weight:400;border-right:1px solid #ffffff50;padding-right:18px}.floating>a:last-child{display:flex;flex-direction:column;text-decoration:none;justify-content:center}.floating strong{font:700 23px/1.2 Arial;letter-spacing:.05em}.floating small{font-size:9px;text-align:center}dialog{border:1px solid var(--line);border-radius:6px;margin:auto;max-width:480px;padding:50px;color:var(--text);background:white}dialog button{position:absolute;right:12px;top:8px;border:0;background:none;font-size:26px;color:var(--purple)}dialog::backdrop{background:#22143555}
@media(min-width:1450px){.hero-copy{padding-left:max(6%,calc((100vw - 1100px)/2))}.hero-main{min-height:700px}}
@media(max-width:1100px){.site-header{gap:18px;padding:18px 24px}.brand{width:230px}.site-header nav{display:none}.hero-copy{padding-left:5%;width:61%}.hero h1{font-size:36px}.hero-target{font-size:10px}.hero-copy .btn{font-size:11px;padding:14px}.hero-visual{width:43%}.hero-word{font-size:34px}.hero-main{min-height:650px}.ceo-chip{right:2%}.trust{margin:0 30px}.trust>div{padding:0 16px}.trust strong{font-size:15px}.cat-grid{grid-template-columns:repeat(6,1fr);gap:14px}.cat{padding:15px 8px;font-size:11px}.tabs span{padding:12px;font-size:11px}.section-en{font-size:55px}.field{grid-template-columns:125px 1fr}}
@media(max-width:768px){:root{--fs-h2:25px;--fs-h3:18px;--fs-body:14px}.section{padding:64px 22px}.site-header{height:82px;padding:15px 20px;gap:15px}.brand{width:225px}.header-call{display:none}.header-cta{font-size:10px;padding:12px;gap:10px}.hero-main{display:flex;flex-direction:column;min-height:0;padding-bottom:0}.hero-copy{width:100%;padding:35px 24px 32px;pointer-events:auto}.eyebrow{font-size:9px;margin-bottom:15px}.hero-target{font-size:10px;line-height:1.8;max-width:320px}.hero h1{font-size:clamp(24px,5.8vw,39px);white-space:normal;line-height:1.65;letter-spacing:0}.hero-lead{font-size:16px;margin-top:20px}.hero-lead strong{font-size:22px}.hero-description{font-size:12px}.hero-copy .cta-row{flex-wrap:nowrap;gap:8px}.hero-copy .btn{font-size:11px;padding:14px 12px;gap:12px;flex:1}.hero-copy .note{font-size:9px}.hero-visual{position:relative;width:100%;height:300px;clip-path:polygon(0 0,100% 6%,100% 100%,0 100%,0 0);order:2}.hero-photo{object-position:center 50%}.hero-word{font-size:34px;bottom:90px}.ceo-chip{bottom:16px;right:20px;padding-right:18px}.ceo-chip img{width:54px;height:54px}.ceo-chip small{font-size:9px}.ceo-chip strong{font-size:11px}.trust{grid-template-columns:1fr 1fr;margin:0 22px;gap:25px 0;padding-top:30px}.trust>div{padding:0 16px}.trust>div:nth-child(3){border-left:0}.trust p{font-size:11px}.trust strong{font-size:15px}.trust span{font-size:8px}.hero .bridge{font-size:12px;margin-top:30px}.section-en{font-size:47px!important;margin-bottom:18px!important}.grid--3,.grid--2,.grid--side{grid-template-columns:1fr!important}.price .grid--side{gap:30px}.price .grid--side .card{padding:30px 20px}.price .num{font-size:80px}.price table{font-size:12px}.price th,.price td{padding:14px!important}.price td:last-child{width:40%;white-space:nowrap}.price h3{font-size:18px}.bridge{font-size:13px;margin-top:35px}.value .grid--3{gap:0}.value .card{padding:28px 0}.value .card::before{right:0}.value h3{max-width:290px;font-size:20px}.value .card .icon{font-size:27px;margin-bottom:15px}.worries .card{padding:24px}.worries .list li{font-size:12px}.worries h2{font-size:24px}.reasons .stack>.grid--side{gap:24px}.survey-photo img{height:260px}.reason-no{font-size:32px}.reasons .grid--2{gap:0}.cat-head{display:block}.cat-head>p{margin-top:15px}.cat-head h2{font-size:24px}.tabs{overflow-x:auto;flex-wrap:nowrap!important;justify-content:flex-start!important;max-width:100%}.tabs span{flex-shrink:0;font-size:10px;padding:12px}.cat-grid{grid-template-columns:repeat(3,1fr);gap:12px 10px}.cat{padding:14px 7px;font-size:10px}.category-icon{height:60px}.category-icon svg{width:58px;height:58px}.categories .card p{font-size:11px}.area .grid--side{gap:30px}.area-map{height:290px}.area h2{font-size:25px}.contact .card,.closing .card{padding:28px 20px}.contact h2{font-size:24px}.contact .inner--narrow>p:not(.section-en){font-size:12px}.field{display:block;margin-bottom:16px}.field>span{margin-bottom:8px;font-size:12px}.field input,.field select{font-size:16px}.contact .card .btn,.closing .card .btn{font-size:13px}.contact .btn--ghost,.closing a[href^="tel:"]{font-size:11px;padding:15px}.works h2{font-size:24px}.works .grid--3:first-of-type{grid-template-columns:repeat(3,1fr)!important;gap:0}.works .grid--3:first-of-type>div{padding:0 10px}.works .num{font-size:37px}.works .num span{display:block;font-size:11px!important;margin:0}.works .grid--3:first-of-type .note{font-size:9px}.works .grid--3{gap:28px}.works .card h3{font-size:19px}.before-after img{aspect-ratio:4/3}.voices .lead{font-size:15px}.voices .inner>div[style]{grid-template-columns:1fr!important}.voices .card:first-child,.voices .card:last-child{display:none}.voices .card:nth-child(2){padding:28px}.voices h3{font-size:20px}.flow .grid--3 .card{padding:23px 0}.flow .inner>.card{padding:24px}.message .grid--side{gap:30px}.letter p{font-size:13px}.ceo-portrait{margin:0}.ceo-portrait img{aspect-ratio:5/4;object-position:center}.ceo-portrait figcaption{padding-bottom:0}.qa dt{font-size:13px;padding-left:34px}.qa dd{font-size:12px;padding-left:34px}.qa dt::before{font-size:22px}.closing h2{font-size:23px;line-height:1.9}.closing .inner--narrow>p{font-size:12px}.closing h2 br{display:none}footer td:first-child{width:110px;font-size:10px;padding-right:14px}footer td{font-size:11px}footer .footer-logo{width:260px}.floating{padding:9px 12px;gap:12px}.floating>a:first-child{min-width:0;flex:1;padding:13px 12px;gap:6px;font-size:11px;justify-content:center}.floating>a:first-child small{display:none}.floating>a:last-child{flex-shrink:0}.floating strong{font-size:17px;letter-spacing:0}.floating small{font-size:8px}body{padding-bottom:70px}.desktop-only{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
@media(max-width:768px){.hero-copy .btn{white-space:nowrap;font-size:10px;gap:7px;padding:14px 10px}.hero-copy .btn span{font-size:16px}.site-header .brand{max-width:60%}}

/* 罫線・線画・余白の装飾 */
:root{--detail:#b7a0ce;--detail-ink:#916eaf;--detail-soft:#e9e0f2}
.section{isolation:isolate}.section>.inner,.section>.inner--narrow,.section>.bridge{z-index:1}.section>.bridge{position:relative}.section-detail{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.margin-label{position:absolute;top:102px;left:25px;writing-mode:vertical-rl;letter-spacing:.2em;font:9px/1.5 Arial,sans-serif;color:var(--detail-ink);display:flex;align-items:center;gap:18px}.margin-label::after{content:'';display:block;width:1px;height:75px;background:linear-gradient(var(--detail),transparent)}.detail-drawing{position:absolute;right:max(36px,calc((100% - 1100px)/2));top:58px;width:190px;height:160px;object-fit:contain;opacity:.85}.detail-dots{position:absolute;right:0;top:0;width:116px;height:76px;background-image:radial-gradient(#bda5d3 1.1px,transparent 1.1px);background-size:10px 10px;opacity:.45;clip-path:polygon(45% 0,100% 0,100% 100%,0 100%)}.detail-cross{position:absolute;left:24px;bottom:30px;width:11px;height:11px;border:1px solid var(--detail);transform:rotate(45deg)}.fold-mark{display:inline-block;position:relative;width:27px;height:20px;margin-right:12px;flex-shrink:0}.fold-mark::before,.fold-mark::after{content:'';position:absolute;top:0;width:14px;height:20px;clip-path:polygon(0 0,100% 22%,100% 100%,0 78%);background:#6c4496}.fold-mark::before{left:0}.fold-mark::after{left:13px;transform:scaleX(-1);background:#b79ace}.section-en{position:relative;display:flex;align-items:center;gap:0;line-height:1.1}.section-en .fold-mark{margin-top:8px}.section-en::after{content:'';display:block;width:38px;height:1px;background:var(--detail);margin:15px 0 0 20px;transform:rotate(-35deg)}.contact .section-en,.closing .section-en,.voices .section-en,.faq .section-en{justify-content:center}.eyebrow{display:flex;align-items:center}.eyebrow .fold-mark{width:18px;height:14px;margin-right:10px}.eyebrow .fold-mark::before,.eyebrow .fold-mark::after{width:9px;height:14px}.eyebrow .fold-mark::after{left:8px}.bridge::before{content:'';display:block;width:40px;height:1px;background:var(--detail);margin:0 auto 20px}.bridge i{font-size:14px;border:1px solid #c9b8da;border-radius:50%;width:25px;height:25px;display:flex;align-items:center;justify-content:center;margin:16px auto 0;background:#fff}.hero-detail{position:absolute;inset:0;z-index:1;pointer-events:none}.hero-side-label{position:absolute;top:66px;left:26px;writing-mode:vertical-rl;font:9px/1 Arial;letter-spacing:.2em;color:#a389bb}.hero-side-label::after{content:'';height:100px;width:1px;background:#cfc0df;display:inline-block;margin-top:22px}.hero-dot-grid{position:absolute;top:25px;left:44%;width:72px;height:52px;background-image:radial-gradient(#b496cb 1.3px,transparent 1.3px);background-size:10px 10px;opacity:.6}.hero-fold{position:absolute;left:calc(52% - 18px);top:0;width:90px;height:100%;overflow:visible;fill:none;stroke:#a280bd;stroke-width:1;opacity:.85}.hero-cross{position:absolute;left:28px;bottom:40px;font:200 24px/1 Arial;color:#ad91c5}.hero-main{background:#fcfbfe}.hero-main::before{content:'';position:absolute;left:0;bottom:0;width:54%;height:58%;background:linear-gradient(140deg,transparent 34%,#f3edf8 34%,#f3edf8 54%,transparent 54%);opacity:.65}.hero h1 em{position:relative;display:inline-block}.hero h1 em::after{content:'';display:block;position:absolute;bottom:3px;left:0;width:100%;height:5px;background:linear-gradient(90deg,#dac8e8 0 75%,transparent 75%);transform:skewX(-30deg);z-index:-1}.estimate-stamp{position:absolute;z-index:3;top:27px;right:30px;width:110px;height:110px;background:#ffffffed;border:1px solid #8461a5;outline:1px solid #ffffffb3;outline-offset:6px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--purple);transform:rotate(10deg)}.estimate-stamp span{font:7px/1.8 Arial;letter-spacing:.2em}.estimate-stamp strong{font-size:14px;line-height:1.55;text-align:center;margin:5px 0}.ceo-chip{border:1px solid #cdbedc;box-shadow:none}.ceo-chip::before{content:'';position:absolute;left:-10px;top:23px;width:16px;height:16px;background:white;border-left:1px solid #cdbedc;border-bottom:1px solid #cdbedc;transform:rotate(45deg);z-index:-1}.trust>div{position:relative}.trust>div::after{content:'';position:absolute;left:28px;bottom:-15px;width:23px;height:2px;background:var(--detail)}.trust>div:first-child::before{content:'+';position:absolute;left:-22px;top:38px;font:16px/1 Arial;color:var(--detail)}

.price{background:#f6f2fa}.price::before,.categories::before,.voices::before,.closing::before{content:'';position:absolute;z-index:0;inset:0 0 auto;height:42px;pointer-events:none;background:#fff;clip-path:polygon(0 0,100% 0,100% 15%,0 100%)}.price .detail-drawing{width:220px;top:70px}.price .grid--side .card{position:relative;border-top:1px solid #bda5cf;box-shadow:10px 10px 0 #e9e0f2}.price .grid--side .card::before,.price .grid--side .card::after{content:'';position:absolute;width:13px;height:13px;border-color:var(--purple);border-style:solid}.price .grid--side .card::before{left:-1px;top:-1px;border-width:2px 0 0 2px}.price .grid--side .card::after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}.price .num::after{content:'';width:64px;height:6px;margin:18px auto 0;display:block;background:repeating-linear-gradient(-45deg,#ccb7de 0 1px,transparent 1px 5px)}.price table{border:1px solid #e6dcec}.price h3 .fa-file-invoice{background:white;padding:13px;border-radius:50%;border:1px solid #d9cbe5}.value .detail-drawing{top:50px;right:max(48px,calc((100% - 1100px)/2));width:185px;opacity:.72}.value .card{background:transparent}.value .card::after{content:'';position:absolute;left:0;top:-3px;width:5px;height:5px;background:var(--purple);transform:rotate(45deg)}.value .card .icon{border:1px solid #d5c6e1;width:60px;height:60px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;font-size:24px;background:#fbf9fd}.value .card::before{font-size:61px;color:#f0eaf5;-webkit-text-stroke:1px #c2abd4;top:20px;right:20px}.worries{background:#f9f7fb}.worries::before{content:'';position:absolute;right:0;bottom:0;height:210px;width:250px;clip-path:polygon(100% 0,100% 100%,0 100%);background:repeating-linear-gradient(-45deg,transparent 0 8px,#e8dff0 8px 9px)}.worries .detail-drawing{height:190px;width:140px;right:max(45px,calc((100% - 1100px)/2));top:30px;transform:rotate(20deg)}.worries .card{position:relative;border-left:0;border-top:1px solid #b89ccc;border-bottom:1px solid #e3d8ec;background:#fff!important}.worries .card::after{content:'';position:absolute;bottom:-10px;right:35px;background:#fff;width:18px;height:18px;border-bottom:1px solid #e3d8ec;border-right:1px solid #e3d8ec;transform:rotate(45deg)}.worries .card h3::before{content:'Q.';font:700 19px/1 Arial;color:#b292c9;margin-right:12px}.reasons .detail-drawing{width:195px;top:90px;opacity:.65}.survey-photo::before{content:'';position:absolute;z-index:-1;left:-13px;bottom:17px;right:20px;top:15px;border:1px solid #b9a0ce;clip-path:polygon(0 0,93% 0,100% 100%,7% 100%)}.survey-photo::after{content:'';width:82px;height:65px;position:absolute;right:-17px;bottom:8px;z-index:-1;background-image:radial-gradient(#b89bcf 1.3px,transparent 1.3px);background-size:9px 9px}.reason-no{font-size:45px;display:flex;align-items:center;gap:18px}.reason-no::after{content:'';width:34px;height:1px;background:var(--detail);transform:rotate(-38deg)}.reasons .card{position:relative}.reasons .card::before{content:'+';position:absolute;right:0;top:26px;font:200 17px/1 Arial;color:#bca3ce}.categories .detail-drawing{width:145px;height:100px;top:48px;right:max(45px,calc((100% - 1100px)/2));opacity:.8}.cat-grid{counter-reset:category}.cat{counter-increment:category;border:1px solid #e8def0;box-shadow:none;border-radius:2px}.cat::before{content:counter(category,decimal-leading-zero);position:absolute;top:9px;left:11px;font:9px/1 Arial;letter-spacing:.08em;color:#baa2cd}.cat::after{content:'↗';position:absolute;right:8px;bottom:7px;font-size:10px;color:#a489bc}.category-icon svg{stroke-width:1.8}.cat:hover{background:#fcfaff;transform:translateY(-2px);transition:transform .2s}.categories .card{position:relative}.categories .card::after{content:'';position:absolute;right:0;top:-1px;width:60px;height:1px;background:var(--purple)}.area .detail-drawing{width:130px;height:180px;right:0;top:auto;bottom:-18px;transform:rotate(-20deg);opacity:.7}.area-map{overflow:visible;box-shadow:12px 12px 0 #f3edf8}.area-map::before{content:'';position:absolute;inset:-10px 10px 10px -10px;border:1px solid #c4afd7;z-index:-1}.area-map::after{content:'+';position:absolute;left:-18px;top:-23px;font:24px/1 Arial;color:#a78cbd}.area-map iframe{border-radius:2px}.area .section-detail::after{content:'';width:210px;height:210px;border:1px solid #e4d9ed;border-radius:50%;position:absolute;left:10px;top:28px}
.contact{background:#f7f3fb}.contact .detail-drawing,.closing .detail-drawing{right:max(30px,calc((100% - 1100px)/2));top:80px;width:145px;height:135px;transform:rotate(12deg);opacity:.72}.contact .section-detail::before,.closing .section-detail::before{content:'';position:absolute;width:200px;height:100px;left:35px;bottom:150px;border:1px dashed #d4c2e3;border-radius:50%;transform:rotate(-35deg)}.contact .card,.closing .card{position:relative;border:1px solid #ddcde8;border-top:3px solid #946faf;box-shadow:7px 7px 0 #eee5f5}.contact .card::after,.closing .card::after{content:'';position:absolute;right:-1px;top:-3px;width:20px;height:20px;background:linear-gradient(45deg,#d7c5e5 50%,#f7f3fb 50%)}.contact .section-en::after,.closing .section-en::after,.voices .section-en::after,.faq .section-en::after{display:none}.works .detail-drawing{width:200px;top:45px}.works .grid--3:first-of-type{position:relative}.works .grid--3:first-of-type::before,.works .grid--3:first-of-type::after{content:'+';position:absolute;top:-9px;color:var(--detail);font:15px/1 Arial;background:white}.works .grid--3:first-of-type::before{left:-6px}.works .grid--3:first-of-type::after{right:-6px}.works .card{position:relative}.works .card::after{content:'';position:absolute;right:0;bottom:-3px;width:5px;height:5px;background:#a78abb;transform:rotate(45deg)}.before-after{gap:8px}.before-after figure{border:1px solid #dfd2e8}.before-after figcaption{font-size:8px;padding:5px 10px;letter-spacing:.15em}.voices .detail-drawing{left:22px;right:auto;width:135px;height:210px;top:50px;transform:rotate(-25deg);opacity:.7}.voices .detail-dots{right:40px;top:160px;width:90px;height:90px;clip-path:none;transform:rotate(10deg)}.voices .card:nth-child(2){border:1px solid #e4d7ed}.voices .card:nth-child(2)::after{content:'';width:15px;height:15px;background:#fff;border-right:1px solid #e4d7ed;border-bottom:1px solid #e4d7ed;position:absolute;bottom:-9px;left:44px;transform:rotate(45deg)}.voices .card:first-child,.voices .card:last-child{background:repeating-linear-gradient(-45deg,#faf8fc 0 8px,#f1eaf7 8px 9px);font:11px Arial;letter-spacing:.3em;border:1px solid #e6dced}.flow .detail-drawing{width:200px;top:70px}.flow .grid--3 .card{position:relative}.flow .step{display:inline-block;border:1px solid #bda5cf;border-radius:20px;padding:3px 12px;font-size:10px}.flow .step::before{font-size:9px}.flow .grid--3 .card::after{content:'→';position:absolute;right:-31px;top:34px;font:22px Arial;color:#bca4ce}.flow .grid--3 .card:nth-child(3n)::after{content:'↓';right:0}.flow .grid--3 .card:last-child::after{display:none}.flow .inner>.card{border:1px solid #e1d4eb;border-left:3px solid #a88bc3;position:relative}.flow .inner>.card::after{content:'';position:absolute;right:17px;top:17px;width:24px;height:24px;border-top:1px solid #b79ccd;border-right:1px solid #b79ccd}.message{background:#f8f5fb}.message .detail-drawing{width:150px;height:230px;right:4px;top:auto;bottom:0;transform:rotate(-12deg);opacity:.85}.message .detail-dots{left:0;top:0;right:auto;clip-path:polygon(0 0,100% 0,70% 100%,0 100%)}.ceo-portrait{position:relative}.ceo-portrait::before{content:'';position:absolute;inset:-14px 16px 124px -14px;border:1px solid #c6b2d7;z-index:-1}.ceo-portrait::after{content:'';position:absolute;right:-13px;top:20px;width:50px;height:120px;background:repeating-linear-gradient(135deg,transparent 0 7px,#c4acd6 7px 8px);z-index:-1}.ceo-portrait figcaption{position:relative}.ceo-portrait figcaption::before{content:'';position:absolute;right:0;top:31px;width:50px;height:1px;background:#b99fcd}.faq .detail-drawing{width:145px;height:110px;right:calc((100% - 1100px)/2);top:68px;opacity:.65}.faq .qa dt::before{width:30px;height:30px;border:1px solid #cbb6dc;border-radius:50%;text-align:center;padding-top:2px;font-size:21px;top:23px}.faq .qa dd::before{color:#b18dcb}.closing{background:#f5f0fa}.closing .section-detail::after{content:'';width:280px;height:240px;position:absolute;right:0;bottom:0;background:repeating-linear-gradient(-45deg,transparent 0 12px,#e1d4eb 12px 13px);clip-path:polygon(100% 0,100% 100%,0 100%)}.footer-sketch{margin:0 auto 20px;width:260px;opacity:.75}.footer-sketch img{width:100%}footer.section{padding-top:30px!important}.footer-logo{margin-bottom:30px!important}.floating{border-top:1px solid #b89ccf}.btn{position:relative}.btn::before{content:'';position:absolute;left:6px;top:6px;width:8px;height:8px;border-left:1px solid #ffffff50;border-top:1px solid #ffffff50;pointer-events:none}.btn--ghost::before{border-color:#cbb9dd}
@media(max-width:1100px){.margin-label{left:9px;font-size:8px}.detail-drawing{right:30px;width:150px;height:120px}.price .detail-drawing{width:180px}.hero-side-label{left:16px;font-size:8px}.hero-fold{left:calc(57% - 18px)}.hero-dot-grid{left:47%}.estimate-stamp{width:90px;height:90px;right:20px}.estimate-stamp strong{font-size:12px}.faq .detail-drawing{right:30px;width:115px}.contact .detail-drawing,.closing .detail-drawing{right:15px;width:95px;top:35px}.flow .detail-drawing{width:150px}}
@media(max-width:768px){.margin-label{writing-mode:horizontal-tb;top:20px;left:22px;font-size:7px;letter-spacing:.15em;gap:12px}.margin-label::after{width:32px;height:1px;background:#c1a9d3}.detail-cross{left:auto;right:20px;bottom:20px;width:7px;height:7px}.detail-dots{width:55px;height:40px;background-size:7px 7px;opacity:.35}.detail-drawing,.price .detail-drawing,.value .detail-drawing,.reasons .detail-drawing,.categories .detail-drawing,.works .detail-drawing,.flow .detail-drawing,.faq .detail-drawing{width:85px;height:65px;right:18px;top:8px;opacity:.65}.worries .detail-drawing{width:55px;height:92px;right:8px;top:0}.section-en .fold-mark{width:20px;height:16px;margin-right:9px;margin-top:5px}.section-en .fold-mark::before,.section-en .fold-mark::after{width:10px;height:16px}.section-en .fold-mark::after{left:9px}.section-en::after{width:24px;margin-left:12px}.hero-side-label,.hero-cross{display:none}.hero-dot-grid{left:auto;right:14px;top:14px;width:35px;height:25px;background-size:7px 7px;opacity:.4}.hero-fold{width:100%;height:45px;left:0;top:auto;bottom:264px;transform:rotate(90deg);display:none}.hero-main::before{height:45%;width:100%;bottom:300px;opacity:.4}.hero h1 em::after{height:3px;bottom:1px}.hero-copy{padding-top:34px}.hero .eyebrow{font-size:8px;letter-spacing:.18em}.hero .eyebrow .fold-mark{width:14px;margin-right:8px}.hero .eyebrow .fold-mark::before,.hero .eyebrow .fold-mark::after{width:8px;height:12px}.hero .eyebrow .fold-mark::after{left:7px}.estimate-stamp{width:74px;height:74px;top:35px;right:20px;outline-offset:4px}.estimate-stamp span{font-size:5px}.estimate-stamp strong{font-size:10px;margin:3px 0}.trust>div::after{left:16px;bottom:-11px;width:16px}.trust>div:first-child::before{display:none}.hero .bridge{margin-top:40px}.bridge::before{width:28px;margin-bottom:15px}.price::before,.categories::before,.voices::before,.closing::before{height:23px}.price .num::after{height:5px;width:48px;margin-top:12px}.price h3 .fa-file-invoice{padding:9px}.value .card .icon{width:49px;height:49px;font-size:20px}.value .card::before{font-size:54px;top:20px}.value .card::after{left:2px}.worries::before{width:130px;height:140px;opacity:.7}.worries .card h3::before{font-size:17px}.survey-photo::before{left:-6px;right:12px;top:9px}.survey-photo::after{right:-5px;width:60px}.reason-no{font-size:33px}.cat::before{font-size:7px;top:7px;left:7px}.cat::after{font-size:8px;bottom:5px;right:5px}.area .detail-drawing{width:70px;height:100px;right:0;bottom:5px;top:auto}.area .section-detail::after{width:120px;height:120px;top:45px;left:0}.area-map{box-shadow:7px 7px 0 #f1e9f7;margin-top:8px}.area-map::before{inset:-5px 5px 5px -5px}.area-map::after{font-size:18px;left:-10px;top:-15px}.contact .detail-drawing,.closing .detail-drawing{width:66px;height:61px;right:10px;top:7px;opacity:.7}.contact .section-detail::before,.closing .section-detail::before{display:none}.contact .card,.closing .card{box-shadow:4px 4px 0 #eae0f3}.voices .detail-drawing{left:8px;right:auto;width:58px;height:90px;top:35px}.voices .detail-dots{top:120px;right:15px;width:38px;height:38px}.flow .grid--3 .card::after,.flow .grid--3 .card:nth-child(3n)::after{content:'↓';right:0;top:23px;font-size:20px}.flow .grid--3 .card:last-child::after{display:none}.flow .step{font-size:9px;padding:2px 10px}.flow .step::before{font-size:8px}.message .detail-drawing{width:80px;height:130px;bottom:-5px;top:auto;right:0}.ceo-portrait::before{inset:-7px 9px 110px -7px}.ceo-portrait::after{right:-6px;width:35px;height:80px}.ceo-portrait figcaption span{font-size:25px}.ceo-portrait figcaption::before{width:30px}.faq .qa dt::before{width:26px;height:26px;top:23px;font-size:18px;padding-top:2px}.footer-sketch{width:210px;margin-bottom:18px}.closing .section-detail::after{height:130px;width:140px}.section-en{font-size:41px!important}.letter .section-en{font-size:41px!important}.closing .section-en{font-size:48px!important}}

/* 実写カテゴリカード */
.categories .cat-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 18px}
.categories .cat{padding:0;background:#fff;overflow:hidden;border:1px solid #e1d6eb;text-align:left;border-radius:2px;transition:border-color .2s,box-shadow .2s}
.category-photo{aspect-ratio:8/5;overflow:hidden;background:#e5ddec}
.category-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.category-name{display:flex;align-items:center;min-height:68px;padding:15px 27px 15px 14px;font-size:12px;line-height:1.7;font-weight:700}
.categories .cat::before{z-index:1;top:0;left:0;background:#51307fe8;color:white;padding:4px 9px;font-size:9px;letter-spacing:.08em}
.categories .cat::after{bottom:23px;right:11px;color:#704694;font-size:12px}
.categories .cat:hover{border-color:#8053a4;box-shadow:0 5px 16px #4f2d7510}
.categories .cat:hover img{transform:scale(1.035)}
.category-photo-note{text-align:right;font-size:10px;color:#766781;margin:-12px 0 28px;line-height:1.8}
@media(max-width:1000px){.categories .cat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:768px){.categories .cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.category-name{font-size:11px;min-height:66px;padding:12px 23px 12px 11px}.categories .cat::after{right:9px;bottom:23px}.category-photo-note{text-align:left;font-size:9px;margin-bottom:22px}.categories .cat::before{font-size:8px;padding:3px 7px}}
@media(prefers-reduced-motion:reduce){.category-photo img,.categories .cat{transition:none}}

.categories .category-photo-note{font-size:10px;color:#766781}

/* 日本語見出し */
.section .section-en,.section .letter .section-en,.section.closing .section-en{font-family:"Noto Sans JP",sans-serif;font-size:34px!important;font-weight:800;line-height:1.55;letter-spacing:.04em;margin-bottom:22px!important}
.section-en .fold-mark{margin-top:0}.section-en::after{margin-top:0;flex-shrink:0}
.section-en+h2{font-size:25px;line-height:1.8}
.contact .section-en,.closing .section-en,.voices .section-en,.faq .section-en{justify-content:center}
.hero .eyebrow{font-family:"Noto Sans JP",sans-serif;font-size:12px;letter-spacing:.12em}
.hero-side-label,.margin-label{font-family:"Noto Sans JP",sans-serif;letter-spacing:.12em}
.estimate-stamp span{font-family:"Noto Sans JP",sans-serif;font-size:8px;letter-spacing:.02em}
.trust span,.before-after figcaption{font-family:"Noto Sans JP",sans-serif}
.before-after figcaption{font-size:10px}
.flow .step::before{content:none}.worries .card h3::before{content:'・'}
.qa dt::before{content:'問';font-family:"Noto Sans JP",sans-serif;font-size:17px;line-height:1.5}
.qa dd::before{content:'答';font-family:"Noto Sans JP",sans-serif;font-size:16px}
.ceo-portrait figcaption{font-family:"Noto Sans JP",sans-serif;font-size:19px;letter-spacing:.06em}
.voices .card:first-child,.voices .card:last-child{font-family:"Noto Sans JP",sans-serif;font-size:17px;letter-spacing:.05em}
@media(max-width:768px){.section .section-en,.section .letter .section-en,.section.closing .section-en{font-size:26px!important;letter-spacing:.01em;line-height:1.55;gap:0}.section-en::after{width:18px;margin-left:9px}.section-en+h2{font-size:22px}.hero .eyebrow{font-size:9px;letter-spacing:.02em}.estimate-stamp span{font-size:6px}.margin-label{font-size:8px}.qa dt::before{font-size:15px}.qa dd::before{font-size:15px}.ceo-portrait figcaption{font-size:16px}}

/* 自然な配色 */
:root{--bg:#fff;--bg-sub:#f4f1eb;--bg-box:#e7e8e1;--bg-invert:#654b73;--purple:#654b73;--deep:#303b35;--lavender:#8d7a96;--text:#303832;--text-sub:#60675f;--text-mute:#76776e;--line:#d9dad1;--detail:#b8b4a4;--detail-ink:#788371;--detail-soft:#e7e9df;--cream:#f5f1e8;--sage:#edf1e9;--forest:#344d43;--brass:#92744d}
body{background:#fff;color:var(--text)}
h1,h2,h3{color:var(--deep)}
.section .section-en{color:var(--deep)}
.note{color:#73796e}
.section-en::after,.bridge::before{background:#ae9f82}
.fold-mark::before{background:#725880}.fold-mark::after{background:#b9aaa1}
.detail-dots,.hero-dot-grid{background-image:radial-gradient(#98a18e 1.1px,transparent 1.1px)}
.detail-drawing{opacity:.75}.margin-label,.hero-side-label{color:#737e6d}
.margin-label::after{background:linear-gradient(#aeb6a5,transparent)}
.site-header{border-top-color:var(--purple);border-bottom:1px solid #ecebe5}
.site-header nav a{color:#3b463f}.header-call{color:#48564b}
.btn{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 4px 12px #4531470b}
.btn:hover{background:#4e385a;border-color:#4e385a}.btn--ghost{background:#fff;color:#4f5f51;border-color:#8d9a88;box-shadow:none}.btn--ghost:hover{background:#425a4b;border-color:#425a4b}
a:focus-visible{outline:3px solid #a88751;outline-offset:4px}
.hero-main{background:#f7f5ef}.hero-main::before{background:linear-gradient(140deg,transparent 34%,#e7eade 34%,#e7eade 54%,transparent 54%);opacity:.7}
.hero h1{color:#303a34}.hero h1 em{color:#70527e}.hero h1 em::after{background:linear-gradient(90deg,#d9c6d1 0 75%,transparent 75%)}
.hero-lead strong{color:#51664d;background:linear-gradient(transparent 67%,#dce5ce 67%)}
.hero-visual::after{background:linear-gradient(transparent,rgba(32,44,35,.28))}.hero-fold{stroke:#a5977c}
.hero-side-label::after{background:#bdc4b3}.hero .eyebrow{color:#68795c}
.estimate-stamp{background:#fffdf7ed;color:#59624d;border-color:#a59471;outline-color:#fff8e9}
.ceo-chip{border-color:#d9d8ca;background:#fffdf9}.ceo-chip strong{color:#475a4c}.ceo-chip::before{background:#fffdf9;border-color:#d9d8ca}
.trust{padding-bottom:8px}.trust span{color:#7b795f}.trust strong{color:#4b5f51}.trust>div::after{background:#b5a17d}
.bridge{color:#52604f}.bridge i{color:#7f8f72;border-color:#c6cdbe;background:#fff}
.price{background:var(--cream)}.price .grid--side .card{background:#fffdf8!important;border-color:#b09b77;box-shadow:10px 10px 0 #e8dfce}
.price .grid--side .card::before,.price .grid--side .card::after{border-color:#92744d}
.price .num{color:var(--purple)}.price .num::after{background:repeating-linear-gradient(-45deg,#baa783 0 1px,transparent 1px 5px)}
.price table{border-color:#ddd6c6}.price thead th{background:#526257;color:#fff}.price tbody tr:nth-child(odd){background:#fbf9f4}.price td{border-bottom-color:#e5dfd2}.price td:last-child{color:#5d456a}
.price h3{color:#4c5e4b}.price h3 .fa-file-invoice{background:#fffdf8;border-color:#d7ccb5;color:#9a7b4f}
.value{background:#fff}.value .card .icon{color:#60765a;border-color:#d2d9c8;background:#f2f5ec}.value .card::before{color:#f2f1e9;-webkit-text-stroke:1px #b6b59e}.value .card::after{background:#a58a5f}
.worries{background:#eef2e9}.worries .card{border-top-color:#a3b397;border-bottom-color:#d9dfd0;background:#ffffffeb!important}.worries .card::after{border-color:#d9dfd0}.worries .list li::before{color:#788b67}.worries .card h3::before{color:#879570}
.worries::before{background:repeating-linear-gradient(-45deg,transparent 0 8px,#d6decc 8px 9px)}
.reasons{background:#fff}.reason-no{color:#9a8865}.reasons .card::before{color:#a39e83}.survey-photo::before{border-color:#aeb59e}.survey-photo::after{background-image:radial-gradient(#a3ae91 1.3px,transparent 1.3px)}
.categories{background:#f4f2ec}.categories .cat{border-color:#e0ddd2;background:#fff;box-shadow:0 2px 6px #3e443305}.categories .cat::before{background:#596952ed}.categories .cat::after{color:#8d7756}.categories .cat:hover{border-color:#9caa8d;box-shadow:0 8px 22px #45543d12}
.categories .cat:nth-child(5n+2)::before{background:#7b6b58ed}.categories .cat:nth-child(5n+4)::before{background:#725a7bed}.category-name{color:#3d4439}.category-photo{background:#ecebe4}.tabs{border-color:#d7d9cc}.tabs span{color:#68705f}.tabs span.on{background:var(--purple)}
.categories .category-photo-note{color:#747568}.categories .card{border-top-color:#d6d8cd}
.area{background:#fff}.area-map{background:#e7ebe0;box-shadow:10px 10px 0 #edf0e6}.area-map::before{border-color:#b9c1ab}.area-label{background:#526748;box-shadow:none}.area .section-detail::after{border-color:#e1e6d8}
.contact{background:#eeeae1}.contact .card{border-top-color:#a48f69;box-shadow:7px 7px 0 #dfd8cb}
.contact .card::after{border-color:#b9a98b}.contact .section-detail::before{border-color:#c4b9a0}
.field>span{color:#4e5c4a}.field input,.field select{background:#fafbf7;border-color:#d7dccf;color:#3c483a}.field input::placeholder{color:#82887b}
.field input:focus,.field select:focus{outline:2px solid #9aab8a;outline-offset:2px}
.works{background:#fff}.works .num{color:#596c50}.works .num span{color:#68745d}.works .card{border-bottom-color:#d9dcd0}.works .card h3{color:#3e493c}.works .card .note:last-child{color:var(--purple)}
.before-after img{background:#eceee6}.before-after figcaption{background:#6c6d5a}.before-after figure+figure figcaption{background:#647b52}
.voices{background:#f6f1e8}.voices .lead{color:#766345}.voices .stars{color:#a48242}.voices .card{border-color:#e2dacb}.voices .card:first-child,.voices .card:last-child{color:#ae9f85;background:repeating-linear-gradient(-45deg,#faf7f0 0 7px,#f0eadf 7px 8px)}.voices .card:nth-child(2)::before{color:#e8ddc8}.voices .card:nth-child(2)::after{border-color:#e2dacb}
.flow{background:#fff}.flow .step{color:#5f7154;border-color:#bdc9af;background:#f4f7ef}.flow .grid--3 .card::after{color:#879b75}.flow .inner>.card{background:#f0f3e9!important;border-left-color:#899b72}.flow .block-label{color:#6c7f5e}
.message{background:#e9eee5}.letter .who{border-color:#cbd4c1;color:#53634c}.ceo-portrait::before{border-color:#9fae91}.ceo-portrait::after{background:repeating-linear-gradient(-45deg,transparent 0 7px,#a5b097 7px 8px)}.ceo-portrait figcaption{color:#4b5e43}.ceo-portrait figcaption::before{background:#a59572}
.faq{background:#fff}.qa dt{color:#374633}.qa dt::before{color:#6c805b;border-color:#bcc8b1}.faq .qa dd::before{color:#927c54}
.closing{background:#344d43;color:#f5f4eb}.closing::before{background:#fff}.closing .section-en,.closing h2{color:#fff}.closing .inner--narrow>p{color:#eef1e8}.closing .section-en::after{background:#b5bd9f}.closing .fold-mark::before{background:#e6ddc7}.closing .fold-mark::after{background:#9cae92}
.closing .margin-label{color:#c4cdb8}.closing .detail-dots{opacity:.25}.closing .detail-drawing{opacity:.65}.closing .detail-cross{border-color:#9caf94}.closing .section-detail::after{background:repeating-linear-gradient(-45deg,transparent 0 12px,#91a48c45 12px 13px)}
.closing .section-detail::before{border-color:#aab99966}.closing .card{color:#354331;background:#fffdf8!important;border-top-color:#b9a77c;box-shadow:8px 8px 0 #243e34}.closing .card .block-label{color:#637457}.closing .card::after{border-color:#b5a580}.closing .card .note{color:#71786a}.closing a[href^="tel:"]{background:#eee8da;color:#354b3e;border-color:#eee8da}.closing a[href^="tel:"]:hover{background:#fffdf6}
footer.section{background:#faf9f5;border-top:1px solid #e1e4d8}footer tbody tr:nth-child(odd){background:transparent!important}footer td{border-color:#e1e3d8}footer td:first-child{color:#5c6b50}
.floating{border-top-color:#bec7b2;background:#fffef9;box-shadow:0 -4px 22px #34432d0a}.floating>a:first-child{background:var(--purple)}.floating strong{color:#4b6047}.floating small{color:#6c735f}.floating>a:first-child small{color:#fff}
@media(max-width:768px){.hero-main::before{opacity:.5}.price .grid--side .card{box-shadow:6px 6px 0 #e8dfce}.contact .card{box-shadow:4px 4px 0 #dfd8cb}.closing .card{box-shadow:4px 4px 0 #243e34}.area-map{box-shadow:6px 6px 0 #edf0e6}.margin-label::after{background:#b1b99e}}

/* 安心バッジと理由の写真 */
.trust-showcase{position:relative;background:radial-gradient(circle at 12% 38%,#fffdf5d9 0 40px,transparent 100px),radial-gradient(circle at 85% 70%,#fffef6c9 0 55px,transparent 125px),radial-gradient(circle at 55% 10%,#ffffffd9 0 35px,transparent 115px),linear-gradient(115deg,#e9eee5,#f6f2e7 52%,#e8eee7);padding:42px 24px 26px;border-top:1px solid #e0e4d8;border-bottom:1px solid #e3e5d9}
.trust-heading{display:flex;align-items:center;justify-content:center;gap:20px;font-size:23px;font-weight:700;letter-spacing:.05em;color:#424f42;margin:0 0 16px}
.trust-heading>span{width:48px;height:1px;background:#a99566}
.trust-badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1100px;margin:auto}
.benefit-medal{position:relative;aspect-ratio:300/290;text-align:center;filter:drop-shadow(0 5px 5px #544a2f0a)}
.benefit-medal>img{display:block;width:100%;height:100%}
.medal-copy{position:absolute;left:14%;right:14%;top:21%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:44%;color:#526558}
.medal-copy i{font-size:24px;color:#a38449;margin-bottom:3px}
.medal-copy span{font-size:11px;font-weight:600;line-height:1.5;white-space:nowrap}
.medal-copy strong{font-size:20px;line-height:1.5;letter-spacing:-.03em;white-space:nowrap;color:#455e4f}
.medal-ribbon{position:absolute;top:77%;left:10%;width:80%;margin:0!important;font-size:12px;color:#fffdf3;font-weight:600;letter-spacing:.06em;line-height:1.6}
.benefit-medal:nth-child(even) .medal-copy strong{color:#68516f}
.reasons .grid--2{gap:46px 48px;align-items:start}
.reasons .reason-card{padding:0 0 28px;border-top:0;border-bottom:1px solid #d8dccd;background:transparent!important}
.reasons .reason-card::before{display:none}
.reason-photo{margin:0 0 20px;position:relative}
.reason-photo::before{content:'';position:absolute;inset:10px -7px 32px 10px;border:1px solid #b6bda7;z-index:-1}
.reason-photo img{display:block;width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:2px}
.reason-photo figcaption{font-size:10px;color:#7b8271;padding:8px 0 0;line-height:1.7}
.reasons .reason-card h3{font-size:21px;line-height:1.7;margin-bottom:13px}
.reasons .reason-card .reason-no{font-size:34px;margin-bottom:8px;color:#9a8865}
.reasons .reason-card p{font-size:14px;line-height:2}
@media(max-width:1000px) and (min-width:769px){.medal-copy strong{font-size:16px}.medal-copy span{font-size:9px}.medal-ribbon{font-size:10px}.medal-copy i{font-size:20px}}
@media(max-width:768px){.trust-showcase{padding:28px 14px 20px}.trust-heading{font-size:15px;gap:8px;letter-spacing:0;margin-bottom:16px}.trust-heading>span{width:15px}.trust-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 5px;max-width:450px}.medal-copy{gap:4px;top:20%}.medal-copy i{font-size:17px;margin-bottom:1px}.medal-copy span{font-size:8px}.medal-copy strong{font-size:14px}.medal-ribbon{font-size:8px;letter-spacing:0;top:77%}.reasons .grid--2{gap:32px}.reason-photo{margin-bottom:12px}.reason-photo::before{right:-5px;inset-block:7px 29px}.reason-photo figcaption{font-size:9px}.reasons .reason-card h3{font-size:20px}.reasons .reason-card .reason-no{font-size:30px;margin-bottom:5px}.reasons .reason-card p{font-size:13px}}


.capture .floating{display:none}.capture body{padding-bottom:0}
@media(max-width:768px){.medal-copy span{font-size:9px;letter-spacing:-.04em}.medal-copy strong{font-size:14px}.benefit-medal:last-child .medal-copy strong{font-size:12px}.medal-ribbon{font-size:9px}}

/* 操作と共通の調整 */
/* 納品共通：操作、アクセシビリティ、外部依存のないアイコン */
body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
img{max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}
[hidden]{display:none!important}html{scroll-padding-top:35px}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-150%);z-index:100;background:white;color:var(--purple);padding:12px 20px}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #a88751;outline-offset:4px}
.fa-solid{display:inline-block;font-style:normal;line-height:1;width:1em;height:1em;vertical-align:-.13em}.fa-solid svg{display:block;width:100%;height:100%;overflow:visible}.bridge .fa-solid{margin-left:auto;margin-right:auto;width:27px;height:27px;padding:4px}.benefit-medal .fa-solid{width:1.25em;height:1.25em}
.footer-nav{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:center;padding:8px 0 35px;font-size:12px}.footer-nav a{text-decoration:none;color:var(--text-sub)}.footer-nav a:hover{text-decoration:underline}.brand img{height:auto}
.tabs button{appearance:none;background:none;border:0;border-bottom:2px solid transparent;color:var(--text-sub);padding:15px 20px;white-space:nowrap;font-weight:600;font-size:13px}.tabs button.on{background:var(--purple);color:white;border-color:var(--purple)}.tabs button:hover{background:#e9e7df;color:var(--deep)}
.category-action{display:block;font-size:10px;font-weight:400;color:#7b735f;margin:9px 0 0}.case-links{display:flex;flex-wrap:wrap;gap:15px 30px;margin:0 0 35px;border-bottom:1px solid var(--line);padding-bottom:22px}.case-links a{font-size:13px;color:var(--text-sub)}
.voices .voice-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px;align-items:stretch}
.voices .voice-grid .card{display:block!important;min-height:0;background:white!important;padding:32px!important;opacity:1;border:1px solid #e1d9c8;color:var(--text);font:inherit;letter-spacing:normal}.voices .voice-grid .card h3{font-size:19px}.voices .voice-grid .card::before,.voices .voice-grid .card::after{display:none}.voices .voice-grid .card p{font-size:13px}
.enquiry-form{margin-top:40px}.enquiry-form .block-label{margin-bottom:26px}.enquiry-form .btn{display:block;width:100%;max-width:420px;margin:28px auto 0;text-align:center;justify-content:center}.enquiry-form button:disabled{background:#e2e4dd;color:#73796e;border-color:#d2d6cc;box-shadow:none}.enquiry-form .form-status{color:#686e62;text-align:center;font-size:12px!important;line-height:1.9;margin-top:16px}.enquiry-form .form-status a{color:var(--purple);font-weight:700}.enquiry-form .field select{min-width:0}.enquiry-form .field{color:var(--text)}
.local-area-guide{height:100%;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:radial-gradient(circle at 20% 10%,#f5f6ef,#e6ebde);text-align:center;color:#465b3e}.local-area-guide p{font-size:13px;letter-spacing:.2em}.local-area-guide strong{font-size:27px;line-height:1.9;margin:12px 0}.local-area-guide span{font-size:12px}.local-area-guide img{width:260px;max-height:90px;margin-top:24px;opacity:.7}.area-map .area-label{display:none}
@media(max-width:768px){.tabs button{font-size:12px;padding:12px 15px;flex-shrink:0}.voices .voice-grid{grid-template-columns:1fr!important}.voices .voice-grid .card{padding:26px!important}.footer-nav{gap:14px 20px;justify-content:flex-start}.case-links{gap:14px;font-size:12px}.local-area-guide{min-height:290px}.local-area-guide strong{font-size:24px}.enquiry-form .form-status{font-size:11px!important}.site-header .header-cta{white-space:nowrap}.site-header .brand{flex-shrink:1;min-width:0}.header-cta{flex-shrink:0}.footer-logo{max-width:100%}}
@media(max-width:370px){.site-header{gap:9px;padding:12px}.floating strong{font-size:15px}.floating>a:first-child{font-size:10px}.floating{gap:8px;padding:9px}.hero-copy .cta-row{flex-wrap:wrap}.hero-copy .btn{flex:1 1 100%}.hero-copy{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
