/* PC、スマホ共通スタイル */
body {
    font-family: "Source Sans Pro", "Hiragino Kaku Gothic ProN", Meiryo, Arial,
        sans-serif;
}
p {
    font-size: 16px;
    letter-spacing: 0.2rem;
}

#submit {
    margin-top: 50px;
}
a:hover{
    cursor: pointer;
}

/*================
 PC用のスタイル
=================*/
@media screen and (min-width: 768px) {
    /* 横幅設定 */
    body {
        max-width: 100%;
        min-width: 1280px;
        margin: 0 auto;
    }

    /* ヘッダー */
    header {
        display: flex;
        justify-content: space-between;
        height: 80px;
    }

    /* ナビゲーションのレイアウト */
    #nav-pc {
        text-align: right;
        font-size: 20px;
        padding-top: 40px;
        padding-right: 40px; 
    }
    #logo{
        padding-left: 40px;
        padding-top: 20px;
    }

    /* ナビゲーションのリンクの装飾設定 */
    #nav-pc > a {
        text-decoration: none;
        margin-left: 20px;
    }
    #nav-pc > a:link {
        color: #0d0d0d;
    }
    #nav-pc > a:visited {
        color: #0d0d0d;
    }
    #nav-pc > a:hover {
        color: #0d0d0d;
        text-decoration: underline;
    }
    #nav-pc > a:active {
        color: #0d0d0d;
    }

    /* スマホ用ナビを非表示 */
    #nav-sp,
    #menu-sp {
        display: none;
    }
    .sp_only{
        display: none !important;
    }
    .pc_only{
        display: block !important;
    }

