@import url("https://fonts.googleapis.com/css2?family=Courgette&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Courgette&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
body {
    margin: 0;
}


/* Lists (enumeration) */


/* ============================================ */


/* Vertical rhythm */


/* ============================================ */

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0;
}


/* Headings */


/* ============================================ */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    margin: 0;
}


/* Lists (enumeration) */


/* ============================================ */

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.d-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.d-block {
    display: block;
}

.flex-wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.flex-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.flex-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.flex-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.flex-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.flex-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.flex-around {
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.align-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.align-start {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.align-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.mt-15 {
    margin-top: 15px;
}

.mt-50 {
    margin-top: 50px;
}

.ml-15 {
    margin-left: 15px;
}

.color1 {
    color: #D4A849;
}

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

@media (min-width: 1921px) {
    html {
        font-size: 1px;
    }
}

@media (max-width: 1920px) {
    html {
        font-size: 0.05vw;
    }
}

@media (max-width: 1440px) {
    html {
        font-size: 0.07vw;
    }
}

@media (max-width: 768px) {
    html {
        font-size: 0.27vw;
    }
}

body {
    position: relative;
    font-family: "Noto Sans CJK JP", sans-serif;
    font-size: 16px;
    color: #333333;
    overflow-x: hidden;
    z-index: 0;
    background-color: white;
    letter-spacing: 0.1em;
    line-height: 1.6;
    letter-spacing: 0.07em;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}

img {
    max-width: 100%;
    height: auto;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

button {
    letter-spacing: 0;
    cursor: pointer;
    font-family: "Noto Sans JP", sans-serif;
}

figure,
picture {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

a {
    text-decoration: none;
    color: black;
}

.header {
    padding: 15px 30px 15px 40px;
    position: sticky;
    background-color: white;
    top: 0;
    left: 0;
    z-index: 101;
}

.header-item__link {
    color: #333333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 50px;
}

.header-item__en {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
}

.header-item__jp {
    color: #333333;
    font-size: 12px;
    margin-top: 5px;
}

.c-btn_msg {
    width: 210px;
    height: 70px;
    border-radius: 5px;
    background-color: #002c52;
    color: white;
}

.c-btn_msg .c-btn_en {
    font-size: 20px;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    letter-spacing: 0.1em;
}

.c-btn_msg .c-btn_jp {
    font-size: 12px;
}

.c-btn_contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 15px;
}

.c-btn_contact .c-btn_jp {
    color: white;
}

.c-ttl {
    color: #004178;
}

.c-ttl_en {
    font-size: 60px;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    letter-spacing: 0.1em;
}

.c-ttl_jp {
    padding-left: 70px;
    font-size: 20px;
    font-weight: 500;
    position: relative;
}

.c-ttl_jp::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 40px;
    height: 1px;
    background-color: #002748;
}

.c-mark_ttl {
    padding-left: 80px;
    position: relative;
    margin-left: 30px;
}

.c-mark_ttl::before {
    content: "";
    width: 40px;
    height: 1px;
    background-color: #002748;
    position: absolute;
    left: 0;
    top: 50%;
}

.c-mark_ttl span {
    font-size: 36px;
    font-weight: bold;
    color: #004178;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.c-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid white;
    padding-bottom: 5px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.c-btn span {
    font-size: 20px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #004178;
    font-weight: 500;
}

.c-btn span:first-child {
    margin-right: 75px;
}

.c-btn span:last-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background-color: #ffffff;
    position: relative;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.c-btn span:last-child::after {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    content: "";
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: unset;
    border-left: 7px solid #002748;
    position: absolute;
    top: calc(50% - 3px);
    right: calc(50% - 4px);
}

.c-btn:hover {
    border-bottom: 1px solid #002748;
}

.c-btn:hover span:last-child {
    background-color: #002748;
}

.c-btn:hover span:last-child::after {
    border-left: 7px solid white;
}

.bottom-social {
    margin-bottom: 75px;
}

.c-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.c-sub_ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.c-sub_en span {
    font-size: 50px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold;
    color: #004178;
    letter-spacing: 0.1em;
    position: relative;
}

.c-sub_en span::before {
    content: "";
    width: 83px;
    height: 3px;
    background-color: #004178;
    position: absolute;
    top: calc(50% - 1.5px);
    left: -160px;
}

.c-sub_en span::after {
    content: "";
    width: 83px;
    height: 3px;
    background-color: #004178;
    position: absolute;
    top: calc(50% - 1.5px);
    right: -160px;
}

.c-sub_jp {
    font-size: 20px;
    font-weight: 500;
    color: #004178;
    margin-top: 10px;
}

.c-service_lead {
    position: relative;
    z-index: 1;
}

.c-service_en {
    font-size: 120px;
    font-family: "Courgette", cursive;
    line-height: 1;
    letter-spacing: 0;
}

.c-service_en span {
    padding: 0 15px;
    color: #001B33;
    background-image: -webkit-gradient(linear, left top, right top, from(#001B32), color-stop(#003666), to(#003666));
    background-image: linear-gradient(90deg, #001B32, #003666, #003666);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.c-service_jp {
    font-size: 40px;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #004178;
    margin-top: 20px;
}

.c-service_img {
    position: absolute;
    right: -42px;
    top: -75px;
    z-index: -1;
}

.c-service_img img {
    border-radius: 20px;
}

.footer {
    background-color: #f0f4f7;
    padding: 60px 0 40px;
    position: relative;
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.footer-item {
    border-bottom: 1px solid #004178;
    padding-bottom: 45px;
}

.footer-company_name {
    font-size: 24px;
    font-weight: 500;
    color: #333333;
    margin: 30px 0 10px;
}

.footer-company_address {
    font-size: 16px;
    font-weight: 500;
    color: #333333;
}

.footer-area {
    max-width: 500px;
    width: 100%;
    margin-right: 40px;
    margin-top: 20px;
}

.footer-area_link {
    margin-top: 15px;
}

.footer-area_link span:first-child {
    color: #333333;
    letter-spacing: 0.1em;
    font-size: 20px;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

.footer-area_link span:nth-child(2) {
    font-size: 12px;
    color: #333333;
}

.footer-area .c-btn_msg {
    margin-top: 50px;
}

.footer-bottom {
    margin: 35px 33px 0;
}

.footer-bottom_link {
    color: #333333;
}

.footer-bottom_copy {
    font-size: 14px;
    color: #333333;
}

.footer-scroll {
    position: absolute;
    top: -180px;
    right: 100px;
    width: 156px;
    height: 156px;
    border-radius: 50%;
    border: 1px solid rgba(0, 44, 82, 0.3411764706);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footer-scroll_en {
    color: rgba(0, 44, 82, 0.3411764706);
    font-weight: 500;
    -webkit-writing-mode: sideways-lr;
    -ms-writing-mode: sideways-lr;
    writing-mode: sideways-lr;
    padding-right: 10px;
    position: relative;
}

.footer-scroll_action {
    height: 89px;
    width: 1px;
    position: relative;
}

.footer-scroll_action span {
    height: 100%;
    width: 1px;
    background-color: rgba(0, 44, 82, 0.3411764706);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.footer-scroll_action::before {
    content: "";
    width: 10px;
    height: 1px;
    background-color: rgba(0, 44, 82, 0.3411764706);
    position: absolute;
    top: 2px;
    right: -8px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media (max-width: 1440px) {
    .c-ttl_en {
        font-size: 60rem;
    }
    .c-btn span {
        font-size: 20rem;
    }
    .c-btn span:first-child {
        margin-right: 75rem;
    }
    .c-service_en {
        font-size: 120rem;
    }
    .c-service_jp {
        font-size: 40rem;
    }
    .c-sub_en span {
        font-size: 50rem;
    }
    .c-mark_ttl span {
        font-size: 36rem;
    }
    .footer-area {
        max-width: 500rem;
        margin-right: 40rem;
    }
    .footer-scroll {
        width: 156rem;
        height: 156rem;
        top: -180rem;
        right: 100rem;
    }
    .footer-scroll_action {
        height: 89rem;
    }
}

@media (max-width: 1280px) {
    .c-inner {
        width: 88%;
    }
    .footer-inner {
        width: 88%;
    }
}

@media (max-width: 1130px) {
    .header {
        padding: 15px 20px;
    }
    .header-item__link {
        margin-right: 30px;
    }
}

@media (max-width: 1020px) {
    .header-item {
        display: none;
    }
}

@media (max-width: 768px) {
    .c-ttl_en {
        font-size: 30px;
    }
    .c-ttl_jp {
        font-size: 16px;
        padding-left: 40px;
    }
    .c-ttl_jp::before {
        width: 25px;
    }
    .c-sub_en span {
        font-size: 36px;
    }
    .c-sub_en span::before {
        width: 40px;
        left: -80px;
    }
    .c-sub_en span::after {
        width: 40px;
        right: -80px;
    }
    .c-sub_jp {
        font-size: 14px;
    }
    .c-mark_ttl {
        margin-left: unset;
        padding-left: 50px;
    }
    .c-mark_ttl span {
        font-size: 24px;
    }
    .c-mark_ttl::before {
        width: 30px;
    }
    .c-service_en {
        font-size: 50px;
    }
    .c-service_jp {
        font-size: 24px;
    }
    .c-service_img {
        margin-top: 20px;
        position: relative;
        right: unset;
        top: unset;
    }
    .c-service_img img {
        width: 100%;
    }
    .c-btn span {
        font-size: 16px;
    }
    .c-btn span:first-child {
        margin-right: 30px;
    }
    .footer-scroll {
        width: 100px;
        height: 100px;
        top: -40px;
        right: calc(50% - 50px);
    }
    .footer-scroll_action {
        height: 60px;
    }
    .footer-item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .footer-area {
        margin-right: unset;
        max-width: unset;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .footer-area .c-btn_msg {
        margin-top: 40px;
        width: 100%;
    }
    .footer-item {
        padding-bottom: 30px;
    }
    .footer-bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin: 30px 0 0;
    }
    .footer-bottom_link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        width: 100%;
    }
    .footer-bottom_copy {
        margin-top: 30px;
        font-size: 12px;
    }
}

.fv {
    overflow: hidden;
    padding: 60px 0 0;
    position: relative;
}

.fv::before {
    content: "";
    width: 100%;
    height: 85%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #f0f4f7;
    z-index: -2;
}

.fv_effect {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.fv-item {
    position: relative;
}

.fv-item__ttl {
    font-size: 48px;
    font-weight: bold;
    position: absolute;
    top: 45%;
    left: 100px;
}

.fv-item__ttl span {
    color: #001B33;
    background-image: -webkit-gradient(linear, left top, right top, from(#001B32), color-stop(#003666), to(#003666));
    background-image: linear-gradient(90deg, #001B32, #003666, #003666);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.fv-item_img {
    z-index: -1;
}

.fv-item_img img {
    border-top-left-radius: 40px;
}

.fv-slider {
    margin-top: 40px;
    overflow: hidden;
}

.fv-slider_img {
    margin-left: 30px;
    margin-right: 30px;
    border-radius: 30px;
    -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.103);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.103);
}

.fv-slider_img:nth-child(2n+1) {
    margin: 45px 0 0;
}

.fv-slider_img img {
    border-radius: 30px;
}

.service {
    padding-top: 175px;
    position: relative;
}

.service-lead {
    max-width: 1200px;
    margin: 0 auto;
}

.service-scroll {
    position: absolute;
    top: 60px;
    right: 100px;
    width: 156px;
    height: 156px;
    border-radius: 50%;
    border: 1px solid rgba(0, 44, 82, 0.3411764706);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.service-scroll_en {
    color: rgba(0, 44, 82, 0.3411764706);
    font-weight: 500;
    -webkit-writing-mode: sideways-lr;
    -ms-writing-mode: sideways-lr;
    writing-mode: sideways-lr;
    padding-right: 10px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.service-scroll_en::after {
    content: "";
    width: 1px;
    height: 100%;
    background-color: rgba(0, 44, 82, 0.3411764706);
    position: absolute;
    top: 0;
    right: 0;
    -webkit-animation: move01 1.6s ease-in-out infinite;
    animation: move01 1.6s ease-in-out infinite;
}

.service-scroll_en::before {
    content: "";
    width: 10px;
    height: 1px;
    background-color: rgba(0, 44, 82, 0.3411764706);
    position: absolute;
    top: -2px;
    right: -8px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    -webkit-animation: move02 1.6s ease-in-out infinite;
    animation: move02 1.6s ease-in-out infinite;
}

.service .serviceItem {
    margin-top: 180px;
}

.service .serviceItem_head {
    position: relative;
}

.service .serviceItem_ttl {
    font-size: 120px;
    text-align: center;
    font-family: "Courgette", cursive;
}

.service .serviceItem_ttl span {
    color: #001B33;
    background-image: -webkit-gradient(linear, left top, right top, from(#001B32), color-stop(#003666), to(#003666));
    background-image: linear-gradient(90deg, #001B32, #003666, #003666);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    padding: 0 15px;
}

.service .serviceItem_shadow {
    font-size: 120px;
    font-family: "Courgette", cursive;
    color: #f0f4f7;
    position: absolute;
    top: 4px;
    right: calc(50% - 288px);
    z-index: -1;
}

.service .serviceItem-box {
    margin-right: 90px;
    margin-top: -70px;
}

.service .serviceItem-box_bg {
    width: 64%;
    background-color: #f0f4f7;
    padding: 90px 100px 60px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.service .serviceItem-box_area {
    max-width: 700px;
}

.service .serviceItem-box_ttl {
    font-size: 40px;
    font-weight: 500;
    color: #232323;
    font-family: "Noto Sans CJK JP", sans-serif;
}

.service .serviceItem-box_txt {
    font-size: 20px;
    line-height: 2.75;
    letter-spacing: 0.05em;
    font-weight: 500;
    margin-top: 15px;
}

.service .serviceItem-box_diagram {
    width: 36%;
    padding: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 3px solid #f0f4f7;
}

.service .serviceItem-box_btn {
    margin-top: 30px;
}

.service .serviceItem.right .serviceItem-box {
    margin-right: unset;
    margin-left: 90px;
}

.service .serviceItem.right .serviceItem_shadow {
    right: calc(50% - 394px);
}

.service .serviceItem.right .serviceItem-box_bg {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-right: unset;
    padding-left: 100px;
}

.service .serviceItem.store .serviceItem_shadow {
    right: calc(50% - 580px);
}

.service-list {
    max-width: 1200px;
    margin: 80px auto;
}

.service-list .c-btn {
    border-bottom: 1px solid #004178;
}

.service-list .c-btn span:last-child {
    background-color: #f0f4f7;
}

.service-list .c-btn:hover {
    border-bottom: 1px solid #f0f4f7;
}

.service-list .c-btn:hover span:last-child {
    background-color: #004178;
}

@-webkit-keyframes move01 {
    0% {
        height: 0%;
    }
    100% {
        height: 100%;
    }
}

@keyframes move01 {
    0% {
        height: 0%;
    }
    100% {
        height: 100%;
    }
}

@-webkit-keyframes move02 {
    0% {
        top: -2px;
    }
    100% {
        top: 91px;
    }
}

@keyframes move02 {
    0% {
        top: -2px;
    }
    100% {
        top: 91px;
    }
}

@-webkit-keyframes move03 {
    0% {
        height: 0;
    }
    100% {
        height: 100%;
    }
}

@keyframes move03 {
    0% {
        height: 0;
    }
    100% {
        height: 100%;
    }
}

@-webkit-keyframes move04 {
    0% {
        top: -2px;
    }
    100% {
        top: 91px;
    }
}

@keyframes move04 {
    0% {
        top: -2px;
    }
    100% {
        top: 91px;
    }
}

.about {
    background-color: #f0f4f7;
    padding: 200px 0;
}

.about-lead {
    width: 51%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.about-lead .c-ttl {
    margin-right: 380px;
}

.about-bg {
    width: 49%;
}

.about-bg_img {
    min-height: 390px;
}

.about-bg_img img {
    border-top-left-radius: 40px;
}

.about-content {
    width: 51%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.about-area {
    max-width: 550px;
    margin-right: 70px;
}

.about-area_txt {
    margin: 115px 0 130px;
    font-size: 20px;
    font-weight: 500;
    line-height: 2.75;
}

.recruit {
    margin-top: 235px;
    background: url(../img/top/recruit_img.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    padding: 130px 0 220px;
}

.recruit-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.recruit-item {
    margin-top: 145px;
}

.recruit .area {
    max-width: 550px;
    color: white;
}

.recruit .area_ttl {
    font-size: 40px;
    font-weight: 500;
}

.recruit .area_txt {
    font-size: 20px;
    margin-top: 60px;
    line-height: 1.75;
}

.recruit .c-ttl {
    color: white;
}

.recruit .c-ttl_jp::before {
    background-color: white;
}

.recruit .btn {
    margin-right: 101px;
}

.recruit .btn_area {
    width: 365px;
    height: 180px;
    border: 1px solid white;
    border-top-left-radius: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.recruit .btn_area .c-btn {
    border-bottom: 3px solid white;
}

.recruit .btn_area .c-btn span:first-child {
    color: white;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.recruit .btn_area:hover {
    background-color: #f0f4f7;
}

.recruit .btn_area:hover .c-btn {
    border-bottom: 3px solid #004178;
}

.recruit .btn_area:hover .c-btn span:first-child {
    color: #004178;
}

.recruit .btn_area:hover .c-btn span:last-child {
    background-color: #004178;
}

.recruit .btn_area:hover .c-btn span:last-child::after {
    border-left: 7px solid white;
}

.bottom {
    margin: 130px 0 75px;
}

.bottom-slider {
    overflow: hidden;
}

.bottom-slider_img {
    margin-left: 30px;
    margin-right: 30px;
    border-radius: 30px;
    -webkit-box-shadow: 0 4px 6px rgba(0, 0, 0, 0.103);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.103);
}

.bottom-slider_img:nth-child(2n+1) {
    margin: 45px 0 0;
}

.bottom-slider_img img {
    border-radius: 30px;
}

.bottom-social {
    margin-top: 80px;
    position: relative;
}

.bottom-social_link {
    margin-right: 80px;
}

.bottom-social_link:last-child {
    margin-right: unset;
}

@media (max-width: 1440px) {
    .fv-item__ttl {
        font-size: 48rem;
        left: 100rem;
    }
    .fv-item_img img {
        width: 974rem;
    }
    .fv-slider_img img {
        width: 396rem;
        border-radius: 30rem;
    }
    .service {
        padding-top: 175rem;
    }
    .service-scroll {
        width: 156rem;
        height: 156rem;
        top: 60rem;
        right: 100rem;
    }
    .service-scroll_en {
        font-size: 16rem;
    }
    .service .serviceItem {
        margin-top: 180rem;
    }
    .service .serviceItem_ttl {
        font-size: 120rem;
    }
    .service .serviceItem_shadow {
        font-size: 120rem;
        right: calc(50% - 288rem);
    }
    .service .serviceItem-box {
        margin-right: 90rem;
        margin-top: -70rem;
    }
    .service .serviceItem-box_bg {
        padding: 90rem 60rem 60rem 0;
    }
    .service .serviceItem-box_area {
        max-width: 700rem;
    }
    .service .serviceItem-box_ttl {
        font-size: 40rem;
    }
    .service .serviceItem-box_txt {
        font-size: 20rem;
    }
    .service .serviceItem.right .serviceItem-box {
        margin-left: 90rem;
    }
    .service .serviceItem.right .serviceItem-box_bg {
        padding-left: 60rem;
    }
    .service .serviceItem.right .serviceItem_shadow {
        right: calc(50% - 394rem);
    }
    .service .serviceItem.store .serviceItem_shadow {
        right: calc(50% - 580rem);
    }
    .about {
        padding: 200rem 0;
    }
    .about-lead .c-ttl {
        margin-right: unset;
        width: 550rem;
        margin-right: 70rem;
    }
    .about-area {
        max-width: 550rem;
        margin-right: 70rem;
    }
    .about-area_txt {
        font-size: 20rem;
        margin: 115rem 0 130rem;
    }
    .about-bg_img {
        min-height: 390rem;
    }
    .recruit {
        margin-top: 235rem;
        padding: 130rem 0 220rem;
    }
    .recruit-item {
        margin-top: 145rem;
    }
    .recruit .area {
        max-width: 550rem;
    }
    .recruit .area_ttl {
        font-size: 40rem;
    }
    .recruit .area_txt {
        font-size: 20rem;
        margin-top: 60rem;
    }
    .recruit .btn {
        margin-right: 101rem;
    }
    .recruit .btn_area {
        width: 365rem;
        height: 180rem;
    }
    .bottom {
        margin: 130rem 0 75rem;
    }
    .bottom-slider_img img {
        width: 449rem;
        border-radius: 30rem;
    }
    .bottom-social {
        margin-top: 80rem;
    }
    .bottom-social_link img {
        width: 70rem;
    }
    .bottom-social_link:nth-child(2) img {
        width: 62rem;
    }
    .bottom-social_link:nth-child(3) img {
        width: 74rem;
    }
    .bottom-social_link:nth-child(4) img {
        width: 67rem;
    }
    @-webkit-keyframes move02 {
        0% {
            top: -2rem;
        }
        100% {
            top: 91rem;
        }
    }
    @keyframes move02 {
        0% {
            top: -2rem;
        }
        100% {
            top: 91rem;
        }
    }
}

@media (max-width: 1280px) {
    .service-lead {
        width: 88%;
    }
    .service-list {
        width: 88%;
    }
    .recruit-inner {
        width: 88%;
    }
}

@media (max-width: 768px) {
    .fv {
        padding: 40px 0 0;
    }
    .fv-item_img {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    .fv-item_img img {
        width: 90%;
    }
    .fv-item__ttl {
        font-size: 20rem;
        left: 5%;
    }
    .fv-slider_img {
        margin-left: 10px;
        margin-right: 10px;
        border-radius: 10px;
    }
    .fv-slider_img:nth-child(2n+1) {
        margin-top: 15px;
    }
    .fv-slider_img img {
        width: 200px;
        border-radius: 10px;
    }
    .service {
        padding-top: 80px;
    }
    .service-scroll {
        top: 30px;
        width: 100px;
        height: 100px;
        right: 30px;
    }
    .service-scroll_en {
        font-size: 12px;
    }
    .service .serviceItem {
        margin-top: 60px;
    }
    .service .serviceItem_ttl {
        font-size: 28px;
    }
    .service .serviceItem_shadow {
        font-size: 28px;
        right: calc(50% - 70px);
    }
    .service .serviceItem-box {
        -ms-flex-wrap: unset;
        flex-wrap: unset;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin-right: unset;
        margin-top: unset;
    }
    .service .serviceItem-box_bg {
        padding: 50px 0 30px;
        width: 100%;
        margin-top: 20px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .service .serviceItem-box_diagram {
        padding: unset;
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 40px;
        border-bottom: unset;
    }
    .service .serviceItem-box_img {
        width: 88%;
    }
    .service .serviceItem-box_area {
        width: 88%;
    }
    .service .serviceItem-box_ttl {
        font-size: 22px;
    }
    .service .serviceItem-box_txt {
        font-size: 16px;
        line-height: 2;
    }
    .service .serviceItem.right {
        margin-top: 80px;
    }
    .service .serviceItem.right .serviceItem-box {
        margin-left: unset;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .service .serviceItem.right .serviceItem-box_img {
        width: 55%;
    }
    .service .serviceItem.right .serviceItem-box_bg {
        padding-left: unset;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .service .serviceItem.right .serviceItem-box_btn {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    .service .serviceItem.right .serviceItem_shadow {
        right: calc(50% - 100px);
    }
    .service .serviceItem.store {
        margin-top: 80px;
    }
    .service .serviceItem.store .serviceItem-box_diagram {
        margin-top: unset;
    }
    .service .serviceItem.store .serviceItem-box_img {
        width: 70%;
    }
    .service .serviceItem.store .serviceItem_shadow {
        right: calc(50% - 144px);
    }
    .service-list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 60px auto;
    }
    @-webkit-keyframes move02 {
        0% {
            top: -2px;
        }
        100% {
            top: 71px;
        }
    }
    @keyframes move02 {
        0% {
            top: -2px;
        }
        100% {
            top: 71px;
        }
    }
    .about {
        padding: 60px 0 40px;
    }
    .about-lead {
        margin-right: unset;
        width: unset;
        width: 88%;
        margin: 0 auto;
    }
    .about-item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin-top: 40px;
    }
    .about-bg {
        width: 90%;
    }
    .about-bg_img {
        min-height: 180px;
    }
    .about-content {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .about-area {
        margin-right: unset;
        width: 88%;
        max-width: unset;
    }
    .about-area_txt {
        font-size: 16px;
        margin: 40px 0;
    }
    .recruit {
        margin-top: unset;
        padding: 60px 0 40px;
    }
    .recruit-item {
        margin-top: 40px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .recruit .area_ttl {
        font-size: 24px;
    }
    .recruit .area_txt {
        font-size: 16px;
        margin-top: 30px;
    }
    .recruit .btn {
        margin-right: unset;
        width: 100%;
        margin-top: 30px;
    }
    .recruit .btn_area {
        width: 100%;
        height: 90px;
    }
    .recruit .btn_area .c-btn {
        border-bottom: 1px solid white;
    }
    .bottom {
        margin: 80px 0 60px;
    }
    .bottom-slider_img {
        border-radius: 10px;
        margin-left: 10px;
        margin-right: 10px;
    }
    .bottom-slider_img:nth-child(2n+1) {
        margin-top: 10px;
    }
    .bottom-slider_img img {
        width: 200px;
        border-radius: 10px;
    }
    .bottom-social {
        width: 88%;
        margin: 40px auto 60px;
    }
    .bottom-social_link {
        margin-right: 30px;
    }
    .bottom-social_link img {
        width: 50px;
    }
    .bottom-social_link:nth-child(2) img,
    .bottom-social_link:nth-child(3) img,
    .bottom-social_link:nth-child(4) img {
        width: 50px;
    }
}

#service {
    background-color: #f0f4f7;
    padding: 200px 0 145px;
}

#service .reset .c-btn {
    border-bottom: 1px solid #004178;
}

#service .reset .c-btn span:last-child {
    background-color: #e1e9f0;
}

#service .reset .c-btn:hover span:last-child {
    background-color: #004178;
}

#service .marketing {
    margin-top: 300px;
}

#service .marketing .item {
    margin-top: 45px;
    padding: 85px 85px 65px;
    background-color: white;
}

#service .marketing .item_txt {
    font-size: 20px;
    line-height: 1.75;
}

#service .marketing .item_btn {
    margin-top: 70px;
}

#service .origin {
    margin-top: 220px;
}

#service .origin .c-service_img {
    top: -20px;
    right: -42px;
}

#service .origin .item {
    margin-top: 100px;
    background-color: white;
    padding: 85px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

#service .origin .item_ttl {
    font-size: 30px;
}

#service .origin .item_txt {
    font-size: 20px;
    line-height: 1.75;
    margin-top: 10px;
}

#service .origin .item_btn {
    margin-top: 65px;
}

#service .origin .category .box {
    margin-top: 30px;
}

#service .origin .category .box_img {
    -webkit-box-shadow: 0 0 15px #e1e9f0;
    box-shadow: 0 0 15px #e1e9f0;
    border-radius: 20px;
    max-width: 261px;
}

#service .origin .category .box_img img {
    border-radius: 20px;
}

#service .origin .category .box_ttl {
    padding: 15px 10px 0;
    line-height: 1.5;
}

#service .online {
    margin-top: 100px;
}

#service .online .c-service_img {
    top: 120px;
    right: -70px;
}

#service .online .item {
    background-color: white;
    padding: 85px;
    margin-top: 75px;
}

#service .online .item_txt {
    font-size: 20px;
    line-height: 1.75;
}

#service .online .relation_ttl {
    margin-top: 55px;
}

#service .online .relation_ttl span {
    position: relative;
    font-size: 24px;
    color: #002c52;
    font-weight: 500;
    padding-left: 60px;
}

#service .online .relation_ttl span::before {
    content: "";
    width: 40px;
    height: 1px;
    background-color: #002748;
    position: absolute;
    left: 0;
    top: 50%;
}

#service .online .relation_lead {
    background-color: #f5f7f9;
    margin-top: 15px;
    padding: 45px 0;
}

#service .online .relation_lead .c-btn {
    width: 300px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
}

#service .online .relation_lead .c-btn span:first-child {
    font-size: 24px;
    font-weight: 500;
    margin-right: unset;
}

