@charset "UTF-8";

/* SP
----------------------------------------------------------*/
@media only screen and (max-width: 768px) {
    :root {
        /* ヘッダーの高さ */
        --header-height: 15.6250vw;
    }
	/* page */
    .wrapper {
        min-width: 0;
        overflow: visible;
    }
    /*** main ***/
    .main {
        margin-top: 0;
        /* margin-bottom: 45px; */
    }
    /* inner　デバイスのモニター幅に納めるコンテナ */
    .inner,
    .inner-m,
    .inner-l,
    .inner-s,
    .inner-xs,
    .inner-xxs {
        /*padding: 0 3%;  デバイスのモニター幅に納めるコンテナ */
        width: 100%;
        max-width: unset;
        padding: 0 5.208vw;
        box-sizing: border-box;
    }
    .cnt-bg-01 {
        padding: 15.625vw 0;
    }
    .cnt-bg-02 {
        padding: 13.021vw 0 19.531vw;
    }
    .mb-60{
        /*100px相当*/
        margin-bottom: 13.021vw;
    }
    .mb-80{
        /*600px相当*/
        margin-bottom: 7.813vw;
    }

    /*===パンくず===*/

    /*================
    タイトル・テキスト系
    ================*/
    /*===タイトル===*/
    .ttl-01 {
        font-size: 9.766vw;
        line-height: 1.25;
    }
    .ttl-02 {
        font-size: 7.031vw;
        line-height: 1.25;
        padding: 2.604vw 5.208vw;
    }
    .cnt-bg-01.type-02:has(.ttl-02) {
        min-height: 78.125vw;
    }
    .ttl-03,
    .ttl-07 {
        font-size: 5.469vw;
    }
    /*.ttl-04 ttl-05同様*/
    .ttl-04 {
        font-size: 6.25vw;
    }
    .ttl-05 {
        line-height: 1.5;
    }
    .ttl-06,
    .ttl-09 {
        font-size: 4.688vw;
    }
    .ttl-08 {
        font-size: 13.021vw;
    }
    .subttl-01:has(+ .ttl-08) {
        font-size: 3.906vw;
        margin-bottom: 2.604vw;
    }
    .ttl-10 {
        font-size: 7.292vw;
        line-height: 1.25;
    }
    .subttl-01 {
        font-size: 2.604vw;
        padding: 0.521vw 0.26vw 0.521vw;
        margin-bottom: 5.208vw;
    }

    /*===テキスト===*/
    .txt-01 {
        font-size: 4.688vw;
    }
    .txt-02 {
        font-size: 3.386vw;
        padding: 1.954vw 5.209vw;
    }
    .txt-03,
    .txt-05 {
        font-size: 3.125vw;
    }
    .txt-04,
    .txt-09,
    .txt-11 {
        font-size: 3.907vw;
    }
    .txt-06,
    .txt-07,
    .txt-10 {
        font-size: 3.386vw;
    }
    .txt-08 {
        font-size: 2.605vw;
    }

    /*================
    リスト
    ================*/
    /* 横並びリスト */
    .list-01>li {
        gap: 2.604vw;
        padding: 7.813vw 0;
        flex-direction: column;
    }
    .list-01>li .list-ttl {
        width: 100%;
    }
    .list-01>li .list-ttl .txt-03 {
        color: #555;
    }
    .list-01>li .list-ttl .txt-06 {
        font-weight: bold;
    }
    .list-01>li:has(.list-ttl > .txt-06) {
        flex-direction: row;
        padding: 5.208vw 0;
    }
    .list-01>li .list-ttl:has(.txt-06){
        width: 32.552vw;
        flex-shrink: 0;
    }
    .list-01>li .list-cnt>*+* {
        margin-top: 1.303vw;
    }

    .list-01.type-02>li:has(.list-ttl > .txt-06) {
        flex-direction: column;
        padding: 8.073vw 0;
        gap: 3.255vw 0;
    }
    .list-01.type-02>li .list-ttl{
        width: 100%;
    }

    /* 数字付きリスト */
    /* .list-02 {
        counter-reset: num;
    }
    .list-02>li {
        line-height: 1.5;
    }
    .list-02>li::before {
        counter-increment: num;
        content: counter(num) ". ";
    } */
    /*ドット*/
    /* .list-03 {
        list-style: disc;
        padding-left: 1.5em;
    }
    .list-03 li+li {
        margin-top: 0.5em;
    } */

    /*================
    テーブル
    ================*/
    .tbl-01 th,
    .tbl-01 td {
        padding: 3.907vw;
        border-width: 0.261vw;
    }
    .tbl-01 th {
        background: #F5FBFF;
    }
    .tbl-01 td {
        text-align: center;
    }

    /*================
    リンク・ボタン
    ================*/
    .btn-01 a {
        font-size: 3.385vw;
        border-radius: 0.781vw;
        padding: 3.06vw 13.672vw 3.06vw 5.208vw;
        min-width: 65.104vw;
    }
    .btn-01 .arrow2 {
        width: 4.557vw;
        right: 5.208vw;
    }
    /*強調*/
    .btn-01.type-02 a {
        font-size: 3.906vw;
        min-width: inherit;
        width: 100%;
        padding: 5.339vw 15.625vw 5.339vw 5.208vw;
    }
    /*画像＋文字付き*/
    .btn-02 a .img-cnt,
    .btn-02.type-02 a {
        border-radius: 0.651vw;
        /* min-width: 100%;
        min-height: 52.083vw; */
    }
    .btn-02 .arrow2 {
        width: 10.417vw;
        height: 10.417vw;
        bottom: 2.604vw;
        right: 2.604vw;
        border-width: 0.26vw;
    }
    .btn-02 .arrow2>svg {
        width: 6.51vw;
        height: 3.255vw;
    }
    .btn-02 .img-cnt + *{
        margin-top: 3.906vw;
    }
    .btn-02 a .img-cnt + .ttl-03{
        margin-top: 2.106vw;
    }
    .btn-02 a .img-cnt+.ttl-03 + .txt-03{
        margin-top: 2.604vw;
    }
    /*リンク*/
    .link-01 a .link-ex{
        width: 3.125vw;
        height: 3.125vw;
        margin-right: 1.302vw;
    }
    .link-01 a .arrow2{
        color: #105CED;
        width: 3.125vw;
        height: 1.563vw;
        display: inline-block;
        margin-right: 1.302vw;
    }
    /*ページ内リンク*/
    .nav-wrap-01 .inner-m {
        padding: 0;
    }
    .nav-wrap-01 .nav-link-01{
        justify-content: flex-start;
        padding: 0;
    }
    .nav-wrap-01 .nav-link-01 li,
    .nav-wrap-01 .nav-link-01 li:first-child {
        width: 50%;
        padding: 2.604vw 1vw;
        box-sizing: border-box;
        font-size: 3.385vw;
        border: none;
        border-bottom: 1px solid #B7BCC7;
    }
    .nav-wrap-01 .nav-link-01 li{
        flex: initial;
    }
    .nav-wrap-01 .nav-link-01 li a{
        width: 100%;
        /* padding: 3.255vw 0; */
        min-height: 10.417vw;
    }
    .nav-wrap-01 .nav-link-01 li:nth-child(odd) a{
        border-right: 1px solid #B7BCC7;
    }
    /*奇数処理*/
	.nav-wrap-01 .nav-link-01:has(li:nth-child(odd):last-child){
		border-bottom: 1px solid #B7BCC7;
	}
	.nav-wrap-01 .nav-link-01 li:nth-child(odd):last-child{
		border-bottom: none;
	}
    .nav-wrap-01 .nav-link-01 li .arrow-down {
        width: 3.906vw;
        height: 2.292vw;
        margin-left: 1.953vw;
    }
    /*他ページリンク*/
    .section-other {
        padding: 19.531vw 0 23.438vw;
        margin-top: 0;
    }
    .section-other .inner > .ttl-03{
        margin-bottom: 10.417vw;
    }
    .section-other .flex-wrap-01{
        flex-direction: column;
        gap: 11.521vw 0;
    }
    .section-other .flex-wrap-01 .flex-cnt-01{
        width: 100%;
    }
    .section-other .flex-cnt-01 .ttl-03{
        margin-top: 2.906vw;
    }
    .section-other .flex-cnt-01 .ttl-03 span{
        padding: 1vw;
    }
    .section-other .btn-02 a .img-cnt{
        height: 52.083vw;
    }
    .section-other .btn-01{
        margin: 10.417vw auto 0;
    }

    /*================
    横並び
    ================*/
    /*==gap60 2列==*/
    .flex-wrap-01 {
        gap: 15.625vw 5.209vw;
    }
    .flex-wrap-01 .flex-cnt-01 {
        width: calc((100% - 5.209vw * 1) / 2);
    }
    /*3列：SPは2列*/
    .flex-wrap-01.flex-3 .flex-cnt-01 {
        width: calc((100% - 5.209vw * 1) / 2);
    }
    /*==gap40 2列：SP時は1列==*/
    .flex-wrap-02 {
        gap: 5.209vw;
        flex-direction: column;
    }
    .flex-wrap-02 .flex-cnt-01 {
        width: 100%;
    }

    /*================
    メインビジュアル
    ================*/
    .mv-wrap-01{
        height: 52.083vw;
    }
    .mv-wrap-01::after{
        height: 100%;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, transparent 100%);
    }
    .mv-wrap-01 .ttl-wrap{
        margin: auto 0 5.208vw;
    }
    .mv-wrap-01 .ttl-wrap > .txt-04{
        margin: 5.208vw 0 1.302vw;
    }
    .mv-wrap-01 .ttl-wrap .txt-05{
        margin-left: 0;
    }
    /*type-02*/
    .mv-wrap-01.type-02{
        height: 162.24vw;
    }
    .mv-wrap-01.type-02::after{
        height: 100%;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, transparent 50%);
    }
    .mv-wrap-01.type-02 .ttl-wrap{
        margin: 10.417vw 0 0;
    }
    /*type-03*/
    .mv-wrap-01.type-03{
        height: 162.24vw;
    }
    .mv-wrap-01.type-03 .ttl-wrap{
        margin: 10.417vw 0 0;
    }
    .mv-wrap-01.type-03 .ttl-wrap .ttl-08 .ttl-bg{
        padding: 0.02vw 0;
    }

    /*================
    ヘッダー
    ================*/
    /*===外枠===*/
    .header_01 .header-group-inner {
        padding: 0;
    }
    .header-width {
        justify-content: start;
    }
    /*ロゴ*/
    .header-logo a {
        width: 41.797vw;
        max-width: inherit;
        min-width: inherit;
        padding-left: 5.208vw;
    }
    /*ハンバーガー・エントリー*/
    .core-parts.header_01 .sp-nav-btn {
        display: flex;
        margin-left: auto;
    }
    /*ハンバーガー*/
    .core-parts.header_01 .hglb-sp-btn {
        z-index: 101;
    }
    .core-parts.header_01 .hglb-sp-btn a {
        color: #fff;
        background-color: #102045;
        overflow: hidden;
        display: inline-flex;
    }
    .core-parts.header_01 .hglb-sp-btn a .sp-btn-svg {
        width: var(--header-height);
        height: var(--header-height);
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: 1.953vw 0;
    }
    .core-parts.header_01 .hglb-sp-btn a .close {
        display: none;
    }
    .core-parts.header_01 .hglb-sp-btn a .sp-btn-svg svg {
        width: 6.51vw;
        height: 4.557vw;
    }
    .core-parts.header_01 .hglb-sp-btn a .CLOSE svg {
        width: 5.208vw;
        height: 5.208vw;
    }
    .core-parts.header_01 .sp-btn-txt{
        font-size: 3.125vw;
        font-weight: bold;
        line-height: 1;
    }
    /*マイナビ*/
    .header-ex-btn{
        order: inherit;
        margin-left: 0;
    }
    .header-ex-btn a{
        color: #fff;
        font-size: 3.125vw;
        line-height: 1;
        padding: 2.865vw 1.953vw 6.51vw 2.083vw;
        width: var(--header-height);
        height: var(--header-height);
    }
    .header-ex-btn .link-ex{
        width: 3.255vw;
        height: 3.255vw;
        right: 50%;
        bottom: 2.214vw;
        transform: translateX(50%);
    }

    /*===メニュー===*/
    .core-parts.header_01 #sidr.right {
        right: -100%;
        background-color: rgba(255, 255, 255, 1);
    }
    .core-parts.header_01 #sidr,
    .core-parts.header_01.header-group .sidr {
        display: block;
        position: fixed;
        height: calc(100vh - var(--header-height));
        width: 100%;
        box-sizing: border-box;
        top: var(--header-height);
        border: none;
        z-index: 100;
        margin: 0;
        overflow: auto;
    }
    /*PC共通*/
    /*リンクとエントリー外枠*/
    .header-nav-wrap {
        padding: 7.813vw 5.208vw;
        box-sizing: border-box;
    }
    /*===リンク===*/
    .header-nav {
        display: block;
    }
    /*親子リンク共通*/
    .hglb02nv-item a {
        font-size: 4.167vw;
        padding: 0;
    }
    .hglb02-nav .hglb02nv-item {
        display: flex;
        box-sizing: border-box;
        width: 100%;
    }
    .hglb02-nav a:hover,
    .hglb02nv-item.is-active>a {
        /* color: #0A1C2B; */
        /* font-weight: inherit; */
        /* opacity: 1; */
        /* width: 50%; */
    }
    /*親メニュー*/
    /* .hglb02nv-item {
        position: relative;
    } */
    .hglb02nv-item>a {
        display: flex;
        justify-content: space-between;
    }
    /* .hglb02nv-item>a .arrow,
    .hglb02nv-item>a .plus {
        color: #fff;
        background-color: #004077;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 6.25vw;
        height: 6.25vw;
        border-radius: 50%;
    } */
    /* .hglb02nv-item>a span svg {
        color: #fff;
        width: 2.344vw;
        height: 2.344vw;
    } */
    /* .hglb02nv-item.item-02>a {
        pointer-events: none;
        padding-left: 0;
    } */
    /*小メニュー*/
    .hglb02nv-item .hglb02nv-child {
        /* ドロワー式
        display: none;
         */
    }
    .hglb02nv-item.is-active .hglb02nv-child {
        display: block;
    }
    .hglb02nv-item .hglb02nv-child-wrap {
        /*ドロワー式
        position: static;
        opacity: 0;
        visibility: hidden;
        transition: .5s;
        background-color: inherit;
        width: 100%;
        padding: 0;
        transform: none;
        height: 0;
        */
        /* SP常時表示 */
        position: static;
        z-index: inherit;
        opacity: 1;
        visibility: visible;
        box-shadow: none;
        padding: 0;
        width: 100%;
        transform: none;
        padding: 5.208vw 0 10.417vw;
    }
    .hglb02nv-item.is-active .hglb02nv-child-wrap {
        /* ドロワー式
        margin-top: 3.906vw;
        opacity: 1;
        visibility: visible;
        height: inherit;
         */
    }
    .hglb02nv-item .hglb02nv-child-wrap .hglb02nv-child-link {
        font-size: 3.646vw;
        font-weight: normal;
        width: 100%;
    }
    .hglb02nv-child-item:not(:last-child) {
        margin-bottom: 3.906vw;
    }
    .hglb02nv-item .hglb02nv-child-wrap .arrow {
        width: 3.646vw;
        margin-top: 1.763vw;
    }
    .hglb02nv-item .hglb02nv-child-wrap .arrow svg path {
        fill: #105CED;
    }

    /*================
    フッター
    ================*/
    /*===フッターリクルート部分===*/
    .footer-recruit{
        background: url('/recruit/common/imgs/foot_rec_bg_sp.jpg')no-repeat center/cover;
        padding: 19.531vw 0 23.438vw;
    }
    .footer-recruit .ttl-01{
        margin-bottom: 15.625vw;
    }
    .footer-recruit .footer-recruit-link{
        max-width: unset;
        width: 89.583vw;
        flex-direction: column;
        gap: 5.208vw 0;
    }
    .footer-recruit .footer-recruit-link .btn-01 a{
        min-width: unset;
        width: 100%;
    }
    .footer-recruit .footer-recruit-link .btn-01:last-child a{
        padding: 3.906vw;
    }
    .footer-recruit .footer-recruit-link .btn-01:last-child a img{
        width: 62.891vw;
    }
    .footer-recruit .footer-recruit-link .btn-01.bg-02{
        order: 3;
        margin-top: 19.531vw;
    }

    /*===フッターメイン部分===*/
    .footer-global-1 {
        background: #F5FBFF;
        padding: 10.417vw 0;
    }
    .footer-global-1 .fglb01-inner {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0;
    }
    /*左カラム*/
    .footer-global-1 .fglb01-01-inner {
        display: block;
        width: 80.729vw;
    }
    .footer-global-1 .fglb01-01-inner img {
        width: 100%;
    }

    /*===最下部===*/
    .footer_01 .footer-global-03 {
        font-size: 3.125vw;
    }
    .footer_01 .footer-global-03 .fglb03-inner {
        /* padding: 10px 0 14px; */
        /* display: flex;
        justify-content: space-between;
        align-items: center; */
    }
    .footer_01 .footer-global-03 .fglb03-inner .ft-list-01 {
        padding: 5.208vw;
        flex-direction: column;
        align-items: center;
        gap: 1.953vw 0;
    }
    .footer_01 .footer-global-03 .fglb03-inner .ft-list-01 li {
        border-right: 1px solid #102045;
        border-left: 1px solid #102045;
        padding: 0 4.427vw;
    }
    .footer_01 .footer-global-03 .fglb03-inner .footer-copy {
        color: #fff;
        font-size: 3.125vw;
        line-height: 1.25;
        padding: 2.604vw 5.208vw;
    }

}
