@charset "UTF-8";

/* =========================== */
/* ページ内共通設定 */
/* =========================== */
body {
    background-color: #fff;
}



@media screen and (min-width: 750px) {
    main {
        padding-top: calc(90/var(--device-width) *var(--main-width));
        box-sizing: border-box;
    }
}

/* =========================== */
/*  top */
/* =========================== */
div.blue {
    background-color: #006BC6;
    width: 100%;
    height: calc(80/var(--device-width) *var(--main-width));
}

div.red {
    background-color: #F04E6E;
    width: 100%;
    height: calc(90/var(--device-width) *var(--main-width));
}

#fv figure {
    width: 95%;
    margin: 0 0 calc(60/var(--device-width) *var(--main-width)) auto;
}

#fv h2 {
    box-sizing: border-box;
    border-bottom: solid 1px #c0c0c0;
    margin: 0 calc(40 / var(--device-width) * var(--main-width));
    padding-bottom: calc(60 / var(--device-width) * var(--main-width));
    margin-bottom: calc(160 / var(--device-width) * var(--main-width));
}

#fv h2 span {
    display: block;
}

#fv h2 span:first-of-type {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: calc(26/var(--device-width) *var(--main-width));
    font-weight: bold;
    color: #000;
    margin-bottom: 1em;
}

#fv h2 span:last-of-type {
    font-family: "Boldonse", system-ui;
    font-size: calc(60 / var(--device-width) * var(--main-width));
    color: #006BC6;
    font-weight: bold;
}


@media screen and (min-width: 750px) {
    div.blue {
        display: none;
    }

    div.red {
        background-color: #F04E6E;
        width: 88%;
        height: calc(95 / var(--device-width) * var(--main-width));
    }

    #fv figure {
        width: 92%;
        margin: calc(-65 / var(--device-width) * var(--main-width)) 0 calc(47 / var(--device-width) * var(--main-width)) auto;
    }

    #fv h2 {
        margin: 0 calc(100 / var(--device-width) * var(--main-width));
        padding-bottom: calc(40 / var(--device-width) * var(--main-width));
        margin-bottom: calc(120 / var(--device-width) * var(--main-width));
    }

    #fv h2 span:first-of-type {
        font-size: calc(20 / var(--device-width) * var(--main-width));
    }

    #fv h2 span:last-of-type {
        font-size: calc(50 / var(--device-width) * var(--main-width));
    }

}

/* =========================== */
/*  business  */
/* =========================== */
#business .intro {
    padding: 0 calc(41 / var(--device-width) * var(--main-width));
    box-sizing: border-box;
    margin-bottom: calc(40 / var(--device-width) * var(--main-width));
    font-size: calc(28 / var(--device-width) * var(--main-width));
    line-height: 1.96;
}

#business .nav {
    width: calc(720 / var(--device-width) * var(--main-width));
    margin-left: calc(30 / var(--device-width) * var(--main-width));
    border-top-left-radius: calc(111 / var(--device-width) * var(--main-width));
    background: #f5f5f5;
    box-sizing: border-box;
    padding-top: calc(30 / var(--device-width) * var(--main-width));
    padding-right: calc(82 / var(--device-width) * var(--main-width));
    padding-bottom: calc(215 / var(--device-width) * var(--main-width));
    padding-left: calc(90 / var(--device-width) * var(--main-width));
}

#business .nav li {
    margin-top: calc(40 / var(--device-width) * var(--main-width));
    border-bottom: #999999 1px solid;
}
#business .nav li a {
    display: block;
    font-size: calc(34 / var(--device-width) * var(--main-width));
    font-weight: bold;
    color: #808080;
    padding-left: calc(55 / var(--device-width) * var(--main-width));
    padding-top: calc(10 / var(--device-width) * var(--main-width));
    padding-bottom: calc(15 / var(--device-width) * var(--main-width));
    background: url(../images/icon_arrow02.png) no-repeat left center;
    background-size: calc(36 / var(--device-width) * var(--main-width)) auto;
}
#business .nav li a br {
  display: none;
}
#business .nav li.active a ,
#business .nav li a:hover {
    color: #000;
    background-image: url(../images/icon_arrow01.png);
}


#business .job {
    margin-top: calc(-130 / var(--device-width) * var(--main-width));
    position: relative;
}
#business .block {
    display: none;
    padding: calc(38 / var(--device-width) * var(--main-width)) 0;
    margin-bottom: calc(90 / var(--device-width) * var(--main-width));
    background-color: #006bc6;
    border-top-right-radius: calc(111 / var(--device-width) * var(--main-width));
    border-bottom-right-radius: calc(111 / var(--device-width) * var(--main-width));
    width: 100%;
    box-sizing: border-box;
    color: #fff;
}
#business .block.active {
    display: block;
}
#business .block .text {
    padding: 0 calc(38 / var(--device-width) * var(--main-width));
}

