@charset "UTF-8";
/* common
======================= */

/* 右端にスペースが出るのを防ぐ */
.main {
    overflow: hidden;
}

.br-sp {
    display: none;
}

@media (max-width: 62.49em) {
    .br-sp {
        display: block;
    }
}

.br-pc {
    display: block;
}

@media (max-width: 62.49em) {
    .br-pc {
        display: none;
    }
}

.section h2 span,
.page-header h1 span {
    font-size: 16px;
    display: block;
    margin-top: 15px;
}

@media (max-width: 62.49em) {

    .section h2 span,
    .page-header h1 span {
        font-size: 14px;
        display: block;
    }
}

.ja-title {
    font-size: 30px !important;
}

@media (max-width: 62.49em) {
    .ja-title {
        font-size: 22px !important;
    }
}

.ja-title-big {
    font-size: 40px !important;
    font-weight: 100 !important;
}

@media (max-width: 62.49em) {
    .ja-title-big {
        font-size: 26px !important;
    }
}

.pad-top-huge {
    padding-top: 100px;
}

@media (max-width: 62.49em) {
    .pad-top-huge {
        padding-top: 50px;
    }
}

/*
.margin--right {
    margin-right: -60px;
}

@media (max-width: 46.24em) {
    .margin--right {
        margin-right: 0;
        margin-left: -100px;
    }
}

.margin--left {
    margin-left: -60px;
}

@media (max-width: 46.24em) {
    .margin--left {
        margin-left: 0;
        margin-right:  -100px;
    }
} */

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

@media (max-width: 46.24em) {
    .margin--top {
        margin-top: 20px;
    }
}



.section-title {
    font-size: 24px;
    padding-bottom: 20px;
    border-bottom: solid 1px rgb(0, 0, 0, .2);
}

@media (max-width: 62.49em) {
    .section-title {
        font-size: 20px;
        padding-bottom: 10px;
        line-height: 1.625;
    }
}

.page-header-top {
    top: 250px;
}


@media (max-width: 500px) {
    .page-header-confirmation {
        padding-bottom: 50px;
    }
}


.list-spacing-normal li {
    margin-right: 15px;
}

/* animate */
.section-animate .section__title,
.section-animate .section__content,
.section-animate .section__figure,
.section-animate .section__button,
.section-animate .kv-button,
.section-animate .section__link,
.section-animate .recruit-accordion {
    opacity: 0;
    -webkit-transform: translate(0, 15px);
    -ms-transform: translate(0, 15px);
    transform: translate(0, 15px)
}

.section-animate.animate-scroll .section__title,
.section-animate.animate-scroll .section__content,
.section-animate.animate-scroll .section__figure,
.section-animate.animate-scroll .section__button,
.section-animate.animate-scroll .kv-button,
.section-animate.animate-scroll .section__li,
.section-animate.animate-scroll .recruit-accordion {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.section-animate.animate-scroll .section__content {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s
}

.section-animate.animate-scroll .section__button,
.section-animate.animate-scroll .recruit-accordion {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s
}

.section-animate.animate-scroll .kv-button {
    -webkit-transition-delay: 0.9s;
    transition-delay: 0.9s
}

.section-animate.animate-scroll .section__li:nth-of-type(1) {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s
}

.section-animate.animate-scroll .section__li:nth-of-type(2) {
    -webkit-transition-delay: 0.7s;
    transition-delay: 0.7s
}

.section-animate.animate-scroll .section__li:nth-of-type(3) {
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s
}


/* is-fixedクラスがheaderに付与された場合、header__logo-whiteを非表示にする */
.header.is-fixed .header__logo-white {
    display: none;
}

/* sp */
@media (max-width: 62.49em) {
    .text-center-sp {
        text-align: center;
    }
}

/* table */
.table-container {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.add-table {
    width: 100%;
    border-collapse: collapse;
    border: none;
}

.add-table td {
    padding: 20px 0 20px 35px;
    font-size: 16px;
}

@media (max-width: 62.49em) {
    .add-table td {
        padding: 15px 0 15px 10px;
        font-size: 14px;
    }
}

.add-table a {
    color: dimgray;
    text-decoration: underline;
}

.add-table td:first-child {
    background-color: #F7F7F7;
    font-weight: 500;
    text-align: left;
    width: 30%;
    border-top: 1px solid #B9B9B9;
    border-bottom: 1px solid #B9B9B9;
    border-left: none;
    border-right: none;
    vertical-align: middle;
}

.add-table td:last-child {
    background-color: #FFF;
    width: 70%;
    border-top: 1px solid #B9B9B9;
    border-bottom: 1px solid #B9B9B9;
    border-left: 1px solid #B9B9B9;
    border-right: none;
}

/* main.css */
.typeset p {
    font-family: "proxima-nova", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 2;
    padding-bottom: 35px;
}

@media (max-width: 62.49em) {
    .typeset p {
        font-size: 14px;
        padding-bottom: 25px;
    }
}

.u-inline-flex {
    padding-top: 5px;
}

@media (max-width: 62.49em) {
    .u-inline-flex {
        padding-top: 20px;
    }
}

.icon-arrow-down:before {
    content: '';
    position: absolute;
    right: 17px;
    top: 21px;
    width: 14px;
    height: 14px;
    background-color: #10a8ba;
    /* 通常時の矢印の色 */
    mask: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2023%2023%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M0%2C7l10.3%2C10.3h0s1.2%2C1.1%2C1.2%2C1.1l1.2-1.1%2C10.3-10.3-1.2-1.2-1.2-1.2-9.1%2C9.1L2.4%2C4.6%22/%3E%3C/svg%3E") no-repeat center / contain;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2023%2023%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M0%2C7l10.3%2C10.3h0s1.2%2C1.1%2C1.2%2C1.1l1.2-1.1%2C10.3-10.3-1.2-1.2-1.2-1.2-9.1%2C9.1L2.4%2C4.6%22/%3E%3C/svg%3E") no-repeat center / contain;
}

.pagination__prev,
.pagination__next {
    position: relative;
}

.pagination__prev:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-38%);
    width: 10px;
    height: 10px;
    background-color: #10a8ba;
    /* 通常時の矢印の色 */
    mask: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2023%2023%27%3E%3Cpath%20fill%3D%27currentColor%27%20d%3D%27M16%2C23L5.7%2C12.7h0l-1.1-1.2%2C1.1-1.2L16%2C0l1.2%2C1.2%2C1.2%2C1.2-9.1%2C9.1%2C9.1%2C9.1%27/%3E%3C/svg%3E") no-repeat center / contain;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2023%2023%27%3E%3Cpath%20fill%3D%27currentColor%27%20d%3D%27M16%2C23L5.7%2C12.7h0l-1.1-1.2%2C1.1-1.2L16%2C0l1.2%2C1.2%2C1.2%2C1.2-9.1%2C9.1%2C9.1%2C9.1%27/%3E%3C/svg%3E") no-repeat center / contain;
}

