@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@200..700&display=swap');

a {
    cursor: pointer;
}

.sp {
    display: none !important;
}

.sp-only {
    display: none !important;
}

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

.eng {
    font-family: "Oswald", serif;
}

body {
    font-family: "Noto Sans JP", serif;
    margin: 0;
    overflow-x: clip;
    color: #3d3e41;
    background-color: #fff;
    font-weight: 500;
}

html {
    color: #3d3e41;
    font-family: "Noto Sans JP", serif;
    scroll-behavior: smooth;
}

.w-1200 {
    width: 100%;
    margin: auto;
    max-width: 1200px;
}

.w-1100 {
    width: 100%;
    margin: auto;
    max-width: 1100px;
}

.spinner {
display: block;
width: 30px;
height: 30px;
border-radius: 50%;
border: 4px solid #FFF;
border-left-color: #1082ce; 
/* アニメーションを1秒かけて実行 */
animation: spinner-rotation 1s linear infinite;
}

/* アニメーションの設定 */
@keyframes spinner-rotation {
0% {
    transform: rotate(0);
}
100% {
    transform: rotate(360deg);
}
}

.content {
width: 100%;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}

.content-text {
color:#333;
}

header.section-header {
    position: fixed;
    width: 100%;
    left: 0;
    z-index: 100;
}

.section-header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 32px;
}

.section-header__logo {
    width: 350px;
    position: relative;
    z-index: 10;
}

.section-header__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.section-header__navi {
    display: none;
}

li.btn-recruit a {
    background: #23457a;
    text-align: center;
    padding: 18px 0;
    border-radius: 10px;
    color: #fff;
    font-size: 24px;
    margin-top: 24px;
    transition: .25s;
}

li.btn-recruit a:hover {
    background-color: #000;
    color: #fff;
    transition: .25s;
}

.top-fv h1 {
    font-size: 110px;
    color: #FFFFFF;
}

.top-fv p {
    font-size: 28px;
    line-height: 48px;
    color: #FFFFFF;
    margin-top: 18px;
}

.top-fv {
    max-height: 940px;
    height: 100vh;
    position: relative;
}

ul.top-fv__slider {
    height: 100%;
    width: 100%;
}

ul.top-fv__slider div {
    height: 100%;
    width: 100%;
}

ul.top-fv__slider li,
ul.top-fv__slider ul {
    height: 100%;
    width: 100%;
}

.top-fv .slick-dots {
    width: max-content;
    height: auto;
    bottom: 32px;
}

.top-fv .slick-dots li {
    margin: 0 22px !important;
}

.top-fv .slick-dots li.slick-active button:before {
    color: #b0893a !important;
    opacity: 1 !important;
    font-size: 14px;
}

.top-fv .slick-dots li button:before {
    color: #fff !important;
    opacity: 1 !important;
    font-size: 14px;
}

.top-fv__inner.w-1200 {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}

/*FVスライダー*/

.top-fv__slider,
.top-fv__slider li {
    width: 100%;
    height: 100vh;
    /* 画面全体の高さ */
    overflow: hidden;
}

.top-fv__slider img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 画像を全面表示 */
}

.slick-dots {
    position: absolute;
    bottom: 20px;
    /* ドットの位置 */
    left: 50%;
    transform: translateX(-50%);
    display: flex !important;
    gap: 10px;
    height: max-content;
}

.slick-dots li {
    height: auto;
}

.slick-dots li button:before {
    font-size: 12px;
    /* ドットのサイズ */
    color: #000;
    /* ドットの色 */
    opacity: 0.6;
    /* 非アクティブ時の透明度 */
}

.slick-dots li.slick-active button:before {
    color: #fff;
    /* アクティブ時の色 */
    opacity: 1;
    /* アクティブ時は100%表示 */
}

.scroll-btn {
    position: absolute;
    left: -110px;
    bottom: -60px;
    width: 330px;
    height: 330px;
    z-index: 999;
    border: 1px solid #FFFFFF;
    color: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100000px;
    transform: rotate(90deg);
    font-size: 19px;
    font-weight: 700;
}

.scroll-btn img {
    width: 50px;
    height: 15px;
    object-fit: contain;
    object-position: center;
    position: relative;
    margin-left: 26px;
}

button.prev-arrow.slick-arrow.slick-hidden {
    transform: scale(-1, 1);
    background: #fff;
    border-radius: 10000px;
    width: 58px;
    height: 58px;
}

button.next-arrow.slick-arrow.slick-hidden {
    background: #fff;
    border-radius: 10000px;
    width: 58px;
    height: 58px;
}


.top-intro__inner__text h2 {
    position: relative;
    font-size: 48px;
    margin-bottom: 32px;
    line-height: 1.5;
    font-weight: 700;
    color: #22457a;
    letter-spacing: 3.6px;
    z-index: 1;
}


.top-intro__inner__text p {
    position: relative;
    font-size: 18px;
    line-height: 2;
    font-weight: 500;
    color: #22457a;
    z-index: 1;
}

section.top-intro {
    padding: 120px 0;
    background-image: url(../images/top/intro-bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

.top-intro__inner__img {
    position: absolute;
    right: 0;
    top: 50%;
    width: 70vw;
    transform: translateY(-50%);
    height: 100%;
}

.top-intro__inner__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right;
}

.scroll-txt-container {
    position: relative;
}

.scroll-txt {
    position: absolute !important;
    top: 0 !important;
    left: 0;
    width: 100%;
    display: flex;
    font-size: 200px;
    white-space: nowrap;
    /* テキストの折り返し防止 */
}

.scroll-txt p {
    margin: 0 50px;
    /* テキスト間の余白 */
    font-weight: bold;
    color: #ffffff7b;
}

.slick-track {
    display: flex !important;
    /* トラックをフレックス化 */
    align-items: center;
}

.top-interview {
    background-color: #22457a;
    padding: 120px 0;
    color: #fff;
}

.top-interview__inner h2 {
    text-align: center;
    font-size: 88px;
    line-height: 1;
}

.top-interview__inner span.ttl-tag {
    text-align: center;
    font-size: 24px;
    display: block;
    text-align: center;
    margin-top: 32px;
    line-height: 1;
    font-weight: 400;
}


.interview-slider {
    display: flex;
}

.interview-slider li {
    width: 400px;
    padding-left: 40px;
    margin-left: 60px;
    list-style: none;
    position: relative;
}

.interview-slider li a {
    display: block;
}

.interview-tag {
    font-weight: 700;
    transform: rotate(90deg);
    transform-origin: left top;
    left: 34px;
    display: block;
    position: absolute;
    font-size: 24px;
}

.interview-slider img {
    width: 100%;
    height: auto;
}

.interview-slider__arrows {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 32px;
    position: relative;
    z-index: 101;
}

body:has(.section-header__navi.active) .interview-slider__arrows {
    z-index: 10;
}

.interview-slider__arrows button {
    background: #333;
    color: #fff;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
}

.interview-slider__arrows button:hover {
    background: #555;
}


.interview-slider__arrows button {
    background: #333;
    color: #fff;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    display: flex !important;
}

.interview-list_thumbnail {
    width: 100%;
    height: 500px;
    border-radius: 10px 50px 10px 10px;
    overflow: hidden;
    position: relative;
}

tr.form-content.req.school span.wpcf7-form-control-wrap::before {
    content: "必須";
    position: absolute;
    z-index: 2;
    right: 30px;
    top: 30px;
    color: #cc1b1b;
    transform: translateY(-50%);
}

.interview-list_thumbnail>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: .25s;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

li:hover .interview-list_thumbnail>img {
    width: 110%;
    height: 110%;
    object-fit: cover;
    object-position: center;
    transition: .25s;
}

.interview-list_thumbnail span.thumb-arrows {
    content: "";
    width: 75px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 99;
    right: -1px;
    bottom: -1px;
    background-color: #22457a;
    border-radius: 10px 0 0 0;
}

.interview-list_thumbnail span.thumb-arrows img {
    width: 10px;
    height: 18px;
    object-fit: contain;
    position: absolute;
}

.interview-list-text-group {
    margin-top: 24px;
}


.interview-list-text-group .interview-list-year {
    display: block;
    margin-bottom: 24px;
    font-size: 20px;
}

.interview-slider {
    margin-top: 64px;
}

.interview-list-text-group .interview-list-name {
    font-size: 26px;
    color: #fff;
}


section.top-about {
    padding: 160px 0 100px 0;
    position: relative;
}

section.top-about .scroll-txt p {
    margin: 0 50px;
    font-weight: bold;
    color: #e0e6e652;
}

.top-about__inner.w-1200 {
    position: relative;
}

.top-about__cont {
    position: relative;
    width: 100%;
    background: url(../images/top/about-bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 183px 40px 40px;
    text-align: center;
}

.top-about__cont h2 {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    color: #b0893a;
    font-size: 110px;
    font-weight: 700;
}

.top-about__cont p {
    font-size: 32px;
    color: #fff;
}

.readmore-btn {
    border-radius: 10000px;
    background-color: #b0893a;
    padding: 30px 80px;
    display: block;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    width: max-content;
    position: relative;
    transition: .25s;
}

.readmore-btn:hover {
    transition: .25s;
    background-color: #3d3e41;
}

.readmore-btn::before {
    content: "";
    background-image: url(../images/top/arrows.webp);
    width: 10px;
    height: 18px;
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.top-about__cont a {
    margin-top: 80px;
    margin-left: auto;
    margin-right: auto;
}

.top-greeting h2 {
    color: #22457a;
    font-weight: 700;
    font-size: 80px;
    margin-bottom: 24px;

}

.greeting-cont_label {
    font-size: 24px;
    color: #22457a;
    font-weight: 400;
}

.greeting-cont-left p {
    font-size: 32px;
    padding-top: 60px;
    padding-bottom: 60px;
    line-height: 1.5;
    color: #22457a;
    position: relative;
    z-index: 9;
    font-weight: 700;
}

.top-intro__inner__text {
    position: relative;
}

.top-greeting__inner.w-1200 {
    padding-bottom: 120px;
    position: relative;
}

.top-greeting {
    position: relative;
    overflow: hidden;
}

.top-greeting::before {
    content: "";
    position: absolute;
    right: 40%;
    bottom: 0;
    width: 60vw;
    height: 90%;
    background-image: url(../images/top/greeting-bg.webp);
    background-position: right;
    background-size: cover;
    background-repeat: no-repeat;
}

.interview-slider__arrows button {
    width: 56px;
    height: 56px;
    background-color: #fff !important;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10000px;
}

.interview-slider__arrows button img {
    width: 10px;
    height: 18px;
    object-fit: contain;
    object-position: center;
}

.interview-slider__arrows button.prev-arrow.slick-arrow {
    transform: scale(-1);
}

.greeting-cont-right {
    position: absolute;
    left: 35%;
    top: 0;
    height: 90%;
    width: 65vw;
}

.greeting-cont-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
}

.top-recruiter h2 {
    color: #22457a;
    font-weight: 700;
    font-size: 80px;
    margin-bottom: 24px;
}

.recruiter-cont_label {
    padding-bottom: 90px;
    font-size: 24px;
    color: #22457a;
    font-weight: 400;
}

.recruiter-cont-left p {
    font-size: 32px;
    font-weight: 700;
    padding-top: 60px;
    padding-bottom: 60px;
    line-height: 1.5;
    color: #22457a;
}

.top-recruiter__inner.w-1200 {
    padding-bottom: 120px;
    position: relative;
}

.top-recruiter::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 70vw;
    height: 90%;
    background-image: url(../images/top/greeting-bg.webp);
    background-position: right;
    background-size: cover;
    background-repeat: no-repeat;
    transform: scale(-1);
}

.recruiter-cont-left {
    position: relative;
    max-width: 500px;
    margin-left: auto;
    z-index: 1;
}

.top-recruiter {
    position: relative;
    margin-top: 120px;
}

.recruiter-cont-right {
    position: absolute;
    right: 35%;
    top: 0;
    height: 85%;
    width: 65vw;
}

.recruiter-cont-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
}


section.top-number {
    background-image: url(../images/top/number-bg.webp);
    padding: 180px 0 180px;
    color: #fff;
}


section.top-number h2 {
    margin-bottom: 42px;
    font-weight: 700;
    font-size: 80px;
    text-align: center;
}

section.top-number span {
    display: block;
    margin-bottom: 40px;
    text-align: center;
}


