@charset "UTF-8";

body {
    font-family: "Noto Sans", sans-serif;
    width : 100%;
    background-color: #284B7D;
    position: relative;
    line-height: 1.4;
    font-weight: 500;
    color: #333;
    letter-spacing: 0.06rem;
}

/* pc用背景ナビゲーション */
:target {
    scroll-margin-top: 92.37px;
}

.pc-nav-wrap {
    top: 50px;
    left: 60px;
    display: none;
    position: fixed;
}

.pc-nav {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.pc-menu {
    list-style: none;
    transition: .5s ease;
    cursor: pointer;
    position: relative;
    margin-left: 30px;
}

.pc-menu span {
    margin-left: 12px;
    font-family: "Noto Sans", sans-serif;
    font-size: 13px;
}

.pc-menu a {
    text-decoration: none;
    color: #FFF;
    font-family: "Figtree", sans-serif;
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0.02em;
}

.pc-menu:hover::after {
    content: "";
    position: absolute;
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 7px;
    height: 7px;
    background-color: #E15B91;
    border-radius: 50px;
    transition: .5s ease;
}

.pc_logo {
    width: 165px;
    margin-bottom: 123px;
}

.inner {
    max-width: 550px;
    width: 100%;
    margin: 0 auto;
    height: fit-content;
    box-shadow: 0 0 6px 2px rgba(0, 36, 87, 0.7);
}

/* テキスト */

.number {
    font-family: "Figtree", sans-serif;
    letter-spacing: 0;
}

.english_subtitle {
    font-family: "Figtree", sans-serif;
    font-weight: 600;
    color: #284B7D;
    line-height: 1.2;
    font-size: 0.875rem;
}

/* テキストウェイト */
.regular { font-weight: 400; }
.medium { font-weight: 500; }
.semibold { font-weight: 600; }
.bold { font-weight: 700; }

/* テキストサイズ */
:root {
  --size-12: 0.75rem; /* 12px */
  --size-13: 0.8125rem; /* 13px */
  --size-14: 0.875rem;  /* 14px */
  --size-15: 0.9375rem; /* 15px */
  --size-16: 1rem;      /* 16px */
  --size-17: 1.0625rem; /* 17px */
  --size-18: 1.125rem;  /* 18px */
  --size-19: 1.1875rem; /* 19px */
  --size-20: 1.25rem;   /* 20px */
  --size-21: 1.3125rem; /* 21px */
  --size-22: 1.375rem;  /* 22px */
  --size-23: 1.4375rem; /* 23px */
  --size-24: 1.5rem;    /* 24px */
  --size-25: 1.5625rem; /* 25px */
  --size-26: 1.625rem;  /* 26px */
  --size-27: 1.6875rem; /* 27px */
  --size-28: 1.75rem;   /* 28px */
  --size-29: 1.8125rem; /* 29px */
  --size-30: 1.875rem;  /* 30px */
  --size-31: 1.9375rem; /* 31px */
  --size-32: 2rem;      /* 32px */
  --size-36: 2.25rem;      /* 36px */
}

[class^="fs-"] {
    font-size: var(--size);
}

.fs-12 { --size: var(--size-12); }
.fs-13 { --size: var(--size-13); }
.fs-14 { --size: var(--size-14); }
.fs-15 { --size: var(--size-15); }
.fs-16 { --size: var(--size-16); }
.fs-17 { --size: var(--size-17); }
.fs-18 { --size: var(--size-18); }
.fs-19 { --size: var(--size-19); }
.fs-20 { --size: var(--size-20); }
.fs-21 { --size: var(--size-21); }
.fs-22 { --size: var(--size-22); }
.fs-23 { --size: var(--size-23); }
.fs-24 { --size: var(--size-24); }
.fs-25 { --size: var(--size-25); }
.fs-26 { --size: var(--size-26); }
.fs-27 { --size: var(--size-27); }
.fs-28 { --size: var(--size-28); }
.fs-29 { --size: var(--size-29); }
.fs-30 { --size: var(--size-30); }
.fs-31 { --size: var(--size-31); }
.fs-32 { --size: var(--size-32); }
.fs-36 { --size: var(--size-36); }

.navy {
    color: #284B7D;
}
.gray {
    color: rgba(57, 57, 57, 0.6);
}
.white {
    color: #FFF;
}

.pink {
    color: #E15B91;
}

.dot {
position: relative;
}

.dot::after {
    position: absolute;
    content: "";
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    width:0.3125rem;
    height:0.3125rem;
    border-radius: 50%;
    background-color: #E15B91;
}

/* ボタン */
.btn {
    background-color: #00B900;
    width: 100%;
    border-radius: 50px;
    display: block;
    align-content: center;
    text-align: center;
    text-decoration: none;
    position: relative;
    transition: .5s ease;
}
.btn:hover {
    filter: brightness(0.8);
}

.btn p {
    color: #FFF;
    margin: 0 auto;
    width: fit-content;
}

.btn img {
    position: absolute;
    right: 0.625rem;
    top: 50%;
    transform: translateY(-50%);
}


/* ヘッダー */

header {
    box-sizing: border-box;
    width: 100%;
    height: 4.125rem;
    padding: 15px 16px;
    max-width: 550px;
    margin: 0 auto;
    position: fixed;
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    z-index: 999;
}

.header_logo {
    width: 8.423rem;
    height: 1.375rem;
    align-self: center;
}
.header_logo img {
    width: 100%;
    height: 100%;
}

.header_line_button {
    width: 9.125rem;
    height: 2.25rem;
}

.header_line_button :hover {
    filter: brightness(0.8);
}

.header_line_button img {
    width: 100%;
    height: 100%;
}

/* FV */
.fv {
    background-image: url(../img/FV.webp );
    background-size: cover;
    background-position: top center;
    width: 100%;
    padding: 172.7% 1.25rem 12.5%;
}

.detail_board {
    padding: 18px 1.25rem;
    background-color: #fff;
    box-shadow: 0px 0px 0.625rem rgba(40, 76, 121, 0.2);
    border-radius:0.3125rem;
}
.col-2 {
    display: flex;
}
.detail_wrap {
    display: flex;
    align-items: center;
}

.detail_wrap p {
    white-space: nowrap;
}

.block_title {
    width: 2.8125rem;
    height: 2.875rem;
    background-color: #284B7D;
    border-radius: 0.125rem;
    align-content: center;
    text-align: center;
    color: #FFF;
    margin-right: 0.375rem;
    line-height: 1.1;
}
.detail_board .col-2 {
    margin-bottom: 16px;
}

.col-2 .detail_wrap:first-child {
    margin-right: 19px;
    line-height: 1;
}

/* 求人セクション */
.recruit {
    /*background-color: #EEF1F6;*/
    background-image: url(../img/upper_curved_bg.webp);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
    margin-top: -7%;
    padding: 12.7% 20px 12.7%;
}

.recruit_upperflat {
    background-color: #284B7D;
    text-align: center;
    padding: 12.7% 20px 12.7%;
}

.white_bg_text {
    background-color: #fff;
    border-radius: 2px;
    width: 100%;
    margin: 0 auto;
    line-height: 2;
}

.recruit .white_bg_text, .recruit_upperflat .white_bg_text {
    margin: 8px auto 1.375rem;
}

.recruit_wrap {
    background-image: url(../img/recruit_img.webp);
    background-position: top center;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #fff;
    padding-top: 61.28%;
    padding-bottom: 6.4%;
    border-radius: 0.3125rem;
}

.recruit_contents {
    margin: 25px 25px 0 25px;
    line-height: 1.6;
}

.only_for_sp {
    display: none;
}

/*
.recruit_contents p {
    white-space: nowrap;
} */

.navy_border {
    border-bottom: 1px solid rgba(40, 75, 125, 0.2);
    width: 100%;
    margin: 18px auto;
}

.recruit_btn {
    height: 4.625rem;
    margin: 1.875rem auto 0.9375rem;
}
.recruit_btn p {
    font-size: 1.25rem;
    line-height: 1.3;
    letter-spacing: 0.06em;
}

.underline {
    position: relative;
    width: fit-content;
    margin: 0 auto;
}

.underline::after {
    display: inline;
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #FFF;
}
/* こんなお悩みありませんか？ */
.issues {
    background-image: url(../img/gray_bg.webp);
    background-position: bottom center;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
    padding: 45px 25px 50px;
}

.issues_img {
    width: 50%;
    margin: 40px auto 0.625rem auto;
}

.issues_wrap {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0;
    margin: 40px auto 0;
}

.issues_contents {
    display: flex;
    width: 100%;
    justify-content: space-between;
    text-align: left;
}

.issues_contents img {
    width: 54px;
    height: 54px;
    margin-right: 1.25rem;
    align-self: center;
}

.dotted_border {
    background-size: 7px 1px;
    background-image: linear-gradient(to right, rgba(51, 51, 51, 0.5) 4px, transparent 4px);
    background-repeat: repeat-x;
    background-position: left bottom;
    padding-bottom: 16px;
    margin-bottom: 16px;
}

.issues_contents .fs-16 {
    width: 100%;
    align-self: center;
}

.vertical_dots {
    width: 6px;
    height: 38px;
    margin: 1.25rem auto;
}

.issues_strong{
    font-size: 26px;
    line-height: 1.5;
}

/* solution */
.solution {
    padding: 50px 20px 45px;
    text-align: center;
    line-height: 1;
}

.solution h1 {
    line-height: 1.7;
    width: fit-content;
    margin: 0 auto;
}

.pink_marker {
    position: relative;
    z-index: 1;
}

.pink_marker::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    border-bottom: 11px solid #E15B91;
    z-index: -1;
}