#service .online .relation_lead .c-btn span:last-child {
    position: absolute;
    right: 0;
    top: calc(50% - 11.5px);
}

#service .online .relation_box {
    background-color: #f5f7f9;
    margin-top: 15px;
    padding: 45px 0;
    width: 24%;
}

#service .online .relation_box .c-btn {
    width: 300px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
}

#service .online .relation_box .c-btn span:first-child {
    font-size: 24px;
    font-weight: 500;
    margin-right: unset;
}

#service .online .relation_box .c-btn span:last-child {
    position: absolute;
    right: 0;
    top: calc(50% - 11.5px);
}

#service .online .banner {
    margin: 55px 50px 0;
}

@media (max-width: 1440px) {
    #service .marketing .item {
        margin-top: 45rem;
        padding: 85rem 85rem 65rem;
    }
    #service .marketing .c-service_img img {
        width: 600rem;
    }
    #service .origin .c-service_img img {
        width: 693rem;
    }
    #service .online .banner_img {
        width: 49%;
    }
    #service .online .c-service_img img {
        width: 650rem;
    }
}

@media (max-width: 1024px) {
    #service .online .relation_box .c-btn span:first-child {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    #service {
        padding: 100px 0 80px;
    }
    #service .marketing {
        margin-top: 80px;
    }
    #service .marketing .item {
        padding: 30px 20px;
    }
    #service .marketing .item_txt {
        font-size: 16px;
    }
    #service .marketing .item_btn {
        margin-top: 40px;
    }
    #service .origin {
        margin-top: 80px;
    }
    #service .origin .c-service_img {
        top: unset;
        right: unset;
    }
    #service .origin .item {
        margin-top: 40px;
        padding: 30px 20px;
    }
    #service .origin .item_ttl {
        font-size: 24px;
    }
    #service .origin .item_txt {
        font-size: 16px;
    }
    #service .origin .category .box {
        width: 49%;
    }
    #service .origin .category .box_ttl {
        font-size: 14px;
    }
    #service .online .c-service_img {
        top: unset;
        right: unset;
    }
    #service .online .c-service_img img {
        width: 100%;
    }
    #service .online .item {
        margin-top: 40px;
        padding: 30px 20px;
    }
    #service .online .relation_other {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    #service .online .relation_box {
        width: 100%;
    }
    #service .online .banner {
        margin: 30px 0 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    #service .online .banner_img {
        width: 100%;
    }
    #service .online .banner_img:first-child {
        margin-bottom: 20px;
    }
}