#business .block .text h3 {
    font-size: calc(46 / var(--device-width) * var(--main-width));
    font-weight: bold;
    margin: calc(60 / var(--device-width) * var(--main-width)) 0;
}

#business .block .text p {
    font-size: calc(30 / var(--device-width) * var(--main-width));
    line-height: 1.96;
}
#business .block .text .service {
    display: flex;
    align-items: center;
    width: fit-content;
    font-size: calc(25 / var(--device-width) * var(--main-width));
    line-height: 1;
    font-weight: bold;
    padding: calc(10 / var(--device-width) * var(--main-width));
    margin-top: calc(120 / var(--device-width) * var(--main-width));
    margin-bottom: calc(60 / var(--device-width) * var(--main-width));
    background: #fff;
    color: #000;
    border-radius: calc(5 / var(--device-width) * var(--main-width));
}
#business .block .text .service img {
  display: block;
  margin-right: calc(10 / var(--device-width) * var(--main-width));
    width: calc(36 / var(--device-width) * var(--main-width));
}
#business .block .image {
    padding: calc(100 / var(--device-width) * var(--main-width)) calc(38 / var(--device-width) * var(--main-width));
}
#business .block .image h4 {
    font-size: calc(25 / var(--device-width) * var(--main-width));
}

#business .block .image p {
    margin: calc(36 / var(--device-width) * var(--main-width)) calc(62 / var(--device-width) * var(--main-width));
}
#business #panel-5.block .image {
    padding: calc(50 / var(--device-width) * var(--main-width)) calc(38 / var(--device-width) * var(--main-width));
}
#business #panel-5.block .image h4 {
    font-size: calc(33 / var(--device-width) * var(--main-width));
    font-weight: bold;
    line-height: 1.5;
}
#business #panel-5.block .image h4 span {
  display: block;
    font-size: calc(25 / var(--device-width) * var(--main-width));
}


#business #panel-5.block .image:nth-of-type(2n) {
    background: #0090d0;
}

#business .block .flow {
    padding: 0 calc(38 / var(--device-width) * var(--main-width));
}

#business .block .flow h4 {
    font-size: calc(38 / var(--device-width) * var(--main-width));
    font-weight: 500;
    line-height: 1.64;
    text-align: center;
}

#business .block .flow h4 span {
  margin: 0 auto;
  padding: 0 0.5em;
  display: block;
  width: fit-content;
  border-bottom: #fff 1px solid;
}

#business .block .flow ol {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    margin: calc(20 / var(--device-width) * var(--main-width)) auto;
    width: calc(504 / var(--device-width) * var(--main-width));
}

#business .block .flow li {
    width: calc(168 / var(--device-width) * var(--main-width));
    position: relative;
    margin: calc(15 / var(--device-width) * var(--main-width)) 0;
    padding-bottom: calc(30 / var(--device-width) * var(--main-width));
}
#business .block .flow li:nth-of-type(-n+3) {
  left: calc(-20 / var(--device-width) * var(--main-width));
}

#business .block .flow li::after {
    content: "";
    display: block;
    width: calc(28.5 / var(--device-width) * var(--main-width));
    height: calc(29 / var(--device-width) * var(--main-width));
    background: url(../images/icon_arrow03.png) no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 0;
    top: calc(54 / var(--device-width) * var(--main-width));
    transform: translateX(50%);
}
#business .block .flow li:last-of-type::after {
    display: none;
}
#business .block .flow li img {
    display: block;
    width: calc(117 / var(--device-width) * var(--main-width));
    margin: calc(10 / var(--device-width) * var(--main-width)) auto;
}
#business .block .flow li span {
    width: 7em;
    font-size: calc(28 / var(--device-width) * var(--main-width));
    font-weight: bold;
    text-align: center;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}


#business .block .recycleflow {
    margin: calc(120 / var(--device-width) * var(--main-width)) auto calc(60 / var(--device-width) * var(--main-width));
    width: calc(367*1.2 / var(--device-width) * var(--main-width));
}

