/* 色を変更する場合は、まずこの変数を編集してください */
:root{--green:#0F5C4A;--deep:#0c4235;--ink:#14181C;--paper:#F5F5F4;--gold:#B8860B;--line:#d9dfdb;--muted:#53645e}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.95}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{font:inherit}p{margin:0 0 1.4em}img{max-width:100%;height:auto}h1,h2,h3{line-height:1.55;font-weight:500;margin:0 0 .7em}h2{font-size:clamp(26px,3.1vw,40px);letter-spacing:.025em}h3{font-size:25px}section{scroll-margin-top:20px}.skip{position:fixed;top:-80px;background:white;padding:10px;z-index:100}.skip:focus{top:0}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.header{padding:22px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}.logo{font-size:35px;line-height:1;font-weight:700;letter-spacing:.05em;color:var(--green);display:flex;align-items:center;gap:20px}.logo span{font-size:11px;letter-spacing:.05em;font-weight:400}.header nav{display:flex;align-items:center;gap:28px;font-size:13px}.nav-contact{border:1px solid var(--green);padding:9px 17px}.menu-button{display:none}.hero{display:grid;grid-template-columns:1.2fr 1fr;max-width:1440px;margin:auto}.hero-copy{padding:76px 8% 55px 10%}.eyebrow{color:var(--green);font-size:11px;letter-spacing:.16em;font-weight:600;margin-bottom:25px}.hero h1{font-size:clamp(34px,4vw,57px);letter-spacing:.02em;line-height:1.65}.hero em{font-style:normal;color:var(--green)}.hero-lead{font-size:15px;line-height:2.2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;background:var(--green);color:white;padding:15px 25px;font-size:14px;transition:background .2s}.button:hover{background:var(--deep);text-decoration:none}.hero-note{font-size:11px;color:var(--muted);margin:35px 0 0}.hero-art{position:relative;margin:32px 30px 32px 0;display:flex;background:var(--deep)}.hero-art img{width:100%;height:100%;object-fit:cover}.art-caption{position:absolute;top:30px;left:30px;color:#cbd8d1;font-size:10px;letter-spacing:.17em}.section{padding:100px max(6%,calc((100vw - 1160px)/2));border-top:1px solid var(--line)}.intro,.founder,.company{display:grid;grid-template-columns:1fr 2.25fr;gap:65px}.section-label span{font-size:10px;color:var(--green);letter-spacing:.15em}.section-label p{font-size:13px;margin-top:12px}.intro>div:last-child{max-width:710px}.intro p,.founder p{font-size:15px}.statement{background:var(--deep);color:white;text-align:center;padding:80px 24px}.statement .eyebrow{color:#c6b87f}.statement h2{font-size:clamp(30px,4vw,46px);line-height:1.8}.statement>p:last-child{font-size:14px;color:#d0dcd5}.section-heading{margin-bottom:45px}.section-heading>p{font-size:15px;color:var(--muted)}.method-name{display:block;font-size:26px;color:var(--green);margin-top:10px}.method-grid{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr;align-items:start;gap:15px}.method-grid details{border-top:2px solid var(--green);padding:24px 10px}.method-grid summary{cursor:pointer;list-style:none;display:flex;gap:16px;align-items:center;position:relative;padding-right:18px;font-size:17px}.method-grid summary::-webkit-details-marker{display:none}.method-grid summary:after{content:'+';position:absolute;right:0;color:var(--green)}.method-grid details[open] summary:after{content:'−'}.method-code{font-size:40px;color:var(--green);line-height:1}.method-grid small{display:block;color:var(--muted);font-size:11px;letter-spacing:.1em}.method-grid details p{font-size:14px;margin:22px 0 0}.multiply{margin-top:33px;font-size:25px;color:var(--gold)}.method-foot{font-size:11px;color:var(--muted);margin:30px 0 0}.services{background:#ecefea}.service{display:grid;grid-template-columns:50px 1fr 1.4fr;gap:28px;border-top:1px solid #bdcbc2;padding:40px 0}.service-number{color:var(--gold);font-size:18px}.service .eyebrow{margin-bottom:13px}.service p,.service li{font-size:14px}.service ul{padding-left:20px;margin-bottom:24px}.text-link{font-size:14px;color:var(--green);border-bottom:1px solid var(--green);padding-bottom:5px}.service-note{font-size:12px;color:var(--muted);margin-bottom:0}.signature{border-left:2px solid var(--gold);padding-left:22px;margin-top:30px}.signature span{display:block;font-size:12px}.signature strong{font-weight:500;font-size:23px}.company-table{margin:30px 0 0}.company-table>div{display:grid;grid-template-columns:145px 1fr;border-top:1px solid var(--line);padding:20px 0;font-size:14px}.company-table>div:last-child{border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}.contact{background:var(--green);color:white;text-align:center;padding:80px 24px}.contact .eyebrow{color:#d5ddc8}.contact>p{font-size:14px}.button-light{background:var(--paper);color:var(--deep)}.button-light:hover{background:#e2e9e0}.contact-email{margin:15px 0 0;font-size:12px!important;opacity:.85}.footer{display:flex;justify-content:space-between;align-items:start;gap:30px;padding:45px 6%;background:#e8ece7}.footer .logo{align-items:start;flex-direction:column;gap:15px}.footer>div{text-align:right}.footer>div a{display:inline-block;font-size:11px;margin-left:22px}.footer p{font-size:10px;color:var(--muted);margin:18px 0 0}.legal{max-width:900px;margin:auto;padding:70px 25px 100px}.legal h1{font-size:clamp(27px,4vw,40px);margin-bottom:50px}.legal section{margin-bottom:35px}.legal h2{font-size:21px;border-bottom:1px solid var(--line);padding-bottom:12px}.legal p{font-size:14px;overflow-wrap:anywhere}
@media(min-width:1500px){.hero-copy{padding-left:60px}}
@media(max-width:1000px){.header nav{gap:16px}.logo span{display:none}.hero-copy{padding-top:50px}.hero-art{margin-right:20px}.intro,.founder,.company{gap:35px}.method-grid{gap:6px}.method-grid summary{font-size:14px;gap:9px}.method-code{font-size:32px}.service{grid-template-columns:32px 1fr 1.25fr;gap:20px}}
@media(max-width:720px){html{scroll-padding-top:90px}.header{padding:16px 6%;flex-wrap:wrap}.logo{font-size:30px}.menu-button{display:block;border:1px solid var(--green);color:var(--green);background:transparent;padding:5px 13px;font-size:12px}.header nav{display:none;width:100%;padding-top:22px;flex-direction:column;align-items:stretch;gap:0}.header nav.is-open{display:flex}.header nav a{padding:11px 0;border-bottom:1px solid var(--line)}.header nav .nav-contact{border:0}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 32px}.hero h1{font-size:35px}.hero-lead{font-size:14px}.hero-note{margin-top:25px}.hero-art{margin:0 7% 35px;height:330px;overflow:hidden}.hero-art img{object-position:center 43%}.art-caption{top:18px;left:20px;font-size:9px}.section{padding:60px 7%}.intro,.founder,.company{grid-template-columns:1fr;gap:15px}.section-label p{margin-bottom:15px}.statement{padding:60px 7%}.method-grid{grid-template-columns:1fr;gap:0}.multiply{margin:0;text-align:center;line-height:1}.method-grid details{padding:25px 0}.method-grid summary{font-size:18px;gap:20px}.method-code{font-size:40px}.method-grid details p{margin-top:15px}.service{grid-template-columns:30px 1fr;gap:10px;padding:30px 0}.service>div:last-child{grid-column:2}.service h3{font-size:23px}.company-table>div{grid-template-columns:1fr;gap:8px}.company-table dt{font-size:12px}.contact{padding:60px 7%}.footer{flex-direction:column;padding:35px 7%}.footer>div{text-align:left}.footer>div a{margin:0 15px 10px 0}.desktop{display:none}.legal{padding-top:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* 公式ロゴ：画像の縦横比を維持。差し替えはimg/ity-logo.pngを変更します。 */
.header .official-logo{display:block;line-height:0;flex-shrink:0;background:transparent}
.header .official-logo img{display:block;width:245px;height:auto}
@media(max-width:1000px){.header .official-logo img{width:210px}}
@media(max-width:720px){.header .official-logo img{width:200px}}
@media(max-width:360px){.header .official-logo img{width:170px}}
