@charset "UTF-8";

/*------------------------------------------------------------
  mainView
------------------------------------------------------------*/
#front #mainView{
    background: url(../img/index/graphic.png) #f9f9f9 no-repeat;
    background-size: cover;
}
#front #mainView h2{
    text-align: center;
    font-size: 4rem;
    font-weight: 700;
    padding-top: 26vw;
    line-height: 100%;
}
#front #mainView h2 .pr{
    color:#e60039;
    font-size:130%;
}
#front #mainView p{
    text-align: center;
    font-size: 2.6rem;
    font-weight: 800;
    padding-bottom: 32vw;
    line-height: 100%;
    color:#e60039;
    margin-bottom: 0;
}
#front #mainView p .pr{
    color: #424242;
}

/*------------------------------------------------------------
  intro
------------------------------------------------------------*/
#front #intro{
    background: #f9f9f9;
    padding-bottom: 9vw;
}
#front #intro p.txt{
    text-align: center;
    line-height: 330%;
    margin: 0;
}
#front #intro p.ms{
    text-align: center;
    font-size: 2rem;
}
#front #intro p.ms .pr{
    color:#e60039;
}
#front #intro span.deco{
    font-size: 120%;
    color: #e60039;
    font-weight: 800;
    text-align: center;
    display: block;
    transform: rotate(90deg);
    margin: 5rem 0;
}

/*------------------------------------------------------------
  vision
------------------------------------------------------------*/
#front #vision{
    position:relative;
    margin-bottom: 25vw;
}
#front #vision:after{
    content: "";
    background: url(../img/common/line.png) no-repeat;
    background-size: cover;
    position: absolute;
    bottom: -15rem;
    width: 100%;
    height: 240px;
    transform: rotate(180deg);
    z-index:0;
}
#front .visionWrap{
    position:relative;
    padding: 24vw 0 0 0;
}
#front .visionWrap .boxWrap{
    padding: 3rem 0;
    position: relative;
}
#front .visionWrap .boxWrap .contentWrapper{
    position:relative;
    z-index:4;
    padding: 2rem;
}
#front .visionWrap h2{
    font-size: 3rem;
    font-style: italic;
    margin-bottom: 1rem;
    padding-top: 2rem;
    line-height: 110%;
}
#front .visionWrap h2 .pr{
    color:#e60039;
}
#front .visionWrap h2 img{
    max-width: 300px;
    margin-bottom: 1rem;
}
#front .visionWrap .flex{
    width: 80%;
    gap: 10%;
    align-items: anchor-center;
}
#front .visionWrap .txtWrap{
    flex: 3;
}
#front .visionWrap .imgWrap{
    flex: 1;
}
#front .vision1{
    background:url(../img/index/vision1.jpg) no-repeat #f0f0f0;
    background-size:100%;
    background-position:top;
}
#front .vision1 .boxWrap::before{
    content: "";
    background: #FFF;
    width: 80%;
    height: 780px;
    position: absolute;
    z-index: 3;
}
#front .vision1 .boxWrap::after{
    content: "";
    background: #e60039;
    width: 82%;
    height: 790px;
    position: absolute;
    z-index: 2;
    top: 9%;
}
#front .vision2{
    background:url(../img/index/vision2.jpg) no-repeat #f0f0f0;
    background-size:100%;
    background-position:top;
    margin-top: -7rem;
    padding-bottom: 4rem;
}
#front .vision2 .boxWrap::before{
    content: "";
    background: #FFF;
    width: 90%;
    height:590px;
    position: absolute;
    z-index: 2;
    right: 0;
}
#front .vision2 .boxWrap::after{
    content: "";
    background: #e60039;
    width: 92%;
    height: 600px;
    position: absolute;
    z-index: 1;
    top: 9%;
    right: 0;
}

/*------------------------------------------------------------
  mission
------------------------------------------------------------*/
#front #mission{

}
#front #mission ul{

}
#front #mission li:nth-of-type(even){
    flex-direction: row-reverse;
}
#front #mission .flex{
    gap: 10%;
    padding: 2rem 0;
    align-items: center;
}
#front #mission .txtWrap{
    flex:4;
}
#front #mission .imgWrap{
    flex:1;
}