.pagination__next:before {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    background-color: #10a8ba;
    /* 通常時の矢印の色 */
    mask: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2023%2023%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M7%2C23l10.3-10.3h0l1.1-1.2-1.1-1.2L7%2C0l-1.2%2C1.2-1.2%2C1.2%2C9.1%2C9.1-9.1%2C9.1%22/%3E%3C/svg%3E") no-repeat center / contain;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2023%2023%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M7%2C23l10.3-10.3h0l1.1-1.2-1.1-1.2L7%2C0l-1.2%2C1.2-1.2%2C1.2%2C9.1%2C9.1-9.1%2C9.1%22/%3E%3C/svg%3E") no-repeat center / contain;
}

/* footer */
.add-menu {
    padding-top: 15px;
}

.popup-inner {
    background: unset;
}

.footer-lead {
    color: #fff;
    cursor: default;
}

.footer__menu li .footer-lead:hover:hover,
.footer__menu li .footer-lead:hover:focus,
.footer__menu li .footer-lead:hover:active,
.footer__menu li .footer-lead:hover.is-active {
    color: #fff;
}

.footer__bottom::after {
    content: "JP-NA-24-0005";
    position: absolute;
    bottom: 0;
    right: 0;
    line-height: 1;
}

@media (max-width: 62.49em) {
    .footer__bottom::after {
        bottom: -30px;
        right: 50%;
        transform: translateX(50%);
    }
}

/* header
======================= */
.menu-hover {
    position: relative;
    margin-right: 20px !important;
}

@media (max-width: 1080px) {
    .menu-hover {
        margin-right: 0px !important;
    }
}

.menu-hover- {
    position: relative;
}

.menu-hover-name::after {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-left: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 23'%3E%3Cpath fill='%23ffffff' d='M0,7l10.3,10.3h0s1.2,1.1,1.2,1.1l1.2-1.1,10.3-10.3-1.2-1.2-1.2-1.2-9.1,9.1L2.4,4.6'/%3E%3C/svg%3E");
    /* background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 23'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M0,7l10.3,10.3h0s1.2,1.1,1.2,1.1l1.2-1.1,10.3-10.3-1.2-1.2-1.2-1.2-9.1,9.1L2.4,4.6'/%3E%3C/svg%3E"); */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 1080px) {
    .menu-hover-name::after {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 23'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M0,7l10.3,10.3h0s1.2,1.1,1.2,1.1l1.2-1.1,10.3-10.3-1.2-1.2-1.2-1.2-9.1,9.1L2.4,4.6'/%3E%3C/svg%3E");
    }
}

.menu-hover:hover .menu-hover-name::after {
    transform: rotate(-180deg);
}



.menu-hover-links a {
    display: block;
    text-transform: uppercase;
    text-decoration: none;
    font-family: "proxima-nova", "noto-sans-cjk-jp", Helvetica Neue, Helvetica, Arial, sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #fff;
}

.menu-hover-links {
    padding-top: 22px;
    position: absolute;
    top: 0;
    width: 130px;
    display: none;
}

@media (max-width: 1080px) {
    .menu-hover-links {
        padding-top: 0px;
        position: unset;
        width: 100%;
        text-align: center;
        font-size: .9375rem;
    }
}

.menu-hover:hover .menu-hover-links,
.menu-hover:focus-within .menu-hover-links {
    display: block;
}

.menu-hover-links a {
    color: #000;
    background: #fff;
    padding: 12px;
    transition: .2s ease;
    font-family: "proxima-nova", "noto-sans-cjk-jp", Helvetica Neue, Helvetica, Arial, sans-serif;
    font-weight: 500;
    font-style: normal;
}

@media (max-width: 1080px) {
    .menu-hover-links a {
        padding: 23px;
    }
}

.menu-hover-links a:hover,
.menu--white.menu--thick-underline>ul>li>.menu-hover-links>a.is-active {
    color: #10a8ba;
}

.header.is-fixed .menu.menu--white>ul>li>.menu-hover-name::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 23'%3E%3Cpath fill='%23000' d='M0,7l10.3,10.3h0s1.2,1.1,1.2,1.1l1.2-1.1,10.3-10.3-1.2-1.2-1.2-1.2-9.1,9.1L2.4,4.6'/%3E%3C/svg%3E");
}

/* top
======================= */
.arrow-down {
    width: 23px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media (max-width: 62.49em) {
    .arrow-down {
        width: 14px;
    }
}

.top-product-1 {
    padding-left: 140px;
    padding-top: 40px;
    padding-right: 80px;
}

@media (max-width: 81.24em) {
    .top-product-1 {
        padding-left: 50px;
        padding-top: 10px;
        padding-right: 0;
    }
}


@media (max-width: 62.49em) {
    .top-product-1 {
        padding-left: 0;
        padding-top: 0;
        padding-right: 0;
    }
}

.top-product-1 span {
    padding-top: 15px;
    display: inline-block;
}

.top-button-ex {
    background: #10a8ba;
    color: #FFF;
    border: #FFF;
    transition: .3s ease;
    position: relative;
    line-height: 1.625;
    padding: 10px 45px;
}

.top-button-ex img {
    position: absolute;
    top: 50%;
    transform: translateY(-55%);
    width: 13px;
    right: 24px;
}

.top-button-ex:hover {
    opacity: .6;
}

/* movie modal
======================= */
body.no-scroll {
    overflow: hidden;
}

/* 初期値は非表示 */
.popup-first {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    /* 常にflexレイアウト */
    justify-content: center;
    align-items: center;
    z-index: 999;
    background: rgba(40, 40, 41, 0.9);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.5s ease;
    /* opacityのみをトランジション */
    padding: 0 20px;
}

/* 表示状態 */
.popup-first.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* 背景キャッシュ */
.popup-first-cache {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    cursor: pointer;
}

/* 内部のコンテンツ */
.popup-first-inner {
    position: relative;
    z-index: 10;
    max-width: 1000px;
    width: 100%;
    background: #000;
    /* overflow: hidden; */
}

/* 動画 */
.popup-first-video {
    width: 100%;
    height: auto;
    background: #000;
}

/* バツボタン */
.popup-first-close {
    position: fixed;
    right: 45px;
    top: 45px;
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0;
    background: transparent;
    border: none;
    cursor: pointer;
    transform-origin: 50%;
    transition: transform 0.2s ease;
    z-index: 1000;
}

.popup-first-close:hover {
    transform: rotate(90deg);
}

.popup-first-close::before,
.popup-first-close::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1px;
    height: 30px;
    background: #10a8ba;
    transform-origin: 50%;
}

.popup-first-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.popup-first-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* モバイルレスポンシブ */
@media (max-width: 62.49em) {
    .popup-first-inner {
        max-width: calc(177.778vh);
        height: calc(56.25vw);
    }

    .popup-first-close {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: -50px;
    }
}

/* about
======================= */
.about-header-txt {
    line-height: 2;
    font-size: 15px;
    margin-top: 25px;
}

@media (max-width: 62.49em) {
    .about-header-txt {
        line-height: 1.625;
        font-size: 13px;
        margin-top: 15px;
    }
}

.about-btn {
    position: relative;
}

.about-arrow {
    display: none;
}

@media (max-width: 62.49em) {
    .about-arrow {
        display: inline-block;
        width: 10px;
        position: absolute;
        top: 26%;
        right: -30px;
    }
}

/* message
======================= */
.message-img {
    width: 230px;
    padding-top: 25px;
    margin-left: auto;
}

@media (max-width: 62.49em) {
    .message-img {
        width: 180px;
    }
}

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

