@charset "UTF-8";

/* noto-sans-jp-regular - japanese_latin */
@font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/noto-sans-jp-v55-japanese_latin-regular.woff2') format('woff2');
  }
  /* noto-sans-jp-500 - japanese_latin */
  @font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/noto-sans-jp-v55-japanese_latin-500.woff2') format('woff2');
  }
  /* noto-sans-jp-600 - japanese_latin */
  @font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/noto-sans-jp-v55-japanese_latin-600.woff2') format('woff2');
  }
  /* noto-sans-jp-700 - japanese_latin */
  @font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/noto-sans-jp-v55-japanese_latin-700.woff2') format('woff2');
  }
  /* noto-sans-jp-800 - japanese_latin */
  @font-face {
    font-display: swap;
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 800;
    src: url('../fonts/noto-sans-jp-v55-japanese_latin-800.woff2') format('woff2');
  }
/* ================================================
===================================================
===================================================
Base
===================================================
===================================================
================================================ */
body{-webkit-text-size-adjust: 100%;color: #292929;font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;padding: 0;height: auto;font-size: 16px;}
img {width: 100%;}
body * {
  box-sizing : border-box;
}
/*++++++++++++++++++++++++++
	Link : Img
++++++++++++++++++++++++++*/
/*  PC  */
@media screen and (min-width: 641px){a:hover img {filter: alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}a:hover{filter: alpha(opacity=75);-moz-opacity:0.75;opacity:0.75;}
/* hover */.hover,a.hover{text-decoration:none ;-webkit-transition: background-color 0.4s linear;-moz-transition: background-color 0.4s linear;-o-transition: background-color 0.4s linear;transition: background-color 0.4s linear;filter: alpha(opacity=100);-moz-opacity:1;opacity:1;}}
dl,dt,dd,ul,ol,li{margin: 0px;padding: 0px;list-style:none;}
/*++++++++++++++++++++++++++
	汎用クラス
++++++++++++++++++++++++++*/
td {text-align: left;}
th {font-weight: normal;text-align: center;}
section {clear: both;margin: 0;padding: 0;}
/* ================================================
===================================================
===================================================
Base end
===================================================
===================================================
================================================ */

/* ================================================
===================================================
===================================================
reset
===================================================
===================================================
================================================ */
/* 
	html5doctor.com Reset Stylesheet
	v1.6.1
	Last Updated: 2010-09-17
	Author: Richard Clark - http://richclarkdesign.com 
	Twitter: @rich_clark
*/
 
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tfoot, thead, 
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {padding: 0;border: 0;outline: 0;font-size: 100%;vertical-align: baseline;margin: 0;font-style: normal;}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {display:block;}
nav ul {list-style:none;padding:0 ;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after {content:'';content:none;}
.clear_both {clear: both;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
h1, h2, h3, h4, h5, h6 {font-size:100%;font-weight:normal;}
address{font-style:normal ;}
/* ================================================
===================================================
===================================================
reset end
===================================================
===================================================
================================================ */

/*++++++++++++++++++++++++++
	背景
++++++++++++++++++++++++++*/
html{
    scroll-padding-top: 30px;
}
.wrapper {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "游ゴシック", "Yu Gothic", "メイリオ", "sans-serif";
    max-width: 500px;
    width: 90%;
    margin: auto;
}
body{
    background-color: #008BD6;
    color: #171717;
    font-size: 16px;
    font-weight:400;
    line-height: 1.7em;
    position: relative;
    overflow-x: hidden;
}
img{
    vertical-align: bottom;
    width: 100%;
    height: 100%;
}
body a:hover{
    opacity: 1;
}
body a:hover img{
    opacity: 1;
}

main, footer{
    max-width: 500px;
    width: 100%;
    margin-left: auto;
    margin-right: 20%;
}
@media only screen and (max-width: 1250px) {
    main, footer{
        margin: auto;
    }
}
/*++++++++++++++++++++++++++
	ボタン
++++++++++++++++++++++++++*/

a{text-decoration:none; color:#171717;}
a:link{text-decoration:none; color:#171717;}
a:visited{text-decoration:none; color:#171717;}
a:hover{text-decoration:none; color:#171717;}
a:active {text-decoration:none; color:#171717;}

/*++++++++++++++++++++++++++
	共通コンテンツ
++++++++++++++++++++++++++*/
.sp{
    display: none;
}
.pc{
    display:block;
}
@media only screen and (max-width: 500px) {
.sp{
     display: block;
}
.pc{
     display: none;
}
}
/*++++++++++++++++++++++++++
背景 / PCメニュー
++++++++++++++++++++++++++*/
.background{
    font-family: "Noto Sans JP";
    & .back{
        position: fixed;
        top: 0;
        right: 0;
        z-index: -1;
    }
    & .back img{
        width: calc(100vw - 450px);
        height: 100dvh;
        object-fit: cover;
    }
    & .conts_left{
        position: fixed;
        top:0;
        left: 0;
        z-index: 1;
    }
    & .conts_left .pc-menu{
        width: 450px;
        height: 100vh;
        background-color: #fff;
        overflow-y: scroll;
        /* Chrome, Safari, Edge, Opera用 */
        &::-webkit-scrollbar {
              display: none;
        }
        /* Firefox用 */
        scrollbar-width: none;
        /* IE, 旧Edge用 */
        -ms-overflow-style: none;
    }
    & .conts_left .pc-menu .inr{
        padding: 70px 70px 10px;
    }
    & .conts_left .pc-menu h1{
        width: 100%;
    }
    & .conts_left .pc-menu nav{
        margin: 30px 0;
    }
    & .conts_left .pc-menu nav li{
        margin-bottom: 40px;
    }
    & .conts_left .pc-menu nav li p{
        font-size: 18px;
        font-weight: 600;
        color: #555555;
        letter-spacing: 0.1em;
        position: relative;
        margin-left: 35px;
        transition: color 0.4s cubic-bezier(0.8, 0, 0.2, 1);
        line-height: 26px;
    }
    & .conts_left .pc-menu nav li p::before{
        position: absolute;
        top: 3px;
        left: -35px;
        content: '';
        width: 18px;
        height: 18px;
        border: solid 1px #171717;
        border-radius: 100px;
    }
    & .conts_left .pc-menu nav a p:hover,
     .conts_left .pc-menu nav a.js-nav-link.active p{
        color: #171717;
    }
    & .conts_left .pc-menu nav a.js-nav-link p::after{
        position: absolute;
        top: 7px;
        left: -31.5px;
        content: '';
        width: 10px;
        height: 10px;
        background-color: #fff;
        border: solid 1px #fff;
        border-radius: 100px;
        transition: all 0.4s cubic-bezier(0.8, 0, 0.2, 1);
    }
    & .conts_left .pc-menu nav a.js-nav-link.active p::after{
        background-color: #008BD6;
        border: solid 1px #171717;
    }
    & .conts_left .pc-menu .pagelink .blk{
        margin-bottom: 25px;
    }
    & .conts_left .pc-menu .pagelink .blk p{
        font-size: 18px;
        font-weight: 600;
        line-height: 1.6em;
        margin-bottom: 8px;
    }
    & .conts_left .pc-menu .pagelink .blk a .mynavi,
    .conts_left .pc-menu .pagelink .blk a .corp{
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
        width: 100%;
        border-radius: 7px;
        background-color: #fff;
        transition: box-shadow .3s;
    }
    & .conts_left .pc-menu .pagelink .blk a .corp{
        background-color: #FCD100;
    }
    & .conts_left .pc-menu .pagelink .blk a:hover .mynavi,
    .conts_left .pc-menu .pagelink .blk a:hover .corp{
        box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
    }
    & .conts_left .pc-menu .pagelink .blk a .mynavi .btninr,
    .conts_left .pc-menu .pagelink .blk a .corp .btninr{
        border-radius: 7px;
        overflow: hidden;
        text-align: center;
    }
    & .conts_left .pc-menu .pagelink .blk a .mynavi .btninr img{
        width: 80%;
        margin: 5px auto;
    }
    & .conts_left .pc-menu .pagelink .blk a .corp .btninr .linktxt{
        font-size: 20px;
        font-weight: 600;
        line-height: 1.5em;
        margin: 14px 0 10px;
    }
    & .conts_left .pc-menu .pagelink .blk a .corp .btninr .linktxt span{
        display: block;
        font-size: 0.75em;
        font-weight: 500;
    }
}

@media only screen and (max-width: 1250px) {
    .background{
        & .back img{
            width: 100vw;
        }
        & .conts_left .pc-menu{
            display: none;
        }
    }
}
/*++++++++++++++++++++++++++
フッター固定メニュー
++++++++++++++++++++++++++*/
.fixed-menu{
    position: fixed;
    bottom: 0;
    right: 20%;
    z-index: 90;
    max-width: 500px;
    width: 100%;
    & .inr{
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
        width: 100%;
        border-radius: 20px 20px 0 0;
        background-color: #fff;
    }
    & ul{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        padding: 13px 20px;
    }
    & ul li{
        width: 48%;
    }
    & ul li .btn{
        background-color: #008BD6;
        border-radius: 100px;
        transition: background-color .3s;
    }
    & ul li:last-child .btn{
        background-color: #0262C2;
    }
    & ul li .btn p{
        text-align: center;
        font-size: clamp(18px, 2.8vw, 20px);
        font-weight: 700;
        color: #fff;
        padding: 10px 5px;
    }
    & ul li .btn p::before{
        content: '';
        display: inline-block;
        background-image: url(../images/ico_summary.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        width: 1.2em;
        height: 1.2em;
        margin-bottom: -0.2em;
        margin-right: 0.3em;
    }
    & ul li:last-child .btn p::before{
        background-image: url(../images/ico_entry.svg);
    }
}
@media only screen and (max-width: 1250px) {
    .fixed-menu{
        right: 0;
        left: 0;
        margin: auto;
    }
}
/*++++++++++++++++++++++++++
メインビジュアル
++++++++++++++++++++++++++*/
#top .mainvisual{
    background-image: linear-gradient(0deg, #008bd6, transparent 20%);
    position: relative;
    padding: 140px 0 20px;
    & .person{
        position: relative;
        z-index: 2;
    }
    & .logo{
        position: absolute;
        top: 25px;
        left: -8%;
        z-index: 1;
    }
    & .logo figure{
        width: 108%;
    }
    & .text{
        position: absolute;
        /* top: calc(100dvh - 22%); */
        bottom: 20%;
        left: -4%;
        z-index: 3;
    }
    & .text figure{
        width: 112%;
    }
}
@media only screen and (max-width: 650px) {
    #top .mainvisual{
        padding: 170px 0 20px;
        & .logo{
            top: 60px;
            left: 5%;
        }
        & .logo figure{
            width: 95%;
        }
        & .text{
            bottom: 24%;
            left: 8%;
        }
        & .text figure{
            width: 92%;
        }
    }
}
@media only screen and (max-width: 500px) {
    #top .mainvisual{
        padding: 35% 0 20px;
        overflow: hidden;
        background-image: none;
        & .person figure{
            margin-left: -12%;
            width: 124%;
        }
        & .logo{
            top: 5%;
        }
        & .text{
            bottom: 28%;
            /* top: calc(100dvh - 17%); */
        }
    }
}
/*++++++++++++++++++++++++++
caption
++++++++++++++++++++++++++*/
#top .caption{
    padding: 60px 0;
    background-color: #008BD6;
    & .txt-box h3{
        font-size: 24px;
        font-weight: 500;
        line-height: 2.2em;
        color: #fff;
        margin-bottom: 60px;
    }
    & .strengths{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    & .strengths > *{
        width: 49%;
    }
}
@media only screen and (max-width: 500px) {
    #top .caption{
        margin-top: -40%;
        position: relative;
        z-index: 2;
    }
}
/*++++++++++++++++++++++++++
about
++++++++++++++++++++++++++*/
hgroup{
    margin-bottom: 30px;
    & .entxt{
        font-size: 16px;
        font-weight: 400;
        color: #008BD6;
        line-height: 1.4em;
        margin-bottom: 10px;
    }
    & h2{
        font-size: 35px;
        font-weight: 700;
        line-height: 1.5em;
        letter-spacing: 0.05em;
    }
}
#about{
    padding: 80px 0 50px;
    background-color: #fff;
    position: relative;
    & .illust{
        position: absolute;
        top: 20px;
        right: -20px;
        max-width: 200px;
        width: 100%;
    }
    & .business{
        padding-top: 60px;
    }
    & h4.about-midashi{
        font-size: 30px;
        font-weight: 600;
        align-items: center;
        display: flex;
    }
    & h4.about-midashi::before,
    h4.about-midashi::after {
        background-color: #171717;
        content: "";
        flex-grow: 1;
        height: 2px;
    }
    & h4.about-midashi::before{
        margin-right: 18px;
    }
    & h4.about-midashi::after{
        margin-left: 18px;
    }
    & .business .type .conts{
        margin-top: 20px;
        background-color: #FCD062;
        border: solid 2px #171717;
        border-radius: 100px;
        box-sizing: border-box;
    }
    & .business .type .conts:first-child{
        margin-top: 30px;
    }
    & .business .type .conts h6{
        font-size: 18px;
        text-align: center;
        font-weight: 500;
        padding: 12px 5px;
    }
    & .jobtype{
        padding-top: 70px;
    }
    & .jobtype h4.about-midashi{
        margin-bottom: 25px;
    }
    & .jobtype p.txt1{
        font-size: 16px;
        line-height: 1.6em;
        margin-bottom: 25px;
    }
}
@media only screen and (max-width: 650px) {
    #about{
        overflow: hidden;
        & .illust{
            right: -5%;
            width: 40%;
        }
    }
}
@media only screen and (max-width: 400px) {
    #about{
        & .illust{
            display: none;
        }
        & .business{
            padding-top: 30px;
        }
    }
}


/* アコーディオン共通 */
.accordion {
    margin: 0 auto;
    & .ac-item {
        border: 2px solid #171717;
        margin-top: 25px;
    }
    & .ac-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px 20px;
        cursor: pointer;
        position: relative;
        z-index: 2;
    }
    & .ac-icon {
        width: 32px;
        height: 32px;
        border-radius: 100px;
        position: relative;
        flex-shrink: 0;
        background: #171717;
    }
    & .ac-icon span {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-color: #fff;
        transition: transform 0.3s ease;
    }
    & .ac-icon span:nth-of-type(1) {
        width: 14px;
        height: 2px;
    }
    & .ac-icon span:nth-of-type(2) {
        width: 2px;
        height: 14px;
    }
    & .ac-header.open .ac-icon span:nth-of-type(2) {
        transform: translate(-50%, -50%) rotate(90deg);
    }
    & .ac-content {
        display: none;
    }
    & .ac-inner {
        padding: 15px 20px 20px;
    }
    
}
/* 事業内容（アコーディオン）*/
.accordion.jigyo{
    & .ac-item {
        background-color: #FEFBD1;
        border-radius: 7px;
        position: relative;
    }
    & .ac-item::before {
        content: "";
        position: absolute;
        top: 26px;
        left: -9px;
        width: 12px;
        height: 12px;
        background-color: #FEFBD1;
        border-left: 2px solid #171717;
        border-bottom: 2px solid #171717;
        transform: rotate(45deg);
    }
    & .ac-item:nth-child(even):before{
        left: inherit;
        right: -9px;
        transform: rotate(-135deg);
    }
    & h4 {
        font-size: 25px;
        font-weight: 700;
        line-height: 1.5em;
        color: #171717;
        margin: 0;
    }
    & .ac-inner p.txt{
        font-size: 16px;
        line-height: 1.6em;
    }
    & .ac-inner .pickup{
        margin: 20px auto 15px;
    }
    & .ac-inner .pickup .ashirai{
        font-size: 16px;
        line-height: 1.4em;
        justify-content: center;
        align-items: center;
        display: flex;
        margin-bottom: 5px;
    }
    & .ac-inner .pickup .ashirai::before,
    .ac-inner .pickup .ashirai::after{
        content: '';
        width: 1px;
        height: 15px;
        background-color: #171717;
        margin-bottom: -5px;
    }
    & .ac-inner .pickup .ashirai::before{
        margin-right: 15px;
        transform: rotate(-30deg);
    }
    & .ac-inner .pickup .ashirai::after{
        margin-left: 15px;
        transform: rotate(30deg);
    }
    & .ac-inner .pickup .komidashi{
        font-size: 16px;
        font-weight: 700;
        line-height: 1.5em;
        text-align: center;
        color: #fff;
        padding: 8px 4px;
        background-color: #171717;
        border-radius: 100px;
    }
    & .ac-inner .development .blk:not(:last-child){
        position: relative;
        margin-bottom: 65px;
    }
    & .ac-inner .development .blk:not(:last-child)::before{
        content: '';
        position: absolute;
        bottom: -63px;
        left: 0;
        right: 0;
        margin: auto;
        box-sizing: border-box;
        width: 16px;
        height: 10px;
        border: 16px solid transparent;
        border-left: 16px solid #171717;
        transform: rotate(90deg);
    }
    & .ac-inner .development .blk:not(:last-child)::after{
        content: '';
        position: absolute;
        bottom: -35px;
        left: 0;
        right: 0;
        margin: auto;
        width: 16px;
        height: 16px;
        background-color: #171717;
    }
    & .ac-inner .development .blk .flx-box{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    & .ac-inner .development .blk .flx-box .left{
        width: 45%;
    }
    & .ac-inner .development .blk .flx-box .right{
        width: 50%;
    }
    & .ac-inner .development .blk .dev-title{
        font-size: 18px;
        font-weight: 700;
        line-height: 1.5em;
        margin-bottom: 8px;
    }
    & .ac-inner .development .blk .dev-title span{
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 24px;
        height: 24px;
        background-color: #171717;
        color: #fff;
        border-radius: 3px;
        font-size: 14px;
        font-weight: bold;
        margin-right: 8px;
        margin-bottom: 3px;
        vertical-align: middle;
        line-height: 1;
    }
    & .ac-inner .development .blk figure.size-min{
        width: 80%;
        margin: auto;
    }
    & .ac-inner .development .blk figure.size-min2{
        width: 70%;
        margin: auto;
    }
    & .ac-inner .development .blk .mgn-b10{
        margin-bottom: 10px;
    }
}
/* 職種紹介（アコーディオン）*/
.accordion.syokusyu{
    & .ac-item {
        background-color: #0074BE;
        border-radius: 7px;
    }
    & .ac-item:nth-child(2) {
        background-color: #DF2531;
    }
    & .ac-item:nth-child(3) {
        background-color: #FBE951;
    }
    & .ac-content {
        border-top: 2px solid #171717;
        background-color: #D9F1FC;
        border-radius: 0 0 5px 5px;
    }
    & .ac-item:nth-child(2) .ac-content {
        background-color: #FCE2DA;
    }
    & .ac-item:nth-child(3) .ac-content {
        background-color: #FFFBCA;
    }
    & h4 {
        font-size: 20px;
        font-weight: 700;
        line-height: 1.5em;
        color: #fff;
        margin: 0;
        text-align: center;
        width: 100%;
    }
    & .ac-item:nth-child(3) h4{
        color: #171717;
    }
    & h4 span{
        font-size: 0.8em;
    }
    & .ac-inner .occupation:not(:last-child){
        margin-bottom: 20px;
    }
    & .ac-inner .occupation .jobtitle{
        font-size: 18px;
        font-weight: 700;
        line-height: 1.5em;
        margin-bottom: 5px;
    }
    & .ac-inner .occupation .jobtitle span{
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 28px;
        height: 28px;
        background-color: #008BD6;
        color: #fff;
        border: solid 1px #171717;
        border-radius: 100px;
        font-size: 14px;
        font-weight: 800;
        margin-right: 8px;
        margin-bottom: 3px;
        vertical-align: middle;
        line-height: 1;
    }
    & .ac-item:nth-child(2) .ac-inner .occupation .jobtitle span{
        background-color: #DF2531;
    }
    & .ac-item:nth-child(3) .ac-inner .occupation .jobtitle span{
        background-color: #FBE951;
        color: #171717;
    }
    & .ac-inner p.txt{
        font-size: 16px;
        line-height: 1.6em;
    }
}
/* 福利厚生（アコーディオン）*/
.accordion.fukuri{
    & .ac-item {
        background-color: #fff;
    }
    & .ac-number{
        position: absolute;
        top: 0;
        left: 0;
        width: 60px;
        height: 100%;
        background-color: #DF2531;
        border-right: solid 2px #171717;
        border-bottom: solid 2px #171717;
        box-sizing: content-box;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        font-weight: 600;
        text-align: center;
        color: #fff;
    }
    & h4 {
        font-size: 25px;
        font-weight: 700;
        line-height: 1.5em;
        margin-left: 60px;
    }
    & .ac-inner p.txt{
        font-size: 16px;
        line-height: 1.6em;
    }
}
/*++++++++++++++++++++++++++
interview
++++++++++++++++++++++++++*/
#interview{
    background-color: #008BD6;
    padding: 60px 0;
    & hgroup{
        & .entxt{
            color: #fff;
        }
        & h2{
            color: #fff;
        }
    }
    /*ポップアップ内デザイン*/
    & .employee-list{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    & .employee-list > *{
        width: 47%;
        margin-bottom: 35px;
    }
    & .employee-list .employee-item .post{
        font-size: 15px;
        font-weight: 600;
        line-height: 1.6em;
        text-align: center;
        color: #fff;
        padding: 7px;
        background-color: #171717;
        border-radius: 100px;
        margin-top: 15px;
    }
    & .popup-body figure.mainimg{
        width: 100%;
    }
    & .popup-body .inr{
        padding: 30px 15px 10px;
    }
    & .popup-body .conts-inr{
        padding: 0 15px;
    }
    & .popup-body .inr .inte-main{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    & .popup-body .inr .inte-main .left{
        width: 110px;
    }
    & .popup-body .inr .inte-main .right{
        width: calc(100% - 150px);
    }
    & .popup-body .inr .inte-main .number{
        font-size: 14px;
        text-align: center;
        font-weight: 700;
        line-height: 2.6em;
    }
    & .popup-body .inr .inte-main .number span{
        display: block;
        font-size: 65px;
        letter-spacing: 0.05em;
    }
    & .popup-body .inr .inte-main .post{
        display: inline-block;
        min-width: 200px;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.6em;
        text-align: center;
        color: #fff;
        padding: 7px 10px;
        background-color: #171717;
        border-radius: 100px;
    }
    & .popup-body .inr .inte-main .name{
        font-size: 18px;
        font-weight: 600;
        line-height: 1.5em;
        margin-top: 12px;
    }
    & .popup-body .inte-blk{
        margin-top: 50px;
    }
    & .popup-body .inte-blk .komidashi{
        font-size: 18px;
        font-weight: 600;
        margin-bottom: 15px;
        border-left: solid 4px #41994F;
        padding: 3px 0 3px 10px;
    }
    & .popup-container[data-theme="orange"] .komidashi {
        border-color: #E36536; 
    }
    & .popup-container[data-theme="blue"] .komidashi {
        border-color: #00A9D1;
    }
    & .popup-container[data-theme="pink"] .komidashi {
        border-color: #E2658B; 
    }
    & .popup-container[data-theme="purple"] .komidashi {
        border-color: #925BA2;
    }
    & .popup-container[data-theme="yellow"] .komidashi {
        border-color: #FDD002; 
    }
    & .popup-body .inte-blk p{
        font-size: 16px;
        line-height: 1.6em;
    }
    & .popup-body .photo{
        margin-top: 35px;
    }
    & .popup-body .schedule{
        margin-top: 60px;
        padding-bottom: 20px;
    }
    & .popup-body .schedule h5{
        background-color: #FFC44B;
        padding: 12px 0;
        font-size: clamp(18px, 3em, 24px);
        font-weight: 500;
        letter-spacing: 0.2em;
        text-align: center;
        line-height: 1.3em;
        margin-bottom: 20px;
    }
    & .popup-body .schedule ul {
        list-style: none;
        padding: 0 15px;
        margin: 0;
    }
    & .popup-body .schedule .item {
        display: flex;
        position: relative;
        padding-bottom: 20px;
    }
    & .popup-body .schedule .item:last-child {
        padding-bottom: 0;
    }
    & .popup-body .schedule .time {
        width: 3.2em;
        font-weight: 800;
        font-size: 16px;
        padding-right: 8px;
        line-height: 1.4em;
        flex-shrink: 0;
    }
    & .popup-body .schedule .line {
        width: 20px;
        position: relative;
        flex-shrink: 0;
    }
    & .popup-body .schedule .line::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: -20px;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        background-color: #171717;
    }
    & .popup-body .schedule .item:last-child .line::before {
        bottom: 0px;
    }
    & .popup-body .schedule .marker {
        display: block;
        width: 24px;
        height: 1px;
        background-color: #171717;
        position: absolute;
        top: 11px;
        left: 50%;
        transform: translateX(-50%);
    }
    & .popup-body .schedule .detail {
        padding-left: 8px;
        padding-top: 0;
    }
    & .popup-body .schedule h6 {
        font-size: 16px;
        font-weight: 800;
        line-height: 1.4em;
    }
    & .popup-body .schedule p {
        font-size: 13px;
        line-height: 1.5em;
        margin-top: 4px;
    }
}

#hidden-contents{
    display: none;
}
body.no-scroll {
    overflow: hidden; /* スクロール禁止 */
}
/* ポップアップの背景（オーバーレイ） */
.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}
.popup-overlay.active {
    display: flex;
}
.employee-list .employee-item{
    cursor: pointer;
}
/* ポップアップ本体 */
.popup-container {
    position: relative;
    width: 90%;
    height: 90%;
    background: #fff;
    border: solid 2px #171717;
    border-radius: 20px;
    padding: 0 0 80px 0;
    display: flex;
    flex-direction: column;
    max-width: 460px;
    
}
@media only screen and (min-width: 1251px) {
    .popup-container {
        margin-left: auto;
        margin-right: calc(20% + 20px);
    }
}
/* コンテンツエリア（スクロール可能部分） */
.popup-body {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: 18px 18px 0 0;
}
.popup-content-scroll {
    flex: 1;
    overflow-y: scroll;
        /* Chrome, Safari, Edge, Opera用 */
        &::-webkit-scrollbar {
              display: none;
        }
        /* Firefox用 */
        scrollbar-width: none;
        /* IE, 旧Edge用 */
        -ms-overflow-style: none;
}
/* フッター（ボタンエリア） */
.popup-footer {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
}
/* ボタン共通スタイル */
.btn-close-bottom, .btn-next {
    width: 48%;
    padding: 14px 24px 10px;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    font-weight: 800;
    font-size: 17px;
    line-height: 1.2em;
}
.btn-close-bottom::after{
    content: '';
    display: inline-block;
    background-image: url(../images/ico_close.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 0.6em;
    height: 0.6em;
    vertical-align: middle;
    margin-top: -0.2em;
    margin-left: 0.5em;
}
.btn-next::after{
    content: '';
    display: inline-block;
    background-image: url(../images/ico_entry.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.3em;
    height: 1.3em;
    transform: rotate(90deg);
    vertical-align: middle;
    margin-top: -0.2em;
    margin-left: 0.5em;
}
/* 左下の閉じるボタン */
.btn-close-bottom {
    background: #171717;
    color: #fff;
}
.btn-close-bottom:hover {
    opacity: 0.9;
}
/* 右下のNEXTボタン */
.btn-next {
    background: #439B52;
    color: #fff;
}
.popup-container[data-theme="orange"] .btn-next {
    background-color: #E36536; 
}
.popup-container[data-theme="blue"] .btn-next {
    background-color: #00A9D1;
}
.popup-container[data-theme="pink"] .btn-next {
    background-color: #E2658B; 
}
.popup-container[data-theme="purple"] .btn-next {
    background-color: #925BA2;
}
.popup-container[data-theme="yellow"] .btn-next {
    background-color: #FDD002; 
}
.btn-next:hover {
    opacity: 0.9;
}
/*++++++++++++++++++++++++++
benefits
++++++++++++++++++++++++++*/
#benefits{
    background-color: #FEFBD1;
    padding: 60px 0;
    & hgroup{
        & .entxt{
            color: #171717;
        }
    }
}
/*++++++++++++++++++++++++++
flow
++++++++++++++++++++++++++*/
#flow .flowconts{
    background-color: #FCE2DA;
    padding: 60px 0;
    & hgroup{
        margin-bottom: 60px;
        & .entxt{
            color: #171717;
        }
    }
    & ul.box li{
        background-color: #fff;
        border: solid 2px #171717;
        position: relative;
        z-index: 3;
    }
    & ul.box li:not(:last-child){
        margin-bottom: 60px;
    }
    & ul.box li:not(:last-child)::after{
        content: '';
        position: absolute;
        bottom: -70px;
        left: calc(50% - 1px);
        width: 1px;
        height: 70px;
        border-right: dashed 2px #171717;
        z-index: -1;
    }
    & ul.box li .step{
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    & ul.box li .step .txt{
        font-size: 18px;
        font-weight: 700;
        line-height: 1.4em;
        text-align: center;
        color: #fff;
        padding: 5px 40px;
        background-color: #DF2531;
        border: solid 2px #171717;
        border-radius: 100px;
        display: inline-block;
    }
    & ul.box li .inr{
        padding: 40px 25px 25px;
    }
    & ul.box li .inr h5{
        font-size: 25px;
        font-weight: 600;
        line-height: 1.6em;
        margin-bottom: 15px;
    }
    & ul.box li .inr p{
        font-size: 16px;
        line-height: 1.7em;
    }
}
/*++++++++++++++++++++++++++
jobdescription
++++++++++++++++++++++++++*/
#flow .jobdescription{
    background-color: #fff;
    padding: 60px 0;
    & hgroup{
        & .entxt{
            color: #171717;
        }
    }
    & p{
        font-size: 16px;
        line-height: 1.7em;
        margin-bottom: 35px;
    }
    & p a{
        color: #00ABEB;
        text-decoration: underline;
    }
    & .btnconts a .mynavi{
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
        width: 100%;
        border-radius: 7px;
        background-color: #fff;
        transition: box-shadow .3s;
    }
    & .btnconts a:hover .mynavi{
        box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
    }
    & .btnconts a .mynavi .btninr{
        border-radius: 7px;
        overflow: hidden;
        text-align: center;
    }
    & .btnconts a .mynavi .btninr img{
        width: 80%;
        margin: 5px auto;
    }
}
/*++++++++++++++++++++++++++
entry
++++++++++++++++++++++++++*/
#flow .entry{
    background-color: #008BD6;
    padding: 60px 0;
    & hgroup{
        & .entxt, h2{
            color: #fff;
            text-align: center;
        }
    }
    & .btnconts{
        max-width: 350px;
        width: 90%;
        margin: auto;
    }
    & .btnconts .btn{
        background-color: #24539F;
        border-radius: 100px;
    }
    & .btnconts .btn p{
        text-align: center;
        font-size: clamp(32px, 4.2vw, 35px);
        font-weight: 700;
        color: #fff;
        padding: 20px 5px 25px;
    }
    & .btnconts .btn p::before{
        content: '';
        display: inline-block;
        background-image: url(../images/ico_entry.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        width: 1.1em;
        height: 1.1em;
        margin-bottom: -0.2em;
        margin-right: 0.15em;
    }
    & .txt1{
        font-size: 18px;
        text-align: center;
        font-weight: 500;
        line-height: 1.5em;
        margin-top: 25px;
        margin-bottom: 20px;
        color: #fff;
    }
    & .txt2{
        font-size: 16px;
        line-height: 1.7em;
        text-align: center;
        color: #fff;
    }
    & .txt2 span{
        font-size: 1.2em;
        font-weight: 600;
    }
}
/*++++++++++++++++++++++++++
footer
++++++++++++++++++++++++++*/
footer{
    background-color: #fff;
    padding: 30px 0 90px;
    & .logo{
        width: 70%;
        margin: auto auto 30px;
    }
    & p.address{
        font-size: 18px;
        line-height: 1.7em;
        margin-bottom: 30px;
        text-align: center;
    }
    & .btnconts{
        max-width: 350px;
        width: 90%;
        margin: auto;
    }
    & .btnconts a .corp{
        box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
        width: 100%;
        border-radius: 7px;
        background-color: #FCD100;
        transition: box-shadow .3s;
    }
    & .btnconts a:hover .corp{
        box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
    }
    & .btnconts a .corp .btninr{
        border-radius: 7px;
        overflow: hidden;
        text-align: center;
    }
    & .btnconts a .corp .btninr .linktxt{
        font-size: 20px;
        font-weight: 600;
        line-height: 1.5em;
        margin: 14px 0 10px;
    }
    & .btnconts a .corp .btninr .linktxt span{
        display: block;
        font-size: 0.75em;
        font-weight: 500;
    }
    & p.copyright{
        font-size: 14px;
        line-height: 1.6em;
        text-align: center;
        color: #838383;
        margin-top: 25px;
    }
}





