:root{--red:#df3e43;--dark:#292b2d;--muted:#777b80;--line:#e5e5e5;--bg:#f5f5f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--dark);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.8;background:var(--bg)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f29938;outline-offset:4px}button:hover,a:hover{filter:brightness(.94)}button{transition:background .2s,transform .2s}h1,h2,h3,p{margin:0}h1,h2{font-size:26px;line-height:1.55;letter-spacing:.035em}h3{line-height:1.65}button:disabled{cursor:default}.skip{position:fixed;left:16px;top:-80px;background:white;padding:10px;z-index:100}.skip:focus{top:12px}.red{color:var(--red)}.hero-zone{background:#f5e4e3;overflow:hidden;padding-top:24px;position:relative;background-image:radial-gradient(ellipse at 15% 80%,#efd0ce,transparent 60%),linear-gradient(120deg,#fbeceb,#f2dddd)}.header{max-width:1180px;margin:auto;background:#fff;border:1px solid #fff;border-radius:50px;min-height:76px;display:flex;align-items:center;gap:26px;padding:12px 24px;position:relative;z-index:5;box-shadow:0 4px 12px #55373706}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-mark{font-size:35px;color:var(--red);line-height:1}.brand small{display:block;font-size:9px;letter-spacing:.12em;font-weight:600;line-height:1.5}.brand strong{display:block;font-size:19px;letter-spacing:-.06em;line-height:1.5}.brand strong span{color:var(--red)}.desktop-nav{display:flex;gap:23px;margin-left:auto;font-size:12px;font-weight:700}.button{background:var(--red);color:#fff;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:14px 22px;font-weight:700;text-align:left}.button span{font-size:18px}.button.small{border-radius:40px;padding:10px 19px;font-size:12px;gap:18px}.menu-toggle{display:none}.hero{padding:30px 0 0}.hero-top{max-width:1056px;margin:0 auto 17px;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.12em}.hero-top i{display:inline-block;background:var(--red);width:7px;height:7px;border-radius:50%;margin-right:8px}.slider-window{overflow:visible}.slider-track{display:flex;gap:24px;transition:transform .5s ease;width:100%;transform:translateX(calc((100vw - 1056px)/2))}.hero-slide{flex:0 0 1056px;height:390px;border:7px solid #fff;border-radius:14px;background:var(--red);display:flex;position:relative;overflow:hidden;color:white;text-align:left;box-shadow:0 10px 25px #53333212}.hero-slide:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 45%,#ffffff1a,transparent 45%)}.hero-copy{padding:42px 0 34px 48px;width:60%;position:relative;z-index:2}.hero-copy .tag{font-size:12px;letter-spacing:.1em;background:white;color:var(--red);padding:5px 10px;display:inline-block;border-radius:3px;margin-bottom:15px}.hero-copy h2{font-size:38px;line-height:1.65;letter-spacing:.025em}.hero-copy p{font-size:13px;margin-top:12px;color:#ffe8e8}.hero-link{display:inline-flex;align-items:center;gap:30px;font-size:12px;margin-top:24px;border-bottom:1px solid #ffffff70;padding-bottom:5px}.hero-slide img{width:45%;height:100%;object-fit:contain;position:absolute;right:0;top:0;padding:25px 16px 15px 0}.hero-slide:nth-child(2){background:#303538}.hero-slide:nth-child(3){background:#c36455}.slider-controls{max-width:1056px;margin:17px auto 0;display:flex;align-items:center;justify-content:space-between}.slide-count{font-size:11px;letter-spacing:.12em;color:#8d7475}.slide-count b{color:var(--dark);font-size:16px}.round{width:33px;height:33px;border:1px solid #d7bbbb;border-radius:50%;background:transparent;margin-left:5px;font-size:16px}.slide-dots{display:flex;gap:8px}.slide-dots button{width:7px;height:7px;border-radius:5px;padding:0;background:#ccadae}.slide-dots button.active{background:var(--red);width:24px}.hero-bottom{max-width:1056px;margin:27px auto 0;display:flex;align-items:center;gap:15px;position:relative;z-index:1}.mini-cross{background:#fff;color:var(--red);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:24px}.hero-bottom p{font-weight:700;font-size:16px}.hero-bottom-note{margin-left:auto;font-size:11px;color:#786363}.big-type{font-size:clamp(55px,9.5vw,155px);font-weight:900;line-height:1.2;color:#ffffff6b;white-space:nowrap;letter-spacing:.02em;text-align:center;margin-top:10px;margin-bottom:-22px;pointer-events:none}main{background-image:linear-gradient(90deg,#ffffff60 1px,transparent 1px),linear-gradient(#ffffff60 1px,transparent 1px);background-size:28px 28px}.content-layout{max-width:1080px;margin:auto;display:grid;grid-template-columns:minmax(0,748px) 280px;gap:40px;padding:66px 0 78px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:750;color:var(--red);margin-bottom:7px}.section-heading h1,.section-heading h2{font-size:24px}.section-heading h1 span,.section-heading h2 span{font-size:23px;display:inline-block;margin-right:6px}.section-caption{font-size:10px;color:var(--muted);padding-bottom:5px}.article-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.filter-tabs{display:flex;gap:5px}.filter-tabs button{padding:5px 11px;background:transparent;color:#727476;font-size:11px;border-radius:20px;white-space:nowrap}.filter-tabs button.active{background:var(--dark);color:#fff}.search{display:flex;align-items:center;border-bottom:1px solid #ccc;width:166px;gap:6px}.search span{font-size:21px}.search input{min-width:0;width:100%;border:0;background:transparent;font-size:10px;padding:5px 0;outline-offset:0}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 17px}.article-card{background:white;border:1px solid #eee;border-radius:9px;overflow:hidden;transition:transform .2s,box-shadow .2s;cursor:pointer;display:flex;flex-direction:column;text-align:left;padding:0;width:100%;color:inherit}.article-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #2426270c;filter:none}.article-cover{width:100%;aspect-ratio:1.65;object-fit:cover;display:block}.article-body{padding:17px 16px 14px;display:flex;flex-direction:column;flex:1}.meta{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:9px;color:#959595;margin-bottom:9px}.category-tag{font-weight:700;color:var(--red)}.article-card h3{font-size:13px;line-height:1.85;letter-spacing:.01em;margin-bottom:16px}.article-author{font-size:9px;color:#777;border-top:1px solid #eee;padding-top:11px;margin-top:auto;display:flex;align-items:center;gap:5px}.article-author b{font-size:15px;color:var(--red)}.article-card.featured{grid-column:1/-1;display:grid;grid-template-columns:44% 56%;border-color:#e7babb;min-height:188px}.featured .article-cover{height:100%;aspect-ratio:auto;object-fit:contain;background:var(--red)}.featured .article-body{padding:19px 21px}.featured h3{font-size:17px;line-height:1.8;margin-bottom:10px}.article-excerpt{font-size:11px;line-height:1.8;color:#888;margin-bottom:12px}.more-wrap{text-align:center;margin:30px auto 0}.outline-button{min-width:215px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px;border:1px solid #d0d0d0;border-radius:30px;background:#fff;padding:11px 22px;font-size:12px;font-weight:700}.outline-button span{color:var(--red)}.results-count{font-size:10px;color:#969696;margin-top:9px}.category-section{margin-top:50px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.category-button{padding:12px 13px;border-radius:5px;background:var(--dark);color:white;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700}.category-button span{display:grid;place-items:center;border-radius:50%;background:var(--red);width:18px;height:18px;font-size:11px}.editor-note{display:flex;gap:20px;align-items:center;border-top:1px solid #ddd;margin-top:46px;padding-top:30px}.note-icon{font-size:60px;color:#d2baba;line-height:1}.editor-note h3{font-size:15px;margin-bottom:7px}.editor-note p:last-child{font-size:11px;color:#808080}.sidebar{display:flex;flex-direction:column;gap:23px}.dark-panel{background:var(--dark);border-radius:7px;padding:23px 20px;color:white}.dark-panel .eyebrow{font-size:9px;color:#b1b2b3;margin-bottom:7px}.dark-panel h2{font-size:15px;margin-bottom:3px}.demo-note{font-size:8px;color:#a3a3a3;margin-bottom:10px}.popular-item{display:flex;gap:10px;padding:15px 0;border-bottom:1px solid #ffffff1f;text-align:left;background:transparent;color:white;width:100%;align-items:flex-start}.popular-item:last-child{border:0;padding-bottom:0}.rank{display:grid;place-items:center;background:var(--red);font-size:11px;font-weight:700;border-radius:3px;min-width:23px;height:24px}.popular-item:nth-child(n+3) .rank{background:#636566}.popular-item h3{font-size:11px;line-height:1.7}.popular-item small{font-size:8px;color:#b4b4b4;display:block;margin-top:6px}.side-category{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:10px 0;background:transparent;color:white;border-bottom:1px solid #ffffff20;font-size:11px}.side-category:last-child{border:0;padding-bottom:0}.side-category span{color:#bababa;font-size:9px}.side-banner{padding:24px 20px;background:#f7e2e1;border:1px solid #e9c0bf;border-radius:7px;position:relative;overflow:hidden}.pill{font-size:10px;color:var(--red);font-weight:700}.side-banner h3{font-size:25px;line-height:1.5;margin:20px 0 12px;position:relative}.side-banner p{font-size:10px;margin-bottom:18px}.side-banner .button{width:100%;font-size:12px;padding:11px 15px;gap:12px}.side-banner small{display:block;text-align:center;font-size:9px;margin-top:8px;color:#937271}.banner-cross{position:absolute;right:9px;top:47px;font-size:100px;line-height:1;color:#edb8b5;transform:rotate(12deg)}.letter-banner{border-radius:7px;padding:22px 20px;background:white;border:1px solid #e4e4e4}.letter-banner h3{font-size:19px;margin:13px 0 10px}.letter-banner p:not(.eyebrow){color:#888;font-size:11px}.letter-banner a{border-top:1px solid #eee;margin-top:18px;padding-top:12px;display:flex;justify-content:space-between;font-size:11px;font-weight:700}.wide-section{max-width:1180px;margin:auto}.services{border-radius:12px;background:var(--dark);padding:44px 50px 25px;color:white}.service-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:33px}.service-intro h2{font-size:30px;line-height:1.6}.service-intro>p{font-size:12px;color:#c7c7c7;line-height:2.1}.service-intro .eyebrow{color:#ee9397}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-grid article{background:#fff;color:var(--dark);padding:22px;border-radius:7px}.service-number{font-size:20px;font-weight:750;display:flex;align-items:center;gap:10px;color:var(--red)}.service-number span{font-size:9px;letter-spacing:.16em;color:#999}.service-art{margin:18px auto 22px;width:100px;height:90px;background:#f7e4e2;border:2px solid #ebbbb9;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--red);position:relative;transform:rotate(-5deg);box-shadow:7px 8px 0 #f4f4f4}.service-art span{position:absolute;font-size:17px;right:-12px;bottom:10px;line-height:1.1;background:white;border:2px solid #d4d4d4;border-radius:5px;padding:8px}.art-fix{transform:rotate(5deg);background:#eee;border-color:#c7c7c7;color:#56595c}.art-care{transform:rotate(-4deg);background:#faeeee}.service-label{font-size:10px;color:#999}.service-grid h3{font-size:23px;margin:2px 0 10px}.service-grid article>p:last-of-type{font-size:11px;color:#777;line-height:1.9}.service-grid .button{width:100%;font-size:11px;padding:10px 12px;gap:10px;margin-top:20px}.service-disclaimer{font-size:9px;color:#a5a5a5;text-align:center;margin-top:22px}.team-section{max-width:930px;margin:auto;padding:76px 0 65px}.team-heading{text-align:center;margin-bottom:33px}.team-symbol{color:var(--red);font-size:36px;line-height:1;display:block;margin-bottom:14px}.team-heading h2{font-size:25px}.team-heading>p:last-child{font-size:11px;color:#858585;margin-top:12px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.team-grid article{display:flex;gap:20px;align-items:center;background:#fff;padding:23px;border-radius:7px;border:1px solid #eee}.avatar{width:65px;height:65px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:36px;font-family:Georgia,serif;background:#e9eeee;color:#557074}.av-two{background:#f6e0de;color:#ac5655;font-size:23px}.av-three{background:#ece7e1;color:#8d7963}.av-four{background:#e7e7e8;color:var(--red)}.team-grid article span{font-size:8px;letter-spacing:.1em;color:#9a9a9a}.team-grid h3{font-size:14px;margin:3px 0 5px}.team-grid p{font-size:10px;color:#999}.team-note{text-align:center;font-size:9px;color:#999;margin-top:20px}.closing{max-width:1080px;margin:auto;border-top:1px solid #dedede;display:flex;align-items:center;justify-content:space-between;padding:40px 0 55px}.closing h2{font-size:28px}.closing .button{font-size:13px;min-width:280px}footer{background:#222425;color:white;padding:50px max(25px,calc((100vw - 1080px)/2)) 25px}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:40px}.footer-main .brand{width:fit-content}.footer-main>div>p{font-size:10px;color:#aaa;margin-top:17px}.footer-main h3{font-size:11px;margin-bottom:14px}.footer-main>div>a:not(.brand),.footer-main>div>button{display:block;background:transparent;padding:0;color:#aaa;font-size:10px;margin:7px 0}.back-top{width:35px;height:35px;border:1px solid #666;border-radius:50%;display:grid;place-items:center}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #ffffff15;padding-top:22px;margin-top:45px;color:#888;font-size:9px}.footer-bottom small{font-size:9px;letter-spacing:.08em}.footer-bottom button{color:#aaa;font-size:9px;background:transparent;padding:0}.mobile-only{display:none}dialog{width:min(720px,calc(100% - 30px));max-height:88vh;border:0;border-radius:14px;padding:45px;color:var(--dark);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#1e2429a8;backdrop-filter:blur(4px)}.dialog-close{position:sticky;float:right;right:0;top:0;width:35px;height:35px;border-radius:50%;background:#eee;font-size:24px;z-index:2}.dialog-body h2{font-size:25px;margin:12px 0 20px;clear:both}.dialog-body h3{font-size:17px;margin:23px 0 10px}.dialog-body p{margin:10px 0;font-size:13px;line-height:2}.dialog-body ul{padding-left:22px;font-size:13px;line-height:2}.dialog-body img{width:100%;border-radius:6px;margin:15px 0}.dialog-body .button{margin-top:20px;width:100%;font-size:13px}.diagnosis-question{border:1px solid #e4e4e4;border-radius:6px;margin:12px 0;padding:13px;font-size:12px}.diagnosis-question legend{font-weight:700;padding:0 5px}.diagnosis-question label{display:inline-flex;gap:5px;align-items:center;margin-right:15px}.diagnosis-result{background:#faeae8;padding:20px;border-radius:6px}.no-scroll{overflow:hidden}[hidden]{display:none!important}@media(min-width:1600px){.slider-track{transform:translateX(calc((100vw - 1056px)/2))}}
@media(max-width:1150px){.header{margin:0 25px;gap:20px}.desktop-nav{gap:15px}.hero-top,.slider-controls,.hero-bottom{margin-left:7%;margin-right:7%}.hero-slide{flex-basis:86vw}.slider-track{transform:translateX(7vw)}.content-layout{margin:0 5%;grid-template-columns:minmax(0,1fr) 255px;gap:26px}.section-caption{display:none}.wide-section{margin:0 4%}.team-section{margin:0 8%}.closing{margin:0 5%}.hero-copy h2{font-size:34px}.hero-copy{padding-left:35px}.article-grid{gap:14px}.article-body{padding:13px 11px}.featured h3{font-size:15px}.featured .article-body{padding:15px}.article-tools{flex-wrap:wrap}.search{width:145px}}
@media(max-width:800px){.desktop-nav{display:none}.header .small{margin-left:auto}.content-layout{grid-template-columns:minmax(0,1fr) 230px;gap:20px;margin:0 4%}.article-grid{grid-template-columns:repeat(2,1fr)}.featured.article-card{grid-template-columns:1fr}.featured .article-cover{aspect-ratio:1.8;height:auto}.hero-copy h2{font-size:28px}.hero-copy{padding:35px 0 25px 25px}.hero-slide{height:330px}.hero-copy p{font-size:11px}.hero-link{margin-top:16px}.hero-bottom p{font-size:13px}.hero-bottom-note{font-size:9px}.category-grid{grid-template-columns:repeat(2,1fr)}.services{padding:35px 25px 23px}.service-grid{gap:12px}.service-grid article{padding:15px}.service-grid .button{font-size:10px;padding:10px 8px}.service-grid h3{font-size:21px}.team-grid article{gap:12px;padding:17px}.avatar{width:50px;height:50px}.team-grid h3{font-size:12px}}
@media(max-width:600px){.hero-zone{padding-top:13px}.header{margin:0 14px;padding:11px 15px;min-height:61px;gap:10px}.brand{gap:7px}.brand-mark{font-size:30px}.brand small{font-size:7px}.brand strong{font-size:16px}.header .small{display:none}.menu-toggle{display:block;margin-left:auto;background:transparent;font-size:22px;color:var(--dark);padding:0 4px}.mobile-nav{background:white;position:absolute;top:83px;left:14px;right:14px;border-radius:12px;padding:20px;z-index:6;box-shadow:0 10px 30px #0002}.mobile-nav a,.mobile-nav button{display:block;padding:10px;background:transparent;width:100%;text-align:left;font-size:13px}.mobile-nav button{color:var(--red);font-weight:700}.hero{padding-top:20px}.hero-top{margin:0 6% 12px;font-size:8px;letter-spacing:.07em}.hero-top>span:last-child{font-size:8px}.hero-slide{flex-basis:88vw;height:405px;border:5px solid white;border-radius:10px;display:block}.slider-track{gap:14px}.hero-copy{padding:24px 23px;width:100%}.hero-copy .tag{font-size:10px;margin-bottom:10px;padding:3px 8px}.hero-copy h2{font-size:27px;line-height:1.55;letter-spacing:0}.hero-copy p{font-size:10px;margin-top:10px;max-width:90%}.hero-copy .hero-link{margin-top:17px;position:relative;z-index:3}.hero-slide img{height:181px;width:62%;top:auto;bottom:-4px;right:-8px;padding:0;opacity:1}.slider-controls{margin:15px 6% 0}.round{height:29px;width:29px;font-size:13px}.slide-count{font-size:9px}.slide-count b{font-size:13px}.hero-bottom{margin:24px 6% 0;gap:10px;align-items:center}.hero-bottom p{font-size:14px;line-height:1.7}.hero-bottom-note{font-size:8px;line-height:1.9;max-width:43%}.mini-cross{width:31px;height:31px;font-size:22px;flex-shrink:0}.big-type{font-size:47px;margin:16px 0 -5px;letter-spacing:-.01em}.mobile-only{display:block}.content-layout{display:block;margin:0 6%;padding:37px 0 38px}.section-heading{margin-bottom:20px}.section-heading h1,.section-heading h2{font-size:22px}.eyebrow{font-size:9px}.article-tools{margin-bottom:17px;gap:12px}.filter-tabs{width:100%;gap:4px;justify-content:space-between}.filter-tabs button{padding:5px 12px;font-size:11px}.search{width:100%;padding:2px 0}.search input{font-size:11px}.article-grid{grid-template-columns:1fr;gap:20px}.article-card.featured{display:flex}.article-card .article-cover,.featured .article-cover{aspect-ratio:1.78;height:auto}.article-body,.featured .article-body{padding:19px 20px 16px}.article-card h3,.featured h3{font-size:16px;line-height:1.85;margin-bottom:15px}.meta{font-size:10px;margin-bottom:10px}.article-author{font-size:10px}.article-excerpt{font-size:11px}.category-section{margin-top:38px}.category-grid{gap:9px}.category-button{font-size:11px;padding:12px}.editor-note{margin-top:32px;gap:12px}.note-icon{font-size:45px}.editor-note h3{font-size:13px}.editor-note p:last-child{font-size:10px}.sidebar{margin-top:40px;gap:22px}.dark-panel{padding:24px}.dark-panel h2{font-size:17px}.popular-item{padding:17px 0;gap:13px}.popular-item h3{font-size:13px}.popular-item small{font-size:9px}.side-category{font-size:12px;padding:12px 0}.side-banner{padding:25px}.side-banner h3{font-size:29px}.side-banner p{font-size:12px}.side-banner .button{font-size:13px}.banner-cross{right:25px;top:42px;font-size:130px}.letter-banner{padding:25px}.letter-banner h3{font-size:23px}.letter-banner p:not(.eyebrow){font-size:12px}.services{margin:0 4%;padding:30px 22px 23px}.service-intro{display:block}.service-intro h2{font-size:29px}.service-intro>p{margin-top:16px;font-size:11px}.service-grid{grid-template-columns:1fr;gap:17px}.service-grid article{padding:23px}.service-art{float:right;margin:8px 10px 0 0;width:78px;height:77px;font-size:40px}.service-number{margin-bottom:17px}.service-label{font-size:9px;max-width:65%}.service-grid h3{font-size:23px}.service-grid article>p:last-of-type{font-size:11px;clear:both;padding-top:12px}.service-grid .button{font-size:12px;padding:11px 14px;margin-top:17px}.service-disclaimer{text-align:left;line-height:1.8}.team-section{margin:0 6%;padding:45px 0}.team-heading h2{font-size:22px}.team-grid{grid-template-columns:1fr;gap:12px}.team-grid article{padding:21px;gap:18px}.avatar{width:57px;height:57px}.team-grid h3{font-size:14px}.team-grid p{font-size:10px}.closing{margin:0 6%;display:block;padding:30px 0 40px}.closing h2{font-size:25px}.closing .button{margin-top:24px;width:100%;min-width:0;font-size:12px}footer{padding:34px 6% 24px}.footer-main{grid-template-columns:1fr 1fr;gap:27px;position:relative}.footer-main>div:first-child{grid-column:1/-1}.footer-main .brand strong{font-size:18px}.footer-main>div>p{font-size:10px}.back-top{position:absolute;right:0;top:0}.footer-main h3{font-size:12px}.footer-main>div>a:not(.brand),.footer-main>div>button{font-size:11px}.footer-bottom{flex-wrap:wrap;justify-content:flex-start;gap:12px;margin-top:30px;font-size:8px}.footer-bottom>span{width:100%;order:3}.footer-bottom button{margin-left:auto}dialog{padding:25px}.dialog-body h2{font-size:21px}.diagnosis-question label{margin-right:10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(max-width:600px){.hero-copy{position:absolute;top:0;left:0}.hero-copy h2{font-size:clamp(19px,5.9vw,24px)}.hero-copy p{max-width:100%;font-size:10px}.hero-slide img{height:160px;width:62%}.hero-copy .hero-link{margin-top:14px}.hero-bottom p{font-size:12px}.hero-bottom-note{font-size:8px;max-width:42%}}

/* --- 現行サイトの内容に合わせた追加分 --- */
.header .button.small{white-space:nowrap}
.mobile-nav .mobile-cta{color:var(--red);font-weight:700}
.hero-slide{color:#fff}
.hero-copy p br{display:none}
.hero-copy .tag{letter-spacing:.06em}
.hero-bottom-note{color:#786363;line-height:1.8;text-align:right}
.hero-bottom-note b{color:var(--red);letter-spacing:.14em;font-size:9px}
.hero-bottom-note:hover{color:var(--red)}
.filter-tabs{overflow-x:auto;scrollbar-width:none;max-width:100%}
.filter-tabs::-webkit-scrollbar{display:none}
.empty-state{background:#fff;border:1px solid #eee;border-radius:9px;padding:22px;font-size:12px}
.side-banner .button{justify-content:space-between}
.side-banner p{margin-bottom:18px}
.service-grid article{display:flex;flex-direction:column}
.service-grid article>p{font-size:11px;color:#777;line-height:1.9}
.service-grid .button{margin-top:auto}
.service-grid article>p{margin-bottom:20px}
.team-grid{align-items:stretch}
.team-link{display:block}
.team-link article{height:100%;transition:border-color .2s,transform .2s}
.team-link:hover article{border-color:#e7babb;transform:translateY(-2px)}
.team-grid article span{display:block}
.desktop-only{display:inline}

.consult{max-width:1180px;margin:0 auto 70px;background:var(--red);color:#fff;border:7px solid #fff;border-radius:14px;box-shadow:0 10px 25px #53333212;display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:45px 50px;position:relative;overflow:hidden}
.consult:before{content:"✚";position:absolute;left:-20px;bottom:-70px;font-size:260px;line-height:1;color:#ffffff14;pointer-events:none}
.consult-copy{position:relative}
.consult .eyebrow{color:#ffd3d4}
.consult h2{font-size:30px;line-height:1.6;margin:6px 0 16px}
.consult-copy>p:last-child{font-size:13px;color:#ffe8e8}
.consult-form{position:relative;display:flex;flex-direction:column}
.consult-form label{font-size:12px;font-weight:700;margin:12px 0 6px}
.consult-form label:first-child{margin-top:0}
.consult-form input,.consult-form select{width:100%;border:0;border-radius:6px;background:#fff;color:var(--dark);padding:12px 14px;min-height:46px;font-size:14px}
.consult-form input::placeholder{color:#b3b3b3}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.form-row>div{min-width:0;display:flex;flex-direction:column}
.consult-form .check{display:flex;gap:10px;align-items:center;margin:16px 0 4px;cursor:pointer;font-weight:600}
.consult-form .check input{width:18px;height:18px;min-height:0;padding:0;margin:0;flex-shrink:0;accent-color:var(--dark)}
.consult-form .button{background:var(--dark);margin-top:16px;width:100%}
.consult-form small{display:block;font-size:10px;color:#ffe2e2;margin-top:10px;line-height:1.7}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.button[disabled]{opacity:.65;cursor:wait}

.dialog-body .dialog-meta{color:#999;font-size:11px;margin-top:-10px}
.dialog-body .lead{color:#777;border-bottom:1px solid var(--line);padding-bottom:18px}
.reading-footer{border-top:1px solid var(--line);margin-top:28px;padding-top:6px}
.dialog-body .dialog-note{font-size:11px;color:#999;line-height:1.8}
.dialog-body .eyebrow{margin:0}
#consult-text{white-space:pre-wrap;font:inherit;font-size:13px;line-height:1.9;background:#f5f5f4;border-radius:8px;padding:18px 20px;margin:14px 0}
.draft-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.draft-actions .button,.draft-actions .outline-button{margin-top:0;width:auto}
.dialog-body .draft-actions .button{margin-top:0;width:auto}
.next-steps{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.next-steps span{border:1px solid var(--line);border-radius:30px;padding:5px 14px;font-size:12px;font-weight:700}
.next-steps span:first-child{border-color:var(--red);color:var(--red)}
.text-link{display:inline-block;margin-top:14px;font-size:12px;font-weight:700;border-bottom:1px solid var(--line)}

@media(max-width:1150px){.consult{margin:0 4% 60px}}
@media(max-width:800px){.consult{grid-template-columns:1fr;gap:26px;padding:32px 28px}}
@media(max-width:600px){
  .desktop-only{display:none}
  .hero-bottom-note{text-align:left}
  .filter-tabs{justify-content:flex-start}
  .consult{margin:0 4% 45px;padding:26px 20px;border-width:5px;border-radius:10px}
  .consult h2{font-size:23px}
  .consult-copy>p:last-child{font-size:12px}
  .form-row{grid-template-columns:1fr}
  .draft-actions .button,.draft-actions .outline-button,.dialog-body .draft-actions .button{width:100%}
}
.consult-form .form-row label:first-child{margin-top:12px}
h1,h2,h3{text-wrap:balance}

/* ===== 下層ページ共通 ===== */
.desktop-nav a{position:relative}
.desktop-nav a[aria-current=page]{color:var(--red)}
.desktop-nav a[aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--red)}
.mobile-nav a[aria-current=page]{color:var(--red);font-weight:700}
.page-zone{padding-bottom:0}
.page-hero{max-width:1056px;margin:46px auto 0;position:relative;z-index:1}
.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:11px;color:#8d7475;margin-bottom:26px}
.breadcrumb i{font-style:normal;color:#c9a9aa}
.breadcrumb a:hover{color:var(--red)}
.breadcrumb [aria-current]{color:var(--dark);max-width:40em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.page-hero h1{font-size:40px;line-height:1.5;letter-spacing:.03em;max-width:24em}
.page-lead{font-size:14px;color:#6f5d5d;margin-top:14px;line-height:2}
.page-hero .tag{display:inline-block;font-size:12px;letter-spacing:.06em;background:#fff;color:var(--red);padding:4px 12px;border-radius:3px;margin-bottom:14px;font-weight:700}
.page-zone .big-type{margin-top:26px}
.page-section{max-width:1080px;margin:0 auto;padding:66px 0 0}
.page-section.first .consult{margin-bottom:0}
.section-more{text-align:center;margin-top:30px}
.section-link{font-size:12px;font-weight:700;padding-bottom:5px}
.section-link:hover{color:var(--red)}
.button.light{background:#fff;color:var(--red);flex-shrink:0;min-width:280px}

/* 相談バナー（下層ページ共通） */
.cta-band{max-width:1180px;margin:70px auto;background:var(--red);color:#fff;border:7px solid #fff;border-radius:14px;box-shadow:0 10px 25px #53333212;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:42px 50px;position:relative;overflow:hidden}
.cta-band:before{content:"✚";position:absolute;right:30%;bottom:-80px;font-size:260px;line-height:1;color:#ffffff14;pointer-events:none}
.cta-band .eyebrow{color:#ffd3d4}
.cta-band h2{font-size:28px;line-height:1.6;margin:6px 0 12px}
.cta-copy{position:relative}
.cta-copy>p:last-child{font-size:13px;color:#ffe8e8}

/* 記事一覧 */
.page-list .content-layout,.page-article .content-layout{padding-top:56px}

/* 記事詳細 */
.article-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;color:#786363;margin-top:16px}
.article-meta-line b{color:var(--red);font-size:16px}
.article-meta-line i{font-style:normal;color:#c9a9aa}
.page-article .page-hero h1{font-size:34px;line-height:1.6}
.article-detail{background:#fff;border:1px solid #eee;border-radius:12px;padding:34px 40px 40px}
.detail-cover{width:100%;border-radius:9px;display:block}
.detail-lead{font-size:15px;line-height:2.1;font-weight:600;margin:26px 0 0;padding-bottom:24px;border-bottom:1px solid var(--line)}
.toc{background:var(--bg);border-radius:9px;padding:20px 24px;margin:26px 0 10px}
.toc ol{list-style:none;margin:6px 0 0;padding:0}
.toc li a{display:flex;gap:12px;padding:7px 0;font-size:13px;font-weight:700;border-bottom:1px dashed #ddd}
.toc li:last-child a{border:0}
.toc li a span{color:var(--red)}
.toc li a:hover{color:var(--red)}
.detail-section{scroll-margin-top:30px}
.detail-section h2{display:flex;align-items:baseline;gap:12px;font-size:21px;line-height:1.6;margin:38px 0 12px;padding-bottom:10px;border-bottom:2px solid var(--dark)}
.sec-num{color:var(--red);font-size:15px;letter-spacing:.06em;flex-shrink:0}
.detail-section p{font-size:15px;line-height:2.1}
.step-box{margin-top:40px;background:#f7e2e1;border:1px solid #e9c0bf;border-radius:9px;padding:24px 26px;position:relative;overflow:hidden}
.step-box:after{content:"✚";position:absolute;right:16px;top:6px;font-size:80px;line-height:1;color:#edb8b5;transform:rotate(12deg)}
.step-box h2{font-size:19px;margin:4px 0 10px;position:relative;z-index:1}
.step-box p:last-child{font-size:14px;line-height:2;position:relative;z-index:1;max-width:90%}
.detail-note{font-size:11px;color:#999;margin-top:18px}
.author-box{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);margin-top:30px;padding-top:24px}
.author-box span{font-size:9px;letter-spacing:.1em;color:#9a9a9a}
.author-box h3{font-size:15px;margin:2px 0 4px}
.author-box p{font-size:12px;color:#777}
.article-pager{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.article-pager a{background:#fff;border:1px solid #eee;border-radius:9px;padding:16px 18px;font-size:13px;font-weight:700;line-height:1.7;transition:border-color .2s,transform .2s}
.article-pager a:last-child{text-align:right}
.article-pager a:hover{border-color:#e7babb;transform:translateY(-2px);filter:none}
.article-pager small{display:block;color:var(--red);font-size:10px;letter-spacing:.06em;margin-bottom:4px}
.related-section{max-width:1080px;margin:0 auto;padding:10px 0 0}
.related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

/* サービス詳細 */
.page-services .services{margin-top:66px}
.service-more{border-top:1px solid var(--line);margin-top:auto;padding-top:16px}
.service-more h4{margin:0 0 6px;font-size:13px;color:var(--red)}
.service-more p{font-size:12px;color:#666;line-height:1.9}
.service-grid article{scroll-margin-top:30px}
.flow-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:none}
.flow-grid li{background:#fff;border:1px solid #eee;border-radius:9px;padding:24px;position:relative}
.flow-grid li:not(:last-child):after{content:"→";position:absolute;right:-17px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:12px;z-index:1}
.flow-num{display:inline-block;font-size:20px;font-weight:750;color:var(--red)}
.flow-grid h3{font-size:19px;margin:4px 0 8px}
.flow-grid p{font-size:12px;color:#777;line-height:1.9}

/* 私たちについて */
.message-section{max-width:1080px;margin:0 auto;padding:70px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.message-section h2{font-size:32px;line-height:1.6}
.message-text p{font-size:14px;line-height:2.1;margin-bottom:14px}
.company-section{max-width:930px;margin:0 auto}
.company-table{margin:0;background:#fff;border:1px solid #eee;border-radius:9px;padding:6px 26px}
.company-table div{display:grid;grid-template-columns:160px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}
.company-table div:last-child{border:0}
.company-table dt{font-weight:700;color:#8d7475;font-size:12px;letter-spacing:.06em}
.company-table dd{margin:0}
.company-table a{color:var(--red);font-weight:700}

/* このサイトについて */
.prose-card{max-width:860px;margin:66px auto 0;background:#fff;border:1px solid #eee;border-radius:12px;padding:40px 48px}
.prose-card h2{font-size:20px;margin:32px 0 10px;padding-bottom:8px;border-bottom:2px solid var(--dark)}
.prose-card p{font-size:14px;line-height:2.1}
.prose-card .button{display:inline-flex;margin-top:26px}

@media(max-width:1150px){
  .page-hero{margin-left:7%;margin-right:7%}
  .page-section,.related-section,.message-section{margin-left:5%;margin-right:5%}
  .company-section{margin-left:8%;margin-right:8%}
  .cta-band{margin:60px 4%}
  .prose-card{margin-left:5%;margin-right:5%}
}
@media(max-width:800px){
  .page-hero h1{font-size:32px}
  .page-article .page-hero h1{font-size:27px}
  .cta-band{flex-direction:column;align-items:stretch;padding:32px 28px;gap:24px}
  .button.light{min-width:0}
  .article-detail{padding:24px}
  .related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flow-grid{grid-template-columns:1fr;gap:14px}
  .flow-grid li:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-19px;transform:translateX(50%)}
  .message-section{grid-template-columns:1fr;gap:20px}
}
@media(max-width:600px){
  .page-hero{margin:30px 6% 0}
  .breadcrumb{font-size:10px;margin-bottom:18px}
  .breadcrumb [aria-current]{max-width:14em}
  .page-hero h1{font-size:27px}
  .page-article .page-hero h1{font-size:22px}
  .page-lead{font-size:12px}
  .page-lead br{display:none}
  .page-section,.related-section,.message-section{margin-left:6%;margin-right:6%}
  .page-section{padding-top:40px}
  .company-section{margin:0 6%}
  .company-table{padding:4px 18px}
  .company-table div{grid-template-columns:1fr;gap:2px}
  .cta-band{margin:45px 4%;padding:26px 20px;border-width:5px;border-radius:10px}
  .cta-band h2{font-size:22px}
  .cta-copy>p:last-child{font-size:12px}
  .article-detail{padding:18px 18px 24px;border-radius:10px}
  .detail-lead{font-size:14px}
  .detail-section h2{font-size:18px}
  .detail-section p{font-size:14px}
  .toc{padding:16px 18px}
  .step-box{padding:20px}
  .article-pager{grid-template-columns:1fr}
  .article-pager a:last-child{text-align:left}
  .related-grid{grid-template-columns:1fr}
  .section-heading{flex-wrap:wrap;gap:10px}
  .message-section{padding-top:45px}
  .message-section h2{font-size:24px}
  .prose-card{margin:40px 6% 0;padding:26px 22px}
  .page-section.first{padding-top:30px}
}
main>.page-section:last-child{padding-bottom:80px}
.page-services .service-intro>p{display:none}
@media(max-width:600px){main>.page-section:last-child{padding-bottom:50px}}
