/* 共通設定 */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html {
    font-size: 100%;
    width: 100%;
}
body {
    color: #000;
    font-family: "Kozuka Mincho Pro", "小塚明朝 Pro", serif;
    margin: 0;
}
img {
    width: 100%;
    vertical-align: bottom;
}
li {
    list-style: none;
}
a {
    color: #000;
    text-decoration: none;
}
a:hover {
    opacity: 0.7;
}

.inner{
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 4%;
}

/* ヘッダー */
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #21485F;
    height: clamp(30px, 4vw, 60px);
    z-index: 30;
}

/* ハンバーガー */
.hamburger {
    position: absolute;
    top: 25%;
    right: 3%;
    width: clamp(19px, 1.8vw, 30px);
    height: clamp(15px, 1.6vw, 26px);
}

.hamburger span {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transition: all 0.4s;
    position: absolute;
}

.hamburger span:nth-child(1) {
    top: 0;
}

.hamburger span:nth-child(2) {
    top: 50%;
}

.hamburger span:nth-child(3) {
    top: 100%;
}

/*メインビジュアル*/
.mainvisual {
    width: 100%;
    height: calc(100vw - 44vw);
    position: relative;
    z-index: -10;
    overflow: hidden;
    margin-bottom: 6%;
}

.mv-text{
    position: absolute;
    color: #21485F;
    top: 6vw;
    left: 32vw;
}

.mv-text h1{
    font-size: min(5.4vw, 104px);
    font-weight: normal;  
    line-height: 1.5;  
}

.mv-text p{
    font-size: min(1vw, 20px);
    font-weight: normal;
    text-align: center;
}

.responsive{
    display: none;
}

/* アバウト */
.about{
    margin-bottom: 6%;
}

.about-text{
    border: 1px solid #D0952B;
    width: 60%;
    text-align: center;
    margin: 0 auto 4%;
    letter-spacing: 0.15em;
    padding: 5px 0;
}

.about-text h2{
    font-size: min(2.5vw, 30px);
    letter-spacing: 0.15em;
    font-weight: normal;
    line-height: 1;
    padding: 1%  0;
}

.about-text h2 span{
    font-size: 1.7em;
    color: #21485F;
    padding: 0 2%;
    line-height: 1;
}

.about-text:nth-child(3){
    margin-bottom: 10%;
}

.about p{
    font-size: min(1.7vw, 21px);
    margin: 0 auto 4%;
    text-align: center;
}

/*ロゴスライダー*/
.logo-slide-box{
    margin-bottom: 8%;
}