/*------------------------------------------------------------
  promise
------------------------------------------------------------*/
#front #promise{
    background: #f0f0f0;
    padding: 1rem 1rem 10rem 1rem;
    position:relative;
    margin-top:29vw;
}
#front #promise::before{
    content: "";
    background: url(../img/common/bottomDeco.png) no-repeat;
    background-size: 100%;
    width: 100%;
    height: 30vw;
    position: absolute;
    top: -21vw;
    left: 0;
}
#front #promise .pcBr{
    display:block;
}
#front #promise ul{
    justify-content: center;
    gap: 1%;
}
#front #promise ul li{
    position: relative;
    background: #FFF;
    border: 4px solid #e60039;
    border-radius: 100%;
    padding: 1rem 2rem 3rem 2rem;
}
#front #promise ul li::before{
    content: "約束";
    background: #e60039;
    width: 120px;
    height: 33px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -10px;
    color: #FFF;
    font-size: 1.5rem;
    border-radius: 4px;
    line-height: 80%;
    padding: 5px;
    text-align: center;
}
#front #promise ul li p{
    margin:0;
    font-size: 0.9rem;
    line-height: 160%;
    text-align: center;
}
#front #promise ul li i{
    display: block;
    color: #e6003b;
    font-size: 6rem;
    text-align: center;
    line-height: 120%;
    font-style: normal;
}

/*------------------------------------------------------------
  value
------------------------------------------------------------*/
#front #value{

}
#front #value .contentWrapper{
    background: #FFF;
    padding: 2rem;
    margin-top: -5rem;
    position: relative;
    z-index: 1;
}
#front #value h2{
    max-width: 200px;
    margin: 5rem auto 7rem auto;
}
#front #value h2:after{
    display:none;
}
#front #value ul{

}
#front #value ul li{
    position:relative;
    margin: 0 0 5rem 0;
}
#front #value ul h3{
    text-align: center;
    border: none;
}
#front #value ul p{
    margin: 1rem auto;
    width: 60%;
}
#front #value ul li::before{
    content: "・・・";
    position: absolute;
    font-size: 160%;
    color: #e60039;
    font-weight: 800;
    text-align: center;
    display: block;
    transform: rotate(90deg);
    left: 0;
    right: 0;
    margin: auto;
    bottom: -54px;
}
#front #value ul li:last-child:before{
    display:none;
}
#front #value ul li::after{
    width: 200px;
    height: 200px;
    position: absolute;
    top:-30px;
    z-index: 0;
}
#front #value ul li:nth-of-type(odd)::after{
    right: 0; 
}
#front #value ul li:nth-of-type(even)::after{
    left: 0;
}
#front #value ul li:nth-of-type(1)::after{
    content: "";
    background: url(../img/index/vl1.png) no-repeat;
    background-size: cover;
}
#front #value ul li:nth-of-type(2)::after{
    content: "";
    background: url(../img/index/vl2.png) no-repeat;
    background-size: cover;
}
#front #value ul li:nth-of-type(3)::after{
    content: "";
    background: url(../img/index/vl3.png) no-repeat;
    background-size: cover;
}
#front #value ul li:nth-of-type(4)::after{
    content: "";
    background: url(../img/index/vl4.png) no-repeat;
    background-size: cover;
}
#front #value ul li:nth-of-type(5)::after{
    content: "";
    background: url(../img/index/vl5.png) no-repeat;
    background-size: cover;
}
#front #value ul li:nth-of-type(6)::after{
    content: "";
    background: url(../img/index/vl6.png) no-repeat;
    background-size: cover;
}

