@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
.philosophy-box {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: min(5vw, 50px);
}
#philosophy-title {
    font-size: 20px;
    margin-top: min(1vw, 10px);
    font-weight: 800;
    letter-spacing: .05em;
}
#philosophy-box1 p {
    text-align: center;
    max-width: 1000px;
    margin: min(3vw, 30px) auto 0 auto;
    line-height: 1.7;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .02em;
}
#philosophy-box1 p span {
    font-weight: 800;
}
.philosophy-box h3 {
    font-size: 20px;
    margin-top: min(20vw, 200px);
    line-height: 1.6;
    font-weight: 800;
}
#philosophy-box2 h3 {
    margin-top: min(16vw, 160px);
}
.philosophy-policy {
    width: 100%;
    max-width: 1030px;
    margin: min(10vw, 100px) auto 0 auto;
    padding-left: min(5vw, 50px);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.philosophy-policy p {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.5;
}
.philosophy-txt {
    text-align: center;
    margin-top: min(8vw, 80px);
}
.philosophy-txt dt {
    font-size: 45px;
    font-weight: 800;
    letter-spacing: .05em;
}
.philosophy-txt dd {
    margin: min(8vw, 80px) auto 0 auto;
    line-height: 1.7;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: .02em;
}
.philosophy-message {
    width: 100%;
    max-width: 995px;
    margin: min(20vw, 200px) auto 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.philosophy-message dt {
    width: 30%;
}
.philosophy-message dd {
    width: 60%;
    overflow: hidden;
}
.philosophy-message dd p {
   font-size: 14px;
    line-height: 1.9;
    font-weight: 400;
}
.philosophy-message__sign {
    width: min(17vw, 170px);
    margin-top: min(3vw, 30px);
    float: right;
}
#philosophy-box6 p {
    text-align: center;
    margin: min(10vw, 100px) auto 0 auto;
   font-size: 14px;
    line-height: 1.9;
    font-weight: 400;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
@media screen and (max-width: 1080px) {
    .philosophy-txt dt {
    font-size: 40px;
   
}
   .philosophy-policy {
    padding-left: 0;

}
    .philosophy-policy p {
        font-size: 2.1vw;
        font-weight: 800;
        line-height: 1.5;
    }

}
@media screen and (max-width: 900px) {
.philosophy-message dt {
    width: 35%;
}
.philosophy-message dd {
    width: 55%;
    overflow: hidden;
}
}
@media screen and (max-width: 768px) {
    .philosophy {
        padding-left: 0;
        padding-right: 0;
    }
    .philosophy .ttl-wrap {
        padding: 0 2em;
    }
    .philosophy-box {
        padding-bottom: 8vw;
    }
    #philosophy-title {
        font-size: 3.73vw;
        width: 94%;
        margin: 0 auto;
    }
    #philosophy-box1 p {
        margin: 4.8vw auto 0 auto;
        line-height: 1.7;
        font-size: 3.2vw;
    }
    #philosophy-box1 p:first-child{
        margin-top: 10.67vw;
    }
    #philosophy-box1 p span {
        font-size: 4.27vw;
    }
    .philosophy-box h3 {
        font-size: 4vw;
        margin-top: 40vw;
        text-align: center;
    }
    #philosophy-box2 h3 {
        margin-top: 35vw;
    }
    .philosophy-policy {
        width: auto;
        margin: 0 0 0 4vw;
        padding-top: 8vw;
        display: block;
    }
    .philosophy-policy p {
        font-size: 4vw;
        margin-top: 6.4vw;
        line-height: 1.6;
    }
    .philosophy-txt {
        text-align: center;
        margin-top: 14vw;
    }
    .philosophy-txt dt {
        font-size: 6vw;
        letter-spacing: 0;
    }
    .philosophy-txt dd {
        margin:8vw auto 0 auto;
        line-height: 1.8;
        font-size: 3vw;
    }
    .philosophy-message {
        width: 80%;
        margin: 32vw auto 0 auto;
        display: block;
    }
    .philosophy-message dt {
        width: 60.27vw;
        margin: 0 auto;
    }
    .philosophy-message dd {
        width: 100%;
        overflow: hidden;
        margin-top: 12vw;
    }
    .philosophy-message dd p {
        font-size: 3.2vw;
        line-height: 1.85;
    }
    .philosophy-message__sign {
        width: 33.33vw;
        margin-top:6.4vw;
        float: right;
    }
    #philosophy-box6 p {
        margin: 60vw auto 0 auto;
        font-size: 3.2vw;
        line-height: 1.9;
        font-weight: 400;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}
div.inview,
div.inview_tmp {
    position: relative;
}
div.inview>div,
div.inview_tmp>div {
    position: relative;
    opacity: 0;
    transition: top 1s, left 1s, right 1s, opacity 2s;
    transition-timing-function: ease-out;
}
div.inview.from_left>div,
div.inview_tmp.from_left>div {
    left: -50px;
}
div.inview.from_right>div,
div.inview_tmp.from_right>div {
    right: -50px;
}
div.inview.from_bottom>div,
div.inview_tmp.from_bottom>div {
    top: 50px;
}
div.inview_done {
    position: relative;
}
div.inview_done>div {
    position: relative;
    top: 0;
    left: 0;
    opacity: 1;
    transition: top .5s, left .5s, right .5s, opacity 2s;
    transition-timing-function: ease-out;
}
div.inview_done2>div {
    position: relative;
    top: 0;
    right: 0;
    opacity: 1;
    transition: top .5s, left .5s, right .5s, opacity 1s;
    transition-timing-function: ease-out;
}