.slick-track{
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.logo-slide-img{
    padding: 0 10px;
}

.logo-slide-img img{
    width: 80%;
    max-width: 200px;
    margin: 0 auto;
}

/*　理由　*/
.reason{
    margin-bottom: 6%;
}

.reason-border{
    border: 1px solid #D0952B;
    width: 95%;
    text-align: center;
    margin: 0 auto 8%;
}

.reason-border h2{
    width: 95%;
    font-size: min(3.83vw, 46px);
    letter-spacing: 0.15em;
    font-weight: normal;
    line-height: 1.5;
    color: #D0952B;
    border-bottom: 1px solid #D0952B;
    margin: 0 auto;
    padding: 3% 0;
}

.reason-border h2 span{
    font-size: 0.8em;
}

.reason-border p{
    color: #376179;
    font-size: min(2.25vw, 27px);
    text-align: center;
    padding: 5% 0;
}

.reason-border p span{
    font-size: 1.3em;
    letter-spacing: 0.15em;
}

.reason-p{
    width: 95%;
    font-size: min(2.08vw, 25px);
    margin: 0 auto 4%;
}

.reason-p span{
    font-weight: bold;
    padding-bottom: 1%;
    border-bottom: 1px solid #707070;
}

.reason-img{
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

.reason-img::after{
    content: "";
    position: absolute;
    bottom: 10%;
    right: 70%;
    display: block;
    width: 40vw;
    height: 20px;
    background-color: #2675A3;
}

.reason-img img:nth-child(1){
    width: 65%;
}

.reason-img img:nth-child(2){
    margin-top: -25%;
    align-self: flex-end;
    width: 45%;
}

/*条件*/
.condition{
    margin-bottom: 15%;
}

.condition-title{
    margin-bottom: 4%;
    border-bottom: 1px solid #2675A3;
}   

.condition-title h2{
    font-size: min(3.33vw, 40px);
    text-align: center;
    letter-spacing: 0.2em;
    line-height: 2;
    padding-bottom: 2%;
}

.condition-title h2 span{
    font-size: 1.3em;
}

.condition-box{
    width: 70%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
}

.condition-p{
    font-size: min(2.08vw, 25px);
    text-align: center;
    margin-bottom: 4%;
    letter-spacing: 0.15em;
}

.condition-text{
    width: 100%;
    margin-left: 10%;
    margin-bottom: 10%;
}

.condition-text h3{
    font-size: min(2.08vw, 25px);
    margin-bottom: 4%;
    background-color: #21485F;
    color: #fff;
    padding: 0 8%;
    letter-spacing: 0.25rem;
    text-align: left;
    display: inline-block;
}

.condition-text h3 span{
    font-size: 2.3em;
    line-height: 1;
}

.condition-text p{
    text-align: left;
    padding-left: 7%;
    font-size: min(2.33vw, 28px);
}

.condition-flex{
    margin-top: 20%;
    position: relative;
}

.condition-flex::before{
    content: "";
    position: absolute;
    top: -20%;
    left: 70%;
    width: calc(100vw - (70% + calc(50vw - 50%)));
    height: 20px;
    background-color: #2675A3;
}

.flex{
    display: flex;
    justify-content: space-between;
    margin-bottom: 10%;
}

.c-flex-text{
    width: 45%;
}

.c-flex-text h3{
    font-size: min(2.17vw, 26px);
    margin-bottom: 6%;
    position: relative;
}

.c-flex-text h3::after{
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 10%;
    height: 100%;
    background-image: url(../images/deco.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.c-flex-text p{
    font-size: min(1.42vw, 17px);
    padding-right: 10%;
}

.c-flex-img{
    width: 50%;
}

/*食いっぱぐれない人生*/
.never-hungry{
    margin-bottom: 8%;
    text-align: center;
    background-color: #FFFEEF;
    padding: 4% 4% 8% 4%;
}

.never-hungry h2{
    font-size: min(2.5vw, 30px);
    color: #D0952B;
    margin-bottom: 4%;
}

.never-hungry p{
    font-size: min(1.83vw, 22px);
}

.small-inner{
    max-width: 700px;
    margin: 0 auto;
    padding: 0 4%;
}

.black{
    color: #000;
}

.size-change{
    font-size: 1.5em;
}

/*強み  */
.strength{
    margin-bottom: 8%;
}

.strength h2{
    font-size: min(3.08vw, 37px);
    text-align: center;
    padding-bottom: 2%;
    border-bottom: 1px solid #2675A3;
    line-height: 1.5;
    margin-bottom: 6%;
}

.strength h2 span{
    font-size: 1.2em;
}

.strength ul{
    width: 45%;
    margin: 0 auto min(10vw,130px);
}

.strength ul li{
    height: 60px;
    font-size: min(1.67vw, 20px);
    line-height: 1.5;
    margin-bottom: min(6vw,80px);
    padding-left: 20%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.strength ul li:nth-child(1)::before{
    content: "01";
}

.strength ul li:nth-child(2)::before{
    content: "02";
}

.strength ul li:nth-child(3)::before{
    content: "03";
}

.strength ul li::before{
    font-family: "清和堂明朝 L", serif;
    position: absolute;
    top: 0;
    left: 0;
    color: #A8DFFF;
    font-size: 3.5em;
    line-height: 1;
    letter-spacing: 0.15rem;
    width: 20%;
    height: 100%;
}

.strength ul li span{
    font-size: 1.4em;
}

.growth-reason{
    background-color: #FFFEEF;
    position: relative;
    padding: 60px 20%;
    margin-bottom: 10%;
}

.growth-reason-title{
    position: absolute;
    left: 0;
    top: 0;
    margin-top: -3%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.growth-reason-title h3{
    font-size: min(2.83vw, 34px);
    border: 1px solid #D0952B;
    color: #D0952B;
    padding: 0 2%;
    background-color: #FFFEEF;
}

.growth-reason p{
    text-align: center;
    font-size: min(1.66vw, 20px);
}

/*--------------この上はPC用のスタイル--------------*/

/*スタッフ*/
.staff{
    margin-bottom: 8%;
}

.staff-list{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.staff-block{
    display: flex;
    flex-direction: column;
    margin-bottom: 10%;
}

.staff-flex{
    display: flex;
    justify-content: space-between;
    margin-bottom: 5%;
    position: relative;
}

.staff-flex::before{
    content: "";
    position: absolute;
    bottom: 5%;
    left: calc(50% - 50vw);
    width: 100vw;
    height: 20px;
    background-color: #2675A3;
    z-index: -10;
}

.staff-img{
    width: 40%;
}

.staff-img img{
    width: 100%;
}   

.staff-title{
    width: 55%;
}

.staff-title h3{
    font-size: min(2.5vw, 30px);
    font-weight: normal;
    line-height: 2;
    letter-spacing: 0.15em;
    margin-bottom: 10%;
    padding-top: 5%;
}

.staff-name{
    font-size: min(1.67vw, 20px);
    font-weight: normal;
    line-height: 1.5;
    letter-spacing: 0.15em;
}

.staff-text{
    font-size: min(1.75vw, 21px);
    font-weight: normal;
    line-height: 2;
    letter-spacing: 0.15em;
}

.help{
    margin-bottom: 15%;
}

.help h3{
    font-size: min(3.9vw, 46.8px);
    font-weight: normal;
    text-align: center;
    margin-bottom: 4%;
    letter-spacing: 0.15em;
}

.help p{
    font-size: min(1.95vw, 23.4px);
    font-weight: normal;
    line-height: 2;
    letter-spacing: 0.15em;
    text-align: center;
}

.help p span{
    font-size: min(1.65vw, 19.8px);
}

/*実例*/
.case{
    margin-bottom: 15%;
}

.case-title{
    font-size: min(4.65vw, 55.8px);
    font-weight: normal;
    margin-bottom: 20%;
    letter-spacing: 0.15em;
    margin-left: 20vw;
    position: relative;
    display: inline-block;
}

.case-title::before{
    content: "CASE";
    font-family: "清和堂明朝 L", serif;
    position: absolute;
    font-size: min(6.73vw, 80.8px);
    top: 20%;
    right: -85%;
    width: 100%;
    color: #A8DFFF;
    z-index: -10;
    opacity: 0.6;
}

.case-block{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.case-flex{
    display: flex;
    justify-content: space-between;
    margin-bottom: 13%;
}

.case-img{ 
    width: 40%;
}

.case-img img{
    width: 100%;
}

.case-text{
    width: 50%;
}

.case-text h3{
    font-size: min(2.33vw, 28px);
    line-height: 1.5;
    letter-spacing: 0.15em;
    margin-bottom: 10%;
    border-bottom: 1px solid #000;
    padding-bottom: 5%;
}

.case-text p{
    font-size: min(1.95vw, 23.4px);
    line-height: 1.5;
    letter-spacing: 0.15em;
}

.reverse{
    flex-direction: row-reverse;
}

.case-p{
    font-size: min(1.95vw, 23.4px);
    line-height: 1.5;
    letter-spacing: 0.15em;
    text-align: center;
    margin-bottom: 20%;
}

/*働く上で大事なこと*/
.important-point{
    margin-bottom: 10%;
    padding: 0 5%;
}

.important-point h3{
    font-size: clamp(18px, 2.33vw, 28px);
    margin-bottom: 4%;
    letter-spacing: 0.25em;
    position: relative;
}

.important-point h3::before{
    content: "";
    position: absolute;
    top: -15%;
    right: -5%;
    width: 20%;
    height: 130%;
    background-image: url(../images/orange.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.important-point p{
    font-size: clamp(16px, 2.08vw, 25px);
    line-height: 1.5;
    letter-spacing: 0.1em;
    margin-bottom: 20%;
}

.important-point p span{
    font-weight: bold;
}

/*募集要項*/
.recruit{
    margin-bottom: 30%;
}

.recruit-box{
    border: 1px solid #21485F;
    padding: 10% 5% 20% 5%;
    margin-bottom: 10%;
}

.recruit h2{
    font-size: clamp(31px, 4.04vw, 48.5px);
    letter-spacing: 0.25em;
    margin-bottom: 10%;
    text-align: center;
}

.recruit-box li{
    margin-bottom: 10%;
}

.recruit-box li p{
    font-size: clamp(16px, 2.08vw, 25px);
    line-height: 1.5;
    letter-spacing: 0.15em;
}

.recruit-box li p span{
    font-weight: bold;
    font-size: clamp(17px, 2.25vw, 27px);
}

.line p{
    margin-bottom: 10%;
    font-size: clamp(17px, 2.25vw, 27px);
    line-height: 1.5;
    letter-spacing: 0.15em;
}

.line a{
    width: 50%;
    display: block;
    margin: 0 auto;
}

/*ストーリー*/
.story{
    margin-bottom: 10%;
}

.story-title{
    font-size: clamp(47px, 6.07vw, 72.8px);
    letter-spacing: 0.15em;
    margin-bottom: 10%;
    font-weight: 400;
    font-family: "清和堂明朝 L", serif;
    color: #447089;
    text-align: right;
    padding-right: 10%;
    position: relative;
}

.story-title::before{
    content: "";
    position: absolute;
    top: 50%;
    left: calc(50% - 50vw);
    width: calc(100vw - 50% - calc(50vw - 30%));
    height: 1px;
    background-color: #21485F;
}

.story-img{
    width: 100%;
    margin-bottom: 10%;
}

.story-img img{
    width: 100%;
}

.story-box{
    margin-bottom:  10%;
}

.story-box h3{
    font-size: clamp(25px, 3.29vw, 39.5px);
    letter-spacing: 0.15em;
    padding: 0 5%;
    margin-bottom: 10%;
    
}

.story-box h3 span{
    border-bottom: 1px solid #D0952B;
    padding-bottom: 2%;
}

.story-box p{
    font-size: clamp(16px, 2.08vw, 25px);
    line-height: 1.7;
    letter-spacing: 0.15em;
}

/*ステージ*/
.stage{
    margin-bottom: 30%;
}

.stage-title{
    font-size: clamp(47px, 6.07vw, 72.8px);
    letter-spacing: 0.15em;
    margin-bottom: 2%;
    font-weight: 400;
    font-family: "清和堂明朝 L", serif;
    color: #A8DFFF;
    text-align: center;
}

.road{
    margin-bottom: 10%;
}

.road h3{
    font-size: clamp(22px, 2.83vw, 34px);
    letter-spacing: 0.15em;
    margin-bottom: 10%;
    text-align: center;
}

.road ul{
    margin-bottom: 10%;
}

.road ul li{
    margin-bottom: 5%;
    font-size: clamp(15px, 1.95vw, 23.4px);
    line-height: 1.5;
    letter-spacing: 0.15em;
    display: flex;
    align-items: center;
}

.road ul li::before{
    font-size: clamp(34px, 4.48vw, 53.8px);
    line-height: 1.5;
    letter-spacing: 0.15em;
    margin-right: 5%;
    padding: 2% 5%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.road ul li:nth-child(1){
    border: 1px solid #D0952B;
}

.road ul li:nth-child(1)::before{
    content: "1";
    background-color: #D0952B;
}

.road ul li:nth-child(2){
    border: 1px solid #2C688B;
}

.road ul li:nth-child(2)::before{
    content: "2";
    background-color: #2C688B;
}

.road ul li:nth-child(3){
    border: 1px solid #1D894B;
}

.road ul li:nth-child(3)::before{
    content: "3";
    background-color: #1D894B;
}

.road ul li:nth-child(4){
    border: 1px solid #D0512B;
}

.road ul li:nth-child(4)::before{
    content: "4";
    background-color: #D0512B;
}

.road p{
    font-size: clamp(16px, 2.08vw, 25px);
    line-height: 2;
    letter-spacing: 0.15em;
    margin-bottom: 10%;
}

.road .bold{
    font-weight: bold;
    font-size: clamp(18px, 2.39vw, 28.7px);
}

.message{
    margin-bottom: 10%;
}

.message h2{
    font-size: clamp(17px, 2.25vw, 27px);
    font-weight: bold;
    margin-bottom: 10%;
    text-align: right;
}

.message p{
    font-size: clamp(17px, 2.25vw, 27px);
    line-height: 2;
    letter-spacing: 0.15em;
    margin-bottom: 10%;
    font-weight: bold;
}

.stage .recruit{
    margin-bottom: 10%;
}

/*応募プロセス*/
.entry{
    margin-bottom: 10%;
}

.entry-title{
    font-size: clamp(36px, 4.65vw, 55.8px);
    font-weight: normal;
    margin-bottom: 20%;
    letter-spacing: 0.15em;
    margin-left: 15vw;
    position: relative;
    display: inline-block;
}

.entry-title::before{
    content: "ENTRY";
    font-family: "清和堂明朝 L", serif;
    position: absolute;
    font-size: clamp(52px, 6.73vw, 80.8px);
    top: 30%;
    right: -50%;
    width: 100%;
    color: #A8DFFF;
    z-index: -10;
    opacity: 0.6;
}

.entry ul{
    margin-bottom: 30%;
}

.entry ul li{
    margin-bottom: 10%;
    display: flex;
    align-items: center;
}

.entry ul li div{
    width: 35%;
    font-size: clamp(16px, 2.08vw, 25px);
    color: #fff;
    text-align: center;
    background-color: #21485F;
    letter-spacing: 0.15em;
    margin-right: 5%;
    border-radius: 50px;
}

.entry ul li p{
    font-size: clamp(16px, 2.08vw, 25px);
    width: 65%;
}

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


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

    /*ヘッダー*/
    .header {
        height: clamp(42px, 12vw, 92px);
    }

    .hamburger {
        top: 23%;
        right: 3%;
        width: clamp(25px, 7.4vw, 56px);
        height: clamp(21px, 6vw, 46px);
    }

    /*メイン*/
    main{
        width: 100%;
        overflow: hidden;
    }

    /*メインビジュアル*/
    .mainvisual{
        height: 100%;
        padding-top: clamp(42px, 12vw, 92px);
    }

    .mv-img{
        width: 100%;
        height: 100%;
    }
    .mv-img img{
        width: 282.24vw;
        margin-left: -80%;
    }

    .mv-text{
        top: 8%;
        left: 12%;
    }

    .mv-text h1{
        font-size: clamp(45px, 13vw, 98.7px);
    }

    .mv-text p{
        font-size: clamp(9px, 2.5vw, 25px);
    }

    .responsive{
        display: block;
    }

    /*アバウト*/
    .about-text{
        width: 80%;
    }

    .about-text h2{
        font-size: clamp(12px, 3.5vw, 26px);
    }

    .about p{
        font-size: clamp(12px, 3.5vw, 26px);
    }


    .reason-border h2 {
        width: 90%;
        font-size: clamp(24.5px, 3.83vw, 53.8px);
    }

    .reason-border p {
        font-size: clamp(13.6px, 3.9vw, 29.8px);
    }

    .reason p:nth-child(2){
        margin-bottom: 0;
    }

    .reason-p {
        font-size: clamp(9.8px, 2.8vw, 21.5px);
    }

    .reason-img img:nth-child(1) {
        width: 100%;
        margin-left: -10%;
    }

    .reason-img img:nth-child(2) {
        margin-top: -25%;
        width: 60%;
        margin-right: -10%;
    }

    /*条件*/
    .condition-title h2 {
        font-size: clamp(13.6px, 3.9vw, 29.8px);
    }

    .condition-box{
        width: 100%;
    }

    .condition-p {
        font-size: clamp(9.8px, 2.8vw, 21px);
        margin-bottom: 10%;
    }

    .condition-text h3{
        font-size: clamp(13.6px, 3.9vw, 29.8px);
    }

    .condition-text p{
        font-size: clamp(13.6px, 3.9vw, 29.8px);
        padding-left: 0;
    }

    .condition-flex {
        margin-top: 50%;
    }

    .condition-flex::before {
        top: -13%;
    }

    .flex {
        flex-direction: column;
    }

    .c-flex-text{
        width: 100%;
    }

    .c-flex-text h3 {
        font-size: clamp(13.6px, 3.9vw, 29.8px);
        letter-spacing: 0.25em;
    }

    .c-flex-text p {
        font-size: clamp(8.7px, 2.5vw, 19.2px);
        margin-bottom: 5%;
    }

    .c-flex-img{
        width: 100%;
    }

    .flex:nth-child(1) .c-flex-img img{
        margin-left: 4vw;
    }

    .flex:nth-child(2) .c-flex-img img{
        margin-left: -4vw;
    }

    /*食いっぱぐれない人生  */
    .never-hungry h2 {
        font-size: clamp(17px, 4.9vw, 38px);
        color: #D0952B;
        margin-bottom: 4%;
        letter-spacing: 0.25em;
    }
    
    .size-change{
        font-size: 1.3em;
        letter-spacing: 0.15em;
    }

    .never-hungry p{
        font-size: clamp(9.8px, 2.8vw, 21.5px);
        text-align: left;
    }

    .yellow{
        color: #D0952B;
        border-bottom: 1px solid #D0952B;
        font-size: 1.16em;
        padding-bottom: 1%;
    }   

    /*強み*/

    .strength h2 {
        font-size: clamp(18px, 5.1vw, 39px);
        letter-spacing: 0.25em;
    }

    .strength ul{
        width: 100%;
    }

    .strength ul li {
        font-size: clamp(9.8px, 2.8vw, 21.5px);
        letter-spacing: 0.15em;
    }

    .strength ul li::before {
        top: 15%;
        left: 3%;
    }

    .growth-reason-title {
        position: absolute;
        left: 0;
        top: 0;
        margin-top: -5%;
    }

    .growth-reason-title h3 {
        font-size: clamp(18px, 5.3vw, 40px);
        letter-spacing: 0.15em;
    }

    .growth-reason {
        padding: 12% 2% 10%;
    }

    .growth-reason p {
        text-align: center;
        font-size: clamp(9.8px, 2.8vw, 21.5px);
        text-align: left;
    }

    /*ケース*/
    .case-img{
        width: 50%;
    }

    .case-flex:nth-child(1) img{
        margin-left: -4vw;
    }

    .case-flex:nth-child(2) img{
        margin-left: 4vw;
    }

    .case-flex:nth-child(3) img{
        margin-left: -4vw;
    }

    /*募集要項*/
    .line a{
        width: 100%;
    }
    

    /*フォントサイズ*/
    .staff-title h3{
        font-size: clamp(14px, 4vw, 30px);
    }
    
    .staff-name{
        font-size: clamp(11.5px, 3.2vw, 20px);
    }
    
    .staff-text{
        font-size: clamp(10px, 2.5vw, 21px);
    }

    .help h3{
        font-size: clamp(21.3px, 5.4vw, 46.8px);
    }

    .help p{
        font-size: clamp(10.7px, 2.7vw, 23.4px);
    }

    .help p span{
        font-size: clamp(9px, 2.3vw, 19.8px);
    }
    
    .case-title{
        font-size: clamp(25.4px, 7.2vw, 55.8px);
    }

    .case-text h3{
        font-size: clamp(14px, 4vw, 30px);
    }

    .case-text p{
        font-size: clamp(10.5px, 3vw, 23.4px);
    }

    .case-p{
        font-size: clamp(10.5px, 3vw, 23.4px);
    }

    .case-p span{
        font-size: clamp(9px, 2.3vw, 19.8px);
    }

    .case-title::before{
        font-size: clamp(36.9px, 9.4vw, 80.8px);
    }

    .important-point h3{
        font-size: clamp(18.9px, 3vw, 28px);
    }

    .important-point p{
        font-size: clamp(11.5px, 2.5vw, 25px);
    }

    .recruit h2{
        font-size: clamp(22.1px, 6.3vw, 48.5px);
    }

    .recruit-box li p{
        font-size: clamp(11.5px, 3.27vw, 25px);
    }

    .recruit-box li p span{
        font-size: clamp(12.3px, 3.5vw, 27px);
    }

    .line p{
        font-size: clamp(12.3px, 3.5vw, 27px);
    }

    .story-title{
        font-size: clamp(36.9px, 10.5vw, 72.8px);
    }

    .story-box h3{
        font-size: clamp(18px, 5.14vw, 39.5px);
    }

    .story-box p{
        font-size: clamp(11.5px, 3.27vw, 25px);
    }

    .stage-title{
        font-size: clamp(36.9px, 10.5vw, 72.8px);
    }

    .road h3{
        font-size: clamp(15.6px, 4.44vw, 34px);
    }

    .road ul li{
        font-size: clamp(10.7px, 2.7vw, 23.4px);
    }

    .road ul li::before{
        font-size: clamp(24.6px, 7vw, 53.8px);
    }

    .road p{
        font-size: clamp(11.5px, 3.27vw, 25px);
    }

    .road .bold{
        font-size: clamp(13.1px, 3.74vw, 28.7px);
    }

    .message h2{
        font-size: clamp(12.3px, 3.5vw, 27px);
    }

    .message p{
        font-size: clamp(12.3px, 3.5vw, 27px);
    }

    .entry-title{
        font-size: clamp(25.4px, 7.2vw, 55.8px);
    }

    .entry-title::before{
        font-size: clamp(36.9px, 9.4vw, 80.8px);
    }

    .entry ul li div{
        font-size: clamp(14.8px, 3.27vw, 25px);
    }

    .entry ul li p{
        font-size: clamp(14.8px, 3.27vw, 25px);
    }
}