/*
Theme Name: TripleEight
Author: TripleEight
Description: 現場仕事の会社の業務改善・仕組み化。確認用の専用テーマ。
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: tripleeight
*/
/* The shared legacy text token follows the owner's Mincho direction. */
:root{--ink:#242424;--blue:#a85257;--blue-dark:#874246;--pale:#f4eeee;--pink:#e6a4b6;--line:#d8d0d0;--paper:#fff;--serif:'Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;--gutter:clamp(24px,2.67vw,64px);--section:clamp(88px,10.4vw,170px);--ease:cubic-bezier(.16,1,.3,1);--header-height:120px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.95;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.65;letter-spacing:.025em}p+p{margin-top:20px}ul,ol{padding-left:1.2em}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,summary{cursor:pointer}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--blue-dark);outline-offset:6px}.wrap{width:100%;max-width:1440px;padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section)}.narrow{max-width:632px;margin:auto;padding-inline:32px}.blue-surface{background:var(--pale)}.small,small{font-size:13px;line-height:1.85}.small{margin-top:24px;color:#635152}.center{text-align:center}.skip{position:fixed;left:20px;top:-90px;background:#fff;padding:12px 20px;z-index:120}.skip:focus{top:16px}.brand{display:block;flex:0 0 180px;width:180px}.brand img{width:180px;height:auto;mix-blend-mode:multiply}
.site-header{position:fixed;z-index:50;inset:0 0 auto;height:var(--header-height);display:flex;align-items:center;gap:24px;padding-inline:var(--gutter);transition:background-color .3s;isolation:isolate}.site-header.compact,.inner-page .site-header{background:rgba(255,255,255,.98)}.site-header.compact{height:80px}.desktop-nav{display:flex;align-items:center;gap:clamp(18px,2.1vw,42px);margin-left:auto;font-family:var(--serif);font-size:14px;font-weight:600;line-height:1.45}.desktop-nav>a:not(.pill){position:relative;white-space:nowrap;padding-block:12px}.desktop-nav>a:not(.pill)::after{content:'';height:1px;background:currentColor;position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav>a:hover::after{transform:scaleX(1)}.pill{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;max-width:100%;border:1px solid #d0c6c6;border-radius:100px;background:white;padding:11px 52px 11px 32px;text-align:center;font-size:14px;font-weight:400;font-family:var(--sans);line-height:1.6;transition:background .25s,border-color .25s,color .25s}.pill .dot{position:absolute;right:25px;width:6px;height:6px;border-radius:50%;background:var(--blue);transition:transform .25s}.pill:hover{border-color:var(--blue);background:#f8f3f3}.pill:hover .dot{transform:scale(1.45)}.pill.nav-contact,.pill.solid{color:#fff;background:linear-gradient(105deg,#874346 0%,#a35054 68%,#92718b 100%);border:none;min-width:180px;min-height:47px;font-family:var(--serif);font-weight:600}.pill.nav-contact .dot,.pill.solid .dot{background:#fff}.pill.nav-contact:hover,.pill.solid:hover{background:var(--blue-dark)}.menu-toggle,.mobile-menu{display:none}
.hero{height:min(62vw,950px);min-height:650px;position:relative;overflow:hidden;background:#d9cab1}.hero-media{position:absolute;inset:0;display:block}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 50%}.hero-tone{position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,32,27,.2),rgba(52,46,46,.28) 48%,rgba(70,55,37,.08))}.hero-ring{position:absolute;width:56%;aspect-ratio:1;max-width:970px;border:2px solid rgba(255,255,255,.8);border-bottom-color:transparent;border-radius:50%;left:50%;top:5.2%;transform:translateX(-50%);pointer-events:none}.hero h1{position:absolute;inset:26% auto auto 50%;writing-mode:vertical-rl;text-orientation:upright;transform:translateX(-50%);font-size:clamp(40px,4.14vw,68px);font-weight:700;line-height:1.8;color:#fff;letter-spacing:.12em;text-shadow:0 2px 14px #363031}.hero-caption{position:absolute;bottom:42px;left:var(--gutter);right:var(--gutter);text-align:center;font-family:var(--serif);color:#fff;font-size:16px;letter-spacing:.08em;text-shadow:0 1px 7px #262222}.photo-caption{position:absolute;right:22px;bottom:10px;color:#fff;font-size:10px;text-shadow:0 1px 3px #000}.introduction{position:relative;overflow:hidden;background:radial-gradient(ellipse at 0% 10%,#e5c9cb 0,transparent 58%),linear-gradient(110deg,#f0e7e7,#f6f0f1);padding:clamp(100px,14.46vw,240px) var(--gutter);min-height:790px}.intro-inner{position:relative;z-index:1;display:grid;grid-template-columns:142px 420px;gap:64px;justify-content:center}.vertical-statement{writing-mode:vertical-rl;text-orientation:upright;font-size:31px;font-weight:500;letter-spacing:.18em;line-height:1.7;justify-self:center;align-self:start;padding-block:38px;position:relative}.vertical-statement::before,.vertical-statement::after{content:'';position:absolute;width:45px;height:45px;border-color:var(--ink)}.vertical-statement::before{top:0;right:-28px;border-top:1px solid;border-right:1px solid}.vertical-statement::after{bottom:0;left:-28px;border-bottom:1px solid;border-left:1px solid}.intro-copy{padding-top:18px}.intro-copy p{line-height:1.85}.intro-copy p+p{margin-top:24px}.intro-copy .lead{font-family:var(--serif);font-size:23px;line-height:1.8;font-weight:600}.intro-copy .pill{margin-top:32px}.intro-mesh,.torus,.contact-mesh{position:absolute;pointer-events:none;color:#fff;opacity:.5}.intro-mesh{width:620px;left:-330px;bottom:-65px;transform:rotate(-20deg)}.torus{width:660px;right:-225px;top:-90px;opacity:.45;transform:rotate(-25deg)}.introduction::after{content:'';width:100%;height:1px;position:absolute;bottom:10%;left:0;background:rgba(255,255,255,.5);transform:rotate(-13deg)}
.first-support{padding:125px 0 115px}.first-support h2{font-size:30px;margin-bottom:32px}.first-support p{line-height:2}.support-rows{list-style:none;padding:0;margin-block:34px 42px}.support-rows li{padding:26px 0 28px;border-top:1px solid var(--line)}.support-rows li:last-child{border-bottom:1px solid var(--line)}.support-rows span{display:block;font-size:12px;color:#705b5c;margin-bottom:14px}.support-rows h3{font-family:var(--sans);font-size:16px;font-weight:400}.first-support .pill{display:flex;width:300px;margin:auto}.section-heading{margin-bottom:64px;line-height:1.1}.section-heading>span{display:block;font-size:60px;color:var(--blue);letter-spacing:0;font-weight:600;line-height:1.12}.section-heading>small{display:block;font-family:var(--serif);font-size:15px;letter-spacing:.04em;margin-top:9px;line-height:1.6;font-weight:500}.ambient{position:relative;isolation:isolate;background:radial-gradient(ellipse 250px 310px at 5% 12%,rgba(180,104,107,.16),transparent 75%),radial-gradient(ellipse 380px 320px at 98% 85%,rgba(201,144,147,.12),transparent 75%)}.service-lead{max-width:740px}.service-lead h3{font-size:26px;margin-bottom:28px}.service-lead p{line-height:2;margin-bottom:36px}.service-lead .pill{width:400px}.service-orbit{position:relative;width:640px;height:620px;margin:95px auto 12px;max-width:100%}.orb{position:absolute;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start;width:250px;height:250px;border-radius:50%;padding-top:14px;background:radial-gradient(circle at 49% 47%,rgba(255,255,255,.6) 40%,rgba(229,216,217,.84) 69%,rgba(241,234,234,.5) 74%);transition:transform .5s var(--ease),background .5s;color:var(--ink)}.orb:hover{transform:translateY(-8px);background:radial-gradient(circle at 49% 47%,#fff 34%,#e3c7c8 70%,#ede3e3 74%)}.orb-number{font:600 30px/1.5 var(--serif);color:#9d4d51}.orb i{height:1px;width:34px;background:var(--pink);margin:24px 0 20px}.orb h3{font-size:17px;font-weight:500}.circle-arrow{border:1px solid #cec4c4;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:300 22px/1 var(--sans);color:#886f70}.orb .circle-arrow{margin-top:27px}.orb-1{left:195px;top:0}.orb-2{left:390px;top:125px}.orb-3{left:319px;top:344px}.orb-4{left:81px;top:344px}.orb-5{left:10px;top:125px}.orbit-note{text-align:center;font-size:13px;color:#705b5c;margin-bottom:92px}.production-panel{border:1px solid var(--line);border-radius:14px;padding:58px 64px 54px;position:relative;text-align:center;background:#fff}.production-panel>h2{font-size:22px;font-weight:500;position:absolute;top:-22px;left:50%;transform:translateX(-50%);background:#fff;padding:0 26px;white-space:nowrap}.production-panel>p{font-size:14px}.production-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:50px;row-gap:42px;margin:48px 0}.production-list h3{font-size:23px;margin-bottom:14px}.production-list p{font-size:14px;line-height:1.9}.production-panel .production-list>div{padding:15px 0}.production-panel .pill{min-width:280px}
.knowledge-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.knowledge h2{font-size:30px;margin-bottom:32px}.knowledge-row{padding:27px 0;border-block-start:1px solid var(--line)}.knowledge-row:nth-last-child(2){border-bottom:1px solid var(--line);margin-bottom:40px}.knowledge-row small{display:block;color:#745f60;margin-bottom:14px}.knowledge-row p{font-size:16px}.knowledge section>.pill{display:flex;width:280px;margin:35px auto 0}.book-inline{display:flex;align-items:center;gap:32px;padding-block:12px 16px;min-height:305px}.book-inline>a{flex:0 0 130px}.book-inline img{width:130px;box-shadow:8px 12px 24px #38517022}.book-inline h3{font-size:22px;margin:16px 0}.book-inline p{font-size:14px;line-height:1.9}.book-inline .pill{font-size:13px;margin-top:22px;min-height:46px;padding-left:22px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:52px;border-bottom:1px solid #d9cbd7;padding-bottom:100px}.feature-grid figure{aspect-ratio:1.45;overflow:hidden;margin-bottom:26px}.feature-grid img{height:100%;width:100%;object-fit:cover;transition:transform .7s var(--ease)}.feature-grid article:hover img{transform:scale(1.03)}.feature-grid small{font-family:var(--serif);font-size:19px;color:var(--blue)}.feature-grid h3{font-size:24px;margin:12px 0 18px}.feature-grid p{font-size:14px;line-height:2}.alternate-crop img{object-position:80%;transform:scale(1.15)}.feature-grid article:hover .alternate-crop img{transform:scale(1.18)}
.contact-band{background:radial-gradient(ellipse at 64% 0,#bbabac 0,transparent 48%),linear-gradient(115deg,#9f4f53,#ba7276 55%,#d3a5a7);color:#fff;position:relative;overflow:hidden}.contact-band>a{display:block}.contact-band .wrap{position:relative;padding-block:125px 125px;min-height:510px}.contact-band .section-heading{margin-bottom:44px}.contact-band .section-heading>span{color:#fff}.contact-band p{font-size:15px;font-weight:500;line-height:1.9;position:relative;z-index:1}.contact-band .circle-arrow{position:absolute;right:var(--gutter);top:50%;background:#fff;color:#ab5559;border:0;width:30px;height:30px;transition:transform .3s}.contact-band a:hover .circle-arrow{transform:translateX(7px)}.contact-mesh{width:600px;right:20px;top:-35px;opacity:.27;transform:rotate(-16deg)}.site-footer{padding-top:65px;padding-bottom:28px}.footer-top{display:flex;gap:64px;align-items:flex-start;justify-content:space-between;min-height:280px}.site-footer .brand{width:160px}.site-footer .brand img{width:160px}.footer-top p{font:500 16px/1.9 var(--serif);margin-top:10px}.footer-top p span{font-family:var(--sans);font-size:13px}.footer-top nav{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start;padding-top:38px;font:500 14px/1.8 var(--serif)}.footer-top nav a:hover,.footer-bottom a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:24px;font:500 12px/1.8 var(--serif);letter-spacing:.05em}.footer-bottom small{font-size:12px}
.inner-page{padding-top:120px}.page-heading{padding-top:38px;padding-bottom:45px;background:radial-gradient(ellipse 320px 280px at 8% 100%,#efe6e7,transparent 80%)}.page-heading>p{font:600 60px/1.3 var(--serif);letter-spacing:0}.page-heading h1{font-size:16px;margin-top:4px;font-weight:500}.split{display:grid;grid-template-columns:.75fr 1.08fr;gap:7vw;align-items:start}.split h2,.split h3{font-size:29px;line-height:1.7}.split p{line-height:2}.service-intro{padding-top:135px;padding-bottom:20px}.capability-band{display:flex;justify-content:space-around;align-items:center;gap:20px;background:#f9f8f8;border-radius:24px;min-height:185px;margin-top:64px;padding:35px}.capability-band span{font-family:var(--serif);font-size:26px;border-bottom:1px solid var(--pink);padding-bottom:12px}.advisory-image{display:grid;grid-template-columns:1fr 1fr;margin-top:60px;background:#faf7f7}.advisory-image figure img{height:100%;object-fit:cover;min-height:330px}.advisory-image>div{padding:44px}.advisory-image h3{font-size:23px;margin-bottom:24px}.advisory-image li{margin-bottom:12px;font-size:15px}.curriculum-disclosure{margin:42px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.curriculum-disclosure>summary{display:flex;align-items:center;justify-content:space-between;padding:28px 0;font:600 24px/1.7 var(--serif);list-style:none}.curriculum-disclosure[open]>summary>span{transform:rotate(45deg)}summary::-webkit-details-marker{display:none}.timeline{list-style:none;max-width:880px;padding:30px 0 0;margin:0}.timeline>li{display:flex;gap:40px;position:relative;padding-bottom:50px}.timeline>li:not(:last-child)::before{content:'';position:absolute;left:39px;top:50px;bottom:-10px;background:var(--line);width:1px}.timeline>li>span{z-index:1;flex:0 0 80px;border:1px solid var(--line);width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;font:500 20px/1 var(--serif)}.timeline>li>div{padding-top:14px}.timeline h3{font-size:24px;margin-bottom:16px}.timeline p{font-size:15px;line-height:1.9}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin:70px 0 45px}.theme-grid article{scroll-margin-top:120px}.theme-grid span{font:600 24px/1 var(--serif);color:var(--blue)}.theme-grid h3{font-size:25px;margin:18px 0 26px;padding-bottom:20px;border-bottom:1px solid #d2c8c9}.theme-grid p{font-size:15px}.maintenance{padding-top:42px;margin-top:48px;border-top:1px solid #d2c8c9}.maintenance h3{font-size:22px;margin-bottom:20px}#production .production-list{grid-template-columns:1fr 1fr;margin:65px 0 48px;gap:54px 80px}#production .production-list>div{border-bottom:1px solid var(--line);padding-bottom:28px}#production .production-list h3{font-size:29px}#production .production-list p{font-size:16px}.faq{padding-top:30px}.faq-list{max-width:980px;margin-inline:auto}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;gap:24px;align-items:center;font-size:17px;padding:25px 0;line-height:1.8}.faq-list summary>span{font:600 23px/1 var(--serif);color:var(--blue)}.faq-list summary i{width:18px;height:18px;position:relative;margin-left:auto;flex:0 0 18px}.faq-list summary i::before,.faq-list summary i::after{content:'';position:absolute;top:8px;left:0;width:18px;height:1px;background:var(--blue)}.faq-list summary i::after{transform:rotate(90deg);transition:transform .2s}.faq-list details[open] summary i::after{transform:rotate(0)}.answer{padding:0 40px 28px 50px;font-size:15px;line-height:2}.mvv>section{display:grid;grid-template-columns:.6fr 1fr;gap:80px;padding:85px 0 110px}.mvv h2{font-size:35px;line-height:1.3;color:var(--blue)}.mvv h2::after{content:'';display:block;width:48px;height:1px;background:var(--pink);margin-top:26px}.mvv h2 small{display:block;color:var(--ink);font-size:13px;margin-top:8px}.mvv h3{font-size:28px;margin:0 0 35px;line-height:1.8}.mvv h4{font-size:21px;margin:40px 0 20px}.mvv p{line-height:2}.mvv dl>div{margin-bottom:34px;padding-bottom:26px;border-bottom:1px solid var(--line)}.mvv dt{font:600 25px/1.5 var(--serif);margin-bottom:18px}.mvv dd{font-size:16px}.book-cover img{width:190px;margin-top:32px;box-shadow:10px 16px 26px #304e6922}.representative .split p{font-size:15px;margin-bottom:24px}.company-data dl{max-width:800px;margin-left:auto}.company-data dl>div{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--line);padding:26px 0;gap:30px}.company-data dl>div:first-child{border-top:1px solid var(--line)}.company-data dt{font-weight:500}.company-data a{text-decoration:underline}.contact-page .pill{min-width:310px;margin-top:35px}.privacy{max-width:900px}.privacy h2{font-size:27px;margin-bottom:35px}.arrived{animation:arrive .9s var(--ease) both}@keyframes arrive{from{opacity:.75;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
/* Neutralize only the WordPress layout defaults that would change this theme. */
.keep{white-space:nowrap}.relationship{display:flex;align-items:center;justify-content:center;gap:26px;background:#f9f8f8;border-radius:28px;padding:58px 40px;margin-top:64px;min-height:510px}.relation-client,.relation-team{width:35%;position:relative;text-align:center}.relation-label{font-size:14px;font-weight:500;letter-spacing:.07em;color:#894447;margin-bottom:16px}.relation-sphere{width:100%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 37%,#ede5e5 64%,#d6acae 74%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px}.relation-sphere h3{font:500 19px/1.5 var(--sans);color:#894447;margin-bottom:12px}.relation-sphere ul{list-style:none;padding:0;width:90%;font-size:13px;line-height:1.4}.relation-sphere li{padding:4px 6px;background:#9b4c50;color:#fff;margin:3px 0;white-space:nowrap}.relation-center{width:23%;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:50%;background:radial-gradient(circle,#fff 35%,#ede4e5 67%,#d8b0b2 75%);text-align:center}.relation-center img{width:80%;mix-blend-mode:multiply}.relation-center p{font-size:12px;color:#894447;line-height:1.5}.improvement-cycle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#894447;font-size:13px}.improvement-cycle strong{border-radius:50%;background:#8b4548;color:white;display:flex;align-items:center;justify-content:center;aspect-ratio:1;width:140px;font:500 19px/1.8 var(--serif);outline:1px solid #c6a7bc;outline-offset:8px;margin:8px}.relation-sphere>p{font-size:12px;margin-top:16px;color:#894447}
@media(max-width:1000px){.relationship{padding:40px 20px;gap:12px;min-height:400px}.relation-sphere{padding:18px}.relation-label{font-size:12px}.relation-sphere ul{font-size:11px}.improvement-cycle strong{width:100px;font-size:15px}.improvement-cycle{font-size:11px;gap:6px}.relation-sphere>p{font-size:11px}}
@media(max-width:700px){.relationship{display:flex;flex-direction:column;gap:20px;margin-top:40px;padding:30px 24px;border-radius:20px}.relation-client,.relation-team{width:min(270px,100%)}.relation-center{width:170px;flex-shrink:0}.relation-center::before,.relation-center::after{content:'↓';font-size:20px;position:absolute;color:#b09fa0}.relation-center::before{transform:translateY(-102px)}.relation-center::after{transform:translateY(102px)}.relation-center p{font-size:12px}.relation-label{font-size:13px}.relation-sphere{padding:30px}.relation-sphere ul{font-size:12px}.relation-sphere h3{font-size:17px}.improvement-cycle strong{width:110px;font-size:17px}.relation-sphere>p{font-size:12px}.relation-center{margin:20px 0}.relationship .relation-team{padding-top:10px}}
.service-intro .split h2{font-size:clamp(24px,2.2vw,29px)}
.hero-image{filter:saturate(.9) contrast(.98)}
.site-header:not(.compact){background:linear-gradient(rgba(244,239,231,.78),rgba(244,239,231,.1))}
.inner-page .site-header:not(.compact){background:#fff}
.intro-mesh,.torus{aspect-ratio:1;background-position:center;background-size:contain;background-repeat:no-repeat}
.intro-mesh{background-image:url('assets/mesh.svg')}.torus{background-image:url('assets/torus.svg')}
.wp-site-blocks,.wp-block-group,.entry-content{margin-block:0}main>.wp-block-group{max-width:none}.wp-block-group.wrap{max-width:1440px}.wp-block-group.narrow{max-width:632px}.wp-block-heading{margin-top:0}body.admin-bar .site-header{top:32px}.editor-styles-wrapper{font-family:var(--sans);color:var(--ink)}
@media(min-width:1500px){.intro-inner{grid-template-columns:170px 440px;gap:100px}.service-lead{max-width:860px}.service-orbit{margin-top:100px}.contact-band .wrap{min-height:550px}}
@media(max-width:1100px){.desktop-nav{gap:18px;font-size:13px}.brand,.brand img{width:150px}.brand{flex-basis:150px}.nav-contact{min-width:155px!important}.site-header{gap:14px}.feature-grid{gap:30px}.knowledge-grid{gap:40px}.book-inline{gap:20px}.book-inline>a{flex-basis:100px}.book-inline img{width:100px}.book-inline h3{font-size:19px}}
@media(max-width:1000px){:root{--header-height:80px;--gutter:30px}.desktop-nav{display:none}.site-header{height:80px;background:rgba(255,255,255,.96)}.home .site-header:not(.compact){background:transparent}.brand,.brand img{width:155px}.brand{flex-basis:155px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;position:relative;margin-left:auto;width:44px;height:44px;padding:6px;background:transparent;border:0}.menu-toggle span{height:1px;width:30px;background:var(--ink);transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu:not([hidden]){display:flex;position:absolute;inset:80px 0 auto;height:calc(100dvh - 80px);padding:35px var(--gutter) 70px;flex-direction:column;gap:0;background:#f9f5f5;overflow:auto}.mobile-menu>a:not(.pill){padding:20px 0;border-bottom:1px solid #e2d8d9;font:600 20px/1.8 var(--serif)}.mobile-menu .pill{margin-top:30px;align-self:flex-start}.inner-page{padding-top:80px}.hero{height:70vw;min-height:590px}.hero-ring{width:75%;top:10%}.hero h1{font-size:38px}.intro-inner{grid-template-columns:110px 400px;gap:50px}.introduction{padding:110px 30px;min-height:700px}.knowledge-grid{grid-template-columns:1fr;gap:65px}.knowledge-grid>section{max-width:650px;width:100%;margin:auto}.book-inline{gap:38px}.book-inline>a{flex-basis:130px}.book-inline img{width:130px}.feature-grid h3{font-size:22px}.production-list{gap:35px}.footer-top{gap:35px}.footer-top nav{gap:20px}.split{gap:50px}.theme-grid{gap:32px}.mvv>section{gap:50px;grid-template-columns:.45fr 1fr}}
@media(max-width:700px){:root{--gutter:21px;--section:80px}html{scroll-padding-top:96px}body{font-size:14px;line-height:1.95}.hero{height:136vw;min-height:490px;max-height:650px}.hero-image{object-position:48% 50%}.hero-tone{background:rgba(69,62,62,.26)}.hero-ring{width:110%;top:18%;border-width:1.5px}.hero h1{top:34%;font-size:25px;line-height:1.8;letter-spacing:.12em}.hero-caption{font-size:13px;bottom:40px;max-width:260px;margin-inline:auto;line-height:1.8;letter-spacing:.02em}.photo-caption{font-size:9px;right:14px;bottom:8px}.site-header .brand,.site-header .brand img{width:145px}.site-header .brand{flex-basis:145px}.introduction{min-height:0;padding:66px var(--gutter) 75px}.intro-inner{display:block}.vertical-statement{writing-mode:horizontal-tb;text-align:center;font-size:27px;letter-spacing:.08em;padding:25px 0;margin:0 0 45px}.vertical-statement::before{right:0;width:32px;height:32px}.vertical-statement::after{left:0;width:32px;height:32px}.intro-copy{padding:0 12px}.intro-copy .lead{font-size:21px}.intro-copy p{font-size:14px;line-height:2}.intro-copy p+p{margin-top:24px}.intro-copy .pill{margin-top:30px}.intro-mesh{width:440px;left:-305px;bottom:10px;opacity:.35}.torus{width:390px;right:-145px;top:-50px;opacity:.5}.narrow{padding-inline:var(--gutter)}.first-support{padding:75px 0}.first-support h2{font-size:23px;white-space:normal;margin-bottom:28px}.first-support p{font-size:14px}.support-rows{margin:28px 0 35px}.support-rows h3{font-size:14px}.support-rows span{font-size:11px;margin-bottom:10px}.support-rows li{padding:23px 0}.pill{min-height:50px;font-size:13px;padding:12px 50px 12px 26px}.first-support .pill{width:280px}.section-heading{margin-bottom:40px}.section-heading>span{font-size:43px}.section-heading>small{font-size:13px;margin-top:8px}.service-lead h3{font-size:23px;margin-bottom:22px}.service-lead p{font-size:14px;margin-bottom:28px}.service-lead .pill{width:100%}.service-orbit{width:348px;height:340px;margin-top:64px;margin-bottom:20px}.orb{width:142px;height:142px;padding-top:8px}.orb-number{font-size:19px}.orb i{width:19px;margin:10px 0}.orb h3{font-size:12px;line-height:1.6;letter-spacing:0}.orb .circle-arrow{width:28px;height:28px;font-size:17px;margin-top:14px}.orb-1{left:calc(50% - 71px);top:0}.orb-2{left:calc(50% + 35px);top:70px}.orb-3{left:calc(50% - 4px);top:193px}.orb-4{left:calc(50% - 138px);top:193px}.orb-5{left:calc(50% - 177px);top:70px}.orbit-note{font-size:12px;text-align:left;margin-bottom:65px}.orbit-note br{display:none}.production-panel{padding:45px 20px 32px;border-radius:13px}.production-panel>h2{font-size:20px;padding:0 14px;top:-19px}.production-panel>p{font-size:13px}.production-list{grid-template-columns:1fr 1fr;gap:24px 20px;margin:24px 0 36px;text-align:left}.production-list h3{font-size:18px;margin-bottom:10px}.production-list p{font-size:12px}.production-panel .production-list>div{padding:12px 0 10px}.production-panel .pill{min-width:0;width:100%}.knowledge h2{font-size:26px}.knowledge-grid{gap:70px}.knowledge-row{padding:23px 0}.knowledge-row p{font-size:14px}.book-inline{gap:25px}.book-inline>a{flex-basis:105px}.book-inline img{width:105px}.book-inline h3{font-size:19px;margin:10px 0 14px}.book-inline p{font-size:12px}.book-inline .pill{padding-left:18px;padding-right:40px;min-height:42px;font-size:12px}.book-inline .dot{right:17px}.book-inline small{font-size:11px}.feature-grid{grid-template-columns:1fr;gap:45px;padding-bottom:60px}.feature-grid figure{aspect-ratio:1.55;margin-bottom:20px}.feature-grid h3{font-size:23px;margin:8px 0 16px}.feature-grid h3 br{display:none}.feature-grid p{font-size:14px}.contact-band .wrap{padding-top:78px;padding-bottom:80px;min-height:400px}.contact-band .section-heading{margin-bottom:32px}.contact-band p{font-size:13px}.contact-mesh{width:380px;right:-170px;top:-60px;opacity:.23}.contact-band .circle-arrow{top:50%;right:25px}.site-footer{padding-top:38px;padding-bottom:26px}.footer-top{display:block;min-height:0}.site-footer .brand,.site-footer .brand img{width:145px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:23px 18px;padding:38px 0 45px;font-size:13px}.footer-top p{margin-top:4px;font-size:16px}.footer-bottom{display:block;font-size:11px}.footer-bottom a{display:block;margin-top:18px}.footer-bottom small{font-size:11px}.page-heading{padding-top:43px;padding-bottom:35px}.page-heading>p{font-size:44px}.page-heading h1{font-size:14px}.split{display:block}.split>div{margin-top:28px}.split h2,.split h3{font-size:24px}.service-intro{padding-top:60px;padding-bottom:0}.capability-band{display:grid;grid-template-columns:1fr 1fr;gap:26px;text-align:center;padding:30px 18px;margin-top:34px;min-height:180px;border-radius:16px}.capability-band span{font-size:20px}.small{font-size:12px}.advisory-image{display:block;margin-top:35px}.advisory-image figure img{min-height:0;aspect-ratio:1.55}.advisory-image>div{padding:28px 25px}.advisory-image h3{font-size:21px}.advisory-image li{font-size:14px}.curriculum-disclosure>summary{font-size:20px;padding-block:24px}.timeline{padding-top:10px}.timeline>li{gap:22px;padding-bottom:36px}.timeline>li>span{flex-basis:54px;width:54px;height:54px;font-size:15px}.timeline>li:not(:last-child)::before{left:26px;top:36px}.timeline>li>div{padding-top:8px}.timeline h3{font-size:19px;margin-bottom:13px}.timeline p{font-size:13px}.theme-grid{display:block;margin:40px 0 35px}.theme-grid article+article{margin-top:46px}.theme-grid h3{font-size:24px;margin:15px 0 22px;padding-bottom:17px}.theme-grid p{font-size:14px}.maintenance{margin-top:32px;padding-top:32px}.maintenance h3{font-size:21px}.maintenance p{font-size:13px}#production .production-list{grid-template-columns:1fr 1fr;gap:32px 22px;margin:40px 0}#production .production-list h3{font-size:22px}#production .production-list p{font-size:13px}.faq{padding-top:0}.faq-list summary{font-size:14px;gap:14px;padding:22px 0;align-items:flex-start}.faq-list summary>span{font-size:21px;line-height:1.3}.faq-list summary i{margin-top:5px}.answer{padding:0 22px 22px 34px;font-size:13px}.mvv>section{display:block;padding:35px 0 55px}.mvv h2{font-size:30px;margin-bottom:40px}.mvv h2::after{margin-top:20px}.mvv h3{font-size:23px;margin-bottom:30px}.mvv p{font-size:14px}.mvv h4{font-size:20px}.mvv dt{font-size:22px}.mvv dd{font-size:14px}.representative .split p{font-size:14px}.book-cover img{width:135px;margin:30px 0 40px}.company-data dl>div{grid-template-columns:90px 1fr;gap:18px;padding:22px 0;font-size:13px}.company-data .section-heading{margin-bottom:32px}.contact-page .pill{min-width:0;width:100%}.privacy h2{font-size:23px}.privacy p{font-size:14px}body.admin-bar .site-header{top:46px}}
@media(max-width:365px){.service-orbit{width:100%;height:315px}.orb{width:128px;height:128px}.orb-1{left:calc(50% - 64px)}.orb-2{left:calc(50% + 22px);top:64px}.orb-3{left:calc(50% - 4px);top:177px}.orb-4{left:calc(50% - 124px);top:177px}.orb-5{left:calc(50% - 150px);top:64px}.orb h3{font-size:11px}.orb i{margin:8px 0}.orb .circle-arrow{margin-top:10px}.hero{min-height:490px}.book-inline{gap:18px}.book-inline>a{flex-basis:88px}.book-inline img{width:88px}.book-inline h3{font-size:17px}.production-list h3{font-size:17px}.first-support h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.arrived{opacity:1;transform:none}}

body.menu-open .site-header{background:#fff;}
@media(max-width:400px){.company-intro .split h2{font-size:22px;letter-spacing:0;}}

/* Copy refinement: preserve the approved composition and distinguish ways to engage. */
.orb-label{font:500 13px/1.6 var(--sans);color:#894447;min-height:45px;display:flex;align-items:center;justify-content:center}
.orb-1 .orb-label{font-weight:600}
.first-support .support-format{font-size:13px;color:#705b5c;text-align:center;margin:0 0 24px}
.production-list .product-purpose{font-weight:500;margin:0 0 12px}
.image-note{font-size:12px;line-height:1.7;color:#705b5c;margin-top:16px;text-align:right}
@media(max-width:700px){
  .orb-label{font-size:10px;min-height:28px}
  .first-support .support-format{font-size:12px;line-height:1.8}
  .image-note{font-size:11px}
  #production .production-list{grid-template-columns:1fr;gap:0}
  #production .production-list>div{padding:24px 0;border-bottom:1px solid var(--line)}
  #production .production-list>div:first-child{padding-top:0}
  #production .production-list h3{font-size:22px}
  #production .production-list .product-purpose{margin-bottom:8px;font-size:14px}
}

/* 2026-09-12: split the core message into a Japanese two-column composition. */
.hero .hero-message{position:absolute;inset:calc(5.2% + min(28vw,485px)) auto auto calc(50% + 12px);transform:translate(-50%,-50%);display:flex;flex-direction:row-reverse;align-items:flex-start;gap:.55em;color:#fff;text-shadow:0 2px 14px #363031;font:700 clamp(40px,4.14vw,68px)/1.35 var(--serif);letter-spacing:.12em;writing-mode:horizontal-tb}
.hero-message>span{display:block;writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap}
.hero-message-answer{margin-top:1em;font-size:1.08em}

/* Show the complete path from work design to time, sales and profit. */
.process-wrap{width:min(1040px,calc(100% - 60px));margin-inline:auto;text-align:center}
.process-kicker{display:inline-block;margin-bottom:22px;color:#7c6667;font-size:13px;font-weight:600;letter-spacing:.14em}
.process-lead{max-width:720px;margin:0 auto;font-size:16px;line-height:2}
.first-support .process-steps{display:grid;grid-template-columns:repeat(5,1fr);max-width:1040px;margin:58px auto 42px;border-top:1px solid #d2c8c9;border-bottom:1px solid #d2c8c9}
.process-steps li{position:relative;display:block;padding:30px 22px 32px;text-align:left;border:0}
.process-steps li+li{border-left:1px solid #d2c8c9}
.process-steps li:not(:last-child)::after{content:'→';position:absolute;z-index:1;right:-13px;top:50%;width:26px;height:26px;border-radius:50%;background:#f6f1f1;color:#7c6667;text-align:center;font:500 15px/26px var(--sans);transform:translateY(-50%)}
.process-steps li>span{display:block;margin:0 0 18px;color:#7c6667;font:600 12px/1 var(--sans);letter-spacing:.1em}
.process-steps h3{margin:0 0 10px;font-size:17px;line-height:1.55}
.process-steps p{font-size:12px;line-height:1.75}
.process-outcome{display:flex;align-items:center;justify-content:center;gap:34px;max-width:760px;margin:0 auto 34px;padding:25px 35px;border-radius:100px;background:#fff;text-align:left}
.process-outcome span{color:#7c6667;font-size:13px}
.process-outcome strong{font:600 18px/1.65 var(--serif)}

@media(max-width:1000px){
  .hero .hero-message{top:calc(10% + 37.5vw);font-size:38px}
  .first-support .process-steps{grid-template-columns:repeat(3,1fr)}
  .process-steps li:nth-child(4){border-left:0;border-top:1px solid #d2c8c9}
  .process-steps li:nth-child(5){border-top:1px solid #d2c8c9}
  .process-steps li:nth-child(3)::after{display:none}
}

@media(max-width:700px){
  .hero .hero-message{top:calc(18% + 55vw);left:calc(50% + 6px);font-size:28px;gap:.45em;line-height:1.3;letter-spacing:.1em}
  .hero-message-answer{margin-top:.9em;font-size:1.06em}
  .process-wrap{width:calc(100% - 42px)}
  .process-kicker{margin-bottom:15px;font-size:11px}
  .process-lead{font-size:14px;line-height:1.9;text-align:left}
  .process-lead br{display:none}
  .first-support .process-steps{display:block;margin:36px 0 30px;border-bottom:0}
  .process-steps li{display:grid;grid-template-columns:36px 1fr;gap:0 10px;padding:20px 0;border-bottom:1px solid #d2c8c9!important}
  .process-steps li+li{border-left:0}
  .process-steps li::after{content:'↓'!important;right:auto!important;left:5px!important;top:auto!important;bottom:-13px!important;transform:none!important}
  .process-steps li:nth-child(3)::after{display:block}
  .process-steps li:last-child::after{display:none}
  .process-steps li>span{grid-row:1/3;margin:6px 0 0}
  .process-steps h3{font-size:16px;margin-bottom:4px}
  .process-steps p{font-size:12px}
  .process-outcome{display:block;margin-bottom:28px;padding:22px 24px;border-radius:18px;text-align:center}
  .process-outcome span{display:block;margin-bottom:8px;font-size:11px}
  .process-outcome strong{font-size:16px}
}

/* Preserve the photographed subject when the portrait source fills a landscape frame. */
.feature-grid .photo-planning img{object-position:50% 58%}

@media(max-width:700px){
  .hero-image{object-position:center}
  .hero-tone{background:rgba(49,49,44,.34)}
}

/* 2026-09-13: three clear support groups, with the approved circular motif. */
.service-orbit{display:flex;align-items:flex-start;justify-content:center;gap:34px;width:100%;height:auto;min-height:300px;margin:65px auto 26px}
.service-orbit .orb{position:relative;inset:auto;width:270px;height:270px;flex:0 1 270px;padding-top:30px}
.service-orbit .orb-2{margin-top:30px}
.service-orbit .orb-label{min-height:30px}
.service-orbit .orb i{margin:20px 0}
.service-orbit .orb h3{font-size:19px}
.service-orbit .orb .circle-arrow{margin-top:24px}
.orbit-note{margin-bottom:28px;font-size:14px}
.home-products{text-align:center;border-top:1px solid var(--line);padding-top:30px;max-width:920px;margin:auto}
.home-products>p{font-size:14px;line-height:2.1;margin-bottom:24px}
.service-lead{max-width:900px}
.service-lead p{margin-bottom:0}
.home-origin>h2{margin:16px 0 30px}
.home-origin>p{font-size:15px;line-height:2}
.knowledge .home-origin>.pill{margin:30px 0 0}
.eyebrow{color:#894447;font:500 13px/1.8 var(--sans);letter-spacing:.07em}
.service-jumps{display:flex;gap:30px;border-block:1px solid var(--line);margin-top:42px;padding-block:20px}
.service-jumps a{display:flex;gap:32px;align-items:center;font-size:14px;min-height:44px}
.service-jumps a:hover{text-decoration:underline;text-underline-offset:6px}
.service-jumps span{color:var(--blue-dark)}
.continuation-lead{max-width:860px}
.production-notes{padding:26px 0 0;border-top:1px solid var(--line);margin-bottom:32px;max-width:880px;font-size:14px;color:#635152}
.production-notes p+p{margin-top:14px}
.training-list{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:54px 0 42px}
.training-list article{border-block:1px solid #d2c8c9;padding:30px 0 36px}
.training-list h3{font-size:28px;margin:12px 0 18px}
.origin-section{padding-block:100px}
.origin-grid{display:grid;grid-template-columns:.75fr 1.08fr;gap:7vw}
.origin-grid h2{font-size:32px;margin-top:24px}
.origin-grid p{line-height:2}
.contact-band p{max-width:420px}
@media(max-width:1000px){
 .service-orbit{gap:16px;min-height:240px}
 .service-orbit .orb{width:220px;height:220px;flex-basis:220px;padding-top:18px}
 .service-orbit .orb h3{font-size:16px}
 .service-orbit .orb i{margin:14px 0}
 .service-orbit .orb .circle-arrow{margin-top:18px}
 .service-jumps{justify-content:space-between;gap:14px}
 .service-jumps a{gap:14px}
}
@media(max-width:700px){
 body{font-size:15px}
 .service-orbit{display:block;position:relative;width:342px;max-width:100%;height:358px;min-height:0;margin:40px auto 20px}
 .service-orbit .orb{position:absolute;width:174px;height:174px;padding-top:17px}
 .service-orbit .orb-1{top:0;left:calc(50% - 87px)}
 .service-orbit .orb-2{top:166px;left:calc(50% - 171px);margin-top:0}
 .service-orbit .orb-3{top:166px;left:calc(50% - 3px)}
 .service-orbit .orb-label{min-height:24px;font-size:10px}
 .service-orbit .orb i{margin:10px 0 12px;width:25px}
 .service-orbit .orb h3{font-size:14px;letter-spacing:0}
 .service-orbit .orb .circle-arrow{width:29px;height:29px;font-size:17px;margin-top:14px}
 .orbit-note{font-size:13px;margin-bottom:25px}
 .home-products>p{font-size:12px;text-wrap:pretty}
 .service-lead h3{font-size:25px}
 .service-lead p{font-size:14px}
 .home-origin>h2{font-size:25px;line-height:1.8}
 .home-origin>p{font-size:14px}
 .service-jumps{display:block;margin-top:30px;padding-block:8px}
 .service-jumps a{justify-content:space-between;min-height:52px}
 .service-jumps a+a{border-top:1px solid var(--line)}
 .training-list{grid-template-columns:1fr;gap:0;margin:35px 0}
 .training-list article+article{border-top:0}
 .training-list h3{font-size:24px}
 .training-list p,.production-notes{font-size:14px}
 .origin-section{padding-block:70px}
 .origin-grid{display:block}
 .origin-grid h2{font-size:26px;margin:18px 0 32px}
 .origin-grid p{font-size:14px}
 .continuation-lead{font-size:14px}
 .contact-band .wrap{background:rgba(52,46,46,.13)}
}
@media(max-width:374px){
 .service-orbit{height:340px}
 .service-orbit .orb{width:160px;height:160px}
 .service-orbit .orb-1{left:calc(50% - 80px)}
 .service-orbit .orb-2{left:calc(50% - 156px);top:156px}
 .service-orbit .orb-3{left:calc(50% - 4px);top:156px}
 .service-orbit .orb h3{font-size:13px}
 .service-orbit .orb .circle-arrow{margin-top:10px}
}

.home-products ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0;list-style:none;padding:0;margin-bottom:24px;font-size:14px}.home-products li{white-space:nowrap}.home-products li+li::before{content:"／";color:#836b6c;padding-inline:3px}@media(max-width:700px){.home-products ul{font-size:12px}.home-origin>h2{font-size:24px}}

.hero-caption>span{display:inline-block}@media(max-width:700px){.hero-caption>span{display:block}.intro-copy .lead{font-size:20px;letter-spacing:0}}

/* 2026-09-13 approved Gallery Grid with Captions direction: clear images and useful destinations. */
.section-heading{display:flex;flex-direction:column;margin-bottom:48px;gap:8px}.section-heading>small{order:-1;font-size:32px;font-weight:600;margin:0;color:var(--ink);line-height:1.5}.section-heading>span{font-size:17px;line-height:1.6;font-weight:500;color:#705b5c}.contact-band .section-heading>small,.contact-band .section-heading>span{color:white}
.page-heading>p{font-size:17px;color:#705b5c;font-family:var(--sans)}.page-heading h1{font-size:38px;font-weight:600;margin-top:12px}
.introduction{min-height:0;padding-block:100px}.intro-inner{grid-template-columns:130px 460px;gap:70px}
.gallery-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:64px;margin-bottom:54px}.gallery-heading .section-heading{margin-bottom:0}.gallery-heading>div{width:53%}.gallery-heading h3{font-size:30px;margin-bottom:16px}.gallery-heading p{font-size:15px;line-height:1.9}
.product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 36px;margin:44px 0 0}.gallery-item{display:block;min-width:0}.gallery-caption{position:relative;padding:23px 48px 0 2px}.gallery-caption h3{font-size:26px;line-height:1.5;margin-bottom:8px}.gallery-caption p{font-size:15px;line-height:1.8;margin:0;color:#635152}.gallery-arrow{position:absolute;right:4px;top:26px;font-size:23px;line-height:1;color:#6e5a5b;transition:transform .3s}.gallery-more{display:inline-block;font-size:12px;margin-top:14px;color:#675455;text-decoration:underline;text-underline-offset:5px}.gallery-item:hover .gallery-arrow{transform:translate(3px,-3px)}.gallery-item:hover h3,.support-gallery a:hover h3{color:var(--blue-dark)}
.product-visual{position:relative;aspect-ratio:1.5;overflow:hidden;border-radius:14px;background:#eeeaea;isolation:isolate;container-type:inline-size}.visual-content{height:100%;position:relative;display:flex;align-items:center;justify-content:center;padding:8%;transition:transform .7s var(--ease)}.gallery-item:hover .visual-content{transform:scale(1.025)}.sample-label{position:absolute;bottom:12px;left:16px;color:#584b4c;font:400 10px/1.4 var(--sans);background:rgba(255,255,255,.9);padding:4px 8px;border-radius:3px}
.sample-browser{background:white;width:100%;border-radius:7px;overflow:hidden;box-shadow:0 16px 30px #24334424;transform:rotate(-3deg);font-family:var(--sans);line-height:1.6}.sample-chrome{height:20px;background:#f4f4f2;display:flex;gap:4px;padding:8px 10px}.sample-chrome i{width:4px;height:4px;border-radius:50%;background:#bababa}.mini-header{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;gap:12px;font-size:8px}.mini-header b{font:600 13px var(--serif);color:#91474b}.mini-header span{font-size:6px}.mini-hero{height:180px;position:relative;overflow:hidden}.mini-hero img{height:100%;width:100%;object-fit:cover}.mini-hero:after{content:'';position:absolute;inset:0;background:#272d2b25}.mini-hero strong{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);writing-mode:vertical-rl;font:600 25px/1.4 var(--serif);color:#fff;text-shadow:0 1px 5px #29312a}.mini-under{text-align:center;padding:15px 10px;font:500 12px var(--serif);color:#5e4d4e}
.visual-website{background:#e4dcdc}.visual-landing{background:#e8dfd3}.landing-screen{transform:rotate(3deg)}.mini-lp{display:grid;grid-template-columns:1fr .68fr;min-height:190px;background:#f6f3e9}.mini-lp>div{padding:20px}.mini-lp small{font-size:8px}.mini-lp strong{display:block;font:600 24px/1.7 var(--serif);margin:10px 0;color:#39483c}.mini-lp img{height:100%;width:100%;object-fit:cover;max-height:230px;object-position:55% 60%}.sample-button{font-size:8px;background:#41614f;color:white;padding:6px 12px;border-radius:20px;display:inline-block}.visual-recruiting{background:#e0e5d9}.recruit-screen{transform:rotate(-2deg)}.mini-recruit{height:260px;position:relative;overflow:hidden}.mini-recruit>img{height:100%;width:100%;object-fit:cover;filter:brightness(.7)}.mini-recruit>div{position:absolute;inset:25px 25px;color:#fff;display:flex;flex-direction:column;align-items:flex-start}.mini-recruit small{font-size:8px;letter-spacing:.1em}.mini-recruit strong{font:600 34px/1.7 var(--serif);margin:12px 0 18px}.mini-recruit span{font-size:8px}
.visual-manga{background:#e8dedb}.story-sheet{width:88%;background:#fffdf6;padding:26px 28px 20px;transform:rotate(3deg);box-shadow:0 16px 30px #66504322}.story-sheet>small{font:400 8px var(--sans);color:#695b4c;display:block}.story-sheet>strong{display:block;font:600 23px/1.6 var(--serif);margin:10px 0 20px;color:#5b493e}.story-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.story-panels>div{border:1px solid #a99c8c;background:#f0eee5}.story-panels span{display:block;font:500 8px var(--sans);padding:6px}.story-panels img{width:100%;height:62px;object-fit:cover}
.visual-line{background:#dceae4}.visual-line .visual-content{padding:7%;gap:7%;align-items:center}.line-message{width:50%;color:#315d4f}.line-message small{font-size:9px}.line-message strong{font:600 26px/1.7 var(--serif);display:block;margin:18px 0}.line-message>span{font-size:8px}.sample-phone{width:40%;height:270px;max-width:190px;background:#fff;border:5px solid #39443d;border-radius:24px;box-shadow:0 14px 25px #24334420;overflow:hidden;transform:rotate(5deg);font-family:var(--sans);color:#32433b}.phone-title{background:#f6f8f5;text-align:center;padding:20px 5px 10px;font-size:11px;font-weight:600}.phone-chat{background:#e6f1eb;padding:15px 10px 18px}.phone-chat span{display:block;background:white;border-radius:7px;padding:10px 7px;font-size:7px;line-height:1.8}.phone-options{padding:8px 11px}.phone-options b{display:flex;justify-content:space-between;font-size:8px;font-weight:500;padding:8px 0;border-bottom:1px solid #ceded3}.phone-options b:last-child{border:0}.phone-bottom{font-size:7px;padding:9px 14px;background:#f4f5f3;color:#58645e}.visual-system{background:#e9e2e2}.system-screen{transform:rotate(-3deg);width:100%}.system-app{display:grid;grid-template-columns:24% 1fr;min-height:240px;font-family:var(--sans)}.system-app aside{background:#f1ecec;padding:23px 13px;color:#74393c;font-size:10px;font-weight:600}.system-app aside span{display:block;font-size:8px;font-weight:400;line-height:4;margin-top:10px}.system-app>div{padding:22px 18px}.system-app small{font-size:8px;color:#786263}.system-app strong{display:block;font-size:19px;margin:8px 0 20px}.sample-table>div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:11px 0;border-bottom:1px solid #e8e4e4;font-size:8px}.sample-table>div:first-child{background:#f7f5f5;color:#786263;padding:6px}.sample-table b{font-weight:400}.sample-table em{font-style:normal;color:#376254}.system-app p{font-size:9px;margin-top:16px;color:#725e5f}
.support-gallery{display:grid;grid-template-columns:1fr 1fr;gap:36px}.support-gallery a>figure{aspect-ratio:2.1;overflow:hidden;border-radius:14px;margin-bottom:26px}.support-gallery img{width:100%;height:100%;object-fit:cover}.support-gallery .photo-planning img{object-position:50% 58%}.support-gallery h3{font-size:26px;margin:8px 0}.support-gallery h3 span{float:right;font-family:var(--sans);font-size:21px}.support-gallery small{color:#705b5c}.support-gallery p{font-size:15px;color:#635152}.knowledge{background:white}.home .knowledge{border-bottom:1px solid var(--line)}
.service-intro{padding-top:60px}.service-intro .service-jumps{margin-bottom:0}#production .product-gallery{margin-top:50px}.breadcrumb{padding-top:32px;font-size:12px;color:#6c595a}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.product-detail-top{display:grid;grid-template-columns:.85fr 1.15fr;gap:6vw;padding-block:60px 90px;align-items:center}.product-detail-intro>p:first-child{font-size:13px;color:#705b5c}.product-detail-intro h1{font-size:40px;margin:10px 0 28px}.product-detail-intro h2{font-size:25px;margin-bottom:24px}.product-detail-intro>p{font-size:15px;line-height:1.95}.product-detail-intro .pill{margin-top:30px}.sample-explanation{font-size:11px;color:#705b5c;line-height:1.8;margin-top:13px}.product-points{border-top:1px solid var(--line);padding-block:80px}.product-points>h2{font-size:30px;margin-bottom:42px}.product-points>div{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.product-points article{border-top:1px solid #d4cacb;padding-top:22px}.product-points h3{font-size:23px;margin-bottom:15px}.product-points p{font-size:15px;line-height:1.95}.detail-flow{display:grid;grid-template-columns:.75fr 1.08fr;gap:7vw}.detail-flow h2{font-size:30px;margin-bottom:24px}.detail-flow>div>p{font-size:15px;max-width:25em}.detail-flow ol{list-style:none;padding:0;counter-reset:flow}.detail-flow li{position:relative;counter-increment:flow;padding:0 0 26px 52px;margin-bottom:24px;border-bottom:1px solid var(--line)}.detail-flow li:before{content:counter(flow,decimal-leading-zero);position:absolute;left:0;top:3px;font-size:13px;color:#705b5c}.detail-flow b{font-size:18px;font-weight:500}.detail-flow li p{font-size:14px;margin-top:8px}.detail-conditions{max-width:900px}.detail-conditions h2{font-size:30px;margin-bottom:26px}.detail-conditions p{font-size:15px}.detail-conditions .pill{margin-top:32px}.back-link{display:block;width:max-content;max-width:100%;margin-top:32px;font-size:13px;text-decoration:underline;text-underline-offset:4px}.selected-service:not([hidden]){display:block;margin:0 0 38px;padding:20px 24px;background:#f4eeee;border-radius:10px;color:#6f3639;font-size:15px}
@container (max-width: 450px){.visual-content{padding:7%}.sample-chrome{height:15px;padding:6px 8px}.mini-header{padding:6px 9px}.mini-header b{font-size:10px}.mini-header span{font-size:5px}.mini-hero{height:125px}.mini-hero strong{font-size:20px}.mini-under{font-size:9px;padding:12px 6px}.mini-lp{min-height:138px}.mini-lp>div{padding:14px}.mini-lp small{font-size:6px}.mini-lp strong{font-size:18px;line-height:1.6;margin:9px 0}.mini-lp img{max-height:161px}.sample-button{font-size:6px;padding:5px 9px}.mini-recruit{height:180px}.mini-recruit>div{inset:16px}.mini-recruit strong{font-size:24px;margin:12px 0}.mini-recruit span,.mini-recruit small{font-size:6px}.story-sheet{padding:18px}.story-sheet>strong{font-size:17px;margin:8px 0 12px}.story-sheet>small{font-size:6px}.story-panels{gap:6px;margin-bottom:10px}.story-panels img{height:48px}.story-panels span{font-size:6px;padding:4px}.line-message strong{font-size:19px;margin:12px 0}.line-message small{font-size:7px}.line-message>span{font-size:6px}.sample-phone{height:196px;border-width:4px;border-radius:18px}.phone-title{font-size:9px;padding:14px 3px 7px}.phone-chat{padding:9px 6px}.phone-chat span{font-size:5px;padding:6px}.phone-options{padding:6px 8px}.phone-options b{font-size:6px;padding:6px 0}.phone-bottom{font-size:5px;padding:5px 8px}.system-app{min-height:180px}.system-app aside{padding:18px 8px;font-size:8px}.system-app aside span{font-size:6px}.system-app>div{padding:14px 12px}.system-app small{font-size:6px}.system-app strong{font-size:14px;margin:6px 0 12px}.sample-table>div{font-size:6px;padding:8px 0;gap:12px}.system-app p{font-size:7px;margin-top:12px}.sample-label{font-size:9px;bottom:8px;left:10px}}
@media(max-width:1000px){.product-detail-top{gap:32px}.product-detail-intro h1{font-size:34px}.product-detail-intro h2{font-size:23px}.product-points>div{gap:28px}.product-gallery{gap:48px 26px}.gallery-caption h3,.support-gallery h3{font-size:23px}.gallery-caption p,.support-gallery p{font-size:14px}}
@media(max-width:700px){.section-heading>small{font-size:27px}.section-heading>span{font-size:14px}.section-heading{gap:5px;margin-bottom:30px}.page-heading>p{font-size:14px}.page-heading h1{font-size:30px}.introduction{padding-block:65px}.gallery-heading{display:block;margin-bottom:32px}.gallery-heading>div{width:100%;margin-top:26px}.gallery-heading h3{font-size:25px}.gallery-heading h3 br{display:none}.gallery-heading p{font-size:14px}.product-gallery{grid-template-columns:1fr;gap:40px;margin-top:32px}.gallery-caption{padding:18px 40px 0 0}.gallery-caption h3{font-size:23px}.gallery-caption p{font-size:14px;line-height:1.8}.gallery-arrow{top:21px}.gallery-more{margin-top:9px}.support-gallery{grid-template-columns:1fr;gap:42px}.support-gallery a>figure{margin-bottom:20px;aspect-ratio:1.8}.support-gallery h3{font-size:24px}.support-gallery small{font-size:12px}.product-detail-top{display:block;padding-top:32px;padding-bottom:55px}.product-detail-intro{margin-bottom:38px}.product-detail-intro h1{font-size:34px;margin-bottom:22px}.product-detail-intro h2{font-size:24px}.product-detail-intro>p{font-size:14px}.product-detail-intro .pill{margin-top:25px}.product-points{padding-block:56px}.product-points>h2{font-size:26px;margin-bottom:32px}.product-points>div{grid-template-columns:1fr;gap:26px}.product-points h3{font-size:22px}.product-points p{font-size:14px}.detail-flow{display:block}.detail-flow h2,.detail-conditions h2{font-size:26px}.detail-flow ol{margin-top:36px}.detail-flow li{padding-left:36px}.detail-flow b{font-size:17px}.detail-flow li p{font-size:13px}.detail-conditions p{font-size:14px}.selected-service:not([hidden]){font-size:14px;padding:17px 20px}.breadcrumb{padding-top:23px;font-size:11px}}
/* Independent mobile review: keep headings at meaningful phrase boundaries. */
.product-detail-intro h2{text-wrap:balance}
@container (max-width:450px){.line-message strong{font-size:17px}}
@media(max-width:700px){.gallery-heading h3 br{display:block}}

/* Three businesses lead; individual products live one level deeper. */
.home-groups .gallery-heading{margin-bottom:48px}.management-feature{display:grid;grid-template-columns:1fr 1.08fr;gap:40px;padding:48px;background:#f2efef;border-radius:16px;align-items:center}.service-state{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#625051;font-size:13px;line-height:1.6}.service-state small{display:inline-block;border:1px solid #c3b6b7;border-radius:4px;padding:3px 9px;font-size:11px;color:#5f4e4f}.management-copy h3,.management-copy h2{font-size:32px;line-height:1.6;margin:20px 0 24px;letter-spacing:0}.management-copy .management-message{font:600 26px/1.75 var(--serif);color:#4b4343;margin:0 0 24px}.management-copy>p:not(.management-message){font-size:14px;line-height:2;max-width:33em}.management-tags{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;padding:22px 0 26px;margin:0;color:#705b5c;font-size:12px}.management-tags li+li{position:relative}.management-tags li+li:before{content:'／';position:absolute;left:-16px;color:#937b7c}.management-media{display:block;min-width:0}.management-media .product-visual{aspect-ratio:1.3;background:#e9e2e2}.management-media .visual-content{padding:7%}.management-media:hover .visual-content{transform:scale(1.025)}.group-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-top:44px}.group-card>figure{aspect-ratio:1.5;overflow:hidden;border-radius:14px}.group-card>figure img{width:100%;height:100%;object-fit:cover}.group-card:hover h3{color:var(--blue-dark)}.group-card:hover .gallery-arrow{transform:translate(3px,-3px)}.group-card:hover .visual-content{transform:scale(1.025)}.gallery-caption .group-members{font-size:12px;margin-top:12px;line-height:1.9;color:#705d5e}.home-groups{padding-top:100px}.home-groups+.introduction{margin-top:0}.service-management{padding-block:56px 40px}.service-management+#production{padding-top:90px}.subservice-nav{display:flex;flex-wrap:wrap;gap:12px 32px;margin:-15px 0 38px;font-size:13px;color:#705b5c}.subservice-nav a{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:5px}.product-detail-intro .preparation-note{font-size:12px;line-height:1.9;color:#6e5a5b;margin-top:20px}.management-detail .product-detail-intro h1{font-size:34px;letter-spacing:0}.management-detail .product-detail-intro h2{text-wrap:initial}
@media(max-width:1000px){.management-feature{padding:32px;gap:28px}.management-copy h3,.management-copy h2{font-size:27px}.management-copy .management-message{font-size:23px}.management-copy>p:not(.management-message){font-size:13px}.management-copy .pill{font-size:13px}.management-detail .product-detail-intro h1{font-size:29px}}
@media(max-width:700px){.home-groups{padding-top:64px}.management-feature{display:flex;flex-direction:column;align-items:stretch;padding:26px 22px;gap:30px}.management-copy h3,.management-copy h2{font-size:24px;margin:17px 0 19px;text-wrap:balance}.management-copy .management-message{font-size:23px;margin-bottom:20px}.service-state{font-size:12px;gap:10px}.service-state small{font-size:10px}.management-copy>p:not(.management-message){font-size:14px;line-height:1.9}.management-tags{font-size:11px;gap:10px 20px;padding-block:20px}.management-feature .pill{width:100%}.management-media .product-visual{aspect-ratio:1.4}.group-pair{grid-template-columns:1fr;gap:38px;margin-top:38px}.group-card .gallery-caption h3{font-size:25px}.group-card .gallery-caption .group-members{font-size:12px}.service-management{padding-block:38px 0}.service-management+#production{padding-top:65px}.subservice-nav{gap:0 24px;margin-top:-8px;margin-bottom:24px}.management-detail .product-detail-intro h1{font-size:27px}.management-detail .service-state{font-size:12px}}

/* Product imagery fills the same frame as the advisory photograph. */
.product-visual .visual-content{position:absolute;inset:0;padding:0;align-items:stretch;gap:0}
.product-visual .sample-browser{height:100%;border-radius:0;box-shadow:none;transform:none;display:flex;flex-direction:column}
.product-visual .sample-chrome{flex:none;height:clamp(14px,3cqw,20px)}
.product-visual .mini-header{flex:none;padding:clamp(8px,2cqw,14px) clamp(14px,3cqw,22px)}
.product-visual .mini-header b{font-size:clamp(11px,2.8cqw,17px)}
.product-visual .mini-header span{font-size:clamp(6px,1.4cqw,9px)}
.product-visual .mini-hero{flex:1;min-height:0;height:auto}
.product-visual .mini-hero strong{font-size:clamp(23px,6cqw,38px)}
.product-visual .mini-under{flex:none;font-size:clamp(9px,2.2cqw,13px);padding:clamp(16px,4cqw,24px) 10px}
.product-visual .mini-lp{flex:1;min-height:0}
.product-visual .mini-lp>div{padding:clamp(18px,5cqw,32px)}
.product-visual .mini-lp strong{font-size:clamp(16px,4cqw,27px)}
.product-visual .mini-lp img{min-height:0;max-height:none}
.product-visual .mini-recruit{flex:1;min-height:0;height:auto}
.product-visual .mini-recruit>div{inset:7%}
.product-visual .mini-recruit strong{font-size:clamp(25px,6.4cqw,40px);margin:4% 0}
.product-visual .story-sheet{width:100%;height:100%;padding:6%;transform:none;box-shadow:none;display:flex;flex-direction:column}
.product-visual .story-sheet>strong{font-size:clamp(21px,5cqw,31px);margin:3% 0 4%}
.product-visual .story-panels{flex:1;min-height:0;margin-bottom:3%;gap:3%}
.product-visual .story-panels>div{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.product-visual .story-panels img{height:0;flex:1;min-height:0}
.product-visual .story-sheet>small:last-child{padding-bottom:3%}
.product-visual.visual-line .visual-content{align-items:stretch;background:#e6f1eb}
.product-visual .line-message{width:48%;padding:12% 5% 8% 6%;display:flex;flex-direction:column;justify-content:center}
.product-visual .line-message strong{font-size:clamp(15px,3.9cqw,26px);letter-spacing:0;margin:12% 0}
.product-visual .sample-phone{width:52%;height:100%;max-width:none;border:0;border-radius:0;box-shadow:none;transform:none;display:flex;flex-direction:column}
.product-visual .phone-title{font-size:clamp(12px,2.8cqw,17px);padding:clamp(8px,2.6cqw,16px) 5%}
.product-visual .phone-chat{padding:clamp(8px,2.4cqw,15px)}
.product-visual .phone-chat span{font-size:clamp(7px,1.8cqw,11px)}
.product-visual .phone-options{flex:1;min-height:0;padding:0 8%;display:flex;flex-direction:column;justify-content:space-evenly}
.product-visual .phone-options b{font-size:clamp(9px,2.2cqw,13px);padding:clamp(4px,1.4cqw,8px) 0}
.product-visual .phone-bottom{font-size:clamp(7px,1.7cqw,10px);padding:clamp(7px,2cqw,12px) 8%}
.product-visual .system-app{flex:1;min-height:0}
.product-visual .system-app aside{padding:6cqw 3cqw;font-size:clamp(10px,2.4cqw,15px)}
.product-visual .system-app aside span{font-size:clamp(8px,1.9cqw,12px)}
.product-visual .system-app>div{padding:5cqw 4cqw}
.product-visual .system-app strong{font-size:clamp(20px,4.5cqw,28px);margin:2cqw 0 4cqw}
.product-visual .sample-table>div{font-size:clamp(9px,2cqw,12px);padding:2.4cqw 0}
.product-visual .sample-table>div:first-child{padding:1.5cqw}
.product-visual .system-app p{font-size:clamp(8px,1.9cqw,11px);margin-top:3cqw}

/* 2026-09-14: service names first, three entrances, details on their own pages. */
:root{--header-height:88px}
.site-header{background:#fff;border-bottom:1px solid #e8e8e5}
.site-header .brand,.site-header .brand img{width:158px}.site-header .brand{flex-basis:158px}
.inner-page{padding-top:88px}.wrap{max-width:1320px}
.desktop-nav{font-family:var(--sans);font-size:13px;gap:27px}
.home-hero{padding-top:116px;display:grid;grid-template-columns:1fr 1.13fr;gap:42px;align-items:center}
.home-positioning{padding-block:25px}.target-label{color:#6a5758;font-size:13px;letter-spacing:.025em;margin-bottom:18px}
.home-positioning h2{font-family:var(--sans);font-size:clamp(25px,2.65vw,38px);font-weight:500;line-height:1.7;letter-spacing:-.025em}
.home-positioning>p:not(.target-label){font-size:14px;line-height:2;margin-top:24px;max-width:32em}.mobile-break{display:none}
.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:13px;border-bottom:1px solid #bdaeaf;line-height:1.7}
.text-link:hover{color:var(--blue-dark);border-color:var(--blue-dark)}.text-link span{transition:transform .25s}.text-link:hover span{transform:translateX(3px)}
.home-positioning>.text-link{margin-top:23px}.home-hero .hero{height:390px;min-height:0;max-height:none;border-radius:8px}
.home-hero .hero-ring{width:74%;max-width:360px;top:50%;left:50%;transform:translate(-50%,-50%);border-width:1.5px}
.home-hero .hero .hero-message{top:50%;left:calc(50% + 5px);font-size:38px;gap:.5em;line-height:1.4;transform:translate(-50%,-50%)}
.home-hero .hero-tone{background:rgba(41,48,44,.18)}.home-hero .hero-image{object-position:50% 53%}
.home-services{padding-top:48px;padding-bottom:68px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}
.section-title-row h2,.home-process h2,.home-strength h2,.service-related h2{font-family:var(--sans);font-size:27px;line-height:1.6;font-weight:500;letter-spacing:.01em}
.service-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.service-entry{min-width:0;display:flex;flex-direction:column;border-top:1px solid #c8bcbd;padding-top:15px}
.entry-heading{min-height:86px}.entry-heading>small{display:block;color:#705b5c;font-size:11px;line-height:1.6;margin-bottom:8px}
.entry-heading h3,.entry-heading h2{font-family:var(--sans);font-size:21px;line-height:1.6;letter-spacing:-.035em;font-weight:500}
.entry-image{overflow:hidden;border-radius:8px;aspect-ratio:2;min-width:0}.entry-image .product-visual,.entry-image figure{height:100%;width:100%;aspect-ratio:auto;border-radius:0}
.entry-image img{height:100%;width:100%;object-fit:cover}.entry-image .visual-content{transition:transform .5s var(--ease)}.service-entry:hover .visual-content,.service-entry:hover .entry-image img{transform:scale(1.025)}
.entry-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-top:16px}.entry-footer p{font-size:13px;color:#554647;line-height:1.85}
.entry-footer>span{font:400 22px var(--sans);color:#705c5d}.service-entry:hover h3,.service-entry:hover h2{color:var(--blue-dark)}
.home-strength{background:#f5f3f3;padding-block:82px}.strength-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:95px}
.strength-layout>div>p:last-child{font-size:15px;line-height:2;max-width:32em;margin-top:24px}.strength-points{list-style:none;padding:0}
.strength-points li{border-top:1px solid #d3c9ca;padding:20px 0}.strength-points li:first-child{padding-top:0;border:0}
.strength-points h3{font-family:var(--sans);font-size:18px;font-weight:500;line-height:1.7}.strength-points p{font-size:14px;color:#5f4e4f;margin-top:8px;line-height:1.9}
.home-process{padding-block:82px}.home-process>p{font-size:15px;line-height:2}.process-strip{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:36px 0 28px}
.process-strip li{padding:18px 0;border-block:1px solid #d1c6c7;position:relative}.process-strip li+li:before{content:'→';position:absolute;left:-22px;top:22px;color:#7a6365}
.process-strip b{display:block;font-size:18px;font-weight:500}.process-strip span{display:block;font-size:12px;color:#705b5c;margin-top:8px}
.home-process .process-outcome{font-size:12px;color:#705b5c;display:flex;gap:24px;align-items:center;flex-wrap:wrap}.process-outcome span{color:#453e3e;font-size:16px}.home-process>.small{font-size:12px;margin-top:16px}.home-process>.text-link{margin-top:20px}
.home-about{background:#f8f4ef;padding-block:68px}.about-brief{display:flex;gap:70px;align-items:center;justify-content:space-between}.about-brief h2{font-size:28px;line-height:1.9;letter-spacing:.02em}.about-brief p:not(.target-label){font-size:14px;margin-top:20px;line-height:2}.about-brief .text-link{margin-top:22px}
.home-book{display:flex;flex-direction:column;align-items:center;gap:18px;font-size:12px;flex:0 0 240px}.home-book img{width:120px;height:auto;box-shadow:9px 14px 22px #4e423321}
.contact-band .wrap{padding-top:65px;padding-bottom:65px;min-height:270px}.contact-band .section-heading{margin-bottom:20px}.contact-band p{font-size:15px;line-height:2}.contact-band .contact-mesh{opacity:.25}
.page-heading{padding-top:34px;padding-bottom:30px;background:none}.page-heading h1{font-family:var(--sans);font-size:34px;letter-spacing:-.025em;line-height:1.6}.page-heading>p{font-size:13px}
.page-lead{font-size:22px;line-height:1.8;font-weight:500}.service-overview{padding-top:12px;padding-bottom:65px}.service-overview>.page-lead{margin-bottom:32px}
.production-catalog{padding-block:66px;border-top:1px solid #dcd6d6}.section-intro{max-width:52em;font-size:15px;line-height:1.9}
.production-featured{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:32px}.production-feature h3{font-family:var(--sans);font-weight:500;font-size:23px;line-height:1.7;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.production-feature h3>span{font-size:21px;color:#705b5c}.production-feature>.product-visual{aspect-ratio:2;border-radius:8px}.production-feature>p{font-size:14px;margin-top:16px;color:#5c4c4c}.production-feature:hover h3{color:var(--blue-dark)}
.other-services{margin-top:38px;border-block:1px solid #cfc5c5}.other-services>summary{display:flex;align-items:center;gap:22px;list-style:none;font-size:18px;line-height:1.7;padding:23px 0;font-weight:500}
.other-services>summary>span{font-size:12px;color:#705c5d;font-weight:400}.other-services>summary>i{font-style:normal;font-size:23px;margin-left:auto;color:#705b5c}.other-services[open]>summary>i{transform:rotate(45deg)}
.other-service-list{padding-bottom:20px}.other-service-list>a,.related-rows>a{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 0;border-top:1px solid #ddd6d6}
.other-service-list b,.related-rows b{display:block;font-size:19px;font-weight:500;line-height:1.7}.other-service-list small,.related-rows small{display:block;font-size:13px;color:#635152;line-height:1.8;margin-top:8px}
.other-service-list>a:hover,.related-rows>a:hover{color:var(--blue-dark)}.other-service-list>a>span:last-child,.related-rows>a>span:last-child{font-size:23px;color:#6b5859}
.production-notes{max-width:57em;margin-top:26px}.production-notes p{font-size:13px;line-height:1.9}.production-notes p+p{margin-top:10px}.production-catalog>.pill{margin-top:24px}
.service-related{background:#f5f3f3;padding-block:62px}.related-rows{margin-top:24px;max-width:960px}.related-rows>a:last-child{border-bottom:1px solid #d9d1d1}
.consulting-lead{padding-block:10px 55px}.consulting-lead>p:not(.page-lead){max-width:54em;font-size:15px;margin-top:22px}.program-facts{display:flex;flex-wrap:wrap;gap:12px 24px;margin:25px 0;color:#614f50;font-size:13px}.program-facts span+span{padding-left:24px;border-left:1px solid #cfc5c5}
.consulting-lead+.advisory{border-top:1px solid #dcd6d6;padding-top:55px}.consulting-lead+.advisory>.section-heading{display:none}
.product-detail-intro h1,.management-detail .product-detail-intro h1{font-family:var(--sans);font-size:32px;letter-spacing:-.025em;line-height:1.6}.product-detail-intro h2{font-size:23px}
@media(max-width:1050px){.desktop-nav{gap:18px}.home-hero{gap:28px}.home-positioning h2{font-size:27px}.home-hero .hero{height:340px}.service-entries{gap:18px}.entry-heading h2,.entry-heading h3{font-size:18px}.strength-layout{gap:45px}.entry-heading{min-height:80px}}
@media(max-width:700px){
:root{--header-height:76px}.inner-page{padding-top:76px}.site-header .brand,.site-header .brand img{width:142px}.site-header .brand{flex-basis:142px}
.home-hero{padding-top:95px;display:flex;flex-direction:column;align-items:stretch;gap:22px}.home-positioning{padding:0}.target-label{font-size:11px;margin-bottom:12px}.home-positioning h2{font-size:26px;line-height:1.65;letter-spacing:-.035em}.mobile-break{display:none}.home-positioning>p:not(.target-label){font-size:13px;line-height:1.9;margin-top:16px}.home-positioning>.text-link{display:none}
.home-hero .hero{height:255px}.home-hero .hero-ring{width:224px;top:50%;max-width:none}.home-hero .hero .hero-message{font-size:30px;top:50%;left:calc(50% + 5px);line-height:1.35}.home-hero .hero-image{object-position:50% 54%}
.home-services{padding-top:28px;padding-bottom:42px}.section-title-row{margin-bottom:18px;gap:14px}.section-title-row h2,.home-strength h2,.home-process h2,.service-related h2{font-size:23px}.text-link{font-size:12px;gap:12px}.service-entries{grid-template-columns:1fr;gap:0}
.service-entry{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:0 16px;padding-block:17px}.service-entry:last-child{border-bottom:1px solid #c8bcbd}.entry-heading{min-height:0;align-self:end}.entry-heading>small{font-size:10px;margin-bottom:5px}.entry-heading h2,.entry-heading h3{font-size:18px;line-height:1.6;letter-spacing:-.035em}.entry-image{grid-column:2;grid-row:1/3;width:90px;height:90px;aspect-ratio:1;align-self:center;border-radius:6px}.entry-footer{padding-top:7px;gap:8px;align-items:center}.entry-footer p{font-size:12px;line-height:1.7}.entry-footer>span{font-size:17px}.entry-image .sample-label{display:none}.entry-image .visual-content{width:200%;height:100%;left:-50%;}.entry-image .product-visual{container-type:normal}.entry-image .system-app aside{display:none}.entry-image .system-app{display:block}.home-services>.image-note{font-size:10px;line-height:1.7;text-align:left}
.home-strength{padding-block:45px}.strength-layout{display:block}.strength-layout>div>p:last-child{font-size:14px;margin-top:20px}.strength-points{margin-top:30px}.strength-points h3{font-size:17px}.strength-points p{font-size:13px}.strength-points li{padding-block:17px}
.home-process{padding-block:45px}.home-process>p{font-size:14px}.process-strip{grid-template-columns:1fr 1fr;gap:12px 24px;margin-block:24px}.process-strip li{padding-block:13px}.process-strip li:before{display:none}.process-strip b{font-size:16px}.process-strip span{font-size:11px;margin-top:5px}.home-process .process-outcome{gap:6px 16px;font-size:11px}.process-outcome span{font-size:13px}.home-process>.small{font-size:11px}.home-about{padding-block:45px}.about-brief{display:block}.about-brief h2{font-size:23px;letter-spacing:0}.about-brief p:not(.target-label){font-size:13px}.home-book{flex-direction:row;justify-content:flex-start;gap:25px;margin-top:32px}.home-book img{width:72px}.contact-band .wrap{padding-block:45px;min-height:230px}.contact-band p{font-size:13px;max-width:22em}.contact-band .circle-arrow{right:23px;width:36px;height:36px}.contact-band .section-heading{margin-bottom:18px}
.page-heading{padding-block:24px}.page-heading h1{font-size:27px;line-height:1.7}.page-lead{font-size:19px}.service-overview{padding-top:0;padding-bottom:40px}.service-overview>.page-lead{font-size:17px;margin-bottom:25px}
.production-catalog{padding-block:42px}.section-intro{font-size:14px}.production-featured{grid-template-columns:1fr;gap:30px;margin-top:24px}.production-feature h3{font-size:21px;margin-bottom:14px}.production-feature>p{font-size:13px;margin-top:12px}.production-feature>.product-visual{aspect-ratio:1.85}.other-services{margin-top:28px}.other-services>summary{position:relative;display:block;padding-right:25px;font-size:18px}.other-services>summary>span{display:block;font-size:11px;line-height:1.8;margin-top:7px}.other-services>summary>i{position:absolute;right:0;top:27px}.other-service-list b,.related-rows b{font-size:17px}.other-service-list small,.related-rows small{font-size:12px}.production-notes p{font-size:12px}.service-related{padding-block:42px}.consulting-lead{padding-bottom:35px}.consulting-lead>p:not(.page-lead){font-size:14px}.program-facts{gap:8px 16px;font-size:12px}.program-facts span+span{padding-left:0;border:0}.consulting-lead .pill{font-size:12px;padding-inline:22px 43px}.consulting-lead+.advisory{padding-top:35px}.product-detail-intro h1,.management-detail .product-detail-intro h1{font-size:27px}.product-detail-intro h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.entry-image .visual-content,.text-link span{transition:none}}
/* Narrow-screen phrase boundaries and service thumbnails. */
@media(max-width:700px){
.home-positioning .mobile-break{display:block}.home-positioning h2{font-size:25px;line-height:1.6}
.entry-image .product-visual{container-type:inline-size}.entry-image .visual-content{width:100%;left:0}
.entry-image .system-app>div{padding:8px}.entry-image .system-app small,.entry-image .system-app p{display:none}.entry-image .system-app strong{font-size:9px;margin:4px 0 9px}.entry-image .sample-table>div{font-size:4px;padding:4px 0;gap:6px}.entry-image .sample-table>div:first-child{padding:3px}
.entry-image .mini-header{padding:5px}.entry-image .mini-header b{font-size:6px}.entry-image .mini-header span{display:none}.entry-image .mini-under{display:none}.entry-image .mini-hero strong{font-size:11px}.entry-image .sample-chrome{height:9px;padding:3px}
}

/* Detail pages use business copy; the brand message keeps its serif voice. */
.product-detail-intro h2{font-family:var(--sans);font-weight:500;letter-spacing:0;line-height:1.8;text-wrap:pretty}

/* 2026-09-14: restore the owner's five connected circles, separate from 3 service entrances. */
.home-strength{background:#fbf8f8}
.strength-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:56px;align-items:center}
.strength-copy>p:not(.target-label){font-size:14px;line-height:2;margin-top:22px;max-width:32em}
.strength-copy .strength-points{margin-top:28px}
.strength-copy .strength-points li{padding-block:14px}
.strength-copy .strength-points h3{font-size:16px}
.strength-copy .strength-points p{font-size:13px;margin-top:5px;line-height:1.85}
.support-map{min-width:0}
.support-orbit{position:relative;isolation:isolate;container-type:inline-size;width:100%;max-width:640px;aspect-ratio:640/610;margin-inline:auto}
.support-circle{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:40%;aspect-ratio:1;border-radius:50%;text-align:center;color:#443c3d;background:radial-gradient(circle at 47% 43%,#fff 38%,rgba(244,238,238,.93) 61%,rgba(228,201,202,.7) 71%,rgba(234,223,223,.4) 77%);transition:transform .4s var(--ease),color .3s;}
.support-circle-1{left:30%;top:0}
.support-circle-2{left:60%;top:21%}
.support-circle-3{left:49%;top:56%}
.support-circle-4{left:11%;top:56%}
.support-circle-5{left:0;top:21%}
.support-circle-title{position:relative;z-index:1;font-family:var(--serif);font-size:clamp(13px,3.5cqw,22px);font-weight:500;line-height:1.65;letter-spacing:.02em;max-width:90%;min-height:3.3em;display:flex;align-items:center;justify-content:center;margin-top:10%}
.support-circle-arrow{position:relative;z-index:1;display:grid;place-items:center;width:clamp(26px,6.4cqw,41px);aspect-ratio:1;border:1px solid #c4b6b7;border-radius:50%;font:400 clamp(14px,3cqw,19px) var(--sans);margin-top:7%;color:#6b5859}
.support-circle:hover{z-index:2;transform:translateY(-5px);color:#6b3538}
.support-circle:focus-visible{z-index:3;outline:2px solid #91474b;outline-offset:3px}
.support-map .support-map-caption{font-size:12px;text-align:center;line-height:1.8;color:#6a5657;margin-top:18px;max-width:none}
@media(max-width:1050px){.strength-layout{gap:30px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
@media(max-width:800px){.strength-layout{display:flex;flex-direction:column;align-items:stretch;gap:0}.strength-copy>p:not(.target-label){max-width:48em}.support-map{order:2;margin-top:30px}.support-orbit{max-width:520px}.strength-copy .strength-points{display:none}}
@media(prefers-reduced-motion:reduce){.support-circle{transition:none}.support-circle:hover{transform:none}}

/* 2026-09-14: keep the approved full-width hero; business copy belongs below the image. */
.hero-fullwidth{width:100%;border-radius:0}
.home-introduction{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding-top:56px;padding-bottom:10px}
.home-introduction h2{font-family:var(--sans);font-size:clamp(24px,2.35vw,32px);font-weight:500;line-height:1.7;letter-spacing:-.025em}
.home-introduction>div>p:not(.target-label){font-size:14px;line-height:2}
.home-introduction .text-link{margin-top:16px}
@media(max-width:1000px){.home-introduction{gap:32px}}
@media(max-width:700px){.home-introduction{display:block;padding-top:32px;padding-bottom:0}.home-introduction h2{font-size:25px;line-height:1.65}.home-introduction>div+div{margin-top:18px}.home-introduction>div>p:not(.target-label){font-size:13px}.home-introduction .text-link{display:none}}

/* 2026-09-14: homepage narrative — problem, approach, entry service, proof, then company story. */
.home-introduction{padding-bottom:42px}
.home-introduction h2{max-width:23em}
.home-process{padding-top:60px;border-top:1px solid #e3dede}
.home-process .target-label{margin-bottom:12px}
.home-process .section-title-row{margin-bottom:18px}
.home-process .section-title-row h2{font-size:clamp(25px,2.3vw,32px);line-height:1.65}
.home-process .process-strip{margin-top:32px}
.home-services{padding-top:76px;border-top:1px solid #e3dede}
.home-services .section-title-row{align-items:flex-end}
.home-services .section-title-row>div{min-width:0}
.home-services .section-title-row .target-label{margin-bottom:8px}
.home-services .section-title-row h2{font-size:clamp(25px,2.3vw,32px);line-height:1.65}
.home-services .section-intro{margin-bottom:28px;max-width:52em}
.home-strength{padding-block:96px}
.home-cases{background:#f8f4ef;padding-block:82px}
.home-cases .section-title-row{margin-bottom:14px}
.home-cases h2{font-family:var(--sans);font-size:clamp(25px,2.3vw,32px);font-weight:500;line-height:1.65}
.case-lead{max-width:42em;font-size:14px;line-height:2;color:#5b4a4b}
.case-placeholders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:32px}
.case-placeholders article{min-height:180px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;border:1px solid #d7d0c7;background:rgba(255,255,255,.52)}
.case-placeholders span{font-size:11px;letter-spacing:.1em;color:#8a7576;margin-bottom:auto}
.case-placeholders h3{font:500 20px/1.65 var(--sans);margin:18px 0 6px}
.case-placeholders p{font-size:13px;color:#6f5a5b}
@media(max-width:700px){
  .home-introduction{padding-bottom:34px}
  .home-process{padding-top:42px}
  .home-process .section-title-row{margin-bottom:12px}
  .home-process .section-title-row h2,.home-services .section-title-row h2,.home-cases h2{font-size:23px}
  .home-services{padding-top:48px}
  .home-services .section-intro{font-size:13px;margin-bottom:16px}
  .home-strength{padding-block:52px}
  .home-cases{padding-block:52px}
  .case-lead{font-size:13px}
  .case-placeholders{grid-template-columns:1fr;gap:12px;margin-top:24px}
  .case-placeholders article{min-height:124px;padding:18px}
  .case-placeholders h3{font-size:18px;margin:12px 0 3px}
}

/* Approved sequence: service entrances, support map, difference, cases, story, FAQ. */
.home-services{border-top:0;padding-block:72px}
.home-services .entry-heading{min-height:72px}
.home-services .entry-heading h3{font-size:25px;letter-spacing:0}
.home-support{background:#fbf8f8;padding-block:80px}
.support-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:24px 56px;align-items:center}
.support-intro h2,.difference-intro h2{font:500 clamp(25px,2.3vw,32px)/1.65 var(--sans);letter-spacing:0;text-wrap:balance}
.support-intro>p:last-child{font-size:15px;line-height:2;max-width:25em;margin-top:24px}
.support-outcome{grid-column:1/-1;text-align:center;border-top:1px solid #e3dada;padding-top:32px;margin-top:16px}
.support-outcome p:first-child{font:500 clamp(18px,1.8vw,24px)/1.8 var(--sans);color:#443c3d}
.support-outcome p+p{font-size:14px;line-height:1.9;color:#655253;margin-top:12px}
.home-difference{padding-block:88px}
.difference-intro>p{font-size:14px;line-height:2;margin-top:24px;max-width:58em}
.difference-points{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:40px}
.difference-points li{border-top:1px solid #c8bcbd;padding-top:24px}
.difference-points h3{font:500 20px/1.7 var(--sans)}
.difference-points p{font-size:14px;line-height:1.9;margin-top:12px;color:#554647}
.home-cases{background:#faf9f6}
.home-story{background:#f7f0e9;padding-block:88px}
.story-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:80px;align-items:start}
.story-heading h2{font:500 clamp(28px,2.5vw,36px)/1.85 var(--serif);text-wrap:balance}
.story-heading .home-book{flex-direction:row;justify-content:flex-start;gap:24px;margin-top:40px}
.story-heading .home-book img{width:80px}
.story-body p{font-size:15px;line-height:2.1;color:#3f3733}
.story-body p+p{margin-top:28px}
.story-body .text-link{margin-top:32px}
.home-faq{padding-block:72px}
.home-faq .faq-more{margin-top:24px}
@media(max-width:900px){
  .support-layout{gap:24px 32px}
  .story-layout{gap:40px}
  .difference-points{gap:24px}
}
@media(max-width:700px){
  .home-services{padding-block:44px}
  .home-services .entry-heading{min-height:0}
  .home-services .entry-heading h3{font-size:23px}
  .home-services .service-entry{display:flex;flex-direction:column;gap:16px;padding-block:24px}
  .home-services .entry-heading{align-self:stretch}
  .home-services .entry-image{width:100%;height:auto;aspect-ratio:2;border-radius:8px}
  .home-services .entry-footer{padding-top:0}
  .home-support{padding-block:48px}
  .support-layout{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .support-layout .support-map{order:0;margin-top:24px}
  .support-intro h2,.difference-intro h2{font-size:25px}
  .support-intro>p:last-child{font-size:14px;margin-top:16px;max-width:none}
  .support-outcome{padding-top:24px;margin-top:24px}
  .support-outcome .mobile-break{display:block}
  .support-outcome p:first-child{font-size:19px}
  .support-outcome p+p{font-size:13px}
  .home-difference{padding-block:48px}
  .difference-intro>p{font-size:14px;margin-top:20px}
  .difference-points{grid-template-columns:1fr;gap:24px;margin-top:28px}
  .difference-points li{padding-top:20px}
  .difference-points h3{font-size:19px}
  .difference-points p{font-size:14px;margin-top:8px}
  .home-story{padding-block:52px}
  .story-layout{grid-template-columns:1fr;gap:32px}
  .story-heading h2{font-size:28px}
  .story-heading .home-book{margin-top:24px}
  .story-heading .home-book img{width:60px}
  .story-body p{font-size:14px;line-height:2}
  .story-body br{display:none}
  .story-body p+p{margin-top:24px}
  .home-faq{padding-block:48px}
}

/* 2026-09-14: Mincho throughout; product-specific case studies. */
:root{--sans:var(--serif)}
body{font-weight:400;letter-spacing:.025em}
.home-services .section-title-row h2{font-size:clamp(28px,2.6vw,38px);font-weight:500;letter-spacing:.05em}
.home-services .entry-heading h3{font-weight:600;font-size:clamp(22px,2vw,28px);letter-spacing:.025em}
.home-services .entry-heading{min-height:82px}
.support-intro h2,.difference-intro h2{font-size:clamp(28px,2.6vw,38px);font-weight:500;line-height:1.85;letter-spacing:.045em}
.support-intro>p:last-child,.difference-intro>p,.difference-points p,.story-body p{font-size:16px;line-height:2.15}
.difference-intro>p{max-width:44em}
.difference-points h3{font-size:22px;font-weight:600;letter-spacing:.03em}
.story-body{max-width:34em}
.home-services,.home-difference,.home-story{padding-block:clamp(64px,7.2vw,112px)}
.home-faq .section-heading>span{font-size:44px}
.product-cases{padding-block:64px 72px}
.case-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:28px}
.case-section-heading h2{font-size:28px;font-weight:500;letter-spacing:.05em}
.case-section-heading span{font-size:14px;color:#635152}
.product-cases>p{font-size:16px;margin-top:18px;line-height:2}
@media(max-width:700px){
  .home-services .entry-heading{min-height:0}
  .home-services .entry-heading h3{font-size:23px}
  .home-services .section-title-row h2{font-size:27px}
  .support-intro h2,.difference-intro h2{font-size:27px;letter-spacing:.015em}
  .difference-points h3{font-size:21px}
  .story-body p{line-height:2.15}
  .product-cases{padding-block:40px 48px}
  .case-section-heading{gap:12px}
  .case-section-heading h2{font-size:25px}
}

/* Approved structure, 2026-09-15: alternating areas and product cards. */
.foundation-rows{display:block}
.foundation-row{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center;padding-block:64px;border-top:1px solid var(--line)}
.foundation-row:first-child{border-top:0;padding-top:16px}
.foundation-row:nth-child(even){grid-template-columns:1fr 1.05fr}
.foundation-row:nth-child(even) .foundation-row-image{grid-column:2;grid-row:1}
.foundation-row:nth-child(even) .foundation-row-copy{grid-column:1;grid-row:1}
.foundation-row-image{display:block;aspect-ratio:1.45;overflow:hidden;border-radius:10px}
.foundation-row-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease-out}
.foundation-row-image:hover img{transform:scale(1.025)}
.foundation-row-copy>small{display:block;font-size:13px;color:#685556;margin-bottom:14px}
.foundation-row-copy h3{font-size:clamp(26px,2.8vw,38px);font-weight:500;line-height:1.65;letter-spacing:.025em;max-width:14em}
.foundation-row-copy p{font-size:17px;line-height:2;max-width:26em;margin-top:22px}
.foundation-more{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;border-bottom:1px solid #947d7e;width:fit-content;max-width:100%;margin-top:30px;padding-block:8px;font-size:15px}
.foundation-more span{font:400 23px Arial,sans-serif}
.foundation-nav{display:flex;gap:28px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-block:16px}
.foundation-nav a{font-size:14px;padding-block:10px;min-height:44px}
.foundation-nav a[aria-current="page"]{box-shadow:0 1px #6d595a;color:#71383b}
.foundation-catalog{padding-bottom:80px}
.foundation-intro{max-width:43em;font-size:17px;line-height:2;margin:0 0 40px}
.foundation-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:28px;margin:32px 0 40px}
.foundation-card{min-width:0;display:flex;flex-direction:column;border:1px solid #dad5d5;border-radius:10px;overflow:hidden;background:white;transition:border-color .2s}
.foundation-card:hover{border-color:#866d6f}
.foundation-card-image{width:100%;aspect-ratio:1.45;overflow:hidden;flex-shrink:0}
.foundation-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.foundation-card-body{display:flex;flex:1;flex-direction:column;padding:26px}
.foundation-card h2{font-size:24px;line-height:1.7;min-height:3.4em;font-weight:500;letter-spacing:.01em;margin:0 0 16px}
.foundation-card p{font-size:16px;line-height:2;flex:1;color:#44413e}
.foundation-card-action{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:28px;padding-top:17px;font-size:14px}
.foundation-card-action>span{font:400 21px Arial,sans-serif}
.foundation-other{border-block:1px solid var(--line);margin-bottom:36px}
.foundation-other summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;cursor:pointer;list-style:none;font-size:20px}
.foundation-other summary::-webkit-details-marker{display:none}
.foundation-other summary>span{font:400 25px Arial,sans-serif;transition:transform .2s}
.foundation-other[open] summary>span{transform:rotate(45deg)}
.foundation-other>div:not(.foundation-themes)>a{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:22px 0;font-size:18px}
.foundation-other>p{font-size:16px;max-width:48em;margin:10px 0 24px}
.foundation-other>.pill{margin-bottom:26px}
.foundation-themes{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);padding-block:24px}
.foundation-themes h3{font-size:21px;margin-bottom:14px}
.foundation-themes p{font-size:16px}
.foundation-detail-image img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:10px}
.foundation-training{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;padding-block:20px 60px}
.foundation-training-image img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:10px}
.foundation-training h2{font-size:26px;margin-bottom:22px}
.foundation-training p{font-size:16px;line-height:2}
.foundation-training-contact{padding-bottom:70px}
.foundation-training-contact .back-link{display:block;width:fit-content;margin-top:25px}
@media(max-width:1000px){
 .foundation-cards{gap:20px}.foundation-card-body{padding:22px}.foundation-card h2{font-size:21px}
 .foundation-row{gap:5%;padding-block:48px}.foundation-training{gap:36px}
}
@media(max-width:700px){
 .foundation-row,.foundation-row:nth-child(even){grid-template-columns:1fr;gap:26px;padding-block:42px}
 .foundation-row:nth-child(even) .foundation-row-image,.foundation-row:nth-child(even) .foundation-row-copy{grid-column:auto;grid-row:auto}
 .foundation-row-image{aspect-ratio:1.65}
 .foundation-row-copy h3{font-size:28px;max-width:none}
 .foundation-row-copy p{font-size:16px;margin-top:16px}
 .foundation-more{margin-top:22px;font-size:14px}
 .foundation-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding-block:8px}
 .foundation-nav a{font-size:12px}
 .foundation-cards{grid-template-columns:1fr;gap:24px}
 .foundation-card-image{aspect-ratio:1.8}
 .foundation-card h2{font-size:24px;min-height:0}
 .foundation-card-body{padding:24px}
 .foundation-intro{font-size:16px;margin-bottom:26px}
 .foundation-catalog{padding-bottom:50px}
 .foundation-other summary{font-size:18px}
 .foundation-themes,.foundation-training{grid-template-columns:1fr;gap:28px}
 .foundation-training{padding-bottom:30px}
 .foundation-training-contact{padding-bottom:45px}
}
@media(prefers-reduced-motion:reduce){.foundation-row-image img,.foundation-card,.foundation-other summary>span{transition:none}}

/* 2026-09-15: the contact page offers mail or official LINE; the visitor chooses. */
.contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:64px}
.contact-option{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#fff;padding:36px}
.contact-option h3{font-size:26px;line-height:1.6;margin:8px 0 18px}
.contact-option p{font-size:15px;line-height:1.9}
.contact-option .contact-address{font-size:21px;font-weight:600;letter-spacing:.02em;line-height:1.6;margin-bottom:14px;word-break:break-all}
.contact-option .contact-address a{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.contact-page .contact-option .pill{width:100%;min-width:0;margin-top:auto}
.contact-option p:not(.small):not(.contact-address){margin-bottom:28px}
.contact-option .small{margin-top:14px}
@media(max-width:1000px){.contact-options{gap:24px;margin-top:44px}.contact-option{padding:28px 24px}.contact-option h3{font-size:22px}}
@media(max-width:700px){.contact-options{grid-template-columns:1fr;gap:18px;margin-top:36px}.contact-option{padding:26px 20px}.contact-option h3{font-size:21px}.contact-option p{font-size:14px}.contact-option .contact-address{font-size:18px}}

/* 2026-09-16: the five circles read as one cycle, starting from the top circle. */
.support-circle-step{position:relative;z-index:1;font:500 clamp(10px,2.1cqw,13px)/1 var(--sans);letter-spacing:.14em;color:#a85257;margin-top:9%}
.support-circle-title{margin-top:1.5%;min-height:2.6em}
.support-circle-sub{position:relative;z-index:1;font:400 clamp(10px,2.2cqw,13px)/1.5 var(--sans);color:#6a5657;letter-spacing:.02em;max-width:86%;margin-top:1%}
.support-circle-arrow{margin-top:5%}
.support-center{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);z-index:0;display:flex;flex-direction:column;align-items:center;gap:6px;color:#a85257;pointer-events:none}
.support-center svg{width:clamp(26px,5.6cqw,36px);height:auto}
.support-center span{font:500 clamp(11px,2.3cqw,14px)/1.4 var(--serif);letter-spacing:.12em;color:#443c3d;white-space:nowrap}
@container (max-width:430px){.support-circle-sub,.support-center{display:none}.support-circle-title{min-height:3.1em}}
/* 2026-09-16: one phrase per circle. */
.support-circle-title{min-height:3.1em;margin-top:2%}
.support-circle-arrow{margin-top:6%}
/* 2026-09-16: area pages carry who/what on cards, a case-study grid that fills from URLs, and a shared flow. */
.foundation-cards-rich .foundation-card h2{min-height:0;margin-bottom:10px}
.foundation-cards-rich .foundation-card>.foundation-card-body>p{flex:0 0 auto;font-size:15px;line-height:1.9;color:#443c3d;margin-bottom:18px}
.foundation-card-meta{display:grid;gap:14px;margin:0;padding-top:18px;border-top:1px dashed #e1d9da;flex:1}
.foundation-card-meta dt{font:500 12px/1.6 var(--sans);letter-spacing:.08em;color:#a85257;margin-bottom:4px}
.foundation-card-meta dd{margin:0;font-size:14px;line-height:1.85;color:#44413e}
.foundation-other-list a{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:20px 0;font-size:17px}
.foundation-other-list a span:first-child{display:flex;flex-direction:column;gap:4px}
.foundation-other-list a small{font-size:13px;color:#635152;line-height:1.7}
.foundation-other-list a>span:last-child{font:400 21px Arial,sans-serif}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.case-card{display:flex;flex-direction:column;min-width:0;border:1px solid #dad5d5;border-radius:10px;overflow:hidden;background:#fff;color:inherit;transition:border-color .2s}
.case-card:hover{border-color:#866d6f}
.case-image{aspect-ratio:1.6;overflow:hidden;background:#f5f0f1}
.case-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.case-image-empty{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#f8f5f5 0 12px,#f2eced 12px 24px)}
.case-image-empty span{font-size:13px;color:#8c7274;letter-spacing:.06em}
.case-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}
.case-body small{font-size:12px;color:#705b5c;letter-spacing:.04em;margin-bottom:8px}
.case-body h3{font-size:19px;line-height:1.6;font-weight:500;margin:0 0 10px;word-break:break-all}
.case-body p{font-size:14px;line-height:1.85;color:#44413e;flex:1}
.case-link{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:14px}
.case-link span{font:400 19px Arial,sans-serif}
.case-card-placeholder{border-style:dashed;background:#fcfcfc}
.case-card-placeholder h3{color:#8c7274}
.case-card-placeholder p{color:#967f80}
.foundation-section-title{font-size:28px;font-weight:500;letter-spacing:.05em;margin-bottom:34px}
.foundation-flow{list-style:none;padding:0;margin:0 0 30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.foundation-flow li{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px 22px 26px}
.foundation-flow li>span{display:block;font:500 13px/1 var(--sans);letter-spacing:.14em;color:#a85257;margin-bottom:14px}
.foundation-flow h3{font-size:18px;line-height:1.6;font-weight:500;margin:0 0 10px}
.foundation-flow p{font-size:14px;line-height:1.85;color:#44413e}
.foundation-flow+.small{margin-top:0;margin-bottom:26px}
@media(max-width:1000px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.foundation-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.foundation-section-title{font-size:25px;margin-bottom:26px}}
@media(max-width:700px){.case-grid{grid-template-columns:1fr;gap:16px}.foundation-flow{grid-template-columns:1fr;gap:12px}.foundation-flow li{padding:20px 18px}.foundation-section-title{font-size:23px}.foundation-card-meta dd{font-size:13px}.foundation-other-list a{font-size:16px}}
.foundation-catalog+.product-cases{padding-top:0}
.foundation-other{margin-bottom:0}
@media(max-width:700px){.foundation-catalog+.product-cases{padding-top:0}}
/* 2026-09-16: slots for real product screens and the manga sample; render only when filled. */
.screen-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;align-items:start}
.screen-gallery-grid figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.screen-gallery-grid img{display:block;width:100%;height:auto}
.screen-gallery-grid figcaption{font-size:12px;line-height:1.7;color:#705b5c;padding:10px 12px;border-top:1px solid var(--line)}
.manga-section{padding-top:0}
.manga-strip{margin:28px auto 30px;max-width:760px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.manga-strip img{display:block;width:100%;height:auto}
/* 2026-09-16: four entrances on top (lighter rows), five circles above them, management page as four scenes, matching page. */
.foundation-rows .foundation-row{padding-block:36px}
.foundation-row-image{aspect-ratio:1.6}
.foundation-row-copy h3{font-size:clamp(24px,2.2vw,30px)}
.foundation-row-copy p{font-size:15px;line-height:1.9;margin-top:12px}
.home-support.section{padding-block:72px 64px}
.story-layout-nobook{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}
.theme-rows{display:grid;gap:0;margin-top:8px}
.theme-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px;align-items:start;padding-block:40px;border-top:1px solid var(--line)}
.theme-row:nth-child(even) .theme-row-image{order:2}
.theme-row-image{aspect-ratio:1.5;overflow:hidden;border-radius:12px;border:1px solid var(--line);background:#f8f5f5}
.theme-row-image img{display:block;width:100%;height:100%;object-fit:cover}
.theme-row-copy small{display:block;font:500 13px/1 var(--sans);letter-spacing:.14em;color:#a85257;margin-bottom:12px}
.theme-row-copy h3{font-size:26px;line-height:1.6;font-weight:500;margin:0 0 12px}
.theme-row-copy>p{font-size:15px;line-height:1.95;color:#44413e}
.case-inline{margin-top:22px;border-top:1px dashed #e1d9da;padding-top:16px}
.case-inline-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px}
.case-inline-heading h4{font:500 14px/1.6 var(--serif);letter-spacing:.06em;color:#443c3d}
.case-inline-heading span{font-size:12px;color:#8c7274}
.case-grid-compact{grid-template-columns:1fr;gap:10px;margin-top:0}
.case-grid-compact .case-card{border-radius:8px}
.case-grid-compact .case-body{padding:14px 16px}
.case-grid-compact .case-body h3{font-size:15px;margin-bottom:6px}
.case-grid-compact .case-body p{font-size:13px}
.case-card-quote .case-body h3::before{content:'「';color:#8c7274}
.case-card-quote .case-body h3::after{content:'」';color:#8c7274}
.entrance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:22px}
.entrance-card{border:1px solid var(--line);border-radius:12px;padding:28px 26px;background:#fff}
.entrance-card small{display:inline-block;font:500 12px/1 var(--sans);letter-spacing:.1em;color:#a85257;border:1px solid #e6cbcd;border-radius:100px;padding:7px 12px;margin-bottom:16px}
.entrance-card h3{font-size:24px;line-height:1.6;font-weight:500;margin:0 0 10px}
.entrance-card p{font-size:15px;line-height:1.9;color:#44413e}
@media(max-width:1000px){.theme-row{gap:24px;padding-block:30px}.theme-row-copy h3{font-size:23px}}
@media(max-width:700px){.foundation-rows .foundation-row{padding-block:28px}.theme-row{grid-template-columns:1fr;gap:16px;padding-block:26px}.theme-row:nth-child(even) .theme-row-image{order:0}.theme-row-copy h3{font-size:22px}.entrance-grid{grid-template-columns:1fr;gap:14px}.entrance-card{padding:22px 20px}.entrance-card h3{font-size:21px}.story-layout-nobook{grid-template-columns:1fr}}
/* 2026-09-16: illustrative PC screens for the management cloud (sample data). */
.theme-row-image:has(.mock-screen){aspect-ratio:auto;border:0;background:none;overflow:visible}
.mock-screen{container-type:inline-size;border:1px solid #e1d9da;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(68,60,61,.08);font-family:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;color:#242424}
.mock-screen *{font-family:inherit}
.mock-chrome{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#f8f5f5;border-bottom:1px solid #ebe5e5}
.mock-chrome i{width:9px;height:9px;border-radius:50%;background:#dad2d2}
.mock-chrome span{margin-left:8px;font-size:clamp(9px,2.3cqw,12px);color:#8c7274}
.mock-body{display:grid;grid-template-columns:22% 1fr;min-height:0}
.mock-side{background:#fbf9f9;border-right:1px solid #f1ecec;padding:12px 8px;display:flex;flex-direction:column;gap:6px;font-size:clamp(9px,2.2cqw,12px)}
.mock-side b{color:#a85257;font-size:clamp(9px,2.3cqw,12px);margin-bottom:8px;letter-spacing:.04em}
.mock-side span{padding:5px 8px;border-radius:6px;color:#705b5c}
.mock-side span.on{background:#f2e9e9;color:#813f43;font-weight:600}
.mock-main{padding:12px 14px 14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.mock-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mock-head h4{font-size:clamp(12px,3cqw,16px);line-height:1.4;font-weight:600;margin:0}
.tag{display:inline-block;font-size:clamp(8px,2cqw,11px);padding:3px 8px;border-radius:100px;background:#f5f0f1;color:#705b5c;white-space:nowrap}
.tag.on{background:#f2e9e9;color:#813f43}.tag.wait{background:#fff3df;color:#9a6200}.tag.done{background:#e4f5ea;color:#1f7a45}
.mock-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:clamp(9px,2.2cqw,12px);color:#705b5c}
.mock-photos{display:flex;align-items:center;gap:6px}
.mock-photos i{width:clamp(28px,9cqw,46px);aspect-ratio:1.3;border-radius:5px;background:repeating-linear-gradient(135deg,#f1eaea 0 6px,#e9e0e1 6px 12px)}
.mock-photos small{font-size:clamp(8px,2cqw,11px);color:#8c7274;margin-left:4px}
.mock-table{width:100%;border-collapse:collapse;font-size:clamp(9px,2.2cqw,12px)}
.mock-table th,.mock-table td{padding:6px 6px;border-bottom:1px solid #f3efef;text-align:left;white-space:nowrap}
.mock-table th{color:#8c7274;font-weight:500;font-size:clamp(8px,2cqw,11px)}
.mock-table .r{text-align:right}
.mock-total{display:flex;justify-content:space-between;align-items:baseline;padding:6px 6px 0;font-size:clamp(9px,2.2cqw,12px);color:#705b5c}
.mock-total b{font-size:clamp(13px,3.4cqw,18px);color:#242424}
.mock-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto}
.btn{font-size:clamp(9px,2.2cqw,12px);padding:6px 12px;border-radius:6px;border:1px solid #e6cbcd;color:#813f43;background:#fff}
.btn.primary{background:#a85257;border-color:#a85257;color:#fff}
.mock-filters{display:flex;gap:6px;flex-wrap:wrap}
.mock-filters span{font-size:clamp(8px,2cqw,11px);padding:4px 9px;border-radius:100px;border:1px solid #eae3e3;color:#705b5c}
.mock-filters span.on{background:#a85257;border-color:#a85257;color:#fff}
.mock-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mock-card{border:1px solid #ece7e7;border-radius:8px;padding:9px 10px;background:#fff}
.mock-card-top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.mock-card b{font-size:clamp(9px,2.3cqw,12px);font-weight:600}
.mock-card p{font-size:clamp(8px,2cqw,11px);color:#705b5c;margin:5px 0 3px;line-height:1.5}
.mock-card small{font-size:clamp(8px,1.9cqw,10px);color:#8c7274}
.mock-note{font-size:clamp(8px,2.1cqw,11px);color:#705b5c;background:#fbf9f9;border-radius:6px;padding:7px 9px;line-height:1.5}
.mock-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mock-kpis>div{border:1px solid #ece7e7;border-radius:8px;padding:9px 10px}
.mock-kpis small{display:block;font-size:clamp(8px,2cqw,11px);color:#8c7274;margin-bottom:4px}
.mock-kpis b{font-size:clamp(12px,3cqw,16px);display:flex;align-items:baseline;gap:5px;white-space:nowrap}
.mock-kpis em{font-style:normal;font-size:clamp(8px,2cqw,11px);color:#1f7a45}
.mock-chart{border:1px solid #ece7e7;border-radius:8px;padding:9px 10px}
.mock-chart small{font-size:clamp(8px,2cqw,11px);color:#8c7274}
.mock-bars{display:flex;align-items:flex-end;gap:8px;height:clamp(54px,16cqw,84px);margin-top:8px;padding-top:4px}
.mock-bars i{flex:1;position:relative;background:linear-gradient(180deg,#b97275,#a85257);border-radius:4px 4px 0 0;min-height:6px}
.mock-bars i b{position:absolute;left:0;right:0;bottom:-16px;text-align:center;font-size:clamp(7px,1.8cqw,10px);font-weight:400;color:#8c7274}
.mock-bars{margin-bottom:16px}
/* 2026-09-16: recruiting page (interns and contract partners). */
.recruit-intro{padding-bottom:20px}
.recruit-intro .split{grid-template-columns:1fr}
.recruit-intro .split p{font-size:17px;line-height:2.1;max-width:40em}
.recruit-intro>.small{margin-top:18px}
.positions{display:grid;gap:36px;padding-top:40px}
.position{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:40px;border:1px solid var(--line);border-radius:14px;padding:38px 40px;background:#fff}
.position-head small{display:inline-block;font:500 12px/1 var(--sans);letter-spacing:.1em;color:#a85257;border:1px solid #e6cbcd;border-radius:100px;padding:7px 12px;margin-bottom:16px}
.position-head h2{font-size:28px;line-height:1.6;font-weight:500;margin:0 0 12px}
.position-head p{font-size:15px;line-height:1.9;color:#44413e}
.position-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.position-body .pill{grid-column:1/-1;justify-self:start;margin-top:8px}
.position-block h3{font:500 13px/1.6 var(--sans);letter-spacing:.08em;color:#a85257;margin:0 0 10px;padding-bottom:8px;border-bottom:1px dashed #e1d9da}
.position-block ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.position-block li{font-size:14px;line-height:1.8;color:#44413e;padding-left:14px;position:relative}
.position-block li::before{content:'';position:absolute;left:0;top:.75em;width:6px;height:6px;border-radius:50%;background:#e6cbcd}
.company-recruit{display:inline-block;margin-top:28px}
@media(max-width:1000px){.position{grid-template-columns:1fr;gap:24px;padding:30px 28px}.position-body{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.positions{gap:20px;padding-top:24px}.position{padding:24px 20px}.position-head h2{font-size:24px}.position-body{grid-template-columns:1fr;gap:18px}.recruit-intro .split p{font-size:16px}}
/* 2026-09-16: motion. Elements rise into view once; circles bloom; hovers lift. Off under reduce-motion. */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0ms)}
.reveal.arrived{opacity:1;transform:none}
.reveal-orbit .support-circle{opacity:0;transform:scale(.6);transition:opacity .6s var(--ease),transform .9s var(--ease)}
.reveal-orbit.arrived .support-circle{opacity:1;transform:none}
.reveal-orbit.arrived .support-circle-1{transition-delay:0s}.reveal-orbit.arrived .support-circle-2{transition-delay:.12s}.reveal-orbit.arrived .support-circle-3{transition-delay:.24s}.reveal-orbit.arrived .support-circle-4{transition-delay:.36s}.reveal-orbit.arrived .support-circle-5{transition-delay:.48s}
.reveal-orbit .support-center{opacity:0;transition:opacity .8s .7s}
.reveal-orbit.arrived .support-center{opacity:1}
.reveal-orbit.arrived .support-center svg{animation:te-spin 14s linear infinite}
@keyframes te-spin{to{transform:rotate(360deg)}}
.foundation-card,.case-card,.entrance-card,.position,.contact-option{transition:transform .35s var(--ease),border-color .25s,box-shadow .35s var(--ease)}
.foundation-card:hover,.case-card:hover,.entrance-card:hover,.contact-option:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(68,60,61,.10)}
.foundation-row-image img,.foundation-card-image img,.theme-row-image img,.case-image img{transition:transform 1.2s var(--ease)}
.foundation-row:hover .foundation-row-image img,.foundation-card:hover .foundation-card-image img,.case-card:hover .case-image img{transform:scale(1.04)}
.hero-ring{animation:te-breathe 9s ease-in-out infinite}
@keyframes te-breathe{0%,100%{border-color:rgba(255,255,255,.8);border-bottom-color:transparent}50%{border-color:rgba(255,255,255,.45);border-bottom-color:transparent}}
.support-circle:hover{transform:translateY(-6px) scale(1.03)}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-orbit .support-circle,.reveal-orbit .support-center{opacity:1;transform:none;transition:none}.reveal-orbit.arrived .support-center svg,.hero-ring{animation:none}.foundation-card:hover,.case-card:hover,.entrance-card:hover,.contact-option:hover{transform:none}.foundation-row:hover .foundation-row-image img,.foundation-card:hover .foundation-card-image img,.case-card:hover .case-image img{transform:none}}
/* the circle page */
.wheel-page{padding-bottom:80px}
.wheel-tools{display:flex;gap:10px;margin:22px 0 26px}
.wheel-toggle{font:400 13px/1 var(--sans);padding:9px 16px;border:1px solid #e6cbcd;border-radius:100px;background:#fff;color:#813f43;cursor:pointer}
.wheel-toggle:hover{background:#f8f3f3}
.wheel-list{display:grid;gap:14px}
.wheel-area{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.wheel-area[open]{border-color:#d0a1a3}
.wheel-area-current{box-shadow:0 14px 34px rgba(68,60,61,.10)}
.wheel-area summary{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:18px;padding:26px 28px;cursor:pointer;list-style:none}
.wheel-area summary::-webkit-details-marker{display:none}
.wheel-num{font:500 13px/1 var(--sans);letter-spacing:.14em;color:#a85257}
.wheel-title{font-size:24px;font-weight:500;line-height:1.5;white-space:nowrap}
.wheel-lead{font-size:14px;line-height:1.8;color:#705b5c}
.wheel-area summary>i{font:400 24px Arial,sans-serif;color:#8c7274;transition:transform .25s}
.wheel-area[open] summary>i{transform:rotate(45deg)}
.wheel-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:32px;padding:6px 28px 30px;border-top:1px dashed #e1d9da;margin:0 0 0}
.wheel-body h3{font:500 13px/1.6 var(--sans);letter-spacing:.08em;color:#a85257;margin:22px 0 10px}
.wheel-when p{font-size:15px;line-height:1.9;color:#44413e}
.wheel-service-list a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid #f3efef}
.wheel-service-list a:first-child{border-top:0}
.wheel-service-list a span:first-child{display:flex;flex-direction:column;gap:3px}
.wheel-service-list b{font-size:16px;font-weight:500}
.wheel-service-list small{font-size:13px;color:#705b5c;line-height:1.6}
.wheel-service-list a>span:last-child{font:400 20px Arial,sans-serif;color:#6b5859}
@media(max-width:1000px){.wheel-body{grid-template-columns:1fr;gap:6px}}
@media(max-width:700px){.wheel-area summary{grid-template-columns:auto 1fr auto;gap:10px 12px;padding:20px 18px}.wheel-lead{grid-column:1/-1;font-size:13px}.wheel-title{font-size:21px;white-space:normal}.wheel-body{padding:4px 18px 22px}.wheel-tools{gap:8px}}
.wheel-area{scroll-margin-top:110px}
/* 2026-09-16: social links, onboarding flow, company info. */
.social-links{list-style:none;display:flex;gap:10px;padding:0;margin:18px 0 0;flex-wrap:wrap}
.social-links a{display:inline-flex;align-items:center;gap:8px;border:1px solid #e6cbcd;border-radius:100px;padding:8px 14px 8px 10px;font:400 13px/1 var(--sans);color:#813f43;background:#fff;transition:background .2s,border-color .2s}
.social-links a:hover{background:#f8f3f3;border-color:#a85257}
.social-links svg{width:18px;height:18px;flex:none}
.social-inline{margin:0}
.onboarding-flow{list-style:none;padding:0;margin:0 0 26px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;counter-reset:none}
.onboarding-flow li{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 14px 18px;min-width:0}
.onboarding-flow li:not(:last-child)::after{content:'';position:absolute;right:-9px;top:50%;width:0;height:0;border-left:7px solid #d0c6c6;border-top:6px solid transparent;border-bottom:6px solid transparent;transform:translateY(-50%)}
.onboarding-flow li>span{display:block;font:500 12px/1 var(--sans);letter-spacing:.14em;color:#a85257;margin-bottom:10px}
.onboarding-flow h3{font-size:16px;line-height:1.5;font-weight:500;margin:0 0 8px;word-break:keep-all}
.onboarding-flow p{font-size:12.5px;line-height:1.75;color:#44413e}
.onboarding-note{display:grid;gap:8px;max-width:52em;margin-bottom:26px}
.onboarding-note p{font-size:14px;line-height:1.9;color:#44413e}
.blue-surface .back-link{margin-left:18px;display:inline-block}
@media(max-width:1000px){.onboarding-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.onboarding-flow li:nth-child(4)::after{display:none}}
@media(max-width:700px){.onboarding-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.onboarding-flow li::after{display:none}.onboarding-flow li{padding:14px 12px}.onboarding-flow h3{font-size:15px}.social-links a span{font-size:12px}}
@media(max-width:1200px){.onboarding-flow{grid-template-columns:repeat(4,minmax(0,1fr))}.onboarding-flow li:nth-child(4)::after{display:none}}
/* small containers: mock screens drop the side menu and let tables wrap */
.mock-main{overflow:hidden}
@container (max-width:460px){.mock-body{grid-template-columns:1fr}.mock-side{display:none}.mock-table th,.mock-table td{white-space:normal;padding:5px 4px}.mock-cards{grid-template-columns:1fr}.mock-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.wheel-area summary>i{grid-column:3;grid-row:1}.wheel-num{grid-column:1;grid-row:1}.wheel-title{grid-column:2;grid-row:1}.wheel-lead{grid-row:2}}
/* 2026-09-17: hero entrance, static circle icon, story photo, features moved to company page. */
.hero-message-primary,.hero-message-answer{opacity:0;animation:te-enter 1.3s var(--ease) forwards}
.hero-message-primary{animation-delay:.35s}
.hero-message-answer{animation-delay:.95s;animation-duration:1.5s}
.hero-caption{opacity:0;animation:te-rise 1.2s var(--ease) 1.9s forwards}
.hero-tone{animation:te-tone 2.4s ease-out forwards}
@keyframes te-enter{0%{opacity:0;transform:translateY(26px) scale(1.08);filter:blur(10px);letter-spacing:.3em}60%{filter:blur(0)}100%{opacity:1;transform:none;filter:blur(0);letter-spacing:inherit}}
@keyframes te-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes te-tone{from{opacity:.55}to{opacity:1}}
.reveal-orbit.arrived .support-center svg{animation:none}
.story-layout-photo{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1.1fr);gap:40px}
.story-image{margin:0;aspect-ratio:1.5;overflow:hidden;border-radius:14px}
.story-image img{width:100%;height:100%;object-fit:cover;display:block}
.company-approach .difference-points{margin-top:28px}
@media(max-width:1000px){.story-layout-photo{grid-template-columns:1fr 1fr}.story-layout-photo .story-image{grid-column:1/-1;aspect-ratio:1.9}}
@media(max-width:700px){.story-layout-photo{grid-template-columns:1fr}.story-layout-photo .story-image{aspect-ratio:1.6}}
@media(prefers-reduced-motion:reduce){.hero-message-primary,.hero-message-answer,.hero-caption,.hero-ring,.hero-tone{animation:none;opacity:1}}
.story-layout-photo{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:auto auto;gap:24px 56px;align-items:start}
.story-layout-photo .story-image{grid-column:1;grid-row:1/3;aspect-ratio:1.2;align-self:stretch}
.story-layout-photo .story-heading{grid-column:2;grid-row:1}
.story-layout-photo .story-body{grid-column:2;grid-row:2}
.story-layout-photo .story-heading h2{white-space:nowrap}
@media(max-width:1000px){.story-layout-photo{grid-template-columns:1fr;gap:20px}.story-layout-photo .story-image{grid-column:1;grid-row:auto;aspect-ratio:1.8}.story-layout-photo .story-heading,.story-layout-photo .story-body{grid-column:1;grid-row:auto}.story-layout-photo .story-heading h2{white-space:normal}}
.story-layout-photo .story-image{aspect-ratio:auto;width:100%;max-width:100%;min-height:380px;height:100%}
@media(max-width:1000px){.story-layout-photo .story-image{aspect-ratio:1.8;height:auto;min-height:0}}
/* 2026-09-17: flows share the vertical timeline; six production cards; no contact band. */
.timeline-plain{max-width:640px;padding-top:6px}
.timeline-plain>li{padding-bottom:34px;align-items:center}
.timeline-plain>li:not(:last-child)::before{top:40px;bottom:-6px}
.timeline-plain>li>div{padding-top:0}
.timeline-plain h3{margin-bottom:0;font-size:22px}
.timeline-plain h3+p{margin-top:10px}
.blue-surface .timeline-plain>li>span{background:#fff}
.blue-surface .timeline-plain+.pill,.blue-surface .timeline-plain+.small{margin-top:10px}
.foundation-cards-rich{grid-auto-rows:auto}
@media(max-width:700px){.timeline-plain>li{padding-bottom:24px;gap:16px}.timeline-plain>li:not(:last-child)::before{top:30px}.timeline-plain h3{font-size:18px}}

/* 2026-09-17: the ring draws itself from bottom-left, clockwise; the title then steps forward from behind. */
.hero-ring{border:0;animation:none;opacity:1;background:none}
.hero-ring svg{display:block;width:100%;height:100%;overflow:visible}
.hero-ring circle{fill:none;stroke:rgba(255,255,255,.85);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transform:rotate(120deg);transform-origin:50% 50%;animation:te-draw 2.6s cubic-bezier(.45,0,.2,1) .4s forwards}
@keyframes te-draw{to{stroke-dashoffset:17}}
.hero-message-primary,.hero-message-answer{opacity:0;animation:te-forward 1.4s var(--ease) forwards}
.hero-message-primary{animation-delay:2.9s}
.hero-message-answer{animation-delay:3.35s}
.hero-caption{opacity:0;animation:te-rise 1.2s var(--ease) 4.3s forwards}
@keyframes te-forward{0%{opacity:0;transform:scale(.82);filter:blur(12px)}55%{opacity:1}100%{opacity:1;transform:none;filter:blur(0)}}
@media(prefers-reduced-motion:reduce){.hero-ring circle{animation:none;stroke-dashoffset:17}.hero-message-primary,.hero-message-answer,.hero-caption{animation:none;opacity:1}}
/* the circle page: cards instead of text */
.wheel-body-cards{display:block;padding:8px 22px 26px}
.wheel-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.wheel-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;transition:transform .3s var(--ease),border-color .2s}
.wheel-card:hover{transform:translateY(-3px);border-color:#866d6f}
.wheel-card-image{aspect-ratio:1.6;overflow:hidden;background:#f5f0f1}
.wheel-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.wheel-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.wheel-card-body h3{font-size:16px;line-height:1.55;font-weight:500;margin:0 0 6px}
.wheel-card-body p{font-size:12.5px;line-height:1.7;color:#705b5c;flex:1}
.wheel-card-body>span{align-self:flex-end;font:400 19px Arial,sans-serif;color:#6b5859;margin-top:8px}
.wheel-page .wheel-tools{margin-top:0}
@media(max-width:1000px){.wheel-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.wheel-cards{grid-template-columns:1fr 1fr;gap:10px}.wheel-body-cards{padding:6px 14px 18px}.wheel-card-body{padding:10px 12px 12px}.wheel-card-body h3{font-size:14px}.wheel-card-body p{font-size:11.5px}}
/* 2026-09-17: smooth scroll, mobile contact button, "ー" when open, favicon. */
html{scroll-behavior:smooth;scroll-padding-top:100px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.mobile-cta{display:none}
@media(max-width:700px){
 .mobile-cta{display:flex;position:fixed;left:16px;right:16px;bottom:14px;z-index:40;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:100px;background:linear-gradient(105deg,#874346 0%,#a35054 68%,#92718b 100%);color:#fff;font:600 15px/1 var(--serif);letter-spacing:.06em;box-shadow:0 10px 26px rgba(68,60,61,.28)}
 .mobile-cta span{font:400 18px Arial,sans-serif}
 body.contact-page-body .mobile-cta,body.menu-open .mobile-cta{display:none}
 .site-footer{padding-bottom:88px}
}
.wheel-area[open] summary>i,.foundation-other[open] summary>span,.curriculum-disclosure[open] summary>span{transform:none}
.wheel-area[open] summary>i::before,.foundation-other[open] summary>span::before,.curriculum-disclosure[open] summary>span::before{content:'ー'}
.wheel-area summary>i,.foundation-other summary>span,.curriculum-disclosure summary>span{font-size:0}
.wheel-area summary>i::before,.foundation-other summary>span::before,.curriculum-disclosure summary>span::before{content:'＋';font-size:22px}
/* 2026-09-17: brand icons only for social links; no arrows inside the five circles. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.social-links a{width:44px;height:44px;padding:0;justify-content:center;border-radius:50%;border:0;color:#fff;transition:transform .25s var(--ease),opacity .2s}
.social-links a:hover{transform:translateY(-2px);opacity:.9}
.social-links svg{width:22px;height:22px}
.social-links a.social-line{background:#06C755}
.social-links a.social-note{background:#41C9B4}
.social-links a.social-x{background:#000}
.social-links a.social-instagram{background:radial-gradient(circle at 30% 110%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#b05e62 90%)}
.support-circle-title{margin-top:0;min-height:0}
.support-circle{justify-content:center;gap:6px}
.support-circle-step{margin-top:0}
/* 2026-09-17 仕上げ③: 業務内容ページの商品カードを3列にそろえる（サービス配下と同じ配置） */
.wheel-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:1000px){.wheel-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.wheel-cards{grid-template-columns:1fr;gap:16px}}
/* 2026-09-17 サービス統合: 4事業ごとの商品カード、輪から来たときの該当サービス */
.service-index{padding-bottom:0}
.service-area-intro h2{font:500 clamp(22px,3vw,30px)/1.35 var(--serif);margin:0 0 10px;color:#2b2627}
.service-area-intro p{margin:0 0 6px;color:#564747}
.service-all-heading{margin-top:24px;padding-top:28px;border-top:1px solid #e9e0e1}
.service-group{padding-top:8px}
.service-group .section-title-row{margin-bottom:0}
.service-group .foundation-cards{margin-top:20px}
.service-group h2{font:500 clamp(22px,3vw,28px)/1.35 var(--serif);margin:0}
/* 2026-09-17 漫画で見る: 相談ボタンの横に置く */
.cta-row{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
.cta-row .pill{margin-top:0}
.product-detail-intro .cta-row,.consulting-lead .cta-row,.foundation-training-contact .cta-row{margin-top:32px}
.foundation-training-contact .cta-row+.back-link{margin-top:26px}
.pill.manga-pill{border-color:#d9c3a5;background:#fbf6ee;color:#5a4630}
.pill.manga-pill .dot{background:#b98a4a}
.pill.manga-pill:hover{border-color:#b98a4a;background:#f5ead7}
@media(max-width:700px){.cta-row{flex-direction:column;align-items:stretch}.cta-row .pill{width:100%}}
/* 2026-09-17 各ページ修正②: お問い合わせ2カードの高さとボタン位置をそろえる */
.contact-option{display:flex;flex-direction:column}
.contact-option .pill{margin-top:auto}
.contact-option p{margin-bottom:22px}
.contact-address{font:500 15px/1.6 var(--sans);margin:0 0 14px}
.contact-address a{text-decoration:underline;color:#813f43}
/* 2026-09-17 導入企業ロゴ: 白丸を上下2段・半分ずらしで並べる */
.logo-wall{background:#f8f5f5;overflow:hidden}
.logo-wall .foundation-section-title{text-align:center;margin-bottom:34px}
.logo-rows{display:grid;gap:22px;--cell:104px}
.logo-row{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:clamp(18px,3vw,44px)}
.logo-row-offset{transform:translateX(calc(var(--cell) / 2 + 12px))}
.logo-cell{flex:0 0 var(--cell);width:var(--cell);height:var(--cell);border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(73,64,65,.08);display:flex;align-items:center;justify-content:center;overflow:hidden}
.logo-cell img{width:72%;height:72%;object-fit:contain}
@media(max-width:1000px){.logo-rows{--cell:84px}.logo-row{gap:16px}}
@media(max-width:700px){.logo-rows{--cell:60px;gap:14px}.logo-row{gap:12px;justify-content:flex-start;padding-inline:var(--gutter)}.logo-row-offset{transform:translateX(calc(var(--cell) / 2))}}
/* 2026-09-17 導入企業ロゴを流す: 上段は左へ、下段は右へ。動きを減らす設定では静止。 */
.logo-row{display:block;overflow:hidden;transform:none;padding-inline:0}
.logo-track{display:flex;width:max-content;--g:clamp(18px,3vw,44px);gap:var(--g);animation:te-logo-left 36s linear infinite}
.logo-set{list-style:none;margin:0;padding:0;display:flex;gap:var(--g);flex:none}
.logo-row-offset .logo-track{animation-name:te-logo-right;animation-delay:-9s}
.logo-wall:hover .logo-track{animation-play-state:paused}
@keyframes te-logo-left{from{transform:translateX(0)}to{transform:translateX(calc(-50% - var(--g) / 2))}}
@keyframes te-logo-right{from{transform:translateX(calc(-50% - var(--g) / 2))}to{transform:translateX(0)}}
@media(max-width:1000px){.logo-track,.logo-set{--g:16px}}
@media(max-width:700px){.logo-track,.logo-set{--g:12px}.logo-row{padding-inline:0}.logo-row-offset{transform:none}}
@media(prefers-reduced-motion:reduce){.logo-track{animation:none}.logo-row-offset .logo-track{transform:translateX(calc(var(--cell) / -2))}}
/* 2026-09-17 文字数削減: 相談ボタン下の一言 */
.online-note{font-size:12.5px;color:#766162;margin:12px 0 0}
/* 2026-09-17 資料ダウンロード（箱） */
.dl-intro{padding-bottom:10px}
.dl-contents{margin-top:28px;padding:26px 30px;border:1px solid var(--line);border-radius:14px;max-width:560px;background:#fff}
.dl-contents h2{font-size:18px;margin:0 0 12px}
.dl-contents ul{margin:0;padding-left:1.2em;line-height:2}
.dl-form-slot{padding-top:30px;padding-bottom:90px}
.dl-form{max-width:560px;background:#faf7f7;border-radius:16px;padding:34px 36px 28px}
.dl-form h2{display:flex;align-items:baseline;gap:14px;font-size:22px;margin:0 0 22px}
.dl-form h2 small{font:400 12px/1 var(--sans);color:#766162}
.dl-field{display:block;margin-bottom:18px}
.dl-field span{display:block;font:500 13px/1.6 var(--sans);margin-bottom:6px}
.dl-field em,.dl-fields label em,.dl-fields .required{font-style:normal;font-size:11px;color:#c0392b;margin-left:8px}
.dl-field input,.dl-fields input[type=text],.dl-fields input[type=email],.dl-fields input[type=tel]{width:100%;min-height:46px;border:1px solid #e6cbcd;border-radius:8px;padding:10px 14px;font:400 15px/1.5 var(--sans);background:#fff}
.dl-field input:focus,.dl-fields input:focus{outline:2px solid #a85257;outline-offset:1px}
.dl-fields .pill,.dl-fields button,.dl-fields .wp-block-button__link{margin-top:10px;width:100%;justify-content:center}
.dl-fields .wp-block-jetpack-field{margin-bottom:18px}
.dl-fields .wp-block-jetpack-field label,.dl-fields .grunion-field-label{display:block;font:500 13px/1.6 var(--sans);margin-bottom:6px}
.dl-form .small{margin:16px 0 0}
.dl-thanks{padding-bottom:110px;max-width:640px}
.dl-thanks .pill{margin:26px 0 22px}
.dl-thanks .back-link{display:block}
.pill.is-disabled{opacity:.45;pointer-events:none}
.pill.download-pill{border-color:#e0bfc1;background:#f7f2f2;color:#813f43}
.pill.download-pill .dot{background:#a85257}

/* ===== 2026-09-21 カスタマイザー「追加CSS」をテーマに統合（読み込み1本削減） ===== */
/* Compact service flow */
main .timeline {
 display:grid!important; grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))!important;
 gap:0 32px!important; max-width:960px; padding:0!important; margin:24px 0 32px!important; list-style:none!important;
}
main .timeline::before,main .timeline::after,main .timeline>li::before,main .timeline>li::after{display:none!important;content:none!important}
main .timeline>li{display:flex!important;align-items:baseline!important;gap:16px!important;padding:18px 0!important;margin:0!important;border:0!important;border-bottom:1px solid #d9d0d1!important;min-width:0;min-height:0!important;background:none!important;box-shadow:none!important}
main .timeline>li>span{position:static!important;display:block!important;flex:0 0 24px!important;width:auto!important;height:auto!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:none!important;font:14px/1.65 Arial,sans-serif!important;color:#715c5d!important;box-shadow:none!important;transform:none!important}
main .timeline>li>div{min-width:0;padding:0!important;margin:0!important}
main .timeline>li h3{font-size:18px!important;line-height:1.65!important;color:#2b2626!important;margin:0!important}
main .timeline>li p{font-size:14px;line-height:1.75;margin:8px 0 0}

/* Hide the persistent mobile contact button */
.mobile-cta { display: none !important; }

/* Readable body copy; retain the established serif headings */
:root { --sans: "Hiragino Sans", "Yu Gothic", Meiryo, system-ui, sans-serif; }
body { font-family: var(--sans); font-size: 16px; line-height: 1.85; }
main p:not(.mock-screen p):not(.page-heading > p):not(.hero-caption) { font-size: 16px; line-height: 1.85; letter-spacing: .02em; }
main .foundation-card-meta dd { font-size: 16px; line-height: 1.8; }
main .foundation-card-meta dt { font-size: 14px; line-height: 1.7; color: #705b5c; }
main p.small, main p.online-note, main p.sample-explanation { font-size: 14px; line-height: 1.8; color: #675455; }
main .pill, main .text-link, main .back-link { font-family: var(--sans); }
main .detail-conditions p, main .detail-summary p { max-width: 48rem; }
main .detail-summary { padding-top: 32px; padding-bottom: 16px; }
main .detail-summary h2 { font-size: 26px; margin-bottom: 20px; }
footer nav a, footer a[href*="privacy"], main .back-link { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 700px) { main .foundation-nav { column-gap: 16px; } main .foundation-nav a { font-size: 12px; } }
main :is(h1, h2, h3):not(.mock-screen *) { font-family: var(--serif) !important; }

/* Recruitment: three clear ways to participate */
.te-join-intro{padding-top:8px;padding-bottom:40px;max-width:1200px}
main p.te-join-lead{font-size:24px;line-height:1.65;color:#373131;margin:0 0 16px}
.te-join-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}
.te-join-nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;border-top:1px solid #cabfbf;border-bottom:1px solid #cabfbf;color:#373131;font-size:19px;text-decoration:none;min-height:72px}
.te-join-nav a:hover{color:#7f4963;border-color:#7f4963}
.te-join-sections{padding-bottom:64px}
.te-join-role{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:64px;padding:64px 0;border-bottom:1px solid #e0d8d9;scroll-margin-top:140px}
.te-join-role header{position:static;background:none;border:0;box-shadow:none;padding:0}
.te-join-role header h2{font-size:36px;margin:8px 0 20px;line-height:1.4}
main p.te-join-label{font-size:14px;color:#705b5c;letter-spacing:.04em}
.te-join-copy{max-width:42rem}
.te-join-copy>p:first-child{margin-top:0}
.te-join-copy h3{font-size:20px;margin:24px 0 12px}
.te-join-copy ul{padding-left:1.25em;margin:12px 0 24px}
.te-join-copy li{padding:4px 0;font-size:16px;line-height:1.8}
.te-join-copy .pill{margin-top:24px;min-height:48px}
.te-join-role:last-child{border:0}
@media(max-width:700px){main p.te-join-lead{font-size:20px}.te-join-nav{grid-template-columns:1fr;gap:0;margin-top:28px}.te-join-nav a{padding:16px 0;border-top:0;min-height:60px;font-size:18px}.te-join-nav a:first-child{border-top:1px solid #cabfbf}.te-join-role{grid-template-columns:1fr;gap:24px;padding:40px 0}.te-join-role header h2{font-size:30px}.te-join-role header p{margin-bottom:0}.te-join-copy .pill{width:100%;justify-content:space-between}.te-join-sections{padding-bottom:40px}}

/* 2026-09-21 フッターの「個人情報の取り扱い」リンクの高さ（WCAG 2.5.8 24px以上） */
.footer-bottom a{display:inline-flex;align-items:center;min-height:24px}

/* ===== PCの体裁の調整（2026-09-27 本番） ===== */
/* A1 本文の幅を1種類にそろえる（左端98px） */
.wp-block-group.wrap{max-width:1320px}

/* A2 日本語の改行（言葉の途中で切らない・最後の行に1〜2字だけ残さない） */
main{line-break:strict}
main p,main dd,main dt,main li,main summary,main figcaption,main td,main th{word-break:auto-phrase;text-wrap:pretty}
main h1,main h2,main h3,main h4{word-break:auto-phrase;text-wrap:balance}

/* A3 1段組の文章の幅（1行40字前後） */
.page-lead{max-width:680px}
.section-intro,.consulting-lead>p:not(.page-lead),.privacy p,main p.small,main p.online-note{max-width:40em}
.te-price .te-p-lead{max-width:40em}
.te-price .te-p-notes li{max-width:44em;padding-left:1em;text-indent:-1em}

/* A5 文章のすぐ後のボタンの上に余白 */
main p+.pill,main p+.cta-row{margin-top:40px}

/* A7 よくある質問の一覧を見出しの左端にそろえる */
.faq-list{margin-inline:0}

/* A8 規約の小見出し：上を広く、下を狭く */
.privacy h2{margin-top:56px;margin-bottom:16px}
.privacy h2:first-child{margin-top:0}

/* A10 下の欄：区切り線と最下段の高さ */
.site-footer{border-top:1px solid var(--line)}
.footer-bottom{align-items:baseline}

/* B1 トップの写真の上の説明文：2行・読みやすく */
.home .hero-caption{font-weight:600;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.home .hero-caption>span{display:block}
@media(min-width:1001px){.home .hero-caption{max-width:none;bottom:34px}.home .hero-caption>span{white-space:nowrap}}
.home .hero .hero-tone{background:linear-gradient(to top,rgba(22,20,20,.7) 0,rgba(22,20,20,.35) 16%,rgba(22,20,20,0) 40%),linear-gradient(90deg,rgba(37,32,27,.2),rgba(52,46,46,.28) 48%,rgba(70,55,37,.08))}
.home .photo-caption{text-shadow:0 1px 4px #000}

/* B2 トップのロゴの読みやすさ */
.home .site-header:not(.compact){background:linear-gradient(rgba(244,239,231,.92),rgba(244,239,231,.12))}

/* B3 カードが1枚だけの区画は横長に（パソコンの幅だけ） */
@media(min-width:1001px){.foundation-cards>.foundation-card:only-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
.foundation-cards>.foundation-card:only-child .foundation-card-image{height:100%}
.foundation-cards>.foundation-card:only-child .foundation-card-image img{height:100%;object-fit:cover}}

/* B4 カードが4枚の区画は4列に（パソコンの幅だけ） */
@media(min-width:1001px){.foundation-cards:has(>.foundation-card:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}

/* B5 LP制作の漫画の画像を左寄せで表示 */
.foundation-card-image img[src*="case-araki-soy-manga"]{object-position:left center}

/* B7 Worksの冒頭のボタン：一番大事な1つを青の塗りに */
.product-detail-top .cta-row .pill:first-child{background:var(--blue);border-color:var(--blue);color:#fff}
.product-detail-top .cta-row .pill:first-child .dot{background:#fff}
.product-detail-top .cta-row .pill.manga-pill,.product-detail-top .cta-row .pill.download-pill{background:#fff;border-color:#d0c6c6;color:var(--ink)}

/* B11 Connectの開閉部品をよくある質問と同じ見た目に */
ol+details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:32px 0 40px}
ol+details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-size:17px;cursor:pointer}
ol+details>summary::-webkit-details-marker{display:none}
ol+details>summary::after{content:"+";font-size:22px;color:var(--blue);line-height:1}
ol+details[open]>summary::after{content:"−"}
ol+details>p{max-width:40em;padding:0 0 22px;margin:0}

/* B14 会社情報の2つのリンクを縦に並べ、表の左端にそろえる */
.company-data>.company-recruit{display:flex;width:fit-content;margin-left:max(0px,calc(100% - 800px))}
.company-data>.company-recruit+.company-recruit{margin-top:14px}

/* B18 特定商取引法の表を左端から */
.company-data>dl:first-child{margin-left:0}

/* A6 手順一覧を本文の幅いっぱいに */
.timeline-plain{max-width:none}

/* B9 業務改善支援：よくある質問の上の余白 */
.wp-block-group.faq{padding-top:clamp(64px,8.3vw,120px)}

/* B13 Connect利用ガイド「参加の条件」ほか：文の項目は本文の書式に */
.strength-points li h3{font:400 16px/1.9 var(--sans);letter-spacing:.02em;max-width:40em}

/* B16 お問合せ・資料：見出しの下の空白を詰める */
.contact-page,.dl-intro{padding-top:0}

/* B17 資料：見出しの大きさと余白、下の欄との間 */
.dl-intro>h2{font-size:clamp(23px,2vw,28px);font-weight:500;letter-spacing:.05em;margin-bottom:20px}
.dl-intro>.page-lead{margin-bottom:32px}
.dl-intro{padding-bottom:clamp(64px,8.3vw,120px)}

/* B19 インターン「仕事内容」3列：見出しの高さをそろえる */
.difference-points h3{text-wrap:wrap}
@media(min-width:1001px){.difference-points h3{min-height:5.1em}}

/* B7 詳細ページの冒頭：相談ボタンが1つだけのときも青の塗りに */
.product-detail-top a.pill:only-of-type{background:var(--blue);border-color:var(--blue);color:#fff}
.product-detail-top a.pill:only-of-type .dot{background:#fff}

/* ===== PCの体裁の調整2（2026-09-27 本番） ===== */
/* B10 研修ページ：冒頭の相談ボタンを、ほかの詳細ページと同じ青の塗りに */
.foundation-training a.pill{background:var(--blue);border-color:var(--blue);color:#fff}
.foundation-training a.pill .dot{background:#fff}
/* B15 会社情報：2列の比率を1つにそろえる（見出しを左、表を右、上端をそろえる） */
@media(min-width:1001px){
.mvv>section{grid-template-columns:.75fr 1.08fr;gap:7vw}
.company-data:has(>.section-heading){display:grid;grid-template-columns:.75fr 1.08fr;column-gap:7vw;align-items:start}
.company-data:has(>.section-heading)>.section-heading{grid-column:1;grid-row:1/span 3;margin:0}
.company-data:has(>.section-heading)>dl{grid-column:2;max-width:none;margin-left:0}
.company-data:has(>.section-heading)>dl>div{grid-template-columns:150px 1fr}
.company-data:has(>.section-heading)>.company-recruit{grid-column:2;margin-left:0}
}

/* ===== 丸みのある形の見直し（2026-09-27 本番） ===== */
/* 1. ボタン：角を小さく（2px）。中の丸い印を、文字と同じ色の細い矢印に */
.pill{border-radius:2px}
.pill .dot,.pill.nav-contact .dot,.pill.solid .dot,.pill.manga-pill .dot,.pill.download-pill .dot,
.product-detail-top .cta-row .pill:first-child .dot,.product-detail-top a.pill:only-of-type .dot,.foundation-training a.pill .dot{width:auto;height:auto;border-radius:0;background:none;color:currentColor}
.pill .dot::before{content:"→";display:block;font:400 15px/1 var(--sans)}
.pill:hover .dot{transform:translateX(3px)}
/* 2. ラベル・小さな札：角を小さく */
.tag,.entrance-card small,.position-head small,.process-outcome,.wheel-toggle,.mock-filters span,.btn,.sample-button{border-radius:2px}
/* 3. 下の欄のSNSのアイコン：丸を四角に（角2px） */
.social-links a{border-radius:2px}
/* 4. カード・写真・枠：角を四角に */
.foundation-card,.foundation-row-image,.foundation-detail-image img,.foundation-training-image img,.case-card,.foundation-flow li,.onboarding-flow li,.wheel-card,.selected-service:not([hidden]),
.production-panel,.product-visual,.support-gallery a>figure,.group-card>figure,.contact-option,.position,.wheel-area,.story-image,.dl-contents,
.home-hero .hero,.entry-image,.production-feature>.product-visual,.home-services .entry-image,.case-grid-compact .case-card,.mock-card,.mock-kpis>div,.mock-chart,
.screen-gallery-grid figure,.manga-strip,.theme-row-image,.entrance-card,.mock-screen,.capability-band,.management-feature,.dl-form,.relationship,.sample-phone,.sample-browser,
.dl-field input,.dl-fields input[type=text],.dl-fields input[type=email],.dl-fields input[type=tel]{border-radius:0}

/* ===== 事例紹介の画像を外した枠（2026-09-27 本番） ===== */
.foundation-card-image:empty{aspect-ratio:1000/690;background:#f5f0f1}
.case-image:empty{aspect-ratio:1000/625;background:#f5f0f1}


/* ===== チャット（選択式）（2026-09-27 本番） ===== */
.te-chat-launcher{position:fixed;right:24px;bottom:24px;z-index:60;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border:0;border-radius:2px;background:var(--blue);color:#fff;font:500 14px/1 var(--sans);letter-spacing:.06em;cursor:pointer;box-shadow:0 8px 22px rgba(37,33,33,.2);transition:background .2s}
.te-chat-launcher::before{content:"";width:15px;height:11px;border:1.5px solid currentColor;border-radius:1px;box-sizing:border-box}
.te-chat-launcher:hover{background:var(--blue-dark)}
.te-chat-launcher:focus-visible,.te-opt:focus-visible,.te-chat-close:focus-visible,.te-chat-foot a:focus-visible,.te-chat-foot button:focus-visible,.te-mbar a:focus-visible,.te-mbar button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
body.te-chat-open .te-chat-launcher,body.menu-open .te-chat-launcher{display:none}
.te-chat{position:fixed;right:24px;bottom:24px;z-index:70;display:flex;flex-direction:column;width:min(420px,calc(100vw - 48px));height:min(660px,calc(100vh - 110px));background:#fff;border:1px solid var(--line);border-radius:0;box-shadow:0 16px 44px rgba(37,33,33,.2)}
.te-chat[hidden]{display:none}
.te-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 20px;border-bottom:1px solid var(--line)}
.te-chat-title{margin:0;font:600 15px/1.4 var(--serif);letter-spacing:.06em;color:var(--ink)}
.te-chat-close{flex:0 0 auto;width:36px;height:36px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:300 20px/1 var(--sans);cursor:pointer}
.te-chat-close:hover{border-color:var(--blue);color:var(--blue)}
.te-chat-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 18px 6px;background:#faf7f7}
.te-msg{margin:0 0 12px;font:400 14px/1.9 var(--sans);color:var(--ink);word-break:auto-phrase;line-break:strict}
.te-msg-bot{padding:12px 14px;background:#fff;border-left:2px solid var(--blue)}
.te-msg-user{width:fit-content;max-width:86%;margin-left:auto;padding:7px 12px;background:#f2eaeb;color:#383232}
.te-msg-wait{color:#886f70;border-left-color:var(--line)}
.te-msg p{margin:0 0 .5em}
.te-msg p:last-child{margin-bottom:0}
.te-answer-title{font:600 15px/1.6 var(--serif)!important;letter-spacing:.04em;margin-bottom:.6em!important}
.te-answer ul{margin:.2em 0 .7em;padding-left:1.2em}
.te-answer li{margin:.2em 0}
.te-answer .te-label{margin:.7em 0 .1em;font-weight:600}
.te-answer .te-q{margin-top:.2em;font-weight:600}
.te-answer .te-a{margin:0 0 .6em}
.te-answer a,.te-more{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.te-more{display:inline-block;margin-top:8px;font-size:13px}
.te-opts{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}
.te-opt{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:10px 14px;border:1px solid #d0c6c6;border-radius:2px;background:#fff;color:var(--ink);font:400 14px/1.6 var(--sans);text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.te-opt::after{content:"→";flex:0 0 auto;color:var(--blue)}
.te-opt:hover{border-color:var(--blue);background:#f8f3f3}
.te-opt-sub{border-color:transparent;background:transparent;color:#705b5c;font-size:13px;padding:6px 4px}
.te-opt-sub::after{content:"";}
.te-opt-sub:hover{border-color:transparent;background:transparent;text-decoration:underline}
.te-chat-foot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:#fff}
.te-chat-foot a,.te-chat-foot button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 8px;border:1px solid #d0c6c6;border-radius:2px;background:#fff;color:var(--ink);font:400 13px/1.3 var(--sans);text-align:center;text-decoration:none;cursor:pointer}
.te-chat-foot a:hover,.te-chat-foot button:hover{border-color:var(--blue)}
.te-chat-foot .te-foot-line{background:#06c755;border-color:#06c755;color:#fff}
.te-chat-foot .te-foot-line:hover{border-color:#05b44c;background:#05b44c}
.te-mbar{display:none}
@media(max-width:700px){
  .te-chat-launcher{display:none}
  .te-mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line)}
  .te-mbar a,.te-mbar button{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:2px;font:600 14px/1 var(--sans);letter-spacing:.04em;text-decoration:none;cursor:pointer}
  .te-mbar-line{background:#06c755;color:#fff;border:1px solid #06c755}
  .te-mbar-chat{background:#fff;color:var(--blue);border:1px solid var(--blue)}
  body.te-has-mbar{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  body.menu-open .te-mbar,body.te-chat-open .te-mbar{display:none}
  .te-chat{inset:0;width:100%;height:100%;height:100dvh;border:0;box-shadow:none}
  .te-chat-log{padding:14px 14px 6px}
}
@media(prefers-reduced-motion:reduce){.te-chat-launcher,.te-opt{transition:none}}
.te-answer .te-row{margin:.25em 0}
.te-answer .te-key{font-weight:600}
.te-answer del{color:#937b7c}

/* ===== ヘッダーのメニューと下の欄（2026-09-27 本番） ===== */
/* C8 メニューの文字を少し大きく。お問合せボタンの書体をメニューとそろえる */
@media(min-width:1101px){.desktop-nav{font-size:14px}}
.pill.nav-contact{font-family:var(--sans);font-weight:500;letter-spacing:.06em}
/* C6 下の欄の規約リンク3つ */
.footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 28px}
@media(max-width:700px){.footer-legal{flex-direction:column;align-items:flex-start;gap:0;margin-top:6px}.footer-legal a{margin-top:0;min-height:44px}}

/* ===== 丸みのある形の見直し：Worksの料金の残り（2026-09-27 本番） ===== */
.te-price .te-p-camp,.te-price .te-p-plan,.te-price .te-p-common{border-radius:0}
.te-price .te-p-tag,.te-price .te-p-btn{border-radius:2px}

/* ===== スマートフォンの見出し行と、業務改善支援のボタン（2026-09-27 本番） ===== */
@media(max-width:700px){.service-group .section-title-row{flex-direction:column;align-items:flex-start;gap:6px}.service-group .section-title-row .text-link{font-size:13px}}
.consulting-lead a.pill{background:var(--blue);border-color:var(--blue);color:#fff}

/* ===== トップの輪：一つながりの輪にし、光が右回りに回り続ける（2026-09-27 本番） ===== */
.home .hero-ring circle{animation:te-ring-draw 2.6s ease-out 1 forwards}
@keyframes te-ring-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
.home .hero-ring::after{content:"";position:absolute;inset:calc(1% - 2px);border-radius:50%;background:conic-gradient(from 0deg,rgba(255,255,255,0) 0deg,rgba(255,255,255,0) 290deg,rgba(255,255,255,1) 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 4px));animation:te-ring-spin 14s linear infinite;filter:drop-shadow(0 0 3px rgba(255,255,255,.9));pointer-events:none}
@keyframes te-ring-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.home .hero-ring circle{animation:none;stroke-dashoffset:0}.home .hero-ring::after{animation:none;display:none}}

/* ===== Worksの料金：角を四角に（ページ内の書式より優先させる）（2026-09-27） ===== */
main .te-price .te-p-camp,main .te-price .te-p-plan,main .te-price .te-p-common{border-radius:0}
main .te-price .te-p-tag,main .te-price .te-p-btn{border-radius:2px}

/* ===== トップの輪：途切れのない一つながりの輪（線で描く）・文字と釣り合う大きさ（PC）（2026-09-27 本人「はい」＝案B、「輪のサイズ文字とバランスとってね」） ===== */
@property --te-ring-a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes te-ring-reveal{from{--te-ring-a:0deg}to{--te-ring-a:360deg}}
@media(min-width:1001px){
.home .hero-ring{--te-hh:max(650px,min(62vw,950px));--te-rd:min(calc(11.7 * clamp(40px,4.14vw,68px)),calc(var(--te-hh) - 209px));width:var(--te-rd);max-width:none;top:calc((var(--te-hh) - 17px)/2 - var(--te-rd)/2)}
.home .hero .hero-message{top:calc((max(650px,min(62vw,950px)) - 17px)/2)}
.home .hero-ring svg{display:none}
.home .hero-ring::before{content:"";position:absolute;inset:calc(1% - 1px);border:2px solid rgba(255,255,255,.85);border-radius:50%;-webkit-mask:conic-gradient(from 210deg,#000 var(--te-ring-a),transparent 0);mask:conic-gradient(from 210deg,#000 var(--te-ring-a),transparent 0);animation:te-ring-reveal 2.6s ease-out forwards}
}
@media(min-width:1001px) and (prefers-reduced-motion:reduce){.home .hero-ring::before{animation:none;--te-ring-a:360deg}}

/* ===== 監修1回目 A-11：見た目の直し（PC）（2026-09-27 本人「はい」） ===== */
@media(min-width:701px){.site-footer{padding-bottom:96px}.photo-caption{font-size:12px}}
.page-id-2348 .strength-points h3,.page-id-2349 .strength-points h3{font-family:var(--sans)!important;font-weight:400;font-size:16px;letter-spacing:.02em;line-height:1.85}
@media(min-width:1001px){.difference-points h3{min-height:0;margin-bottom:12px}.page-id-2005 .theme-rows-section{padding-top:96px;padding-bottom:96px}.page-id-2005 #price{padding-top:96px}}
.foundation-card h3,.foundation-card p,.foundation-card dd{word-break:auto-phrase}
.foundation-card h2:has(wbr){word-break:keep-all}

/* 2026-09-27 本人のPC版チェック1回目 */
/* 1. トップの5つの円：若い番号の円を、次の番号の円の上に重ねる（01が02の上、02が03の上…、01は05の上） */
.support-circle-1{z-index:5}.support-circle-2{z-index:4}.support-circle-3{z-index:3}.support-circle-4{z-index:2}.support-circle-5{z-index:1}
.support-circle:hover{z-index:6}.support-circle:focus-visible{z-index:7}
/* 2. Worksの料金カード：青い囲いと塗りのボタンを、カーソル（またはキーボードの選択）のあるカードへ移す。何も選んでいない時は真ん中 */
main .te-price .te-p-plan{transition:border-color .2s}
main .te-price .te-p-plans:has(.te-p-plan:hover) .te-p-plan.is-featured:not(:hover),
main .te-price .te-p-plans:has(.te-p-plan:focus-within) .te-p-plan.is-featured:not(:focus-within){border:1px solid #d8d0d0;padding:26px 24px 24px}
main .te-price .te-p-plans:has(.te-p-plan:hover) .te-p-plan.is-featured:not(:hover) .te-p-btn,
main .te-price .te-p-plans:has(.te-p-plan:focus-within) .te-p-plan.is-featured:not(:focus-within) .te-p-btn{border:1px solid #d0c6c6;color:#242424;background:#fff}
main .te-price .te-p-plan:hover,main .te-price .te-p-plan:focus-within{border:2px solid #a85257;padding:25px 23px 23px}
main .te-price .te-p-plan:hover .te-p-btn,main .te-price .te-p-plan:focus-within .te-p-btn{border:0;color:#fff;background:#a85257}
/* 3. 横に並ぶカード：見出し・説明・こんな課題に・提供内容・詳しく見る の位置を、カードどうしでそろえる（パソコン） */
@media(min-width:1001px){
.foundation-cards-rich:not(:has(.foundation-card-meta>div:nth-child(3)))>.foundation-card:not(:only-child){display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0}
.foundation-cards-rich:not(:has(.foundation-card-meta>div:nth-child(3)))>.foundation-card:not(:only-child)>.foundation-card-body{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0}
.foundation-cards-rich:not(:has(.foundation-card-meta>div:nth-child(3)))>.foundation-card:not(:only-child) .foundation-card-meta{grid-template-rows:subgrid;grid-row:span 2;row-gap:14px}
}

/* ===== 2026-09-27 本人のPC版チェック1回目：見本と文案の反映（字体・改行・案内・ボタン・Works・流れ・チャット） ===== */

/* ===== 字体の決まり：見出しは明朝、本文・ボタン・案内・表はゴシック ===== */
.site-footer nav a,.site-footer small,.site-footer .footer-legal a,.site-footer p{font-family:var(--sans)!important;font-weight:400}
main a.pill,main .te-btn,main .te-p-btn,main .contact-option a{font-family:var(--sans)!important;font-weight:500!important;letter-spacing:.06em}
main .page-lead{font-weight:400}
main .page-heading>p[lang="en"],main p.eyebrow,main span.eyebrow{font-family:var(--sans)!important;font-weight:600;font-size:12.5px;letter-spacing:.14em}
main :is(h2,h3):not(.mock-screen *){font-weight:500}
/* ===== 改行：言葉の途中で切らない・最後の行が1〜2文字にならない ===== */
main :is(h1,h2,h3,summary){text-wrap:balance;word-break:auto-phrase}
main :is(p,li,dd,dt,small){text-wrap:pretty;word-break:auto-phrase;line-break:strict}
/* ===== 上の案内 ===== */
.site-header .te-nav2{display:flex;align-items:center;gap:28px}
.site-header .te-nav2>a{font-family:var(--sans);font-size:14px;letter-spacing:.05em;color:#242424;white-space:nowrap}
.site-header .te-nav2 .te-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:140px;height:42px;font-size:14px;letter-spacing:.08em;border-radius:0;text-decoration:none;border:1px solid #a85257;color:#fff;background:#a85257}
@media(max-width:1180px){.site-header .te-nav2{gap:18px}.site-header .te-nav2>a{font-size:13px}.site-header .te-nav2 .te-nav-btn{width:120px}}
/* ===== ボタン：すべて「お問合せ」、同じ幅 ===== */
main a.pill{min-width:220px;justify-content:center;flex-shrink:0}
.te-btn{display:inline-flex;align-items:center;justify-content:center;width:220px;height:52px;flex-shrink:0;background:#a85257;color:#fff!important;font-size:15px;text-decoration:none;border:1px solid #a85257;border-radius:0}
.te-btn.is-line{background:#fff;color:#a85257!important}
/* ===== Works 冒頭：キャンペーンの1行と2つのボタン ===== */
.te-hero-camp{margin:22px 0 0;padding:12px 14px;border-left:3px solid #383232;background:#f6f3f3;font-size:13.5px;line-height:1.8;color:#242424}
.te-hero-camp strong{display:block;font-size:15px;color:#383232;letter-spacing:.04em}
.te-hero-cta{display:flex;gap:12px;margin-top:18px}
.te-hero-note{margin:12px 0 0;font-size:13px;color:#6b5758}
.te-img-note{display:block;margin-top:8px;font-size:12px;color:#836c6d;text-align:right}
.foundation-row-image .te-img-note{position:absolute;right:10px;bottom:8px;margin:0;padding:1px 8px;background:rgba(255,255,255,.88)}
.foundation-row-image{position:relative}
/* ===== Works：3つの選択肢（動画・漫画ができた時の形） ===== */
.te-know{margin-top:24px}
.te-know-title{font:600 12.5px/1.6 var(--sans);letter-spacing:.12em;color:#a85257;margin:0 0 10px}
.te-know-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.te-know-item{display:flex;flex-direction:column;gap:6px;padding:16px 14px;border:1px solid #dbd3d3;background:#fff;color:#242424;text-decoration:none}
.te-know-item svg{width:28px;height:28px;color:#a85257}
.te-know-item strong{font:600 15.5px/1.4 var(--sans)}
.te-know-item small{font-size:12.5px;line-height:1.7;color:#6b5758}
/* ===== キャンペーンの帯 ===== */
main .te-price .te-camp2{display:grid;grid-template-columns:1fr auto;gap:16px 32px;align-items:center;background:#383232;color:#fff;padding:26px 32px 24px;border-radius:0;margin:0 0 28px}
.te-camp2-head{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
main .te-price .te-camp2 .te-p-tag{background:#fff;color:#383232;border-radius:0;font-weight:600;padding:5px 14px}
.te-camp2-term{font-size:14.5px;letter-spacing:.04em;color:#efe8e8}
.te-camp2-main{display:flex}
.te-camp2-main p{margin:0;padding:0 36px;border-left:1px solid rgba(255,255,255,.35);display:flex;align-items:baseline;gap:14px}
.te-camp2-main p:first-child{padding-left:0;border-left:0}
.te-camp2-main small{font-family:var(--sans);font-size:16px;color:#efe8e8;letter-spacing:.04em}
.te-camp2-main strong{font-family:var(--serif);font-size:46px;font-weight:600;letter-spacing:.06em;line-height:1.1}
.te-camp2 .te-btn{background:#fff;color:#383232!important;border-color:#fff}
.te-camp2-sub{grid-column:1/-1;margin:0;font-size:13px;line-height:1.85;color:#e5dcdc}
/* ===== ご契約の条件（注釈を表に） ===== */
.te-p-terms{margin-top:30px}
.te-p-terms h3{font:500 18px/1.5 var(--serif);margin:0 0 10px}
.te-p-terms dl{margin:0;border-top:1px solid #d8d0d0}
.te-p-terms dl div{display:grid;grid-template-columns:12em 1fr;gap:18px;padding:13px 0;border-bottom:1px solid #e9e4e4;font-size:13.5px;line-height:1.85}
.te-p-terms dt{color:#645253;font-weight:500}
.te-p-terms dd{margin:0;color:#242424}
.te-p-terms a{color:#a85257}
/* ===== 導入の流れ：Worksは説明つきのカード ===== */
.te-steps{list-style:none;margin:30px 0 22px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.te-steps li{background:#fff;border:1px solid #e1d9da;padding:18px 18px 20px;position:relative}
.te-steps .te-step-no{display:block;font:600 11.5px/1 var(--sans);letter-spacing:.16em;color:#a85257}
.te-steps h3{font:500 17px/1.5 var(--serif);margin:10px 0 6px}
.te-steps p{margin:0;font-size:13.5px;line-height:1.75;color:#44413e}
.te-steps li:not(:nth-child(4n))::after{content:"";position:absolute;right:-13px;top:50%;width:8px;height:8px;border-top:2px solid #bdaeaf;border-right:2px solid #bdaeaf;transform:translateY(-50%) rotate(45deg)}
.te-steps-note{margin:0 0 22px;font-size:14px;line-height:1.85;color:#242424}
/* ===== ほかのページの「ご依頼の流れ」も、同じカードの形に（名前だけ）。テーマの古い指定（2列・下線）より優先する ===== */
main ol.timeline.timeline-plain{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;list-style:none;padding:0!important;margin:28px 0 26px!important;border:0!important;max-width:none!important}
main ol.timeline.timeline-plain>li{position:relative!important;display:block!important;background:#fff!important;border:1px solid #e1d9da!important;padding:16px 18px!important;margin:0!important;min-height:0!important}
main ol.timeline.timeline-plain>li>span{display:block!important;font:600 11.5px/1 var(--sans)!important;letter-spacing:.16em;color:#a85257!important;width:auto!important;height:auto!important;border:0!important;background:none!important;position:static!important}
main ol.timeline.timeline-plain>li>span::before{content:"STEP "}
main ol.timeline.timeline-plain>li h3{font:500 16px/1.5 var(--serif)!important;margin:8px 0 0!important;color:#2b2626!important}
main ol.timeline.timeline-plain>li:not(:nth-child(4n)):not(:last-child)::after{display:block!important;content:""!important;position:absolute!important;right:-13px;top:50%;width:8px;height:8px;border-top:2px solid #bdaeaf;border-right:2px solid #bdaeaf;transform:translateY(-50%) rotate(45deg);background:none!important}
/* ===== カードの一文・募集の注記・会員サイトの行 ===== */
.te-card-note{display:block;margin:10px 0 0;padding:6px 10px;background:#f7f1f2;color:#4b4343;font-size:13px;line-height:1.6;border-left:3px solid #a85257}
.te-cards-note{margin:18px 0 0;padding:14px 18px;border:1px solid #e1d9da;background:#fbf8f8;font-size:13.5px;line-height:1.85}
.te-cards-note strong{font-weight:600}
.te-nowrap{white-space:nowrap}
.te-row-camp{margin:12px 0 0;font-size:13px;line-height:1.75;color:#4b4343}
.te-row-camp b{display:inline-block;margin-right:8px;padding:0 8px;background:#383232;color:#fff;font-weight:500;font-size:12px;letter-spacing:.06em}
.te-it-notice{margin:14px 0 0;padding:12px 14px;border:1px solid #e1d9da;background:#fbf8f8;font-size:13.5px;line-height:1.8;color:#242424}
/* ===== チャット：大手の形（本人「大手のchatbotみたいに」2026-09-27）。選択式のまま、見た目と最初の案内を変える ===== */
@media(min-width:701px){
.te-chat-launcher{right:28px;bottom:44px;min-height:56px;padding:0 24px 0 20px;background:#383232;color:#fff;font:500 15px/1 var(--sans);letter-spacing:.06em;box-shadow:0 10px 26px rgba(39,35,35,.28)}
.te-chat-launcher:hover{background:#2a2525}
.te-chat{right:28px;bottom:44px;border-color:#e1d9da;box-shadow:0 20px 50px rgba(39,35,35,.24)}
}
.te-chat-launcher::before{width:22px;height:22px;border:0;border-radius:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18v12H9l-6 5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18v12H9l-6 5z'/%3E%3C/svg%3E") center/contain no-repeat}
.te-chat-head{background:#383232;border-bottom:0;padding:14px 12px 14px 18px}
.te-chat-title{font:600 15px/1.4 var(--sans)!important;color:#fff!important;letter-spacing:.05em}
.te-chat-sub{margin:2px 0 0;font:400 11px/1.4 var(--sans);color:#e5cacb}
.te-chat-close{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.te-chat-close:hover{border-color:#fff;color:#fff}
.te-chat-log{background:#f8f5f5}
.te-msg-bot{background:#fff;border:1px solid #e6e1e1;max-width:94%}
.te-msg-user{background:#a85257;color:#fff}
.te-opts{flex-direction:row;flex-wrap:wrap;gap:6px}
.te-opt{width:auto;max-width:100%;padding:7px 12px;border-color:#a85257;color:#a85257;font-size:13px;line-height:1.5}
.te-opt::after{content:none}
.te-opt:hover{background:#f7f1f2}
.te-opt-sub{border-color:transparent;color:#705b5c}
.te-chat-foot .te-foot-contact{border-color:#a85257;color:#a85257}
.te-chat-note{margin:0;padding:0 14px 10px;background:#fff;font:400 10.5px/1.5 var(--sans);color:#937b7c}
.te-chat-balloon{position:fixed;right:28px;bottom:112px;z-index:61;max-width:290px;padding:12px 34px 12px 16px;background:#fff;border:1px solid #e1d9da;box-shadow:0 8px 22px rgba(39,35,35,.14);font:400 13px/1.6 var(--sans);color:#242424}
.te-chat-balloon strong{display:block;font-size:14px;margin-bottom:2px}
.te-chat-balloon::after{content:"";position:absolute;right:30px;bottom:-7px;width:12px;height:12px;background:#fff;border-right:1px solid #e1d9da;border-bottom:1px solid #e1d9da;transform:rotate(45deg)}
.te-chat-balloon-x{position:absolute;top:4px;right:6px;width:24px;height:24px;border:0;background:none;color:#937b7c;font-size:16px;cursor:pointer}
body.te-chat-open .te-chat-balloon,body.menu-open .te-chat-balloon{display:none}
@media(max-width:700px){.te-chat-balloon{display:none}}


/* ===== 2026-09-27 夜 スマートフォンの直し（上の案内が隠れない・キャンペーンの帯がはみ出す） ===== */
@media (max-width:1000px){
  .site-header .te-nav2{display:none}
}
@media (max-width:700px){
  main .te-price .te-camp2{grid-template-columns:1fr;padding:20px 18px 18px;gap:14px}
  .te-camp2-head{gap:8px 12px}
  .te-camp2-term{font-size:13px;line-height:1.7}
  .te-camp2-main{flex-wrap:wrap;row-gap:10px}
  .te-camp2-main p{padding:0 16px;gap:10px}
  .te-camp2-main small{font-size:14px}
  .te-camp2-main strong{font-size:34px}
  .te-camp2 .te-btn{width:100%;justify-content:center}
  .te-camp2-sub{font-size:12.5px}
}

@media (max-width:700px){
  .te-hero-cta{flex-wrap:wrap}
  .te-hero-cta .te-btn{width:100%}
}

/* ===== 形と入口の直し（2026-09-28 本番・本人承認）：色は今のまま。ボタンは小さな丸み（6px）と文字に合った幅、Worksの冒頭は4つの選択肢、チャットの入口は案A（笑顔の吹き出し）と、あいさつのボタン ===== */
:root{--te-radius:6px}
/* 1. ボタン：角は6px。固定の幅をやめ、最小の幅と左右の余白をそろえる */
main .te-btn{width:auto;min-width:180px;height:auto;min-height:52px;padding:12px 26px;gap:10px;border-radius:var(--te-radius);line-height:1.4;transition:background-color .2s,border-color .2s,box-shadow .2s}
main .te-btn:hover{background:var(--blue-dark);border-color:var(--blue-dark)}
main .te-btn.is-line:hover{background:#f8f3f3;color:var(--blue)!important;border-color:var(--blue)}
.pill,main a.pill,.te-price .te-p-tag,.te-price .te-p-btn,main .te-price .te-p-tag,main .te-price .te-p-btn,.te-opt,.te-mbar a,.te-mbar button{border-radius:var(--te-radius)}
main a.pill{min-width:180px}
.site-header .te-nav2 .te-nav-btn{border-radius:var(--te-radius)}
main .te-price .te-camp2 .te-btn{border-radius:var(--te-radius)}
/* 2. Worksの冒頭：お問合せ・資料で見る・漫画で見る・動画で見る（2列でそろえる。漫画・動画はできるまで「準備中」） */
.te-hero-cta.te-cta4{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:452px;margin-top:22px}
main .te-cta4 .te-btn{width:100%;min-width:0;justify-content:center;padding:12px 14px;font-size:15px}
.te-cta4 .te-btn i{flex:0 0 auto;width:20px;height:20px;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.te-cta4 .te-btn small{flex:0 0 auto;margin-left:2px;padding:1px 6px;border-radius:3px;font-size:11px;line-height:1.5;letter-spacing:.04em;background:#f4eeee;color:var(--blue)}
.te-cta4 .te-btn:not(.is-line) small{background:rgba(255,255,255,.2);color:#fff}
main .te-cta4 .te-btn.is-soon{cursor:default;color:#484040!important;border-color:#d8d0d0;background:#fff}
main .te-cta4 .te-btn.is-soon:hover{background:#fff;border-color:#d8d0d0}
main .te-cta4 .te-btn.is-soon small{background:#f3f0f0;color:#6b5758}
.i-mail{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3.8 6.8 12 13l8.2-6.2'/%3E%3C/svg%3E")}
.i-doc{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M6 3h8l4 4v14H6z'/%3E%3Cpath d='M14 3v4h4M9 12h6M9 16h6'/%3E%3C/svg%3E")}
.i-book{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M3 5.6c3-1.2 6-1 9 1 3-2 6-2.2 9-1V19c-3-1-6-.8-9 1-3-1.8-6-2-9-1z'/%3E%3Cpath d='M12 6.6V20'/%3E%3C/svg%3E")}
.i-play{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M10 8.4v7.2l5.8-3.6z' fill='black'/%3E%3C/svg%3E")}
/* 3. チャットの入口（案A）：丸みのある形に、笑顔の吹き出しの印。色は今の紺のまま */
body{--face:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23383232' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M6 3.5h12a2.5 2.5 0 0 1 2.5 2.5v8a2.5 2.5 0 0 1-2.5 2.5h-6.5L7 20v-3.5H6A2.5 2.5 0 0 1 3.5 14V6A2.5 2.5 0 0 1 6 3.5z'/%3E%3Ccircle cx='9' cy='9.6' r='1.1' fill='%23383232' stroke='none'/%3E%3Ccircle cx='15' cy='9.6' r='1.1' fill='%23383232' stroke='none'/%3E%3Cpath d='M9 12.6c1.7 1.4 4.3 1.4 6 0'/%3E%3C/svg%3E")}
.te-chat-launcher{bottom:36px;min-height:60px;padding:0 24px 0 8px;gap:12px;border-radius:999px;font:600 15px/1 var(--sans);transition:transform .2s,box-shadow .2s,background-color .2s}
.te-chat-launcher:hover{transform:translateY(-2px)}
.te-chat-launcher::before{width:44px;height:44px;border-radius:50%;background:#fff var(--face) center/30px no-repeat;-webkit-mask:none;mask:none;flex:0 0 auto}
@media(min-width:701px){.te-chat-balloon{bottom:110px;max-width:330px;width:330px;padding:14px 34px 14px 14px;border:0;border-radius:14px;box-shadow:0 12px 30px rgba(39,35,35,.18);display:grid;grid-template-columns:40px 1fr;column-gap:12px;align-items:start}}
.te-chat-balloon::before{content:"";grid-row:1/span 3;width:40px;height:40px;border-radius:50%;background:#f4eeee var(--face) center/26px no-repeat}
.te-chat-balloon strong{grid-column:2;font-size:14.5px}
.te-chat-balloon span{grid-column:2;color:#484040}
.te-chat-balloon::after{right:44px;border:0;box-shadow:4px 4px 8px rgba(39,35,35,.06)}
.te-chat-chips{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.te-chat-chips button{padding:5px 11px;border:1px solid #d0c6c6;border-radius:999px;background:#fff;color:var(--blue);font:500 12.5px/1.4 var(--sans);cursor:pointer}
.te-chat-chips button:hover{background:#f8f3f3;border-color:var(--blue)}
.te-chat{border-radius:14px;overflow:hidden}
.te-mbar-chat::before{content:"";width:22px;height:22px;margin-right:8px;background:var(--face) center/contain no-repeat}
@media(max-width:700px){
 .te-hero-cta.te-cta4{max-width:none}
 main .te-cta4 .te-btn{font-size:14px;padding:11px 8px;gap:6px;min-height:50px}
 .te-cta4 .te-btn small{font-size:10px;padding:0 4px}
}
@media(prefers-reduced-motion:reduce){.te-chat-launcher:hover{transform:none}}

/* トップの写真の上の文：スマートフォンで言葉の途中で改行せず、「主役は現場だ」に重ならないように（2026-09-28） */
@media(max-width:700px){.home .hero-caption{max-width:300px}}
@media(max-width:340px){.home .hero-caption{font-size:11.5px;line-height:1.7;bottom:30px}}

/* 名前の読み（2026-09-28 本人承認）：見出しの「Hachiwaku」の横に小さく「（ハチワク）」 */
.te-yomi{font-size:.42em;letter-spacing:.06em;margin-left:.35em;font-family:var(--sans);font-weight:400;color:#6b5758;vertical-align:.25em;white-space:nowrap}

/* ==== Hachiwakuの料金の計算（/management/ の料金表の下）2026-09-28 ==== */
.te-calc{margin:28px 0 8px;border:1px solid var(--line,#d8d0d0);background:#fff;padding:30px 32px 32px}
.te-calc-head h3{margin:0 0 6px;font-size:22px}
.te-calc-head p{margin:0 0 22px;font-size:14px;color:#6a6264}
.te-calc-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:start}
.te-calc-field{margin:0 0 18px}
.te-calc-label{margin:0 0 8px;font-size:14px;font-weight:700}
.te-calc-label small{margin-left:8px;font-weight:400;color:#6f6c75;font-size:12.5px}
.te-calc-num{display:flex;align-items:center;gap:8px}
.te-calc-num input{width:96px;height:48px;border:1px solid var(--line,#d8d0d0);border-radius:0;font-size:22px;font-weight:700;text-align:center;font-family:inherit;-moz-appearance:textfield}
.te-calc-num input::-webkit-outer-spin-button,.te-calc-num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.te-calc-unit{font-size:15px;margin-right:6px}
.te-calc-step{width:48px;height:48px;border:1px solid #d0c6c6;background:var(--pale,#f4eeee);color:var(--blue-dark,#874246);font-size:22px;line-height:1;cursor:pointer;border-radius:0}
.te-calc-step:hover{background:#eee3e4}
.te-calc-seg{display:flex;flex-wrap:wrap;gap:8px}
.te-calc-seg label{cursor:pointer}
.te-calc-seg input{position:absolute;opacity:0;pointer-events:none}
.te-calc-seg span{display:block;padding:11px 16px;border:1px solid var(--line,#d8d0d0);font-size:14px;font-weight:700;background:#fff}
.te-calc-seg input:checked+span{border-color:var(--blue,#a85257);background:var(--pale,#f4eeee);color:var(--blue-dark,#874246)}
.te-calc-seg input:focus-visible+span{outline:2px solid var(--blue,#a85257);outline-offset:2px}
.te-calc-out{background:var(--pale,#f4eeee);padding:22px 24px 24px}
.te-calc-rows{margin:0 0 12px}
.te-calc-rows div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e6dcdd;font-size:14px}
.te-calc-rows dt{font-weight:700}
.te-calc-rows dd{margin:0;display:flex;gap:14px;align-items:baseline}
.te-calc-rows dd span{color:#6a6264}
.te-calc-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:6px 0 10px}
.te-calc-total span{font-size:14px;font-weight:700}
.te-calc-total strong{font-size:32px;letter-spacing:.01em;color:var(--blue-dark,#874246)}
.te-calc-rows2{margin-top:6px;border-top:2px solid #e6dcdd}
.te-calc-rows dd s{color:#8a8790;font-size:13px}
.te-calc-total2 strong{font-size:24px}
.te-calc-big{margin:0 0 8px;font-size:20px;font-weight:700}
.te-calc-note{margin:0 0 6px;font-size:12.5px;color:#6a6264;line-height:1.7}
.te-calc-go{margin-top:14px;display:flex;justify-content:center;width:100%}
@media (max-width:760px){
 .te-calc{padding:22px 18px 22px}
 .te-calc-body{grid-template-columns:1fr;gap:10px}
 .te-calc-out{padding:18px 16px 20px}
 .te-calc-total strong{font-size:28px}
 .te-calc-rows div{align-items:flex-start}
 .te-calc-rows dd{flex-direction:column;align-items:flex-end;gap:2px}
 .te-calc-rows dd span{font-size:12px}
 .te-calc-rows dd b{font-size:15px}
 .te-calc-total2{flex-direction:column;align-items:flex-start;gap:2px}
 .te-calc-total2 strong{align-self:flex-end}
}

/* ==== Hachiwakuの紹介動画（/management/）2026-09-28 ==== */
video.te-mv,img.te-mv-img{display:block;width:100%;height:auto;aspect-ratio:1600/1040;object-fit:cover;background:#f5ecea}
.foundation-detail-image video.te-mv,.foundation-detail-image img.te-mv-img{aspect-ratio:1600/1040;border-radius:0}
.theme-row-image video.te-mv,.theme-row-image img.te-mv-img{height:100%;aspect-ratio:auto}

/* ==== 料金表：「お申込み」の上の「お問合せ」（2026-09-28 本人「申込の上にお問合せもいれたい」） ==== */
main .te-price .te-p-plan .te-p-ask{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:auto;padding:12px 20px;border:1px solid #d0c6c6;border-radius:6px;background:#fff;color:var(--blue-dark,#874246);font-size:15px;font-weight:500;text-decoration:none;line-height:1.5}
main .te-price .te-p-plan .te-p-ask:hover,main .te-price .te-p-plan .te-p-ask:focus-visible{background:var(--pale,#f4eeee)}
main .te-price .te-p-plan .te-p-ask + .te-p-btn{margin-top:10px}
.te-calc-ask{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding:12px 20px;border:1px solid #d0c6c6;border-radius:6px;background:#fff;color:var(--blue-dark,#874246);font-size:15px;font-weight:500;text-decoration:none}
.te-calc-ask:hover,.te-calc-ask:focus-visible{background:#faf7f7}
.te-calc-ask + .te-calc-go{margin-top:10px}

/* ==== 2026-09-28 20時台 監査の直し（Claude Code） ==== */
/* 動画の一時停止・再生のボタン（守り No.11・中立 No.17）。左下に置く（右下は、固定の「チャットで質問」と重なるため） */
.foundation-detail-image,.theme-row-image{position:relative}
.te-mv-toggle{position:absolute;left:12px;bottom:12px;z-index:2;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(0,0,0,.08);border-radius:6px;background:rgba(255,255,255,.92);color:var(--ink);cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.12);transition:background .2s}
.te-mv-toggle:hover{background:#fff}
.te-mv-toggle:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.te-mv-toggle svg{width:13px;height:13px;fill:currentColor}
/* 料金の計算：個人事業主の方の料金（中立 No.6） */
.te-calc-head p:has(+ .te-calc-sub){margin-bottom:4px}
.te-calc-head .te-calc-sub{margin:0 0 22px;font-size:13px;line-height:1.7;color:#6a6264}

/* ==== 2026-09-28 21時台 ロゴのピンクに切り替え（本人「A：ロゴのピンクに切り替える」。BRAND.md v2.0：白・墨・くすんだピンク）==== */
main .te-price .te-p-camp.te-camp2{background:#8a4448}

/* ==== 2026-09-28 21時台 見た目のそろい（中立の監査 No.8〜11・守り No.12・本人の決定）Claude Code ==== */
/* ボタン：紫みのグラデーションをやめ、ほかのページの主なボタンと同じ塗りに（中立 No.10） */
.pill.nav-contact,.pill.solid,.mobile-cta{background:var(--blue)}
.pill.nav-contact:hover,.pill.solid:hover{background:var(--blue-dark)}
/* 見出しの上の小さな英字（本人：小さい英字を、日本語の見出しの上に。会社情報の Mission・Vision・Value は今のまま） */
.section-heading{gap:6px}
.section-heading>span{order:-1;font:600 12.5px/1.8 var(--sans)!important;letter-spacing:.14em!important;color:var(--blue)}
.section-heading>small{order:0}
@media (min-width:1001px){
  /* 節の見出し（H2）を28pxにそろえる（ページ冒頭の説明・トップの大見出し・カードの見出しは除く） */
  .section-heading>small,.te-price #te-price-title,.detail-conditions>h2,section.foundation-training h2,.contact-page .split h2,.page-id-2004 section.privacy>h2{font-size:28px}
  .home .section-heading>small{font-size:clamp(28px,2.6vw,38px)}
  /* /recruit/ の流れ（01〜04）を4列1段に */
  .page-id-2110 .difference-points{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
}
/* /start/ と完了のページ：本文の左端を見出しにそろえ、見出しの下の空きをほかのページに近づける（中立 No.9） */
main .te-st{margin-left:0;margin-right:0}
.page-id-2779 main>section.section,.page-id-2780 main>section.section{padding-top:28px}
/* トップの「主役は現場だ」を、明るい空の上でも読みやすく（守り No.12） */
.hero h1{text-shadow:0 2px 18px rgba(36,30,31,.62),0 0 2px rgba(36,30,31,.35)}
/* Hachiwaku：データの取り込み・書き出しの囲み（本人「普段使いの様々なサービスと連携できます」） */
.te-data{margin:40px 0 0;padding:36px 40px 32px;border:1px solid var(--line);border-radius:12px;background:#fff}
.te-data-title{margin:0 0 26px;font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.5;color:var(--ink)}
.te-data-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.te-data-list li{display:grid;grid-template-columns:30px 1fr;column-gap:14px;row-gap:6px;align-items:start;align-content:start;margin:0}
.te-data-ic{grid-row:1/3;width:30px;height:30px;fill:none;stroke:var(--blue);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.te-data-list strong{font-size:16px;line-height:1.6;color:var(--ink);font-weight:700}
.te-data-list span{font-size:14px;line-height:1.85;color:#4b4b4b}
.te-data-note{margin:24px 0 0;font-size:12.5px;line-height:1.7;color:#6a6264}
@media (max-width:900px){.te-data{margin-top:32px;padding:28px 22px 24px}.te-data-title{font-size:20px}.te-data-list{grid-template-columns:1fr;gap:22px}}
/* 画面はイメージです：画像の左下、一時停止のボタンの右に小さく重ねる */
.te-img-note{position:absolute;left:52px;right:auto;bottom:18px;display:block;margin:0;padding:2px 8px;font-size:11px;line-height:1.6;letter-spacing:.04em;color:#4a4a4a;background:rgba(255,255,255,.9);border-radius:3px;text-align:left;pointer-events:none}
.foundation-detail-image:not(:has(.te-mv-toggle)) .te-img-note,.theme-row-image:not(:has(.te-mv-toggle)) .te-img-note{left:12px}

/* ==== 2026-09-28 21時台 /start/ お申込みの確認：料金の目安・案内のメール・募集の入力の補足（Claude Code） ==== */
.te-st-est{margin:18px 0 20px;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:#faf7f7}
.te-st-est-h{margin:0 0 8px;font-weight:700;font-size:15px}
.te-st-est-list{margin:0 0 6px;padding-left:1.2em;font-size:14.5px;line-height:1.9}
.te-st-est .te-st-note{margin:6px 0 0}
.te-st-hint{display:block;margin-top:4px;font-size:12.5px;color:#6a6264}
.te-st-mailok{margin-top:10px}

/* ==== 2026-09-28 21時台 攻めの監査（締めの欄・最初の画面のボタン）Claude Code ==== */
.te-close{text-align:center;border-top:1px solid var(--line)}
.te-close-title{margin:0 0 16px;font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.2vw,32px);line-height:1.6;letter-spacing:.05em}
.te-close>p{max-width:680px;margin:0 auto 28px}
.te-close-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:0}
.te-close-cta.is-left{justify-content:flex-start;margin:8px 0 28px}
.te-close-link{display:inline-block;margin-top:22px;font-size:14px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.te-btn.is-ghost{background:rgba(255,255,255,.94);color:var(--ink)!important;border-color:#fff}
.hero-cta{display:none}
@media (min-width:1001px){
  .home .hero-caption{font-size:18px}
  .hero-cta{position:absolute;left:0;right:0;bottom:116px;z-index:3;display:flex;justify-content:center;gap:16px;opacity:0;animation:te-rise 1.2s var(--ease) 4.3s forwards}
}
/* 幅の狭いパソコンでは、右下のチャットの吹き出しと重ならないよう、ボタンを左に寄せる */
@media (min-width:1001px) and (max-width:1199px){.hero-cta{justify-content:flex-start;padding-left:var(--gutter)}}
@media (prefers-reduced-motion:reduce){.hero-cta{animation:none;opacity:1}}

/* ==== 2026-09-28 22時台 スマホ版の仕上げ（スマホの点検 sp_audit/報告.md の H1〜M8・L1・L3）Claude Code ==== */
/* 動画の注記：主な機能の動画では左上へ（下の札と重ならないように）。一時停止ボタンは押せる範囲を44pxに */
.theme-row-image .te-img-note{top:12px;bottom:auto;left:12px}
.te-mv-toggle::after{content:"";position:absolute;inset:-6px}
/* H1 手順の欄：タブレットは2列、スマホは1列（横向きの「＞」は出さない） */
@media (max-width:1000px){
  main ol.timeline.timeline-plain,.te-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  main ol.timeline.timeline-plain>li::after,.te-steps li::after{display:none!important;content:none!important}
  /* M8 節の見出しの大きさをそろえる */
  .section-heading>small,.te-price #te-price-title,.detail-conditions>h2,section.foundation-training h2,.contact-page .split h2,.page-id-2004 section.privacy>h2,.foundation-section-title,.te-close-title{font-size:24px}
}
@media (max-width:700px){
  main ol.timeline.timeline-plain,.te-steps{grid-template-columns:1fr!important;gap:8px!important}
  main ol.timeline.timeline-plain>li,.te-steps li{padding:14px 16px!important}
  /* M1 ご契約の条件の表・M2 特商法・会社概要・募集の概要の表は、縦に積む */
  .te-p-terms dl div{grid-template-columns:1fr;gap:4px}
  .company-data dl>div{grid-template-columns:1fr;gap:4px}
  .company-data dt{font-weight:600}
  .company-data dd{font-size:14px;line-height:1.85}
  /* M4 画面はイメージです */
  .te-img-note{font-size:12px;padding:1px 6px}
  /* M6 押す所を44pxに */
  .breadcrumb a{display:inline-block;padding:12px 0;font-size:12px}
  .te-close-link,.te-camp2-more>summary,.te-st-back{display:inline-flex;align-items:center;min-height:44px}
  .te-chat-close{width:44px;height:44px}
  .te-opt,.te-chat-foot a,.te-chat-foot button{min-height:44px}
  main input[type=checkbox]{width:20px;height:20px;accent-color:var(--blue)}
  /* M8 ボタンの文字の大きさ */
  main a.pill,main .te-btn{font-size:15px}
  /* L1 12px未満の文字 */
  .te-yomi,.te-chat-sub,.te-chat-note,.te-st-req{font-size:12px}
  /* L3 キャンペーンの枠の2行目 */
  main .te-price .te-camp2-main p{border-left:0;padding-left:0}
}
/* H2 料金の計算：年額の行を、初年度の行と同じ縦の並べ方に */
@media (max-width:760px){
  .te-calc-total{flex-direction:column;align-items:flex-start;gap:2px}
  .te-calc-total strong{align-self:flex-end;white-space:nowrap}
}
/* M3 /management/ 最初の画面のボタン：小さな札をボタン名の下の行へ */
@media (max-width:480px){
  main .te-cta4 .te-btn{flex-wrap:wrap;row-gap:2px;min-height:56px;padding:8px 6px}
  .te-cta4 .te-btn small{flex:0 0 100%;margin:0;padding:0;text-align:center;font-size:12px;background:none}
}
/* M5 入力中は、下の帯（LINEで相談・チャットで質問）を隠す */
body:has(:is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea):focus) .te-mbar{display:none}
/* H3 見出しの改行：切ってよい所に <wbr> を入れた見出しは、そこでだけ折り返す（iPhone の Safari 向け） */
main :is(h1,h2,h3,h4):has(wbr){word-break:keep-all;overflow-wrap:anywhere}

/* 手順の欄の「＞」を、タブレット・スマホでは確実に消す（既存の指定より強く） */
@media (max-width:1000px){main ol.timeline.timeline-plain>li:not(#te-none)::after,main .te-steps li:not(#te-none)::after{display:none!important;content:none!important}}

/* ==== 2026-09-28 22時台 ロゴと同じトーンのピンク（本人「色が暗いね。ロゴと同じトーンのピンクにしてほしい」）Claude Code ====
 * 押す所・キャンペーンの帯・選んだカードの枠を、ロゴのくすんだピンク #E69C9D（BRAND.md）に。明るいピンクの上の文字は、読みやすさのため墨 #242424。 */
:root{--logo-pink:#E69C9D;--logo-pink-hover:#DC8B8D}
.te-btn:not(.is-line):not(.is-ghost),.pill.solid,.pill.nav-contact,.site-header .te-nav2 .te-nav-btn,.mobile-cta,.btn.primary,.product-detail-top .cta-row .pill:first-child,.product-detail-top a.pill:only-of-type,.foundation-training a.pill,.consulting-lead a.pill,main .te-price .te-p-plan.is-featured .te-p-btn,main .te-price .te-p-plan:hover .te-p-btn,main .te-price .te-p-plan:focus-within .te-p-btn,.te-st-submit,.te-dl-submit,.te-msg-user{background:var(--logo-pink)!important;border-color:var(--logo-pink)!important;color:#242424!important}
.te-btn:not(.is-line):not(.is-ghost):hover,.pill.solid:hover,.pill.nav-contact:hover,.site-header .te-nav2 .te-nav-btn:hover,.te-st-submit:hover,.te-dl-submit:hover{background:var(--logo-pink-hover)!important;border-color:var(--logo-pink-hover)!important}
.te-btn.is-line{border-color:var(--logo-pink)}
main .te-price .te-p-plan.is-featured{border-color:var(--logo-pink)}
main .te-price .te-p-camp.te-camp2{background:var(--logo-pink)!important;color:#242424}
main .te-price .te-camp2 :is(p,small,strong,span,summary,b){color:#242424}
main .te-price .te-camp2 .te-camp2-more>summary{border-bottom-color:rgba(36,36,36,.45)}
main .te-price .te-camp2 .te-btn{background:#fff!important;border-color:#fff!important;color:#242424!important}

/* ==== 2026-09-28 22時台 本人の指示：連携は注釈だけ（Excelの囲みをやめる） ==== */
.te-feat-note{margin:32px 0 0;font-size:13px;line-height:1.8;color:#6a6264}

/* 申込み・資料請求の最後のボタン：ページの中の古い白文字の指定より強く、墨の文字に（最終監査・攻め No.1） */
html body main .te-st-submit,html body main .te-dl-submit{background:var(--logo-pink)!important;border-color:var(--logo-pink)!important;color:#242424!important}
html body main .te-st-submit:hover,html body main .te-dl-submit:hover{background:var(--logo-pink-hover)!important}

/* ==== 2026-09-28 22時台 最終監査（守り No.4〜6）Claude Code ==== */
/* スマホ：下の帯が、キーボードで移った先を隠さないように（WCAG 2.4.11） */
@media (max-width:1000px){html{scroll-padding-bottom:88px}}
/* トップの「主役は現場だ」と説明文を、明るい空の上でも読みやすく */
.hero h1{text-shadow:0 2px 24px rgba(20,16,17,.78),0 0 3px rgba(20,16,17,.55)}
.home .hero-caption{text-shadow:0 1px 12px rgba(20,16,17,.8),0 0 2px rgba(20,16,17,.6)}
/* チャットの注意書き */
.te-chat-note{font-size:12px;color:#555}

/* ==== 2026-09-28 23時台 /contact/ を1画面に（本人「このページくどすぎる」→ 見本どおり）==== */
.te-ct{padding-top:8px;padding-bottom:clamp(72px,8vw,120px)}
.te-ct-lead{margin:0 0 32px;font-size:16px;line-height:1.9}
.te-ct-main{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px 36px;border:1px solid var(--line);border-left:4px solid var(--logo-pink,#E69C9D);border-radius:12px;background:#fff}
.te-ct-tag{margin:0 0 6px;font:600 12.5px/1.6 var(--sans);letter-spacing:.12em;color:var(--blue)}
.te-ct-t{margin:0 0 10px;font-family:var(--serif);font-weight:500;font-size:26px;line-height:1.5}
.te-ct-d{margin:0;font-size:15px;line-height:1.85;color:#4b4b4b;max-width:620px}
.te-ct-main .te-btn{flex-shrink:0}
.te-ct-list{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.te-ct-list li{display:flex;flex-direction:column;gap:6px;margin:0;padding:20px 22px;border:1px solid var(--line);border-radius:10px;background:#fff}
.te-ct-k{font-size:13px;font-weight:600;color:#6a6264;letter-spacing:.06em}
.te-ct-list a{font-size:16px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--logo-pink,#E69C9D);text-underline-offset:5px;text-decoration-thickness:2px}
.te-ct-privacy{margin:32px 0 0;font-size:13px;color:#6a6264}
@media (max-width:760px){.te-ct-main{flex-direction:column;align-items:stretch;padding:24px 20px}.te-ct-main .te-btn{width:100%}.te-ct-list{grid-template-columns:1fr}.te-ct-t{font-size:22px}}

/* ==== 2026-09-28 23時台 最終監査の残り（本人「推奨どおり全部」）Claude Code ==== */
/* 申込み：ご担当者の人数を数で入れる */
.te-st-seats{display:flex;align-items:center;gap:12px;margin:18px 0 20px;flex-wrap:wrap}
.te-st-seats input{width:120px;height:52px;padding:0 12px;border:1px solid var(--line);border-radius:8px;font-size:20px;text-align:center}
.te-st-seats-u{font-size:16px}
.te-st-seats .te-st-next{width:auto;min-width:140px;margin:0}
/* 必須の印をそろえる（墨） */
.te-st-req{background:#383232!important;color:#fff!important}


/* Form labels: align required badges before field names on every viewport. */
main .te-st-field > .te-st-label {
  align-items: baseline;
  gap: 8px;
}
main .te-st-field > .te-st-label:not(:has(> .te-st-req)) {
  padding-inline-start: 44px;
}
main .te-dl-form label:has(> .te-req) {
  align-items: baseline;
  column-gap: 8px;
}
main .te-st-label > .te-st-req,
main .te-dl-form label > .te-req {
  order: -1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  min-width: 36px;
  height: 22px;
  margin: 0;
  padding: 2px 4px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  white-space: nowrap;
}


/* Keep page content clear of floating chat prompts. */
body .te-chat-launcher,
body .te-chat-balloon,
body .te-mbar-chat {
  display: none !important;
}
@media (max-width: 700px) {
  body .te-mbar {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* Pale sakura palette sampled from the owner's reference image. */
:root {
  --te-canvas: #FFFAF9;
  --te-pink-soft: #FFF0F0;
  --te-pink-accent: #FFE7E5;
  --te-pink-hover: #FFDCD9;
  --te-control-border: #AA6B72;
  --paper: var(--te-canvas);
  --pale: var(--te-pink-soft);
  --pink: var(--te-pink-accent);
  --blue: #8E4E56;
  --blue-dark: #713F45;
  --line: #E8D5D3;
  /* Compatibility aliases for the existing website controls. */
  --logo-pink: var(--te-pink-accent);
  --logo-pink-hover: var(--te-pink-hover);
}
body .home-support,
body .home-story,
body .blue-surface {
  background: var(--te-pink-soft);
}
body .ambient,
body .page-heading {
  background: transparent;
}
body .site-footer {
  background: var(--te-pink-soft);
}
body .site-header.compact,
body.inner-page .site-header,
body.inner-page .site-header:not(.compact),
body.menu-open .site-header,
body .mobile-menu:not([hidden]) {
  background: var(--te-canvas);
}
body.home .site-header:not(.compact) {
  background: linear-gradient(rgba(255,250,249,.92), rgba(255,250,249,.12));
}
body .support-circle {
  background: radial-gradient(circle at 47% 43%, #fff 38%, rgba(255,240,240,.93) 61%, rgba(255,222,219,.7) 71%, rgba(255,240,240,.4) 77%);
}
body .support-circle:hover,
body .support-circle:focus-visible {
  background: radial-gradient(circle at 47% 43%, #fff 38%, rgba(255,240,240,.98) 61%, rgba(255,215,212,.9) 71%, rgba(255,240,240,.5) 77%);
}
/* Keep the pale primary controls easy to recognize on light surfaces. */
html body main .te-btn:not(.is-soon):not(.is-ghost),
html body main .te-btn:not(.is-soon):not(.is-ghost):hover,
html body .site-header .te-nav2 .te-nav-btn,
html body .site-header .te-nav2 .te-nav-btn:hover,
html body main .pill.solid,
html body main .pill.solid:hover,
html body .pill.nav-contact,
html body .pill.nav-contact:hover,
html body main .te-st-submit,
html body main .te-st-submit:hover,
html body main .te-dl-submit,
html body main .te-dl-submit:hover {
  border: 1px solid var(--te-control-border) !important;
}
main .te-price .te-p-plan.is-featured {
  border-color: var(--te-control-border);
}
main .te-price .te-p-plan.is-featured .te-p-btn,
main .te-price .te-p-plan:hover .te-p-btn,
main .te-price .te-p-plan:focus-within .te-p-btn {
  border: 1px solid var(--te-control-border) !important;
}
html body main .te-btn.is-line:not(.is-soon) {
  color: var(--blue) !important;
}
main .te-price .te-p-camp.te-camp2,
main .te-calc-out,
main .te-st-est {
  background: var(--te-pink-soft) !important;
  color: var(--ink);
}
/* Campaign entry points use the same light pink family as the pricing band. */
main .te-row-camp {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
main .te-row-camp b {
  margin: 0;
  padding: 5px 12px;
  border-radius: var(--te-radius, 6px);
  background: var(--te-pink-accent);
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
}
main .te-hero-camp {
  border-left: 0;
  border-radius: var(--te-radius, 6px);
  background: var(--te-pink-soft);
  color: var(--ink);
}
main .te-hero-camp strong {
  color: inherit;
}
main .te-st-opt:hover,
main .te-st-opt:focus-visible {
  background: var(--te-pink-soft);
  border-color: var(--te-control-border);
}


/* Pricing: group campaign conditions and align comparable amounts. */
main .te-price .te-p-camp.te-camp2 {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px 32px;
  align-items: end;
  padding: 28px 32px;
  margin-bottom: 32px;
}
main .te-price .te-camp2-head {
  display: block;
}
main .te-price .te-camp2 .te-p-tag {
  display: block;
  margin: 0 0 12px;
  padding: 0;
  background: transparent;
  font: 600 20px/1.5 var(--sans);
  letter-spacing: 0;
  white-space: normal;
}
main .te-price .te-camp2-term {
  display: grid;
  gap: 4px;
  font: 400 14px/1.8 var(--sans);
  letter-spacing: 0;
}
main .te-price .te-camp2-deadline {
  font-weight: 600;
}
main .te-price .te-camp2-deadline > span {
  display: inline-block;
}
main .te-price .te-camp2-main {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  width: min(100%, 540px);
}
main .te-price .te-camp2-main p {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin: 0;
  padding: 0;
  border: 0;
}
main .te-price .te-camp2-main small {
  font: 500 14px/1.6 var(--sans);
  letter-spacing: 0;
}
main .te-price .te-camp2-main strong {
  font: 600 34px/1.3 var(--sans);
  letter-spacing: 0;
}
main .te-price .te-camp2 > .te-btn {
  margin: 0;
  min-height: 48px;
  align-self: end;
}
main .te-price .te-camp2-more {
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
main .te-price .te-camp2-more > summary {
  min-height: 44px;
  padding: 4px 0;
  border-bottom: 0;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0;
}
main .te-price .te-camp2-more > summary:focus-visible {
  outline: 2px solid var(--blue-dark);
  outline-offset: 4px;
}
main .te-price .te-camp2-more .te-camp2-sub {
  max-width: 64em;
  margin: 12px 0 0;
  font-size: 14px !important;
  line-height: 1.9 !important;
}
main .te-price .te-p-plan > .te-p-who {
  font-size: 13px !important;
  line-height: 1.6 !important;
}
main .te-price .te-p-plan > h3 {
  margin: 4px 0 16px;
  font-size: 24px;
  line-height: 1.5;
}
main .te-price .te-p-plan > p.te-p-price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  font-family: var(--sans);
  font-size: 32px !important;
  font-weight: 600;
  font-variant-numeric: lining-nums tabular-nums;
  line-height: 1.3 !important;
  letter-spacing: 0;
}
main .te-price .te-p-plan .te-p-unit {
  display: block;
  margin: 0;
  font: 400 14px/1.6 var(--sans);
  color: #594E50;
}
main .te-price .te-p-plan > .te-p-note {
  margin: 12px 0 20px;
  font-size: 14px !important;
  line-height: 1.8 !important;
  color: #594E50;
}
main .te-price .te-p-plan > dl {
  align-self: start;
  width: 100%;
  margin: 0 0 20px;
}
main .te-price .te-p-plan > dl > div {
  min-height: 44px;
  align-items: baseline;
  font-size: 14px;
  line-height: 1.6;
}
main .te-price .te-p-plan > .te-p-ask,
main .te-price .te-p-plan > .te-p-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 0;
  line-height: 1.5;
}
main .te-price .te-p-plan > .te-p-ask + .te-p-btn {
  margin-top: 8px;
}
@media (min-width: 861px) {
  main .te-price .te-p-plans {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 0;
  }
  main .te-price .te-p-plan {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 7;
    row-gap: 0;
  }
}
@media (max-width: 860px) {
  main .te-price .te-p-camp.te-camp2 {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    padding: 24px;
  }
  main .te-price .te-camp2-main {
    width: 100%;
    gap: 16px;
  }
  main .te-price .te-camp2 > .te-btn {
    width: 100%;
  }
  main .te-price .te-p-plan > .te-p-ask {
    margin-top: auto;
  }
}
@media (max-width: 480px) {
  main .te-price .te-p-camp.te-camp2 {
    padding: 20px;
  }
  main .te-price .te-camp2 .te-p-tag {
    font-size: 18px;
  }
  main .te-price .te-camp2-main strong {
    font-size: 30px;
  }
  main .te-price .te-camp2-main small {
    font-size: 13px;
  }
}

/* Release polish: legible actions, complete diagrams and responsive pricing. */
.te-mbar-line,.te-chat-foot .te-foot-line,.site-footer .social-line{color:#183424!important}
.te-calc-body>*{min-width:0}
.te-calc-rows dd{min-width:0;flex-wrap:wrap;justify-content:flex-end}
.te-calc-rows dd span{min-width:0;overflow-wrap:anywhere}
.te-calc-rows dd b{white-space:nowrap}
.te-calc-rows dt{flex-shrink:0}
.te-calc-num{flex-wrap:wrap}
.foundation-cards-rich>.foundation-card:only-child{grid-column:1 / -1}
.foundation-cards-rich>.foundation-card[href$="/management/"]:only-child .foundation-card-image{height:auto;aspect-ratio:8 / 5;align-self:center;background:#fff0f0}
.foundation-cards-rich>.foundation-card[href$="/management/"]:only-child .foundation-card-image img{width:100%;height:100%;object-fit:contain;transform:none!important}
@media(min-width:701px) and (max-width:1000px){
 .foundation-cards-rich>.foundation-card:only-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:1000px){
 .te-calc-body{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px){
 .te-calc-num{gap:5px}
 .te-calc-num input{width:80px}
 main .keep,main .te-nowrap{white-space:normal}
}
.home .hero-caption{font-family:var(--sans);font-weight:500}
@media(max-width:700px){
 .home .hero{height:clamp(620px,136vw,680px);min-height:620px;max-height:680px}
 /* U134: Keep the mobile title at the circle center. Both use the same geometry. */
 .home .hero{--te-mobile-ring-top:18%;--te-mobile-ring-radius:55vw}
 .home .hero .hero-ring{top:var(--te-mobile-ring-top);width:calc(2 * var(--te-mobile-ring-radius))}
 .home .hero .hero-message{top:calc(var(--te-mobile-ring-top) + var(--te-mobile-ring-radius));left:50%}
 .home .hero-caption{font-size:16px;line-height:1.85;max-width:360px;bottom:30px;letter-spacing:0}
 .home .hero-caption .te-nowrap{white-space:normal}
 .home .hero-tone{background:linear-gradient(180deg,rgba(30,25,25,.12) 35%,rgba(30,25,25,.65) 100%)}
}

/* 2026-09-29: owner-approved Mincho, LINE colors and aligned recruitment cards. */
:root{--sans:var(--serif)}
body,input,select,textarea,button,.mock-screen{font-family:var(--serif)}
main{line-break:strict;word-break:normal}
main p,main dd,main li{text-wrap:pretty}
main :is(h1,h2,h3){text-wrap:balance}
.site-footer .social-line{color:#fff!important}
body .te-mbar-line{background:#FFE7E5;border-color:#AA6B72;color:#713F45!important}
body .te-mbar-line:hover,body .te-mbar-line:focus-visible{background:#FFDCD9}
.foundation-card-image{aspect-ratio:8/5}
.foundation-card-image img{object-fit:contain!important;transform:none!important;background:#FFF0F0}
.te-reservation-status{display:inline-block;margin:0 0 18px;padding:8px 16px;border:1px solid #AA6B72;background:#FFF0F0;color:#713F45;font-size:15px;font-weight:600;line-height:1.6}
.te-image-note{display:block;margin-top:10px;color:#6b5758;font-size:13px;line-height:1.7}
.te-screen-zoom{display:inline-block;margin-top:10px;text-decoration:underline;text-underline-offset:4px;font-size:14px}
.page-id-2348 .difference-points li{min-width:0}
.page-id-2348 .difference-points h3{font-size:20px;line-height:1.7;letter-spacing:0}
.page-id-2348 .difference-points p{font-size:16px;line-height:1.9}
@media(min-width:1001px){
 .page-id-2110 .foundation-cards-rich{row-gap:0}
 .page-id-2110 .foundation-cards-rich>.foundation-card{display:grid;grid-template-rows:subgrid;grid-row:span 8;row-gap:0}
 .page-id-2110 .foundation-cards-rich>.foundation-card>.foundation-card-body{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0}
 .page-id-2110 .foundation-card-body>h2{grid-row:1}
 .page-id-2110 .foundation-card-body>p:not(.te-hero-note){grid-row:2}
 .page-id-2110 .foundation-card-meta{grid-row:3/span 3;grid-template-rows:subgrid;row-gap:16px;align-self:stretch}
 .page-id-2110 .foundation-card-body>.te-hero-note{grid-row:6;margin:16px 0 0}
 .page-id-2110 .foundation-card-action{grid-row:7;align-self:end;margin-top:22px}
 .page-id-2348 .difference-points>li{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:12px}
 .page-id-2348 .difference-points h3,.page-id-2348 .difference-points p{margin:0}
}
@media(max-width:700px){
 .page-id-2110 .foundation-card-meta .te-nowrap{white-space:normal}
 .page-id-2348 .difference-points h3{font-size:20px}
}

/* 2026-09-29: rendered tablet and Members corrections */
.page-id-2110 .foundation-card-meta>div{min-width:0}
.page-id-2347 time{white-space:nowrap}
.page-id-2347 .te-screen-caption{margin-inline:auto;text-align:center;font-size:14px;line-height:1.8}
@media(max-width:1000px){.page-id-2110 .foundation-cards-rich{grid-template-columns:1fr}.page-id-2110 .foundation-card-meta .te-nowrap{white-space:normal}}
@media(min-width:1001px){.page-id-2347 .te-members-flow{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:1000px){.page-id-2347 .te-members-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Explicit labels and full-resolution links for the approved sample graphics. */
.te-illustration{position:relative;width:100%;line-height:0}
.te-illustration>img{display:block;width:100%;height:auto}
.te-media-sample{position:absolute;right:10px;bottom:8px;padding:3px 7px;background:rgba(255,255,255,.94);color:#63494d;font-family:var(--serif);font-size:12px;line-height:1.5;letter-spacing:.02em}
.page-id-2347 .te-illustration{max-width:1000px;margin:28px auto 0}
.page-id-2347 .consulting-lead .te-illustration{max-width:760px}
.page-id-2347 .te-illustration>.te-members-hero{max-width:none!important;margin:0!important}
.te-screen-zoom{display:inline-block;min-height:44px;padding:10px 4px;text-underline-offset:4px}

/* Align the four production cards as two pairs on tablets. */
@media(min-width:701px) and (max-width:1000px){
.page-id-2047 .foundation-cards-rich{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:0}
.page-id-2047 .foundation-cards-rich>.foundation-card{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0;margin-bottom:24px}
.page-id-2047 .foundation-card-body{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0}
.page-id-2047 .foundation-card-body>h2{grid-row:1}
.page-id-2047 .foundation-card-body>p{grid-row:2}
.page-id-2047 .foundation-card-meta{grid-row:3/span 2;grid-template-rows:subgrid;row-gap:16px;align-self:stretch}
.page-id-2047 .foundation-card-action{grid-row:5;align-self:end;margin-top:22px}
}

/* Approved desktop refinement. Existing mobile layout rules remain unchanged. */
.te-home-service-link{display:none}
@media(min-width:1001px){
  .home .hero{height:clamp(620px,calc(100svh - 32px),820px);min-height:620px}
  .home .hero-caption{bottom:100px;max-width:42em;left:0;right:0;margin-inline:auto;transform:none!important;width:calc(100% - 80px);font-size:17px;line-height:1.9;letter-spacing:.025em}
  .te-home-service-link{display:inline-flex;position:absolute;bottom:32px;left:50%;transform:translateX(-50%);min-width:220px;color:#fff!important;border-color:rgba(255,255,255,.8)!important;background:rgba(41,30,32,.55)!important}
  .te-home-service-link:hover{background:#75444c!important}
  main p,main dd{line-height:1.9}
  .inner-page main .section>p:not(.cta-row):not(.te-p-lead){max-width:42em}
  .foundation-nav{flex-wrap:wrap;row-gap:10px}
  .page-id-2347 main>.section{padding-block:72px}
  .page-id-2347 main>.section+.section{padding-top:56px}
  .page-id-2347 .te-members-intro{padding-bottom:64px}
  .page-id-2347 .te-members-detail-note{max-width:34em!important}
  .page-id-2347 .te-members-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
  .page-id-2347 .te-members-future{padding:24px 0;margin:24px 0 32px;border-block:1px solid var(--line)}
  .page-id-2347 .te-members-future h3{font-size:21px;min-height:0;margin-bottom:10px}
  .page-id-2347 .te-members-future p{max-width:44em}
  .page-id-2347 .te-members-included{padding:26px 30px;background:#fbefef;margin-bottom:32px}
  .page-id-2347 .te-members-included h3{font-size:21px;margin-bottom:12px}
  .page-id-2347 .te-members-included p{max-width:38em}
  .page-id-2347 .te-members-fee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .page-id-2347 .te-member-plan{display:flex;flex-direction:column;padding:30px 32px;border:1px solid #d8bfc2;background:#fffafa}
  .page-id-2347 .te-member-plan h3{font-size:24px;min-height:0}
  .page-id-2347 .te-member-plan .te-plan-price{font-size:34px!important;font-weight:600;line-height:1.55!important;margin:16px 0 22px}
  .page-id-2347 .te-plan-price small{font-size:15px;font-weight:400;white-space:nowrap}
  .page-id-2347 .te-member-plan dl>div{display:grid;grid-template-columns:7em 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}
  .page-id-2347 .te-member-plan dd{margin:0}
  .page-id-2347 .te-member-plan dt{color:#695156}
  .page-id-2347 .te-member-plan>p:last-child{margin-top:auto;padding-top:24px}
  .page-id-2347 .te-members-conditions{margin-top:32px;border-block:1px solid var(--line)}
  .page-id-2347 .te-members-conditions summary{font-size:18px;padding:20px 0}
  .page-id-2347 .te-members-conditions>div{padding:0 0 26px;max-width:38em}
  .page-id-2347 .te-members-conditions h3{font-size:20px;margin:22px 0 12px}
  .page-id-2347 .te-members-conditions p+p{margin-top:16px}
  .page-id-2347 #apply{text-align:left}
  .page-id-2347 .te-members-flow h3{min-height:0!important;margin-bottom:14px}
  .page-id-2347 .te-members-intro-copy .pill,.page-id-2347 #apply .pill,.page-id-2347 .te-member-plan .pill{background:#95515b!important;color:#fff!important;border-color:#95515b!important}
  .page-id-2347 .te-members-intro-copy .pill .dot,.page-id-2347 #apply .pill .dot,.page-id-2347 .te-member-plan .pill .dot{background:transparent;color:#fff}
  .page-id-2347 .te-members-intro-copy .pill:hover,.page-id-2347 #apply .pill:hover,.page-id-2347 .te-member-plan .pill:hover{background:#783e48!important}
  .page-id-2047 #production .foundation-cards-rich,.page-id-2002 #group-production .foundation-cards-rich{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 32px!important}
  .page-id-2047 #production .foundation-card,.page-id-2002 #group-production .foundation-card{display:grid;grid-template-rows:subgrid;grid-row:span 6;row-gap:0;margin:0 0 40px}
  .page-id-2047 #production .foundation-card-body,.page-id-2002 #group-production .foundation-card-body{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;padding:26px 30px}
  .page-id-2047 #production .foundation-card-body>h2,.page-id-2002 #group-production .foundation-card-body>h2{grid-row:1;min-height:0;line-height:1.6;margin-bottom:14px}
  .page-id-2047 #production .foundation-card-body>p,.page-id-2002 #group-production .foundation-card-body>p{grid-row:2}
  .page-id-2047 #production .foundation-card-meta,.page-id-2002 #group-production .foundation-card-meta{display:grid;grid-template-rows:subgrid;grid-row:3/span 2;row-gap:16px;margin-block:20px}
  .page-id-2047 #production .foundation-card-meta>div,.page-id-2002 #group-production .foundation-card-meta>div{margin:0}
  .page-id-2047 #production .foundation-card-action,.page-id-2002 #group-production .foundation-card-action{grid-row:5;align-self:end;margin-top:0}
  .page-id-2047 #production>p{max-width:45em}
  .te-deliverables{padding-block:64px}
  .te-deliverables h2{margin-bottom:28px}
  .te-deliverables .difference-points h3{min-height:0!important;margin-bottom:14px}
  .page-id-2348 main>.section,.page-id-2349 main>.section{padding-block:72px}
  .page-id-2348 .timeline h3,.page-id-2349 .timeline h3{font-size:22px;margin-bottom:10px}
  .page-id-2348 .strength-points p,.page-id-2349 .strength-points p{max-width:42em}
  .te-intern-outline{max-width:760px;margin-top:32px}
  .te-intern-outline>div{display:grid;grid-template-columns:9em 1fr;gap:24px;padding:16px 0;border-top:1px solid var(--line)}
  .te-intern-outline dd{margin:0}
  .page-id-2267 .dl-intro{max-width:1200px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0 64px;align-items:start}
  .page-id-2267 .dl-intro>h2,.page-id-2267 .dl-intro>p{grid-column:1;max-width:30em!important}
  .page-id-2267 .dl-intro>#dl-form{grid-column:2;grid-row:1/span 8;width:100%;max-width:none;margin:0}
  .page-id-2267 .dl-intro>.cta-row,.page-id-2267 .dl-intro>style{grid-column:1}
  .page-id-2267 #dl-form .te-dl-agree{flex-wrap:nowrap!important;align-items:flex-start;gap:10px}
  .page-id-2267 #dl-form .te-dl-agree>span{min-width:0;flex:1}
  .page-id-2267 #dl-form .te-dl-agree>input{margin-top:6px}
  .page-id-2779 #te-start{max-width:760px;margin-inline:auto}
  .page-id-2779 main>.section>.te-st{max-width:760px;margin-inline:auto}
  .page-id-2779 main>.section>.te-st:first-child{margin-bottom:28px}
  .footer-top nav{max-width:650px;gap:22px 26px;justify-content:flex-start}
  .te-calc-error{color:#7c3441;font-size:16px;line-height:1.9}
}

/* Finish: readable Japanese measure in consultation guidance. */
@media(min-width:1001px){.page-id-2779 main .te-st-note,.page-id-2780 main .te-st-note{max-width:38em;text-wrap:pretty}}

/* Final mobile reading and form alignment. */
#dl-form .te-dl-agree{flex-wrap:nowrap;align-items:flex-start}
#dl-form .te-dl-agree>span{flex:1;min-width:0}
#dl-form .te-dl-agree>input[type="checkbox"]{margin-top:5px}
@media(max-width:700px){
  .page-id-2347 main>.section{padding-block:56px}
  .page-id-2347 main>.section+.section{padding-top:24px}
}


/* Hachiwaku: highlight only the control being used. */
main .te-price .te-p-plans .te-p-plan > :is(.te-p-ask, .te-p-btn),
main .te-price .te-calc .te-calc-out > :is(.te-calc-ask, .te-calc-go) {
  background: #fff !important;
  color: var(--ink, #242424) !important;
  border: 1px solid var(--te-control-border, #d0c6c6) !important;
  transition: background-color .18s, border-color .18s;
}
main .te-price .te-p-plans .te-p-plan > :is(.te-p-ask, .te-p-btn):is(:hover, :focus-visible, :active),
main .te-price .te-calc .te-calc-out > :is(.te-calc-ask, .te-calc-go):is(:hover, :focus-visible, :active) {
  background: var(--logo-pink) !important;
  border-color: var(--blue-dark, #874246) !important;
}
main .te-price .te-p-plans .te-p-plan > :is(.te-p-ask, .te-p-btn):focus-visible,
main .te-price .te-calc .te-calc-out > :is(.te-calc-ask, .te-calc-go):focus-visible {
  outline: 2px solid var(--blue-dark, #874246);
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  main .te-price .te-p-plans .te-p-plan > :is(.te-p-ask, .te-p-btn),
  main .te-price .te-calc .te-calc-out > :is(.te-calc-ask, .te-calc-go) {
    transition: none;
  }
}

/* U92: Decorative arrows are not part of action/choice labels. */
.pill .dot,
.text-link > span[aria-hidden="true"],
.foundation-more > span[aria-hidden="true"],
.mobile-cta > span[aria-hidden="true"] { display: none; }
.pill .dot::before,
.te-opt::after { content: none; display: none; }

/* Approved campaign and account explanation. No TOP or hero selectors. */
.te-camp2 .campaign-offer{grid-column:1/-1;margin:0;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.6;text-wrap:balance}
.te-camp2 .campaign-summary,.te-camp2 .condition-copy{grid-column:1/-1;margin:0}
.te-camp2 .condition-copy p{margin-block:.8rem;font-size:.92rem}
#usage-roles h3 small{display:block;font-size:.85em;font-weight:400}
#usage-roles .te-account-price strong{font-size:1.5rem;font-variant-numeric:tabular-nums}
.te-campaign-calc .te-calc-body{grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:1.5rem}
.te-campaign-calc fieldset{border:0;padding:0;margin-block:0 1.5rem;min-inline-size:0}
.te-campaign-calc legend{font-weight:700;padding:0;margin-block-end:.6rem}
.te-campaign-calc .te-calc-label{display:block}
.te-campaign-calc .input-note{font-size:.83rem;color:oklch(.41 .01 20);margin-block:.4rem .8rem}
.te-campaign-calc .te-calc-num{flex-wrap:wrap}
.te-campaign-calc .te-calc-num input{inline-size:5rem;font-variant-numeric:tabular-nums}
.te-campaign-calc .te-calc-out{padding:clamp(1rem,2.5vw,1.5rem);min-inline-size:0}
.te-campaign-calc .result-kicker{font-weight:700;margin-block:0 .75rem}
.te-campaign-calc .quote-rows{margin:0}
.te-campaign-calc .quote-rows>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem .8rem;padding-block:.8rem;border-block-end:1px solid oklch(.85 .014 20)}
.te-campaign-calc .quote-rows dt{font-size:.88rem;flex:1 1 10rem}
.te-campaign-calc .quote-rows dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.te-campaign-calc .te-calc-total2{flex-wrap:wrap;gap:.4rem;margin-block:1.2rem}
.te-campaign-calc .te-calc-total2 strong{font-size:clamp(1.4rem,3vw,1.8rem);font-variant-numeric:tabular-nums}
.te-campaign-calc .te-calc-note{font-size:.84rem;color:oklch(.4 .012 20)}
.te-campaign-calc .account-breakdown{margin-block-end:1rem;padding-block-end:.5rem;border-block-end:2px solid oklch(.76 .05 20)}
.te-campaign-calc .account-breakdown h3{font-size:.95rem;margin-block:0 .3rem}
.te-campaign-calc :focus-visible{outline:2px solid oklch(.45 .08 15);outline-offset:3px}
.te-campaign-calc [hidden]{display:none!important}

/* Emphasize only the approved campaign. Keep its exact copy, terms and links. */
main .te-price #campaign.te-p-camp.te-camp2 {
  background: var(--ink) !important;
  color: var(--te-pink-soft);
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  padding: clamp(1.5rem, 4vw, 3.5rem);
  scroll-margin-block-start: 6.5rem;
}
#campaign.te-camp2 :is(p, small, strong, span, summary, b) {
  color: var(--te-pink-soft);
}
#campaign .te-camp2-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem 2rem;
  padding-block-end: 1.5rem;
  border-block-end: 1px solid color-mix(in oklch, var(--logo-pink) 35%, transparent);
}
#campaign.te-camp2 .te-p-tag {
  margin: 0;
  font-size: clamp(1.25rem, 2.5vw, 1.8rem);
  line-height: 1.6;
  color: var(--logo-pink);
}
#campaign .te-camp2-term {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .2rem .6rem;
  font-size: .9rem;
}
#campaign .te-camp2-term strong {
  font-size: 1.2rem;
  font-weight: 600;
  white-space: nowrap;
  color: var(--logo-pink);
}
#campaign .campaign-offer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .7rem clamp(1rem, 3vw, 2.5rem);
  margin: 0;
  padding-block: .5rem;
  color: var(--te-pink-soft);
  text-align: center;
  font-family: var(--serif);
}
#campaign .campaign-lead {
  font-size: clamp(1.45rem, 2.8vw, 2.15rem);
  line-height: 1.65;
  font-weight: 500;
  text-wrap: balance;
}
#campaign .campaign-offer .campaign-free {
  color: var(--logo-pink);
  font-size: clamp(4rem, 7.4vw, 6rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .04em;
  white-space: nowrap;
}
#campaign .campaign-summary {
  text-align: center;
  line-height: 1.9;
}
#campaign.te-camp2 > .te-btn {
  justify-self: center;
  inline-size: min(100%, 24rem);
  min-block-size: 3.25rem;
  margin: 0;
  background: var(--logo-pink) !important;
  border-color: var(--logo-pink) !important;
  color: var(--ink) !important;
}
#campaign .te-camp2-more {
  inline-size: 100%;
  padding-block-start: .5rem;
  border-block-start: 1px solid color-mix(in oklch, var(--logo-pink) 35%, transparent);
}
#campaign .te-camp2-more > summary {
  min-block-size: 2.75rem;
}
#campaign .condition-copy {
  padding-block-start: .5rem;
}
#campaign .te-camp2-more > summary:focus-visible,
#campaign > .te-btn:focus-visible {
  outline: 2px solid var(--logo-pink);
  outline-offset: 5px;
}
#campaign .te-camp2-more > summary:active {
  color: var(--logo-pink);
}
#campaign > .te-btn:active {
  background: color-mix(in oklch, var(--logo-pink) 82%, var(--ink)) !important;
}
@media (hover: hover) and (pointer: fine) {
  #campaign > .te-btn:hover {
    background: var(--te-pink-soft) !important;
  }
  #campaign .te-camp2-more > summary:hover {
    text-decoration: underline;
    text-underline-offset: .3em;
  }
}

/* User correction: only the existing TOP campaign label; no added section. */
.home main .te-row-camp > b {
  background: var(--ink);
  color: oklch(1 0 none);
  font-size: 16px;
  padding: 6px 14px;
}


#te-start .te-st-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px;margin-block:24px}
#te-start .te-st-role-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:12px;padding:22px;border:1px solid var(--line);background:oklch(.995 .004 18);border-radius:8px;min-inline-size:0}
#te-start .te-st-role-card>*{margin:0}
#te-start .te-st-role-title{font-size:22px;color:var(--accent)}
#te-start .te-st-role-example{font-weight:600}
#te-start .te-st-role-body{font-size:15px}
#te-start .te-st-role-price{font-size:16px;border-block-start:1px solid var(--line);padding-block-start:12px}
#te-start .te-st-price-label{display:block;font-size:12px;margin-block-end:6px}
#te-start .te-st-price-amount{display:inline-block;font-size:21px;white-space:nowrap}
#te-start .te-st-price-tax{display:inline-block;font-size:12px;white-space:nowrap}
#te-start .te-st-note-unit{display:block;margin-block-start:6px}

#usage-roles .te-role-columns>div{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:14px;min-inline-size:0}
#usage-roles .te-role-columns>div>*{margin:0}


/* Hachiwaku: preserve TripleEight typography and give both actions equal shape. */
.hw-public-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.hw-public-actions .te-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border:1px solid #9b5c64;border-radius:4px;background:#9b5c64;color:#fff;text-decoration:none;line-height:1.5}.hw-public-actions .hw-outline{background:#fff9f8;color:#713f48}.hw-v3 .quick-effect{margin:32px auto 0;max-width:1180px;padding:24px;border:1px solid #d9bdc3;background:#fffaf9}.hw-v3 .quick-effect>summary{font-size:20px;cursor:pointer;font-weight:600}.hw-v3 .effect-layout{margin-top:24px}.hw-v3 .effect-result{position:static}.hw-v3 .effect-result .actions{flex-wrap:wrap}.hw-v3 .effect-result .actions>*{white-space:normal}.hw-v3 .real-screen-frame img{height:auto!important}.hw-v3 [data-hw-real-screen]{display:block;width:100%;height:auto}.hw-v3 .counter-row small{white-space:normal}.hw-v3 .cost-inputs .billing{margin-top:16px}.hw-v3 a:focus-visible,.hw-v3 button:focus-visible{outline:3px solid #70434b;outline-offset:3px}@media(max-width:600px){.hw-public-actions{flex-direction:column}.hw-public-actions .te-btn{width:100%}.hw-v3 .quick-effect{padding:16px}.hw-v3 .effect-layout{display:block}.hw-v3 .effect-result{margin-top:24px}}