#achieve .inner {
    max-width: 1500rem;
    margin: 0 auto;
}

#achieve .view {
    padding: 160rem 0;
    position: relative;
}

#achieve .view .area {
    max-width: 1040rem;
}

#achieve .view .area_ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

#achieve .view .area_ttl span:first-child {
    font-size: 40rem;
}

#achieve .view .area_ttl span:last-child {
    font-size: 60rem;
    border-bottom: 5rem solid #f0f4f7;
}

#achieve .view .area_txt {
    margin-top: 60px;
    font-size: 30rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.6666666667;
    letter-spacing: 0;
}

#achieve .view_img {
    position: absolute;
    top: calc(50% - 215rem);
    right: -140rem;
}

#achieve .view_img img {
    width: 522rem;
}

#achieve .case {
    background-color: #f0f4f7;
    padding: 110rem 0 120rem;
    margin-bottom: 180rem;
}

#achieve .case:last-child {
    margin-bottom: unset;
}

#achieve .case-lead {
    color: #004178;
}

#achieve .case-lead_num span:first-child {
    font-size: 46rem;
}

#achieve .case-lead_num span:last-child {
    font-size: 200rem;
}

#achieve .case-lead_ttl {
    font-size: 50rem;
    font-weight: 500;
    line-height: 1.6;
    padding-left: 110rem;
    position: relative;
    margin-top: -17rem;
}