/*----------main_mv--------------*/
    .main_mv_img{
        width: 100%;
        position: relative;
        min-height: 600px;
        display: flex;
        vertical-align: bottom;
    }
    .main_mv_back{
        width: 100%;
        max-height: 700px;
        min-height: 640px;
    }
    .main_img{
        position: absolute;
        width: 52%;
        bottom: 0;
        left: 440px;
        opacity: 0.9;
    }
    .main_mv{
        position: relative;
        min-height: 600px;
        padding: auto 16%;
    }
    .main_subtit{
        position: absolute;
        top: 60px;
        left: 80px;
        padding: 20px 10px;
        text-align: center;
        width: 240px;
        height: 240px;
        font-weight: 600;
        align-items: center;
        background-color: #FF8F43;
        color: #fff;
        border-radius: 200px;
        z-index: 2;
    }
    .main_subtit > p{
        margin-top: 42px;
        font-size: 36px;
    }
    .main_subtit_02{
        position: absolute;
        top: 72px;
        left: 300px;
        padding: 16px 8px;
        text-align: center;
        width: 200px;
        height: 200px;
        font-weight: 600;
        align-items: center;
        background-color: #FFEB97;
        color: #FF8F43;
        border-radius: 200px;
        z-index: 1;
    }
    .main_subtit_02 > p{
        margin-top: 32px;
        margin-left: 6px;
        font-size: 34px;
    }
    .main_tit{
        display: flex;
        align-items: center;
        position: absolute;
        bottom: 80px;
        left: 80px;
        width: 60%;
        z-index: 2;
    }
    .main_tit_l{
        width: 132px;
        font-size: 100px;
        text-align: center;
        background-color: #FF8F43;
        color: #fff;
        padding: 10px 8px;
        line-height: 1.2;
        border-radius: 16px;
        font-weight: 700;
        margin-top: 20px;
    }
    .main_tit_r{
        font-size: 80px;
        text-align: center;
        color: #FF8F43;
        text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;
        font-weight: 700;
        padding: 10px 8px;
        line-height: 1.2;
    }
    .main_tit_r > span{
        font-size: 32px;
    }

    .entry_form {
        position: absolute;
        bottom: 60px;
        right: 8%;
        box-shadow: 5px 5px 10px #707070;
        height: 520px;
        width: 480px;
        text-align: center;
        z-index: 3;
    }
    .form-wrap {
        background: #fff;
        border-top: 10px solid #FF8F43;
        height: 520px;
        overflow: hidden;
        padding: 15px;
    }
    .balloon {
        background: #fff;
        border: 1px solid #FF8F43;
        border-radius: 50px;
        color: var(--red);
        display: inline-block;
        position: relative;
        text-align: center;
    }
    .form-wrap .balloon {
        font-size: 16px;
        margin: 5px auto;
        width: 210px;
        color: #FF8F43;
    }
    .balloon::before, .form-wrap .balloon::after {
        border-style: solid;
        border-width: 10px 10px 0 10px;
        content: "";
        left: 50%;
        margin-left: -10px;
        position: absolute;
    }
    .balloon::before {
        border-color: #FF8F43
        rgba(0, 0, 0, 0)
        rgba(0, 0, 0, 0)
        rgba(0, 0, 0, 0);
        bottom: -10px;
    }
    .balloon::after {
        border-color: #fff
        rgba(0, 0, 0, 0)
        rgba(0, 0, 0, 0)
        rgba(0, 0, 0, 0);
        bottom: -9px;
    }
    .form_tit {
        color: #FF8F43;
        font-weight: 700;
        font-size: 20px;
    }
    .form_content dt {
        background: #D9D9D9;
        padding: 5px 5px 5px 5px;
    }
    .form_content .check ,.check2 {
        display: flex;
        justify-content: space-between;
    }
    .form_content .check div {
        position: relative;
        width: calc((100% - 10px) / 2);
    }
    .form_content .check2 div {
        position: relative;
        width: calc((100% - 10px) / 3);
    }
    .form_content .checkshikaku{
        display: flex;
        flex-wrap: wrap;
    }
    .form_content .checkshikaku div{
        padding: 4px;
    }
    .form_content .checkstyle{
        display: flex;
        flex-wrap: wrap;
    }
    .form_content .checkstyle div{
        padding: 4px;
        text-align: left;
    }

    .check_text{
        position: relative;
        padding-left: 4px;
        line-height: 1;
    }
    .check_text::before{
        content: "\2714\FE0E";
        margin-right: 4px;
        position: absolute;
        top: 50%;
        left: -10px;
        margin-top: -8px;
    }*/
    .sp {
        display: none;
    }
    .form_content {
        display: flex;
        overflow: hidden;
        transition: .8s;
        width: calc(200% + 30px);
    }
    [class*=step] {
        width: calc(50% - 15px);
    }
    input[type=radio] {
        height: 80%;
        left: 0;
        position: absolute;
        width: 100%;
    }
    input[type=checkbox] {
        height: 80%;
        left: 0;
        position: absolute;
        width: 100%;
    }
    .form_content .check :checked+label {
        background: #ff8357;
    }
    .form_content .check label {
        align-items: center;
        background: #eeeeee;
        border-radius: 5px;
        box-shadow: 0 1px 1px rgba(0,0,0,.6);
        color: #fff;
        cursor: pointer;
        display: flex;
        font-weight: bold;
        height: 40px;
        justify-content: center;
        position: relative;
    }
    .form_content .check2 :checked+label {
        background: #ff8357;
    }
    .form_content .check2 label {
        align-items: center;
        background: #eeeeee;
        border-radius: 5px;
        box-shadow: 0 1px 1px rgba(0,0,0,.6);
        color: #fff;
        cursor: pointer;
        display: flex;
        font-weight: bold;
        height: 40px;
        justify-content: center;
        position: relative;
    }
    .form_content dd {
        padding: 8px 0;
        width: 100%;
    }
    .text_input > label > span{
        margin-right: 8px;
    }
    .text_input{
        padding: 8px 0;
        width: 100%;
    }
    .text_input > input{
        width: 100%;
    }
    label.select {
        display: block;
        position: relative;
    }
    select {
        border: 1px solid #707070;
        width: 100%;
    }
    option {
        font-weight: normal;
        display: block;
        min-height: 1.2em;
        padding: 0px 2px 1px;
        white-space: nowrap;
    }
    select {
        color: #000;
        padding: 5px 5px 5px 20px;
    }
    .button-wrap {
        margin: 5px 0;
    }
    .button-wrap {
        display: flex;
    }
    .button-wrap > span {
        height: 50px;
    }
    a.btn-form-next {
        pointer-events: none;
        width: 100%;
    }
    .input_01{
        display: flex;
        align-items: center;
        margin: 4px auto;
    }
    .input_01 > dt{
        width: 22%;
        background-color: #fff;
    }
    .input_01 > dd{
        width: 78%;
    }
    .input_01 > div{
        display: flex;
        width: 100%;
    }
    .input_01 > div > .title{
        width: 22%;
    }
    .input_01 > div > .select-box{
        width: 78%;
    }
    #tel ,  #email{
        width: 100%;
    }
    .form_complete{
        border: #F2ADBC;
        width: 100%;
        margin-left: 10px;
        height: 50px !important;
    }
    [class*=btn-], input[class*=btn-] ,button{
        align-items: center;
        background: linear-gradient(to right, #F2ADBC, #F2ADBC);
        border-radius: 50px;
        box-shadow: 0 5px 10px rgba(0,0,0,.1);
        color: #fff;
        cursor: pointer;
        display: flex;
        font-weight: bold;
        justify-content: center;
        position: relative;
        text-decoration: none;
    }
    [class*=btn-form], input[class*=btn-form] {
        font-size: 20px;
        height: 60px;
    }
    .step2 {
        margin-left: 15px;
    }
    .form_content .name input[type=text]:first-of-type {
        margin-right: 10px;
    }
    .form_content .name input[type=text] {
        width: calc((100% - 10px) / 2);
    }
    .btn-form-back {
        background: #fff;
        border: 1px solid #bebebe;
        box-shadow: none;
        color: #bebebe;
        width: 40%;
    }
    .btn{
        width: 70%;
    }
    #btnmousikomi{
        width: 90%;
        border: #000 0px solid;
        height: 50px;
        margin: 0 auto;
    }
    .note{
        font-size: 12px;
    }

    /* メインビジュアル*/
    #main-visual {
        position: relative;
        height: 400px;
    }
    #main-message {
        position: absolute;
        top: 0;
        left: 0;
        background-color: #2710d5;
        color: #ffffff;
        border-radius: 0 0 476px 0;
        max-width: 620px;
        height: 100%;
        width: 100%;
        z-index: 11;
    }
    #main-message > h1 {
        font-size: 60px;
        font-weight: bold;
        margin: 100px 0 0 50px;
    }

    #main-message > p {
        font-size: 28px;
        margin: 0 0 0 50px;
    }
    #main-visual > img {
        max-width: 620px;
        border-radius: 476px 0 0 0;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 10;
    }

    /*見出し*/
    h3 {
        font-size: 27px;
    }
    .f_or{
        color: #ff8357;
    }
    .content_tit{
        text-align: center;
        font-weight: bold;
        font-size: 36px;
    }
    .f_b{
        font-weight: bold;
    }