/* office
======================= */
.office-container {
    display: flex;
    justify-content: space-between;
}

@media (max-width: 62.49em) {
    .office-container {
        display: block;
        margin: 0 auto;
    }
}

.office-container:nth-of-type(2) {
    padding-top: 100px;
}

@media (max-width: 62.49em) {
    .office-container:nth-of-type(2) {
        padding-top: 50px;
    }
}

.office-container-right {
    width: 500px;
    max-width: 100%;
    aspect-ratio: 500 / 385;
    /* 高さの比率を保つ */
    border: 1px solid #ccc;
    overflow: hidden;
    border-radius: 8px;
}

@media (max-width: 62.49em) {
    .office-container-right {
        width: 100%;
        margin-top: 30px;
        aspect-ratio: 500 / 285;
        /* 高さの比率を保つ */
    }
}

.office-container-right iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.office-content {
    padding-top: 35px;
}

@media (max-width: 62.49em) {
    .office-content {
        padding-top: 15px;
    }
}

.office-button {
    padding-top: 35px;
}

@media (max-width: 62.49em) {
    .office-button {
        padding-top: 15px;
    }
}

.office-button a {
    text-decoration: underline;
}

/* guideline
======================= */
.guideline-staar {
    font-size: 16px;
    text-align: right;
    padding-top: 5px;
}

@media (max-width: 62.49em) {
    .guideline-staar {
        font-size: 12px;
    }
}

.guideline-container,
.guideline-container-sub {
    padding-top: 50px;
}

@media (max-width: 62.49em) {
    .guideline-container-sub {
        padding-top: 30px;
    }
}

.guideline-container h3 {
    font-size: 20px;
    padding-top: 100px;
}

@media (max-width: 62.49em) {
    .guideline-container h3 {
        font-size: 16px;
        padding-top: 50px;
    }
}

.guideline-container h3:first-of-type {
    padding-top: 0;
}

.guideline-container p {
    font-size: 16px;
    padding-top: 35px;
}

@media (max-width: 62.49em) {
    .guideline-container p {
        font-size: 14px;
        padding-top: 20px;
    }
}


.guideline-container-sub h4 {
    font-size: 20px;
    padding-top: 50px;
}

@media (max-width: 62.49em) {
    .guideline-container-sub h4 {
        font-size: 16px;
        padding-top: 30px;
    }
}

.guideline-container-sub h4:first-of-type {
    padding-top: 0;
}

.guideline-container-sub p {
    font-size: 16px;
    padding-top: 20px;
}

@media (max-width: 62.49em) {
    .guideline-container-sub p {
        font-size: 14px;
        padding-top: 15px;
    }
}

.guideline-end {
    font-size: 16px;
    text-align: right;
    padding-top: 50px;
}

@media (max-width: 62.49em) {
    .guideline-end {
        font-size: 14px;
        padding-top: 30px;
    }
}

.guideline-button {
    font-size: 16px;
}

@media (max-width: 62.49em) {
    .guideline-button {
        font-size: 14px;
    }
}

.guideline-button a {
    color: #222;
    text-decoration: underline;
}

/* privacy policy
======================= */
.pp-container p {
    font-size: 16px;
    line-height: 2;
}

@media (max-width: 62.49em) {
    .pp-container p {
        font-size: 14px;
    }
}

.pp-container ol {
    counter-reset: list-counter;
    /* カウンターをリセット */
    padding-top: 50px;
    font-size: 16px;
    line-height: 2;
}

@media (max-width: 62.49em) {
    .pp-container ol {
        padding-top: 30px;
        font-size: 14px;
    }
}

.pp-container li {
    list-style: none;
    /* デフォルトの数字を削除 */
    position: relative;
    margin-bottom: 10px;
    padding-left: 25px;
    /* 左にスペースを確保 */
}

.pp-container li::before {
    content: counter(list-counter) ". ";
    /* カウンターの値を表示 */
    counter-increment: list-counter;
    /* カウンターをインクリメント */
    position: absolute;
    left: 0;
    top: 0;
}

.pp-container li span {
    display: inline-block;
    margin-top: 10px;
    padding-left: 50px;
    position: relative;
}

.pp-container li span::before {
    position: absolute;
    top: 0;
    left: 0;
}

.pp-container li span:nth-of-type(1)::before {
    content: "（ 1 ）";
}

.pp-container li span:nth-of-type(2)::before {
    content: "（ 2 ）";
}

.pp-container li span:nth-of-type(3)::before {
    content: "（ 3 ）";
}

.pp-container li span:nth-of-type(4)::before {
    content: "（ 4 ）";
}

.pp-container li span:nth-of-type(5)::before {
    content: "（ 5 ）";
}

.pp-container li span:nth-of-type(6)::before {
    content: "（ 6 ）";
}

.pp-container li span:nth-of-type(7)::before {
    content: "（ 7 ）";
}

.pp-container li span:nth-of-type(8)::before {
    content: "（ 8 ）";
}

.pp-container li span:nth-of-type(9)::before {
    content: "（ 9 ）";
}

.pp-container li span:nth-of-type(10)::before {
    content: "（ 10 ）";
}

.pp-container li span:nth-of-type(11)::before {
    content: "（ 11 ）";
}

.pp-container li span:nth-of-type(12)::before {
    content: "（ 12 ）";
}

.pp-container li span:nth-of-type(13)::before {
    content: "（ 13 ）";
}


.contact-box {
    margin: 50px 0;
    background: #F7F7F7;
    padding: 35px;
    font-size: 16px;
    color: #222;
}

@media (max-width: 62.49em) {
    .contact-box {
        margin: 40px 0;
        padding: 20px 15px;
        font-size: 14px;
    }
}

.contact-box h2 {
    font-size: 20px;
}

@media (max-width: 62.49em) {
    .contact-box h2 {
        font-size: 16px;
    }
}

.contact-box-name {
    padding-top: 20px;
}

.contact-box-tel {
    font-size: 20px;
    padding-top: 5px;
}

@media (max-width: 62.49em) {
    .contact-box-tel {
        font-size: 16px;
        padding-top: 10px;
    }
}

.contact-box-tel a {
    color: #222;
    text-decoration: underline;
}

.contact-box-date {
    padding-top: 5px;
}

@media (max-width: 62.49em) {
    .contact-box-date {
        padding-top: 10px;
    }
}

.contact-box-mail {
    padding-top: 5px;
}

@media (max-width: 62.49em) {
    .contact-box-mail {
        padding-top: 10px;
    }
}

.pp-end {
    font-size: 16px;
}

@media (max-width: 62.49em) {
    .pp-end {
        font-size: 14px;
    }
}

/* eyesight
======================= */
.eyesight-container {
    padding-top: 100px;
}

@media (max-width: 62.49em) {
    .eyesight-container {
        padding-top: 50px;
    }
}

.eyesight-container:first-of-type {
    padding-top: 0;
}

.eyesight-container p {
    font-size: 16px;
    padding-top: 35px;
}

@media (max-width: 62.49em) {
    .eyesight-container p {
        font-size: 14px;
        padding-top: 20px;
    }
}

.eyesight-images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* 横並び2列 */
    gap: 30px;
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    padding-top: 50px;
}