#achieve .case-lead_ttl::after {
    content: "";
    width: 137%;
    height: 3rem;
    background-color: #004178;
    position: absolute;
    bottom: 3rem;
    left: -10%;
}

#achieve .case .item .area {
    max-width: 940rem;
    margin-right: 50rem;
}

#achieve .case .item .area_ttl {
    font-size: 60rem;
    font-weight: 500;
}

#achieve .case .item .area_txt {
    font-size: 30rem;
    margin-top: 25px;
    line-height: 1.8;
}

#achieve .case .item .area_bottom {
    margin-top: 30px;
}

#achieve .case .item .area_bottom_img.pt-set {
    padding-top: 30rem;
}

#achieve .case .item_txt {
    font-size: 30rem;
    color: #004178;
    text-align: center;
    margin-top: 15px;
}

#achieve .case .item_img {
    width: 469rem;
}

#achieve .case .bottom {
    margin-top: unset;
}

#achieve .case .bottom-right {
    width: 31.5%;
    max-width: 470rem;
}

#achieve .case .bottom-left {
    width: 68%;
    max-width: 970rem;
}

#achieve .case .bottom-left_lead {
    width: 100%;
}

#achieve .case .bottom-left_img:first-child img {
    width: 469rem;
}

#achieve .case .bottom-left_img:nth-child(2) img {
    width: 469rem;
}

#achieve .case .bottom-right_img img {
    width: 470rem;
}

#achieve .case .bottom_txt {
    font-size: 30rem;
    font-weight: 500;
    margin-top: 15px;
    color: #004178;
}

#achieve .case.reset1 .item .area {
    margin-top: 11px;
    margin-right: unset;
    max-width: 980rem;
}

#achieve .case.reset1 .item .area_bottom_img img {
    width: 470rem;
}

#achieve .case.reset1 .item .area_bottom_other .area_bottom_img {
    width: 472rem;
}

#achieve .case.reset1 .item-left_img img {
    width: 470rem;
}

#achieve .case.reset2 .case-lead_ttl::after {
    width: 180%;
}

#achieve .case .item_bottom .box {
    margin-top: 30px;
    max-width: 470rem;
}

#achieve .case .item_bottom .box_ttl {
    font-size: 30rem;
    font-weight: 500;
    color: #004178;
    text-align: center;
}

#achieve .case .item_bottom .box_img {
    margin: 15px 0;
}

#achieve .case .item_bottom .box_txt {
    font-size: 24rem;
    padding: 15px;
    line-height: 1.8;
}

#achieve .mall-inner {
    max-width: 1300px;
    margin: 185px auto 0;
}

#achieve .mall_ttl {
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    color: #004178;
    letter-spacing: 0.1em;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

#achieve .mall-item {
    border: 5px solid #f0f4f7;
    border-radius: 20px;
    margin-top: 60px;
}

#achieve .mall-lead {
    max-width: 1200px;
    margin: 70px auto 0;
    padding-bottom: 70px;
    border-bottom: 3px solid #f0f4f7;
}

#achieve .mall_btn {
    width: 300px;
    border-bottom: 3px solid #f0f4f7;
    padding-bottom: 10px;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

#achieve .mall_btn span {
    font-size: 24px;
    font-weight: 500;
    color: #004178;
}

#achieve .mall_btn span:first-child {
    margin-right: 35px;
}

#achieve .mall_btn span:last-child {
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-right: unset;
    border-left: 12px solid #004178;
}

#achieve .mall_btn:hover {
    border-bottom: 3px solid #004178;
}

#achieve .mall-link {
    max-width: 1200px;
    margin: 50px auto;
}

#achieve .mall-link_box {
    width: 33.3333333333%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-right: 3px solid #f0f4f7;
    padding: 40px 0;
}

#achieve .mall-link_box:last-child {
    border-right: unset;
}

#achieve .mall-bottom {
    background-color: #f0f4f7;
    width: 100%;
    padding: 40px;
}

@media (max-width: 1440px) {
    #achieve .inner {
        width: 88%;
    }
    #achieve .view {
        width: 88%;
        margin: 0 auto;
    }
    #achieve .view .area {
        max-width: 765rem;
    }
    #achieve .view .area_ttl span:first-child {
        font-size: 30rem;
    }
    #achieve .view .area_ttl span:last-child {
        font-size: 40rem;
    }
    #achieve .view .area_txt {
        font-size: 24rem;
    }
    #achieve .view_img {
        right: -140rem;
    }
    #achieve .view_img img {
        width: 450rem;
    }
    #achieve .case-lead_num span:first-child {
        font-size: 40rem;
    }
    #achieve .case-lead_num span:last-child {
        font-size: 155rem;
    }
    #achieve .case-lead_ttl {
        font-size: 42rem;
        padding-left: 50rem;
    }
    #achieve .case-lead_ttl::after {
        width: 140%;
    }
    #achieve .case .item .area {
        max-width: 833rem;
    }
    #achieve .case .item .area_ttl {
        font-size: 34rem;
    }
    #achieve .case .item .area_txt {
        font-size: 24rem;
    }
    #achieve .case .item .area_bottom {
        margin-top: 15px;
    }
    #achieve .case .item_img img {
        width: 360rem;
    }
    #achieve .case .item_bottom .box {
        max-width: 400rem;
    }
    #achieve .case .item_bottom .box_ttl {
        font-size: 24rem;
    }
    #achieve .case .item_bottom .box_txt {
        font-size: 20rem;
    }
    #achieve .case .bottom-left_img:first-child img {
        width: 400rem;
    }
    #achieve .case .bottom-left_img:nth-child(2) {
        width: 400rem;
    }
    #achieve .case .bottom-right_img img {
        width: 380rem;
    }
    #achieve .case .bottom_txt {
        font-size: 24rem;
    }
    #achieve .case.reset1 .item .area {
        max-width: 820rem;
        margin-left: 30rem;
    }
    #achieve .case.reset1 .item .area_bottom_img img {
        width: 375rem;
    }
    #achieve .case.reset1 .item .area_bottom_img.pt-set {
        padding-top: 80rem;
    }
    #achieve .case.reset1 .item .area_bottom_other .area_bottom_img {
        width: 430rem;
    }
    #achieve .case.reset1 .item .area_bottom_other .area_bottom_img img {
        width: 430rem;
    }
    #achieve .case.reset1 .item-left_img img {
        width: 393rem;
    }
    #achieve .mall-inner {
        width: 88%;
        margin-top: 0;
    }
    #achieve .mall_ttl {
        font-size: 34rem;
    }
    #achieve .mall-lead_btn {
        margin-top: 15px;
    }
    #achieve .mall-bottom_img:first-child {
        margin-right: 20px;
    }
    #achieve .mall_btn span {
        font-size: 24rem;
    }
    #achieve .mall_btn span:first-child {
        margin-right: 35rem;
    }
}