.aligned_arrows {
    width: 7.25rem;
    height: 1.375rem;
    margin: 0.9375rem auto 1.25rem auto;
}

.solution_lists {
    list-style: none;
}

.solution_contents {
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    width: 20.8125rem;
    margin: 0.625rem auto;
    border-radius: 0.125rem;
    height: 2.8125rem;
    padding: 0.625rem;
}
.solution_contents img {
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.625rem;
    align-self: center;
}

.solution_contents p {
    width: 100%;
    text-align: left;
    align-self: center;
}

.dashed {
    position: relative;
    width: fit-content;
    margin: 0 auto;
}
.dashed::after {
    content: "";
    position: absolute;
    bottom: -7px;
    left: 0;
    width: 90%;
    border-bottom: 2px dashed #FFF;
    z-index: -1;
}

.solution_wrap {
    margin: 2.5rem auto 1.25rem;
    letter-spacing: 0.1rem;
    line-height: 1.7;
}

.solution_wrap .dot {
    margin-left: -7px;
}

#solution_reason {
    width: 100%;
    background-color: #fff;
    border-radius: 0.3125rem;
    padding: 25px 20px 35px;
    text-align: center;
}

.solution_reason_title {
    width: 13.4375rem;
    margin: 0 auto;
}

.solution_reason_wrap {
    margin: 2.1875rem auto 1.25rem;
}