@media (max-width: 62.49em) {
    .eyesight-images {
        grid-template-columns: 1fr;
        /* 縦1列 */
        padding-top: 30px;
    }
}

.eyesight-image {
    text-align: center;
    background-color: #fff;
    padding: 10px;
}

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

.eyesight-image p {
    font-size: 16px;
}

/* product
======================= */
.product-box {
    background: #F7F7F7;
    padding: 100px 35px;
    text-align: center;
}

@media (max-width: 500px) {
    .product-box {
        padding: 50px 15px;
    }
}

.product-box p {
    padding-top: 35px;
    font-size: 16px;
    line-height: 2;
}

@media (max-width: 500px) {
    .product-box p {
        padding-top: 20px;
        font-size: 14px;
        text-align-last: left;
    }
}

.product-box span {
    font-weight: bold;
    color: #222;
    font-size: 16px;
    padding-top: 35px;
    display: inline-block;
}

@media (max-width: 500px) {
    .product-box span {
        font-size: 14px;
        padding-top: 20px;
    }
}

.product-buttons {
    padding-top: 50px;
    display: flex;
    justify-content: center;
    margin: 0 auto;
    width: 100%;
}

@media (max-width: 500px) {
    .product-buttons {
        padding-top: 30px;
        display: block;
    }
}

.product-buttons a {
    width: 220px;
    height: 50px;
    display: block;
    font-size: 16px;
    line-height: 48px;
    padding: 0;
    position: relative;
}

@media (max-width: 500px) {
    .product-buttons a {
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
        height: 45px;
        font-size: 14px;
        line-height: 43px;
    }
}

.product-buttons a:nth-of-type(2) {
    margin-left: 40px;
}

@media (max-width: 500px) {
    .product-buttons a:nth-of-type(2) {
        margin-left: unset;
        margin: 20px auto 0;
    }
}

.product-buttons a::after {
    content: '';
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-color: #10a8ba;
    /* 通常時の矢印の色 */
    mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path d='M0 0l4 4-4 4z'/></svg>") no-repeat center / contain;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path d='M0 0l4 4-4 4z'/></svg>") no-repeat center / contain;
    transition: background-color 0.3s;
}

@media (max-width: 500px) {
    .product-buttons a::after {
        font-size: 14px;
        width: 14px;
        height: 14px;
    }
}

.product-buttons a:hover::after {
    background-color: #fff;
}

.product-button-kv {
    padding-top: 50px;
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: center;
}

@media (max-width: 500px) {
    .product-button-kv {
        padding-top: 30px;
        display: block;
    }
}

.product-button-kv a {
    width: 220px;
    height: 50px;
    display: block;
    font-size: 16px;
    line-height: 48px;
    padding: 0;
    position: relative;
    color: #fff;
    border: 2px solid #fff;
    margin: 0 10px;
}

@media (max-width: 500px) {
    .product-button-kv a {
        width: 100%;
        max-width: 220px;
        margin: 0 auto;
        height: 45px;
        font-size: 14px;
        line-height: 43px;
        margin: 15px auto;
    }
}

.product-button-kv a:hover {
    background: #fff;
    color: #222;
}

.product-button-kv a::after {
    content: '';
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-color: #fff;
    /* 通常時の矢印の色 */
    mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path d='M0 0l4 4-4 4z'/></svg>") no-repeat center / contain;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path d='M0 0l4 4-4 4z'/></svg>") no-repeat center / contain;
    transition: background-color 0.3s;
}

@media (max-width: 500px) {
    .product-button-kv a::after {
        font-size: 14px;
        width: 14px;
        height: 14px;
    }
}

.product-button-kv a:hover::after {
    background-color: #222;
}


/* product-introduction & certification-system
======================= */
.introduction-title {
    text-align: center;
    padding-bottom: 50px;
}

@media (max-width: 62.49em) {
    .introduction-title {
        text-align: center;
        padding-bottom: 30px;
    }
}

.introduction-container:not(:first-of-type):not(:nth-of-type(4)) {
    padding-top: 100px;
}


@media (max-width: 62.49em) {
    .introduction-container:not(:first-of-type):not(:nth-of-type(4)) {
        padding-top: 50px;
    }
}

.introduction-content,
.certification-content {
    padding-top: 35px;
    line-height: 2;
}

@media (max-width: 62.49em) {

    .introduction-content,
    .certification-content {
        padding-top: 20px;
        font-size: 14px;
    }
}

.introduction-content span,
.certification-conten span {
    font-size: 12px;
    display: inline-block;
    padding-top: 5px;
}

.certification-img-pc {
    width: 100%;
    padding: 60px 0 30px;
}

.certification-img-pc img {
    width: 100%;
}

@media (max-width: 500px) {
    .certification-img-pc {
        display: none;
    }
}

.certification-img-sp {
    width: 100%;
    padding: 40px 0 0;
    display: none;
}

.certification-img-sp img {
    width: 100%;
}

@media (max-width: 500px) {
    .certification-img-sp {
        display: block;
    }
}

.introduction-box {
    padding: 35px;
    line-height: 2;
    background: #F7F7F7;
    margin-top: 35px;
}

@media (max-width: 62.49em) {
    .introduction-box {
        padding: 20px 15px;
        font-size: 14px;
        margin-top: 20px;
    }
}

.introduction-image {
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
}

.introduction-image img {
    width: 100%;
}

.introduction-image div {
    text-align: center;
    font-size: 16px;
    line-height: 1;
    padding-bottom: 20px;
}

@media (max-width: 62.49em) {
    .introduction-image div {
        text-align: center;
        font-size: 14px;
    }
}

.introduction-table {
    width: 100%;
    margin: 0 auto;
    overflow-x: auto;
    /* 横スクロールを可能に */
    padding-top: 35px;
}

@media (max-width: 62.49em) {
    .introduction-table {
        padding-top: 20px;
    }
}

.introduction-model {
    font-size: 20px;
    padding-bottom: 20px;
}

@media (max-width: 62.49em) {
    .introduction-model {
        font-size: 16px;
        padding-bottom: 10px;
    }
}

.table {
    display: table;
    width: 100%;
    border-collapse: collapse;
}

.table-row {
    display: table-row;
}

.table-cell {
    display: table-cell;
    text-align: center;
    padding: 10px;
    border: 1px solid rgb(0, 0, 0, .2);
    font-size: 14px;
    min-width: 110px;
    /* 最小幅 */
}

/* 各列の比率 */
.table-cell.model,
.table-cell.sphere,
.table-cell.diameter {
    width: calc((100% - 20%) / 3);
    /* 残りの80%を3列で均等分割 */
    vertical-align: middle;
}

.table-cell.length {
    width: 20%;
    /* 全長列を20%に固定 */
}

/* 15%が必要な新しいテーブルの設定 */
.table2 .table-cell.model,
.table2 .table-cell.sphere,
.table2 .table-cell.cylinder,
.table2 .table-cell.diameter {
    width: calc((100% - 15%) / 4);
    /* 15%列を持つテーブル用の均等分割 */
}

.table2 .table-cell.length {
    width: 15%;
}

.table-header {
    font-weight: 500;
    background-color: #f7f7f7;
}