/*------------------points-----------------------*/
.points{
    width: 100%;
    margin: 40px 0 20px;
}
.points_content{
    margin: 0 auto;
    width: 80%;
}
.points_content> ol  {
    max-width: 1000px;
    font-weight: bold;
    text-align: center;
    font-size: 28px;
    margin: 0 auto;
    list-style: none;
    counter-reset: li;
}
.points_content> ol > li {
    margin: 30px 0;
    padding-left: 40px;
    position: relative;
}
ol li:not(:first-child) {
    margin-top: 0.2em;
}
.points_content> ol > li::before {
    counter-increment: li;
    content: counter(li);
    position: absolute;
    left: 10px;
    top: 50%;
    font-size: 32px;
    margin-top: -25px;
    padding-right: 4px;
    padding-top: 1px;
    width: 50px;
    height: 50px;
    text-align: center;
    background: #f23716;
    border-radius: 50%;
    box-sizing: border-box;
    color: #fff;
    font-weight: bold;
    font-style: italic;
    box-sizing: border-box;
}
.points_content> ol > li::marker {
    background-color: #f23716;
}
/*------------------points-----------------------*/
/*----------------joblistings---------------------*/
.joblistings{
    background-color: #FFEB97;
    padding: 80px 80px 10px 80px;
    position: relative;
    margin-bottom: 140px;
}
.joblistings_content{
    display: flex;
    justify-content: space-between;
}
.joblistings_content > div{
    width: 30%;
    background-color: #fff;
    border-radius: 8px;
}
.joblistings_content > div > img{
    border-radius: 8px 8px 0 0;
    width: 100%;
    height: 280px;
}
.joblistings_text{
    padding: 16px;
}
.joblistings_text_salary{
    font-weight: bold;
    text-align: right;
    font-size: 1.6vw;
    margin: 8px 0;
}
.joblistings_text_label{
    display: flex;
    justify-content: space-between;
}
.joblistings_text_label > p{
    background-color: rgb(241, 155, 198);
    padding: 8px 8px;
    font-weight: bold;
    width: 48%;
    text-align: center;
}
.supplement{
    text-align: right;
    margin-top: 8px;
}
.joblistings::after {
    content: '';
    position: absolute;
    top: 8px;
    bottom: -10px;
    left: 0;
    right: 0;
    background-color: #FFEB97;
    transform: skewY(-4deg) translateY(60px);
    z-index: -1;
}
.joblistings::before {
    position: absolute;
    content: "";
    top: 28px;
    left: 50%;
    border-top: 30px solid #fff;
    border-right: 100px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 100px solid transparent;
    -webkit-transform: translateY(-50%) translateX(2px);
    transform: translateY(-50%) translateX(-50%);
}

/*----------------joblistings---------------------*/

/*----------------Features---------------------*/
#features{
    margin: 20px auto;
    padding: 20px 5%;
    text-align: center;
}
.features_tit{
    background-color: #FF8F43;
    color: #fff;
    width: 44%;
    margin: 10px auto;
    font-size: 36px;
}
.features_best{
    display: flex;
    justify-content: space-between;
}
.features_best_content{
    width: 20%;
}
.features_best_content > img{
    width: 100%;
}
.features_select_tit{
    font-weight: bold;
    font-size: 32px;
    margin: 16px auto;
}
.features_select_text{
    font-weight: 700;
    font-size: 18px;
    width: 80%;
    margin: 0 auto;
}
/*----------------Features---------------------*/
/*----------------online---------------------*/
#online{
    margin: 16px auto;
    text-align: center;
}
.online_tit{
    display: inline-block;
    background: linear-gradient(transparent 70%, #FFEB97 60%);
    color: #FF8F43;
}
.online_text{
    font-weight: bold;
    margin: 16px auto;
    font-size: 32px;
}
.online_text_02{
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
}
.online_button{
    font-size: 32px;
    color: #fff;
}
.online_button > a{
    display: inline-block;
    padding: 16px 32px;
    border-radius: 40px;
    font-weight: bold;
    width: 600px;
    margin: 10px auto;
    color: #fff;
    text-decoration: none;
}
.online_button > a:hover{
    opacity: 0.6;
}
.signup_button{
    background-color: #F2ADBC;
}
.line_button{
    background-color: #9AD375;
}
/*----------------online---------------------*/
/*----------------counseling---------------------*/
#counseling{
    background-color: #FFEB97;
    padding: 40px;
    position: relative;
}
.counseling_text{
    text-align: center;
}
.counseling_subtit{
    display: inline-block;
    position: relative;
    border: #fff 4px solid;
    padding: 8px;
    font-size: 26px;
    margin-bottom: 32px;
    font-weight: 600;
}
#counseling::after {
    content: '';
    position: absolute;
    top: 10px;
    bottom: -10px;
    left: 0;
    right: 0;
    background-color: #FFEB97;
    transform: skewY(-4deg) translateY(60px);
    z-index: -1;
}
/*
.counseling_subtit::after {
    position: absolute;
    content: "";
    bottom: -100%;
    left: 50%;
    border-top: 30px solid #fff;
    border-right: 24px solid transparent;
    border-bottom: 30px solid transparent;
    border-left: 24px solid transparent;
    -webkit-transform: translateY(-50%) translateX(2px);
    transform: translateY(-50%) translateX(-50%);
}
.counseling_subtit::before {
    position: absolute;
    display: inline-block;
    content: "";
    left: 49%;
    bottom: -32px;
    border-top: solid 3px #fff;
    width: 8%;
    height: 0px;
    -webkit-transform-origin: 0 3px;
    transform-origin: 0 3px;
    -webkit-transform: rotate(-95deg);
    transform: rotate(-95deg);
    z-index: 0;
}*/
.counseling_subtit::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 15px;
  height: 15px;
  box-sizing: border-box;
  background-color: #FFEB97;
  rotate: 135deg;
  translate: -50%;
}
/*
.counseling_subtit::after {
    position: absolute;
    content: "";
    left: 49%;
    bottom: -36px;
    background: #FFEB97;
    border-top: #fff;
    height: calc(tan(60deg) * 60px / 2);
    width: 40px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}
*/
.counseling_subtit::after {
    content: "";
  position: absolute;
  top: calc(100% + 11px);
  left: calc(50% - 20px);
  z-index: -1;
  width: 30px;
  height: 4px;
  transform: rotate(64deg);
  box-sizing: border-box;
  background-color: #fff;
  box-shadow: 0 0px 0 #FFEB97, 0 -2px 0 #FFEB97;
  z-index: 4;
}
.back_c_o {
    background-color: #FF8F43;
    color: #fff;
    margin: 10px auto;
    padding: 5px;
}
.font_c_o{
    color: #FF8F43;
    text-shadow: #fff 1px 0 5px;;
}