.solution_reason_wrap_contents {
    display: flex;
    gap: 11px;
    margin-bottom: 17px;
}

.solution_reason_img {
    width: 8.3125rem;
    height: 6.5rem;
    object-fit: cover;
    object-position: center;
}

.solution_reason_wrap_contents p {
    text-align: left;
    width: 100%;
    align-self: center;
    letter-spacing: 0.02em;
    line-height: 1.6;
}
.solution .dotted_border {
    margin-bottom: 30px;
}

.bg_pink {
    background-color: #E15B91;
    padding: 7px 0.625rem;
    letter-spacing: 0.05em;
    white-space: nowrap;
    margin-top: 0.625rem;
}

/* reasons */
.reasons {
    padding: 2.8125rem 1.25rem;
    background-color: #EEF1F6;
    text-align: center;
}

.reasons_title {
    letter-spacing: 0.1em;
    line-height: 1;
    margin: 0.75rem auto 2.1875rem;
}

.reasons_contents {
    padding: 25px;
    background-color: #fff;
    border-radius: 0.3125rem;
    margin-bottom: 25px;
}
.reasons_contents:last-child {
    margin-bottom: 0;
}

.reasons_contents_title {
    display: flex;
    align-items: start;
    margin-bottom: 25px;
}

.reasons_contents_title img {
    width: 1.375rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    margin-top: 4px;
}
.reasons_contents_title p {
    width: 100%;
    text-align: left;
}

.reasons_contents_text {
    text-align: left;
    margin-top: 25px;
    line-height: 1.6;
}

/* キャリプラン */
.career_plan {
padding: 45px 1.25rem;
background-color: #FFF;
text-align: center;
}

