*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;font-size:16px;line-height:1.9;color:var(--ink);background:var(--paper);word-break:keep-all;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:6px}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{line-height:1.5;font-weight:700}h2{font-size:34px;letter-spacing:.03em}h3{font-size:23px}p+p{margin-top:20px}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:220px}.site-header nav{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:600}.nav-contact{border:1px solid currentColor;padding:10px 22px}.eyebrow{font-family:Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:.15em;line-height:1.5;margin-bottom:18px}.hero-description{margin-top:28px}.button,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;margin-top:30px;font-weight:700}.button{padding:15px 28px;background:var(--ink);color:var(--paper)}.text-link{padding-bottom:10px;border-bottom:1px solid}.about,.services,.company{padding-block:100px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about-copy p{line-height:2.1}.section-heading{margin-bottom:40px}.primary-services{display:grid;grid-template-columns:1fr 1fr;gap:32px}.primary-card img{aspect-ratio:3/2;object-fit:cover}.service-copy{padding:30px 0}.service-copy h3{margin-bottom:16px}.other-services{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:36px}.small-card{border-top:1px solid var(--line);padding-top:26px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.card-top svg{width:54px;height:54px}.card-top .eyebrow{margin:0}.small-card h3{font-size:21px;margin-bottom:20px}.company{display:grid;grid-template-columns:1fr 2fr;gap:60px}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:21px 0;border-bottom:1px solid var(--line)}.company dl>div:first-child{border-top:1px solid var(--line)}dt{font-weight:600}dd{margin:0}dd ol{margin:0;padding-left:1.3em}dd li+li{margin-top:6px}.contact{padding-block:70px}.contact-inner{display:grid;grid-template-columns:1fr 2fr;gap:60px}.contact-links a{display:flex;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid currentColor}.contact-links a span:first-child{width:65px;font-size:15px}.contact-links strong{font-family:Arial,sans-serif;font-size:27px;flex:1;overflow-wrap:anywhere}.contact-links a span:last-child{font-size:26px}.site-footer{padding-block:48px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:35px}.footer-top img{width:190px;background:#fff;padding:8px}.footer-top p{margin:0;font-size:15px}.footer-bottom{margin-top:40px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.skip-link{position:absolute;left:20px;top:-100px;background:#fff;color:#111;padding:12px;z-index:10}.skip-link:focus{top:10px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:900px){.wrap{width:calc(100% - 56px)}.site-header nav{gap:16px;font-size:14px}.brand img{width:180px}.about{gap:35px}.company,.contact-inner{grid-template-columns:1fr;gap:8px}.other-services{gap:22px}h3{font-size:21px}}@media(max-width:600px){body{font-size:15px}.wrap{width:calc(100% - 40px)}.site-header{padding-block:22px;min-height:0;display:block}.brand img{width:185px}.site-header nav{margin-top:23px;justify-content:space-between;gap:10px;font-size:12px}.nav-contact{padding:5px 8px}.eyebrow{font-size:11px;margin-bottom:14px}h2{font-size:27px}h3{font-size:22px}.about,.services,.company{padding-block:60px}.about{grid-template-columns:1fr;gap:0}.section-heading{margin-bottom:28px}.primary-services,.other-services{grid-template-columns:1fr;gap:26px}.other-services{margin-top:20px}.service-copy{padding:24px 0}.small-card{padding-top:24px}.small-card h3{font-size:21px}.card-top{margin-bottom:16px}.company dl>div{grid-template-columns:1fr;gap:6px;padding-block:18px}.company dt{font-size:13px}.contact{padding-block:50px}.contact-links a{gap:12px;flex-wrap:wrap}.contact-links strong{font-size:21px}.contact-links a span:first-child{width:100%;font-size:13px}.footer-top{display:block}.footer-top div{margin-top:24px}.footer-bottom{font-size:10px;align-items:start}.hero-description br{display:none}}
 :root{--paper:#fff;--ink:#12233c;--accent:#b91461;--line:#bdc5cf}.site-header{min-height:100px}.nav-contact{background:var(--ink);color:white;border:0}.hero{background:var(--ink);color:white;overflow:hidden}.hero-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;padding-block:55px}.hero-title{position:relative;z-index:1}.hero .eyebrow{color:#e5f277}.hero-en{font-family:"Helvetica Neue",Arial,"Liberation Sans",sans-serif;font-size:79px;font-weight:900;line-height:1.04;letter-spacing:-.035em}.hero-en span{color:#e5f277}.hero h1{font-size:27px;margin-top:28px}.hero-description{margin-top:14px;color:#e0e6ef}.hero .button{background:#e5f277;color:#12233c;margin-top:26px}.hero figure{align-self:center;transform:rotate(3deg);position:relative}.hero figure img{aspect-ratio:1/1;object-fit:cover}.hero figcaption{background:#e5f277;color:#12233c;font-size:12px;letter-spacing:.1em;padding:12px 20px;font-weight:700}.hero-strip{display:flex;justify-content:space-evenly;gap:20px;padding:15px 20px;background:#e5f277;color:#12233c;font-family:Arial,sans-serif;font-size:20px;font-weight:800;letter-spacing:.14em}.about h2{font-size:36px}.section-heading .eyebrow{color:var(--accent)}.services{background:#f1f3f6;width:100%;padding-inline:max(56px,calc((100% - 1240px)/2))}.services>.section-heading{display:flex;align-items:baseline;gap:35px}.primary-card{background:white;border-bottom:5px solid var(--ink)}.primary-card:nth-child(2){border-color:var(--accent)}.service-copy{padding:30px}.service-copy .eyebrow{color:var(--accent)}.small-card{background:white;border:0;padding:28px}.card-top .eyebrow{font-size:25px;font-style:italic}.card-top svg{color:var(--accent)}.contact{background:#e5f277}.contact-links a{border-color:#7c8841}.site-footer{background:var(--ink);color:white}.company .section-heading h2{font-size:36px}@media(max-width:900px){.hero-en{font-size:61px}.hero h1{font-size:23px}.services{padding-inline:28px}.small-card{padding:22px}.hero figure img{aspect-ratio:4/5}}@media(max-width:600px){.site-header{min-height:0}.hero-layout{display:block;padding-block:32px}.hero-en{font-size:64px}.hero h1{font-size:25px;margin-top:22px}.hero figure{margin:35px 9px 15px;transform:rotate(2deg)}.hero figure img{aspect-ratio:4/3}.hero figcaption{font-size:10px;padding:9px 12px}.hero-strip{font-size:11px;gap:8px;letter-spacing:.06em}.about h2{font-size:27px}.services{padding-inline:20px}.services>.section-heading{display:block}.service-copy{padding:24px}.company .section-heading h2{font-size:28px}}

/* Revised visual system */
.product-name{white-space:nowrap;font-size:1em;letter-spacing:0}
.hero-photos{min-width:0}.hero-photos img{width:100%;height:auto;object-fit:cover;margin:0}
.about,.services,.company{padding-block:112px}h2{font-size:42px}.about h2{font-size:36px}.section-heading{margin-bottom:48px}.about-copy{max-width:580px}.about-copy p{line-height:2.2}
.primary-services{gap:36px}.primary-card{min-width:0}.primary-card img{aspect-ratio:4/3}.service-copy{padding:30px 28px 36px}.service-copy h3{font-size:25px;line-height:1.65}.service-copy .eyebrow{margin-bottom:16px}
.other-services{gap:24px;margin-top:56px}.small-card{padding:24px;min-width:0;border:1px solid var(--line)}.card-top{margin-bottom:16px}.card-top .eyebrow{font-size:16px;color:var(--accent)}.business-art{margin:0 -8px 26px;background:var(--art-bg);border-radius:4px;overflow:hidden}.business-art svg{display:block;width:100%;height:auto}.small-card h3{font-size:20px;line-height:1.7;letter-spacing:0}.small-card p{line-height:2}.small-card .product-name{font-size:18px}
.photo-gallery{padding:0 0 96px}.gallery-heading{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid var(--line);padding-top:26px;margin-bottom:30px}.gallery-heading p{margin:0}.gallery-heading h2{font-size:24px}.gallery-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-photos figure:nth-child(2){padding-top:36px}.gallery-photos img{aspect-ratio:3/2;object-fit:cover}.gallery-photos figcaption{font:11px/1.6 Arial,sans-serif;letter-spacing:.12em;margin-top:12px;color:var(--ink)}
.company{border-top:1px solid var(--line)}.contact{padding-block:88px}.contact h2{font-size:38px}.contact-links strong{font-size:30px}.company dl>div{padding-block:24px}.site-header{min-height:110px}
@media(min-width:901px) and (max-width:1200px){.other-services{gap:16px}.small-card{padding:18px}.small-card .product-name{font-size:15px}}
@media(max-width:900px){.other-services{grid-template-columns:1fr}.small-card{display:grid;grid-template-columns:240px 1fr;column-gap:28px}.card-top{grid-column:1/-1}.business-art{grid-column:1;grid-row:2/4;margin:0}.small-card h3,.small-card p{grid-column:2}.small-card .product-name{font-size:18px}.about,.services,.company{padding-block:80px}.gallery-photos{gap:10px}}
@media(max-width:600px){h2{font-size:32px}.about h2{font-size:28px}.about,.services,.company{padding-block:64px}.service-copy{padding:24px 20px 28px}.service-copy h3{font-size:22px}.other-services{margin-top:32px;gap:24px}.small-card{display:block;padding:24px}.small-card .product-name{font-size:18px}.business-art{margin:0 0 24px}.primary-services{gap:32px}.photo-gallery{padding-bottom:60px}.gallery-heading{display:block}.gallery-heading h2{font-size:23px;margin-top:10px}.gallery-photos{grid-template-columns:1fr;gap:24px}.gallery-photos figure:nth-child(2){padding-top:0}.contact{padding-block:56px}.contact h2{font-size:30px}.contact-links strong{font-size:23px}.company .product-name{font-size:15px}.site-header{min-height:0}.section-heading{margin-bottom:32px}}
 :root{--art-bg:#edf0f5;--art-light:#e5f277;--art-mid:#7b8aa2;--art-shadow:#d9dfe8}
.hero-layout{width:100%;padding:62px max(56px,calc((100% - 1240px)/2));grid-template-columns:.85fr 1.25fr;gap:45px}.hero-en{font-size:clamp(62px,6.8vw,100px)}.hero h1{font-size:28px}.hero-photos{display:flex;flex-direction:column;gap:16px;align-self:center;transform:rotate(2deg)}.hero-photos img{aspect-ratio:2/1;border-bottom:8px solid #e5f277;object-position:center 60%}.hero-photos img:nth-child(2){width:88%;align-self:end;transform:rotate(-4deg);aspect-ratio:2/1}.hero-strip{padding-block:20px}.services>.section-heading h2{font-size:42px}.small-card{border:0;border-top:4px solid var(--ink)}.small-card:last-child{border-top-color:var(--accent)}.photo-gallery{padding-top:64px;background:#12233c;color:white}.gallery-heading{border-color:#576479}.gallery-heading .eyebrow{color:#e5f277}.gallery-photos figcaption{color:#e0e6ef}.gallery-photos figure:nth-child(2){padding-top:0}.gallery-photos{gap:18px}.company{border:0}
@media(max-width:900px){.hero-layout{padding:40px 28px;gap:28px}.hero-en{font-size:60px}.hero h1{font-size:24px}}
@media(max-width:600px){.hero-layout{padding:32px 20px 42px}.hero-en{font-size:66px}.hero-photos{margin:38px 5px 0;gap:20px}.hero-photos img,.hero-photos img:nth-child(2){aspect-ratio:3/2;width:100%}.services>.section-heading h2{font-size:32px}.photo-gallery{padding-top:48px}.hero-strip{font-size:12px}}

/* 句読点が行頭に来ないように(中枢で追記) */
@media(max-width:600px){h1,h2,h3,p,li,dd{word-break:normal;line-break:strict;overflow-wrap:normal}}

/* 見出しの語の途中で折らない・小さい画面でメールを1行に収める(中枢で追記) */
.nw{display:inline-block}
@media(max-width:380px){.contact-links strong{font-size:19px}}
@media(max-width:380px){.hero-en{font-size:15.5vw}.about h2{font-size:21px}.site-header nav a{font-size:11px;white-space:nowrap}.site-header nav{gap:8px}}
