@charset "UTF-8";

/*----------------------------------------------------
    ☆PC
----------------------------------------------------*/

/*--------------------------------------------------------------------------- top-message */

#top-message #container {
    overflow: visible;/* position: sticky;を効かすため */
}

.top-messageInner {
    display: flex;
    justify-content: space-around;
    position: relative;
    padding-bottom: 150px;
}

.top-messageInner .imgBox {
    width: 51%;
    max-height: 910px;
    position: sticky;
    top: 150px;
    /*margin-bottom: min(14.6vw, 270px);*/
}

.top-messageInner .imgBox .imgBoxInner {
    position: relative;
}

.top-messageInner .textBox {
    width: 30.5%;
    margin-top: 95px;
    /*padding: 0 calc((100% - 1000px) / 2) 90px 100px;*/
}

.top-messageInner .textBox li:nth-child(n+2) {
    margin-top: 140px;
}

.top-messageInner .textBox .text {
}

.top-messageInner .deco01,
.top-messageInner .deco02 {
    width: 32%;
    mix-blend-mode: multiply;
}

.top-messageInner .deco01 {
    top: -15%;
    left: 80%;
}

.top-messageInner .deco02 {
    top: auto;
    bottom: -14%;
    left: 2%;
}

.top-messageInner .tp_chara {
    width: 55%;
}

.top-messageInner .chara_01 {
    top: auto;
    bottom: -24%;
    left: 71%;
}

.top-messageInner .chara_02 {
    top: auto;
    bottom: -25%;
    left: -26%;
}

.top-messageInner .chara_03 {
    top: auto;
    bottom: -30%;
    left: -2%;
}

/*--------------------------------------------------------------------------- company */

#company .profile {
    position: relative;
}

#company .chara_01 {
    width: 47%;
    top: auto;
    bottom: -18%;
    left: min(75%, 49vw);
    opacity: 0;
}

#company .access .mapImgBox {
    width: 90%;
    margin: 0 auto 30px;
}

#company .access .mapImgBox .inner {
    padding-top: min(56%, 510px);
}

#company .profile .table01 dd .btnBox02 {
    /*margin-top: 20px;*/
}

/*--------------------------------------------------------------------------- office-tour */

#office-tour .head01 + .text {
    margin-bottom: 50px;
}

#office-tour .chara {
    width: 31.6%;
}

#office-tour .chara_01 {
    top: -15%;
    left: auto;
    right: -9%;
}

#office-tour .chara_02 {
    top: -10%;
    left: -7%;
}

#office-tour .chara_03 {
    top: -12%;
    left: auto;
    right: -8%;
}

#office-tour .chara_04 {
    top: -2%;
    left: -14%;
}

/* 右 */
/*#office-tour .chara_05 {
    top: -18%;
    left: auto;
    right: -3%;
}*/

/* 左 */
#office-tour .chara_05 {
    top: -8%;
    left: -3%;
}

/*--------------------------------------------------------------------------- about */

#about .entryBox {
    z-index: 10;
}

#about .chara {
    max-width: 415px;
}

#about .chara_01 {
    width: 41.5%;
    top: auto;
    bottom: -120%;
    left: auto;
    right: -10%;
}

#about .chara_02 {
    width: 36%;
    top: -36%;
    left: -20%;
}

#about .chara_03 {
    width: 36%;
    top: auto;
    bottom: -33%;
    left: auto;
    right: -21%;
    z-index: 1;
}

#about .tour .chara_04 {
    width: 36%;
    top: -100%;
    left: auto;
    right: -17%;
}

#about .step1 {
    position: relative;
    z-index: -1;
}

#about .head03 {
    line-height: 1.3;
}

#about .aboutInner .stepIcon {
    width: 100px;
    margin: 0 auto 50px;
}

#about .aboutInner .aboutInnerBox {
    margin-top: 50px;
}

#about .aboutInner .aboutInnerBox > li {
    padding: 70px;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

#about .aboutInner .aboutInnerBox > li:nth-child(n+2) {
    margin-top: 50px;
}

#about .aboutInner .aboutInnerBox > li .inner {
    display: flex;
    justify-content: space-between;
}

#about .aboutInner .aboutInnerBox > li:nth-child(odd) .inner {
    flex-direction: row-reverse;
}

#about .aboutInner .aboutInnerBox > li .inner .imgBox {
    width: 40.5%;
}

#about .aboutInner .aboutInnerBox > li .inner .textBox {
    width: 54.5%;
}

