@charset "utf-8";

/*=====================
commmon
======================*/
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    font-family: "Noto Sans JP",
        Arial,
        sans-serif;
    color: #414141;
    background-color: #FFF;
    line-height: 1.75;
}

img {
    max-width: 100%;
    height: auto;
}

section {
    padding: 8.3vw 0;
}


.section__ttl {
    text-align: center;
    position: relative;
}

.ttl__Japanese {
    font-size: 1.94vw;
    position: absolute;
    top: 7vw;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 2vw;
    border: 2px solid var(--black, #414141);
    background: var(--White, #FFF);
    padding: 0.7vw 0;
    line-height: 0.89;
    white-space: nowrap;
    font-weight: 700;
    width: 50vw;
    letter-spacing: 0.2vw;
}

/* common_sp */
@media screen and (max-width: 769px) {
    section {
        padding: 12.8vw 0;
    }

    .ttl__Japanese {
        position: absolute;
        font-size: 5.3vw;
        top: 15vw;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 8vw;
        border: 1px solid var(--black, #414141);
        background: var(--White, #FFF);
        padding: 2.13vw 0;
        line-height: 1;
        white-space: nowrap;
        font-weight: 700;
        width: 82.7vw;
        letter-spacing: 0.2vw;
    }
}

/*=====================
header
======================*/
.header {
    position: fixed;
    top: 1vw;
    width: 100%;
    padding: 0 1.74vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
}

.header__logo {
    display: flex;
    gap: 0.7vw;
    align-items: center;
}

.header__logoImg {
    width: 5.5vw;
}

.header__topic {
    font-size: 1.67vw;
    font-weight: bold;
    color: #2F8A1B;
    line-height: 1;
}

.header__topic--txt {
    font-size: 1.11vw;
    line-height: 1;
}

/* .nav初期表示 */
.header__btn {
    display: none;
}

.nav__btn {
    display: none;
}

.spnav__ctaR {
    display: none;
}

.spnav__ctaE {
    display: none;
}

.nav__list {
    display: inline-flex;
    padding: 0.55vw 0.55vw 0.55vw 1.4vw;
    justify-content: flex-end;
    align-items: center;
    gap: 1.39vw;
    border-radius: 3.13vw;
    background: var(--White, #FFF);
}

.nav__txt {
    font-size: 1.11vw;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.13vw;
    transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
    display: block;
}

.nav__txt:hover {
    transform: scale(1.05);
}

.pcnav__ctaR {
    display: block;
    padding: 0.55vw 1.39vw;
    justify-content: center;
    align-items: center;
    border-radius: 2.7vw;
    border: 2px solid #EC6F29;
    color: var(--Accent, #EC6F29);
    font-size: 1.11vw;
    font-weight: 700;
    transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
}

.pcnav__ctaR:hover {
    transform: scale(1.1);
    opacity: 0.5;
}

.pcnav__ctaE {
    display: block;
    padding: 0.5vw 1.39vw;
    justify-content: center;
    align-items: center;
    border-radius: 2.7vw;
    background: #EC6F29;
    color: #FFF;
    font-size: 1.11vw;
    font-weight: 700;
    transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
}

.pcnav__ctaE:hover {
    transform: scale(1.1);
    opacity: 0.5;
}


.btnR_sp {
    display: none;
}

.btnE_sp {
    display: none;
}

/* header sp */
@media screen and (max-width: 769px) {
    .header {
        padding: 2vw 3.2vw 0;
    }

    .header__logo {
        gap: 1vw;
    }

    .header__logoImg {
        width: 11vw;
    }

    .header__topic {
        font-size: 4.2vw;
    }

    .header__topic--txt {
        font-size: 3.2vw;
    }

    /* nav */
    .pcnav__ctaE {
        display: none;
    }

    .pcnav__ctaR {
        display: none;
    }

    .header__btn {
        display: block;
        width: 10vw;
    }

    .nav {
        background: rgba(169, 198, 106, 0.95);
        width: 67vw;
        height: 100vh;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 100;
        padding: 10vw 3.73vw;
        transform: translateX(100%);
        transition: transform 0.4s;
        border-radius: 0;
        display: block;
    }

    .nav.active {
        transform: translateX(0);
    }

    .nav__item {
        margin: 0 auto 2.2vw;
    }

    .nav__item:first-of-type {
        display: none;
    }

    .nav__list {
        width: 34.2vw;
        margin: 0 auto;
        display: block;
        background: none;
    }

    .nav__txt {
        color: #FFF;
        font-size: 5.3vw;
        font-weight: 700;
        letter-spacing: 0.42vw;
        line-height: 1.75;
        white-space: nowrap;
    }

    .spnav__ctaR {
        display: block;
        margin-top: 2.2vw;
    }

    .spnav__ctaE {
        display: block;
        margin-top: 5.3vw;
    }

    .nav__btn {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        width: 16.8vw;
    }

    .btnR_sp {
        display: block;
        position: fixed;
        bottom: 0px;
        left: 0px;
        width: 50vw;
    }

    .btnE_sp {
        display: block;
        position: fixed;
        bottom: 0px;
        right: 0px;
        width: 50vw;
    }
}

/* 769px */
/*=====================
main
======================*/
/* FV */
.fv__pcImg {
    position: relative;
}

.fv__spImg {
    display: none;
}

.pcFV__cta {
    position: absolute;
    top: 51vw;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    gap: 30px;
}

.pcFV__ctaR--img {
    width: 32.4vw;
    display: block;
    transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
}

.pcFV__ctaR--img:hover {
    transform: scale(1.1);
}

.pcFV__ctaE--img {
    width: 32.4vw;
    display: block;
    transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
}

.pcFV__ctaE--img:hover {
    transform: scale(1.1);
}

/* FV_sp */
@media screen and (max-width: 769px) {
    .fv__pcImg {
        display: none;
    }

    .fv__spImg {
        display: block;
        width: 100vw;
    }

    .pcFV__cta {
        display: none;
    }
}

/* 769px */
/* introduction */
.section__introduction {
    background: linear-gradient(180deg, #FFF 65.38%, #AEE5FF 100%);
    position: relative;
}

.introduction__txt {
    text-align: center;
    color: var(--text-b, #2345A6);
    font-size: 1.39vw;
    font-weight: 700;
    letter-spacing: 0.27vw;
}

.pcIntroduction__fc {
    font-size: 1.67vw;
    letter-spacing: 0.33vw;
}

.introduction__list {
    margin: 1.67vw 0;
}

.introduction__bg1 {
    position: absolute;
    width: 10vw;
    top: 7vw;
    left: 25vw;
}

.introduction__bg2 {
    position: absolute;
    width: 8vw;
    top: 7vw;
    right: 25vw;
}

.introduction__bg3 {
    position: absolute;
    width: 8vw;
    bottom: 7vw;
    left: 23vw;
}

.introduction__bg4 {
    position: absolute;
    width: 9.5vw;
    bottom: 7vw;
    right: 23vw;
}

/* introduction_sp */
@media screen and (max-width: 769px) {
    .section__introduction {
        padding: 35vw 0;
    }

    .introduction__txt {
        font-size: 4.27vw;
        width: 87.5vw;
        margin: 0 auto;
    }

    .pcIntroduction__fc {
        font-size: 4.27vw;
    }

    .introduction__list {
        width: 87.5vw;
        margin: 3.2vw auto 3.2vw;
    }

    .introduction__bg1 {
        width: 20vw;
        top: 6vw;
    }

    .introduction__bg2 {
        width: 16vw;
        top: 6vw;
    }

    .introduction__bg3 {
        width: 18vw;
        bottom: 0vw;
    }

    .introduction__bg4 {
        width: 21vw;
        bottom: 0vw;
    }
}

/* number */
.section__number {
    background: var(--base, #AEE5FF);
    position: relative;
}

.number__ttl {
    font-size: 6.67vw;
    -webkit-text-stroke: 3px var(--text-b, #2345A6);
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.7vw;
    color: transparent;
    font-family: "Lato", sans-serif;
    font-weight: 900;
}

.number__subTtl {
    margin-top: 5vw;
    text-align: center;
    color: var(--Main-g, #00B60F);
    font-size: 2.22vw;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.33vw;
}

.number__fc {
    color: var(--Main-g, #00B60F);
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: var(--White, #FFF);
    font-family: "Zen Maru Gothic";
    font-size: 3.5vw;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0.53vw;
}

.number__pcList {
    display: flex;
    width: 50vw;
    justify-content: space-between;
    margin: 1.39vw auto 0;
}

.number__spList {
    display: none;
}

.spNumber__item {
    display: none;
}

.pcNumber__item {
    width: 15vw;
}

.number__bg {
    position: absolute;
    bottom: 0;
}

.number__bg1 {
    position: absolute;
    width: 9vw;
    top: 28vw;
    left: 20vw;
}

.number__bg2 {
    position: absolute;
    width: 9vw;
    top: 42vw;
    right: 20vw;
}

.number__bg3 {
    position: absolute;
    width: 9vw;
    bottom: 15vw;
    left: 20vw;
}

/* sp_number */
@media screen and (max-width: 769px) {
    .number__ttl {
        font-size: 12.8vw;
        letter-spacing: 1.5vw;
        -webkit-text-stroke: 1px var(--text-b, #2345A6);
    }

    .number__subTtl {
        font-size: 6.4vw;
        letter-spacing: 0.77vw;
        margin-top: 12vw;
    }

    .number__subTtl:last-of-type {
        margin-top: 8.5vw;
    }

    .number__fc {
        font-size: 8.5vw;
        letter-spacing: 1vw;
        -webkit-text-stroke-width: 1.5px;
    }

    .number__pcList {
        display: none;
    }

    .number__spList {
        display: grid;
        grid-template-columns: auto 1fr auto;
        width: 100%;
        padding: 0 4.27vw;
        align-items: center;
    }

    .pcNumber__item {
        display: none;
    }

    .spNumber__item {
        display: block;
        width: 41.3vw;
        margin-top: 8.5vw;
        text-align: center;
    }

    .spNumber__item:nth-of-type(2n-1) {
        grid-column: 1;
    }

    .spNumber__item:nth-of-type(2n) {
        grid-column: 3;
    }

    .number__bg1 {
        width: 30vw;
        top: 120vw;
        right: 10vw;
        transform: scaleX(-1);
        left: auto;
    }

    .number__bg2 {
        width: 25vw;
        bottom: 108vw;
        left: 50%;
        right: auto;
        top: auto;
        transform: translate(-50%, -50%);
    }

    .number__bg3 {
        width: 20vw;
        bottom: 50vw;
        left: 0.5vw;
    }
}

/* 769px */

/* works */
.section__works {
    background: var(--green-bg, #D8FFD3);
    padding-bottom: 0;
    position: relative;
}

.works__ttl {
    font-size: 6.67vw;
    -webkit-text-stroke: 3px var(--text-b, #2F8A1B);
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.7vw;
    color: transparent;
    font-family: "Lato", sans-serif;
    font-weight: 900;
}

.works__subTtl {
    text-align: center;
    margin-top: 4vw;
    ;
    font-size: 1.67vw;
    font-weight: 700;
    line-height: 1.5;
}

.works__txt {
    margin: 1.67vw auto;
    width: 75vw;
    align-self: stretch;
    font-size: 1.39vw;
    font-weight: 700;
}

.works__list {
    width: 75vw;
    display: flex;
    justify-content: space-between;
    margin: 1.67vw auto 0;
}

.works__item {
    width: 24vw;
}

[class^="works__imgBefore"] {
    transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
}

[class^="works__imgBefore"]:hover {
    transform: scale(1.05);
}

[class^="works__imgAfter"] {
    display: none;
    transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
}

[class^="works__imgAfter"]:hover {
    transform: scale(1.05);
}

.works__itemTxt {
    background-color: #FFF;
    width: 24vw;
    padding: 1.11vw;
    height: 17.4vw;
}

.works__itemTxt--ttl {
    text-align: center;
    font-size: 1.39vw;
    font-weight: 700;
    letter-spacing: 0.2vw;
    padding: 0;
    width: auto;
    height: auto;
}

.works__itemTxt--txt {
    font-size: 1.11vw;
    font-weight: 500;
    letter-spacing: 0.1vw;
    margin-top: 0.4vw;
}

.woks__bg1Pc {
    width: 15vw;
    position: absolute;
    top: 6vw;
    left: 8vw;
}

.woks__bg2Pc {
    width: 17vw;
    position: absolute;
    top: 5vw;
    right: 4.5vw;
}

.woks__bg3Pc {
    width: 8vw;
    position: absolute;
    top: 35vw;
    right: 4.5vw;
    z-index: 10;
}

.woks__bg1Sp {
    display: none;
}

.woks__bg2Sp {
    display: none;
}

.woks__bg3Sp {
    display: none;
}

/* sp_works */
@media screen and (max-width: 769px) {
    .works__ttl {
        font-size: 12.8vw;
        letter-spacing: 1.5vw;
        -webkit-text-stroke-width: 1px;
    }

    .works__subTtl {
        margin-top: 12vw;
        font-size: 5.3vw;
        line-height: 1.5;
        letter-spacing: 0.2vw;
    }

    .works__txt {
        width: 91vw;
        font-size: 4.2vw;
        letter-spacing: 0.34vw;
        margin-top: 5.3vw;
        font-weight: 500;
    }

    .works__list {
        display: block;
        width: 100%;
        padding: 0 4.2vw;
    }

    .works__item {
        width: auto;
        margin: 8.5vw auto 0;
    }

    .works__itemTxt {
        width: auto;
        padding: 4.2vw;
        height: auto;
    }

    .works__itemTxt--ttl {
        text-align: center;
        font-size: 5.3vw;
        line-height: 1.5;
        letter-spacing: 0.2vw;
        padding: 0;
    }

    .works__itemTxt--txt {
        margin-top: 2.1vw;
        font-size: 4.2vw;
        font-weight: 500;
        letter-spacing: 0.34vw;
    }

    .woks__bg1Pc {
        display: none;
    }

    .woks__bg2Pc {
        display: none;
    }

    .woks__bg3Pc {
        display: none;
    }

    .woks__bg1Sp {
        display: block;
        width: 40vw;
        position: absolute;
        bottom: 200vw;
    }

    .woks__bg2Sp {
        display: block;
        width: 33vw;
        position: absolute;
        bottom: 55vw;
        right: 0vw;
    }

    .woks__bg3Sp {
        display: block;
        width: 23vw;
        position: absolute;
        top: 149vw;
        right: 1vw;
    }
}

/* 769px */

/* worksMap */
.section__workMap {
    background: var(--green-bg, #D8FFD3);
    padding-bottom: 0;
    width: 100vw;
    overflow-x: hidden;
}

.workMap__ttl {
    display: block;
    width: 35vw;
    margin: 0 auto;
}

/* sp_worksMap */
@media screen and (max-width: 769px) {
    .workMap__img {
        max-width: 200%;
    }

    .workMap__ttl {
        width: 76.5vw;
        margin-bottom: 3vw;
    }
}

/* 769px */

/* スライドショー */
.slider {
    width: 100%;
    overflow: hidden;
    margin: auto;
    position: relative;
}

.slide-track {
    display: flex;
    width: calc(50vw * 4);
    /* 画像数 × 画像幅 */
    animation: scroll 30s linear infinite;
}

.slide {
    width: 50vw;
    flex-shrink: 0;
}

.slide img {
    width: 100%;
    display: block;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-200vw);
        /* 300px × 4枚分（半分） */
    }
}

.workMap__bg1 {
    position: absolute;
    top: -13px;
    z-index: 100;
}

.workMap__bg2 {
    position: absolute;
    bottom: -3px;
    z-index: 100;
}

/* interview */
.section__interview {
    background: #AEE5FF;
    position: relative;
    overflow-x: hidden;
}

.interview__ttl {
    font-size: 6.67vw;
    -webkit-text-stroke: 3px var(--text-b, #2345A6);
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.7vw;
    color: transparent;
    font-family: "Lato", sans-serif;
    font-weight: 900;
}

.interview__list {
    width: 75vw;
    display: flex;
    justify-content: space-between;
    margin: 5vw auto;
}

.interview__item {
    width: 24vw;
}

.interview__txt {
    background-color: #FFF;
    width: 24vw;
    padding: 1.11vw;
    height: 17.4vw;
}

.interview__bg {
    position: absolute;
    bottom: -9vw;
}

.interview__spImg {
    display: none;
}

/* sp_interview */
@media screen and (max-width: 769px) {
    .interview__ttl {
        font-size: 12.8vw;
        letter-spacing: 1.5vw;
        -webkit-text-stroke-width: 1px;
    }

    .interview__list {
        display: block;
        width: 92vw;
        margin: 12vw auto 0;
    }

    .interview__item {
        width: 100%;
        margin-top: 8.5vw;
    }

    .interview__bg {
        max-width: 200%;
        bottom: -12.8vw;
    }

    .interview__spImg {
        display: block;
    }

    .interview__img {
        display: none;
    }
}

/* 769px */

/* schedule */
.section__schedule {
    background: linear-gradient(180deg, #80B6F6 92.31%, #FFF 100%);
}

.schedule__ttl {
    font-size: 6.67vw;
    -webkit-text-stroke: 3px var(--text-b, #FFF);
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.7vw;
    color: transparent;
    font-family: "Lato", sans-serif;
    font-weight: 900;
}

.schedule__imgPc {
    width: 75vw;
    margin: 2.22vw auto;
    display: block;
}

.schedule__imgSp {
    display: none;
}

/* pc_schedule */
@media screen and (max-width: 769px) {
    .schedule__ttl {
        font-size: 12.8vw;
        letter-spacing: 1.5vw;
        -webkit-text-stroke-width: 1px;
    }

    .schedule__imgPc {
        display: none;
    }

    .schedule__imgSp {
        display: block;
        width: 92vw;
        margin: 8.5vw auto 0;
    }
}

/* 769px */

/* career */
.section__career {
    position: relative;
}

.career__ttl {
    font-size: 6.67vw;
    -webkit-text-stroke: 3px #00B60F;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.7vw;
    color: transparent;
    font-family: "Lato", sans-serif;
    font-weight: 900;
}

.career__pcImg {
    margin: 4vw auto 0;
    display: block;
    width: 75vw;
}

.career__spImg {
    display: none;
}

.career__bg1 {
    display: block;
    position: absolute;
    width: 8vw;
    top: 8vw;
    left: 5vw;
}

/* sp_career */
@media screen and (max-width: 769px) {
    .career__ttl {
        font-size: 12.8vw;
        letter-spacing: 1.5vw;
        -webkit-text-stroke-width: 1px;
    }

    .career__pcImg {
        display: none;
    }

    .career__spImg {
        display: block;
        width: 92vw;
        margin: 8.5vw auto 0;
    }

    .career__bg1 {
        display: none;
    }
}

/* 769px */

/* evaluation */
.evaluation__ttl {
    width: 75vw;
    margin: 4.44vw auto 0;
    display: block;
}

.evaluation__ttlSp {
    display: none;
}

.evaluation__txt {
    width: 75vw;
    margin: 1.11vw auto 0;
    font-size: 1.11vw;
    font-weight: 700;
    letter-spacing: 0.09vw;
}

.evaluation__pcImg {
    width: 75vw;
    margin: 3.5vw auto 0;
    display: block;
}

.evaluation__spImg {
    display: none;
}

/* sp_evaluation */
@media screen and (max-width: 769px) {
    .evaluation__ttl {
        display: none;
    }

    .evaluation__ttlSp {
        display: block;
        width: 92vw;
        margin: 12.8vw auto 0;
    }

    .evaluation__txt {
        font-size: 4.2vw;
        letter-spacing: 0.34vw;
        width: 92vw;
    }

    .evaluation__pcImg {
        display: none;
    }

    .evaluation__spImg {
        display: block;
        width: 92vw;
        margin: 8.5vw auto 0;
    }
}

/* welfare */
.welfare__frame {
    position: relative;
}

.welfare__ttl {
    width: 75vw;
    margin: 4.44vw auto 0;
    display: block;
}

.welfare__ttlSp {
    display: none;
}

.welfare__txt {
    width: 75vw;
    margin: 12px auto 0;
    font-size: 1.11vw;
    font-weight: 700;
    letter-spacing: 0.12vw;
}

.welfare__spContent {
    display: none;
}

.welfare__pcContent {
    display: flex;
    justify-content: space-between;
    width: 51.4vw;
    margin: 0 auto;
}

.welfare__pcItem {
    width: 12vw;
    margin-top: 2.22vw;
}

.welfare__pcBg {
    width: 100%;
    position: absolute;
    bottom: -8.3vw;
}

/* 769px */

/* sp_welfare */
@media screen and (max-width: 769px) {
    .welfare__ttl {
        display: none;
    }

    .welfare__ttlSp {
        display: block;
        width: 92vw;
        margin: 12.8vw auto 0;
    }

    .welfare__txt {
        font-size: 4.2vw;
        letter-spacing: 0.34vw;
        width: 92vw;
    }

    .welfare__pcContent {
        display: none;
    }

    .welfare__spContent {
        width: 92vw;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 16px 0;
        /* 上下間の余白だけつける（左右は space-between に任せる） */
    }

    .welfare__spItem {
        display: block;
        width: 41.3vw;
        margin-top: 8.5vw;
        text-align: center;
    }

    .welfare__pcBg {
        bottom: -12.9vw;
    }
}

/* 769px */

/* QA */
.section__QA {
    background: #AEE5FF;
    padding: 90px 0;
}

.QA__ttl {
    font-size: 6.67vw;
    -webkit-text-stroke: 3px var(--text-b, #0887CF);
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.7vw;
    color: transparent;
    font-family: "Lato", sans-serif;
    font-weight: 900;
}

.QA__content {
    margin: 5vw auto;
    width: 75vw;
}

.QA__item {
    margin-top: 1.11vw;
}

.QA__qestion {
    display: flex;
    padding: 1.67vw 2.22vw;
    align-items: center;
    gap: 14px;
    background: var(--White, #FFF);
    border-radius: 0.7vw 0.7vw 0 0;
    font-size: 1.34vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.2vw;
}

.QA__Answer {
    display: flex;
    padding: 1.67vw 2.22vw;
    align-items: center;
    gap: 14px;
    background: #0887CF;
    border-radius: 0 0 0.7vw 0.7vw;
    font-size: 1.34vw;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.2vw;
    color: #FFF;
}

/* sp_QA */
@media screen and (max-width: 769px) {
    .section__QA {
        padding: 10.6vw 0;
    }

    .QA__ttl {
        font-size: 12.8vw;
        letter-spacing: 1.5vw;
        -webkit-text-stroke-width: 1px;
    }

    .QA__content {
        width: 92vw;
        margin: 12vw auto 0;
    }

    .QA__item {
        margin-top: 4.2vw;
    }

    .QA__qestion {
        font-size: 4.2vw;
        padding: 4.8vw 3.2vw;
        gap: 2vw;
        border-radius: 2.6vw 2.6vw 0 0;
    }

    .QA__Answer {
        font-size: 4.2vw;
        padding: 4.8vw 3.2vw;
        gap: 2vw;
        align-items: flex-start;
        border-radius: 0 0 2.6vw 2.6vw;
    }
}

/* 769px */

/* about */
.section__about {
    padding: 150px 0;
    background: #D8FFD3;
    position: relative;
}

.about__ttl {
    font-size: 6.67vw;
    -webkit-text-stroke: 3px #2F8A1B;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.7vw;
    color: transparent;
    font-family: "Lato", sans-serif;
    font-weight: 900;
}

.about__content {
    width: 75vw;
    margin: 5vw auto;
}

.about__item {
    display: flex;
    border-top: 1px solid #414141;
    width: 75vw;
}

.about__item:last-of-type {
    border-bottom: 1px solid #414141;
}

.about__subject {
    width: 25vw;
    background: #00B60F;
    text-align: center;
    color: var(--White, #FFF);
    font-size: 1.39vw;
    font-weight: 500;
    line-height: 1.2;
    padding: 1.4vw 0;
}

.about__txt {
    width: 100%;
    background: #FFF;
    padding: 1.4vw 1.67vw;
    font-size: 1.39vw;
    font-weight: 500;
    line-height: 1.2;
}

.about__bg1 {
    position: absolute;
    top: -1px;
}

.about__bg2 {
    position: absolute;
    bottom: 0px;
}

/* sp_about */
@media screen and (max-width: 769px) {
    .section__about {
        padding: 15vw 0;
    }

    .about__ttl {
        font-size: 12.8vw;
        letter-spacing: 1.5vw;
        -webkit-text-stroke-width: 1px;
    }

    .about__content {
        width: 100%;
        margin: 12vw auto 0;
    }

    .about__item {
        width: 92vw;
        margin: 0 auto;
        border-top: 0.5px solid #414141;
    }

    .about__item:last-of-type {
        border-bottom: 0.5px solid #414141;
    }

    .about__subject {
        font-size: 4.2vw;
        width: 35vw;
        padding: 2vw 1vw;
        font-weight: 500;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .about__txt {
        font-size: 4.2vw;
        padding: 2vw 3.2vw;
        font-weight: 500;
    }
}

/* 769px */

/* recrit */
.section__recruit {
    padding: 90px 0 120px;
    background: var(--RECRUIT, linear-gradient(0deg, rgba(174, 229, 255, 0.00) 0%, #AEE5FF 8.33%), #FFF);
}

.recruit__ttl {
    font-size: 6.67vw;
    -webkit-text-stroke: 3px #2345A6;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.7vw;
    color: transparent;
    font-family: "Lato", sans-serif;
    font-weight: 900;
}

.recruit__content {
    width: 75vw;
    margin: 5vw auto;
}

.recruit__item {
    display: flex;
    border-top: 1px solid #414141;
    width: 75vw;
}

.recruit__item:last-of-type {
    border-bottom: 1px solid #414141;
}

.recruit__subject {
    width: 25vw;
    background: #0887CF;
    text-align: center;
    color: var(--White, #FFF);
    font-size: 1.39vw;
    font-weight: 500;
    line-height: 1.2;
    padding: 1.4vw 0;
}

.recruit__txt {
    width: 100%;
    background: #FFF;
    padding: 1.4vw 1.67vw;
    font-size: 1.39vw;
    font-weight: 500;
    line-height: 1.2;
}

/* sp_recruit */
@media screen and (max-width: 769px) {
    .section__recruit {
        padding: 10.6vw 0 12.8vw;
    }

    .recruit__ttl {
        font-size: 12.8vw;
        letter-spacing: 1.5vw;
        -webkit-text-stroke-width: 1px;
    }

    .recruit__content {
        width: 100%;
        margin: 12vw auto 0;
    }

    .recruit__item {
        width: 92vw;
        margin: 0 auto;
        border-top: 0.5px solid #414141;
    }

    .recruit__item:last-of-type {
        border-bottom: 0.5px solid #414141;
    }

    .recruit__subject {
        font-size: 4.2vw;
        width: 35vw;
        padding: 2vw 1vw;
        font-weight: 500;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .recruit__txt {
        font-size: 4.2vw;
        padding: 2vw 3.2vw;
        font-weight: 500;
    }
}

/* 769px */

/* flow */
.flow__ttl {
    font-size: 6.67vw;
    -webkit-text-stroke: 3px #2F8A1B;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.7vw;
    color: transparent;
    font-family: "Lato", sans-serif;
    font-weight: 900;
}

.flow__imgPc {
    display: block;
    width: 75vw;
    margin: 2.22vw auto;
}

.flow__btnPc {
    display: block;
    width: 35vw;
    margin: 4.44vw auto 0;
    transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
}

.flow__btnPc:hover {
    transform: scale(1.1);
    opacity: 0.5;
}

.flow__imgSp {
    display: none;
}

.flow__btnSp {
    display: none;
}

/* sp_flow */
@media screen and (max-width: 769px) {
    .flow__ttl {
        font-size: 12.8vw;
        letter-spacing: 1.5vw;
        -webkit-text-stroke-width: 1px;
    }

    .flow__imgPc {
        display: none;
    }

    .flow__btnPc {
        display: none;
    }

    .flow__imgSp {
        display: block;
        width: 92vw;
        margin: 12vw auto 0;
    }

    .flow__btnSp {
        display: block;
        width: 92vw;
        margin: 8.5vw auto 0;
    }
}

/* 769px */

/* footer */
.footer {
    padding: 64px 0 0;
    position: relative;
}

.footer__txt {
    font-size: 1.39vw;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}

.footer__frame {
    display: flex;
    justify-content: center;
    gap: 2.22vw;
    margin-top: 2.22vw;
}

.footer__logo {
    width: 4.17vw;
    display: block;
}

.footer__pcTtl {
    font-size: 2.22vw;
    font-weight: 500;
    line-height: 1;
}

.footer__spTtl {
    display: none;
}

.footer__pcSubTtl {
    font-size: 1.39vw;
    font-weight: 400;
    line-height: 1;
    margin-top: 1vw;
    text-align: center;
}

.footer__btn {
    width: 6.25vw;
    position: absolute;
    right: 10vw;
    bottom: 10vw;
    transition: .3s cubic-bezier(0.5, 1, 0.89, 1);
}

.footer__btn:hover {
    transform: scale(1.1);
    opacity: 0.5;
}

/* sp_footer */
@media screen and (max-width: 769px) {
    .footer {
        padding: 8.4vw 0 11vw;
        width: 100%;
        overflow: hidden;
    }

    .footer__txt {
        font-size: 4.2vw;
        text-align: left;
        width: 92vw;
        margin: 0 auto;
    }

    .footer__frame {
        margin: 5vw auto 0;
        gap: 6.4vw;
        width: 92vw;
        justify-content: flex-start;
    }

    .footer__logo {
        width: 16vw;
    }

    .footer__pcTtl {
        display: none;
    }

    .footer__spTtl {
        font-size: 4.2vw;
        display: block;
    }

    .footer__pcSubTtl {
        display: none;
    }

    .footer__btn {
        width: 19.6vw;
        right: 5vw;
        bottom: 20vw;
    }

    .footer__bg {
        width: 200%;
        max-width: none;
    }
}