@media (max-width: 768px) {
    #achieve .view {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        padding: 100px 0 60px;
        width: 100%;
    }
    #achieve .view_img {
        position: relative;
        right: unset;
        top: unset;
    }
    #achieve .view_img img {
        width: 100%;
    }
    #achieve .view .area {
        margin-top: 40px;
    }
    #achieve .view .area_ttl span:first-child {
        font-size: 18px;
    }
    #achieve .view .area_ttl span:last-child {
        font-size: 23px;
    }
    #achieve .view .area_txt {
        font-size: 18px;
        text-align: left;
        margin-top: 30px;
    }
    #achieve .case {
        padding: 60px 0;
        margin-bottom: unset;
    }
    #achieve .case-lead {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    #achieve .case-lead_num {
        line-height: 1;
    }
    #achieve .case-lead_num span:first-child {
        font-size: 30px;
    }
    #achieve .case-lead_num span:last-child {
        font-size: 50px;
    }
    #achieve .case-lead_ttl {
        padding-left: unset;
        font-size: 20px;
        margin-top: 10px;
        border-top: 1px solid #004178;
        padding-top: 15px;
    }
    #achieve .case-lead_ttl::after {
        content: unset;
    }
    #achieve .case .item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
    #achieve .case .item_img {
        width: 100%;
        margin: 30px 0;
    }
    #achieve .case .item_img img {
        width: 100%;
    }
    #achieve .case .item .area {
        max-width: unset;
        width: 100%;
        margin-right: unset;
    }
    #achieve .case .item .area_ttl {
        font-size: 20px;
    }
    #achieve .case .item .area_txt {
        font-size: 16px;
    }
    #achieve .case .item .area_bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    #achieve .case .item_txt {
        font-size: 18px;
    }
    #achieve .case .item_bottom .box {
        max-width: unset;
        width: 100%;
    }
    #achieve .case .item_bottom .box_ttl {
        font-size: 20px;
    }
    #achieve .case .item_bottom .box_txt {
        font-size: 16px;
        padding: unset;
    }
    #achieve .case .bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin-bottom: unset;
    }
    #achieve .case .bottom-left {
        width: 100%;
        max-width: unset;
    }
    #achieve .case .bottom_txt {
        font-size: 18px;
    }
    #achieve .case .bottom-right {
        width: 100%;
        margin: 20px 0;
    }
    #achieve .case.reset1 {
        padding: unset;
    }
    #achieve .case.reset1 .item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    #achieve .case.reset1 .item .area {
        margin-left: unset;
        max-width: unset;
        margin-top: 20px;
    }
    #achieve .case.reset1 .item .area_bottom_img.pt-set {
        padding-top: 30px;
    }
    #achieve .case.reset1 .item .area_bottom_img img {
        width: 100%;
    }
    #achieve .case.reset1 .item .area_bottom_other {
        margin-top: 20px;
    }
    #achieve .case.reset1 .item .area_bottom_other .area_bottom_img {
        width: 100%;
    }
    #achieve .case.reset1 .item-left_img {
        margin: 30px 0 0;
    }
    #achieve .case.reset1 .item-left_img img {
        width: 100%;
    }
    #achieve .case.reset2 .item_img {
        width: 60%;
    }
    #achieve .mall {
        margin-top: 60px;
    }
    #achieve .mall_ttl {
        font-size: 24px;
    }
    #achieve .mall-item {
        margin-top: 40px;
        margin-bottom: 60px;
        border: 2px solid #f0f4f7;
        border-radius: 10px;
    }
    #achieve .mall_btn span {
        font-size: 18px;
    }
    #achieve .mall_btn span:first-child {
        margin-right: 25px;
    }
    #achieve .mall-lead {
        border-bottom: unset;
        padding-bottom: 30px;
    }
    #achieve .mall-link {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin: 0;
    }
    #achieve .mall-link_box {
        border-right: unset;
        width: 100%;
        padding: unset;
        margin-top: 30px;
    }
    #achieve .mall-link_box:first-child {
        margin-top: unset;
    }
    #achieve .mall-link_box:last-child .mall_btn {
        border-bottom: unset;
        margin-bottom: 20px;
    }
    #achieve .mall-bottom {
        padding: 30px 20px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    #achieve .mall-bottom_img:first-child {
        margin-right: unset;
        margin-bottom: 20px;
    }
}

#about {
    padding-top: 200px;
}

#about .intro {
    margin-top: 150px;
}

#about .intro-item {
    margin: 55px 110px 100px;
    color: #004178;
}

#about .intro-item_ttl {
    font-size: 48px;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

#about .intro-item_en {
    font-size: 24px;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

#about .intro-item_txt {
    font-size: 24px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.1em;
    margin-top: 50px;
}

#about .message {
    background-color: #f0f4f7;
    padding: 110px 0 140px;
}

#about .message-item {
    margin-top: 55px;
}

#about .message-item_img {
    margin-bottom: 250px;
}

#about .message-item_img img {
    border-radius: 10px;
    -webkit-box-shadow: 2px 4px 5px rgba(0, 0, 0, 0.096);
    box-shadow: 2px 4px 5px rgba(0, 0, 0, 0.096);
}

#about .message-item_txt {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 20px;
    line-height: 2.75;
    letter-spacing: 0.05em;
}

#about .message-item_company {
    font-weight: 500;
    letter-spacing: 0.12em;
}

#about .message-item_pos {
    font-weight: 500;
    letter-spacing: 0.12em;
    margin-right: 30px;
}

#about .message-item_name {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.12em;
}

#about .message-item_area {
    max-width: 660px;
}

#about .message-item_bottom {
    margin-top: 50px;
}

#about .company {
    margin: 110px 0 0;
}

#about .company-item {
    max-width: 660px;
    margin: 100px auto 0;
}

#about .company-item_row {
    border-bottom: 1px solid #004178;
    padding: 15px 0;
}

#about .company-item_category {
    width: 50%;
    font-weight: bold;
}

#about .company-item_txt {
    width: 50%;
}

#about .company-bottom {
    margin-top: 120px;
}

#about .company-bottom_address {
    font-size: 24px;
    font-weight: 500;
    margin-right: 50px;
    min-width: 348px;
}

#about .company-bottom iframe {
    width: 85%;
    max-width: 1390px;
    margin-right: 50px;
}

@media (max-width: 1440px) {
    #about {
        padding-top: 200rem;
    }
    #about .intro-item_ttl {
        font-size: 48rem;
    }
    #about .intro-item_txt {
        font-size: 24rem;
    }
    #about .message-item_txt {
        font-size: 20rem;
    }
    #about .message-item_area {
        margin-left: 50px;
        max-width: 660rem;
    }
    #about .company-bottom_address {
        font-size: 24rem;
        min-width: 348rem;
        margin-right: 50rem;
    }
}

@media (max-width: 768px) {
    #about {
        padding-top: 100px;
    }
    #about .intro {
        margin-top: 80px;
    }
    #about .intro-item {
        margin: 40px 0 60px;
    }
    #about .intro-item_ttl {
        font-size: 20rem;
    }
    #about .intro-item_en {
        font-size: 16px;
    }
    #about .intro-item_txt {
        font-size: 16px;
    }
    #about .message {
        padding: 60px 0;
    }
    #about .message-item {
        margin-top: 40px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    #about .message-item_img {
        margin-bottom: 30px;
    }
    #about .message-item_area {
        max-width: unset;
        margin-left: unset;
    }
    #about .message-item_txt {
        font-size: 16px;
        line-height: 2;
    }
    #about .company {
        margin: 60px 0 0;
    }
    #about .company-item {
        margin: 40px 0 0;
    }
    #about .company-item_row {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    #about .company-item_txt {
        margin-top: 10px;
        width: 100%;
    }
    #about .company-bottom {
        margin-top: 40px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    #about .company-bottom iframe {
        width: 100%;
        margin-right: unset;
        height: 200px;
    }
    #about .company-bottom_address {
        margin-right: unset;
        min-width: unset;
        font-size: 18px;
        padding: 15px 0 0 5%;
    }
}

#recruit .other-inner {
    max-width: 1280px;
    margin: 0 auto;
}

#recruit .recruit-fv {
    background-color: #004178;
    padding: 160px 0 130px;
}

#recruit .recruit-fv .c-sub_en span {
    color: white;
}

#recruit .recruit-fv .c-sub_en span::before {
    background-color: white;
}