#about .workInner {
    max-width: 1180px;
    margin: 100px auto;
    width: 90%;
}

#about .workInner .longBox {
    padding: 70px;
    margin-bottom: 60px;
    border: 1px solid;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#about .workInner .longBox .imgBox {
    width: 28.5%;
    margin-right: 70px;
}

#about .workInner .longBox .textBox {
    width: 41.5%;
    padding-left: 70px;
    position: relative;
}

#about .workInner .longBox .textBox:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background-color: #000;
}

#about .workInner .shortBox {
    display: flex;
    gap: 20px;
}

#about .workInner .shortBox .shortInner {
    width: calc((100% - 40px) / 3);
    border: 1px solid;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 50px 40px;
    position: relative;
}

#about .workInner .shortBox .shortInner .arrowDown {
    width: 12.2%;
    top: -26%;
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(90deg);
}

#about .workInner .shortBox .shortInner .title {
    display: inline-block;
    text-align: center;
    position: absolute;
    top: -15px;
    left: 0;
    right: 0;
    margin: auto;
}

#about .workInner .shortBox .shortInner .title span {
    font-size: clamp(1rem, 1.06vw, 1.6rem);
    font-weight: 600;
    color: #fff;
    text-align: center;
    padding: 7px 30px;
    border-radius: 20px;
}

#about .workInner .shortBox .shortInner figure figcaption {
    text-align: center;
    font-weight: 600;
    line-height: 1.5;
    margin-top: 30px;
}

#about .workInner .shortBox .no1 {
    border-color: #00a63c;
}
#about .workInner .shortBox .no1 .title span {
    background-color: #00a63c;
}
#about .workInner .shortBox .no1 figure figcaption {
    color: #00a63c;
}

#about .workInner .shortBox .no2 {
    border-color: #18aefe;
}
#about .workInner .shortBox .no2 .title span {
    background-color: #18aefe;
}
#about .workInner .shortBox .no2 figure figcaption {
    color: #18aefe;
}

#about .workInner .shortBox .no3 {
    border-color: #ff7e19;
}
#about .workInner .shortBox .no3 .title span {
    background-color: #ff7e19;
}
#about .workInner .shortBox .no3 figure figcaption {
    color: #ff7e19;
}

#about .workInnerList > ul > li {
    position: relative;
}

#about .workInnerList > ul > li:nth-child(n+2) {
    margin-top: 10px;
}

#about .workInnerList > ul > li .textBox {
    /*padding: 130px 400px 130px 150px;
    margin-right: 280px;*/
    padding: 10% 30.5% 10% 11.5%;
    margin-right: 21.5%;
}

#about .workInnerList > ul > li > .textBox .mini {
    font-size: 1.2rem;
    padding-left: 40px;
    margin-bottom: 50px;
    position: relative;
}

#about .workInnerList > ul > li > .textBox .mini:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 25px;
    height: 1px;
}

#about .workInnerList > ul > li > .textBox .workName {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .05rem;
    padding: 10px 40px;
    margin-bottom: 40px;
    display: inline-block;
    background-color: #fff;
    border-radius: 22px;
}

#about .workInnerList > ul > li > .textBox .title {
    font-size: 2.8rem;
    color: #fff;
    line-height: 1.5;
    margin-bottom: 40px;
}

#about .workInnerList > ul > li > .textBox .text {
    color: #fff;
}

#about .workInnerList > ul > li.no1 > .textBox {
    background-color: #18aefe;
}
#about .workInnerList > ul > li.no1 > .textBox .workName {
    color: #18aefe;
}
#about .workInnerList > ul > li.no1 > .textBox .mini {
    color: #0058fe;
}
#about .workInnerList > ul > li.no1 > .textBox .mini:before {
    background-color: #0058fe;
}

#about .workInnerList > ul > li.no2 > .textBox {
    background-color: #00a63c;
}
#about .workInnerList > ul > li.no2 > .textBox .workName {
    color: #00a63c;
}
#about .workInnerList > ul > li.no2 > .textBox .mini {
    color: #20fd00;
}
#about .workInnerList > ul > li.no2 > .textBox .mini:before {
    background-color: #20fd00;
}

#about .workInnerList > ul > li.no3 > .textBox {
    background-color: #ff922d;
}
#about .workInnerList > ul > li.no3 > .textBox .workName {
    color: #ff922d;
}
#about .workInnerList > ul > li.no3 > .textBox .mini {
    color: #ff3a00;
}
#about .workInnerList > ul > li.no3 > .textBox .mini:before {
    background-color: #ff3a00;
}