#business .block .recycleflow li:nth-of-type(2n+1) {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: calc(20*1.2 / var(--device-width) * var(--main-width));
    background: #fff;
    border-radius: calc(9*1.2 / var(--device-width) * var(--main-width));
    color: #006bc6;
}
#business .block .recycleflow li:nth-of-type(2n+1) img {
    display: block;
    width: calc(75*1.2 / var(--device-width) * var(--main-width));
}
#business .block .recycleflow li:nth-of-type(2n+1) span {
    display: block;
    width: calc(190*1.2 / var(--device-width) * var(--main-width));
    font-size: calc(25*1.2 / var(--device-width) * var(--main-width));
    line-height: 1.424;
    font-weight: bold;
    text-align: center;
}
#business .block .recycleflow li:nth-of-type(2n+1) small {
    font-size: calc(22*1.2 / var(--device-width) * var(--main-width));
    font-weight: bold;
}
#business .block .recycleflow li:nth-of-type(2n) {
    padding: calc(25*1.2 / var(--device-width) * var(--main-width)) 0;
    padding-left: calc(80*1.2 / var(--device-width) * var(--main-width));
    font-size: calc(28*1.2 / var(--device-width) * var(--main-width));
    line-height: 1.2;
    font-weight: bold;
    position: relative;
}
#business .block .recycleflow li:nth-of-type(2n)::before {
    content: "";
    display: block;
    width: calc(28.5*1.2 / var(--device-width) * var(--main-width));
    height: calc(29*1.2 / var(--device-width) * var(--main-width));
    background: url(../images/icon_arrow03.png) no-repeat center center;
    background-size: cover;
    position: absolute;
    left: calc(28*1.2 / var(--device-width) * var(--main-width));
    top: calc(29*1.2 / var(--device-width) * var(--main-width));
    transform: rotate(90deg);
}