.counseling_list{
    background-color: #fff;
    padding: 20px 0;
    width: 80%;
    max-width: 1200px;
    height: 200px;
    margin: 20px auto;
    box-shadow: 5px 5px 10px #707070;
}
.counseling_list_flex{
    display: flex;
    align-items: center;
}
.counseling_list_label{
    background-color: #9AD375;
    padding: 10px;
    position: relative;
    height: 44px;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
}
.counseling_list_label::after {
    position: absolute;
    content: "";
    top: 22px;
    right: -72px;
    border-top: 22px solid transparent;
    border-right: 24px solid transparent;
    border-bottom: 22px solid transparent;
    border-left: 24px solid #9AD375;
    -webkit-transform: translateY(-50%) translateX(2px);
    transform: translateY(-50%) translateX(-50%);
}
.counseling_list_tit{
    margin-left: 60px;
    width: 80%;
    font-size: 24px;
    color: #FF8F43;
    font-weight: 700;
    text-align: center;
}
.counseling_list_text{
    padding: 20px 40px;
    font-weight: 600;
}
/*----------------counseling---------------------*/
/*----------------interview---------------------*/
#interview{
    margin-top: 160px;
}
.interview_tit{
    text-align: center;
}
.interview_tit > h3{
display: inline-block;
color: #FF8F43;
}
.interview_flex{
    display: flex;
    justify-content: space-between;
    width: 80%;
    margin: 10px auto;
}
.interview_list{
    padding: 20px 40px;
    width: 80%;
}
.interview_list > img{
    width: 160px;
    margin: 10px auto 20px;
}
.interview_list > p{
    font-weight: 700;
}
/*----------------interview---------------------*/
/*----------------service---------------------*/
#service{
    margin: 20px 40px;
    text-align: center;
}
.service_tit{
    background-color: #FF8F43;
    color: #fff;
    width: 44%;
    margin: 10px auto;
    font-size: 36px;
}
.service_content > p{
    font-weight: 700;
    font-size: 24px;
    width: 80%;
    margin: 20px auto;
}
.service_content > img{
    width: 80%;
    margin: 0 auto;
}
/*----------------service---------------------*/
/*----------------flow---------------------*/
#flow{
    margin: 40px auto 20px;
    text-align: center;
    width: 90%;
}
.flow_tit{
    background-color: #FF8F43;
    color: #fff;
    width: 44%;
    margin: 10px auto;
    font-size: 36px;
}
.flow_flex{
    display: flex;
    justify-content: space-between;
}
.flow_list{
    width: 18%;
    font-weight: 600;
}
.flow_list > img{
    width: 100%;
    height: 200px;
}
.flow_list_tit{
    color: #FF8F43;
    margin: 10px auto;
}
.flow_list_text{
    text-align: left;
}
.flow_list_text >span{
    font-size: 12px;
}
/*----------------flow---------------------*/
/*----------------q&a---------------------*/
#qa{
    position: relative;
    margin-top: 40px;
    margin-bottom: 120px;
    padding-bottom: 40px;
    background-color: #FFEB97;
}
#qa::after {
    content: '';
    position: absolute;
    top: 10px;
    bottom: -10px;
    left: 0;
    right: 0;
    background-color: #FFEB97;
    transform: skewY(-4deg) translateY(60px);
    z-index: -1;
}
.qa_tit{
    text-align: center;
}
.qa_tit > h3{
display: inline-block;
color: #FF8F43;
margin: 40px auto 10px;
}
.qa_list{
    width: 80%;
    margin: 0px auto;
}
.readmore p{
    font-weight: 600;
    font-size: 20px;
    background-color: #fff;
    padding: 16px 10px;
    box-shadow: 5px 5px 10px #707070;
}
.readmore p > span{
    background-color: #F2ADBC;
    padding: 8px;
    border-radius: 24px;
    margin-right: 20px;
    font-size: 20px;
    color: #fff;
}
.text_area{
    background-color: #fff;
    margin: auto 40px;
    padding: 20px 20px 20px 20px;
    box-shadow: 5px 5px 10px #707070;
}
.text_area p{
    position: relative;
    padding-left:36px;
    font-weight: 600;
}
.text_area p::before{
    content: "A";
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    left: -10px;
    top: 10px;
    background-color: #FFEB97;
    text-align: center;
    font-size: 20px;
    border-radius: 40px;
    color: #FF8F43;
    font-weight: 600;
}
.readmore + .text_area {
    position:relative;
    display: none;
    margin: 20px 40px 30px;
    transition: transform .4s;
    }