@media (max-width: 62.49em) {
    .table {
        display: block;
        overflow-x: auto;
        /* スクロール可能に */
        white-space: nowrap;
        /* 折り返しを防止 */
    }

    .table-cell {
        min-width: 110px;
    }

    .table-cell.model,
    .table-cell.sphere,
    .table-cell.diameter {
        width: calc((100% - 20%) / 3);
        /* 残りの80%を3列で均等分割 */
    }

    .table-cell.length {
        width: 20%;
        /* 全長列を20%に固定 */
    }
}

.introduction-table-bottom {
    margin-top: 35px;
}

@media (max-width: 62.49em) {
    .introduction-table-bottom {
        margin-top: 20px;
    }
}

.introduction-title-bottom {
    border-bottom: none;
    padding-bottom: unset;
}

/* product-history
======================= */
.history-title {
    text-align: center;
    padding-bottom: 50px;
}

@media (max-width: 62.49em) {
    .history-title {
        text-align: center;
        padding-bottom: 30px;
    }
}

.history-image {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 100px;
}

@media (max-width: 62.49em) {
    .history-image {
        padding-top: 50px;
    }
}

.history-image img {
    width: 100%;
}

/* news
======================= */
.jp-dropdown--default .chosen-single {
    font-family: "proxima-nova", "noto-sans-cjk-jp", Helvetica Neue, Helvetica, Arial, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1rem;
    color: #282829;
    display: block;
}

.jp-dropdown--default .chosen-single:after {
    font-family: 'Icons';
    content: "\EA01";
}

@media (max-width: 62.49em) {
    .jp-dropdown--default .chosen-single {
        font-size: 15px;
    }
}

.jp-dropdown--default .chosen-single:after {
    cursor: pointer;
    position: absolute;
    top: 18px;
    right: 35px;
    color: #10a8ba;
    font-size: 12px;
    line-height: 1;
    z-index: 3;
}

.jp-dropdown--default .chosen-drop {
    display: none;
    position: absolute;
    width: -webkit-calc(100% + 2px);
    width: calc(100% + 2px);
    top: 100%;
    left: -1px;
    z-index: 1;
}

.jp-dropdown--default .chosen-results {
    margin-top: -1px;
    position: absolute;
    top: 0;
    background-color: #fff;
    border: 1px solid #10a8ba;
    border-top: none;
    width: 100%;
    max-height: 40vh;
    overflow-x: hidden;
    overflow-y: auto;
}

.jp-dropdown--default .chosen-results li {
    padding-left: 20px;
    cursor: pointer;
}

.jp-dropdown--default .chosen-results li:hover {
    color: #10a8ba;
}

.jp-dropdown--default .chosen-results li:last-child {
    padding-bottom: 15px;
}

.jp-dropdown--default.chosen-with-drop .chosen-drop {
    display: block;
}

@media (max-width: 62.49em) {
    .jp-dropdown--boxless {
        font-size: 15px;
    }
}

.jp-dropdown--boxless.chosen-container {
    display: inline-block;
}

.jp-dropdown--boxless .chosen-single {
    padding: 42px 35px 41px 35px;
    font-family: "proxima-nova", "noto-sans-cjk-jp", Helvetica Neue, Helvetica, Arial, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1rem;
    color: #fff;
    display: inline-block;
}

.jp-dropdown--boxless .chosen-single:after {
    font-family: 'Icons';
    content: "\EA01";
}

@media (max-width: 62.49em) {
    .jp-dropdown--boxless .chosen-single {
        padding: 20px 35px 20px 35px;
        font-size: 15px;
    }
}

.jp-dropdown--boxless .chosen-single:after {
    position: relative;
    top: 2px;
    display: inline-block;
    cursor: pointer;
    padding-left: 8px;
    color: #10a8ba;
    font-size: 12px;
    line-height: 1;
}

.jp-dropdown--boxless .chosen-drop {
    display: none;
    position: absolute;
    width: 100%;
    top: 100%;
    z-index: 1;
    border: none;
}

.jp-dropdown--boxless.jp-dropdown--full-width-results .chosen-results {
    width: 100%;
}

.jp-dropdown--boxless .chosen-results {
    position: absolute;
    top: 0;
    background-color: #f7f7f7;
    max-height: 40vh;
    overflow-x: hidden;
    overflow-y: auto;
    text-align: left;
}

.jp-dropdown--boxless .chosen-results li {
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    background-color: #f7f7f7;
    color: #858888;
    padding: 15px 30px 0;
    outline: none;
}

.jp-dropdown--boxless .chosen-results li:last-child {
    padding-bottom: 34px;
}

.jp-dropdown--boxless .chosen-results li:hover {
    color: #10a8ba;
}

.jp-dropdown--boxless.chosen-with-drop .chosen-drop {
    display: block;
}

select.jp-dropdown--default {
    font-family: "proxima-nova", "noto-sans-cjk-jp", Helvetica Neue, Helvetica, Arial, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1rem;
    color: #282829;
    display: block;
    width: 100%;
}

select.jp-dropdown--default:after {
    font-family: 'Icons';
    content: "\EA01";
}

@media (max-width: 62.49em) {
    select.jp-dropdown--default {
        font-size: 15px;
    }
}

select.jp-dropdown--default+i {
    cursor: pointer;
    position: absolute;
    top: 18px;
    right: 35px;
    color: #10a8ba;
    font-size: 12px;
    line-height: 1;
    z-index: 3;
}

select.jp-dropdown--boxless {
    padding: 20px 35px 20px 35px;
    font-family: "proxima-nova", "noto-sans-cjk-jp", Helvetica Neue, Helvetica, Arial, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1rem;
    color: #fff;
    display: inline-block;
    font-size: 15px;
    width: auto !important;
}

select.jp-dropdown--boxless:after {
    font-family: 'Icons';
    content: "\EA01";
}

select.jp-dropdown--boxless+i {
    position: relative;
    top: 2px;
    display: inline-block;
    cursor: pointer;
    padding-left: 8px;
    color: #10a8ba;
    font-size: 12px;
    line-height: 1;
}

.chosen-container.jp-dropdown--boxless {
    width: auto !important;
}

/* コンテナ：デスクトップでは幅960px、中央寄せ */
.jp-cat-selector {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    width: 960px;
}

/* 各タブ：デスクトップでは4分割（1行） */
.jp-cat-option {
    flex: 1 1 25%;
    /* 4つで100% */
    text-align: center;
    padding: 10px 0;
    cursor: pointer;
    background: transparent;
    color: #fff;
    transition: background 0.2s ease, color 0.2s ease;
}

/* ホバーおよびアクティブ時のスタイル */
.jp-cat-option:hover,
.jp-cat-option.active {
    background: #10a8ba;
    color: #fff;
}

@media (max-width: 81.24em) {
    .jp-cat-selector {
        width: 90%;
    }
}

@media (max-width: 1000px) {
    .jp-cat-selector {
        width: 100%;
    }
}

/* 画面幅が768px未満の場合：タブを2列に */
@media (max-width: 900px) {
    .jp-cat-selector {
        width: 100%;
    }

    .jp-cat-option {
        flex: 1 1 50%;
        /* 2列で100% */
    }
}

/* 画面幅が480px未満の場合：タブを1列に */
@media (max-width: 600px) {
    .jp-cat-option {
        flex: 1 1 100%;
        /* 1列で横幅いっぱい */
    }
}