.career_plan h1 {
    letter-spacing: 0.1em;
    margin: 0.625rem auto 2.6875rem;
}

.career_plan_contents {
    padding: 10px 25px 35px 25px;
    background-color: #EEF1F6;
    border-radius: 0.3125rem;
    margin-bottom: 1.25rem;
}
.career_plan_contents:last-child {
    margin-bottom: 0;
}

.navy_bg {
    background-color: #284B7D;
    margin: 1rem auto;
}

.career_plan_contents .fs-16 {
    color: #5A5A5A;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-align: left;
}

/* concerns */
.concerns {
    padding: 50px 1.25rem 45px;
    background-color: #EEF1F6;
    text-align: center;
}

.concerns_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px 0.9375rem;
    margin: 45px auto 40px;
}
.concerns_block {
    text-align: center;
    position: relative;
    background-color: #fff;
    border-radius: 0.3125rem;
    width: 100%;
    height: 6.5rem;
    align-content: center;
}

.concerns_block img {
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
    height: 2.2rem;
}
.concerns .solution_lists {
    margin: 1.25rem auto 25px;
}

.concerns .solution_contents {
    background-color: #284B7D;
    height: fit-content;
    width: 100%;
}

.concerns .dashed::after {
    bottom: 2px;
    width: 100%;
    border-bottom: 1px dashed #284B7D;
    z-index: 0;
}

.concerns .dot {
    margin-left: -3px;
}

.concerns_solution_text {
    margin: 40px auto 1.25rem;
}

.concerns_solutions_title {
    width: 15.125rem;
    margin: 0 auto;
}

.concerns_solutions_reasons {
    padding: 25px 25px 50px 25px;
    background-color: #fff;
}

.concerns_solutions_label {
    display: flex;
    gap: 1.375rem;
    text-align: left;
    align-self: flex-start;
    letter-spacing: 0.1em;
}

.concerns_solutions_label img {
    width: 1.25rem;
    height: 1.375rem;
    margin-top: 1px;
}

.concerns_solutions_img {
    margin: 1.5625rem auto;
}

.concerns_solution_contents_text {
    text-align: left;
    line-height: 1.6;
}

.concerns .navy_border {
    margin: 1.875rem auto;
}

.concerns_solutions_contents:first-of-type {
    margin-top: 2.8125rem;
}

/* 研修制度 */
#training {
    background-color: #fff;
    text-align: center;
    padding: 40px 43px 45px 43px;
    letter-spacing: 0.1em;
}

.training_title {
    font-weight: 500;
    width: fit-content;
    margin: 0 auto;
}

#training .fs-16 {
    text-align: left;
    margin: 2.5rem auto 3.4375rem;
}

.pink_underline {
    position: relative;
}

.pink_underline::after {
    position: absolute;
    content: "";
    border-bottom: 1px solid #E15B91;
    bottom: -0.3125rem;
    left: 0;
    width: 100%;
}

.training_subtitle {
    font-weight: 500;
    color: #E15B91;
    text-align: left;
    font-size: 1.25rem;
    margin-bottom: 1.375rem;
}

.training_lists {
    text-align: left;
    padding: 0;
    margin: 0 auto;
}

.training_lists:first-of-type {
    margin-bottom: 3.4375rem;
}

.training_lists p {
    list-style: none;
    line-height: 1.6;
}

.bk_border {
    border-bottom: 1px solid rgba(51, 51, 51, 0.2);
    width: 100%;
    margin: 0.75rem auto;
}

/* vision */
#vision {
    background-color: #EEF1F6;
    padding: 50px 25px;
    text-align: center;
}
.vision_title {
    font-weight: 500;
    width: fit-content;
    margin: 0 auto;
}

.vision_wrap {
    background-color: #fff;
    padding: 1.875rem 1.875rem 1.25rem;
    margin: 2.5rem auto;
}

.vision_subtitle {
    font-family: "Figtree", sans-serif;
    font-size: 1.25rem;
    color: #E15B91;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.04em;
}

.vision_wrap .fs-18 {
    margin-bottom: 1.25rem;
    letter-spacing: 0.04em;
    white-space: nowrap;
}
.vision_wrap img {
    width: 7.0625rem;
    height: 7rem;
    margin: 1.5625rem auto;
}