#about .workInnerList > ul > li.no4 > .textBox {
    background-color: #b845fe;
}
#about .workInnerList > ul > li.no4 > .textBox .workName {
    color: #b845fe;
}
#about .workInnerList > ul > li.no4 > .textBox .mini {
    color: #8000ec;
}
#about .workInnerList > ul > li.no4 > .textBox .mini:before {
    background-color: #8000ec;
}

#about .workInnerList > ul > li > .imgBox {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 47.7%;
}

#about .workInnerList .chara {
    width: 61.2%;
    top: auto;
    left: auto;
}

#about .workInnerList .chara_01 {
    bottom: -42%;
    right: -22%;
}

#about .workInnerList .chara_02 {
    bottom: -42%;
    right: -22%;
}

#about .workInnerList .chara_03 {
    bottom: -42%;
    right: -22%;
}

#about .workInnerList .chara_04 {
    bottom: -42%;
    right: -22%;
}

#about .sustainable .btnBox02 {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

#about .tour {
    background: url(../images/about/tour_bg.jpg) no-repeat center/cover;
    padding-top: clamp(100px, 12%, 180px);
    padding-bottom: clamp(200px, 19%, 280px);
}

#about .tour .aboutInner {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

#about .tour .aboutInner .bigTitle {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 60px;
}

#about .tour .aboutInner .bigTitle .en {
    font-size: 7.8rem;
    margin-top: 10px;
    display: block;
}

#about .tour .btnBox02 {
    margin-top: 40px;
}

/*#about .tour .btnBox02 a {
    color: #fff;
}

#about .tour .btnBox02 a .arrow {
    background-color: #fff;
}*/

/* SP時スワイプ画像 */
#about .sustainable .susImgBox {
    width: 90%;
    margin: 50px auto 100px;
}

#about .sustainable .susImgBox .inner {
    padding-top: min(800px, 54.2%);
}





/*----------------------------------------------------
	☆TABLET UNDER 900
----------------------------------------------------*/

@media screen and (max-width:900px) {

    /*--------------------------------------------------------------------------- top-message */

    .top-messageInner {
        display: block;
        padding-bottom: 0;
    }

    .top-messageInner .imgBox {
        width: 100%;
        position: static;
    }

    .top-messageInner .textBox {
        width: 100%;
        margin-top: 50px;
    }

    .top-messageInner .deco01,
    .top-messageInner .deco02 {
        width: 25%;
    }

    .top-messageInner .deco02 {
        left: -13%;
    }

    .top-messageInner .tp_chara {
        width: 44%;
    }

    .top-messageInner .chara_01 {
        left: 68%;
    }

    .top-messageInner .chara_02 {
        bottom: -13%;
        left: -15%;
    }

    .top-messageInner .chara_03 {
        bottom: -20%;
        left: 4%;
    }

    #company .chara_01 {
        width: 44%;
        bottom: -15%;
        left: 65%;
    }

    /*--------------------------------------------------------------------------- office-tour */

    #office-tour .chara {
        display: none;
    }

    #office-tour .chara_01 {
        top: -10%;
    }

    #office-tour .chara_05 {
        top: -2%;
        right: -8%;
    }

    /*--------------------------------------------------------------------------- about */

    #about .chara_01 {
        bottom: -160%;
    }

    #about .chara_02 {
        top: 7%;
        left: -8%;
    }

    #about .chara_03 {
        bottom: -17%;
        right: -10%;
    }

    #about .tour .chara_04 {
        top: -44%;
        right: -10%;
    }

    #about .tour .aboutInner .bigTitle {
        margin-bottom: 30px;
    }

    #about .tour .aboutInner .bigTitle .en {
        font-size: 6rem;
    }

    #about .aboutInner .aboutInnerBox > li .inner {
        display: block;
    }

    #about .aboutInner .aboutInnerBox > li .inner .imgBox {
        width: 100%;
        margin: 0 auto 30px;
    }

    #about .aboutInner .aboutInnerBox > li .inner .textBox {
        width: 100%;
    }

    #about .workInner .longBox {
        padding: 30px;
    }

    #about .workInner .longBox .imgBox {
        margin-right: 30px;
    }

    #about .workInner .longBox .textBox {
        width: 65%;
        padding-left: 30px;
    }

    #about .workInner .shortBox .shortInner {
        padding: 30px 20px;
    }

    #about .workInner .shortBox .shortInner .arrowDown {
        width: 30px;
        top: -30%;
    }

    #about .workInner .shortBox .shortInner .title span {
        font-size: 1.3vw;
        letter-spacing: 0;
        padding: 7px 10px;
    }

    #about .workInnerList > ul > li .textBox {
        padding: 70px;
        margin-right: 0;
    }

    #about .workInnerList > ul > li > .imgBox {
        position: static;
        transform: translateY(0);
        width: 100%;
    }

    #about .workInnerList .chara {
        width: 41%;
    }

    #about .workInnerList .chara_01 {
        bottom: -1%;
        right: -14%;
    }

    #about .workInnerList .chara_02 {
        bottom: -11%;
        right: -14%;
    }

    #about .workInnerList .chara_03 {
        bottom: -12%;
        right: -15%;
    }

    #about .workInnerList .chara_04 {
        bottom: -27%;
        right: -11%;
    }

}