.news-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 3列 */
    gap: 20px;
    /* グリッドアイテム間のギャップ */
    box-sizing: border-box;
    /* パディングやボーダーを含めたサイズ計算 */
}

@media (max-width: 900px) {
    .news-cards {
        grid-template-columns: repeat(2, 1fr);
        /* 2列 */
    }
}

@media (max-width: 600px) {
    .news-cards {
        grid-template-columns: 1fr;
        /* 1列 */
    }
}

.news-cards .card--news {
    margin-right: unset;
}

/* article
======================= */
.article-image {
    width: 100%;
    aspect-ratio: 1000 / 450;
    /* アスペクト比を指定 */
    overflow: hidden;
    /* コンテンツがはみ出さないようにする */
    padding-bottom: 50px;
}

@media (max-width: 62.49em) {
    .article-image {
        padding-bottom: 30px;
    }
}

.article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 画像を比率を保ちながら埋める */
}

.article-title {
    font-size: 24px;
    line-height: 2;
    font-weight: 600;
}

@media (max-width: 62.49em) {
    .article-title {
        font-size: 20px;
        line-height: 1.625;
    }
}

.article-flex {
    display: flex;
    justify-content: space-between;
    padding-top: 10px;
    font-size: 14px;
}

@media (max-width: 62.49em) {
    .article-flex {
        padding-top: 5px;
        font-size: 12px;
    }
}

.article-content {
    padding-top: 50px;
    line-height: 2;
}

@media (max-width: 62.49em) {
    .article-content {
        padding-top: 30px;
        font-size: 14px;
    }
}

.article-content a {
    color: dimgray;
    text-decoration: underline;
}

.article-box {
    background: #F7F7F7;
    padding: 35px;
    margin-top: 100px;
}

@media (max-width: 62.49em) {
    .article-box {
        margin-top: 50px;
    }
}

.article-box-title {
    display: inline-block;
    font-size: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgb(0, 0, 0, .2);
}

@media (max-width: 62.49em) {
    .article-box-title {
        font-size: 16px;
        padding-bottom: 8px;
    }
}

.article-box-items {
    display: flex;
    padding-top: 30px;
}

@media (max-width: 62.49em) {
    .article-box-items {
        display: block;
        padding-top: 20px;
    }
}

.article-box-items a {
    color: dimgray;
    transition: .1s;
    display: block;
}

@media (max-width: 62.49em) {
    .article-box-items a {
        font-size: 14px;
    }
}

.article-box-items a:hover {
    color: #10a8ba;
}

.article-box-items a:not(:first-of-type) {
    margin-left: 100px;
}

@media (max-width: 62.49em) {
    .article-box-items a:not(:first-of-type) {
        margin-left: unset;
        margin-top: 10px;
    }
}


/* contact
======================= */
.contact-button {
    padding-top: 30px;
    padding-bottom: 30px;
}

@media (max-width: 62.49em) {
    .contact-button {
        font-size: 14px;
    }

    .contact-container {
        font-size: 14px;
        text-align: center;
    }

}

/* coming-soon
======================= */
.coming-soon {
    font-size: 24px;
    font-weight: 600;
    text-align: center;
}

@media (max-width: 62.49em) {
    .coming-soon {
        font-size: 16px;
        font-weight: 600;
        text-align: center;
    }
}

/* 認定医制度
======================= */

.certification-content {
    padding-top: 35px;
    line-height: 2;
}

@media (max-width: 62.49em) {
    .certification-content {
        padding-top: 20px;
        font-size: 14px;
    }
}

.certification-content span {
    font-size: 12px;
    display: inline-block;
    padding-top: 5px;
}

/* google form
======================= */
iframe {
    height: 3350px;
}

@media (max-width: 62.49em) {
    iframe {
        height: 3800px;
    }
}

/* KV(リニューアル情報)
======================= */
/* 

.br-sp-kv {
    display: none;
}

@media (max-width: 500px) {
    .br-sp-kv {
        display: block;
    }
}

.kv-bg {
    background: #FFF;
}

.kv-img {
    width: 400px;
    margin: 0 auto;
}

@media (max-width: 62.49em) {
    .kv-img {
        width: 300px;
    }
}

@media (max-width: 500px) {
    .kv-img {
        width: 200px;
    }
}

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

.kv-text {
    color: #222;
    font-weight: 300;
    padding-top: 50px;
    font-size: 20px;
}

@media (max-width: 62.49em) {
    .kv-text {
        padding-top: 30px;
        font-size: 15px;
    }
}

@media (max-width: 500px) {
    .kv-text {
        font-size: 14px;
    }
}

.kv-text p:not(:first-of-type) {
    padding-top: 5px;
}

.kv-text p span {
    font-weight: bold;
    color: #10a8ba;
}


.hero-slide:before {
    display: none;
}

.button--rounded.button--big {
    height: auto;
    width: auto;
    font-size: 20px;
}

.hero-slider__scroll-cta::before,
.hero-slider__scroll-cta::after {
    content: '';
    position: absolute;
    top: -15px;
    left: 140px;
    height: 45px;
    width: 45px;
    border: 1px solid #10a8ba;
    border-radius: 50%;
}

@media (max-width: 62.49em) {
    .hero-slider__scroll-cta::before,
    .hero-slider__scroll-cta::after {
        content: '';
        position: absolute;
        top: -12px;
        left: 140px;
        height: 40px;
        width: 40px;
        border: 1px solid #10a8ba;
        border-radius: 50%;
    }
}

.arrow-down {
    width: 14px;
    position: absolute;
    top: -4px;
    left: 158px;
    transform: unset;
}

@media (max-width: 62.49em) {
    .arrow-down {
        width: 12px;
        position: absolute;
        top: -3px;
        left: 156px;
        transform: unset;
    }
}

.hero-slider__scroll-cta:hover, .hero-slider__scroll-cta:focus, .hero-slider__scroll-cta:active {
    background: none;
    border: 0 none;
    color: #10a8ba;
}

.hero-slider__scroll-cta {
    position: relative;
    bottom: unset;
    border: 0 none;
    left: unset;
    -webkit-transform: unset;
    -ms-transform: unset;
    transform: unset;
    margin-top: 70px;
}

.add-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background-image: linear-gradient(0deg, rgba(255, 255, 255, 0), 40%, rgba(16, 168, 186, 0.67) 74%, rgba(16, 168, 186, 0.83));
    z-index: 10;
}

@media (max-width: 1080px) {
    .add-bg {
        height: 100px;
    }
}

@media (max-width: 62.49em) {
    .hero-slider {
        height: 70vh;
    }
}

@media (max-width: 46.24em) {
    .hero-slider {
        height: 100vh;
    }
} */

/* recruit
======================= */
.recruit-font {
    font-size: 30px !important;
}

@media (max-width: 62.49em) {
    .recruit-font {
        font-size: 22px !important;
    }
}

.recruit-title {
    font-size: 55px;
    font-weight: 100;
    line-height: 1.2;
    text-align: left;
}

@media (max-width: 62.49em) {
    .recruit-title {
        font-size: 36px;
    }
}

.section-recruit .recruit-title {
    font-size: 45px;
    text-align: center;
}

@media (max-width: 62.49em) {
    .section-recruit .recruit-title {
        font-size: 32px;
    }
}