#recruit .recruit-fv .c-sub_en span::after {
    background-color: white;
}

#recruit .recruit-fv .c-sub_jp {
    color: white;
}

#recruit .recruit-fv .c-sub_bottom {
    color: white;
    font-size: 24px;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    text-align: center;
    margin-top: 130px;
}

#recruit .vision {
    max-width: 1030px;
    margin: 110px auto 0;
}

#recruit .vision_img img {
    border-radius: 20px;
}

#recruit .vision_ttl {
    font-size: 48px;
    font-weight: bold;
    color: #004178;
    font-family: "Zen Kaku Gothic New", sans-serif;
    text-align: center;
    margin: 70px 0 40px;
}

#recruit .vision_txt {
    font-size: 24px;
    line-height: 1.4583333333;
    color: #004178;
    text-align: center;
}

#recruit .faq {
    margin-top: 120px;
}

#recruit .faq-ttl_en {
    font-size: 48px;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #004178;
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

#recruit .faq-ttl_jp {
    font-size: 24px;
    font-weight: bold;
    color: #004178;
    letter-spacing: 0.1em;
    text-align: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
}

#recruit .faq-item {
    margin-top: 70px;
}

#recruit .faq-item_box {
    cursor: pointer;
}

#recruit .faq-item_hover {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    position: relative;
    padding-top: 80px;
    display: none;
}

#recruit .faq-item_origin {
    height: 100%;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

#recruit .faq-item_originG {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

#recruit .faq-item_originEn {
    font-size: 280px;
    font-weight: 900;
    color: white;
    font-family: "Noto Sans JP", sans-serif;
    line-height: 1;
    margin-bottom: 80px;
}

#recruit .faq-item_originJp {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.12em;
    position: absolute;
}

#recruit .faq-item_hoverEn {
    font-size: 100px;
    color: #004178;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    line-height: 1;
    position: absolute;
    top: 10px;
    left: 30px;
}

#recruit .faq-item_hoverTxt {
    margin-top: 40px;
    font-size: 24px;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    letter-spacing: 0.12em;
    line-height: 1.6;
    text-align: center;
}

#recruit .faq-item_box {
    width: 400px;
    height: 400px;
    border: 1px solid #004178;
    background-color: #f0f4f7;
    border-radius: 10px;
    margin-bottom: 50px;
}

#recruit .faq-item_box:nth-child(5) .faq-item_hover {
    padding-top: 52px;
}

#recruit .faq-item_box:nth-child(6) .faq-item_hover {
    padding-top: 52px;
}

#recruit .faq-item_box:hover {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

#recruit .faq-item_box:hover .faq-item_origin {
    display: none !important;
}

#recruit .faq-item_box:hover .faq-item_hover {
    display: block !important;
}


/* スマートフォン用のアクティブ状態 */

#recruit .faq-item_box.active .faq-item_origin {
    display: none;
}

#recruit .faq-item_box.active .faq-item_hover {
    display: block;
}


/* タッチデバイスでのホバー効果を完全に防ぐ */

@media (hover: none) and (pointer: coarse) {
    #recruit .faq-item_box:hover .faq-item_origin {
        display: none !important;
    }
    #recruit .faq-item_box:hover .faq-item_hover {
        display: block !important;
    }
    #recruit .faq-item_box.touch-active .faq-item_origin {
        display: none !important;
    }
    #recruit .faq-item_box.touch-active .faq-item_hover {
        display: block !important;
    }
}


/* Safariでのホバー効果を防ぐ追加のCSS */

@media screen and (-webkit-min-device-pixel-ratio: 0) {
    @supports (-webkit-touch-callout: none) {
        #recruit .faq-item_box:hover .faq-item_origin {
            display: none !important;
        }
        #recruit .faq-item_box:hover .faq-item_hover {
            display: block !important;
        }
    }
}


/* iOS Safari専用の追加対応 */

@supports (-webkit-touch-callout: none) {
    #recruit .faq-item_box:hover .faq-item_origin {
        display: none !important;
    }
    #recruit .faq-item_box:hover .faq-item_hover {
        display: block !important;
    }
}


/* デスクトップでのホバー効果を確実にする */

@media (min-width: 769px) and (hover: hover) {
    #recruit .faq-item_box:hover .faq-item_origin {
        display: none !important;
    }
    #recruit .faq-item_box:hover .faq-item_hover {
        display: block !important;
    }
}


/* スマートフォン全般でのホバー効果を無効化 */

@media (max-width: 768px) {
    #recruit .faq-item_box:hover .faq-item_origin {
        display: none !important;
    }
    #recruit .faq-item_box:hover .faq-item_hover {
        display: block !important;
    }
}

#recruit .what {
    margin-top: 100px;
}

#recruit .what_ttl {
    font-size: 48px;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #004178;
    text-align: center;
}

#recruit .what_ttl span {
    font-size: 66px;
}

#recruit .what_subttl {
    font-size: 36px;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: #004178;
    text-align: center;
    margin-top: 60px;
}

#recruit .what_txt {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.4583333333;
    color: #004178;
    text-align: center;
    margin-top: 30px;
}

#recruit .what-item {
    max-width: 1235px;
    margin: 100px auto 0;
    background-color: #004178;
    border-radius: 10px;
    padding: 50px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    color: white;
    font-weight: bold;
}

#recruit .what-item_row {
    margin-top: 25px;
}

#recruit .what-item_ttl {
    font-size: 36px;
    margin-bottom: 50px;
}

#recruit .what-item_lead span:first-child {
    min-width: 60px;
}

#recruit .what-item_lead span:nth-child(2) {
    font-size: 24px;
}

#recruit .what-item_txt {
    font-size: 18px;
    margin-top: 15px;
}

#recruit .what-bottom {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #004178;
    font-family: "Zen Kaku Gothic New", sans-serif;
    margin-top: 75px;
    letter-spacing: 0.1em;
}

#recruit .interview {
    margin-top: 100px;
    background-color: #f0f4f7;
    padding: 150px 0 130px;
}

#recruit .interview-inner {
    max-width: 1280px;
    margin: 0 auto;
}

#recruit .interview-lead {
    font-weight: bold;
    color: #004178;
    font-family: "Zen Kaku Gothic New", sans-serif;
    text-align: center;
    letter-spacing: 0.1em;
}

#recruit .interview-lead_en {
    font-size: 48px;
}

#recruit .interview-lead_jp {
    font-size: 20px;
    margin: 30px 0 50px;
}

#recruit .interview-lead_ttl {
    font-size: 36px;
    line-height: 1.25;
}

#recruit .interview-item {
    margin-top: 80px;
    border: 5px solid white;
    border-radius: 10px;
    padding: 45px 35px;
    color: #004178;
}

#recruit .interview-item_area {
    max-width: 810px;
}

#recruit .interview-item_ttl {
    font-size: 20px;
    font-weight: bold;
    font-family: "Zen Kaku Gothic New", sans-serif;
    margin-top: 20px;
}

#recruit .interview-item_ttl:first-child {
    margin-top: unset;
}

#recruit .interview-item_txt {
    font-size: 20px;
    margin-top: 10px;
}

#recruit .interview-item_pos {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #004178;
    margin-bottom: 15px;
}

#recruit .find {
    margin: 150px 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold;
    color: #004178;
}

#recruit .find-inner {
    max-width: 900px;
    margin: 0 auto;
}

#recruit .find_ttl {
    text-align: center;
    font-size: 36px;
    margin-bottom: 80px;
}

#recruit .find-row {
    margin-top: 50px;
}

#recruit .find-row_ttl {
    margin-left: 15px;
    font-size: 24px;
}

#recruit .find-row_ttl span {
    font-size: 30px;
}

#recruit .find-row_txt {
    margin-top: 10px;
}

#recruit .detail {
    background-color: #004178;
    font-family: "Zen Kaku Gothic New", sans-serif;
    padding: 150px 0;
}

#recruit .detail_ttl {
    font-size: 36px;
    font-weight: bold;
    color: white;
    text-align: center;
}

#recruit .detail-inner {
    max-width: 1160px;
    margin: 0 auto;
}

#recruit .detail-item {
    margin-top: 120px;
}

#recruit .detail-item .box {
    background-color: white;
    border-radius: 10px;
    max-width: 500px;
    padding: 30px 25px;
    width: 40%;
    margin-bottom: 40px;
    min-height: 300px;
}

#recruit .detail-item .box:last-child {
    margin-bottom: unset;
}

#recruit .detail-item .box_ttl {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #004178;
    padding-bottom: 10px;
    border-bottom: 1px solid #004178;
    padding-left: 10px;
}

#recruit .detail-item .box_txt {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.12em;
}

#recruit .detail-item .box_txtSm {
    font-size: 18px;
    line-height: 1.3888888889;
    letter-spacing: 0.12em;
}

#recruit .detail-item .box_txtSm.mt20 {
    margin-top: 20px;
}

#recruit .detail-item .box .area {
    padding: 20px 0 0 10px;
}
#recruit .faq-item_box:first-child .faq-item_icon img {
        width: 192px;
    }
    #recruit .faq-item_box:nth-child(2) .faq-item_icon img {
        width: 164rem;
    }
    #recruit .faq-item_box:nth-child(3) .faq-item_icon img {
        width: 144px;
    }
    #recruit .faq-item_box:nth-child(4) .faq-item_icon img {
        width: 160px;
    }
    #recruit .faq-item_box:nth-child(5) .faq-item_icon img {
        width: 160px;
    }
    #recruit .faq-item_box:nth-child(6) .faq-item_icon img {
        width: 159px;
    }