.readmore {
    position:relative;
    margin-top: 30px;
    padding: 0px 20px 10px 0;
}
.readmore:hover {
    opacity: 0.7;
}
.readmore:after{
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 50px;
    top: 30px;
    transition: transform .4s;
    font-weight: 700;
    color: #FF8F43;
    border-bottom: 3px solid #FF8F43;
    border-right: 3px solid #FF8F43;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: rotate(45deg) translateY(-50%) translateX(-50%);
    transform: rotate(45deg) translateY(-50%) translateX(-50%);
}
.readmore.open:after {
    content: "";
    position: absolute;
    right: 50px;
    top: 38px;
    border-bottom: 0px solid transparent;
    border-right: 0px solid transparent;
    border-top: 3px solid #FF8F43;
    border-left: 3px solid #FF8F43;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform: rotate(45deg) translateY(-50%) translateX(-50%);
    transform: rotate(45deg) translateY(-50%) translateX(-50%);
}
.readmore:hover{
    cursor: pointer;
}
/*----------------q&a---------------------*/
    /* フッター */
    footer {
        margin-top: 40px;
        background-color: #fff;
        padding: 20px 80px 10px 80px;
        border-top: 40px #FFEB97 solid;
    }
    .footer_tit{
        text-align: center;
    }
    .footer_tit > p{
        display: inline-block;
        color: #FF8F43;
        font-size: 32px;
        font-weight: 900;
    }
    .footer_tit > p > span{
        color: #FF8F43;
        font-size: 24px;
        font-weight: 600;
    }
    .footer_company{
        width: 60%;
        margin: 10px auto;
    }
    .footer_list{
        display: flex;
        justify-content: space-between;
        margin: 10px auto;
    }
    .footer_list_tit{
        font-size: 18px;
        color: #FF8F43;
        width: 20%;
    }
    .footer_list_text{
        text-align: left;
        width: 80%;
    }
    #sns-footer {
        text-align: left;
        width: 100%;
    }
    #copyright {
        margin-top: 10px;
        color: #000;
        text-align: center;
        font-size: 12px;
    }
    /*lpcomplete*/
    .lpcomplete_content{
        text-align: center;
    }
}
/*================================================================
                                 スマートフォン用のスタイル
=================================================================*/
@media screen and (max-width: 767px) {
    .main_mv_img{
        width: 100%;
        margin: 0 auto 0 auto;
    }
    .main_mv_img> img{
        width: 100%;
    }
    body {
        min-width: 375px;
        margin: 0;
    }
    body.no_scroll {
        overflow: hidden;
    }
    .sp_only{
        display: block !important;
    }
    .pc_only{
        display: none !important;
    }


    /* PC用ナビゲーション非表示 */
    #nav-pc {
        display: none;
    }

    /* ハンバーガーメニュー */
    #menu-sp {
       position: absolute;
       top: 0px;
       right: 0px;
    }

    /* スマホ用ナビゲーションの表示切替*/
    /* 初期状態、レイアウトと非表示設定 */
    #nav-sp {
        background-color: black;
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        display: none;
        z-index: 100;
    }

    /* ×ボタン */
    #close {
        position: absolute;
        top: 20px;
        right: 20px;
    }

    /* ナビゲーションメニュー用ロゴ */
    #logo-sp {
        margin: 80px 0 30px 20px;
    }

    /* ナビゲーションのリンクの装飾設定 */
    #nav-sp > a {
        display: block;
    }

    #nav-sp > a:link {
        color: #ffffff;
    }
    #nav-sp > a:visited {
        color: #ffffff;
    }
    #nav-sp > a:hover {
        color: #ffffff;
        text-decoration: underline;
    }
    #nav-sp > a:active {
        color: #ffffff;
    }

    #nav-sp > .menu {
        text-decoration: none;
        display: block;
        margin: 0 20px 0 20px;
        height: 44px;
        font-size: 16px;
        background-image: url("images/arrow.png");
        background-repeat: no-repeat;
        background-position: right top;
    }

    #sns {
        position: absolute;
        bottom: 20px;
        left: 20px;
    }
    #sns > a {
        margin-right: 30px;
    }

/*----------main_mv--------------*/
.main_mv_img{
    width: 100%;
    position: relative;
    min-height: 400px;
    display: flex;
    vertical-align: bottom;
}
.main_mv_back{
    width: 100%;
    height: 580px;
}
.main_img{
    width: 100%;
}
.main_mv{
    position: relative;
    min-height: 600px;
}
.main_subtit{
    position: absolute;
    top: 8px;
    right: 4%;
    padding: 20px 10px;
    text-align: center;
    width: 100px;
    height: 100px;
    font-weight: 600;
    align-items: center;
    background-color: #FF8F43;
    color: #fff;
    border-radius: 200px;
    z-index: 2;
}
.main_subtit > p{
    margin-top: 14px;
    font-size: 12px;
    font-weight: 800;
}
.main_subtit_02{
    position: absolute;
    top: 70px;
    right: 24%;
    padding: 16px 8px;
    text-align: center;
    width: 80px;
    height: 80px;
    font-weight: 600;
    align-items: center;
    background-color: #FFEB97;
    color: #FF8F43;
    border-radius: 200px;
    z-index: 1;
}
.main_subtit_02 > p{
    margin-top: 10px;
    margin-left: 6px;
    font-size: 11px;
    text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
          -1px 1px 0 #FFF, 1px -1px 0 #FFF,
          0px 1px 0 #FFF,  0-1px 0 #FFF,
          -1px 0 0 #FFF, 1px 0 0 #FFF;
}
.main_tit{
    display: flex;
    align-items: center;
    position: absolute;
    top: 130px;
    right: 0%;
    z-index: 2;
}
.main_tit_l{
    width: 16%;
    font-size: 9vw;
    text-align: center;
    background-color: #FF8F43;
    color: #fff;
    padding: 10px 6px;
    line-height: 1.2;
    border-radius: 16px;
    font-weight: 700;
    margin-top: 20px;
}
.main_tit_r{
    font-size: 7.6vw;
    text-align: center;
    color: #FF8F43;
    text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
          -1px 1px 0 #FFF, 1px -1px 0 #FFF,
          0px 1px 0 #FFF,  0-1px 0 #FFF,
          -1px 0 0 #FFF, 1px 0 0 #FFF;
    font-weight: 700;
    padding: 10px 8px;
    line-height: 1.2;
}
.main_tit_r > span{
    font-size: 4vw;
}