/*----------------------------------------------------
	☆UNDER 600
----------------------------------------------------*/

@media screen and (max-width:600px) {

    /*--------------------------------------------------------------------------- top-message */

    .top-messageInner .textBox li:nth-child(n+2) {
        margin-top: 70px;
    }

    #company .chara_01 {
        bottom: -7%;
    }

    .top-messageInner .chara_02 {
        bottom: -19%;
    }

    .top-messageInner .chara_03 {
        bottom: -23%;
    }

    /*--------------------------------------------------------------------------- company */

    /* SP時スワイプ画像 */
    #company .access .mapImgBox {
        width: auto;
        margin: 25px auto 50px;
    }

    #company .access .mapImgBox .inner {
        width: calc(715px + 40px);
        height: 400px;
    }

    /*--------------------------------------------------------------------------- office-tour */

    #office-tour .chara {
        width: 44%;
    }

    #office-tour .chara_02 {
        display: none;
    }

    #office-tour .chara_03 {
        top: 1%;
        right: -11%;
    }

    #office-tour .chara_05 {
        display: none;
    }

    /*--------------------------------------------------------------------------- about */

    #about .chara {
        width: 144px;
    }

    #about .chara_01 {
        bottom: -150px;
        right: -40px;
    }

    #about .chara_02 {
        top: 80px;
        left: -50px;
    }

    #about .chara_03 {
        bottom: -110px;
    }

    #about .tour .chara_04 {
        width: 144px;
        top: -160px;
        right: -30px;
    }

    #about .aboutInner .stepIcon {
        width: 80px;
        margin: 0 auto 25px;
    }

    #about .aboutInner .aboutInnerBox {
        margin-top: 25px;
    }

    #about .aboutInner .aboutInnerBox > li {
        padding: 30px;
    }

    #about .workInner {
        margin: 50px auto;
    }

    #about .workInnerList > ul > li .textBox {
        padding: 40px 30px 30px;
    }

    #about .workInnerList > ul > li > .textBox .mini {
        margin-bottom: 25px;
    }

    #about .workInnerList > ul > li > .textBox .workName {
        font-size: 1.3rem;
        padding: 10px 20px;
        margin-bottom: 20px;
    }

    #about .workInnerList > ul > li > .textBox .title {
        font-size: 2.4rem;
        letter-spacing: .04rem;
        margin-bottom: 20px;
    }

    #about .sustainable .btnBox02 {
        margin-top: 30px;
    }

    #about .tour {
        padding-bottom: 150px;
    }

    /* SP時スワイプ画像 */
    #about .workInner {
        width: auto;
    }

    #about .workInner .swipeImgbox {
        width: 500px;
        height: 450px;
    }

    #about .workInner .shortBox .shortInner .arrowDown {
        width: 35px;
        top: -33%;
    }

    #about .workInner .longBox {
        margin-bottom: 50px;
    }

    #about .workInner .longBox .textBox {
        font-size: 1.1rem;
    }

    #about .workInner .shortBox .shortInner .title span {
        font-size: min(0.7rem, 2vw);
    }

    #about .workInner .shortBox .shortInner figure figcaption {
        font-size: 1rem;
        letter-spacing: 0;
    }

    /* SP時スワイプ画像 */
    #about .sustainable .susImgBox {
        width: auto;
        margin: 25px auto 50px;
    }

    #about .sustainable .susImgBox .inner {
        width: calc(500px + 40px);
        height: 415px;
    }

}