.vision_wrap .fs-16 {
    text-align: left;
    line-height: 1.6;
    letter-spacing: 0.1em;
}

.vision_wrap .bk_border {
    margin: 1.875rem  auto;
}

/* 働くスタッフの声 */
.voice {
    background-color: #fff;
    padding: 40px 50px 50px 50px;
    text-align: center;
    position: relative;
}

.voice h1 {
    margin-top: 4px;
}

.single-item {
    margin: 40px auto 100px;

}

.name {
    margin: 25px auto 0.3125rem;
    font-size: 1.25rem;
    letter-spacing: 0.1em;
    line-height: 1.3;
}

.position {
    font-size: 1rem;
    color: #E15B91;
    letter-spacing: 0.1em;
    line-height: 1.3;
}

.review {
    margin-top: 25px;
    text-align: left;
    line-height: 1.6;
}

.slick-prev, .slick-next {
    all: unset;
    /* visibility: hidden; */
    width: 50px;
    height: 50px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -100px;
}

.slick-prev {
    background-image: url(../img/arrow_prev.svg);
    left: 30px;
}

.slick-next {
    background-image: url(../img/arrow_next.svg);
    right: 30px;
}

.slide-count {
    font-family: "Figtree", sans-serif;
    letter-spacing: 0.1em;
    font-size: 1.125rem;
    position: absolute;
    bottom: 8.5%;
    left: 50%;
    transform: translateX(-50%);
}

/* Flow */
#flow {
    background-color: #fff;
    padding: 45px 1.25rem 50px;
    text-align: center;
}

#flow h1 {
    margin: 4px auto 0;
}

.flow_content {
    margin-top: 2.1875rem;
}

.flow_label {
    display: flex;
    gap: 0.625rem;
}

.flow_label img {
    width: 2.3125rem;
    height: 2.3125rem;
}

.flow_label p {
    width: 100%;
    text-align: left;
    align-self: center;
}

.flow_right {
    text-align: right;
    padding-left: 45px;
    margin-top: 0.625rem;
}

.flow_right p {
    line-height: 1.6;
    letter-spacing: 0.1em;
    margin: 0.875rem auto;
    text-align: left;
}

.flow_btn {
    height: 3.875rem;
}

.flow_btn p {
    line-height: 1;
    font-size: 1.25rem;
    letter-spacing: 0.06em;
    margin: 0 auto;
}

/* 募集要項 */
#info {
    background-color: #EEF1F6;
    padding: 40px 1.25rem 25px;
    text-align: center;

}

#info h1 {
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-top: 4px;
}

.info_wrap {
    background-color: #fff;
    margin-top: 1.875rem;
    padding: 2.1875rem 1.5625rem;
    text-align: left;
}

.info_subtitle {
    font-size: 1.125rem;
    color: #284B7D;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 1.25rem;
}

.info_contents {
    display: flex;
    flex-direction: column;
    gap: 3.6px;
}

.info_contents p {
    line-height: 1.4;
    letter-spacing: 0.1em;
}

.info_wrap .bk_border {
    margin: 1.875rem auto;
}

/* よくある質問 */
#faq {
    background-color: #EEF1F6;
    padding: 26px 1.25rem 50px;
    text-align: center;
    margin-top: -1px;
}

#faq h1 {
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-top: 4px;
}

.faq_wrap {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.faq_content:first-of-type {
    margin-top: 1.875rem;
}

.faq_content {
    background-color: #fff;
    padding: 0 1.25rem;
    display: block;
}

.faq_question {
    display: flex;
    text-align: left;
    align-items: center;
    padding: 1rem 0;
}

.faq_question .number, .faq_answer .number {
    font-weight: 600;
    font-size: 1.25rem;
    color: #284B7D;
    margin-right: 1.25rem;
    align-self: baseline;
}

.fax_question_text {
    font-size: 1rem;
    letter-spacing: 0.06em;
    line-height: 1.3;
    width: 100%;
    text-align: left;
}

.hidden_items {
    display: none;
}

.faq_answer {
    display: flex;
    text-align: left;
    padding: 1rem 0;
}

#faq .navy_border {
    margin: 0;
}

.faq_answer_text {
    font-size: 1rem;
    letter-spacing: 0.06em;
    line-height: 1.3;
}