@media (min-width: 1480px) {
    #front #mainView h2{
        padding-top: 22vw;
    }
    #front #mainView p{
        padding-bottom: 39vw;
    }
    #front #vision{
        margin-bottom: 15vw;
    }
    #front .vision1 .boxWrap::before{
        height: 790px;
    }
    #front .vision1 .boxWrap::after{
        height: 800px;
    }
    #front .vision2 .boxWrap::before{
        height: 650px;
    }
    #front .vision2 .boxWrap::after{
        height: 680px;
    }


}
@media (max-width: 1099px) {
    #front .underlayerWrapper.double{
        padding: 10px;
    }
    #front #mainView h2{
        font-size: 3rem;
    }
    #front #intro .contentWrapper{
        padding:1rem;
    }
    #front .vision1 .boxWrap::before,
    #front .vision1 .boxWrap::after,
    #front .vision2 .boxWrap::before,
    #front .vision2 .boxWrap::after{
        width:100%;
    }
}

@media (max-width: 999px) {

    #front #vision{
        margin-bottom: -10vw;
    }
    #front .visionWrap .flex{
        width: 100%;
    }
    #front #value ul p{
        width: 80%;
    }
    #front #value ul li::after{
        top: -120px;
    }
}

@media (max-width: 900px) {

    #front #mainView{
        background: url(../img/index/graphic_sp.png) #f9f9f9 no-repeat;
        background-size: cover;
    }
    #front #mainView h2{
        padding-top: 37vw;
        font-size: calc(50 / 900* 100vw);
    }
    #front #mainView p{
        padding-bottom: 50vw;
        font-size: calc(35 / 900* 100vw);
    }
    #front #intro p.ms{
        font-size: calc(40 / 900* 100vw);
    }
    #front .visionWrap h2 img{
        max-width: 220px;
    }
    #front .visionWrap h2{
        font-size: calc(45 / 900* 100vw);
        margin-bottom: 2rem;
    }
    #front .visionWrap .flex{
        display:block;
        position: relative;
    }
    #front .visionWrap .imgWrap{
        width: 150px;
        position: absolute;
        top: -250px;
        right: 10%;
    }
    #front .visionWrap .boxWrap .contentWrapper{
        background:#FFF;
    }
    #front .vision1 .boxWrap::before,
    #front .vision1 .boxWrap::after,
    #front .vision2 .boxWrap::before,
    #front .vision2 .boxWrap::after{
        display:none;
    }
    #front .visionWrap .boxWrap .contentWrapper:after{
        content: "";
        background: #e60039;
        width: 100%;
        height: 20px;
        position: absolute;
        z-index: 2;
        bottom: -20px;
        left: 0;
    }
    #front #promise ul li{
        padding: 1rem 2rem 2rem 2rem;
    }
    #front #promise ul li p{
        font-size: 0.8rem;
    }

}

@media (max-width: 800px) {

    #front #value ul p{
        width:100%;
    }
    #front #promise ul{
        display:block;
    }
    #front #promise ul li p.txt{
        font-size: calc(21 / 740* 100vw);  
        text-align: left;
        padding-top: 1rem;
    }
    #front #promise ul li{
        border-radius: 30px;
        margin-bottom: 1rem;
        display: flex;
        align-items: center;
        gap: 4%;
    }
    #front #promise .pcBr{
        display:none;
    }
    #front #promise .break{
        display:block;
    }
}

@media (max-width: 550px) {
    #front .spBreak{
        display:block;
    }
    #front #mission .flex{
        display: block;
    }
    #front #mission .imgWrap{
        width: 30%;
        margin: 1rem auto;
    }
    #front #intro p.ms{
        font-size: calc(22 / 550* 100vw);
    }
    #front .visionWrap .imgWrap{
        width: 110px;
        position: absolute;
        top: -250px;
        right: 4%;
    }
    #front .vision2{
        margin-top: -3rem;
        padding-bottom: 0rem;
    }
    #front #mission.wpContent h2{
        margin-bottom: 4rem;
    }
    #front #mission.wpContent h2.first{
        margin: 4rem 0 0 0;
    }
    #front #promise ul li{
        gap: 2%;
    }
    #front #value ul li::after{
        width: 100px;
        height: 100px;
    }
    #front #value ul li::after{
        top: -70px;
    }
    #front #value ul h3{
        font-size: 170%;
    }
}

@media (max-width: 480px) {
    #front .underlayerWrapper.double{
        padding: 10px;
    }


}