@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));
    }

}

/* =========================== */
/*  philosophy  */
/* =========================== */
#philosophy {
    position: relative;
    padding: calc(37 / var(--device-width) * var(--main-width)) calc(110 / var(--device-width) * var(--main-width)) calc(55 / var(--device-width) * var(--main-width));
    box-sizing: border-box;
    margin-bottom: calc(113 / var(--device-width) * var(--main-width));
}

#philosophy::after {
    position: absolute;
    top: calc(5 / var(--device-width) * var(--main-width));
    left: 0;
    content: "";
    background-color: #EDF7FC;
    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: calc(590 / var(--device-width) * var(--main-width));
    height: 100%;
    z-index: -1;
}
#philosophy .block {
    padding: calc(45 / var(--device-width) * var(--main-width)) 0;
    margin-bottom: calc(60 / var(--device-width) * var(--main-width));
    position: relative;
}
#philosophy .block:last-child {
    margin-bottom: 0;
}

#philosophy .block::after {
    position: absolute;
    left: 50%;
    top: 100%;
    content: "";
    background-color: #0090d0;
    width: calc(1 / var(--device-width) * var(--main-width));
    height: calc(60 / var(--device-width) * var(--main-width));
}
#philosophy .block:last-child::after {
  display: none;
}

#philosophy h3 {
    font-size: calc(50 / var(--device-width) * var(--main-width));
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 1.6;
    margin-bottom: calc(20 / var(--device-width) * var(--main-width));
    text-align: center;
}

#philosophy h3 span {
    display: block;
    color: #f04e6e;
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(18 / var(--device-width) * var(--main-width));
    font-weight: 500;
    letter-spacing: 0;
}

#philosophy .text {
    font-size: calc(28 / var(--device-width) * var(--main-width));
    font-weight: 400;
    line-height: 1.57;
}

#philosophy .text li {
  padding-left: 1.5em;
  position: relative;
}

#philosophy .text li span {
  position: absolute;
  left: 0%;
  color: #0090d0;
  font-weight: bold;
}

@media screen and (min-width: 750px) {
    #philosophy {
      position: relative;
      padding: calc(45 / var(--device-width) * var(--main-width)) calc(220 / var(--device-width) * var(--main-width));
      margin-bottom: calc(95 / var(--device-width) * var(--main-width));
    }

    #philosophy::after {
        top: calc(16 / var(--device-width) * var(--main-width));
        width: calc(600 / var(--device-width) * var(--main-width));
        height: calc(100% - (16 / 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));
    }

        
    #philosophy .block {
        padding: calc(35 / var(--device-width) * var(--main-width)) 0;
        margin-bottom: calc(80 / var(--device-width) * var(--main-width));
        display: flex;
        justify-content: flex-start;
    }

    #philosophy .block::after {
        left: calc(115 / var(--device-width) * var(--main-width));
        height: calc(80 / var(--device-width) * var(--main-width));
    }

    #philosophy h3 {
        width: calc(230 / var(--device-width) * var(--main-width));
        font-size: calc(40 / var(--device-width) * var(--main-width));
        margin-bottom: calc(20 / var(--device-width) * var(--main-width));
        text-align: center;
    }

    #philosophy h3 span {
        font-size: calc(14 / var(--device-width) * var(--main-width));
    }

    #philosophy .text {
        padding: calc(10 / var(--device-width) * var(--main-width)) calc(33 / var(--device-width) * var(--main-width));
        padding-bottom: 0;
        width: calc(590 / var(--device-width) * var(--main-width));
        font-size: calc(16 / var(--device-width) * var(--main-width));
        line-height: 1.875;
        letter-spacing: 0.05em;
        box-sizing: border-box;
    }

}