@media (max-width: 1440px) {
    #recruit .other-inner {
        width: 88%;
    }
    #recruit .vision_ttl {
        font-size: 48rem;
    }
    #recruit .vision_txt {
        font-size: 24px;
    }
    #recruit .faq {
        margin-top: 120rem;
    }
    #recruit .faq-item_box {
        width: 400rem;
        height: 400rem;
    }
    #recruit .faq-item_box:first-child .faq-item_icon img {
        width: 192rem;
    }
    #recruit .faq-item_box:nth-child(2) .faq-item_icon img {
        width: 164rem;
    }
    #recruit .faq-item_box:nth-child(3) .faq-item_icon img {
        width: 144rem;
    }
    #recruit .faq-item_box:nth-child(4) .faq-item_icon img {
        width: 160rem;
    }
    #recruit .faq-item_box:nth-child(5) .faq-item_icon img {
        width: 160rem;
    }
    #recruit .faq-item_box:nth-child(6) .faq-item_icon img {
        width: 159rem;
    }
    #recruit .faq-item_originEn {
        font-size: 280rem;
        margin-bottom: 80rem;
    }
    #recruit .faq-item_originJp {
        font-size: 24rem;
    }
    #recruit .faq-item_hover {
        padding-top: 80rem;
    }
    #recruit .faq-item_hoverEn {
        font-size: 100rem;
        letter-spacing: 30rem;
        top: 10rem;
    }
    #recruit .faq-item_hoverTxt {
        font-size: 24rem;
        margin-top: 40rem;
    }
    #recruit .what_ttl {
        font-size: 48rem;
    }
    #recruit .what_ttl span {
        font-size: 66rem;
    }
    #recruit .what_subttl {
        font-size: 36rem;
    }
    #recruit .what_txt {
        font-size: 24rem;
    }
    #recruit .what-item_ttl {
        font-size: 36rem;
        margin-bottom: 50rem;
    }
    #recruit .what-bottom {
        font-size: 24rem;
    }
    #recruit .interview {
        margin-top: 100rem;
        padding: 150rem 0 130rem;
    }
    #recruit .interview-inner {
        width: 88%;
    }
    #recruit .interview-lead_ttl {
        font-size: 36rem;
    }
    #recruit .interview-item_area {
        max-width: 810rem;
        margin-right: 30rem;
    }
    #recruit .interview-item.reset .interview-item_area {
        margin-left: 30rem;
        margin-right: unset;
    }
    #recruit .find {
        margin: 150rem 0;
    }
    #recruit .find-inner {
        width: 88%;
    }
    #recruit .find_ttl {
        font-size: 36rem;
        margin-bottom: 80rem;
    }
    #recruit .find-row_ttl {
        font-size: 24rem;
    }
    #recruit .find-row_ttl span {
        font-size: 30rem;
    }
    #recruit .find-row_icon img {
        width: 40rem;
    }
    #recruit .detail-inner {
        width: 88%;
    }
    #recruit .detail-item .box {
        width: 48%;
    }
}

@media (max-width: 768px) {
    #recruit .recruit-fv {
        padding: 100px 0;
    }
    #recruit .recruit-fv .c-sub_bottom {
        margin-top: 60px;
        font-size: 18px;
        width: 88%;
        margin-left: auto;
        margin-right: auto;
    }
    #recruit .vision {
        margin-top: 60px;
    }
    #recruit .vision_img img {
        height: 250px;
    }
    #recruit .vision_ttl {
        font-size: 22px;
        margin: 30px 0 20px;
    }
    #recruit .vision_txt {
        font-size: 18px;
        text-align: left;
        line-height: 2;
    }
    #recruit .faq {
        margin-top: 80px;
    }
    #recruit .faq-ttl_en {
        font-size: 30px;
    }
    #recruit .faq-ttl_jp {
        font-size: 20px;
    }
    #recruit .faq-item {
        margin-top: 40px;
    }
    #recruit .faq-item_box {
        width: 100%;
        height: 350px;
    }
    #recruit .faq-item_box:first-child .faq-item_icon img {
        width: 192px;
    }
    #recruit .faq-item_box:nth-child(2) .faq-item_icon img {
        width: 164px;
    }
    #recruit .faq-item_box:nth-child(3) .faq-item_icon img {
        width: 144px;
    }
    #recruit .faq-item_box:nth-child(4) .faq-item_icon img {
        width: 160px;
    }
    #recruit .faq-item_box:nth-child(5) .faq-item_icon img {
        width: 160px;
    }
    #recruit .faq-item_box:nth-child(6) .faq-item_icon img {
        width: 159px;
    }
    #recruit .faq-item_box:last-child {
        margin-bottom: unset;
    }
    #recruit .faq-item_originEn {
        font-size: 180px;
    }
    #recruit .faq-item_originJp {
        font-size: 20px;
    }
    #recruit .faq-item_hover {
        padding-top: 60px;
    }
    #recruit .faq-item_hoverEn {
        font-size: 60px;
    }
    #recruit .faq-item_hoverTxt {
        font-size: 20px;
    }
    #recruit .what {
        margin-top: 80px;
    }
    #recruit .what_ttl {
        font-size: 30px;
    }
    #recruit .what_ttl span {
        font-size: 34px;
    }
    #recruit .what_subttl {
        font-size: 20px;
        margin-top: 40px;
    }
    #recruit .what_txt {
        font-size: 16px;
        text-align: left;
        line-height: 2;
    }
    #recruit .what-item {
        margin-top: 40px;
        padding: 30px 20px;
    }
    #recruit .what-item_ttl {
        font-size: 20px;
        margin-bottom: 30px;
    }
    #recruit .what-item_lead span:nth-child(2) {
        font-size: 18px;
    }
    #recruit .what-item_txt {
        font-size: 16px;
    }
    #recruit .what-bottom {
        margin-top: 40px;
        font-size: 16px;
        text-align: left;
    }
    #recruit .interview {
        margin-top: 60px;
        padding: 60px 0;
    }
    #recruit .interview-lead_en {
        font-size: 34px;
    }
    #recruit .interview-lead_jp {
        font-size: 18px;
        margin: 10px 0 30px;
    }
    #recruit .interview-lead_ttl {
        font-size: 20px;
        line-height: 1.7;
    }
    #recruit .interview-item {
        margin-top: 40px;
        border: 2px solid white;
        padding: 30px 20px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
    #recruit .interview-item_pos {
        font-size: 18px;
    }
    #recruit .interview-item_area {
        margin-right: unset;
        margin-top: 20px;
    }
    #recruit .interview-item_ttl {
        font-size: 18px;
    }
    #recruit .interview-item_txt {
        font-size: 16px;
    }
    #recruit .interview-item.reset {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    #recruit .interview-item.reset .interview-item_area {
        margin-left: unset;
        margin-top: 20px;
    }
    #recruit .find {
        margin: 80px 0;
    }
    #recruit .find_ttl {
        font-size: 24px;
        margin-bottom: 40px;
    }
    #recruit .find-row {
        margin-top: 40px;
    }
    #recruit .find-row_ttl {
        font-size: 18px;
    }
    #recruit .find-row_ttl span {
        font-size: 20px;
    }
    #recruit .find-row_icon img {
        width: 20px;
        min-width: 20px;
    }
    #recruit .detail {
        padding: 80px 0;
        margin-bottom: 60px;
    }
    #recruit .detail_ttl {
        font-size: 34px;
    }
    #recruit .detail-item {
        margin-top: 40px;
    }
    #recruit .detail-item .box {
        width: 100%;
        max-width: unset;
    }
}

#privacy {
    background-color: #f0f4f7;
    padding: 180px 0 250px;
}

#privacy .privacy_ttl {
    font-size: 30px;
    font-weight: bold;
    color: #2f3b68;
    text-align: center;
}

#privacy .privacy_txt {
    font-size: 20px;
    line-height: 1.75;
    margin: 65px 0 30px;
}

#privacy .privacy-item {
    background-color: white;
    border-radius: 10px;
    padding: 65px 70px;
}

#privacy .privacy-item_row {
    margin-top: 60px;
}

#privacy .privacy-item_row:first-child {
    margin-top: unset;
}

#privacy .privacy-item_ttl {
    font-size: 30px;
    font-weight: 500;
}

#privacy .privacy-item_txt {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 35px;
}

#privacy .privacy-item_other {
    margin: 35px 0 0 10px;
}

#privacy .privacy-item_otherTxt {
    font-size: 20px;
    line-height: 1.5;
}

#privacy .privacy-item_otherTxt a {
    text-decoration: underline;
    color: #333333;
}

#contact {
    padding: 200px 0;
}

#contact .contact-inner {
    max-width: 900px;
    margin: 0 auto;
}

#contact .contact-item {
    margin-top: 150px;
}

#contact .contact-item_row {
    margin-top: 20px;
}

#contact .contact-item_row input[type=text],
#contact .contact-item_row input[type=tel],
#contact .contact-item_row input[type=email] {
    width: 100%;
    height: 50px;
    border: 1px solid #004178;
    border-radius: 10px;
    margin-top: 10px;
    padding: 15px;
    font-size: 16px;
}

#contact .contact-item_row input[type=text]:focus,
#contact .contact-item_row input[type=tel]:focus,
#contact .contact-item_row input[type=email]:focus {
    outline: unset;
}

#contact .contact-item_row select {
    width: 100%;
    height: 50px;
    border: 1px solid #004178;
    border-radius: 10px;
    margin-top: 10px;
    padding: 15px;
    font-size: 16px;
    cursor: pointer;
}

#contact .contact-item_row select:focus {
    outline: unset;
}