.entry_form {
    position: absolute;
    bottom: 20px;
    right: 20px;
    box-shadow: 5px 5px 10px #707070;
    height: 540px;
    width: 90%;
    text-align: center;
}
.form-wrap {
    background: #fff;
    border-top: 10px solid #FF8F43;
    height: 540px;
    overflow: hidden;
    padding: 15px;
}
.balloon {
    background: #fff;
    border: 1px solid #FF8F43;
    border-radius: 50px;
    color: var(--red);
    display: inline-block;
    position: relative;
    text-align: center;
}
.form-wrap .balloon {
    font-size: 16px;
    margin: 5px auto;
    width: 210px;
    color: #FF8F43;
}
.balloon::before, .form-wrap .balloon::after {
    border-style: solid;
    border-width: 10px 10px 0 10px;
    content: "";
    left: 50%;
    margin-left: -10px;
    position: absolute;
}
.balloon::before {
    border-color: #FF8F43
    rgba(0, 0, 0, 0)
    rgba(0, 0, 0, 0)
    rgba(0, 0, 0, 0);
    bottom: -10px;
}
.balloon::after {
    border-color: #fff
    rgba(0, 0, 0, 0)
    rgba(0, 0, 0, 0)
    rgba(0, 0, 0, 0);
    bottom: -9px;
}
.form_tit {
    color: #FF8F43;
    font-weight: 700;
    font-size: 20px;
}
.form_content dt {
    background: #D9D9D9;
    padding: 5px 5px 5px 5px;
}
.form_content .check {
    display: flex;
    justify-content: space-between;
}
.form_content .check div {
    position: relative;
    width: calc((100% - 10px) / 2);
}
.form_content .check2 div {
    position: relative;
    width: calc((100% - 10px) / 3);
}
.form_content .checkshikaku{
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.form_content .checkstyle{
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.sp {
    display: none;
}
.form_content {
    display: flex;
    overflow: hidden;
    transition: .8s;
    width: calc(200% + 30px);
}
[class*=step] {
    width: calc(50% - 15px);
}
.form_content .check div {
    position: relative;
    width: calc((100% - 10px) / 2);
}
input[type=radio] {
    height: 80%;
    left: 0;
    position: absolute;
    width: 100%;
}
input[type=checkbox] {
    height: 80%;
    left: 0;
    position: absolute;
    width: 100%;
}
.form_content .check :checked+label {
    background: #ff8357;
}
.form_content .check2 :checked+label {
    background: #ff8357;
}
.form_content .check label {
    align-items: center;
    background: #eeeeee;
    border-radius: 5px;
    box-shadow: 0 1px 1px rgba(0,0,0,.6);
    color: #fff;
    cursor: pointer;
    display: flex;
    font-weight: bold;
    height: 40px;
    justify-content: center;
    position: relative;
}
.form_content .check2 label {
    align-items: center;
    background: #eeeeee;
    border-radius: 5px;
    box-shadow: 0 1px 1px rgba(0,0,0,.6);
    color: #fff;
    cursor: pointer;
    display: flex;
    font-weight: bold;
    height: 40px;
    justify-content: center;
    position: relative;
}
.form_content dd {
    padding: 8px 0;
    width: 100%;
}
.text_input > label > span{
    margin-right: 8px;
}
.text_input{
    padding: 8px 0;
    width: 100%;
}
.name_input{
    display: flex;
    gap: 4px;
}
.name_input > label{
    display: flex;
    align-items: center;
}
.name_input > label > input{
    width: 100%;
}
.text_input > input{
    width: 100%;
}
label.select {
    display: block;
    position: relative;
}
select {
    border: 1px solid #707070;
    width: 100%;
}
option {
    font-weight: normal;
    display: block;
    min-height: 1.2em;
    padding: 0px 2px 1px;
    white-space: nowrap;
}
select {
    color: #000;
    padding: 5px 5px 5px 20px;
}
.button-wrap {
    margin: 5px 0;
}
.button-wrap {
    display: flex;
}
.button-wrap > span {
    height: 50px;
}
a.btn-form-next {
    pointer-events: none;
    width: 100%;
}
.input_01{
    display: flex;
    align-items: center;
    margin: 8px auto;
}
.input_01 > dt{
    width: 20%;
    background-color: #fff;
    font-size: 12px;
}
.input_01 > dd{
    width: 80%;
}
.input_01 > div{
    display: flex;
    align-items: center;
    width: 100%;
}
.input_01 > div > .title{
    width: 20%;
    font-size: 12px;
}
.input_01 > div > .select-box{
    width: 80%;
}
#tel ,  #email{
    width: 100%;
}
.form_complete{
    border: #F2ADBC;
    width: 100%;
    margin-left: 10px;
    height: 50px !important;
}
[class*=btn-], input[class*=btn-] ,button{
    align-items: center;
    background: linear-gradient(to right, #F2ADBC, #F2ADBC);
    border-radius: 50px;
    box-shadow: 0 5px 10px rgba(0,0,0,.1);
    color: #fff;
    cursor: pointer;
    display: flex;
    font-weight: bold;
    justify-content: center;
    position: relative;
    text-decoration: none;
}
[class*=btn-form], input[class*=btn-form] {
    font-size: 20px;
    height: 60px;
}
.step2 {
    margin-left: 15px;
}
.form_content .name input[type=text]:first-of-type {
    margin-right: 10px;
}
.form_content .name input[type=text] {
    width: calc((100% - 10px) / 2);
}
.btn-form-back {
    background: #fff;
    border: 1px solid #bebebe;
    box-shadow: none;
    color: #bebebe;
    width: 40%;
}
.btn{
    width: 70%;
}
#btnmousikomi{
    width: 90%;
    border: #000 0px solid;
    height: 50px;
    margin: 0 auto;
}
.note{
    font-size: 10px;
}

/* メインビジュアル*/
#main-visual {
    position: relative;
    height: 400px;
}
#main-message {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #2710d5;
    color: #ffffff;
    border-radius: 0 0 476px 0;
    max-width: 620px;
    height: 100%;
    width: 100%;
    z-index: 11;
}
#main-message > h1 {
    font-size: 60px;
    font-weight: bold;
    margin: 100px 0 0 50px;
}

#main-message > p {
    font-size: 28px;
    margin: 0 0 0 50px;
}
#main-visual > img {
    max-width: 620px;
    border-radius: 476px 0 0 0;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}

/*見出し*/
h3 {
    font-size: 27px;
}
.f_or{
    color: #ff8357;
}
.content_tit{
    text-align: center;
    font-weight: bold;
    font-size: 4.8vw;
}
.f_b{
    font-weight: bold;
}