section.top-column {
    padding: 72px 0;
    background-image: url(../images/top/bg-gradient.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

section.top-column h2 {
    font-size: 50px;
    color: #22457a;

}

.top-column__ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

section.top-job {
    padding: 72px 0;
    background-image: url(../images/top/bg-gradient.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

section.top-job h2 {
    font-size: 50px;
    color: #22457a;

}

.top-job__ttl {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fv-column-btn {
    color: #b0893a;
    display: flex;
    align-items: center;
}

.fv-column-btn span {
    content: "";
    margin-left: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border-radius: 10000px;
    background-color: #b0893a;
}

.fv-column-btn span img {
    width: 10px;
    height: 18px;
    object-fit: contain;
    object-position: center;
}

.fv-job-btn {
    color: #b0893a;
    display: flex;
    align-items: center;
}

.fv-job-btn span {
    content: "";
    margin-left: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border-radius: 10000px;
    background-color: #b0893a;
}

.fv-job-btn span img {
    width: 10px;
    height: 18px;
    object-fit: contain;
    object-position: center;
}

ul.column-list {
    margin-top: 40px;
    display: flex;
    justify-content: left;
    column-gap: 100px;
    row-gap: 50px;
}

ul.column-list li {
    width: calc((100% - 200px) / 3);
}

.column-list__thumbnail {
    width: 100%;
    height: 220px;
    background: #ccc;
    margin-bottom: 18px;
}

.column-list__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.column-list__tag {
    margin-bottom: 12px;
    color: #818181;
    display: block;
    font-weight: 400;
    line-height: 1;
}

.column-list__cont h3 {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
}

ul.job-list {
    margin-top: 40px;
    display: flex;
    justify-content: left;
    column-gap: 100px;
    row-gap: 50px;
}

ul.job-list li {
    width: calc((100% - 200px) / 3);
}

.job-list__thumbnail {
    width: 100%;
    height: 220px;
    background: #ccc;
    margin-bottom: 18px;
}

.job-list__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.job-list__tag {
    margin-bottom: 12px;
    color: #818181;
    display: block;
    font-weight: 400;
    line-height: 1;
}

.job-list__cont h3 {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
}

ul.top-job-list {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
}

ul.top-job-list li {
    width: calc((100% / 3) - 20px);
}

.top-job-list__thumbnail {
    width: 100%;
    height: 220px;
    background: #ccc;
    margin-bottom: 18px;
}

.top-job-list__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.top-job-list__tag {
    margin-bottom: 24px;
    color: #818181;
    display: block;
    font-weight: 400;
    line-height: 1;
}

.top-job-list__cont h3 {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
}

section.top-link-tab {
    padding: 80px 0;
}

.top-link-tab__inner ul {
    display: flex;
    justify-content: space-between;
}

.top-link-tab__inner ul li {
    width: calc((100% - 72px) / 2);
    position: relative;
}

.top-link-tab__inner ul li::before {
    clip-path: polygon(60px 0px, 100% 0px, calc(100% - 60px) 100%, 0px 100%);
    background-color: #22457a;
    position: absolute;
    left: 0;
    z-index: -1;
    top: 0;
    content: "";
    width: 100%;
    height: 100%;
}

.top-link-tab__inner ul li::after {
    position: absolute;
    z-index: -2;
    left: 0;
    content: "";
    transform: scale(1, -1);
    width: 100%;
    height: 100%;
    top: 22px;
    transition: .25s;
    background-image: url(../images/top/bg-gradient.webp);
    clip-path: polygon(60px 0px, 100% 0px, calc(100% - 60px) 100%, 0px 100%);
}

.top-link-tab__inner ul li:hover::after {
    top: 0;
    transition: .25s;
}

.top-link-tab__inner ul li a {
    display: flex;
    width: 100%;
    height: auto;
    justify-content: center;
    align-items: center;
    color: #fff;
    padding: 63px 0;
}

.top-link-tab__inner ul li a .eng {
    font-size: 48px;
    font-weight: 700;
}

.top-link-tab__inner ul li a .jp {
    font-size: 20px;
    font-weight: 400;
    margin-left: 27px;
}

ul.top-img-loop__slider {
    display: flex;
    height: 25vw;
}

ul.top-img-loop__slider li {
    display: block;
    height: 100%;
    width: calc(100% / 4);
}

ul.top-img-loop__slider li img {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}


footer {
    display: flex;
    justify-content: space-between;
}

.footer-logo {
    max-width: 460px;
    width: 100%;
    height: auto;
}

.footer-logo img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.footer-info p {
    margin-top: 40px;
    line-height: 1.8;
    font-size: 20px;
}

.footer__inner {
    width: 50%;
    padding: 88px 0;
    background: linear-gradient(45deg, #f3f5f5, #dde6ed);
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-info__wrap {
    max-width: 580px;
    padding-left: 20px;
    padding-right: 20px;
    margin: auto;
}

.section-footer_sns-group ul {
    display: flex;
    margin-top: 40px;
    align-items: center;
}

.section-footer_sns-group ul li {
    width: 40px;
    height: 40px;
    margin-right: 32px;
}

.instagram-icon {
    width: 50px !important;
    height: 50px !important;
}

.section-footer_sns-group ul li a {
    display: block;
    opacity: 1;
    transition: .25s;
}

.section-footer_sns-group ul li a:hover {
    opacity: .6;
    transition: .25s;
}

.section-footer_sns-group ul li a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

a.privacy-poricy {
    margin-top: 40px;
    display: block;
    color: #a9a9a9;
    font-size: 12px;
}

p.copyright {
    margin-top: 40px;
    display: block;
    color: #a9a9a9;
    font-size: 12px;
}


.footer-entry {
    width: 50%;
    background: #22457a;
    padding: 88px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-entry__wrap {
    max-width: 420px;
    padding-left: 20px;
    padding-right: 20px;
    margin: auto;
    width: 100%;
}

.footer-entry__wrap h2 {
    font-size: 80px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
    text-align: center;
}

.footer-entry__wrap ul li {
    width: 100%;
    margin-bottom: 20px;
}

.footer-entry__wrap ul li p {
    font-size: 18px;
    line-height: 2;
    color: #fff;
    text-align: center;
}

.footer-entry__wrap ul li a {
    display: block;
    padding: 24px 0;
    border-radius: 5px;
    font-size: 24px;
    text-align: center;
    background-color: #fff;
    color: #22457a;
    transition: .25s;
}

.footer-entry__wrap ul li:hover a {
    display: block;
    padding: 24px 0;
    border-radius: 5px;
    font-size: 24px;
    text-align: center;
    background-color: #b0893a;
    color: #fff;
    transition: .25s;
}


ul.column-list li {
    position: relative;
}

ul.column-list li span.column-list__date {
    color: #22457a;
    transform: rotate(90deg) translateY(-140px);
    transform-origin: left top;
    font-size: 20px;
    position: absolute;
    right: 0;
    top: 0;
}

ul.job-list li {
    position: relative;
}

ul.job-list li span.job-list__date {
    color: #22457a;
    transform: rotate(90deg) translateY(-140px);
    transform-origin: left top;
    font-size: 20px;
    position: absolute;
    right: 0;
    top: 0;
}

ul.top-job-list li p.top-job-list__eng {
    color: #22457a;
    transform: rotate(90deg);
    font-size: 20px;
    height: auto;
    width: auto;
}


/*ここaboutページ*/

section.page-about__head.page-head {
    padding-top: 240px;
    padding-bottom: 80px;
    background-image: url(../images/about/about-header-img.webp);
    background-size: cover;
    background-position: center;
}


section.page-about__head.page-head h1 {
    color: #fff;
    font-size: 88px;
    text-align: center;
    font-weight: 700;
}

section.page-about__head.page-head h1 span {
    color: #fff;
    font-size: 24px;
    text-align: center;
    display: block;
    margin-top: 24px;
    font-family: "Noto Sans JP", serif;
}

section.page-about__tablist {
    padding: 60px 0;
}

.about__tablist__cont {
    display: flex;
    justify-content: space-between;
}

.about__tablist__cont li {
    width: calc((100% - 60px) / 3);
}

.about__tablist__cont li a {
    display: block;
    background-color: #b0893a;
    color: #fff;
    padding: 24px 0;
    text-align: center;
    font-size: 20px;
}

section.page-about__intro {
    padding: 100px 0;
    background: linear-gradient(90deg, #c5d4d8, #dfe6e6, #c1d3d7);
}

.page-about__intro__txt_wrap {
    position: relative;
}

h2.page-about__intro__txt {
    font-size: 56px;
    font-weight: 700;
    margin-bottom: 32px;
    line-height: 1.3;
    position: relative;
    z-index: 1;
    color: #22457a;
}

span.page-about__intro__eng.eng {
    position: absolute;
    right: 0;
    top: -30px;
    z-index: 0;
    font-size: 120px;
    color: hsla(0, 0%, 100%, 0.42);
}

.page-about__intro__inner>p {
    font-size: 18px;
    line-height: 1.8;
}

.page-about__intro__img {
    width: 100%;
    height: 450px;
    margin-bottom: 100px;
}

.page-about__intro__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

section.page-about__phylosophy {
    padding: 120px 0 0;
    position: relative;
}

h2.page-about__phylosophy__txt {
    color: #22457a;
    font-size: 88px;
    margin-bottom: 56px;
    font-weight: 700;
}

h3.page-about__phylosophy__txt {
    color: #22457a;
    font-size: 32px;
    margin-bottom: 32px;
    line-height: 1.8;
    font-weight: 700;
}

.page-about__phylosophy__inner.w-1200 {
    position: relative;
    padding-bottom: 180px;
}

section.page-about__phylosophy p.phylosophy__textarea {
    font-size: 18px;
    line-height: 2;
}

section.page-about__phylosophy .scroll-txt p {
    margin: 0 50px;
    font-weight: bold;
    color: hsl(180deg 12% 89% / 35%);
}

.page-about__phylosophy__img {
    position: absolute;
    top: 120px;
    right: 0;
    width: 60vw;
    height: calc(100% - 120px);
}

.page-about__phylosophy__img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right center;
}

section.page-about__phylosophy2 {
    padding-top: 120px;
    padding-bottom: 80px;
    position: relative;
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
}

section.page-about__phylosophy2::before {
    z-index: 0;
    background-image: url(../images/about/about__phylosophy2__bg.webp);
    background-size: cover;
    background-position: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 700px;
    position: absolute;
    content: "";
}

.page-about__phylosophy2__inner.w-1200 {
    position: relative;
}

section.page-about__phylosophy2 h2 {
    font-size: 88px;
    font-weight: 700;
    color: #fff;
}

p.about__phylosophy2__text {
    margin-top: 24px;
    font-size: 20px;
    color: #fff;
}

.about__panellayout-cont {
    background: rgba(34, 69, 122, 0.8);
    color: #fff;
    padding: 60px 130px;
    min-height: 440px;
    position: relative;
    z-index: 2;
}

.about__panellayout-sub {
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 24px;
}

.about__panellayout-ttl {
    font-weight: 700;
    font-size: 36px;
    line-height: 1.6;
    margin-bottom: 28px;
}

.about__panellayout-tag {
    display: flex;
    margin-bottom: 40px;
    align-items: center;
    color: #b0893a;
}

.about__company-profile__inner.w-1200 {
    max-width: 1000px;
}

section.about__company-profile h2.eng {
    font-size: 88px;
    text-align: center;
    font-weight: 700;
    color: #22457a;
}

section.about__company-profile {
    padding-bottom: 120px;
}

.company-profile__sub {
    font-size: 24px;
    margin-top: 24px;
    text-align: center;
    font-weight: 400;
    color: #22457a;
    margin-bottom: 64px;
}

tr.company-table {
    width: 100%;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #ccc;
}

.company-table__ttl {
    width: 220px;
    padding-top: 32px;
    padding-bottom: 32px;
    position: relative;
    text-align: center;
    font-size: 20px;
}

.company-table__ttl::before {
    width: 220px;
    height: 4px;
    position: absolute;
    background-color: #b0893a;
    bottom: 0;
    left: 0;
    content: "";
    display: block;
}

.company-table__text {
    width: calc(100% - 220px);
    padding-top: 32px;
    padding-left: 32px;
    padding-bottom: 32px;
    font-size: 18px;
    line-height: 1.6;
}

td.company-table__text a {
    color: #323dd0;
    border-bottom: 1px solid;
}

td.company-table__text>span {
    display: block;
    display: flex;
    align-items: center;
}

td.company-table__text>span>span {
    display: flex;
    justify-content: space-between;
    width: 110px;
    height: 90px;
    margin-right: 24px;
}

td.company-table__text>span:first-of-type {
    margin-bottom: 18px;
}

td.company-table__text>span>span img {
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%;
}

td.company-table__text>span>p {
    width: calc(100% - 140px);
}

.map-text {
    display: flex;
    align-items: center;
    margin-top: 80px;
}

.about__company-profile__inner.w-1200 iframe {
    margin-top: 20px;
    width: 100%;
    height: 500px;
}

.map-text img {
    display: block;
    width: 15px;
    height: 20px;
    object-fit: cover;
    object-position: center;
    margin-right: 16px;
}

.about__panellayout-tag::before {
    content: "";
    display: block;
    height: 1px;
    width: 32px;
    margin-right: 14px;
    background-color: #b0893a;
}

.about__panellayout-comment {
    font-size: 20px;
    line-height: 2;
}

.page-about__panellayout .text-decorate {
    position: absolute;
    transform: rotate(90deg) translateX(-50%) translateY(-50%);
    transform-origin: top left;
    font-size: 88px;
    left: 0;
    top: 50%;
}

.page-about__panellayout2 .text-decorate {
    position: absolute;
    transform: rotate(90deg) translateX(-50%) translateY(-280%);
    transform-origin: top left;
    font-size: 88px;
    right: 0;
    display: block;
    width: max-content;
    left: auto;
    top: 50%;
}

section.page-about__panellayout {
    position: relative;
    display: block;
}


.page-about__panellayout1 .page-about__panellayout__img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50vw;
    left: 0;
    height: calc(100% + 120px);
}

.page-about__panellayout2 .page-about__panellayout__img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50vw;
    right: 0;
    height: calc(100% + 120px);
}

.page-about__panellayout__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.page-about__panellayout {
    margin-bottom: 160px;
}

.page-about__logo__inner {
    display: flex;
    justify-content: space-between;
    gap: 50px;
    align-items: center;
}

.about__phylosophy2-list {
    margin-top: 64px;
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
}

.about__phylosophy2-list li {
    width: 100%;
    padding: 40px;
    display: flex;
    justify-content: space-between;
    gap: 50px;
    background-color: #fff;
    margin-bottom: 40px;
    align-items: center;
    position: relative;
}

.about__phylosophy2__textarea {
    width: calc(100% - 420px);
}

.about__phylosophy2__textarea p {
    line-height: 2;
    font-size: 16px;
}

.about__phylosophy2__textarea h3 {
    line-height: 1.6;
    font-size: 24px;
    color: #22457a;
    font-weight: 700;
    margin-bottom: 32px;
}

.about__phylosophy2__img {
    width: 400px;
    height: 300px;
}

.about__phylosophy2__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;

}

.about-movie {
    background-color: #22457a;
    padding-top: 80px;
    padding-bottom: 80px;
}

.about-movie__inner ul {
    display: flex;
    justify-content: space-between;
}

.about-movie__inner ul li {
    width: calc(50% - 20px);
}

.about-movie__inner ul li p {
    font-size: 28px;
    margin-bottom: 24px;
    font-weight: 700;
    color: #fff;
}

.about-movie__inner ul li img {
    width: 100%;
    height: 320px;
    object-fit: cover;
}

.about-movie__inner ul li iframe {
    width: 100%;
    height: 320px;
    object-fit: cover;
}

.page-about__logo__inner img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
}

.about__logo__img,
.about__logo__inner__txt {
    width: 50%;
}

.about__logo__inner__txt h3.eng {
    font-size: 44px;
    margin-bottom: 40px;
    color: #22457a;
}

.about__logo__inner__txt p {
    font-size: 16px;
    line-height: 2;
}

section.page-about__logo {
    margin-bottom: 120px;
}

ul.column-list {
    flex-wrap: wrap;
}

ul.job-list {
    flex-wrap: wrap;
}

ul.top-job-list {
    flex-wrap: wrap;
}

section.column-archive {
    padding-top: 80px;
    padding-bottom: 120px;
}

section.column-archive .comming-soon {
    margin-top: 20px;
    font-size: 20px;
    line-height: 2;
}

.section-column-tab {
    border-top: 1px solid;
}

.section-column-tab .w-1200 {
    padding: 48px 20px;
}

ul.column-cat-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
}

ul.column-cat-list li a {
    display: block;
    width: max-content;
    background-color: #f3f5f5;
    color: #3d3e41;
    padding: 14px 21px;
}

ul.column-cat-list li a.active {
    background-color: #22457a;
    color: #fff;
}

ul.column-cat-list li {
    display: block;
    width: max-content;
    margin-right: 16px;
    margin-bottom: 16px;
}

ul.job-cat-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
}

ul.job-cat-list li a {
    display: block;
    width: max-content;
    background-color: #f3f5f5;
    color: #3d3e41;
    padding: 14px 21px;
}

ul.job-cat-list li a.active {
    background-color: #22457a;
    color: #fff;
}

ul.job-cat-list li {
    display: block;
    width: max-content;
    margin-right: 16px;
    margin-bottom: 16px;
}

/*代表メッセージ*/

.page-greeting__head {
    height: 900px;
    width: 100%;
    background-image: url(../images/greeting/ceo-img.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

.page-greeting__head__inner.w-1200 {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
}

.page-greeting__head__inner h1 {
    font-size: 88px;
    margin-bottom: 24px;
    color: #23457a;
    filter: drop-shadow(0 0 10px #ffffff);
}


.page-greeting__head__inner .jp {
    font-size: 24px;
    font-weight: 400;
    display: block;
    width: max-content;
    color: #23457a;
    margin-bottom: 40px;
    font-weight: 700;
    filter: drop-shadow(3px 3px 10px #ffffff);
}

.page-greeting__head__inner h2 {
    font-size: 40px;
    margin-bottom: 30px;
    line-height: 1.8;
}

.page-greeting__head__inner h2 span {
    font-size: 40px;
    background-color: #fff;
    display: block;
    width: max-content;
    padding: 12px 19px;
    font-weight: 700;
    margin-bottom: 16px;
}

.page-greeting__head__textgroup p {
    font-size: 18px;
    margin-bottom: 24px;
    line-height: 2;
    font-weight: 400px;
}

.page-greeting__head__textgroup span {
    font-size: 28px;
    font-weight: 700;
}

.page-greeting__head__textgroup {
    background-color: #22457a;
    padding: 40px 56px;
    color: #fff;
    width: max-content;
}

.page-greeting__comment__inner.w-1200 p.main-comment {
    line-height: 2;
    font-size: 18px;
    margin-bottom: 80px;
}

section.page-greeting__comment {
    padding: 200px 0 120px;
    position: relative;
}

p.ceo-name {
    display: block;
    width: max-content;
    margin-left: auto;
    font-size: 18px;
    line-height: 2;
}

p.ceo-name {
    display: block;
    width: max-content;
    margin-left: auto;
    font-size: 18px;
    line-height: 2;
    text-align: right;
}

p.ceo-name img {
    display: block;
    width: 140px;
    height: auto;
    object-fit: contain;
    margin-left: auto;
    margin-top: 32px;
}

section.breadcumb {
    padding: 22px 0;
    border-top: 1px solid #818181;
    background-color: #fff;
}

section.breadcumb ul {
    display: flex;
    align-items: center;
}

section.breadcumb ul li {
    color: #818181;
    margin-right: 12px;
}

.greeting__comment__decoration {
    text-align: center;
    width: max-content;
    position: absolute;
    font-weight: 700;
    top: -28px;
    line-height: 1;
    left: 50%;
    transform: translateX(-50%);
    font-size: 200px;
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/*FAQページ*/
.page-faq__head {
    padding-top: 180px;
    padding-bottom: 120px;
    position: relative;
    background-image: url(../images/faq/faq-bg.webp);
    background-size: cover;
    background-position: center;
}

.page-faq__head__inner h1 {
    text-align: center;
    font-size: 88px;
    display: block;
    color: #22457a;
    position: relative;
    z-index: 2;
}

.page-faq__head__inner .jp {
    text-align: center;
    font-size: 24px;
    font-weight: 400;
    display: block;
    color: #22457a;
    position: relative;
    z-index: 2;
    margin-top: 24px;
}

.page-faq__head .scroll-txt {
    position: absolute !important;
    top: auto !important;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    font-size: 150px;
    white-space: nowrap;
}

section.page-faq__cont {
    padding-top: 100px;
    padding-bottom: 60px;
}

.page-faq__cont__inner.w-1200 {
    display: flex;
    justify-content: space-between;
}

.page-faq__nav {
    width: 320px;
    font-size: 20px;
    color: #949494;
}

.page-faq__cont__acordion {
    width: calc(100% - 320px);
}

.page-faq__nav li {
    margin-bottom: 20px;
}

.page-faq__cont__acordion h2 {
    font-size: 32px;
    margin-bottom: 40px;
    color: #22457a;
    font-weight: 700;
}

.page-faq__cont__acordion ul {
    margin-bottom: 80px;
}

li.acordion-cont {
    border-top: 1px solid #22457a;
}

li.acordion-cont:last-of-type {
    border-bottom: 1px solid #22457a;
}

.acordion-tab {
    padding: 40px 0;
    display: block;
    font-weight: 700;
    font-size: 20px;
}

.acordion-answer {
    background-color: #f3f5f5;
    display: block;
    padding: 32px;
    margin-bottom: 6px;
    line-height: 2;
}

.acordion-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    /* スムーズな開閉 */
    padding: 0 32px;
    /* 余白調整（任意） */
}

.acordion-answer.active {
    padding: 32px;
    /* 開いた時の余白 */
}

.acordion-answer a {
    color: #2e5eca;
    text-decoration: underline;
}


.acordion-tab {
    position: relative;
}

.acordion-tab::before,
.acordion-tab::after {
    display: block;
    content: "";
    display: block;
    width: 19px;
    height: 4px;
    background: #22457a;
    position: absolute;
    right: 20px;
    top: 50%;
}

.acordion-tab::after {
    transform: rotate(90deg);
    transition: .25s;
}

.acordion-tab.active::after {
    transform: rotate(0deg);
    transition: .25s;
}

.separate-faq {
    height: 360px;
    width: 100%;
}

.separate-faq img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}


/*thanksの記述*/
.page-thanks__head {
    padding-top: 220px;
    padding-bottom: 140px;
    background-image: url(../images/faq/faq-bg.webp);
    background-size: cover;
    background-position: center center;
}

.page-thanks__head__inner ul {
    width: 400px;
    border-radius: 5px;
    display: flex;
    overflow: hidden;
    margin: auto;
    background-color: #385e97;
    justify-content: space-between;
}

.page-thanks__head__inner ul li {
    width: 50%;
    padding: 24px 0;
    font-size: 18px;
    text-align: center;
    color: #fff;

}

.page-thanks__head__inner ul li:nth-of-type(1) {
    background-color: #00437d;
    width: calc(50% - 20px);
    position: relative;
}

.page-thanks__head__inner ul li:nth-of-type(1)::before {
    width: 64px;
    height: 100%;
    background-image: url(../images/thanks/triangle.webp);
    content: "";
    display: block;
    position: absolute;
    right: 0;
    transform: translateX(100%);
    top: 0;
    background-repeat: no-repeat;
}

.page-thanks__head__inner h1 {
    width: 300px;
    height: auto;
    margin: auto;
    margin-top: 140px;
    margin-bottom: 56px;
}

.page-thanks__head__inner p {
    text-align: center;
    font-size: 18px;
    margin-bottom: 180px;
}

.page-thanks__head__inner h1 img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.page-thanks__head__inner .fv-column-btn {
    margin: auto;
    justify-content: center;
}


/*数字で見るネオマーケティング*/

.page-template-page-number {
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
}

.page-numbers__head {
    padding-top: 250px;
    padding-bottom: 175px;
    background-image: url(../images/numbers/number-bg.webp);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.page-numbers__head h1 {
    font-size: 88px;
    text-align: center;
    color: #22457a;
}

.page-numbers__head .jp {
    font-size: 24px;
    text-align: center;
    font-weight: 400;
    color: #22457a;
    display: block;
    margin-top: 24px;
}

ul.page-numbers__list {
    display: flex;
    justify-content: center;
    column-gap: 15px;
    row-gap: 20px;
    flex-wrap: wrap;
}

.page-numbers__cont__wrap h3 {
    text-align: center;
    margin-bottom: 40px;
    font-size: 20px;
    font-weight: 700;
}

ul.page-numbers__list li {
    width: calc((100% - 30px) / 3);
    margin-bottom: 40px;
}

p.hosoku {
    margin-top: 16px;
    font-size: 14px;
    color: #818181;
}

ul.page-numbers__list li .page-numbers__cont__wrap {
    padding: 40px 20px;
    border-radius: 10px;
    height: 100%;
    filter: drop-shadow(0px 0px 10px #dee7ed);
}
ul.page-numbers__list li:nth-of-type(2n-1) .page-numbers__cont__wrap {
    background-color: #fff;
    color: #22457a;
}

ul.page-numbers__list li:nth-of-type(2n) .page-numbers__cont__wrap {
    background-color: #22457a;
    color: #fff;
}

ul.page-numbers__list li:nth-of-type(1) .numbers-icon,
ul.page-numbers__list li:nth-of-type(4) .numbers-icon,
ul.page-numbers__list li:nth-of-type(5) .numbers-icon,
ul.page-numbers__list li:nth-of-type(7) .numbers-icon {
    width: 250px;
}

ul.page-numbers__list li:nth-of-type(9) .numbers-icon {
    width: 300px;
    height: auto;
}

ul.page-numbers__list li:nth-of-type(13),
ul.page-numbers__list li:nth-of-type(14) {
    width: 100%;
}

ul.page-numbers__list li:nth-of-type(13) .page-numbers__cont__wrap,
ul.page-numbers__list li:nth-of-type(14) .page-numbers__cont__wrap {
    background-color: #fff;
    color: #22457a;
}

ul.page-numbers__list li:nth-of-type(13) .numbers-icon,
ul.page-numbers__list li:nth-of-type(14) .numbers-icon {
    width: 1000px;
    height: auto;
}

ul.page-numbers__list li:nth-of-type(14) .numbers-icon {
    margin-bottom: 0;
}


.numbers-icon {
    width: 140px;
    height: 140px;
    margin: auto;
    margin-bottom: 40px;
}

.numbers-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

span.counter.eng {
    font-size: 48px;
    font-weight: 700;
    margin: auto;
    display: block;
    width: max-content;
    font-family: "Oswald", "Noto Sans JP", sans-serif;
max-width: 100%;

}

span.counter.jp {
    font-size: 28px;
    font-weight: 700;
    margin: auto;
    display: block;
    width: max-content;
    font-family: "Oswald", "Noto Sans JP", sans-serif;
    max-width: 100%;
    text-align: center;
}

span.counter.eng span {
    font-size: 40px;
    font-weight: 700;
    position: relative;
}


.page-numbers__cont__inner h2 {
    font-size: 32px;
    margin-bottom: 40px;
    color: #22457a;
    font-weight: 700;
}

.page-numbers__cont__inner h2:nth-of-type(2),
.page-numbers__cont__inner h2:nth-of-type(3) {
    margin-top: 120px;
}

.page-numbers__cont__inner {
    padding-bottom: 120px;
}


/*お問い合わせ*/
.page-template-page-entry,
.page-template-page-entry-mid {
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
}

.page-entry__head h1 {
    font-size: 88px;
    text-align: center;
    color: #22457a;
}

.page-entry__head .jp {
    font-size: 24px;
    text-align: center;
    font-weight: 400;
    color: #22457a;
    display: block;
    margin-top: 24px;
}

.page-entry__head {
    padding-top: 150px;
    padding-bottom: 80px;
}

.page-entry__head__inner ul {
    width: 400px;
    border-radius: 5px;
    display: flex;
    overflow: hidden;
    margin: auto;
    background-color: #fff;
    justify-content: space-between;
}

.page-entry__head__inner ul li {
    width: 50%;
    padding: 24px 0;
    font-size: 18px;
    text-align: center;
    color: #fff;

}

.page-entry__head__inner ul li:nth-of-type(2) {
    color: #bdc4ce;
}

.page-entry__head__inner ul li:nth-of-type(1) {
    background-color: #00437d;
    width: calc(50% - 20px);
    position: relative;
}

.page-entry__head__inner ul li:nth-of-type(1)::before {
    width: 64px;
    height: 100%;
    background-image: url(../images/thanks/triangle.webp);
    content: "";
    display: block;
    position: absolute;
    right: 2px;
    transform: translateX(100%);
    top: 0;
    background-repeat: no-repeat;
}


.page-entry__head__inner.w-1200>p {
    text-align: center;
    line-height: 2;
    font-size: 18px;
    margin-bottom: 60px;
    margin-top: 60px;
}

form {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    flex-wrap: wrap;
}

table.form-wrap.recruit {
    width: 100%;
    margin-bottom: 40px;
}

table.form-wrap.recruit-people {
    width: 100%;
}

table.form-wrap.recruit tr {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

table.form-wrap.recruit tr th {
    display: block;
    width: 100%;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 30px;
    color: #22457a;
}

.wpcf7-list-item {
    margin: 0 !important;
    margin-bottom: 10px !important;
}

table.form-wrap.recruit tr td {
    display: block;
    width: 100%;
    font-size: 18px;
}

table.form-wrap.recruit td.form-content__input span {
    margin-bottom: 3px;
    display: flex;
    align-items: center;
    position: relative;
    line-height: 1.6;
}

/* ラジオボタン全体のラベルをクリック可能に */
table.form-wrap.recruit .wpcf7-list-item label {
    display: flex;
    align-items: center;
    cursor: pointer;
    gap: 8px;
    /* ラジオボタンとテキストの間隔 */
}

/* デフォルトのラジオボタンを非表示 */
table.form-wrap.recruit .wpcf7-form-control.wpcf7-radio input[type="radio"] {
    display: none;
}

/* カスタムラジオボタンの外枠 */
table.form-wrap.recruit .wpcf7-form-control.wpcf7-radio .wpcf7-list-item-label::before {
    content: '';
    display: inline-block;
    width: 26px;
    height: 26px;
    border: 1px solid #8a9fbf;
    /* 青い縁 */
    border-radius: 50%;
    /* 丸くする */
    background-color: #fff;
    /* 白い背景 */
    box-sizing: border-box;
    transition: all 0.3s ease;
    /* スムーズなアニメーション */
    position: relative;
    margin-right: 16px;
}

/* 選択時の青い丸（10px） */
table.form-wrap.recruit .wpcf7-form-control.wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::before {
    background-color: #fff;
}

table.form-wrap.recruit .wpcf7-form-control.wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
    content: '';
    position: absolute;
    left: 9px;
    top: 9px;
    width: 8px;
    height: 8px;
    background-color: #22457a;
    border-radius: 50%;
    transition: all 0.3s ease;
}

table.form-wrap.recruit-people tr {
    margin-bottom: 40px;
    display: block;
}

table.form-wrap.recruit-people tr th {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    font-weight: 700;
    color: #22457a;
    font-size: 20px;
}

table.form-wrap.recruit-people tr td {
    display: block;
    width: 100%;
    filter: drop-shadow(0px 0px 29px #dee7ed);
    background-color: #fff;
    border-radius: 5px;
}

table.form-wrap.recruit-people tr td span,
table.form-wrap.recruit-people tr td input {
    display: block;
    width: 100%;
}

table.form-wrap.recruit-people tr td input,
table.form-wrap.recruit-people tr td textarea {
    width: 100%;
    padding: 24px;
    display: block;
}
table.form-wrap.recruit-people tr td span:nth-of-type(2) input{
    padding-top: 0;
}

tr.form-content.zip-group td.form-content__input {
    display: flex;
}

tr.form-content.zip-group td.form-content__input>span {
    width: 300px;
    margin-right: 20px;
}

tr.form-content.zip-group td.form-content__input>button {
    background-color: #b0893a;
    width: max-content;
    padding: 18px;
    border-radius: 5px;
    color: #fff;
}

.page-entry__flow {
    background-color: #fff;
    padding: 80px 0;
}

.page-entry__flow__inner.w-1200 ul {
    display: flex;
    justify-content: center;
    column-gap: 100px;
    flex-wrap: wrap;
}

.page-entry__flow__inner.w-1200 ul li {
    width: calc((100% - 310px) / 4);
    position: relative;
}

.page-entry__flow__inner.w-1200 ul li::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(160%, -100%);
    width: 44px;
    height: 77px;
    background-image: url(../images/entry/flow-triangle.webp);
    background-position: center;
    background-repeat: no-repeat;
}

.page-entry__flow__inner.w-1200 ul li:last-of-type::before {
    display: none;
}

.page-entry__flow__inner.w-1200 ul li img {
    width: 100%;
    height: auto;
    object-fit: contain;
    margin-bottom: 28px;
    display: block;
}

.page-entry__flow__inner.w-1200 ul li p {
    font-size: 20px;
    text-align: center;
    color: #22457a;
    line-height: 1.6;
}

.page-entry__flow__inner.w-1200 ul li p span {
    font-size: 16px;
    display: block;
}

.page-entry__flow__inner h2 {
    display: flex;
    align-items: center;
    color: #22457a;
    margin-bottom: 40px;
}

.page-entry__flow__inner h2 .eng {
    font-size: 64px;
    font-weight: 700;
    display: block;
    margin-right: 32px;
}

.page-entry__flow__inner h2 .jp {
    font-size: 22px;
    font-weight: 400;
    display: block;
}

.page-entry__flow__inner.w-1200>p {
    margin-top: 30px;
    margin-left: 180px;
    line-height: 2;
    color: #383838;
    font-size: 14px;
}

.wpcf7-spinner {
    display: none;
}

.submit-btn {
    width: 100%;
}

.submit-btn button {
    display: block;
    width: 80%;
    max-width: 380px;
    padding: 24px;
    background-color: #b0893a;
    color: #fff;
    margin: auto;
    font-size: 24px;
    text-align: center;
    border-radius: 5px;
}

section.page-entry__cont {
    padding-bottom: 80px;
}

tr.form-content.req span.wpcf7-form-control-wrap::before {
    content: "必須";
    position: absolute;
    z-index: 2;
    right: 30px;
    top: 50%;
    color: #cc1b1b;
    transform: translateY(-50%);
}

.post-type-archive-interview {
    background-color: #22457a;
}

section.archive-interview__head.page-head {
    padding-top: 250px;
    padding-bottom: 120px;
}

section.archive-interview__head.page-head h1 {
    text-align: center;
    font-size: 88px;
    font-weight: 700;
    color: #fff;
}

.archive-interview__inner.w-1200 {
    padding-bottom: 200px;
}

section.archive-interview__head.page-head .jp {
    text-align: center;
    font-size: 24px;
    font-weight: 400;
    display: block;
    margin-top: 24px;
    color: #fff;
}

ul.interview-archive-list li {
    width: calc((100% - 96px) / 2);
    position: relative;
    color: #fff;
    padding-left: 50px;
    margin-bottom: 120px;
}

ul.interview-archive-list li .interview-tag {
    font-weight: 700;
    transform: rotate(90deg);
    transform-origin: left top;
    left: 30px;
    display: block;
    position: absolute;
    font-size: 24px;
    color: #fff;
}

ul.interview-archive-list .interview-list_thumbnail {
    height: 530px;
    border-radius: 10px 50px 10px 10px;
    overflow: hidden;
    position: relative;
    color: #fff;
}

ul.interview-archive-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

ul.interview-archive-list li:nth-of-type(2n) {
    position: relative;
    top: 200px;
}

.interview-list-text-group__decoration {
    color: #fff;
    position: absolute;
    bottom: -50px;
    right: 0;
    font-size: 88px;
    opacity: .05;
}

/*社員インタビュー*/

section.page-interview__head {
    height: 850px;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 3;
}

.page-interview__head__inner.w-1200 {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}



.page-interview__head__inner .jp {
    font-size: 24px;
    font-weight: 400;
    display: block;
    width: max-content;
    color: #22457a;
    margin-bottom: 40px;
}

.page-interview__head__inner h1 {
    margin-bottom: 40px;
    color: #22457a;
}

.page-interview__head__inner h1 span {
    font-size: 40px;
    background-color: #fff;
    display: block;
    width: max-content;
    padding: 12px 19px;
    font-weight: 700;
    margin-bottom: 16px;
    line-height: 1.4;
}

.page-interview__head__textgroup p {
    font-size: 18px;
    margin-bottom: 24px;
    line-height: 2;
    font-weight: 400px;
}

.page-interview__head__textgroup span.post {
    font-size: 56px;
    font-weight: 700;
}

.page-interview__head__textgroup span.post span {
    font-size: 24px;
    font-weight: 400px;
}

.page-interview__head__textgroup {
    background-color: #22457a;
    padding: 40px 56px;
    color: #fff;
    width: max-content;
}

.page-interview01__inner.w-1200 {
    display: flex;
    justify-content: space-between;
}

section.page-interview01__inner.w-1200 {
    display: flex;
    justify-content: space-between;
    padding-top: 120px;
    padding-bottom: 120px;
}

section.page-interview01 {
    background-image: url(/common/images/interview/section01-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 120px;
    padding-bottom: 120px;
    position: relative;
    z-index: 2;
}

.page-interview02__inner.w-1200 {
    position: relative;
    z-index: 2;
}

section.page-interview02 {
    position: relative;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 120px;
    padding-bottom: 120px;
}

section.page-interview02::before {
    width: 100%;
    height: 100%;
    content: "";
    background-color: #808080;
    position: absolute;
    left: 0;
    top: 0;
    mix-blend-mode: multiply;
    z-index: 1;
}

.page-interview01__left {
    width: calc(50% - 25px);
}

.page-interview01__right {
    width: calc(50% - 25px);
    height: 100%;
}

.page-interview01__right img {
    width: 100%;
    height: 100%;
    object-fit: cover;

}

.page-interview01__left>span {
    font-size: 20px;
    margin-bottom: 32px;
    display: block;
    color: #22457a;
    font-weight: 700;
}

.page-interview01__left h2 {
    font-size: 28px;
    color: #b0893a;
    font-weight: 700;
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    line-height: 1.6;
}

.page-interview01__left p {
    font-size: 18px;
    line-height: 2;
}

.page-interview02__cont>span {
    font-size: 20px;
    margin-bottom: 32px;
    display: block;
    color: #fff;
    font-weight: 700;
}

.page-interview02__cont h2 {
    font-size: 28px;
    color: #fff;
    font-weight: 700;
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    line-height: 1.6;
}

.page-interview02__cont p {
    font-size: 18px;
    line-height: 2;
    color: #fff;
}


section.page-interview03 {
    background-image: url(/common/images/interview/section01-bg.webp);
    padding-top: 120px;
    padding-bottom: 120px;
    position: relative;
}

.page-interview03__cont>span {
    font-size: 20px;
    margin-bottom: 32px;
    display: block;
    color: #22457a;
    font-weight: 700;
}

.page-interview03__cont h2 {
    font-size: 28px;
    color: #b0893a;
    font-weight: 700;
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    line-height: 1.6;
}

.page-interview03__cont p {
    font-size: 18px;
    line-height: 2;
}

section.page-interview_oneday {
    padding: 120px 0;
    background-image: url(/common/images/interview/oneday-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
}

.page-interview_oneday__cont {
    display: flex;
    justify-content: space-between;
}

.page-interview_oneday__cont-left {
    width: 50%;
}

.page-interview_oneday__cont-left h2 {
    font-size: 80px;
    font-weight: 700;
    margin-bottom: 40px;
}

.page-interview_oneday__cont-right h2 {
    color: #b0893a;
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 24px;
}

.page-interview_oneday__cont-left span {
    font-size: 18px;
    display: block;
}

.page-interview_oneday__cont-right {
    width: 80%;
    display: flex;
    justify-content: flex-end;
}

.oneday-pm ul,
.oneday-am ul {
    padding-left: 24px;
    position: relative;
}

.oneday-pm ul::before,
.oneday-am ul::before {
    width: 1px;
    height: calc(100% - 10px);
    display: block;
    background-color: #b0893a;
    top: 50%;
    left: 0;
    position: absolute;
    content: "";
    transform: translateY(-50%);
}

.oneday-pm ul li,
.oneday-am ul li {
    position: relative;
    margin-bottom: 18px;
    font-size: 18px;
}

.oneday-pm ul li::before,
.oneday-am ul li::before {
    left: -29.5px;
    width: 12px;
    height: 12px;
    top: 50%;
    position: absolute;
    transform: translateY(-50%);
    content: "";
    background-color: #b0893a;
    border-radius: 100000px;
    display: block;
}

.oneday-pm {
    margin-left: 80px;
}

section.page-interview_message {
    padding: 160px 0 120px;
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);

}

.page-interview_message .w-1200 {
    max-width: 900px;
}

.interview_message__inner__img {
    width: 100%;
    max-width: 900px;
    height: 545px;
    position: relative;
    margin-bottom: 40px;
}

.interview_message__inner__img h2 {
    position: absolute;
    left: 50%;
    top: 0%;
    transform: translate(-50%, -50%);
    font-size: 88px;
    color: #22457a;
    font-weight: 700;
}

.interview_message__inner__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 5px;
}


.page-interview_message .w-1200 p.message-main {
    font-size: 18px;
    line-height: 2;
}

section.recomend-interview {
    padding: 120px 0;
    background: #22457a;
}

ul.interview-recomend-list {
    display: flex;
    gap: 50px;
}

ul.interview-recomend-list li {
    width: calc(33% - 20px);
}

ul.interview-recomend-list .interview-list_thumbnail {
    width: 100%;
    height: 400px;
    border-radius: 5px 25px 5px 5px;
    overflow: hidden;
    position: relative;
}

.interview-list-year {
    display: block;
    margin-bottom: 14px;
    font-size: 14px;
    color: #fff;
}

ul.interview-recomend-list .interview-list-name {
    font-size: 20px;
    color: #fff;
}

ul.interview-recomend-list .interview-tag {
    font-weight: 700;
    transform: none;
    transform-origin: left top;
    left: 0;
    display: block;
    position: relative;
    font-size: 18px;
    color: #fff;
    margin-bottom: 18px;
    letter-spacing: .02rem;
}

.interview-tag {
    color: #fff;
}

.interview-recomend h2 {
    font-size: 44px;
    font-weight: 700;
    margin-bottom: 40px;
    color: #b0893a;
}



/*コラム*/


.page-column__head {
    padding-top: 180px;
    padding-bottom: 120px;
    position: relative;
    background-image: url(../images/faq/faq-bg.webp);
    background-size: cover;
    background-position: center;
}

.page-column__head__inner h1 {
    text-align: center;
    font-size: 88px;
    display: block;
    color: #22457a;
    position: relative;
    z-index: 2;
}

.page-column__head__inner .jp {
    text-align: center;
    font-size: 24px;
    font-weight: 400;
    display: block;
    color: #22457a;
    position: relative;
    z-index: 2;
    margin-top: 24px;
}

.page-column__head .scroll-txt {
    position: absolute !important;
    top: auto !important;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    font-size: 150px;
    white-space: nowrap;
}

.section-column_sns-group ul {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.section-column_sns-group ul li {
    display: flex;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin-left: 12px;
    margin-right: 12px;
}

.section-column_sns-group ul li img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.column-content h1 {
    font-size: 32px;
    text-align: center;
    font-weight: 700;
    color: #22457a;
    line-height: 2;
    margin-bottom: 40px;
}

.column-content a {
    color: #2e5eca;
    text-decoration: underline;
}

.column-tade {
    margin-bottom: 24px;
    text-align: center;
    color: #22457a;
    display: block;
}

.column-content .w-1200 {
    padding-top: 120px;
    padding-bottom: 80px;
}

.single-column-thumbnail {
    width: max-content;
    height: max-content;
    object-fit: contain;
    max-width: 100%;
    max-height: 100%;
    margin-bottom: 32px;
}

.single-column-thumbnail img {
    object-fit: contain;
    width: 100%;
    height: 100%;
    display: block;
    margin: auto;

}

.post-content h3::before {
    margin-right: 20px;
    content: "";
    background-color: #f0e8d7;
    border-radius: 1000px;
    display: block;
    width: 24px;
    height: 24px;
}

.post-content h3::after {
    position: absolute;
    z-index: 2;
    content: "";
    background-color: #b0893a;
    border-radius: 1000px;
    display: block;
    width: 10px;
    height: 10px;
    left: 8px;
}

.post-content h3 {
    color: #22457a;
    position: relative;
    font-size: 24px;
    line-height: 1.8;
    display: flex;
    align-items: center;
    padding-bottom: 32px;
}

.post-content h2 {
    padding: 20px 38px;
    background: #22457a;
    color: #fff;
    font-size: 32px;
    margin-top: 40px;
    margin-bottom: 40px;
    line-height: 1.6;
}

.post-content p {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 57px;
}

.column-btn-group {
    border-top: 1px solid;
    border-bottom: 1px solid;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 56px;
    padding-bottom: 56px;
    margin-bottom: 80px;
}

.column-btn-group p {
    width: calc(100% - 360px);
    line-height: 2;
    font-size: 16px;
}

.column-btn__right {
    width: 320px;
}

.column-btn__right li a {
    width: 100%;
    padding: 24px;
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #b0893a;
    border-radius: 100000px;
    color: #fff;
    transition: .25s;
}

.column-btn__right li:hover a {
    background-color: #383838;
    transition: .25s;
}

.column-btn__right li:last-child {
    margin-top: 15px;
}

.column-btn__right li a img {
    width: 17px;
    height: 17px;
    display: block;
    object-fit: contain;
    object-position: center;
    margin-right: 14px;
}

.back-btn {
    color: #b0893a;
    display: flex;
    transition: .25s;
    align-items: center;
}

.back-btn:hover {
    color: #383838;
    transition: .25s;
}

.back-btn span {
    content: "";
    margin-right: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border-radius: 10000px;
    background-color: #b0893a;
    transition: .25s;
}

.back-btn:hover span {
    background-color: #383838;
    transition: .25s;
}

.back-btn span img {
    width: 10px;
    height: 18px;
    object-fit: contain;
    object-position: center;
    transform: scale(-1.1);
}

.top-intro__inner__text {
    position: relative;
}

.greeting-cont-sp-img,
.recruiter-cont-sp-img {
    display: none;
}

a.about__tab-btn {
    background: #b0893a;
    color: #fff;
}

a.about__tab-btn:hover {
    background: #383838;
    transition: .25s;
}

a.header-entry-btn {
    display: block;
    width: max-content;
    background: #b0893a;
    color: #fff;
    padding: 24px;
    width: 300px;
    text-align: center;
    font-size: 20px;
    border-radius: 10px;
    font-weight: 700;
    transition: .25s;
}

a.header-entry-btn:hover {
    background: #383838;
    transition: .25s;
}


section.page-job__head.page-head {
    padding-top: 240px;
    padding-bottom: 80px;
    background-image: url(../images/job/job-header-img.webp);
    background-size: cover;
    background-position: center;
}

section.page-job__head.page-head.page-welfare__head {
    background-image: url(../images/welfare/welfare-bg.webp);
    background-size: cover;
    background-position: center;

}

.welfare__text-wrap a {
    text-decoration: underline;
    cursor: pointer;
    color: #2e5eca;
}

.welfare-page .about__tablist__cont {
    display: flex;
    justify-content: center;
}

.welfare-page .about__tablist__cont li:first-of-type {
    margin-right: 20px;
}

.separate-welfare,
.separate-welfare img {
    width: 100%;
}

.separate-welfare {
    margin-top: 250px;
}

section.page-job__head.page-head h1 {
    color: #fff;
    font-size: 88px;
    text-align: center;
    font-weight: 700;

    text-transform: uppercase;
}

section.page-job__head.page-head span.jp {
    color: #fff;
    font-size: 24px;
    text-align: center;
    display: block;
    margin-top: 24px;
    font-family: "Noto Sans JP", serif;
}

.job-archive {
    padding: 60px 0;
}

.recruit-type h2 {
    max-width: 1000px;
    font-size: 48px;
    color: #22457a;
    font-weight: 700;
    margin-bottom: 110px;
    margin: 0 auto;
}

.recruit-type span {
    font-size: 24px;
    display: block;
    color: #b0893a;
    margin-bottom: 24px;
}


section.section-traning {
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
    padding: 80px 0 0;
}

.section-traning__inner.w-1200 h2.traning-ttl {
    font-size: 88px;
    text-align: center;
    font-weight: 700;
    color: #22457a;
}

.traning-ttl_sub {
    font-size: 24px;
    margin-top: 24px;
    font-weight: 400;
    color: #22457a;
    text-align: center;
    margin-bottom: 48px;
}

.treaning-intro-txt {
    line-height: 2;
    font-size: 18px;
    margin-bottom: 68px;
    text-align: center;
}

.traning-cont {
    background: #fff;
    margin-bottom: 40px;
    padding: 40px 64px;
}

.traning-cont h3 {
    font-size: 28px;
    color: #22457a;
    margin-bottom: 32px;
    font-weight: 700;
}

.traning-cont p {
    color: #3d3e41;
    font-size: 16px;
    line-height: 2;

}

.traning-cont img {
    width: 100%;
    max-width: max-content;
    margin-top: 40px;
}

.traning-cont p span {
    display: block;
    font-weight: 700;
}

.list__wrap__welfare {
    display: flex;
    align-items: center;
    gap: 80px;
    position: relative;
}

.list__wrap__welfare img {
    width: 45%;
    height: auto;
    object-fit: contain;
}

.list__wrap__welfare div {
    width: 45%;
}

.list__wrap__welfare2 {
    display: flex;
    margin-top: 30px;
}

.list__wrap__welfare2 img {
    width: 45%;
    order: 2;
}

.list__wrap__welfare2 div {
    width: 45%;
    order: 1;
}

.list__wrap__welfare div h2 {
    font-size: 28px;
    display: flex;
    align-items: center;
    color: #22457a;
    margin-bottom: 24px;
}

.list__wrap__welfare div h2 span {
    font-size: 80px;
    display: block;
    width: max-content;
    font-weight: 700;
    margin-right: 10px;

}

.list__wrap__welfare div p {
    line-height: 2;
    font-size: 18px;
}

section.section-list__wrap__welfare {
    padding-bottom: 120px;
    position: relative;
    padding-top: 120px;
}

section.welfare-intro {
    padding: 120px 0;
    background: #22457a;
    color: #fff;
}

.welfare-group {
    display: flex;
    flex-wrap: wrap;
    gap: 80px;
}

.welfare-group div h3 {
    font-size: 28px;
    margin-bottom: 48px;
}

.welfare-group div {
    width: calc(50% - 10px);
    max-width: 530px;
    padding: 40px 52px;
    background-color: #345e9f;
    color: #fff;
}

.welfare-group div li {
    margin-bottom: 16px;
    line-height: 1.5;
}

.welfare-intro__inner.w-1200 h2.traning-ttl.eng {
    font-size: 88px;
    text-align: center;
}

.section-list__wrap__welfare .scroll-txt p {

    background: linear-gradient(90deg, #cbd7d9 30%, #c1d3d7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 0px 0px;
    font-weight: bold;
    opacity: .3;
}

.section-list__wrap__welfare .scroll-txt {
    top: -50px !important;
}

.about__company-profile__inner.w-1200 table,
.about__company-profile__inner.w-1200 tbody {
    width: 100%;
}

.pc {
    display: block;
}

section.job-content-intro {
    padding: 120px 0;
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
}

.single-job-thumbnail {
    display: block;
    width: 100%;
    height: auto;
}

.single-job-thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.text-decorate_eng.eng {
    font-size: 100px;
    text-align: center;
    background: linear-gradient(90deg, #cbd7d9 30%, #c1d3d7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-transform: uppercase;
    width: 100%;
    text-align: center;
    display: block;

}

h1.job-ttl {
    margin-bottom: 73px;
    position: relative;
    text-align: center;
}

.text-decorate_jpn {
    color: #22457a;
    font-size: 32px;
    display: block;
    margin-top: -40px;
    line-height: 1.4;
}

section.job-content-works {
    padding-top: 120px;
}

h2.content-works-ttl {
    font-size: 40px;
    font-weight: 700;
    position: relative;
    line-height: 1.5;
    margin-bottom: 60px;
    color: #22457a;
}

h2.mission-ttl {
    font-size: 40px;
    font-weight: 700;
    margin-bottom: 60px;
    color: #22457a;
}

h2.content-works-ttl span {
    position: absolute;
    right: 0;
    top: -20px;
    font-size: 120px;
    color: #dfe6e6;
    z-index: -1;
    opacity: .6;
}

p.content-works-textarea {
    line-height: 2;
}

.content-works-wrap {
    padding-bottom: 56px;
    margin-bottom: 56px;
    border-bottom: 1px solid #ccc;
}


.content-works-wrap:last-of-type {
    padding-bottom: 56px;
    margin-bottom: 56px;
    border-bottom: 0px solid #ccc;
}

.job-content-works__inner.w-1200 {
    max-width: 1000px;
}

h2.mission-ttl {
    position: relative;
}

h2.mission-ttl span {
    position: absolute;
    right: 0;
    top: -20px;
    font-size: 120px;
    color: #dfe6e6;
    z-index: -1;
    opacity: .6;
}

table.content-works-table {
    margin-top: 80px;
    width: 100%;
    border-top: 5px solid #22457a;
}

.content-works-wrap p {
    line-height: 2;
}

table.content-works-table {
    margin-top: 80px;
}

table.content-works-table tr {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #c6cbd2;
}

table.content-works-table tr th {
    background-color: #f3f5f5;
    padding: 32px;
    width: 230px;
    display: flex;
    align-items: center;
}

table.content-works-table tr td {
    padding: 32px 0;
    width: calc(100% - 280px);
    display: block;
    line-height: 2;
}

.job-content-intro__inner.w-1200 {
    max-width: 1000px;
}

section.toenter-area {
    background-color: #b0893b;
    padding: 80px 0;
    color: #fff;
}

section.toenter-area h2 {
    font-size: 80px;
    font-weight: 700;
}

.single-job-thumbnail {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
    overflow: hidden;
}

section.toenter-area a {
    color: #fff;
    font-size: 24px;
}

section.toenter-area .fv-job-btn span {
    background-color: #fff;
    color: #b0893a;
    display: flex;
    align-items: center;
}

.toenter-area__inner.w-1200 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}




.page-recruit__head__inner.w-1200 {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
}

.page-recruit__head {
    height: 850px;
    width: 100%;
    background-image: url(../images/recruit/img-fv.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}

section.section-recruit__intro {
    padding-top: 120px;
    padding-bottom: 120px;
}

.section-recruit__intro__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;
}

.section-recruit__intro__inner div {
    width: 50%;
    z-index: 2;
    position: relative;
}

.section-recruit__intro__inner h3 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 24px;
    color: #ffffff;
    line-height: 1.5;
}

.section-recruit__intro__inner div.txt {
    line-height: 2;
    font-size: 18px;
}

.section-recruit__intro__inner p.txt {
    line-height: 2;
    font-size: 18px;
}

.section-recruit__intro__inner div.photo {
    height: auto;
}

.section-recruit__intro__inner div.photo img {
    height: auto;
    width: 100%;
    height: 400px;
    object-fit: cover;
}


.section-wonted {
    background: linear-gradient(90deg, #f3f5f5, #dde6ed);
    padding-top: 80px;
    padding-bottom: 80px;
}

.section-wonted h2 {
    font-size: 48px;
    color: #22457a;
    font-weight: 700;
    margin-bottom: 60px;
}

.section-wonted h2 span {
    font-size: 24px;
    display: block;
    color: #b0893a;
    margin-bottom: 24px;
}

.section-wonted h3 {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 24px;
    color: #22457a;
    line-height: 1.5;
}

.section-wonted__inner>p {
    line-height: 2;
}

ul.newpeople-list li,
ul.recruit-list li {
    display: flex;
    justify-content: space-between;
}

ul.newpeople-list li,
ul.recruit-list li {
    margin-bottom: 40px;
    position: relative;
}

ul.newpeople-list li::before {
    position: absolute;
    right: 0;
    width: 100vw;
    height: 90%;
    bottom: 0;
    content: "";
    background-color: #fff;
    clip-path: polygon(0 0, 100% 0, calc(100% - 200px) 100%, 0% 100%);
}

ul.recruit-list li::before {
    position: absolute;
    left: 0;
    width: 100vw;
    height: 90%;
    bottom: 0;
    content: "";
    background-color: #fff;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 200px 100%);
    /* クリップパスの向きを逆に */
}

ul.newpeople-list li div,
ul.recruit-list li div {
    position: relative;
    z-index: 2;
}

ul.newpeople-list li div span,
ul.recruit-list li div span {
    display: block;
    font-size: 64px;
    font-weight: 700;
    color: #b0893a;
    margin-bottom: 64px;
}

.section-wonted__inner.w-1200 {
    position: relative;
}

ul.newpeople-list li div:first-of-type,
ul.recruit-list li div:first-of-type {
    width: 55%;
    padding-bottom: 75px;
}

.section-wonted {
    overflow: hidden;
    position: relative;
}

.section-wonted .scroll-txt {
    font-size: 150px;
}

.newpeople-list li img,
.recruit-list li img {
    height: 350px;
}

.newpeople-list li p,
.recruit-list li p {
    font-size: 18px;
    line-height: 2;
}

ul.newpeople-list {
    margin-bottom: 120px;
}

ul.newpeople-list,
ul.recruit-left {
    margin-top: 40px;
}

ul.recruit-list li div:first-of-type {
    order: 2;
}

ul.recruit-list li div:last-of-type {
    order: 1;
}

ul.recruit-list li div:first-of-type p {
    line-height: 2;
}

section.page-interview_message.rec {
    background: transparent;
}

section.section-recruit__intro.blue {
    background-color: #22457a;
    color: #fff;
}

ul.recruit-list {
    margin-top: 64px;
}
.wpcf7-not-valid-tip {
    font-size: 12px !important;
}

/* ハンバーガー全体のスタイル */
.hamburger {
    width: 75px;
    height: 75px;
    background-color: #22457a;
    /* 青色の丸 */
    border-radius: 50%;
    /* 丸くする */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    /* 線の間隔 */
    cursor: pointer;
    transition: background 0.3s ease;
    position: relative;
    margin-left: 24px;
}

/* 三本線のデザイン */
.hamburger span {
    display: block;
    width: 32px;
    /* 線の長さ */
    height: 1px;
    /* 線の太さ */
    background-color: #fff;
    /* 白い線 */
    transition: transform 0.3s ease, opacity 0.3s ease;
    /* 丸みを少し追加 */
}

/* --- クリック時の変化 --- */
.hamburger.is-active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.hamburger.is-active span:nth-child(2) {
    opacity: 0;
    /* 真ん中の線を消す */
}

.hamburger.is-active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* ナビゲーションの初期状態（非表示） */
.section-header__navi {
    display: none;
    position: absolute;
    top: 100px;
    right: 0;
    background: #fff;
    width: 100%;
    height: 100vh;
    text-align: center;
    padding: 20px 0;
    top: 0;
    align-items: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 11;
}

/* ナビゲーション表示時 */
.section-header__navi.active {
    display: flex;
    justify-content: space-between;
    padding: 40px;
}

.section-header__navi__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: auto;
}



.section-header__navi__logo {
    width: calc(50% - 40px);
}

.section-header__navi__logo img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.section-header__navi ul {
    width: calc(50% - 40px);
}

/* ナビゲーションのリンクスタイル */
.section-header__navi ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.section-header__navi li {
    margin: 10px 0;
}

.section-header__navi a {
    color: #22457a;
    text-decoration: none;
    font-weight: bold;
    font-size: 32px;
    transition: color 0.3s;
    text-align: left;
    width: 100%;
    display: block;
    line-height: 2;
}

.section-header__navi__logo {
    width: calc(50% - 40px);
    max-width: 400px;
}

.section-header__navi a:hover {
    color: #22457a;
}

.header-link {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 99999;
}

li.column-list__cont:hover h3 {
    color: #22457a;
    transition: .25s;
}

li.job-list__cont:hover h3 {
    color: #22457a;
    transition: .25s;
}

li.top-job-list__cont:hover h3 {
    color: #22457a;
    transition: .25s;
}

.arrow-number {
    width: 56px;
    height: 56px;
    background-color: #fff !important;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10000px;
    margin: auto;
}

.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
    position: absolute;
}

.arrow-number img {
    width: 10px;
    height: 18px;
    object-fit: contain;
    object-position: center;
}

tr.form-content.accept {
    margin-bottom: 80px;
    display: block;
    color: #383838;
}

tr.form-content.accept th span {
    font-size: 16px;

}

tr.form-content.accept a {
    display: inline-block;
    color: #2e5eca;
    border-bottom: 1px solid;
    font-size: 16px;
}

@media screen and (max-width:1200px) {
    .w-1200 {
        padding-left: 20px;
        padding-right: 20px;
    }

    .section-header_inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-right: 10px;
    }
    .page-numbers__cont__wrap h3 {
        font-size: 16px;
    }


}

@media screen and (max-width:820px){
    .w-1200 {
        padding-left: 50px;
        padding-right: 50px;
        gap: 30px;
    }
    ul.page-numbers__list li .page-numbers__cont__wrap {
        padding: 20px;
    } 
    .page-numbers__cont__wrap h3 {
        margin-bottom: 16px;
    }
    .numbers-icon {
        width: 110px;
        height: 110px;
        margin: auto;
        margin-bottom: 20px;
    }

    ul.page-numbers__list li:nth-of-type(1) .numbers-icon,
    ul.page-numbers__list li:nth-of-type(4) .numbers-icon,
    ul.page-numbers__list li:nth-of-type(5) .numbers-icon,
    ul.page-numbers__list li:nth-of-type(7) .numbers-icon {
        width: 150px;
    }

    ul.page-numbers__list li:nth-of-type(9) .numbers-icon {
        width: 180px;
    }

    span.counter.jp{
        font-size: 18px;
    }

    ul.page-numbers__list li:nth-of-type(13) .numbers-icon,
    ul.page-numbers__list li:nth-of-type(14) .numbers-icon {
        width: auto;
    }

    .page-numbers__cont__inner h2 {
        font-size: 28px;
        margin-bottom: 32px;
        color: #22457a;
        font-weight: 700;
    }
    .page-numbers__head {
        padding-top: 140px;
        padding-bottom: 80px;
    }
    .section-header__logo {
        width: 280px;
        position: relative;
        z-index: 9999;
    }
    a.header-entry-btn {
        display: block;
        width: max-content;
        background: #b0893a;
        color: #fff;
        padding: 14px;
        width: 200px;
        text-align: center;
        font-size: 16px;
        border-radius: 10000px;
        font-weight: 700;
        transition: .25s;
    }
    .top-link-tab__inner ul li {
        width: 50%;
    }
    ul.page-numbers__list li {
        width: calc((100% - 14px) / 3);
        margin-bottom: 10px;
    }
    ul.page-numbers__list li .page-numbers__cont__wrap{
        filter: none;
    }
    .hamburger {
        width: 55px;
        height: 55px;
        margin-left: 14px;
    }.page-numbers__head h1 {
        font-size: 56px;
        text-align: center;
        color: #22457a;
    }.page-numbers__head .jp {
        font-size: 18px;
        margin-top: 14px;
    }
    .footer-logo {
        max-width: 240px;
    }
    .footer-info p {
        margin-top: 32px;
        line-height: 1.8;
        font-size: 14px;
    }
    .section-footer_sns-group ul {
        display: flex;
        margin-top: 24px;
        align-items: center;
    }
    .section-footer_sns-group ul li {
        width: 24px;
        height: 24px;
        margin-right: 16px;
    }
    .instagram-icon {
        width: 32px !important;
        height: 32px !important;
    }
    .footer__inner {
        padding: 50px 0;
    }
    .footer__entry {
        padding: 50px 0;
    }
    .footer-entry__wrap h2 {
        font-size: 40px;
        font-weight: 700;
        color: #fff;
        margin-bottom: 20px;
        text-align: center;
    }
    .footer-entry__wrap ul li {
        width: 100%;
        margin-bottom: 14px;
    }
    .footer-entry__wrap ul li p {
        font-size: 16px;
    }
    .footer-entry__wrap ul li a {
        display: block;
        padding: 18px 0;
        border-radius: 5px;
        font-size: 16px;
        text-align: center;
        background-color: #fff;
        color: #22457a;
        transition: .25s;
    }
    section.breadcumb ul li{
        font-size: 14px;
    }
    span.counter.eng span {
        font-size: 24px;
        font-weight: 700;
        position: relative;
    }
    .top-intro__inner__text h2 {
        font-size: 32px;
        margin-bottom: 24px;
    }

    .top-intro__inner__text p {
        position: relative;
        font-size: 12px;
        max-width: 420px;
    }
    .top-intro__inner__img {
        width: 60vw;
    }
    section.top-intro {
        padding: 80px 0;
    }
    .scroll-txt {
        font-size: 130px;
    }
    .top-interview {
        padding: 80px 0;
    }
    .top-interview__inner h2 {
        text-align: center;
        font-size: 64px;
        line-height: 1;
    }
    .top-interview__inner span.ttl-tag {
        text-align: center;
        font-size: 18px;
        display: block;
        text-align: center;
        margin-top: 16px;
        line-height: 1;
        font-weight: 400;
    }
    .interview-slider {
        margin-top: 32px;
    }
    .top-about__cont h2 {
        font-size: 70px;
        font-weight: 700;
    }
    .top-about__cont {
        padding: 80px 20px 40px;
        text-align: center;
    }
    .top-about__cont p {
        font-size: 24px;
        color: #fff;
    }
    .top-about__cont a {
        margin-top: 40px;
        margin-left: auto;
        margin-right: auto;
    }
    .readmore-btn {
        border-radius: 10000px;
        background-color: #b0893a;
        padding: 18px 80px;
        display: block;
        color: #fff;
        font-size: 16px;
        font-weight: 700;
        width: max-content;
        position: relative;
        transition: .25s;
    }
    .scroll-txt {
        position: absolute !important;
        top: 0 !important;
        left: 0;
        width: 100%;
        display: flex;
        font-size: 120px;
        white-space: nowrap;
    }
    section.top-about {
        padding: 120px 0 80px 0;
        position: relative;
    }
    .top-greeting h2 {
        font-size: 56px;
        margin-bottom: 14px;
    }
    .greeting-cont_label {
        font-size: 14px;
    }
    .greeting-cont-left p,
    .recruiter-cont-left p {
        font-size: 20px;
        font-weight: 700;
        padding-top: 20px;
        padding-bottom: 32px;
    }
    .top-recruiter h2 {
        color: #22457a;
        font-weight: 700;
        font-size: 56px;
        margin-bottom: 14px;
    }
    .top-fv h1 {
        font-size: 80px;
        color: #FFFFFF;
    }
    .top-fv p {
        font-size: 18px;
        color: #FFFFFF;
        margin-top: 18px;
        line-height: 32px;
    }
    section.top-number {
        background-image: url(../images/top/number-bg.webp);
        padding: 80px 0 80px;
        color: #fff;
    }
    section.top-number h2 {
        margin-bottom: 24px;
        font-weight: 700;
        font-size: 56px;
        text-align: center;
    }
    section.top-number span {
        display: block;
        margin-bottom: 32px;
        text-align: center;
    }
    .arrow-number {
        width: 36px;
        height: 36px;
        background-color: #fff !important;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 10000px;
        margin: auto;
    }
    .arrow-number img {
        width: 6px;
        height: 15px;
        object-fit: contain;
        object-position: center;
    }
    ul.column-list {
        margin-top: 20px;
        display: flex;
        flex-direction: row;
        justify-content: left;
        margin-top: 50px;
        column-gap: 45px;
        row-gap: 40px;
    }
    ul.column-list li {
        width: 45%;
    }
    .column-list__tag {
        margin-bottom: 12px;
        color: #818181;
        display: block;
        font-weight: 400;
        line-height: 1;
        font-size: 12px;
    }
    ul.job-list {
        margin-top: 20px;
        display: flex;
        flex-direction: row;
        justify-content: left;
        margin-top: 50px;
        column-gap: 45px;
        row-gap: 40px;
    }
    ul.job-list li {
        width: 45%;
    }
    .job-list__tag {
        margin-bottom: 12px;
        color: #818181;
        display: block;
        font-weight: 400;
        line-height: 1;
        font-size: 12px;
    }
    .column-list__cont h3 {
        font-size: 14px;
        line-height: 1.5;
        font-weight: 500;
    }
    .job-list__cont h3 {
        font-size: 14px;
        line-height: 1.5;
        font-weight: 500;
    }
    ul.column-list li span.column-list__date {
        color: #22457a;
        transform: rotate(90deg) translateY(-118px);
        transform-origin: left top;
        font-size: 17px;
        position: absolute;
        right: 0;
        top: 0;
    }
    ul.job-list li span.job-list__date {
        color: #22457a;
        transform: rotate(90deg) translateY(-118px);
        transform-origin: left top;
        font-size: 17px;
        position: absolute;
        right: 0;
        top: 0;
    }
    .column-list__thumbnail {
        margin-bottom: 14px;
    }
    .job-list__thumbnail {
        margin-bottom: 14px;
    }
    ul.top-job-list {
        display: flex;
        flex-direction: row;
        justify-content: left;
        margin-top: 50px;
        column-gap: 45px;
        row-gap: 40px;
    }
    .top-job-list__tag {
        margin-bottom: 14px;
        color: #818181;
        display: block;
        font-weight: 400;
        line-height: 1;
        font-size: 12px;
    }
    .top-job-list__cont h3 {
        font-size: 14px;
        line-height: 1.5;
        font-weight: 500;
    }
    ul.top-job-list li span.top-job-list__eng {
        color: #22457a;
        transform: rotate(90deg) translateY(-118px);
        transform-origin: left top;
        font-size: 17px;
        position: absolute;
        right: 0;
        top: 0;
    }
    section.top-link-tab {
        padding: 50px 0;
    }
    .top-link-tab__inner ul li a {
        display: flex;
        width: 100%;
        height: auto;
        flex-direction: column;
        gap: 10px;
        justify-content: center;
        align-items: center;
        color: #fff;
        padding: 35px 0;
    }
    .top-link-tab__inner ul li a .eng {
        font-size: 32px;
        font-weight: 700;
    }
    .top-link-tab__inner ul li a .jp {
        font-size: 14px;
        font-weight: 400;
        margin-left: 8px;
    }
    .interview-slider__arrows button {
        width: 48px;
        height: 48px;
    }

    .top-link-tab__inner ul li::before {
        clip-path: polygon(10px 0px, 100% 0px, calc(100% - 20px) 100%, 0px 100%);
     
    }
    .top-link-tab__inner ul li::after {
        clip-path: polygon(10px 0px, 100% 0px, calc(100% - 20px) 100%, 0px 100%);
        top: 12px;
    }
    .interview-slider li {
        width: 320px;
        padding-left: 40px;
        margin-left: 30px;
        list-style: none;
        position: relative;
    }
    .interview-list_thumbnail {
        width: 100%;
        height: 40vw;
    }
    .interview-tag {
        font-weight: 700;
        transform: rotate(90deg);
        transform-origin: left top;
        left: 34px;
        display: block;
        position: absolute;
        font-size: 16px;
    }

    .interview-list-text-group {
        margin-top: 18px;
    }

    .interview-list-text-group .interview-list-year {
        display: block;
        margin-bottom: 14px;
        font-size: 14px;
    }
    .interview-list-text-group .interview-list-name {
        font-size: 20px;
    }
    .section-header__navi a {
        color: #22457a;
        text-decoration: none;
        font-weight: bold;
        font-size: 20px;
        transition: color 0.3s;
        text-align: left;
        width: 100%;
        display: block;
        line-height: 2;
    }
    section.page-about__tablist {
        padding: 40px 0;
    }
    .about__tablist__cont li a {
        padding: 14px 0;
        font-size: 14px;
    }
    section.page-about__head.page-head {
        padding-top: 140px;
        padding-bottom: 80px;
    }
    section.page-about__head.page-head h1 {
        color: #fff;
        font-size: 56px;
        text-align: center;
        font-weight: 700;
    }
    section.page-about__head.page-head h1 span {
        font-size: 18px;
        margin-top: 14px;
    }
    .top-recruiter__inner.w-1200 {
        padding-bottom: 60px;
        position: relative;
    }

.top-greeting__inner.w-1200 {
    padding-bottom: 80px;
    position: relative;
}
.column-list__thumbnail {
    width: 100%;
    height: 20vw;
}
.job-list__thumbnail {
    width: 100%;
    height: 200px;
}
.top-job-list__thumbnail {
    width: 100%;
    height: 20vw;
}
.top-recruiter {
    position: relative;
    margin-top: 50px;
}

.recruiter-cont-left {
    max-width: 300px;
}

.scroll-btn {
    position: absolute;
    left: -60px;
    bottom: -60px;
    width: 200px;
    height: 200px;
    z-index: 999;
    border: 1px solid #FFFFFF;
    color: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 100000px;
    transform: rotate(90deg);
    font-size: 19px;
    font-weight: 700;
}
section.page-about__intro {
    padding: 80px 0;
    background: linear-gradient(90deg, #c5d4d8, #dfe6e6, #c1d3d7);
}
h2.page-about__intro__txt {
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 24px;
    line-height: 1.3;
    position: relative;
    z-index: 1;
    color: #22457a;
}
span.page-about__intro__eng.eng {
    font-size: 80px;
    left: 0;
}
.page-about__intro__img {
    width: 100%;
    height: auto;
    margin-bottom: 40px;
}
.page-about__intro__inner>p {
    font-size: 14px;
    line-height: 1.8;
    position: relative;
    z-index: 2;
}
section.page-about__phylosophy {
    padding: 80px 0 0;
    position: relative;
}
h2.page-about__phylosophy__txt {
    color: #22457a;
    font-size: 58px;
    margin-bottom: 24px;
    font-weight: 700;
}
h3.page-about__phylosophy__txt {
    color: #22457a;
    font-size: 24px;
    margin-bottom: 24px;
    line-height: 1.8;
    font-weight: 700;
}
.page-about__phylosophy__img {
    position: absolute;
    top: 10px;
    right: -50px;
    width: 55vw;
}

section.page-about__phylosophy p.phylosophy__textarea {
    font-size: 14px;
    line-height: 2;
    max-width: 400px;
    position: relative;
    z-index: 3;
}
.phylosophy__textarea .pc-only {
    display: none;
}
.page-about__panellayout1 .page-about__panellayout__img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    left: 0;
    height: calc(100% + 120px);
}
.about__panellayout-cont {
    background: rgba(34, 69, 122, 0.8);
    color: #fff;
    padding: 40px 40px;
    min-height: 440px;
    position: relative;
    z-index: 2;
}
.page-about__panellayout .text-decorate,
.page-about__panellayout2 .text-decorate {
    position: relative;
    transform: none;
    transform-origin: top left;
    font-size: 56px;
    left: 0;
    top: 0;
    margin-bottom: 24px;
    display: block;
}
.about__panellayout-ttl {
    font-weight: 700;
    font-size: 28px;
    line-height: 1.6;
    margin-bottom: 12px;
}
.about__panellayout-comment {
    font-size: 14px;
    line-height: 2;
}
.about__panellayout-tag {
    display: flex;
    margin-bottom: 24px;
    align-items: center;
    color: #b0893a;
}
.page-about__panellayout2 .page-about__panellayout__img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    right: 0;
    height: calc(100% + 120px);
}
.about__panellayout-cont {
    background: #22457aad;
    color: #fff;
    padding: 40px 40px;
    min-height: 440px;
    position: relative;
    z-index: 2;
}
.about__logo__inner__txt p {
    font-size: 14px;
    line-height: 2;
}
.about__logo__inner__txt h3.eng {
    font-size: 40px;
    margin-bottom: 24px;
    color: #22457a;
}


.page-about__logo__inner {
    gap: 50px;
}
section.page-about__logo {
    margin-bottom: 80px;
}

.page-about__panellayout {
    margin-bottom: 130px;
}

section.page-about__phylosophy2 {
    padding-top: 80px;
    padding-bottom: 0;
    position: relative;
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
}

.about__phylosophy2__img {
    width: 50%;
    height: 100%;
}
.about__phylosophy2__textarea {
    width: 50%;
}
.about__phylosophy2-list li {
    width: 100%;
    padding: 20px 40px;
    gap: 20px;
    margin-bottom: 40px;
    align-items: center;
    position: relative;
}
.about__phylosophy2__textarea h3 {
    line-height: 1.6;
    font-size: 20px;
    color: #22457a;
    font-weight: 700;
    margin-bottom: 14px;
}
.about__phylosophy2__textarea p {
    line-height: 2;
    font-size: 14px;
}

section.about__company-profile h2.eng {
    font-size: 56px;
    text-align: center;
    font-weight: 700;
    color: #22457a;
}
.company-profile__sub {
    font-size: 18px;
    margin-top: 14px;
    text-align: center;
    font-weight: 400;
    color: #22457a;
    margin-bottom: 32px;
}
section.about__company-profile {
    padding-top: 40px;
    padding-bottom: 80px;
}
.company-table__ttl {
    width: 220px;
    padding-top: 22px;
    padding-bottom: 22px;
    position: relative;
    text-align: center;
    font-size: 16px;
}
.company-table__text {
    width: calc(100% - 220px);
    padding-top: 22px;
    padding-left: 32px;
    padding-bottom: 22px;
    font-size: 14px;
    line-height: 1.6;
}
.map-text {
    display: flex;
    align-items: center;
    margin-top: 40px;
}
.about__company-profile__inner.w-1200 iframe {
    margin-top: 20px;
    width: 100%;
    height: 40vw;
}
.about-movie__inner ul li p {
    font-size: 20px;
    margin-bottom: 14px;
    font-weight: 700;
    color: #fff;
}
.about-movie__inner ul li img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.about-movie__inner ul li iframe {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
section.page-about__phylosophy2 h2 {
    font-size: 56px;
    font-weight: 700;
    color: #fff;
}
p.about__phylosophy2__text {
    margin-top: 14px;
    font-size: 16px;
    color: #fff;
}
section.page-about__phylosophy2::before {
    height: 50vw;
}
.page-about__logo__inner {
    gap: 20px;
}
.about__panellayout-sub {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 14px;
}
.page-about__panellayout {
    margin-bottom: 120px;
}
section.page-job__head.page-head {
    padding-top: 140px;
    padding-bottom: 80px;
}
section.job-archive {
    padding-top: 40px;
    padding-bottom: 40px;
}

.job-archive-lead {
    margin-top: 20px;
}

.recruit-type span {
    font-size: 18px;
    margin-bottom: 16px;
}

.recruit-type h2 {
    font-size: 32px;
}
section.page-job__head.page-head h1 {
    color: #fff;
    font-size: 56px;
    text-align: center;
    font-weight: 700;
    text-transform: uppercase;
}
section.page-job__head.page-head span.jp {
    color: #fff;
    font-size: 18px;
    text-align: center;
    display: block;
    margin-top: 14px;
    font-family: "Noto Sans JP", serif;
}
.traning-ttl_sub {
    font-size: 18px;
    margin-top: 14px;
    font-weight: 400;
    color: #22457a;
    text-align: center;
    margin-bottom: 32px;
}
.treaning-intro-txt {
    line-height: 2;
    margin-bottom: 40px;
    font-size: 12px;
}
.list__wrap__welfare {
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
}
.list__wrap__welfare div p {
    line-height: 1.8;
    font-size: 12px;
}.list__wrap__welfare div h2 {
    font-size: 24px;
    display: flex;
    align-items: center;
    color: #22457a;
    margin-bottom: 12px;
}
.list__wrap__welfare div h2 span {
    font-size: 40px;
    display: block;
    width: max-content;
    font-weight: 700;
    margin-right: 10px;
}
.list__wrap__welfare div {
    width: 50%;
}
.list__wrap__welfare2 div {
    width: 50%;
    order: 1;
}
.separate-welfare {
    margin-top: 140px;
}
.welfare-group {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.welfare-group div li {
    margin-bottom: 14px;
    font-size: 12px;
    line-height: 18px;
}
.welfare-group div {
    width: calc(50% - 10px);
    max-width: 530px;
    padding: 32px 20px;
    background-color: #345e9f;
    color: #fff;
}
.welfare-group div h3 {
    font-size: 20px;
    margin-bottom: 24px;
}
.welfare-intro__inner.w-1200 h2.traning-ttl.eng {
    font-size: 56px;
    text-align: center;
}
.welfare-intro__inner.w-1200 .traning-ttl_sub {
    font-size: 18px;
    margin-top: 14px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    margin-bottom: 40px;
}
section.section-traning {
    padding-top: 40px;
}
.section-traning__inner.w-1200 h2.traning-ttl {
    font-size: 60px;
}
section.welfare-intro {
    padding: 80px 0;
    background: #22457a;
    color: #fff;
}
p.hosoku {
    margin-top: 16px;
    font-size: 10px;
    color: #818181;
}.list__wrap__welfare2 img {
    width: 50%;
    order: 2;
}.list__wrap__welfare img {
    width: 50%;
    height: auto;
    object-fit: contain;
}
.page-greeting__head__inner h2 span {
    font-size: 24px;
    background-color: #fff;
    display: block;
    width: max-content;
    padding: 8px 16px;
    font-weight: 700;
    margin-bottom: 8px;
}
.page-greeting__head {
    height: 80vh;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}
.page-greeting__head__inner h1 {
    font-size: 56px;
    margin-bottom: 14px;
    color: #23457a;
    filter: drop-shadow(0 0 5px #ffffff6d);
}.page-greeting__head__inner .jp {
    font-size: 18px;
    font-weight: 400;
    display: block;
    width: max-content;
    color: #23457a;
    margin-bottom: 24px;
}
.page-greeting__head__inner h2 {
    font-size: 40px;
    margin-bottom: 48px;
    line-height: 1.8;
}
.page-greeting__head__textgroup {
    background-color: #22457a;
    padding: 20px 32px;
    color: #fff;
    width: max-content;
}
.page-greeting__head__textgroup p {
    font-size: 14px;
    margin-bottom: 24px;
    line-height: 2;
    font-weight: 400px;
}
.page-greeting__head__textgroup span {
    font-size: 24px;
    font-weight: 700;
}
.greeting__comment__decoration {
    text-align: center;
    width: max-content;
    position: absolute;
    font-weight: 700;
    top: 0px;
    line-height: 1;
    left: 50%;
    transform: translateX(-50%);
    font-size: 120px;
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
section.page-greeting__comment {
    padding: 130px 0 80px;
    position: relative;
}
.page-greeting__comment__inner.w-1200 p.main-comment {
    line-height: 2;
    font-size: 14px;
    margin-bottom: 64px;
}
p.ceo-name {
    display: block;
    width: max-content;
    margin-left: auto;
    font-size: 14px;
    line-height: 2;
    text-align: right;
}
.section-recruit__intro__inner div {
    width: 45%;
    z-index: 2;
    position: relative;
}.section-recruit__intro__inner div {
    width: 50%;
    z-index: 2;
    position: relative;
}.section-recruit__intro__inner div {
    width: 50%;
    z-index: 2;
    position: relative;
}
section.section-recruit__intro {
    padding-top: 80px;
    padding-bottom: 80px;
}
ul.interview-archive-list {
    justify-content: left;
    gap: 50px;
}
section.archive-interview__head.page-head {
    padding-top: 140px;
    padding-bottom: 80px;
}
section.archive-interview__head.page-head h1 {
    text-align: center;
    font-size: 56px;
    font-weight: 700;
    color: #fff;
}
.archive-interview__inner.w-1200 {
    padding-bottom: 50px;
}
section.archive-interview__head.page-head .jp {
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    display: block;
    margin-top: 14px;
    color: #fff;
}

ul.interview-archive-list .interview-list_thumbnail {
    height: 40vw;
    border-radius: 10px 50px 10px 10px;
    overflow: hidden;
    position: relative;
    color: #fff;
}
.interview-list-text-group__decoration {
    color: #fff;
    position: absolute;
    bottom: -5px;
    right: 0;
    font-size: 50px;
    opacity: .05;
}

ul.interview-archive-list li {
    width: calc((100% - 96px) / 2);
    position: relative;
    color: #fff;
    padding-left: 40px;
    margin-bottom: 64px;
}
.page-interview__head__inner h1 span {
    font-size: 18px;
    background-color: #fff;
    display: block;
    width: max-content;
    padding: 12px 18px;
    font-weight: 700;
    margin-bottom: 8px;
}.page-interview__head__inner h1 {
    margin-bottom: 20px;
    color: #22457a;
}

section.page-interview01 {
    padding: 0;
}

.page-interview__head__textgroup span.post {
    font-size: 32px;
}

.top-fv {
    max-height: 940px;
    height: 80vh;
    position: relative;
}
section.page-interview__head {
    height: 600px;
}
.page-interview__head {
    height: 80vh;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    position: relative;
}
.page-interview__head__textgroup p {
    font-size: 14px;
    margin-bottom: 14px;
    line-height: 2;
    font-weight: 400px;
}
.page-interview__head__textgroup{
    background-color: #22457a;
    padding: 20px 32px;
    color: #fff;
    width: max-content;
}
.page-interview01__left p {
    font-size: 14px;
    line-height: 2;
}.page-interview01__left h2 {
    font-size: 20px;
    color: #b0893a;
    font-weight: 700;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
}.page-interview01__left>span {
    font-size: 18px;
    margin-bottom: 18px;
    display: block;
    color: #22457a;
    font-weight: 700;
}

.page-interview01__right,
.page-interview01__left{
    width: 50%;
}
.page-interview01__inner.w-1200 {
    display: flex;
    padding-top: 80px;
    padding-bottom: 80px;
    gap: 40px;
}
.page-interview02__cont h2 {
    font-size: 20px;
    color: #fff;
    font-weight: 700;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
}
.page-interview02__cont p {
    font-size: 14px;
    line-height: 2;
    color: #fff;
}
.page-interview02__cont>span {
    font-size: 18px;
    margin-bottom: 24px;
    display: block;
    color: #fff;
    font-weight: 700;
}
section.page-interview02 {
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
}
section.page-interview03 {
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
}.page-interview03__cont p {
    font-size: 14px;
    line-height: 2;
}.page-interview03__cont h2 {
    font-size: 20px;
    color: #b0893a;
    font-weight: 700;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
}.page-interview03__cont>span {
    font-size: 18px;
    margin-bottom: 24px;
    display: block;
    color: #22457a;
    font-weight: 700;
}
section.page-interview_oneday {
    padding: 80px 0;
    background-image: url(../images/interview/oneday-bg.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #fff;
}
.page-interview_oneday__cont-left h2 {
    font-size: 56px;
    font-weight: 700;
    margin-bottom: 32px;
}
.page-interview_oneday__cont-left span {
    font-size: 14px;
    display: block;
}
.page-interview_oneday__cont-right h2 {
    color: #b0893a;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 14px;
}
.oneday-am,
.oneday-pm {
    width: 100%;
}
.oneday-pm ul li, .oneday-am ul li {
    position: relative;
    margin-bottom: 14px;
    font-size: 14px;
}
.oneday-pm {
    margin-left: 30px;
}
.page-interview_oneday__cont-left {
    width: max-content;
}
.interview_message__inner__img h2 {
    font-size: 60px;
}
section.page-interview_message {
    padding: 120px 0 80px;
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
}
.interview_message__inner__img {
    width: 100%;
    max-width: 900px;
    height: auto;
    position: relative;
    margin-bottom: 24px;
}
.page-interview_message .w-1200 p.message-main {
    font-size: 14px;
    line-height: 2;
}
ul.interview-recomend-list {
    justify-content: center;
    gap: 50px;
}
ul.interview-recomend-list li {
    width: 33%;
}
ul.interview-recomend-list .interview-list-year {
    display: block;
    margin-bottom: 14px;
    font-size: 10px;
    color: #fff;
}
section.recomend-interview {
    padding: 80px 0;
    background: #22457a;
}
ul.page-numbers__list li {
    width: calc((100% - 30px) / 3);
    margin-bottom: 15px;
}
span.counter.eng {
    font-size: 32px;
    font-weight: 700;
    margin: auto;
    display: block;
    width: max-content;
    font-family: "Oswald", "Noto Sans JP", sans-serif;
    max-width: 100%;
}
ul.newpeople-list li div, ul.recruit-list li div {
    position: relative;
    z-index: 2;
    width: 50%;
}ul.newpeople-list li div:first-of-type, ul.recruit-list li div:first-of-type {
    width: 50%;
    padding-bottom: 75px;
}
ul.newpeople-list li div span, ul.recruit-list li div span {
    display: block;
    font-size: 40px;
    font-weight: 700;
    color: #b0893a;
    margin-bottom: 24px;
}
.section-wonted h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 14px;
    color: #22457a;
    line-height: 1.5;
}
.newpeople-list li p, .recruit-list li p {
    font-size: 14px;
    line-height: 1.6;
}
.section-recruit__intro__inner h3 {
    font-size: 24px;
    font-weight: 700;;
}
.section-recruit__intro__inner div.photo img {
    height: 350px;
}
.section-recruit__intro__inner p.txt {
    font-size: 14px;
    font-weight: 400;;
}
.section-wonted h2 {
    font-size: 40px;
    color: #22457a;
    font-weight: 700;
    margin-bottom: 40px;
}.section-wonted__inner>p {
    line-height: 2;
    font-size: 14px;
}

.section-recruit__intro__inner div.txt {
    line-height: 2;
    font-size: 14px;
}
.newpeople-list li img, .recruit-list li img {
    height: auto;
    width: 100%;
    object-fit: contain;
}ul.newpeople-list li, ul.recruit-list li {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.page-faq__nav {
    width: 200px;
    font-size: 16px;
    color: #949494;
}.page-column__head__inner h1 {
    text-align: center;
    font-size: 56px;
    display: block;
    color: #22457a;
    position: relative;
    z-index: 2;
}
.page-column__head__inner .jp {
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    display: block;
    color: #22457a;
    position: relative;
    z-index: 2;
    margin-top: 14px;
}
.post-content p {
    font-size: 14px;
    line-height: 2;
    margin-bottom: 56px;
}

.post-content h2 {
    padding: 24px;
    background: #22457a;
    color: #fff;
    font-size: 24px;
    margin-top: 0px;
    margin-bottom: 24px;
    line-height: 1.4;
}
.post-content h3::after {
    position: absolute;
    z-index: 2;
    content: "";
    background-color: #b0893a;
    border-radius: 1000px;
    display: block;
    width: 10px;
    height: 10px;
    left: 7px;
}.post-content h3 {
    color: #22457a;
    position: relative;
    font-size: 24px;
    line-height: 1.8;
    display: flex;
    align-items: center;
    padding-bottom: 32px;
    padding-left: 32px;
}.post-content h3::before {
    margin-right: 20px;
    content: "";
    background-color: #f0e8d7;
    border-radius: 1000px;
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    left: 0;
}
.column-btn__right li a {
    width: 100%;
    padding: 18px;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #b0893a;
    border-radius: 100000px;
    color: #fff;
    transition: .25s;
}.column-btn__right li a img {
    width: 15px;
    height: 15px;
    display: block;
    object-fit: contain;
    object-position: center;
    margin-right: 14px;
}
.column-btn-group {
    border-top: 1px solid;
    border-bottom: 1px solid;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    padding-top: 24px;
    padding-bottom: 24px;
    margin-bottom: 50px;
    gap: 40px;
}
.section-column-tab .w-1200 {
    padding: 20px 20px 40px 20px; 
}
.column-btn-group p {
    width: 100%;
    line-height: 2;
    font-size: 14px;
}
.column-content .w-1200 {
    padding: 60px 40px;
}
.column-content h1 {
    font-size: 24px;
    margin-bottom: 24px;
}
.page-column__head .scroll-txt {
    position: absolute !important;
    top: auto !important;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    font-size: 120px;
    white-space: nowrap;
}
.page-faq__cont__acordion {
    width: calc(100% - 200px);
}.page-faq__cont__acordion h2 {
    font-size: 28px;
    margin-bottom: 24px;
    color: #22457a;
    font-weight: 700;
}.acordion-tab {
    padding: 30px 50px 30px 0;
    display: block;
    font-weight: 700;
    font-size: 16px;
}
.acordion-answer.active {
    padding: 24px;
    font-size: 14px;
}
.page-faq__head,
.page-column__head{
    padding-top: 140px;
    padding-bottom: 80px;
}
.page-faq__head__inner h1 {
    text-align: center;
    font-size: 56px;
    display: block;
    color: #22457a;
    position: relative;
    z-index: 2;
}.page-faq__head__inner .jp {
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    display: block;
    color: #22457a;
    position: relative;
    z-index: 2;
    margin-top: 14px;
}
ul.column-cat-list li a {
    display: block;
    width: max-content;
    background-color: #f3f5f5;
    color: #3d3e41;
    padding: 8px 16px;
    font-size: 14px;
}
ul.column-cat-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
}
ul.job-cat-list li a {
    display: block;
    width: max-content;
    background-color: #f3f5f5;
    color: #3d3e41;
    padding: 8px 16px;
    font-size: 14px;
}
ul.job-cat-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
}
section.column-archive {
    padding-top: 80px;
    padding-bottom: 80px;
}
.column-archive p {
    font-size: 16px;
    line-height: 1.5;
}
section.column-archive .comming-soon {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.8;
}
ul.column-list li span.column-list__date {
    color: #22457a;
    transform: rotate(90deg) translateY(0);
    transform-origin: left top;
    font-size: 14px;
    position: absolute;
    right: -12vw;
    top: 0;
}
ul.job-list li span.job-list__date {
    color: #22457a;
    transform: rotate(90deg) translateY(0);
    transform-origin: left top;
    font-size: 14px;
    position: absolute;
    right: -12vw;
    top: 0;
}
ul.top-job-list li {
    width: 45%;
}
.post-content h3 {
    color: #22457a;
    position: relative;
    font-size: 20px;
    line-height: 1.8;
    display: flex;
    align-items: center;
    padding-bottom: 32px;
    padding-left: 32px;
}
.page-entry__head h1 {
    font-size: 56px;
    text-align: center;
    color: #22457a;
}.page-entry__head .jp {
    font-size: 18px;
    text-align: center;
    font-weight: 400;
    color: #22457a;
    display: block;
    margin-top: 14px;
}
.page-entry__head__inner.w-1200>p {
    text-align: center;
    line-height: 2;
    font-size: 14px;
    margin-bottom: 40px;
    margin-top: 30px;
}table.form-wrap.recruit tr th {
    display: block;
    width: 100%;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 24px;
    color: #22457a;
}
table.form-wrap.recruit-people {
    width: 100%;
}
table.form-wrap.recruit-people tr th {
    display: block;
    width: 100%;
    margin-bottom: 18px;
    font-weight: 700;
    color: #22457a;
    font-size: 18px;
}
table.form-wrap.recruit-people tr td input,
table.form-wrap.recruit-people tr td textarea {
    width: 100%;
    padding: 18px;
    display: block;
    line-height: 1.6;
}
.submit-btn button {
    display: block;
    width: 80%;
    max-width: 380px;
    padding: 18px;
    background-color: #b0893a;
    color: #fff;
    margin: auto;
    font-size: 20px;
    text-align: center;
    border-radius: 5px;
}
.page-entry__flow__inner.w-1200 ul li p {
    font-size: 14px;
    text-align: center;
    color: #22457a;
    line-height: 1.6;
}
.page-entry__flow__inner.w-1200 ul li p span {
    font-size: 10px;
    display: block;
}
.page-entry__flow__inner.w-1200 ul li {
    width: calc((100% - 190px) / 4);
    position: relative;
}
.page-entry__flow__inner.w-1200 ul li::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(160%, -100%);
    width: 34px;
    height: 37px;
    background-image: url(../images/entry/flow-triangle.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}
.page-entry__flow__inner.w-1200>p {
    margin-top: 24px;
    line-height: 2;
    color: #383838;
    font-size: 12px;
    margin-left: 60px;
}
.page-entry__flow {
    background-color: #fff;
    padding: 0px 0 80px;
}
.page-entry__flow__inner h2 .eng {
    font-size: 56px;
    font-weight: 700;
    display: block;
    margin-right: 32px;
    margin-bottom: 20px;
}
.page-thanks__head {
    padding-top: 180px;
    padding-bottom: 140px;
    background-image: url(../images/faq/faq-bg.webp);
    background-size: cover;
    background-position: center center;
}
.page-thanks__head__inner h1 {
    width: 300px;
    height: auto;
    margin: auto;
    margin-top: 80px;
    margin-bottom: 56px;
}
.page-thanks__head__inner p {
    text-align: center;
    font-size: 14px;
    margin-bottom: 120px;
}
.text-decorate_eng.eng {
    font-size: 60px;
    text-align: center;
    background: linear-gradient(90deg, #cbd7d9 30%, #c1d3d7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-transform: uppercase;
    width: 100%;
    text-align: center;
    display: block;
}
.text-decorate_jpn {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    color: #22457a;
    font-size: 22px;
}
h2.content-works-ttl span {
    font-size: 80px;
}

h2.mission-ttl span {
    font-size: 80px;
}

h2.mission-ttl {
    font-size: 28px;
    margin-bottom: 48px;
}

section.job-content-intro {
    padding: 60px 0;
    background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
}
h1.job-ttl {
    margin-bottom: 60px;
}
section.job-content-works {
    padding-top: 80px;
}
h2.content-works-ttl {
    font-size: 28px;
    font-weight: 700;
    position: relative;
    line-height: 1.5;
    margin-bottom: 24px;
    color: #22457a;
}
.content-works-wrap p {
    line-height: 2;
    font-size: 14px;
}
table.content-works-table tr td {
    padding: 24px 0;
    width: calc(100% - 250px);
    display: block;
    line-height: 2;
    font-size: 14px;
}
table.content-works-table tr th {
    background-color: #f3f5f5;
    padding: 32px 12px;
    width: 230px;
    display: block;
    font-size: 14px;
}
section.toenter-area {
    background-color: #b0893b;
    padding: 40px 0;
    color: #fff;
}section.toenter-area h2 {
    font-size: 56px;
    font-weight: 700;
}
section.toenter-area a {
    color: #fff;
    font-size: 18px;
}
}

@media screen and (max-width:640px) {
    .pc-only {
        display: none !important;
    }

    .sp-only {
        display: block !important;
    }

    .w-1200 {
        padding-left: 20px;
        padding-right: 20px;
    }

    .scroll-txt {
        position: absolute !important;
        top: 0 !important;
        left: 0;
        width: 100%;
        display: flex;
        font-size: 88px;
        white-space: nowrap;
    }

    .top-link-tab__inner ul li::after {
        clip-path: polygon(40px 0px, 100% 0px, calc(100% - 40px) 100%, 0px 100%);
    }

    .top-fv__slider img {
        display: none;
    }

    .sp {
        display: block;
    }

    .top-fv {
        max-height: 640px;
        height: 100vh;
        position: relative;
        background-image: url(../images/top/fv-sp.webp);
        background-size: cover;
    }

    .top-fv__inner.w-1200 {
        top: 65%;
        padding: 0 25px;
    }

    .top-fv .slick-dots li {
        margin: 0 2px !important;
    }

    .top-fv .slick-dots li button:before {
        color: #fff !important;
        opacity: 1 !important;
        font-size: 10px !important;
    }

    .top-interview {
        background-color: #22457a;
        padding: 80px 0;
        color: #fff;
    }

    .top-interview__inner h2 {
        text-align: center;
        font-size: 48px;
        line-height: 1;
    }

    .top-interview__inner span.ttl-tag {
        text-align: center;
        font-size: 16px;
        display: block;
        text-align: center;
        margin-top: 14px;
        line-height: 1;
        font-weight: 400;
    }

    .greeting-cont-sp-img,
    .recruiter-cont-sp-img {
        display: block;
    }

    section.top-about {
        padding: 140px 0 60px 0;
    }

    .section-header__logo {
        width: 170px;
    }

    .about__logo__img,
    .about__logo__inner__txt {
        width: 100%;
    }

    footer {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .footer-entry {
        width: 100%;
        order: 1;
        padding: 36px 0;
    }

    .footer-entry__wrap h2 {
        font-size: 48px;
        margin-bottom: 32px;
    }

    .footer-entry__wrap ul li a {
        padding: 18px 0;
        border-radius: 5px;
        font-size: 18px;
    }

    .about__logo__inner__txt {

        margin-top: 24px;
    }

    .footer-entry__wrap ul li:hover a {
        padding: 18px 0;
        border-radius: 5px;
        font-size: 18px;
    }

    .footer__inner {
        width: 100%;
        order: 2;
        padding: 50px 0 15px 0;
    }

    .footer-info p {
        margin-top: 32px;
        line-height: 1.8;
        font-size: 14px;
        text-align: center;
    }

    .page-entry__head__inner.w-1200>p {
        text-align: center;
        line-height: 2;
        font-size: 14px;
        margin-bottom: 40px;
        margin-top: 40px;
    }

    .page-entry__head h1 {
        font-size: 64px;
        text-align: center;
        color: #22457a;
    }

    .page-entry__head__inner ul li:nth-of-type(1)::before {
        width: 64px;
        height: (100% - 1px);
        background-image: url(../images/thanks/triangle.webp);
        content: "";
        display: block;
        position: absolute;
        right: 1px;
        transform: translateX(100%);
        top: 0;
        background-repeat: no-repeat;
    }

    ul.column-cat-list li a {
        display: block;
        width: max-content;
        background-color: #f3f5f5;
        color: #3d3e41;
        padding: 12px 16px;
        font-size: 14px;
    }
    ul.job-cat-list li a {
        display: block;
        width: max-content;
        background-color: #f3f5f5;
        color: #3d3e41;
        padding: 12px 16px;
        font-size: 14px;
    }

    .page-entry__flow__inner.w-1200 ul li:last-of-type {
        margin-bottom: 0;
    }

    .page-entry__flow__inner.w-1200>p {
        margin-left: 0;
    }

    .page-entry__head__inner ul {
        width: 100%;
        border-radius: 5px;
        display: flex;
        overflow: hidden;
        margin: auto;
        background-color: #fff;
        justify-content: space-between;
    }

    .page-entry__head {
        padding-top: 140px;
        padding-bottom: 80px;
    }

    .page-entry__head .jp {
        font-size: 20px;
        text-align: center;
        font-weight: 400;
        color: #22457a;
        display: block;
        margin-top: 14px;
    }

    .footer-logo {
        max-width: 460px;
        width: 70%;
        height: auto;
        margin-left: auto;
        margin-right: auto;
    }

    .section-footer_sns-group ul {
        display: flex;
        margin-top: 32px;
        justify-content: center;
        align-items: center;
    }

    .instagram-icon {
        width: 40px !important;
        height: 40px !important;
    }

    .section-footer_sns-group ul li {
        width: 32px;
        height: 32px;
        margin-right: 14px;
    }

    .section-footer_sns-group ul li:last-of-type {
        margin-right: 0;
    }

    a.privacy-poricy {
        margin-top: 32px;
        display: block;
        color: #a9a9a9;
        font-size: 12px;
    }

    p.copyright {
        margin-top: 40px;
        display: block;
        color: #a9a9a9;
        font-size: 12px;
    }

    .column-content .w-1200 {
        padding: 40px 20px;
    }

    .column-content h1 {
        font-size: 20px;
        text-align: left;
        font-weight: 700;
        color: #22457a;
        line-height: 1.5;
        margin-bottom: 24px;
    }

    .single-column-thumbnail {
        width: max-content;
        height: max-content;
        object-fit: contain;
        max-width: 100%;
        max-height: 100%;
        margin-bottom: 24px;
    }

    .accept th.form-content__ttl span {
        margin: auto;
        text-align: center;
        width: 100%;
    }

    table.form-wrap.recruit {
        margin-bottom: 10px;
    }

    table.form-wrap.recruit tr th {
        display: block;
        width: 100%;
        font-size: 18px;
        font-weight: 700;
        margin-bottom: 16px;
        color: #22457a;
    }

    table.form-wrap.recruit .wpcf7-form-control.wpcf7-radio .wpcf7-list-item-label::before {
        content: '';
        display: inline-block;
        width: 16px;
        height: 16px;
        border: 1px solid #8a9fbf;
        border-radius: 50%;
        background-color: #fff;
        box-sizing: border-box;
        transition: all 0.3s ease;
        position: relative;
        margin-right: 16px;
    }

    table.form-wrap.recruit .wpcf7-form-control.wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
        content: '';
        position: absolute;
        left: 3.5px;
        top: 4.5px;
        width: 10px;
        height: 10px;
        background-color: #22457a;
        border-radius: 50%;
        transition: all 0.3s ease;
    }

    li.btn-recruit a {
        background: #23457a;
        text-align: center;
        padding: 10px;
        border-radius: 10px;
        color: #fff;
        font-size: 18px;
        margin-top: 18px;
    }

    .page-entry__flow__inner.w-1200 ul li img {
        width: 70%;
        height: auto;
        object-fit: contain;
        margin-bottom: 14px;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .list__wrap__welfare img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    section.separate-welfare img {
        width: 100%;
        height: 60vw;
        object-fit: cover;
        object-position: center;
    }

    .traning-cont {
        background: #fff;
        margin-bottom: 24px;
        padding: 32px 20px;
    }

    section.page-job__head.page-head {
        padding-top: 140px;
        padding-bottom: 80px;
        background-image: url(../images/job/job-header-img.webp);
        background-size: cover;
        background-position: center;
    }

    tr.form-content.req span.wpcf7-form-control-wrap::before,
    tr.form-content.req.school span.wpcf7-form-control-wrap::before {
        right: 20px;
        font-size: 14px;
    }

    .page-entry__flow__inner.w-1200 ul li::before {
        content: "";
        position: absolute;
        top: auto;
        right: auto;
        transform: translate(-50%, 110%) rotate(90deg);
        width: 34px;
        height: 47px;
        background-image: url(../images/entry/flow-triangle.webp);
        background-position: center;
        background-repeat: no-repeat;
        left: 50%;
        bottom: 0;
        background-size: contain;
    }

    .page-entry__flow__inner h2 .eng {
        font-size: 56px;
        font-weight: 700;
        display: block;
        margin-right: 0;
    }

    .page-entry__flow__inner h2 .jp {
        font-size: 22px;
        font-weight: 400;
        display: block;
        width: 100%;
    }

    table.form-wrap.recruit td.form-content__input {
        margin-top: 10px;
    }

    table.form-wrap.recruit-people tr td input, table.form-wrap.recruit-people tr td textarea {
        font-size: 14px;
    }

    table.form-wrap.recruit td.form-content__input span {
        display: flex;
        align-items: center;
        position: relative;
        font-size: 14px;
        margin-bottom: 0 !important;
    }

    .post-content p {
        font-size: 14px;
        line-height: 2;
        margin-bottom: 20px;
    }

    .post-content h2 {
        padding: 10px 20px;
        background: #22457a;
        color: #fff;
        font-size: 18px;
        margin-top: 16px;
        margin-bottom: 16px;
        line-height: 1.5;
        text-align: justify;
    }

    .post-content h3 {
        font-size: 18px;
        padding-left: 32px;
    }

    .post-content h3::before {
        margin-right: 20px;
        content: "";
        background-color: #f0e8d7;
        border-radius: 1000px;
        display: block;
        width: 24px;
        height: 24px;
        position: absolute;
        left: 0;
    }

    .post-content h3::after {
        position: absolute;
        z-index: 2;
        content: "";
        background-color: #b0893a;
        border-radius: 1000px;
        display: block;
        width: 10px;
        height: 10px;
        left: 7px;
    }

    .single-column-thumbnail p {
        max-width: 100%;
    }

    .column-btn-group {
        padding-top: 40px;
        padding-bottom: 40px;
        flex-wrap: wrap;
        margin-bottom: 48px;
        gap: 12px;
    }

    .column-btn-group p {
        width: 100%;
        line-height: 2;
        font-size: 16px;
    }

    .column-btn__right {
        width: 100%;
    }

    .column-btn__right li a {
        width: 100%;
        padding: 16px;
        font-size: 18px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #b0893a;
        border-radius: 100000px;
        color: #fff;
        transition: .25s;
    }

    .column-btn__right li:first-child {
        margin-top: 24px;
    }

    .column-btn__right li:last-child {
        margin-top: 15px;
    }

    section.breadcumb ul {
        flex-wrap: wrap;
    }

    section.breadcumb ul li {
        color: #818181;
        margin-right: 12px;
        font-size: 14px;
        line-height: 1.5;
    }

    .page-column__head {
        padding-top: 140px;
        padding-bottom: 80px;
    }

    .page-column__head__inner h1 {
        text-align: center;
        font-size: 64px;
        z-index: 2;
    }

    .page-column__head__inner .jp {
        font-size: 16px;
        margin-top: 14px;
    }

    .page-column__head .scroll-txt {
        font-size: 80px !important;
    }

    .top-fv h1 {
        font-size: 16vw;
        color: #FFFFFF;
    }

    .top-fv p {
        font-size: 4.5vw;
        color: #FFFFFF;
        margin-top: 14px;
    }

    .interview-slider li {
        width: 95vw;
        margin-right: 0;
        margin-left: 0;
        padding-left: 10vw;
    }

    .top-about__cont h2 {
        position: absolute;
        left: 50%;
        top: 0;
        transform: translate(-50%, -50%);
        color: #b0893a;
        font-size: 64px;
        font-weight: 700;
        white-space: nowrap;
    }

    .top-about__cont {
        position: relative;
        width: 100%;
        background: url(../images/top/about-bg-sp.webp);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        padding: 72px 20px 20px;
        text-align: center;
    }

    .top-about__cont p {
        font-size: 18px;
        color: #fff;
        line-height: 1.5;
        font-weight: 700;
    }

    .top-about__cont a {
        margin-top: 20px;
        margin-left: auto;
        margin-right: auto;
    }

    .readmore-btn {
        border-radius: 10000px;
        background-color: #b0893a;
        padding: 20px 50px;
        width: 100%;
        text-align: center;
        display: block;
        color: #fff;
        font-weight: 700;
        position: relative;
        transition: .25s;
    }

    .top-greeting::before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        width: 100vw;
        height: calc(100% - 50px);
        background-image: url(../images/top/greeting-bg.webp);
        background-position: right;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .recruiter-cont-left {
        max-width: 500px;
    }

    .top-greeting h2,
    .top-recruiter h2 {
        position: relative;
        color: #22457a;
        font-weight: 700;
        font-size: 64px;
        margin-bottom: 14px;
        z-index: 1;
    }

    .greeting-cont_label {
        padding-bottom: 0;
        font-size: 18px;
        color: #22457a;
        font-weight: 700;
    }

    .greeting-cont-left p,
    .recruiter-cont-left p {
        font-size: 20px;
        font-weight: 700;
        padding-top: 24px;
        padding-bottom: 24px;
        color: #22457a;
    }

    .greeting-cont-right {
        display: none;
    }

    .greeting-cont-sp-img,
    .recruiter-cont-sp-img {
        width: 100%;
        height: auto;
        margin-top: 24px;
    }

    .greeting-cont-sp-img img,
    .recruiter-cont-sp-img img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .top-greeting__inner.w-1200 {
        padding-bottom: 60px;
        position: relative;
    }

    .recruiter-cont-right {
        position: absolute;
        right: 35%;
        top: 0;
        height: 90%;
        width: 65vw;
        display: none;
    }

    .top-recruiter__inner.w-1200 {
        padding-bottom: 80px;
        position: relative;
    }

    .top-recruiter::before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100vw;
        height: calc(100% - 50px);
        background-image: url(../images/top/greeting-bg.webp);
        background-position: right;
        background-size: cover;
        background-repeat: no-repeat;
        transform: scale(-1);
    }

    .top-recruiter {
        position: relative;
        margin-top: 20px;
        margin-bottom: 0;
    }

    .top-intro__inner__text h2 {
        font-size: 24px;
        margin-bottom: 24px;
        line-height: 1.5;
        font-weight: 700;
        color: #22457a;
        letter-spacing: 3.6px;
        text-align: center;
    }

    .top-intro__inner__text p {
        font-size: 15px;
        line-height: 2;
        font-weight: 500;
        color: #22457a;
        text-align: left;
    }

    .top-intro__inner__img {
        position: relative;
        right: auto;
        top: 0;
        width: calc(100% + 40px);
        transform: none;
        height: 100%;
        left: -20px;
    }

    table.form-wrap.recruit .wpcf7-form-control.wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
        height: 8px;
        width: 8px;
    }

    .page-entry__flow__inner.w-1200 ul li {
        width: 70%;
        position: relative;
        margin: auto;
        margin-bottom: 72px;
    }

    tr.form-content.zip-group td.form-content__input>span {
        width: 220px;
        margin-right: 20px;
    }

    .scroll-btn {
        position: absolute;
        left: -40px;
        bottom: -30px;
        width: 150px;
        height: 150px;
        z-index: 999;
        border: 1px solid #FFFFFF;
        color: #FFFFFF;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 100000px;
        /* transform: rotate(90deg); */
        font-size: 14px;
        font-weight: 700;
    }

    .scroll-btn img {
        width: 30px;
        height: 14px;
        object-fit: contain;
        object-position: center;
        position: relative;
        margin-left: 11px;
    }

    a.header-entry-btn {
        display: block;
        width: max-content;
        background: #b0893a;
        color: #fff;
        padding: 14px;
        width: 120px;
        text-align: center;
        font-size: 16px;
        border-radius: 10000px;
        font-weight: 700;
        transition: .25s;
    }

    section.top-intro {
        padding: 120px 0 0;
        background-image: url(../images/top/intro-bg.webp);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        position: relative;
    }

    .top-intro__inner__text {
        position: relative;
    }

    section.top-number h2 {
        margin-bottom: 14px;
        font-weight: 700;
        font-size: 64px;
        text-align: center;
    }

    section.top-number span {
        display: block;
        margin-bottom: 20px;
        text-align: center;
    }

    section.top-number {
        background-image: url(../images/top/number-bg.webp);
        padding: 80px 0 80px;
        color: #fff;
        background-size: cover;
        background-position: center;
    }

    .top-link-tab__inner ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .top-link-tab__inner ul li {
        width: 100%;
        position: relative;
        margin-bottom: 24px;
    }

    .top-link-tab__inner ul li a {
        display: flex;
        width: 100%;
        height: auto;
        justify-content: center;
        align-items: center;
        color: #fff;
        padding: 32px 0;
    }

    .top-link-tab__inner ul li a .eng {
        font-size: 32px;
        font-weight: 700;
    }

    .top-link-tab__inner ul li a .jp {
        font-size: 16px;
        font-weight: 400;
        margin-left: 12px;
    }

    .interview-list-text-group__decoration {
        color: #fff;
        position: absolute;
        bottom: -35px;
        right: 0;
        font-size: 60px;
        opacity: .05;
    }

    table.form-wrap.recruit-people {
        margin-top: 20px;
    }

    table.form-wrap.recruit-people tr {
        margin-bottom: 40px;
        display: block;
    }

    .page-thanks__head {
        padding-top: 140px;
        padding-bottom: 120px;
        background-image: url(../images/faq/faq-bg.webp);
        background-size: cover;
        background-position: center center;
    }

    .page-thanks__head__inner ul {
        width: 100%;
    }

    .page-thanks__head__inner p {
        text-align: center;
        font-size: 16px;
        margin-bottom: 40px;
        line-height: 2;
    }

    .page-thanks__head__inner h1 {
        width: 40vw;
        height: auto;
        margin: auto;
        margin-top: 80px;
        margin-bottom: 32px;
    }

    tr.form-content.accept {
        padding-top: 0;
    }

    .page-thanks__head__inner ul {
        width: 100%;
    }
    table.form-wrap.recruit-people{
        width: 100%;
    }
    table.form-wrap.recruit-people tr td {
        filter: drop-shadow(0px 0px 29px #dee7ed);
        background-color: #fff;
        border-radius: 5px;
    }
    table.form-wrap.recruit-people tr td input,
    table.form-wrap.recruit-people tr td textarea {
        width: 100%;
        padding: 18px;
        display: block;
    }

    table.form-wrap.recruit-people tr th {
        display: block;
        width: 100%;
        margin-bottom: 14px;
        font-weight: 700;
        margin-bottom: 20px;
        color: #22457a;
        font-size: 18px;
    }

    section.archive-interview__head.page-head {
        padding-top: 140px;
        padding-bottom: 80px;
    }

    .archive-interview__inner.w-1200 {
        padding-bottom: 120px;
    }

    .hamburger.is-active span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .hamburger.is-active span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    ul.interview-archive-list .interview-list_thumbnail {
        height: 90vw;
        border-radius: 10px 50px 10px 10px;
        overflow: hidden;
        position: relative;
        color: #fff;
    }

    ul.interview-archive-list li .interview-tag {
        font-size: 20px;
    }

    section.archive-interview__head.page-head h1 {
        text-align: center;
        font-size: 48px;
        font-weight: 700;
        color: #fff;
    }

    section.archive-interview__head.page-head .jp {
        text-align: center;
        font-size: 16px;
        font-weight: 400;
        display: block;
        margin-top: 14px;
        color: #fff;
    }

    ul.interview-archive-list li {
        width: 100%;
        position: relative;
        color: #fff;
        padding-left: 50px;
        margin-bottom: 40px;
    }

    ul.interview-archive-list li:nth-of-type(2n) {
        position: relative;
        top: 0;
    }

    .top-link-tab__inner ul li::before,
    .top-link-tab__inner ul li::before {
        clip-path: polygon(40px 0px, 100% 0px, calc(100% - 40px) 100%, 0px 100%);
    }

    .footer-entry__wrap h2 {
        letter-spacing: normal;
    }

    ul.column-list {
        margin-top: 40px;
        display: flex;
        justify-content: center;
        gap: 15px;
        flex-wrap: wrap;
    }

    ul.column-list li {
        width: calc(100% - 20px);
        padding-right: 20px;
    }

    ul.column-list li span.column-list__date {
        color: #22457a;
        transform: rotate(90deg) translateY(-90px);
        transform-origin: left top;
        font-size: 16px;
        position: absolute;
        right: 0;
        top: 0;
    }
    ul.job-list {
        margin-top: 40px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    ul.job-list li {
        width: calc(100% - 20px);
        padding-right: 20px;
    }

    ul.job-list li span.job-list__date {
        color: #22457a;
        transform: rotate(90deg) translateY(-90px);
        transform-origin: left top;
        font-size: 16px;
        position: absolute;
        right: 0;
        top: 0;
    }
    section.top-column {
        padding: 36px 0;
    }

    .column-list__tag {
        margin-bottom: 10px;
        color: #818181;
        display: block;
        font-weight: 400;
        line-height: 1;
        font-size: 14px;
    }

    .job-list__tag {
        margin-bottom: 10px;
        color: #818181;
        display: block;
        font-weight: 400;
        line-height: 1;
        font-size: 14px;
    }

    .column-list__cont h3 {
        font-size: 16px;
        line-height: 1.5;
        font-weight: 500;
    }

    .job-list__cont h3 {
        font-size: 16px;
        line-height: 1.5;
        font-weight: 500;
    }

    .column-list__thumbnail {
        width: 100%;
        height: 50vw;
        background: #ccc;
        margin-bottom: 18px;
    }

    section.top-link-tab {
        padding: 36px 0;
    }
    ul.top-job-list {
        margin-top: 40px;
        display: flex;
        justify-content: center;
        gap: 15px;
        flex-wrap: wrap;
    }

    .footer-entry__wrap ul li p {
        font-size: 16px;
    }

    ul.top-job-list li {
        width: 100%;
        margin-bottom: 12px;
    }

    ul.top-job-list li span.top-job-list__eng {
        color: #22457a;
        transform: rotate(90deg) translateY(-90px);
        transform-origin: left top;
        font-size: 16px;
        position: absolute;
        right: 0;
        top: 0;
    }

    .top-job-list__tag {
        margin-bottom: 14px;
        color: #818181;
        display: block;
        font-weight: 400;
        line-height: 1;
        font-size: 16px;
    }

    .top-job-list__cont h3 {
        font-size: 16px;
        line-height: 1.5;
        font-weight: 500;
    }

    .top-job-list__thumbnail {
        width: 100%;
        height: 50vw;
        background: #ccc;
        margin-bottom: 12px;
    }

    section.top-column h2 {
        font-size: 40px;
        color: #22457a;
    }

    ul.column-list {
        margin-top: 32px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    ul.job-list {
        margin-top: 32px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    section.top-job {
        padding: 36px 0;
    }

    ul.top-job-list {
        margin-top: 32px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    .interview-list_thumbnail {
        width: 100%;
        height: 90vw;
        border-radius: 10px 50px 10px 10px;
        overflow: hidden;
        position: relative;
    }

    .interview-slider {
        margin-top: 40px;
    }

    .interview-list-text-group .interview-list-year {
        display: block;
        margin-bottom: 14px;
        font-size: 16px;
    }

    .page-faq__cont__inner.w-1200 {
        flex-wrap: wrap;
    }

    .page-faq__nav {
        width: 100%;
        font-size: 20px;
        color: #949494;
    }

    .page-faq__cont__acordion {
        width: 100%;
    }

    .acordion-tab {
        padding: 24px 56px 24px 0;
        display: block;
        font-weight: 700;
        font-size: 14px;
        line-height: 2;
    }

    .acordion-answer {
        background-color: #f3f5f5;
        display: block;
        padding: 0 32px;
        margin-bottom: 6px;
        line-height: 2;
        font-size: 16px;
    }

    .acordion-answer.active {
        padding: 24px;
    }

    .acordion-tab::before,
    .acordion-tab::after {
        height: 2px;
    }

    .page-faq__cont__acordion h2 {
        font-size: 22px;
        margin-bottom: 32px;
        color: #22457a;
        font-weight: 700;
    }

    .page-faq__cont__acordion ul {
        margin-bottom: 32px;
    }

    section.column-archive {
        padding: 40px 0;
    }

    section.column-archive p {
        font-size: 14px;
        line-height: 2;
    }

    .separate-faq {
        height: 50vw;
        width: 100%;
    }

    .page-faq__nav {
        width: 100%;
        font-size: 20px;
        color: #949494;
        display: none;
    }

    section.page-faq__cont {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .page-faq__head .scroll-txt {
        position: absolute !important;
        top: auto !important;
        bottom: 0;
        left: 0;
        width: 100%;
        display: flex;
        font-size: 80px;
        white-space: nowrap;
    }

    .page-faq__head {
        padding-top: 140px;
        padding-bottom: 80px;
        position: relative;
        background-image: url(../images/faq/faq-bg.webp);
        background-size: cover;
        background-position: center;
    }

    .page-faq__head__inner h1 {
        text-align: center;
        font-size: 64px;
        display: block;
        color: #22457a;
        position: relative;
        z-index: 2;
    }

    .page-faq__head__inner .jp {
        text-align: center;
        font-size: 18px;
        font-weight: 400;
        display: block;
        color: #22457a;
        position: relative;
        z-index: 2;
        margin-top: 14px;
    }

    a.privacy-poricy {
        text-align: center;
        pointer-events: none;
    }

    p.copyright {
        margin-top: 40px;
        display: block;
        color: #a9a9a9;
        font-size: 12px;
    }

    .page-interview__head__inner h1 span {
        max-width: 100%;
        font-size: 18px;
        line-height: 1.4;
        background-color: #fff;
        display: block;
        width: max-content;
        padding: 8px 16px;
        font-weight: 700;
        margin-bottom: 8px;
    }

    .page-interview__head__inner h1 {
        margin-bottom: 20px;
        color: #22457a;
    }

    .page-interview__head {
        height: 640px;
        width: 100%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        position: relative;
    }

    .page-interview__head__textgroup {
        background-color: #22457a;
        padding: 25px;
        color: #fff;
        width: 100%;
    }

    .page-interview__head__textgroup p {
        font-size: 14px;
        margin-bottom: 14px;
        line-height: 2;
        font-weight: 400px;
    }

    .page-interview__head__textgroup span.post {
        font-size: 28px;
        font-weight: 700;
    }

    .page-interview01__inner.w-1200 {
        display: flex;
        justify-content: space-between;
        padding-top: 80px;
        padding-bottom: 80px;
        flex-wrap: wrap;
    }

    section.page-interview03,
    section.page-interview02 {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .page-interview01__left {
        width: 100%;
    }

    .page-interview01__right {
        width: 100%;
        height: auto;
    }

    .page-interview03__cont h2 {
        font-size: 24px;
        color: #b0893a;
        font-weight: 700;
        margin-bottom: 32px;
        display: flex;
        align-items: center;
        line-height: 1.6;
    }

    .page-interview02__cont h2 {
        font-size: 24px;
        color: #fff;
        font-weight: 700;
        margin-bottom: 32px;
        display: flex;
        align-items: center;
    }

    .page-interview02__cont p {
        font-size: 14px;
        line-height: 2;
        color: #fff;
    }

    .page-interview03__cont p {
        font-size: 14px;
        line-height: 2;
    }

    .page-interview01__left h2,
    .page-interview02__left h2,
    .page-interview03__left h2 {
        font-size: 20px;
        line-height: 1.6;
        font-weight: 700;
        margin-bottom: 20px;
    }

    .page-interview01__left>span,
    .page-interview02__left>span,
    .page-interview03__left>span {
        font-size: 20px;
        margin-bottom: 24px;
        display: block;
        font-weight: 700;
    }

    .page-interview01__left p,
    .page-interview02__left p,
    .page-interview03__left p {
        font-size: 14px;
        line-height: 2;
    }

    .page-interview_oneday__cont-left {
        width: 100%;
    }

    .page-interview_oneday__cont-right {
        width: 100%;
    }

    .page-interview_oneday__cont {
        flex-wrap: wrap;
    }

    section.page-interview_oneday {
        padding: 80px 0;
    }

    .page-interview_oneday__cont-left h2 {
        font-size: 64px;
        font-weight: 700;
        margin-bottom: 24px;
        text-align: center;
    }

    .page-interview_oneday__cont-left span {
        font-size: 16px;
        display: block;
        text-align: center;
    }

    .page-interview_oneday__cont-left {
        width: 100%;
        margin-bottom: 40px;
    }

    .page-interview_oneday__cont-right {
        width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    .oneday-pm {
        margin-left: 0;
    }

    .interview_message__inner__img {
        width: 100%;
        max-width: 900px;
        height: 60vw;
        position: relative;
        margin-bottom: 24px;
    }

    section.page-interview_message {
        padding: 120px 0 80px;
    }

    .page-interview_message .w-1200 p.message-main {
        font-size: 14px;
        line-height: 2;
    }

    .interview_message__inner__img h2 {
        font-size: 56px;
        font-weight: 700;
    }

    .interview-recomend h2 {
        font-size: 40px;
        margin-bottom: 32px;
    }

    ul.interview-recomend-list {
        display: flex;
        justify-content: center;
        gap: 15px;
        flex-wrap: wrap;
    }

    ul.interview-recomend-list li {
        width: 100%;
        margin-bottom: 32px;
    }

    ul.interview-recomend-list .interview-list-year {
        display: block;
        margin-bottom: 8px;
        font-size: 12px;
        color: #fff;
    }

    ul.interview-recomend-list .interview-tag {
        font-weight: 700;
        transform: none;
        transform-origin: left top;
        left: 0;
        display: block;
        position: relative;
        font-size: 24px;
        color: #fff;
        margin-bottom: 8px;
        letter-spacing: .02rem;
    }

    section.about__company-profile {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    section.page-about__logo {
        margin-top: 80px;
        margin-bottom: 80px;
    }

    section.recomend-interview {
        padding: 50px 0;
        background: #22457a;
    }

    .hamburger span {
        display: block;
        width: 20px;
        height: 1px;
        background-color: #fff;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

    .hamburger {
        width: 45px;
        height: 45px;
        background-color: #22457a;
        border-radius: 50%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        transition: background 0.3s ease;
        position: relative;
        margin-left: 14px;
    }
}

@media screen and (max-width:640px) {
    .pc {
        display: none;
    }

    .about__tablist__cont {
        flex-wrap: wrap;
        gap: 15px;
    }

    .about__tablist__cont li {
        width: 100%;
    }

    section.page-about__head.page-head h1 {
        color: #fff;
        font-size: 64px;
        text-align: center;
        font-weight: 700;
    }

    section.page-about__head.page-head h1 span {
        color: #fff;
        font-size: 16px;
        text-align: center;
        display: block;
        margin-top: 14px;
        font-family: "Noto Sans JP", serif;
    }

    section.page-about__head.page-head {
        padding-top: 140px;
        padding-bottom: 80px;
        background-image: url(../images/about/about-header-img-sp.webp);
        background-size: cover;
        background-position: center;
    }

    section.page-about__intro {
        padding: 36px 0;
        background: linear-gradient(90deg, #c5d4d8, #dfe6e6, #c1d3d7);
    }

    .page-about__intro__img {
        background-image: url(../images/about/about-intro-sp.webp);
        background-size: cover;
    }

    .page-about__intro__img img {
        display: none;
    }

    .list__wrap__welfare {
        flex-wrap: wrap;
        gap: 0;
    }

    h2.page-about__intro__txt {
        font-size: 28px;
        font-weight: 700;
        margin-bottom: 18px;
        line-height: 1.6;
        position: relative;
        z-index: 2;
        color: #22457a;
    }

    .section.top-link-tab {
        padding: 60px 0;
    }

    .welfare-page .about__tablist__cont li:first-of-type {
        margin-right: 0;
    }

    span.page-about__intro__eng.eng {
        position: absolute;
        right: 0;
        top: -5vw;
        z-index: 0;
        font-size: 20vw;
        color: hsla(0, 0%, 100%, 0.42);
    }

    .about__panellayout-cont {
        background: #22457aad;
        color: #fff;
        padding: 40px 20px;
        position: relative;
        z-index: 2;
    }

    .page-about__panellayout {
        margin-bottom: 30px;
    }

    .separate-welfare,
    .separate-welfare img {
        display: none;
    }

    .separate-welfare {
        margin-top: 100px;
    }

    .page-about__panellayout1 .page-about__panellayout__img {
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        left: 50%;
        height: calc(100% + 30px);
    }

    .page-about__panellayout2 .page-about__panellayout__img {
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        right: auto;
        height: calc(100% + 30px);
        left: 50%;
    }

    .page-about__logo__inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 20px;
    }

    .page-about__logo__inner img {
        width: 100%;
        height: 60vw;
        object-fit: cover;
        object-position: center;
    }

    h3.page-about__phylosophy__txt {
        color: #22457a;
        font-size: 20px;
        margin-bottom: 24px;
        line-height: 2;
        font-weight: 700;
    }

    section.page-about__phylosophy p.phylosophy__textarea {
        font-size: 14px;
        line-height: 2;
    }

    .page-about__intro__inner>p {
        font-size: 14px;
        line-height: 2;
    }

    h2.page-about__phylosophy__txt {
        color: #22457a;
        font-size: 48px;
        margin-bottom: 24px;
        font-weight: 700;
    }

    section.page-about__phylosophy {
        padding: 80px 0 0;
        position: relative;
    }

    .page-about__phylosophy__img {
        position: relative;
        top: 0;
        right: 0;
        width: 100%;
        height: auto;
        margin-bottom: 80px;
    }

    .page-about__phylosophy__inner.w-1200 {
        position: relative;
        padding-bottom: 0;
    }

    .about__panellayout-comment {
        font-size: 14px;
        line-height: 2;
    }

    .about__phylosophy2__img {
        width: 100%;
        height: auto;
    }

    .about__phylosophy2-list li {
        width: 100%;
        padding: 40px 20px;
        display: flex;
        justify-content: space-between;
        background-color: #fff;
        margin-bottom: 40px;
        gap: 20px;
        align-items: center;
        position: relative;
        flex-wrap: wrap;
    }

    .page-greeting__head__inner h2 {
        font-size: 40px;
        margin-bottom: 24px;
    }

    .about__phylosophy2__textarea {
        width: 100%;
    }

    section.page-about__phylosophy2 h2 {
        font-size: 64px;
        font-weight: 700;
        color: #fff;
    }

    p.about__phylosophy2__text {
        margin-top: 14px;
        font-size: 16px;
        color: #fff;
    }

    .page-greeting__head__inner.w-1200 {
        position: absolute;
        bottom: -20px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
    }

    .page-greeting__head__textgroup {
        background-color: #22457a;
        padding: 20px 32px;
        color: #fff;
    }

    .page-greeting__head__textgroup p {
        font-size: 16px;
        margin-bottom: 14px;
        line-height: 2;
        font-weight: 400px;
    }

    .page-greeting__comment__inner.w-1200 p.main-comment {
        line-height: 2;
        font-size: 14px;
        margin-bottom: 56px;
    }

    p.ceo-name {
        display: block;
        width: max-content;
        margin-left: auto;
        font-size: 16px;
        line-height: 2;
        text-align: right;
    }

    p.ceo-name img {
        width: 120px;
    }

    .page-greeting__head__inner h2 span {
        font-size: 20px;
        background-color: #fff;
        display: block;
        width: max-content;
        padding: 8px 12px;
        font-weight: 700;
        margin-bottom: 6px;
    }

    .page-greeting__head__inner h1 {
        font-size: 64px;
        margin-bottom: 0px;
        color: #fff;
        filter: none;
    }

    .page-greeting__head__inner .jp {
        font-size: 16px;
        display: block;
        width: max-content;
        margin-bottom: 24px;
        font-weight: 700;
        color: #fff;
        filter: none;
    }

    section.page-about__phylosophy2 {
        padding-top: 80px;
        padding-bottom: 20px;
        position: relative;
        background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
    }

    section.page-about__phylosophy2::before {
        z-index: 0;
        background-image: url(../images/about/about__phylosophy2__bg.webp);
        background-size: cover;
        background-position: center;
        top: 0;
        left: 0;
        width: 100%;
        height: 80vw;
        position: absolute;
        content: "";
    }

    .page-greeting__head__textgroup {
        background-color: #22457a;
        padding: 20px 32px;
        color: #fff;
        width: max-content;
    }

    .greeting__comment__decoration {
        text-align: center;
        width: max-content;
        position: absolute;
        font-weight: 700;
        top: -8px;
        line-height: 1;
        left: 50%;
        transform: translateX(-50%);
        font-size: 80px;
        background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .page-greeting__head {
        height: 750px;
        width: 100%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        position: relative;
    }

    .page-greeting__head__inner h2 span {
        font-size: 20px;
        background-color: #fff;
        display: block;
        width: max-content;
        padding: 8px 12px;
        font-weight: 700;
        margin-bottom: 6px;
    }

    section.page-greeting__comment {
        padding: 120px 0 120px;
        position: relative;
    }

    tr.company-table {
        width: 100%;
        display: flex;
        justify-content: space-between;
        border-bottom: 1px solid #ccc;
        flex-wrap: wrap;
    }

    .company-table__text {
        width: 100%;
        padding-top: 24px;
        padding-left: 0px;
        padding-bottom: 24px;
        font-size: 14px;
        line-height: 1.6;
    }

    .company-table__ttl {
        width: 100%;
        padding-top: 24px;
        padding-bottom: 24px;
        position: relative;
        text-align: left;
        font-size: 16px;
    }

    .company-profile__sub {
        font-size: 16px;
        margin-top: 14px;
        text-align: center;
        font-weight: 400;
        color: #22457a;
        margin-bottom: 32px;
    }

    section.about__company-profile h2.eng {
        font-size: 64px;
        text-align: center;
        font-weight: 700;
        color: #22457a;
    }

    .company-table__ttl::before {
        width: 100%;
        height: 2px;
        position: absolute;
        background-color: #b0893a;
        bottom: 0;
        left: 0;
        content: "";
        display: block;
    }

    .map-text {
        display: flex;
        align-items: center;
        margin-top: 40px;
        font-size: 14px;
    }

    .about-movie__inner ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .about-movie__inner ul li {
        width: 100%;
        margin-bottom: 24px;
    }

    .about-movie__inner ul li img {
        width: 100%;
        height: 50vw;
        object-fit: cover;
    }

    .about-movie__inner ul li iframe {
        width: 100%;
        height: 50vw;
        object-fit: cover;
    }

    .about-movie__inner ul li p {
        font-size: 24px;
        margin-bottom: 14px;
        font-weight: 700;
        color: #fff;
    }

    .about__panellayout-ttl {
        font-weight: 700;
        font-size: 20px;
        margin-bottom: 18px;
    }

    .about__panellayout-sub {
        font-size: 16px;
        font-weight: 400;
        margin-bottom: 14px;
    }

    .about__panellayout-tag {
        display: flex;
        font-size: 14px;
        margin-bottom: 24px;
        align-items: center;
        color: #b0893a;
    }

    .about__tablist__cont li a {
        display: block;
        color: #fff;
        padding: 18px 0;
        text-align: center;
        font-size: 16px;
    }

    section.page-about__tablist {
        padding: 40px 0;
    }

    .about__tablist__cont li:last-of-type {
        margin-bottom: 0 !important;
    }

    .about__phylosophy2__textarea h3 {
        line-height: 1.6;
        font-size: 20px;
        color: #22457a;
        font-weight: 700;
        margin-bottom: 16px;
    }

    .about__phylosophy2__textarea p {
        line-height: 2;
        font-size: 14px;
    }

    .about__phylosophy2__img {
        width: 100%;
        height: 50vw;
    }

    .page-entry__flow__inner h2 {
        flex-wrap: wrap;
        text-align: center;
    }

    .list__wrap__welfare div {
        width: 100%;
    }

    .list__wrap__welfare img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .list__wrap__welfare2 img {
        width: 100%;
        order: 2;
    }

    .list__wrap__welfare1 img {
        width: 100%;
        order: 2;
    }

    .list__wrap__welfare3 img {
        width: 100%;
        order: 2;
    }

    .list__wrap__welfare div h2 {
        font-size: 24px;
        display: flex;
        align-items: center;
        color: #22457a;
        margin-bottom: 12px;
    }

    .list__wrap__welfare div p {
        line-height: 2;
        font-size: 14px;
    }

    .list__wrap__welfare div h2 span {
        font-size: 64px;
        display: block;
        width: max-content;
        font-weight: 700;
        margin-right: 20px;
    }

    .list__wrap__welfare div {
        margin-bottom: 24px;
    }

    .section-list__wrap__welfare .scroll-txt {
        top: -20px !important;
    }

    section.section-list__wrap__welfare {
        padding-bottom: 120px;
        position: relative;
        padding-top: 80px;
    }

    .welfare-intro__inner.w-1200 h2.traning-ttl.eng {
        font-size: 64px;
        text-align: center;
    }

    .welfare-intro__inner.w-1200 .traning-ttl_sub {
        font-size: 16px;
        margin-top: 14px;
        font-weight: 400;
        color: #fff;
        text-align: center;
        margin-bottom: 40px;
    }

    .welfare-group div {
        width: calc(100%);
        max-width: 530px;
        padding: 32px 20px;
        background-color: #345e9f;
        color: #fff;
        margin-bottom: 24px;
    }

    .welfare-group div li {
        margin-bottom: 15px;
        font-size: 14px;
        line-height: 1.6;
    }

    .welfare-group div h3 {
        margin-bottom: 24px;
    }

    .traning-cont {
        background: #fff;
        margin-bottom: 32px;
        padding: 20px 20px;
    }

    .traning-cont h3 {
        font-size: 24px;
        color: #22457a;
        margin-bottom: 20px;
        font-weight: 700;
    }

    .traning-cont p {
        color: #3d3e41;
        font-size: 16px;
        line-height: 2;
    }

    section.page-job__head.page-head {
        padding-top: 140px;
        padding-bottom: 80px;
        background-image: url(../images/job/job-header-img.webp);
        background-size: cover;
        background-position: center;
    }

    .traning-ttl_sub {
        font-size: 16px;
        margin-top: 14px;
        font-weight: 400;
        color: #22457a;
        text-align: center;
        margin-bottom: 32px;
    }

    .treaning-intro-txt {
        line-height: 2;
        margin-bottom: 48px;
        font-size: 14px;
        text-align: left;
    }

    .section-traning__inner.w-1200 h2.traning-ttl {
        font-size: 64px;
        text-align: center;
        font-weight: 700;
        color: #22457a;
    }

    .traning-cont {
        background: #fff;
        margin-bottom: 32px;
        padding: 40px 20px;
    }

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

    ul.page-numbers__list li {
        width: 100%;
        margin-bottom: 40px;
    }

    ul.page-numbers__list li .page-numbers__cont__wrap {
        padding: 32px 20px;
        border-radius: 10px;
        filter: drop-shadow(0px 0px 29px #dee7ed);
    }

    .numbers-icon {
        width: 80px;
        height: 80px;
        margin: auto;
        margin-bottom: 14px;
    }

    ul.page-numbers__list li:nth-of-type(9) .numbers-icon {
        width: 250px;
    }

    ul.page-numbers__list li:nth-of-type(12) .numbers-icon {
        width: 200px;
        height: auto;
    }

    ul.page-numbers__list li:nth-of-type(13) .numbers-icon {
        width: 300px;
        height: auto;
        display: flex;
        justify-content: center;
        margin-bottom: 0;
    }

    ul.page-numbers__list li:nth-of-type(13) .numbers-icon img {
        width: 70%;
    }

    span.counter.jp {
        margin-top: 25px;
        font-size: 18px;
    }

    ul.page-numbers__list li p.hosoku {
        margin-top: 8px;
        font-size: 12px;
        color: #818181;
    }

    span.counter.eng {
        font-size: 64px;
        font-weight: 700;
        margin: auto;
        display: block;
        width: max-content;
    }

    .page-numbers__cont__inner {
        padding-bottom: 40px;
    }

    .page-numbers__cont__inner h2:nth-of-type(2),
    .page-numbers__cont__inner h2:nth-of-type(3) {
        margin-top: 40px;
    }

    .page-numbers__list li:nth-child(1) .numbers-icon,
    .page-numbers__list li:nth-child(4) .numbers-icon,
    .page-numbers__list li:nth-child(5) .numbers-icon,
    .page-numbers__list li:nth-child(7) .numbers-icon {
        width: 200px;
    }

    .page-numbers__list li:nth-child(1) .numbers-icon img,
    .page-numbers__list li:nth-child(4) .numbers-icon img,
    .page-numbers__list li:nth-child(5) .numbers-icon img,
    .page-numbers__list li:nth-child(7) .numbers-icon img {
        width: 100%;
    }

    .page-numbers__cont__inner h2 {
        font-size: 24px;
        margin-bottom: 24px;
        color: #22457a;
        font-weight: 700;
    }

    .page-numbers__head h1 {
        font-size: 64px;
        text-align: center;
        color: #22457a;
    }

    .page-numbers__head .jp {
        font-size: 16px;
        text-align: center;
        font-weight: 400;
        color: #22457a;
        display: block;
        margin-top: 14px;
    }

    .page-numbers__head {
        padding-top: 140px;
        padding-bottom: 80px;
        background-image: url(../images/numbers/number-bg.webp);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
    }

    section.page-job__head.page-head h1 {
        color: #fff;
        font-size: 40px;
        text-align: center;
        font-weight: 700;
    }

    section.page-job__head.page-head span.jp {
        color: #fff;
        font-size: 16px;
        text-align: center;
        display: block;
        margin-top: 14px;
        font-family: "Noto Sans JP", serif;
    }

    .recruit-type h2 {
        margin-top: 60px;
        font-size: 28px;
    }

    section.job-archive {
        padding-top: 0;
        padding-bottom: 30px;
    }

    .job-archive-lead {
        font-size: 14px;
        line-height: 1.6;
        margin-top: 20px;
    }
}


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

    .section-recruit__intro__inner div {
        width: 100%;
        z-index: 2;
        position: relative;
    }

    .section-recruit__intro__inner {
        flex-wrap: wrap;
    }

    .section-recruit__intro__inner div.txt {
        line-height: 2;
        font-size: 14px;
        margin-bottom: 24px;
    }

    section.section-recruit__intro {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    ul.newpeople-list li div:first-of-type,
    ul.recruit-list li div:first-of-type {
        width: 100%;
        padding-bottom: 0;
    }

    ul.newpeople-list li,
    ul.recruit-list li {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    ul.newpeople-list li div img,
    ul.recruit-list li div img {
        width: 100%;
        height: auto;
    }

    ul.newpeople-list li div span,
    ul.recruit-list li div span {
        display: block;
        font-size: 40px;
        font-weight: 700;
        color: #b0893a;
        margin-bottom: 24px;
        margin-top: 20px;
    }

    .section-wonted h3 {
        font-size: 22px;
        font-weight: 700;
        margin-bottom: 14px;
        color: #22457a;
        line-height: 1.5;
    }

    ul.newpeople-list li div,
    ul.recruit-list li div {
        width: 100%;
    }

    ul.newpeople-list {
        margin-bottom: 60px;
    }

    .section-recruit__intro__inner h3 {
        font-size: 22px;
    }

    .section-recruit__intro__inner div.photo img {
        height: 300px;
    }

    .page-recruit__head {
        height: 640px;
        width: 100%;
        background-image: url(../images/recruit/img-fv-sp.webp);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: right;
        position: relative;
    }

    section.section-traning {
        padding: 60px 0 100px 0;
    }

    section.welfare-intro {
        padding: 60px 0;
    }

    .section-wonted p.text {
        line-height: 2;
        font-size: 14px;
    }

    .welfare-group {
        gap: 20px;
    }

    ul.newpeople-list p.text {
        font-size: 14px;
        margin-bottom: 24px;
    }

    .section-wonted h2 {
        font-size: 32px;
        color: #22457a;
        font-weight: 700;
        margin-bottom: 32px;
    }

    ul.recruit-list {
        margin-top: 40px;
    }

    .section-wonted {
        background: linear-gradient(90deg, #f3f5f5, #dde6ed);
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .section-recruit__intro__inner p.txt {
        margin-top: 14px;
        font-weight: 400;
        margin-bottom: 0;
        font-size: 14px;
    }

    .page-greeting__head__textgroup {
        background-color: #22457a;
        padding: 20px 32px;
        color: #fff;
    }

    .section-wonted .scroll-txt {
        font-size: 80px !important;
    }

    .text-decorate_jpn {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        color: #22457a;
        font-size: 24px;
        width: 100%;
        text-align: center;
    }

    .text-decorate_eng.eng {
        font-size: 10vw;
        text-align: center;
        background: linear-gradient(90deg, #cbd7d9 30%, #c1d3d7 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        text-transform: uppercase;
        width: 100%;
        text-align: center;
        display: block;
    }

    h1.job-ttl {
        margin-bottom: 24px;
        position: relative;
    }

    section.job-content-intro {
        padding: 50px 0;
        background: linear-gradient(90deg, #f3f5f5 30%, #dde6ed 100%);
    }

    h2.content-works-ttl {
        font-size: 24px;
        font-weight: 700;
        position: relative;
        line-height: 1.5;
        margin-bottom: 24px;
        color: #22457a;
    }

    section.job-content-works {
        padding-top: 80px;
    }

    p.content-works-textarea {
        line-height: 2;
    }

    h2.mission-ttl {
        font-size: 24px;
        font-weight: 700;
        margin-bottom: 24px;
        color: #22457a;
    }

    h2.content-works-ttl span {
        position: absolute;
        right: 0;
        top: -20px;
        font-size: 50px;
        color: #dfe6e6;
        z-index: -1;
        opacity: .6;
    }

    h2.mission-ttl span {
        position: absolute;
        right: 0;
        top: -20px;
        font-size: 50px;
        color: #dfe6e6;
        z-index: -1;
        opacity: .6;
    }

    .content-works-wrap p {
        font-size: 14px;
    }

    .content-works-wrap:last-of-type {
        margin-bottom: 0;
    }

    table.content-works-table tr {
        flex-wrap: wrap;
    }

    table.content-works-table tr th {
        background-color: #f3f5f5;
        padding: 24px;
        width: 100%;
        display: block;
    }

    table.content-works-table tr td {
        padding: 24px 0;
        width: 100%;
        display: block;
        line-height: 2;
        font-size: 14px;
    }

    .p-mark,
    .iso-mark {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .p-mark {
        margin-bottom: 25px !;
    }

    td.company-table__text>span>p {
        width: 100%;
    }

    .toenter-area__inner.w-1200 {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 0;
    }

    section.toenter-area h2 {
        font-size: 40px;
        font-weight: 700;
    }

    section.toenter-area a {
        color: #fff;
        font-size: 16px;
        margin-top: 24px;
    }

    section.toenter-area .fv-column-btn span {
        background-color: #fff;
        color: #b0893a;
        display: flex;
        align-items: center;
        width: 34px;
        height: 34px;
    }

    section.toenter-area {
        background-color: #b0893b;
        padding: 40px 0;
        color: #fff;
    }

    .section-header__navi__logo {
        width: calc(50% - 40px);
        max-width: 330px;
        display: none;
    }

    .section-header__navi ul {
        width: 100%;
    }

    .section-header__navi a {
        color: #22457a;
        text-decoration: none;
        font-weight: bold;
        font-size: 24px;
        transition: color 0.3s;
        text-align: left;
        width: 100%;
        display: block;
        line-height: 2;
        text-align: center;
    }
}

@media screen and (max-width: 320px) {
    .section-header__logo {
        width: 155px;
    }

    a.header-entry-btn {
        font-size: 14px;
    }
    .hamburger {
        margin-left: 3px;
        width: 40px;
        height: 40px;
    }
}