@media screen and (min-width: 750px) {

    #business .intro {
        padding: 0 calc(100 / var(--device-width) * var(--main-width));
        margin-bottom: calc(60 / var(--device-width) * var(--main-width));
        font-size: calc(16 / var(--device-width) * var(--main-width));
        line-height: 2.1875;
    }

    #business .nav {
        width: calc(1080 / var(--device-width) * var(--main-width));
        margin: 0 auto;
        border-radius: 0;
        background: none;
        padding: 0;
    }

    #business .nav ul {
        display: flex;
        justify-content: center;
                align-items: flex-end;
    }
    #business .nav li {
        margin: 0 calc(5 / var(--device-width) * var(--main-width));
        border-bottom: none;
        width: calc(156 / var(--device-width) * var(--main-width));
    }
    #business .nav li a {
        font-size: calc(20 / var(--device-width) * var(--main-width));
        line-height: 1.3;
        padding: calc(26 / var(--device-width) * var(--main-width)) 0;
        background: #f6f6f6;
        color: #006bc6;
        text-align: center;
        border-top-right-radius: calc(33 / var(--device-width) * var(--main-width));
    }
    #business .nav li:nth-of-type(2) a,
    #business .nav li:last-of-type a {
        padding: calc(31 / var(--device-width) * var(--main-width)) 0;
        font-size: calc(16 / var(--device-width) * var(--main-width));
    }
    #business .nav li a br {
      display: inherit;
    }
    #business .nav li.active a ,
    #business .nav li a:hover {
        color: #fff;
        background: #006bc6;
    }


    #business .job {
        width: calc(1080 / var(--device-width) * var(--main-width));
        margin: 0 auto;
        position: relative;
    }
    #business .block {
        padding: calc(30 / var(--device-width) * var(--main-width)) 0;
        margin-bottom: calc(135 / var(--device-width) * var(--main-width));
        border-top-right-radius: calc(30 / var(--device-width) * var(--main-width));
        border-bottom-right-radius: calc(30 / var(--device-width) * var(--main-width));
    }
    #business .block .text {
        padding: 0 calc(70 / var(--device-width) * var(--main-width));
    }

    #business .block .text h3 {
        font-size: calc(40 / var(--device-width) * var(--main-width));
        margin: calc(40 / var(--device-width) * var(--main-width)) 0;
        letter-spacing: 0.04em;
    }

    #business .block .text p {
        font-size: calc(16 / var(--device-width) * var(--main-width));
        line-height: 2.1875;
        letter-spacing: 0.04em;
    }

    #business .block .text .service {
        padding: calc(5 / var(--device-width) * var(--main-width)) calc(25 / var(--device-width) * var(--main-width));
        padding-left: calc(8 / var(--device-width) * var(--main-width));
        font-size: calc(21 / var(--device-width) * var(--main-width));
        margin-top: calc(140 / var(--device-width) * var(--main-width));
        margin-bottom: calc(60 / var(--device-width) * var(--main-width));
    }
    #business .block .text .service img {
        width: calc(30 / var(--device-width) * var(--main-width));
    }
    #business .block .image {
        padding: calc(50 / var(--device-width) * var(--main-width)) calc(70 / var(--device-width) * var(--main-width));
        display: flex;
        flex-wrap: wrap;
    }
    #business .block .image h4 {
        width: 100%;
        font-size: calc(16 / var(--device-width) * var(--main-width));
        margin-bottom: calc(16 / var(--device-width) * var(--main-width));
    }

    #business .block .image p {
        width: calc(353 / var(--device-width) * var(--main-width));
        margin: calc(10 / var(--device-width) * var(--main-width)) calc(14 / var(--device-width) * var(--main-width));
        margin-left: 0;
    }
    #business #kouji.block .image {
        padding: calc(30 / var(--device-width) * var(--main-width)) calc(70 / var(--device-width) * var(--main-width)) calc(50 / var(--device-width) * var(--main-width));
    }
    #business #kouji.block .image h4 {
        font-size: calc(30 / var(--device-width) * var(--main-width));
        line-height: 1.5;
        margin-bottom: calc(20 / var(--device-width) * var(--main-width));
    }
    #business #kouji.block .image h4 span {
        font-size: calc(16 / var(--device-width) * var(--main-width));
    }

    #business #kouji.block .image p {
        width: calc(253 / var(--device-width) * var(--main-width));
        margin: calc(10 / var(--device-width) * var(--main-width)) calc(10 / var(--device-width) * var(--main-width));
        margin-left: 0;
    }

    #business .block .flow {
        padding: 0 calc(70 / var(--device-width) * var(--main-width));
    }

    #business .block .flow h4 {
        font-size: calc(26 / var(--device-width) * var(--main-width));
        text-align: left;
    }

    #business .block .flow h4 span {
      margin: 0;
      padding: 0;
      padding-bottom: calc(5 / var(--device-width) * var(--main-width));
      display: inline-block;
      letter-spacing: 0.04em;
    }

    #business .block .flow ol {
        width: auto;
        justify-content: flex-start;
        margin: calc(25 / var(--device-width) * var(--main-width)) 0;
    }

    #business .block .flow li {
        width: calc(68 / var(--device-width) * var(--main-width));
        margin: 0;
        margin-right: calc(65 / var(--device-width) * var(--main-width));
        padding-bottom: calc(30 / var(--device-width) * var(--main-width));
    }
    #business .block .flow li:nth-of-type(-n+3) {
      left: 0;
    }

    #business .block .flow li::after {
        width: calc(14.5 / var(--device-width) * var(--main-width));
        height: calc(15.5 / var(--device-width) * var(--main-width));
        right: calc(-40 / var(--device-width) * var(--main-width));
        top: calc(25 / var(--device-width) * var(--main-width));
        transform: translateX(0%);
    }
    #business .block .flow li img {
        width: calc(68 / var(--device-width) * var(--main-width));
        margin: 0;
    }
    #business .block .flow li span {
        font-size: calc(18 / var(--device-width) * var(--main-width));
    }


    #business .block .recycleflow {
        margin: calc(100 / var(--device-width) * var(--main-width)) auto calc(60 / var(--device-width) * var(--main-width));
        width: auto;
        padding: 0 calc(70 / var(--device-width) * var(--main-width));
    }

    #business .block .recycleflow ol {
      display: flex;
    }

    #business .block .recycleflow li:nth-of-type(2n+1) {
        width: calc(162 / var(--device-width) * var(--main-width));
        box-sizing: border-box;
        flex-direction: column;
        padding: calc(15 / var(--device-width) * var(--main-width));
        border-radius: calc(9 / var(--device-width) * var(--main-width));
    }
    #business .block .recycleflow li:nth-of-type(2n+1) img {
        width: calc(70 / var(--device-width) * var(--main-width));
    }
    #business .block .recycleflow li:nth-of-type(2n+1) span {
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: calc(125 / var(--device-width) * var(--main-width));
        font-size: calc(17 / var(--device-width) * var(--main-width));
        line-height: 1.764;
    }
    #business .block .recycleflow li:nth-of-type(5) span {
        line-height: 1.1;
    }
    #business .block .recycleflow li:nth-of-type(2n+1) small {
        font-size: calc(14 / var(--device-width) * var(--main-width));
        line-height: 1.764;
    }
    #business .block .recycleflow li:nth-of-type(2n) {
        width: calc(82 / var(--device-width) * var(--main-width));
        padding: calc(85 / var(--device-width) * var(--main-width)) 0 calc(20 / var(--device-width) * var(--main-width));
        font-size: calc(21 / var(--device-width) * var(--main-width));
        writing-mode:vertical-rl;
        display: flex;
        align-items: center;
    }
    #business .block .recycleflow li:nth-of-type(2n)::before {
        width: calc(14.5 / var(--device-width) * var(--main-width));
        height: calc(15.5 / var(--device-width) * var(--main-width));
        left: 50%;
        top: calc(45 / var(--device-width) * var(--main-width));
        transform: rotate(0deg) translateX(-50%);
    }

}