/*------------------points-----------------------*/
.points{
width: 100%;
margin: 40px 0 20px;
}
.points_content{
margin: 0 auto;
width: 100%;
}
.points_content> ol  {
max-width: 100%;
font-weight: bold;
text-align: left;
font-size: 4vw;
margin: 0 auto;
list-style: none;
padding: 0 4vw;
counter-reset: li;
}
.points_content> ol > li {
margin: 30px 0;
padding-left: 20%;
position: relative;
}
ol li:not(:first-child) {
margin-top: 0.2em;
}
.points_content> ol > li::before {
counter-increment: li;
content: counter(li);
position: absolute;
left: 4%;
top: 50%;
font-size: 6vw;
height: 10vw;
margin-top: -25px;
padding: 9px;
width: 10vw;
align-items: center;
background: #f23716;
border-radius: 50%;
box-sizing: border-box;
color: #fff;
display: flex;
font-weight: bold;
font-style: italic;
}
.points_content> ol > li::marker {
background-color: #f23716;
}
/*------------------points-----------------------*/
/*----------------joblistings---------------------*/
.joblistings{
background-color: #FFEB97;
padding: 80px 40px 0px;
position: relative;
margin-bottom: 80px;
}
.joblistings_content{
display: block;
justify-content: space-between;
}
.joblistings_content > div{
width: 100%;
background-color: #fff;
border-radius: 8px;
}
.joblistings_content > div > img{
border-radius: 8px 8px 0 0;
width: 100%;
}
.joblistings_text{
padding: 16px;
}
.joblistings_text_salary{
font-weight: bold;
text-align: right;
font-size: 3.8vw;
margin: 8px 0;
}
.joblistings_text_label{
display: flex;
justify-content: space-between;
}
.joblistings_text_label > p{
background-color: rgb(241, 155, 198);
padding: 8px 8px;
font-weight: bold;
width: 48%;
text-align: center;
}
.supplement{
text-align: left;
margin-top: 8px;
text-indent: -1em;
padding-left: 1em;
}
.joblistings::after {
content: '';
position: absolute;
top: 8px;
bottom: -10px;
left: 0;
right: 0;
background-color: #FFEB97;
transform: skewY(-4deg) translateY(60px);
z-index: -1;
}
.joblistings::before {
position: absolute;
content: "";
top: 28px;
left: 50%;
border-top: 30px solid #fff;
border-right: 100px solid transparent;
border-bottom: 30px solid transparent;
border-left: 100px solid transparent;
-webkit-transform: translateY(-50%) translateX(2px);
transform: translateY(-50%) translateX(-50%);
}

/*----------------joblistings---------------------*/
/*----------------Features---------------------*/
#features{
margin: 20px auto;
padding: 20px 5%;
text-align: center;
}
.features_tit{
background-color: #FF8F43;
color: #fff;
width: 90%;
margin: 10px auto;
font-size: 7vw;
}
.features_best{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.features_best_content{
width: 48%;
}
.features_best_content > img{
width: 100%;
}
.features_select_tit{
font-weight: bold;
font-size: 5.6vw;
margin: 16px auto;
}
.features_select_text{
font-weight: 700;
font-size: 3.7vw;
width: 100%;
margin: 0 auto;
}
/*----------------Features---------------------*/
/*----------------online---------------------*/
#online{
margin: 16px auto;
text-align: center;
}
.online_tit{
display: inline-block;
background: linear-gradient(transparent 70%, #FFEB97 60%);
color: #FF8F43;
}
.online_text{
font-weight: bold;
margin: 16px auto;
font-size: 6vw;
}
.online_text_02{
font-size: 3.7vw;
font-weight: 600;
margin: 0 20px 20px;
}
.online_button{
font-size: 4.8vw;
color: #fff;
}
.online_button > a{
display: inline-block;
padding: 16px 32px;
border-radius: 40px;
font-weight: bold;
width: 90%;
margin: 10px auto;
color: #fff;
text-decoration: none;
}
.online_button > a:hover{
opacity: 0.6;
}
.signup_button{
background-color: #F2ADBC;
}
.line_button{
background-color: #9AD375;
}
/*----------------online---------------------*/
/*----------------counseling---------------------*/
#counseling{
background-color: #FFEB97;
padding: 40px 20px 0px;
position: relative;
}
.counseling_text{
text-align: center;
}
.counseling_subtit{
display: inline-block;
position: relative;
border: #fff 4px solid;
padding: 8px;
font-size: 4.8vw;
margin-bottom: 32px;
font-weight: 600;
}
#counseling::after {
content: '';
position: absolute;
top: 10px;
bottom: -10px;
left: 0;
right: 0;
background-color: #FFEB97;
transform: skewY(-4deg) translateY(60px);
z-index: -1;
}
.counseling_subtit::before {
content: "";
position: absolute;
bottom: -5px;
left: 50%;
width: 15px;
height: 15px;
box-sizing: border-box;
background-color: #FFEB97;
rotate: 135deg;
translate: -50%;
}
.counseling_subtit::after {
content: "";
position: absolute;
top: calc(100% + 11px);
left: calc(50% - 20px);
z-index: -1;
width: 30px;
height: 4px;
transform: rotate(64deg);
box-sizing: border-box;
background-color: #fff;
box-shadow: 0 0px 0 #FFEB97, 0 -2px 0 #FFEB97;
z-index: 4;
}
.back_c_o {
background-color: #FF8F43;
color: #fff;
margin: 10px auto;
padding: 5px;
}
.font_c_o{
color: #FF8F43;
text-shadow: #fff 1px 0 5px;;
}