.border--bottom {
    padding-bottom: 16px;
    border-bottom: #858888 1px solid;
}

@media (max-width: 46.24em) {
    .border--bottom {
        padding-bottom: 10px;
    }
}

.recruit-title-ja {
    font-size: 30px;
    font-weight: 100;
    padding-top: 20px;
}

@media (max-width: 62.49em) {
    .recruit-title-ja {
        font-size: 22px;
        padding-top: 16px;
    }
}

.section-recruit .recruit-title-ja {
    text-align: center;
    font-size: 28px;
}

@media (max-width: 46.24em) {
    .section-recruit .recruit-title {
        font-size: 23px;
    }

    .section-recruit .recruit-title-ja {
        font-size: 18px;
    }
}

.recruit-about .recruit-title-ja span {
    display: inline;
    font-size: 34px;
}

@media (max-width: 46.24em) {
    .recruit-about .recruit-title-ja span {
        display: inline;
        font-size: 22px;
    }
}

.recruit-hero {
    height: 110vh;
    padding: 85px 0;
}

@media (min-width: 1081px) {
    .recruit-hero {
        height: 100vh;
        padding: 115px 0;
    }
}

@media (max-width: 999px) {
    .recruit-hero {
        height: 80vh;
        padding: 85px 0 50px;
    }
}

@media (max-width: 46.24em) {
    .recruit-hero {
        height: 90vh;
    }
}

.recruit-hero .hero-slide {
    overflow: hidden;
}

.recruit-hero-content {
    color: #fff;
    margin-top: 0;
    padding: 0 50px;
    text-align: center;
}

@media (max-width: 46.24em) {
    .recruit-hero-content {
        padding: 0;
    }
}

.recruit-hero-text {
    font-weight: 300;
    padding-top: 40px;
}


@media (max-width: 46.24em) {
    .recruit-hero-text {
        padding-top: 25px;
    }

    .recruit-hero .hero-slide__content {
        font-size: 14px;
    }
}

.recruit-bg {
    width: 80%;
    margin-left: auto;
    height: 100%;
    background-size: cover;
}

.recruit-hero .hero-slide:before {
    background-color: rgba(40, 40, 41, 0.5);
}


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

.flex {
    display: flex;
    justify-content: center;
}

@media (max-width: 46.24em) {
    .flex {
        display: block;
    }
}

.section-recruit .flex {
    height: 290px;
}

@media (max-width: 62.49em) {
    .section-recruit .flex {
        height: 245px;
        display: flex;
    }
}

@media (max-width: 46.24em) {
    .section-recruit .flex {
        height: 190px;
        display: flex;
    }
}

.recruit-left {
    width: 50%;
}

.recruit-right {
    background: #fff;
    padding: 40px 30px;
    width: 50%;
    z-index: 1;
    /* margin-top: 60px; */
}

@media (max-width: 46.24em) {
    .section-recruit .recruit-right {
        padding: 30px 15px;
        /* height: 170px; */
    }
}

.recruit-left .section__figure,
.recruit-right .section__figure {
    height: 100%;
}

.recruit-button {
    font-size: 18px;
    padding: 10px 40px;
    border-radius: 100px;
    position: relative;
    background: #fff;
}

@media (max-width: 62.49em) {
    .recruit-button {
        font-size: 14px;
        padding: 6px 20px;
        border-radius: 100px;
        position: relative;
    }
}

.section-recruit .recruit-button {
    left: 50%;
    transform: translateX(-50%);
}

.recruit-button-pad {
    padding-top: 30px;
}

@media (max-width: 62.49em) {
    .recruit-button-pad {
        padding-top: 20px;
    }
}

.recruit-button-big {
    display: block;
    width: 50%;
    margin: 0 auto;
    font-size: 30px;
    height: 80px;
    padding: 0;
    line-height: 80px;
    border-radius: 5px;
}

@media (max-width: 46.24em) {
    .recruit-button-big {
        width: 100%;
        max-width: 500px;
        font-size: 30px;
        height: 70px;
        line-height: 70px;
    }
}

.recruit-button-big::after {
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    content: '';
    position: absolute;
    background-color: #10a8ba;
    mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path d='M0 0l4 4-4 4z'/></svg>") no-repeat center / contain;
    -webkit-mask: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path d='M0 0l4 4-4 4z'/></svg>") no-repeat center / contain;
    transition: background-color 0.3s;
}

@media (max-width: 46.24em) {
    .recruit-button-big::after {
        right: 15px;
        width: 20px;
        height: 20px;
    }
}

.recruit-button-big:hover::after {
    background-color: #fff;
}

.color-bg-black .recruit-button-big {
    background: #fff;
    border: none;
}

.color-bg-black .recruit-button-big:hover {
    background: #10a8ba;
}

.section-recruit-button {
    padding: 0 0 150px;
}

@media (max-width: 46.24em) {
    .section-recruit-button {
        padding: 0 0 50px;
    }
}

@media (min-width: 62.49em) {
    .page-header--content-large .recruiut-header {
        width: 800px;
        top: 190px;

    }
}

.recruit-left img {
    width: 100%;
    height: 80%;
    object-fit: cover;
    display: block;
    /* 不要な隙間をなくすため */
}

.recruit-about .flex {
    justify-content: space-between;
}

.recruit-about-wrapper {
    background: #fff;
    padding: 50px;
    transition: .3s ease;
}

@media (max-width: 46.24em) {
    .recruit-about-wrapper {
        padding: 36px;
    }
}

.recruit-about-wrapper .recruit-title,
.recruit-about-wrapper .section__content,
.recruit-about-wrapper .recruit-title-ja {
    transition: .3s ease;
}

.recruit-about-wrapper:hover {
    background: #282829;
}

.recruit-about-wrapper:hover .recruit-title {
    color: #10a8ba;
}

.recruit-about-wrapper:hover .section__content,
.recruit-about-wrapper:hover .recruit-title-ja {
    color: #fff;
}


.recruit-about .flex:nth-child(n+2) {
    margin-top: 100px;
}

@media (max-width: 46.24em) {
    .recruit-about .flex:nth-child(n+2) {
        margin-top: 50px;
    }
}

.recruit-about .recruit-left {
    width: 40%;
}

@media (max-width: 46.24em) {
    .recruit-about .recruit-left {
        width: 100%;
    }
}

.recruit-about .recruit-left img {
    height: 100%;
}

.recruit-about .recruit-right {
    width: 60%;
    margin-top: 0;
    padding: 0;
    padding-right: 60px;
}

@media (max-width: 46.24em) {
    .recruit-about .recruit-right {
        width: 100%;
        margin-top: 0;
        padding-right: 0;
    }
}

.recruit-about .recruit-button-big {
    margin: 50px auto 0;
    font-size: 24px;
}

@media (max-width: 62.49em) {
    .recruit-about .recruit-button-big {
        width: 50%;
    }
}

@media (max-width: 46.24em) {
    .recruit-about .recruit-button-big {
        width: 100%;
        font-size: 22px;
    }
}

.recruit-about .recruit-button-big::after {
    right: 20px;
}

.recruit-about .recruit-title-ja {
    font-size: 32px;
    padding-bottom: 20px;
}

@media (max-width: 46.24em) {
    .recruit-about .recruit-title-ja {
        font-size: 22px;
        padding: 10px 0;
    }
}

