.company-flow-heading{text-align:center}.company-plug{display:block;margin:auto;background:url("images/top/top2.webp") left center / auto 100% no-repeat}.company-steps{display:grid;list-style:none;padding:0;margin:0}.company-steps h3{text-align:center}
/* Business：施工フローをデザインカンプに合わせる */
.company-flow {
    padding: clamp(50px, 3.4vw, 66px) 0 clamp(75px, 8vw, 154px);
    background: url('images/background-separated/stage-clean.png') center 60% / cover no-repeat;
    font-family: Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.company-flow > .container {
    width: 88%;
    max-width: 1685px;
}
.company-flow-heading {
    margin-bottom: clamp(72px, 5.8vw, 112px);
}
.company-plug {
    width: clamp(76px, 5.84vw, 112px);
    height: clamp(76px, 5.84vw, 112px);
    background-size: auto 100%;
    background-position: left center;
}
.company-flow-heading h2 {
    margin-top: 24px;
    font-size: clamp(28px, 2.09vw, 40px);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .06em;
}
.company-flow-heading p {
    margin-top: 14px;
    font-size: clamp(14px, 1.05vw, 20px);
    font-weight: 400;
    line-height: 1.8;
}
.company-steps {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(22px, 1.93vw, 37px);
    align-items: stretch;
}
.company-steps > li {
    position: relative;
    min-width: 0;
    min-height: clamp(290px, 16.8vw, 323px);
    padding: clamp(40px, 2.4vw, 46px) clamp(16px, 1.15vw, 22px) 35px;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 17px;
    background: rgba(0, 0, 5, .84);
    overflow: visible;
}
.company-step-label {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -53%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 57%;
    max-width: 175px;
    min-height: clamp(38px, 2.5vw, 48px);
    margin: 0;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .82);
    border-radius: 0 50px 50px 0;
    background: linear-gradient(100deg, #10323e, #000);
    font-family: inherit;
    font-size: clamp(14px, 1.05vw, 20px);
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .04em;
    white-space: nowrap;
}
.company-steps h3 {
    margin: 0 0 18px;
    font-size: clamp(18px, 1.46vw, 28px);
    font-weight: 500;
    line-height: 1.5;
    white-space: nowrap;
}
.company-steps p {
    margin: 0;
    font-size: clamp(14px, 1.05vw, 20px);
    font-weight: 400;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
/* 各カード間をつなぐグレーの矢印 */
.company-steps > li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(-1 * clamp(22px, 1.93vw, 37px) + 7px);
    transform: translateY(-50%);
    width: calc(clamp(22px, 1.93vw, 37px) - 14px);
    height: clamp(55px, 4.5vw, 86px);
    background: #858b96;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    pointer-events: none;
}
@media (max-width: 1100px) and (min-width: 901px) {
    .company-flow > .container { width: 94%; }
    .company-steps > li { padding-left: 10px; padding-right: 10px; }
    .company-steps h3 { font-size: 16px; }
    .company-steps p { font-size: 14px; line-height: 1.7; }
    .company-step-label { width: 72%; }
}
@media (max-width: 900px) {
    .company-flow { padding: 50px 0 65px; }
    .company-flow-heading { margin-bottom: 65px; }
    .company-flow-heading h2 { font-size: 28px; }
    .company-flow-heading p { font-size: 13px; }
    .company-steps {
        grid-template-columns: 1fr;
        gap: 62px;
        max-width: 560px;
        margin: auto;
    }
    .company-steps > li {
        min-height: 0;
        padding: 38px 24px 28px;
    }
    .company-step-label { width: 175px; min-height: 42px; font-size: 17px; }
    .company-steps h3 { font-size: 22px; margin-bottom: 16px; }
    .company-steps p { font-size: 16px; line-height: 1.85; }
    .company-steps > li:not(:last-child)::after {
        top: auto;
        bottom: -30px;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        width: 45px;
        height: 18px;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
    }
}
/* Service01：イベント設営／店舗・電気設備施工 */
.first-service{color:#fff;background:#02091c;font-family:Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.first-service *{box-sizing:border-box}
.service1-hero{position:relative;min-height:39.7vw;background:linear-gradient(100deg,rgba(12,53,95,.65),transparent 60%),url('images/background-separated/stage-clean.png') center top/cover no-repeat;overflow:hidden}
.service1-hero-photo{position:absolute;right:0;bottom:0;width:72.5%;height:83.5%;object-fit:fill;display:block}
.service1-hero-copy{position:relative;z-index:1;padding:15.4vw 0 6vw 5.8%;width:65%}
.service1-hero-copy h1{font-size:clamp(76px,8.8vw,180px);font-style:italic;line-height:1;margin:0 0 28px;letter-spacing:-.025em}
.service1-hero-copy h1 span{display:block;font-size:clamp(25px,2.7vw,52px);line-height:1.5;font-style:normal;letter-spacing:.04em;margin-top:35px}
.service1-hero-copy p{font-size:clamp(15px,1.2vw,23px);letter-spacing:.04em;line-height:1.7}
.service1-body{background:linear-gradient(90deg,rgba(7,45,84,.23),transparent),url('images/background-separated/stage-clean.png') center/100% 100% no-repeat;padding-bottom:170px}
.service1-intro{text-align:center;width:88%;max-width:1680px;margin:auto;padding-top:180px}
.service1-intro h2{font-size:clamp(24px,2.15vw,42px);line-height:1.6;margin:30px 0 15px;letter-spacing:.025em}
.service1-intro>p{font-size:clamp(15px,1.05vw,20px);line-height:1.8}
.service1-points{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin:85px auto 0;padding:0;max-width:1320px;width:82%}
.service1-points li{min-width:0;min-height:315px;padding:25px 20px;border:1px solid #7b8b9b;border-radius:14px;background:rgba(0,16,24,.72);display:flex;flex-direction:column;align-items:center}
.service1-points strong{font-size:40px;line-height:1.3;font-style:italic;letter-spacing:.025em}
.service1-points img{display:block;width:190px;height:115px;object-fit:contain;margin:15px auto}
.service1-points p{font-size:18px;line-height:1.5;margin:auto 0 0;letter-spacing:.025em}
.service1-projects{width:88%;max-width:1680px;margin:200px auto 0;display:flex;flex-direction:column;gap:90px}
.service1-card{width:60%;border:1px solid #8593a1;border-radius:38px;background:#00121b;overflow:hidden}
.service1-card--festival{align-self:flex-end}
.service1-card--electricity{width:100%}
.service1-card-photo{position:relative;aspect-ratio:1.7;isolation:isolate;overflow:hidden}
.service1-card-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.service1-card-photo:has(ul)::after{content:'';position:absolute;inset:35% 25% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);z-index:-1}
.service1-card-photo h2{position:absolute;left:0;top:4%;width:58%;padding:16px 5%;border:1px solid #788793;border-left:0;border-radius:0 140px 0 0;background:linear-gradient(100deg,#164e5c,#000);font-size:clamp(18px,1.5vw,28px);line-height:1.2;text-align:right;letter-spacing:0}
.service1-card-photo h2 span{display:block;font-size:clamp(30px,2.7vw,52px);text-align:left;font-weight:700;line-height:1.2}
.service1-card-photo ul{position:absolute;bottom:7%;left:6%;margin:0;padding-left:1em;font-size:clamp(13px,.94vw,18px);line-height:1.65}
.service1-card-body{padding:55px 7% 65px}
.service1-card-body h3{font-size:clamp(24px,1.9vw,36px);line-height:1.5;margin:0 0 28px}
.service1-card-body>p{font-size:clamp(15px,1.05vw,20px);line-height:1.8;margin:0 0 42px}
.service1-card-body .button{min-width:285px;min-height:60px;font-size:16px;background:rgba(255,255,255,.1)}
.service1-card--electricity .service1-card-photo{aspect-ratio:2.8}
.service1-card--electricity .service1-card-photo h2{width:48%;top:5%}
.service1-card--electricity .service1-card-body{padding:60px 4%}
.service1-card--electricity .service1-card-body .button{display:flex;width:285px;margin:0 auto;justify-content:center}
.first-service .company-flow{padding-top:140px}
@media(max-width:1300px){.service1-intro{padding-top:110px}.service1-points{width:92%;gap:24px}.service1-points li{padding:22px 12px;min-height:290px}.service1-points p{font-size:16px}.service1-projects{margin-top:130px}.service1-card{width:67%}.service1-card--electricity{width:100%}.service1-card-body{padding:35px 6% 45px}}
@media(max-width:900px){.service1-hero{min-height:540px}.service1-hero-copy{padding:190px 0 80px 6%;width:95%}.service1-hero-copy h1{font-size:100px}.service1-hero-copy h1 span{font-size:34px}.service1-hero-photo{height:75%;width:90%;opacity:.7}.service1-intro{padding-top:85px}.service1-points{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:50px}.service1-points strong{font-size:32px}.service1-projects{margin-top:90px;gap:60px}.service1-card{width:100%;border-radius:22px}.service1-card-photo h2{font-size:20px}.service1-card-photo h2 span{font-size:32px}.service1-card-body h3{font-size:26px}.service1-card-photo ul{font-size:14px}.service1-body{padding-bottom:90px}.first-service .company-flow{padding-top:70px}}
@media(max-width:600px){.service1-hero{min-height:420px}.service1-hero-copy{padding:150px 0 55px 6%}.service1-hero-copy h1{font-size:72px}.service1-hero-copy h1 span{font-size:26px;margin-top:25px}.service1-hero-photo{height:80%;width:100%;object-fit:cover;object-position:right}.service1-intro h2{font-size:24px}.service1-points{grid-template-columns:1fr;max-width:380px;gap:20px}.service1-points li{min-height:295px}.service1-points p{font-size:17px}.service1-card-photo{aspect-ratio:auto;min-height:390px}.service1-card-photo h2,.service1-card--electricity .service1-card-photo h2{width:82%;padding:13px 5%;font-size:18px}.service1-card-photo h2 span{font-size:29px}.service1-card-photo ul{bottom:6%;font-size:13px}.service1-card-body,.service1-card--electricity .service1-card-body{padding:30px 7% 35px}.service1-card-body h3{font-size:20px}.service1-card-body h3 br{display:none}.service1-card-body>p{font-size:15px}.service1-card-body .button,.service1-card--electricity .service1-card-body .button{min-width:0;width:100%;max-width:285px;font-size:14px}.service1-card--electricity .service1-card-photo{min-height:290px;aspect-ratio:auto}}



/* FIRST background separation — 2026-11-05 */
.first-service .service1-body {
 background-color:#02091c;
 background-image:url('images/background-separated/first-watermark.svg'),linear-gradient(rgba(0,4,20,.32),rgba(0,4,20,.32)),url('images/background-separated/stage-clean.png');
 background-size:min(62vw,1100px) auto,100% 100%,max(100%,900px) auto;
 background-position:left 75%,center,center top;
 background-repeat:no-repeat;
}
.first-service .company-flow {background-color:#02091c;background-size:max(100%,900px) auto;}
@media(max-width:1024px){
 .first-service .service1-body{background-size:80% auto,100% 100%,max(100%,750px) auto;}
}

/* Service background continuation — 2026-11-05 */
.first-service .service1-body {
 background-color:#02091c;
 background-image:url('images/background-separated/first-watermark.svg'),linear-gradient(rgba(0,4,20,.40),rgba(0,4,20,.40)),url('images/background-separated/stage-repeat.svg');
 background-size:min(62vw,1100px) auto,100% 100%,max(100%,900px) auto;
 background-position:left 75%,center,center top;
 background-repeat:no-repeat,no-repeat,repeat-y;
}
@media(max-width:1024px){
 .first-service .service1-body{background-size:80% auto,100% 100%,max(100%,750px) auto;}
}