#contact .contact-item_row textarea {
    width: 100%;
    border: 1px solid #004178;
    border-radius: 10px;
    margin-top: 10px;
    padding: 15px;
    font-size: 16px;
}

#contact .contact-item_row textarea:focus {
    outline: unset;
}

#contact .contact-item_ttl {
    font-size: 24px;
    letter-spacing: 0.12em;
}

#contact .contact-item_check {
    margin-top: 30px;
}

#contact .contact-item_check input[type=checkbox] {
    width: 30px;
    height: 30px;
    border: 1px solid #004178;
    border-radius: 10px;
}

#contact .contact-item_check label {
    font-size: 18px;
    margin-left: 10px;
}

#contact .contact-item_privacy {
    margin-top: 10px;
}

#contact .contact-item_send {
    margin-top: 60px;
}

#contact .contact-item_send .c-btn {
    border-bottom: 1px solid #004178;
    width: 220px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-left: 15px;
    padding-right: 15px;
}

#contact .contact-item_send .c-btn span:last-child {
    background-color: #e1e9f0;
}

#contact .contact-item_send .c-btn span:last-child::after {
    top: calc(50% - 4px);
    right: calc(50% - 5px);
}

#contact .contact-item_send .c-btn:hover span:last-child {
    background-color: #004178;
}

#contact .confirm-inner {
    max-width: 900px;
    margin: 0 auto;
}

#contact .confirm_ttl {
    text-align: center;
    font-size: 30px;
    font-weight: 500;
}

#contact .confirm-item {
    border: 2px solid #004178;
    padding: 80px 40px;
    margin-top: 70px;
}

#contact .confirm-item_row {
    border-bottom: 2px solid #ccdae6;
    padding: 30px 20px;
    font-size: 20px;
    font-weight: 500;
}

#contact .confirm-item_row:first-child {
    padding-top: unset;
}

#contact .confirm-item_row.reset {
    border-bottom: unset;
}

#contact .confirm-item_category {
    width: 30%;
}

#contact .confirm-item_txt {
    width: 70%;
    max-width: 520px;
}

#contact .confirm-item_btn {
    max-width: 680px;
    margin: 60px auto 0;
}

#contact .confirm-item_post {
    width: 368px;
    height: 69px;
    border-radius: 11px;
    color: white;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 20px;
    font-weight: 500;
    background-color: #2f3b68;
    border: 1px solid #2f3b68;
    position: relative;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

#contact .confirm-item_post::before {
    content: "";
    width: 23px;
    height: 23px;
    background-color: white;
    position: absolute;
    right: 28px;
    top: calc(50% - 11.5px);
    border-radius: 50%;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

#contact .confirm-item_post::after {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    content: "";
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-right: unset;
    border-left: 7px solid #002748;
    position: absolute;
    top: calc(50% - 4px);
    right: 35px;
}

#contact .confirm-item_post:hover {
    background-color: white;
    color: #2f3b68;
}

#contact .confirm-item_post:hover::before {
    background-color: #2f3b68;
}

#contact .confirm-item_post:hover::after {
    border-left: 7px solid white;
}

#contact .confirm-item_back .c-btn {
    border-bottom: 1px solid #004178;
    width: 190px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-left: 15px;
    padding-right: 15px;
}

#contact .confirm-item_back .c-btn span:last-child {
    background-color: #e1e9f0;
}

#contact .confirm-item_back .c-btn span:last-child::after {
    top: calc(50% - 4px);
    right: calc(50% - 5px);
}

#contact .confirm-item_back .c-btn:hover span:last-child {
    background-color: #004178;
}

#thanks {
    padding: 200px 0;
}

#thanks .thanks-item {
    max-width: 1280px;
    margin: 0 auto;
    border: 2px solid #004178;
    padding: 75px 40px;
}

#thanks .thanks-item_ttl {
    font-size: 30px;
    font-weight: 500;
    text-align: center;
}

#thanks .thanks-item_txt {
    margin-top: 35px;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
}

@media (max-width: 1440px) {
    #contact .contact-inner {
        width: 88%;
    }
    #contact .confirm-inner {
        width: 88%;
    }
    #thanks .thanks-item {
        width: 88%;
    }
}

@media (max-width: 768px) {
    #contact {
        padding: 100px 0 60px;
    }
    #contact .contact-item {
        margin-top: 60px;
    }
    #contact .contact-item_ttl {
        font-size: 18px;
    }
    #contact .contact-item_check label {
        font-size: 14px;
    }
    #contact .contact-item_check input[type=checkbox] {
        min-width: 20px;
        width: 20px;
    }
    #contact .confirm_ttl {
        font-size: 20px;
    }
    #contact .confirm-item {
        margin-top: 40px;
        padding: 40px 20px;
    }
    #contact .confirm-item_row {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 20px 0;
    }
    #contact .confirm-item_txt {
        width: 100%;
        max-width: unset;
        margin-top: 10px;
    }
    #contact .confirm-item_category {
        width: 100%;
    }
    #contact .confirm-item_btn {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin-top: 30px;
    }
    #contact .confirm-item_submit {
        margin-top: 20px;
        width: 100%;
    }
    #contact .confirm-item_post {
        width: 100%;
    }
    #privacy {
        padding: 100px 0 60px;
    }
    #privacy .privacy_txt {
        font-size: 18px;
        margin: 40px 0 20px;
    }
    #privacy .privacy-item {
        padding: 30px 20px;
    }
    #privacy .privacy-item_ttl {
        font-size: 18px;
    }
    #privacy .privacy-item_txt {
        font-size: 16px;
        margin-top: 15px;
        line-height: 2;
    }
    #privacy .privacy-item_otherTxt {
        font-size: 16px;
        line-height: 2;
    }
    #privacy .privacy-item_otherTxt span a {
        word-break: break-all;
    }
    #thanks {
        padding: 100px 0;
    }
    #thanks .thanks-item_ttl {
        font-size: 24px;
    }
    #thanks .thanks-item_txt {
        font-size: 18px;
    }
}

.sp-menu {
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
}

.sp-menu-item span {
    border-bottom: 2rem solid #333333;
    width: 28rem;
    display: block;
    margin-bottom: 6rem;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
}

.sp-menu-item span:last-child {
    margin-bottom: unset;
    width: 28rem;
}

.sp-menu-item.change span:first-child {
    -webkit-transform: rotate(-45deg) translate(-2rem, 4rem);
    transform: rotate(-45deg) translate(-2rem, 4rem);
}

.sp-menu-item.change span:nth-child(2) {
    display: none;
}

.sp-menu-item.change span:last-child {
    width: 28rem;
    -webkit-transform: rotate(45deg) translate(-3rem, -4rem);
    transform: rotate(45deg) translate(-3rem, -4rem);
}

.menu-overlay {
    display: none;
    position: fixed;
    width: 100%;
    height: calc(100% - 56px);
    z-index: 20;
    margin-top: 56px;
    padding: 60px 36px;
    background-color: white;
    -webkit-font-smoothing: antialiased;
    /* to stop flickering of text in safari */
    -webkit-transform-origin: 0% 0%;
    transform-origin: 0% 0%;
    -webkit-transform: translate(-100%, 0%);
    transform: translate(-100%, 0%);
    -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
    transition: -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
    transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
    transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
    z-index: 99;
    overflow: auto;
}

.menu-overlay.change {
    -webkit-transform: none;
    transform: none;
}

.menu-overlay .overlay-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.menu-overlay .overlay-links .overlay-links__contact {
    width: 100%;
}

.menu-overlay .overlay-links .overlay-links__contact .l-header__contact {
    margin-top: 20px;
    background: #0355BB;
    background: -webkit-gradient(linear, left top, right top, from(rgb(3, 85, 187)), to(rgb(0, 154, 229)));
    background: linear-gradient(90deg, rgb(3, 85, 187) 0%, rgb(0, 154, 229) 100%);
    color: white;
    width: 100%;
    height: 50px;
    border-radius: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.overlay-links__group {
    margin-bottom: 25px;
    width: 100%;
}

.overlay-links__lead {
    color: #333333;
    font-weight: bold;
    font-size: 16px !important;
    margin-left: unset !important;
    margin-top: 25px;
    text-align: center;
}

.overlay-links__lead span:first-child {
    font-size: 18px;
}

.overlay-links__lead span:nth-child(2) {
    font-size: 14px;
}

.overlay-links_contact {
    width: 100%;
    margin-top: 25px;
}

@media (max-width: 1010px) {
    .menu-overlay {
        display: block;
        width: 100%;
    }
    .sp-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .sp-menu-item span {
        border-bottom: 2px solid #333333;
        width: 22px;
        margin-bottom: 5px;
    }
    .sp-menu-item span:last-child {
        width: 22px;
    }
    .sp-menu-item.change span:first-child {
        -webkit-transform: rotate(-45deg) translate(-2px, 4px);
        transform: rotate(-45deg) translate(-2px, 4px);
    }
    .sp-menu-item.change span:last-child {
        width: 22px;
        -webkit-transform: rotate(45deg) translate(-1px, -3px);
        transform: rotate(45deg) translate(-1px, -3px);
    }
    .l-header__menu {
        display: none;
    }
    .l-header__inner {
        margin-left: 15rem;
        margin-right: 15rem;
    }
}

.u-sp-block {
    display: none;
}

.u-pc-block {
    display: block;
}

.u-mt-20 {
    margin-top: 20px !important;
}

.u-mt-30 {
    margin-top: 30px;
}

@media (max-width: 768px) {
    .u-sp-block {
        display: block;
    }
    .u-pc-block {
        display: none;
    }
}


/*# sourceMappingURL=style.css.map */