.faq_arrow {
    width: 2rem;
    height: 2rem;
    transition: transform 0.5s ease;
}

.faq_arrow.open {
    transform: rotate(180deg);
}

.faq_answer_btn {
    background-color: #284B7D;
    height: 3.875rem;
    margin: 0.875rem auto 1.875rem;
}

.faq_answer_btn p {
    font-size: 1.125rem;
    letter-spacing: 0.06em;
}

/* CTA */
.cta {
    width: 100%;
    max-width: 550px;
    padding: 0.625rem 1.5625rem;
    position: fixed;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.8);
}
.cta_btn {
    height: 3.25rem;
    line-height: 1;
    letter-spacing: 0.06em;
    font-size: 1.25rem;
}

/* footer */
footer {
    width: 100%;
    height: 9.0625rem;
    text-align: center;
    padding-top: 1.875rem;
}

/* レスポンシブ */
@media screen and (max-width: 370px) {
    .fv .fs-25 {
        font-size: 1.4375rem;
    }
    .fv .fs-20 {
        font-size: 1.0625rem;
    }

    .detail_board {
        padding: 15px 0.6rem;
    }
    .block_title {
        font-size: 0.8rem;
        width: 2.5rem;
        height: 2.5rem;
    }

    .recruit_contents p {
        font-size: 98%;
    }

    .only_for_sp {
        display: block;
    }

    .solution_contents {
        max-width: 100%;
    }

    .instagram-media {
        min-width: 300px !important;
    }

    .bg_pink {
        white-space: wrap;
    }

    .issues_contents .fs-16 {
        font-size: 0.875rem;
    }

    .recruit .white_bg_text, .recruit_upperflat .white_bg_text {
        font-size: 130%;
    }

}
@media screen and (min-width: 550px) {
    html {
        font-size: 139.96%;
    }

    /* ヘッダー */
    header {
        height: 92.37px;
        padding: 21px 22px;
    }
    .fv {
        padding: 172% 28px 15.65%;
    }

    /* recruit */
    .recruit {
        padding: 12.55% 30px 12.55%;
        margin-top: -8%;
    }

    .recruit_contents {
        margin: 21px 34px 0 34px;
    }


    .recruit_btn p {
        font-size: 1.25rem;
        line-height: 1.3;
        letter-spacing: 0.06em;
    }

    /* issues */
    .issues {
        padding: 78px 35px 72px;
    }

    /* solutions */
    .solution {
        padding: 35px 30px 63px;
    }

    #solution_reason {
        width: 100%;
        background-color: #fff;
        border-radius: 0.3125rem;
        padding: 35px 21px 48px;
        text-align: center;
    }
    .solution_reason_wrap_contents {
        gap: 17px;
        margin-bottom: 35px;
    }
    .dotted_border {
        padding-bottom: 9px;
    }

    .reasons_contents {
        padding: 34px;
        margin-bottom: 35px;
    }

    .reasons_contents_title {
        margin-bottom: 35px;
    }

    .reasons_contents_text {
        margin-top: 31px;
    }

    /* career plan */
    .career_plan {
        padding: 55px 1.25rem 70px;
    }

    .career_plan_contents {
        padding: 10px 34px 44px;
    }

    /* concerns */
    .concerns {
        padding: 57px 1.25rem 63px;
    }

    .concerns_grid {
        gap: 35px 21px;
        margin: 53px auto 59px;
    }

    .concerns_solution_text {
        margin: 65px auto 35px;
    }

    .concerns_solutions_reasons {
        padding: 45px 35px 70px 35px;
    }

    /* training */
    #training {
        padding: 56px 59px 63px;
    }

    /* vision */
    #vision {
        padding: 73px 35px 70px;
    }

    .vision_wrap img {
        margin: 28px auto;
    }
    .vision_wrap .fs-18 {
        margin-bottom: 24px;
    }

    /* flow */
    #flow {
        padding: 65px 30px 70px;
    }

    .flow_right {
        padding-left: 66px;
        margin-top: 19px;
    }

    /* info */

    #info {
        padding: 54px 28px 34px;
    }

    /* faq */
    #faq {
    padding: 34px 28px 68px;
    }
}

@media screen and (min-width: 1260px) {
    .pc-nav-wrap {
        display: block;
    }
}