@media (max-width: 46.24em) {
    .recruit-about .recruit-title-ja {
        margin-top: 10px;
    }
}

@media (max-width: 62.49em) {
    .recruit-about .text-center-sp {
        text-align: left;
    }
}

@media (max-width: 46.24em) {
    .recruit-about .text-center-sp {
        text-align: center;
    }
}


/* アコーディオン全体のスタイリング */
.recruit-accordion {
    border: 1px solid #ddd;
    border-radius: 5px;
    margin-bottom: 10px;
    color: #222;
}

.recruit-accordion:not(:first-of-type) {
    margin-top: 35px;
}

@media (max-width: 46.24em) {
    .recruit-accordion:not(:first-of-type) {
        margin-top: 20px;
    }
}

/* アコーディオンのヘッダー部分のスタイリング */
.recruit-accordion-title {
    background-color: #fff;
    cursor: pointer;
    outline: none;
    font-weight: bold;
    border-bottom: 1px solid #ddd;
    list-style: none;
    font-size: 18px;
    padding: 50px 80px 50px 60px;
}

@media (max-width: 46.24em) {
    .recruit-accordion-title {
        font-size: 16px;
        padding: 30px 60px 30px 30px;
    }
}

/* アコーディオンのコンテンツ部分のスタイリング */
.recruit-accordion-content {
    padding: 50px 60px;
    background-color: #fff;
}

@media (max-width: 46.24em) {
    .recruit-accordion-content {
        padding: 30px;
        background-color: #fff;
    }
}

.recruit-accordion-content div {
    color: #696969;
}

/* アコーディオンが開いている時のヘッダー部分のスタイル */
.accordion[open] .accordion-header {
    background-color: #e7e7e7;
}

/* アコーディオンの矢印を非表示にするためのスタイリング */
.recruit-accordion .recruit-accordion-title::-webkit-details-marker {
    display: none;
}

/* 以下のセレクタは将来的な互換性のためには必要ありませんが、
     古いブラウザでは有効な場合があるので記述しています */
.recruit-accordion .recruit-accordion-title::-moz-list-bullet {
    display: none;
}

.recruit-accordion-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.recruit-accordion-title span {
    background: #10a8ba;
    color: #fff;
    padding: 3px 10px;
    border-radius: 3px;
    width: auto;
    text-align: center;
    font-size: 16px;
}

@media (max-width: 46.24em) {
    .recruit-accordion-title span {
        width: auto;
        font-size: 14px;
    }
}

.recruit-accordion-title h2 {
    width: 70%;
    line-height: 1.6;
}

@media (max-width: 46.24em) {
    .recruit-accordion-title h2 {
        width: 100%;
        margin-top: 15px;
    }
}

.recruit-accordion .recruit-accordion-title .toggle-text {
    position: relative;
    color: #10a8ba;
    display: inline;
    text-align: right;
    width: auto;
}

.recruit-accordion .recruit-accordion-title .toggle-text::before {
    content: '詳細を見る';
    color: #10a8ba;
}

.recruit-accordion[open] .recruit-accordion-title .toggle-text::before {
    content: '閉じる';
}

.recruit-accordion .recruit-accordion-title .toggle-text::after {
    content: '';
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-color: #10a8ba;
    mask: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2023%2023%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M0%2C7l10.3%2C10.3h0s1.2%2C1.1%2C1.2%2C1.1l1.2-1.1%2C10.3-10.3-1.2-1.2-1.2-1.2-9.1%2C9.1L2.4%2C4.6%22/%3E%3C/svg%3E) no-repeat center / contain;
    -webkit-mask: url(data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2023%2023%22%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M0%2C7l10.3%2C10.3h0s1.2%2C1.1%2C1.2%2C1.1l1.2-1.1%2C10.3-10.3-1.2-1.2-1.2-1.2-9.1%2C9.1L2.4%2C4.6%22/%3E%3C/svg%3E) no-repeat center / contain;
    transition: transform 0.3s ease;
}

.recruit-accordion[open] .recruit-accordion-title .toggle-text::after {
    transform: translateY(-50%) rotate(180deg);
}

.recruit-accordion-content {
    line-height: 1.6;
}

.recruit-accordion-content .recruit-left {
    width: 20%;
    font-weight: 400;
    line-height: 1.6;
    color: #696969;
}

@media (max-width: 46.24em) {
    .recruit-accordion-content .recruit-left {
        font-size: 14px;
        width: 100%;
        padding-bottom: 5px;
        border-bottom: 1px solid #ddd;
        margin-bottom: 15px;
    }
}

.recruit-accordion-content .recruit-right {
    width: 80%;
    margin-top: 0;
    padding: 0;
}

@media (max-width: 46.24em) {
    .recruit-accordion-content .recruit-right {
        width: 100%;
    }
}

.recruit-accordion-content .recruit-right strong {
    margin-bottom: 20px;
    display: block;
    line-height: 1.6;
}

.recruit-accordion-content .recruit-right h3 {
    padding-bottom: 15px;
    line-height: 1.6;
    color: #696969;
}

@media (max-width: 46.24em) {
    .recruit-accordion-content .recruit-right h3 {
        padding-bottom: 5px;
    }
}

.recruit-accordion-content .recruit-right span {
    font-weight: 500;
}

.recruit-accordion-content .recruit-right p,
.recruit-accordion-content .recruit-right ul {
    padding-bottom: 30px;
}

@media (max-width: 46.24em) {

    .recruit-accordion-content .recruit-right p,
    .recruit-accordion-content .recruit-right ul {
        padding-bottom: 20px;
    }
}

.recruit-accordion-content .recruit-right li {
    position: relative;
    padding-left: 20px;
}

@media (max-width: 46.24em) {
    .recruit-accordion-content .recruit-right li {
        padding-left: 15px;
    }
}

.recruit-accordion-content .recruit-right li::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0;
}


.recruit-accordion-content .recruit-right .flow-list {
    counter-reset: step-counter;
    /* カウンターの初期化 */
    list-style: none;
    /* デフォルトのリストスタイルを無効化 */
    padding: 0;
}

.recruit-accordion-content .recruit-right .flow-list li {
    position: relative;
    margin-bottom: 20px;
    padding-left: 40px;
}

.recruit-accordion-content .recruit-right .flow-list li:before {
    counter-increment: step-counter;
    /* カウンターをインクリメント */
    content: counter(step-counter) ".";
    /* 数字を表示 */
    position: absolute;
    left: 0;
    top: 0;
    font-size: 20px;
    color: #10a8ba;
    /* 青色 */
}

.recruit-about-content {
    color: #fff;
    border-top: rgb(133, 136, 136) 1px solid;
    border-bottom: rgb(133, 136, 136) 1px solid;
    margin-top: 0;
    padding: 60px 50px;
    text-align: center;
}

@media (max-width: 46.24em) {
    .recruit-about-content {
        margin-top: 0 !important;
        padding: 36px;
    }
}

/** march.26.2025 **/
.card__new {
    position: absolute;
    top: 0;
    right: 0;
    background: #10a8ba;
    color: #FFF;
    padding: 0 15px;
    transition: background-color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.card--news:hover .card__new {
    background: #FFF;
    color: #10a8ba;
}