.counseling_list{
background-color: #fff;
padding: 20px 0;
width: 100%;
max-width: 1200px;
height: 200px;
margin: 20px auto;
box-shadow: 5px 5px 10px #707070;
}
.counseling_list_flex{
display: flex;
align-items: center;
}
.counseling_list_label{
background-color: #9AD375;
padding: 12px 0px 10px;
position: relative;
height: 44px;
color: #fff;
font-weight: 700;
font-size: 3.4vw;
vertical-align: middle;
}
.counseling_list_label::before {
position: absolute;
content: "";
top: 22px;
left: -5.8px;
border-top: 22px solid #9AD375;
border-right: 6px solid #9AD375;
border-bottom: 22px solid #9AD375;
border-left: 6px solid #9AD375;
-webkit-transform: translateY(-50%) translateX(2px);
transform: translateY(-50%) translateX(-50%);
z-index: 3;
}
.counseling_list_label::after {
position: absolute;
content: "";
top: 22px;
right: -72px;
border-top: 22px solid transparent;
border-right: 24px solid transparent;
border-bottom: 22px solid transparent;
border-left: 24px solid #9AD375;
-webkit-transform: translateY(-50%) translateX(2px);
transform: translateY(-50%) translateX(-50%);
}
.counseling_list_tit{
margin-left: 32px;
width: 70%;
font-size: 3.7vw;
color: #FF8F43;
font-weight: 700;
text-align: left;
}
.counseling_list_text{
padding: 20px 20px;
font-size: 2.6vw;
font-weight: 600;
}
/*----------------counseling---------------------*/
/*----------------interview---------------------*/
#interview{
margin-top: 120px;
}
.interview_tit{
text-align: center;
}
.interview_tit > h3{
display: inline-block;
color: #FF8F43;
}
.interview_flex{
display: block;
justify-content: space-between;
width: 80%;
margin: 10px auto;
}
.interview_list{
padding: 20px 0px;
width: 100%;
}
.interview_list > img{
width: 160px;
margin: 10px auto 20px;
}
.interview_list > p{
font-weight: 700;
}
/*----------------interview---------------------*/
/*----------------service---------------------*/
#service{
margin: 20px 20px;
text-align: center;
}
.service_tit{
background-color: #FF8F43;
color: #fff;
width: 100%;
margin: 10px auto;
}
.service_tit > h3{
font-size: 5.5vw;
}
.service_content > p{
font-weight: 700;
font-size: 3.5vw;
width: 90%;
margin: 20px auto;
}
/*----------------service---------------------*/
/*----------------flow---------------------*/
#flow{
margin: 40px auto 20px;
text-align: center;
width: 90%;
}
.flow_tit{
background-color: #FF8F43;
color: #fff;
width: 100%;
margin: 10px auto;
font-size: 7vw;
}
.flow_flex{
display: block;
justify-content: space-between;
}
.flow_list{
width: 100%;
font-weight: 600;
}
.flow_list > img{
width: 100%;
}
.flow_list_tit{
color: #FF8F43;
margin: 10px auto;
}
.flow_list_text{
    text-align: left;
}
/*----------------flow---------------------*/
/*----------------q&a---------------------*/
#qa{
position: relative;
margin-top: 40px;
margin-bottom: 120px;
padding-bottom: 40px;
background-color: #FFEB97;
}
#qa::after {
content: '';
position: absolute;
top: 10px;
bottom: -10px;
left: 0;
right: 0;
background-color: #FFEB97;
transform: skewY(-4deg) translateY(60px);
z-index: -1;
}
.qa_tit{
text-align: center;
}
.qa_tit > h3{
display: inline-block;
color: #FF8F43;
margin: 40px auto 10px;
}
.qa_list{
width: 90%;
margin: 0px auto;
}
.readmore p{
font-weight: 600;
font-size: 3.2vw;
background-color: #fff;
padding: 16px 12px 16px 34px;
box-shadow: 5px 5px 10px #707070;
text-indent: -2rem;
}
.readmore p > span{
background-color: #F2ADBC;
padding: 6px;
border-radius: 24px;
margin-right: 10px;
font-size: 3.2vw;
color: #fff;
}
.text_area{
background-color: #fff;
margin: auto 40px;
padding: 20px 20px 20px 20px;
box-shadow: 5px 5px 10px #707070;
}
.text_area p{
position: relative;
padding-left:36px;
font-weight: 600;
}
.text_area p::before{
content: "A";
display: block;
width: 30px;
height: 30px;
position: absolute;
left: -10px;
top: 10px;
background-color: #FFEB97;
text-align: center;
font-size: 20px;
border-radius: 40px;
color: #FF8F43;
font-weight: 600;
}
.readmore + .text_area {
position:relative;
display: none;
margin: 20px 20px 30px;
transition: transform .4s;
}
.readmore {
position:relative;
margin-top: 30px;
padding: 0px 4px 10px 0;
}
.readmore:hover {
opacity: 0.7;
}
.readmore:after{
content: "";
display: block;
width: 10px;
height: 10px;
position: absolute;
right: 4px;
top: 24px;
transition: transform .4s;
font-weight: 700;
color: #FF8F43;
border-bottom: 3px solid #FF8F43;
border-right: 3px solid #FF8F43;
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transform: rotate(45deg) translateY(-50%) translateX(-50%);
transform: rotate(45deg) translateY(-50%) translateX(-50%);
}
.readmore.open:after {
content: "";
position: absolute;
right: 4px;
top: 28px;
border-bottom: 0px solid transparent;
border-right: 0px solid transparent;
border-top: 3px solid #FF8F43;
border-left: 3px solid #FF8F43;
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transform: rotate(45deg) translateY(-50%) translateX(-50%);
transform: rotate(45deg) translateY(-50%) translateX(-50%);
}
.readmore:hover{
cursor: pointer;
}
/*----------------q&a---------------------*/
/* フッター */
footer {
    margin-top: 40px;
    background-color: #fff;
    padding: 20px 20px 10px 20px;
    border-top: 40px #FFEB97 solid;
}
.footer_tit{
    text-align: center;
}
.footer_tit > p{
    display: inline-block;
    color: #FF8F43;
    font-size: 7.6vw;
    font-weight: 900;
}
.footer_tit > p > span{
    color: #FF8F43;
    font-size: 5.4vw;
    font-weight: 600;
}
.footer_company{
    width: 100%;
    margin: 10px auto;
}
.footer_list{
    display: flex;
    justify-content: space-between;
    margin: 10px auto;
}
.footer_list_tit{
    font-size: 3.4vw;
    color: #FF8F43;
    width: 20%;
}
.footer_list_text{
    text-align: left;
    width: 80%;
    font-size: 3.4vw;
}
#sns-footer {
    text-align: left;
    width: 100%;
}
#copyright {
    margin-top: 10px;
    color: #000;
    text-align: center;
    font-size: 12px;
}
}
