:root {
    /* color */
    --white: #ffffff;
    --blue: #256da8;
    --deep-blue: #06589b;
    --dark-blue: #224779;
    --blue-black: #1e273c;
    --light-blue: #e1ebef;
    --sky-blue: #e2f0fc;

    --black: #0c161e;
    --grey: #464646;
    --light-grey: #aaaaaa;
    --accent: #f9501b;

    --width-normal: 1080px;
    --width-middle: 960px;
    --width-narrow: 860px;

    /* font */
    @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap');
    @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;800;900&display=swap');

    /* breakpoint */
    --tab: 768px;
    --sp: 375px;
}

/* 初期設定 */
html {
    font-size: 62.5%;
    width: 100%;
    scroll-behavior: smooth;
}

body {
    position: relative;
    color: var(--black);
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    font-weight: 400;
    font-size: clamp(14px, 1.1713030747vw, 16px);
    font-size: clamp(1.4rem, 1.1713030747vw, 1.6rem);
    line-height: 1.5;
    text-align: justify;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

a {
    text-decoration: none;
    color: var(--black);
    transition: opacity 0.1s liner;
}

a:hover {
    opacity: 0.7;
}

* {
    box-sizing: border-box;
}

img {
    width: 100%;
    height: auto;
    transition: 0.3s;
}

.Serif {
    font-family: 'Noto Serif JP', serif;
}

/* 汎用CSS */

.br_pc {
    display: block;
}

.br_sp {
    display: none;
}

.Inner {
    max-width: var(--width-normal);
    width: 90%;
    margin: 0 auto;
}

.Inner_middle {
    max-width: var(--width-middle);
    width: 80%;
    margin: 0 auto;
}

.Inner_narrow {
    max-width: var(--width-narrow);
    width: 90%;
    margin: 0 auto;
}

.SideBySide {
    display: flex;
    justify-content: space-between;
    gap: 3vw;
}

.Col3 {
    width: calc(33.33% - 30px * 2 / 3);
}

.Col2 {
    width: 132vw;
}

.RowCenter {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 見出し用 */

.Txt_l {
    font-size: clamp(28px, 2.64vw, 38px);
}

.Txt_m {
    font-size: clamp(24px, 1.8vw, 28px);
}

.Weight100 {
    font-weight: 100;
}

.Weight300 {
    font-weight: 300;
}

.Weight400 {
    font-weight: 400;
}

.Weight500 {
    font-weight: 500;
}

.Weight600 {
    font-weight: 600;
}

.Weight700 {
    font-weight: 700;
}

.Weight900 {
    font-weight: 900;
}

/* ボタン */
.btn-01 {
    padding: 0.5em 1.5em;
    border: 1px solid var(--blue);
    display: inline-block;
    color: var(--blue);
    font-size: 1.3rem;
    font-weight: 600;
    border-radius: 0.3em;
    margin-left: 0.5em;
}

/* ----------------------------------------
* home
* ----------------------------------------*/

/* header */

.header {
    position: fixed;
    width: 100%;
    height: 70px;
    top: 0;
    left: 0;
    background-color: var(--white);
    z-index: 9999;
}

.header_inner {
    width: inherit;
    height: inherit;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_logo {
    margin-left: 8.82vw;
    margin-top: -5px;
    width: clamp(230px, 26.39vw, 300px);
    width: clamp(23rem, 26.39vw, 30rem);
}

.headerNav {
    display: flex;
    align-items: center;
    height: inherit;
}

.headerNav a {
    font-size: 1.4rem;
    font-weight: 600;
}

.headerNav ul {
    display: flex;
}

.headerNav ul li {
    color: var(--blue-black);
}

.headerNav_txt a,
.headerNav_btn a {
    display: table-cell;
    height: 70px;
    vertical-align: middle;
}

.headerNav_txt a {
    color: var(--blue-black);
    padding: 0 1.2vw;
}

.headerNav_txt a:hover {
    background-color: var(--light-blue);
}

.headerNav_btn {
    margin-left: 1rem;
}

.headerNav_btn a {
    background-color: var(--blue);
    color: var(--white);
    padding: 0 2.2vw;
}

.headerNav_btn a:hover {
    background-color: var(--deep-blue);
    opacity: 1;
}

/* ----------------------------------------
* ハンバーガーメニュー
* ----------------------------------------*/
.openBtn {
    width: 70px;
    height: 70px;
    position: fixed;
    display: none;
    right: 0;
    z-index: 9999;
}

/* ３本線 */
.openBtn span {
    display: inline-block;
    transition: all 0.4s;
    /* 変化速度 */
    position: absolute;
    /* 四角い箱に対して線の位置を調整するためのおまじない */
    left: 18px;
    /* 四角の箱の左から１４pxの位置 */
    width: 50%;
    /* 線の幅 */
    height: 3px;
    /* 線の太さ */
    background-color: var(--blue-black);
    /* 線の色 */
}

.openBtn span:nth-of-type(1) {
    top: 23px;
    /* １本目の線の四角い箱の上からの位置 */
}

.openBtn span:nth-of-type(2) {
    top: 33px;
    /* ２本目の線の四角い箱の上からの位置 */
}

.openBtn span:nth-of-type(3) {
    top: 43px;
    /* ３本目の線の四角い箱の上からの位置 */
}

/* ×に変化 */
.openBtn.active span:nth-of-type(1) {
    top: 27px;
    left: 18px;
    transform: translateY(6px) rotate(-225deg);
    /* １本目の線の角度と上からの位置の変更 */
    width: 50%;
}

.openBtn.active span:nth-of-type(2) {
    opacity: 0;
    /* ２本目の線を見えなくする */
}

.openBtn.active span:nth-of-type(3) {
    top: 39px;
    left: 18px;
    transform: translateY(-6px) rotate(225deg);
    /* １本目の線の角度と上からの位置の変更 */
    width: 50%;
}

.spNav {
    position: fixed;
    right: -100%;
    /*ハンバーガーがクリックされる前はWindow右側に隠す*/
    top: 0;
    width: 70%;
    /* 出てくるスライドメニューの幅 */
    height: 100vh;
    background-color: #fff;
    transition: all 0.5s;
    z-index: 200;
    overflow-y: auto;
    /* メニューが多くなったらスクロールできるように */
}

/*ハンバーガーがクリックされたら右からスライド*/
.spNav.is-open {
    right: 0;
}

/* 
spNav_bg(ハンバーガーメニュー解除用bg)
=================================== */
.spNav_bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 5;
    background-color: var(--white);
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 100;
}

/*ハンバーガーメニューが開いたら表示*/
.spNav_bg.is-visible {
    opacity: 0.3;
    visibility: visible;
}

.spNav_header {
    display: flex;
    height: 70px;
    width: 100%;
    align-items: center;
    padding-left: 2rem;
}

.spNav ul {
    border-top: 1px solid var(--blue-black);
}

.spNav ul li {
    width: 100%;
    border-bottom: 1px solid var(--blue-black);
}

.spNav ul li a {
    display: block;
    height: 60px;
    line-height: 60px;
    padding-left: 3rem;
    position: relative;
}

.spNav ul li a:hover {
    background-color: var(--light-blue);
}

.spNav ul li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 29px;
    margin: auto;
    content: '';
    vertical-align: middle;
    width: 7px;
    height: 7px;
    border-top: 2px solid var(--blue-black);
    border-right: 2px solid var(--blue-black);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.spNav_logo {
    width: clamp(180px, 26.64vw, 230px);
}

.spNav_btn {
    width: 90%;
    padding: 1.5rem 0;
    background-color: var(--dark-blue);
    color: var(--white);
    display: block;
    text-align: center;
    margin: 3rem auto;
    font-weight: 600;
}

/* ----------------------------------------
* home
* ----------------------------------------*/
.main {
    width: 100%;
    position: relative;
    margin-top: 70px;
}

/* section mv */
.mv {
    background-size: cover !important;
    height: 330px;
    margin: 0;
}

.mv.--home {
    background: url(../../../img/pages/biz-img/mv-home.jpg) no-repeat center center;
}

.mv.--column {
    background: url(../../../img/pages/biz-img/note-img/column_bg.jpg) no-repeat center center;
}

.mv.--staffing {
    background: url(../../../img/pages/biz-img/mv-staffing.jpg) no-repeat center center;
}

.mv.--develop {
    background: url(../../../img/pages/biz-img/mv-develop.jpg) no-repeat center center;
}

.mv.--web {
    background: url(../../../img/pages/biz-img/mv-web2.jpg) no-repeat center center;
}

.mv.--recruiting-instructors {
    background: url(../../../img/pages/biz-img/mv-recruiting-instructors.jpg) no-repeat center center;
}

.mv.--follow-up-training {
    background: url(../../../img/pages/biz-img/mv-follow-up-training.jpg) no-repeat center center;
}

.mv.--2024-2ndyear-traning {
    background: url(../../../img/pages/biz-img/mv-2024-2ndyear-traning.jpeg) no-repeat center center;
}

.mv.--2024-3rdyear-traning {
    background: url(../../../img/pages/biz-img/mv-2024-3rdyear-traning.jpeg) no-repeat center center;
}

.mv.--mv-2024-FUOS {
    background: url(../../../img/pages/biz-img/mv-2024-FUOS.jpg) no-repeat center center;
}

.mv.--mv-2025new {
    background: url(../../../img/pages/biz-img/mv-2025new.jpg) no-repeat center center;
}



.mv_inner {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    z-index: 1;
}

.mv_ttl_ja {
    display: block;
    font-size: clamp(18px, 1.94vw, 24px);
    font-size: clamp(1.8rem, 1.94vw, 2.4rem);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.mv.--home .mv_ttl_ja {
    color: var(--white);
}

.mv.--home .mv_ttl_en {
    display: block;
    width: clamp(300px, 32.64vw, 470px);
}

.mv.--colume .mv_ttl_ja {
    color: var(--white);
}

.mv.--colume .mv_ttl_en {
    display: block;
    width: clamp(300px, 32.64vw, 470px);
}

/* section intro */
.intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(100px, 9.44vw, 136px) 0;
}

.intro_ttl {
    display: inline-block;
    text-align: center;
}

.intro_ttl_ja {
    font-weight: 600;
    color: var(--blue-black);
}

.intro_ttl_en {
    width: clamp(120px, 10.42vw, 150px);
    margin: 0.5rem auto;
}

.intro_txt {
    text-align: center;
    font-weight: 500;
    line-height: 1.8;
}

.survice {
    text-align: center;
    padding: 63px 0;
}

.survice_ttl {
    display: inline-block;
    font-weight: bold;
    color: var(--blue-black);
    margin-bottom: 2.5rem;
}

.surviceMenu {
    display: flex;
    justify-content: center;
    gap: 6vw;
}

.surviceMenu>article {
    width: 106.67vw;
}

.surviceMenu>article a {
    display: block;
    overflow: hidden;
    margin-bottom: 1rem;
}

.surviceMenu>article a:hover img {
    transform: scale(1.05);
}

.surviceMenu>article a span {
    display: inline-block;
    padding-top: 1rem;
    color: var(--blue);
    font-weight: 600;
    font-size: 1.6rem;
}

.strongPoint {
    padding: clamp(100px, 9.44vw, 136px) 0;
    background-color: var(--sky-blue);
}

.strongPoint_contents {
    display: flex;
    justify-content: center;
    gap: clamp(3vw, 6vw, 80px);
    margin-bottom: 8vw;
    flex-wrap: wrap;
}

.strongPoint_item {
    display: flex;
    flex-direction: column;
    width: clamp(320px, 34.38vw, 495px);
}

.strongPoint_ttl {
    color: var(--blue-black);
    font-weight: 700;
    text-align: center;
    margin-bottom: 8vw;
}

.strongPoint h4 {
    font-weight: 600;
    color: var(--dark-blue);
    margin-bottom: 3vw;
}

.strongPoint p,
.strongPoint ul {
    flex-grow: 1;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 2vw;
}

/* ----------------------------------------
* footer 
* ----------------------------------------*/
.toContact {
    width: 100%;
    padding: 6vw 0;
    background-color: var(--blue);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.toContact_ttl {
    display: inline-block;
    text-align: center;
    color: var(--white);
}

.toContact_ttl span {
    font-weight: 500;
    color: var(--white);
    display: block;
    margin-bottom: 0.5rem;
}

.toContact_btn {
    margin-top: 2rem;
    padding: 1rem 8rem 2rem 8rem;
    background-color: var(--white);
    color: var(--blue);
    border-radius: 9999px;
    transition: 0.2s;
    font-weight: 500;
}

.toContact_btn:hover {
    background-color: var(--blue-black);
    color: var(--white);
    opacity: 1;
}

.toContact_btn span {
    font-size: 2.2rem;
    display: block;
    margin: 0 auto;
    font-weight: 500;
    text-align: center;
}

.credit {
    background-color: var(--black);
    padding: 2rem 0;
}

.credit p {
    color: var(--white);
    font-size: 12px;
}

/* ----------------------------------------
* biz 子ページ
* ----------------------------------------*/
.mv_fig {
    padding-left: 1em;
    width: clamp(140px, 20.96vw, 253px);
}

.mv_ttl {
    font-size: clamp(37px, 5vw, 50px);
    font-weight: 600;
    letter-spacing: 0.6rem;
    color: var(--blue-black);
}

.staffingIntro {
    color: var(--blue-black);
    font-weight: 600;
    padding: 9.11vw 0;
}

.staffingIntro_ttl {
    margin-bottom: 1rem;
    font-weight: 700;
}

.staffingIntro figure {
    width: clamp(320px, 70%, 790px);
    margin: 5rem auto 0 auto;
}

.staffingFlow {
    background-color: var(--sky-blue);
    padding: 4.17vw;
}

.staffingFlow_contents {
    display: grid;
    grid-template-columns: 1fr clamp(320px, 27.78vw, 380px);
    gap: 40px;
    align-items: center;
    margin-bottom: 60px;
}

.staffingFlow_ttl {
    display: flex;
    overflow: hidden;
    font-size: 2.7rem;
    align-items: center;
    font-weight: 600;
}

.step {
    display: inline-block;
    position: relative;
    background: var(--blue-black);
    padding: 0.1em 0.5em 0.1em 1em;
    color: #fff;
    font-size: 1.4rem;
    margin-right: 1.5rem;
    height: 2.55rem;
}

.step::after {
    content: '';
    position: absolute;
    margin: auto;
    width: 0;
    right: -8px;
    top: 0px;
    border-style: solid;
    border-top: 12px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 8px solid var(--blue-black);
    border-right: 0;
}

.staffingFlow_txt p {
    font-weight: 600;
    line-height: 1.8;
}

.staffingFlow figure {
    background-color: var(--white);
}

.footerMv {
    position: relative;
    overflow: hidden;
    display: block;
    height: 240px;
    margin: 0;
}

.footerMv.--staffing::after {
    background: url(../../../img/pages/biz-img/mv-staffing.jpg) no-repeat center center;
}

.footerMv.--develop::after {
    background: url(../../../img/pages/biz-img/mv-develop.jpg) no-repeat center center;
}

.footerMv.--web::after {
    background: url(../../../img/pages/biz-img/mv-web.jpg) no-repeat center center;
}

.footerMv::after {
    position: absolute;
    content: '';
    display: block;
    background-size: cover !important;
    width: 100%;
    height: 100%;
    top: 0;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.footerMv:hover::after {
    opacity: 0.8;
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.footerMv_fig {
    padding-left: 1rem;
    width: clamp(120px, 12.22vw, 176px);
}

.footerMv_ttl {
    font-size: clamp(36px, 3.19vw, 48px);
    font-weight: 700;
    letter-spacing: 0.6rem;
    display: block;
    margin-bottom: 1rem;
}

.devIntro {
    padding-top: 9.44vw;
    padding-bottom: 9.44vw;
}

.devIntro_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
}


.devIntro figure {
    width: clamp(320px, 50.15vw, 950px);
    margin-bottom: 1rem;
}
    

.devIntro_ttl {
    font-size: clamp(18px, 6vw, 33px);
    font-weight: 700;
    color: var(--blue-black);
    margin-top: 3rem;
    margin-bottom: 1em;
    position: relative;
}

.devIntro_ttl::after {
    content: '';
    height: 2px;
    background-color: var(--blue-black);
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
}

.devIntro p {
    font-weight: 400;
    text-align: center;
    margin-bottom: 1rem;
    line-height: 1.8;
}

.devSurvice_ttl {
    width: clamp(180px, 18.06vw, 262px);
    margin-top: 6rem;
}

.devSurvice_fig {
    margin-top: 3rem;
    width: clamp(320px, 52.08vw, 850px);
}

.devFeatures {
    padding: 13rem 0;
    background: url(../../../img/pages/biz-img/bg_develop_features.png) no-repeat top center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.devFeatures_wrap {
    display: inline-block;
}

.devFeatures_inner {
    display: flex;
    gap: 3vw;
    justify-content: space-between;
}

.devFeatures_ttl {
    font-weight: 700;
    color: var(--white);
    margin-bottom: 4rem;
}

.devFeatures_item {
    width: 33.33%;
    border-radius: 0.5rem;
    background-color: var(--white);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.devFeatures_txt {
    width: 80%;
    padding: 3rem 0;
    text-align: center;
}

.devFeatures_txt h4 {
    font-weight: 700;
    margin-bottom: 1.5rem;
    font-size: 1.6rem;
}

.devFeatures_txt p {
    font-size: 1.3rem;
}

.devFeatures_num {
    display: block;
    margin-bottom: 1rem;
}

.devFeatures_accent {
    color: var(--accent);
}

.devNumbers {
    background: url(../../../img/pages/biz-img/bg_develop_numbers.jpg) no-repeat bottom center;
    background-size: auto 70%;
    padding: 10rem 0 35rem 0;
}

.devNumbers_ttl {
    font-weight: 700;
    text-align: center;
    color: var(--blue-black);
    margin-bottom: 5rem;
}

.devNumbers_inner {
    display: flex;
    flex-wrap: wrap-reverse;
    justify-content: space-around;
}

.circle {
    width: 30%;
    min-width: 170px;
}

.devNumbers_item {
    position: relative;
    width: 100%;
    padding-top: 100%;
    border-radius: 50%;
    background-color: #9fc75c;
    border: 6px solid var(--white);
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.61);
}

.devNumbers_item div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.devNumbers_item img {
    height: clamp(60px, 9.72vw, 90px);
    width: auto;
    margin-bottom: 1rem;
    padding-left: 1rem;
    display: block;
}

.devNumbers_item p {
    text-align: center;
    font-weight: 600;
    color: #373463;
    width: 70%;
    font-size: clamp(11px, 1.11vw, 16px);
}

.devSolutions {
    padding: 6vw 0;
}

.devSolutions figure {
     width: clamp(320px, 90%, 990px); 
    margin: 3rem auto 0 auto;
}

.devSolutions_ttl {
    font-weight: 700;
    text-align: center;
    color: var(--blue-black);
    margin-bottom: 2rem;
}

.devResults {
    padding: 6vw 0;
    background-color: var(--sky-blue);
}

.devResults_ttl p {
    font-weight: 700;
    text-align: center;
    color: var(--blue-black);
    margin-bottom: 0.5rem;
}

.devResults_ttl span {
    display: block;
    text-align: center;
    margin: 0 auto;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--blue-black);
}

.devResults_inner {
    display: flex;
    gap: 3vw;
}

.devResults_ttl {
    font-weight: 700;
    color: var(--white);
    margin-bottom: 3rem;
}

.devResults_item {
    width: 33.33%;
    border-radius: 0.5rem;
    background-color: var(--white);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.devResults_item figure {
    width: 100%;
    overflow: hidden;
}

.devResults_item figure img {
    object-fit: cover;
    width: 100%;
    aspect-ratio: 16/9;
}

.devResults_item:hover figure img {
    transform: scale(1.1);
}

.devResults_txt {
    width: 80%;
    padding: 3rem 0;
}

.devResults_txt h4 {
    font-weight: 700;
    margin-bottom: 1.5rem;
    font-size: 1.6rem;
}

.client {
    font-size: 1.6rem;
    font-weight: 600;
}

.devResults_txt h5 {
    display: block;
    width: 100%;
    padding: 0.1em 0 0.1em 1em;
    background-color: #dfe4ea;
    font-size: 1.4rem;
    font-weight: 600;
    margin: 1em 0%;
}

.devResults_txt ul {
    margin-left: 1.5rem;
}

.devResults_txt ul li {
    list-style-type: disc;
    list-style-position: outside;
    font-size: 1.4rem;
}

.devResults_txt p {
    font-size: 1.4rem;
}

.devVoice {
    background-color: #f8f7f6;
    padding: 6vw 0;
}

.devVoice_inner {
    display: flex;
    gap: 3vw;
}

.devVoice_ttl {
    font-weight: 700;
    color: var(--blue-black);
    margin-bottom: 5rem;
    text-align: center;
}

.devVoice_item {
    width: 33.33%;
    border-radius: 0.5rem;
    background-color: var(--white);
    overflow: hidden;
    padding-left: 3vw;
}

.devVoice_item figure {
    border-radius: 0 0 0 3rem;
    overflow: hidden;
}

.devVoice_item figure {
    overflow: hidden;
}

.devVoice_item:hover figure img {
    transform: scale(1.1);
}

.devVoice_txt {
    width: 90%;
    margin: 2rem 0;
    padding-left: 0.5em;
}

.voice_inner {
    display: block;
    padding: 12% 0 20% 0;
}

.voice_heading {
    font-size: clamp(2.1rem, 2.67vw, 3.2rem);
    font-weight: 700;
    line-height: 1.8;
    margin-bottom: 6%;
}

.voice_img {
    width: 90%;
    margin: 6% auto;
}

@media screen and (width <=600px) {
    .voice_img {
        width: 100%;
    }
}

.voice_img img {
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
}

.voice_body {
    margin-top: 6%;
}

.voice_company {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.voice_person {
    font-size: 1.6rem;
    font-weight: 600;
}

.devVoice_txt h4 {
    font-weight: 600;
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
}

.devForm {
    padding: 6vw 0;
}

.devForm_ttl {
    text-align: center;
    font-weight: 700;
    color: var(--blue-black);
    margin-bottom: 3rem;
}

.devForm_inner {
    max-width: 760px;
    width: 90%;
    margin: 0 auto;
}

.caution {
    background-color: var(--light-blue);
    padding: 3rem;
    font-weight: 600;
    color: var(--blue-black);
    font-size: 1.4rem;
}

.caution span {
    display: block;
    text-align: center;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--blue-black);
}

.caution ul li {
    list-style-type: disc;
    list-style-position: outside;
    margin-left: 1.5rem;
    margin-bottom: 0.5rem;
}

.caution a {
    text-decoration: underline;
    color: var(--accent);
}

.form {
    margin: 3vw 0;
}

.form li {
    font-weight: 600;
    margin-bottom: 2rem;
}

.form p {
    margin-bottom: 1rem;
}

input {
    appearance: revert;
}

input[type='text'],
input[type='tel'],
input[type='email'],
textarea {
    padding: 1.5rem;
    border: 1px solid var(--light-grey);
    border-radius: 0.5rem;
    display: inline-block;
    width: 100%;
}

input[type='checkbox'] {
    width: 18px;
    height: 18px;
    margin-right: 5px;
    margin-left: 2rem;
}

.must {
    padding: 0 5px 2px 5px;
    background-color: var(--blue-black);
    border-radius: 3px;
    color: var(--white);
    font-size: 1.2rem;
    margin-left: 1rem;
}

input[type='submit'] {
    display: block;
    margin: 30px auto;
}

.checkboxWrap {
    margin-top: 0.5rem;
}

.form_submit {
    color: #fff;
    font-size: 1.6rem;
    letter-spacing: 0.2rem;
    margin: 30px 0;
    padding: 10px 50px;
    background: #2f97ff;
    border: 2px solid #2f97ff;
    border-radius: 100vh;
    transition: 0.2s linear;
    cursor: pointer;
}

.form_submit:hover {
    background: #0068d0;
    border: 2px solid #0068d0;
    transition: 0.2s linear;
}

.form_submit[disabled] {
    background-color: #ccc;
    border: 2px solid #ccc;
    cursor: not-allowed;
}

/* ----------------------------------------
*  768px以下
* ----------------------------------------*/
@media screen and (width <=768px) {
    .br_pc {
        display: none;
    }

    .br_sp {
        display: block;
    }

    .toContact {
        padding: 6%;
    }

    .toContact_btn {
        padding: 1rem 3rem;
    }

    .headerNav {
        display: none;
    }

    .openBtn {
        display: block;
    }

    .intro {
        padding: 55px 6%;
    }

    .intro_txt {
        text-align: left;
    }

    .strongPoint_contents {
        display: block;
    }

    .strongPoint_item {
        width: 100%;
        margin-bottom: 55px;
        background-color: rgba(255, 255, 255, 0.8);
        padding: 6%;
    }

    .staffingFlow_contents {
        display: block;
    }

    .staffingFlow_txt p {
        margin-bottom: 1rem;
    }

    .devIntro p {
        text-align: left;
    }

    .devFeatures_txt {
        text-align: left;
    }

    .devSolutions figure {
        width: 90%;
    }

    .devFeatures_inner,
    .devResults_inner,
    .devVoice_inner {
        display: block;
    }

    .devFeatures_item,
    .devResults_item,
    .devVoice_item {
        width: 100%;
        margin-bottom: 2rem;
    }
}

/* ----------------------------------------
*  480px以下
* ----------------------------------------*/
@media screen and (width <=480px) {
    .btn-01 {
        background-color: var(--white);
    }

    .mv {
        height: 180px;
    }

    .mv_fig {
        padding-left: 0.5rem;
    }

    .mv_ttl {
        font-size: 26px;
    }

    .Inner_middle,
    .Inner_narrow {
        width: 90%;
    }

    .Txt_m {
        font-size: 20px;
    }

    .spNav {
        width: 100%;
    }

    .staffingIntro figure {
        margin-top: 10%;
    }

    .staffingIntro_ttl {
        margin-bottom: 3rem;
    }

    .staffingFlow_ttl {
        font-size: 2rem;
        height: 2rem;
        margin-bottom: 1rem;
    }

    .step {
        font-size: 1.2rem;
        height: 2rem;
    }

    .step::after {
        right: -7px;
        top: -2px;
        border-top: 12px solid transparent;
        border-bottom: 13px solid transparent;
        border-left: 9px solid var(--blue-black);
    }

    .devNumbers {
        background-size: auto 50%;
        padding-bottom: 25rem;
    }

    .devSolutions {
        padding: 10vw 0;
    }

    .footerMv {
        height: 160px;
    }

    .footerMv_fig {
        width: 160px;
        padding-left: 0.5rem;
    }

    .footerMv_ttl {
        font-size: 23px;
    }
}

.result {
    padding: 12% 0;
}

.resultIntro {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3%;
}

.resultIntro_img {
    flex-grow: 1;
    min-width: 320px;
}

.resultIntro_img img {
    object-fit: contain;
    width: 100%;
    aspect-ratio: 4/3;
}

.resultIntro_body {
    max-width: 400px;
}

.resultIntro_heading {
    font-size: clamp(24px, 1.8vw, 28px);
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 3vw;
}

.result_client {
    font-weight: 700;
}

@media screen and (width<=768px) {
    .resultIntro {
        display: block;
    }

    .resultIntro_heading {
        margin-top: 6%;
    }
}

.biz_page {
    padding: 3% 0;
}

.biz_page h3 {
    font-size: 18px;
    padding: 1rem 1rem 1rem 2rem;
    width: 100%;
    display: block;
    position: relative;
    font-weight: 700;
    margin: 6% 0 2%;
}

.biz_page h3::before {
    position: absolute;
    content: '';
    width: 3px;
    height: 80%;
    background-color: var(--dark-blue);
    left: 0;
    bottom: 3px;
}

.biz_page h3::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 1px;
    background-color: var(--dark-blue);
    left: 0;
    bottom: 0;
}

.biz_page h4 {
    display: block;
    margin-top: 6%;
    border-top: 1px solid #ccc;
    padding-top: 10%;
    font-size: 2.4rem;
    font-weight: 700;
}

.biz_page h5 {
    font-size: 1.8rem;
    margin: 40px 0 32px;
    font-weight: 700;
}

.biz_page p {
    line-height: 1.8;
    font-weight: normal;
}




.hospital-web-text01 {
	width: 80%;
	font-size:16px;
	line-height: 1.7;
	margin: 0 auto;
}

.hospital-web-text02 {
	width: 90%;
	font-size:16px;
	line-height: 1.7;
	margin: 0 auto;
	text-align: center;
}

.hospital-web-price {
	width: 100%;
	max-width: 950px;
	height: auto;
    margin: 0 auto;
}

.hospital-web-price th {
	width: 25%;
	height: auto;
	padding: 15px;
}

.hospital-web-price td {
	padding: 8px;
	border: solid 5px white;
}

.hospital-web_tableBK {
	color: white;
	text-align: center;
	border: solid white 5px;
	background-color:var(--blue);
}

.hospital-web_tableBK2 {
	background-color: #e2e2e2;
}

.devNumbers_ttl2 {
    font-weight: 700;
    text-align: center;
    color: var(--blue-black);
    margin-top: 10px;
    margin-bottom: 10px;
}





.flowToWork__navigation {
    width: 100%;
    height: auto;
    color: var(--color-black);
}

.flowToWork__list {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.flowToWork__item {
    padding-top: 13px;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.flowToWork__item:not(:first-child) {
    margin: 40px auto 0 auto;
}

.flowToWork__card {
    max-width: 775px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.flowToWork__image {
    width: 200px;
    height: auto;
}

.flowToWork__image--img {
    width: 200px;
    height: auto;
}

.flowToWork__text {
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.flowToWork__textTop {
    padding: 1.5rem;
    display: flex;
    align-items: center;
    border-top: 1px solid #3b4048;
    border-bottom: 1px solid #3b4048;
}

.flowToWork__label {
    font-size: 12px;
    font-weight: 700;
    color: #ff5a0b;
    margin-right: 1rem;
}

.flowToWork__title {
    font-size: 18px;
    font-weight: 600;
}

.flowToWork__textMiddle {
    width: 100%;
    height: auto;
    margin-top: 25px;
    font-size: 1.4rem;
    line-height: 1.8;
}

.flowToWork__textBottom {
    margin-top: 30px;
    display: flex;
    align-items: center;
}

.flowToWork__button {
    width: fit-content;
    height: auto;
    display: flex;
}

.flowToWork__button::after {
    content: '';
    width: 1px;
    background-color: var(--color-black);
    margin: 0 25px 0 25px;
}

.flowToWork__buttonBody {
    min-width: 160px;
    width: fit-content;
    height: auto;
    padding: 14px 35px 14px 35px;
    font-size: 14px;
    font-weight: 400;
    text-align: center;
    border-radius: 50px;
    background-color: #9ec317;
    color: var(--color-white);
    box-shadow: 0 5px 1px rgb(146, 179, 28);
}

.flowToWork__buttonBody p {
    color:#fff;
}

.flowToWork__tellGroup {
    display: flex;
}

.flowToWork__mark--img {
    width: 45px;
    height: auto;
}

.flowToWork__tell----- {
    padding-left: 10px;
}

.flowToWork__lead {
    font-size: 10px;
    font-weight: 900;
}

.flowToWork__tell {
    min-width: 170px;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 0.5;
}


/* overviewコンテナクエリ */

@container overview (width <=806px) {
    .overview__cradNavList {
        max-width: 500px;
    }

    .overview__cradNavItem.--empty_typeB {
        display: none;
    }
}

@container overview (width <=690px) {
    .flowToWork__item:not(:first-child) {
        margin-top: 50px;
    }

    .flowToWork__card {
        display: block;
    }

    .flowToWork__image {
        margin: 0 auto;
    }

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

    .flowToWork__text {
        margin-top: 20px;
    }

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

    .flowToWork__textMiddle {
        max-width: fit-content;
        width: 100%;
        margin: 25px auto 0 auto;
    }

    .flowToWork__textBottom {
        width: fit-content;
        margin: 25px auto 0 auto;
    }
}

@container overview (width <=487px) {
    .overview__card {
        width: 90%;
    }

    .overview__cardlead {
        font-size: 1.8rem;
        text-align: center;
    }

    .flowToWork__br {
        display: none;
    }

    .flowToWork__textBottom {
        width: 100%;
        display: block;
        margin-top: 30px;
    }

    .flowToWork__button::after {
        display: none;
    }

    .flowToWork__button {
        margin: 0 auto;
    }

    .flowToWork__tellGroup {
        width: 100%;
        margin-top: 30px;
        justify-content: center;
    }
}

.instructors_box {
    width: 100%;
    background-color: #e3ebf5;
}


.instructors_box h3 {
    margin-top: 40px;
}

.instructors_box ul {
    margin: 15px;
    
}

.instructors_box span {
    margin-right:15px;
    
}


.instructors_box ul li {
    background: url("../../../img/pages/biz-img/biz-checkmark.png") no-repeat left;
    background-size: 30px 30px;
    background-position: 25px 25px;
    background-color: #fff;
    padding-top: 28px;
    padding-bottom: 25px;
    padding-left: 90px;
    margin: 10px;
}

.instructors_box ul li p {
    text-align: left;
    margin: 0;
    font-size:18px;
}

.instructors_font {
    font-size: 18px;
}


.instructors_box2 {
    width: 100%;
    background-color: #e3ebf5;
    padding-top: 15px;
    padding-bottom: 15px;
}

.instructors_box2 h3 {
    margin-top: 40px;
}

.instructors_box2 ul {
    margin: 15px;
    
}

.instructors_box2 span {
    margin-right:15px;
    
}


.instructors_box2 ul li {
    background: url("../../../img/pages/biz-img/biz-checkmark.png") no-repeat left;
    background-size: 30px 30px;
    background-position: 25px 25px;
    background-color: #fff;
    padding-top: 28px;
    padding-bottom: 25px;
    padding-left: 90px;
    margin: 10px;
}

.instructors_box2 ul li p {
    text-align: left;
    margin: 0;
    font-size:18px;
}




.follow-up_smltxt {
    font-size: 16px;
    line-height: 1.2;
}

.follow-up_bigtxt{
    font-size:24px;
    font-weight: bold;
}

.devIntroX p {
    font-weight: 400;
    text-align: left;
    margin-bottom: 1rem;
    line-height: 1.8;
}

.follow-up_pictxt {
    color:#fa7c3e;
}

.btn,
a.btn,
button.btn {
  font-size: 3.0rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-gradient {
    color: #fff;
    border: 2px solid #fff;
    border-radius: 0;
    background-image: -webkit-gradient(linear, left top, right top, from(#2af598), to(#009efd));
  background-image: -webkit-linear-gradient(left, #2af598 0%, #009efd 100%);
  background-image: linear-gradient(90deg, #2af598 0%, #009efd 100%);
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
}

a.btn-gradient:hover {
  -webkit-transform: skew(0);
  transform: skew(0);
  color: #fff;
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
  box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
}
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
  }
  
  a.btn-gradient:hover {
    -webkit-transform: translate(0, -2px);
    transform: translate(0, -2px);
    color: #fff;
    -webkit-box-shadow: 0 8px 15px rgba(0, 0, 0, .2);
    box-shadow: 0 8px 15px rgba(0, 0, 0, .2);
  }


  @media screen and (width<=768px) {
    .btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

a.btn-gradient {
    color: #fff;
    border: 2px solid #fff;
    border-radius: 0;
    background-image: -webkit-gradient(linear, left top, right top, from(#2af598), to(#009efd));
  background-image: -webkit-linear-gradient(left, #2af598 0%, #009efd 100%);
  background-image: linear-gradient(90deg, #2af598 0%, #009efd 100%);
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
  box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
}

a.btn-gradient:hover {
  -webkit-transform: skew(0);
  transform: skew(0);
  color: #fff;
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
  box-shadow: 0 2px 3px rgba(0, 0, 0, .1);
}
    -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
    box-shadow: 0 5px 10px rgba(0, 0, 0, .1);
  }
  
  a.btn-gradient:hover {
    -webkit-transform: translate(0, -2px);
    transform: translate(0, -2px);
    color: #fff;
    -webkit-box-shadow: 0 8px 15px rgba(0, 0, 0, .2);
    box-shadow: 0 8px 15px rgba(0, 0, 0, .2);

}

.old-seminars-list {
    display: flex;
}

.old-seminars-list li {
    margin: 15px;
}


@media screen and (width <=600px) {
    .old-seminars-list {
        display: inline-block;
    }
}

/*おすすめスタッフ*/

.staff-information {
    width: 980px;
    height: auto;
    margin: 0 auto;
    line-height: 1.9;
}

.staff-information_left {
    width: 550px;
    height: 750px;
    display: inline-block;
    vertical-align: top;
    margin-right: 30px;
    padding-left: 10px;
    padding-right: 10px;
    overflow-y: scroll;
}

.staff-information_left p {
    font-weight: bold;
    font-size: 20px;
}

.staff-information_left td {
    border: solid 1px #aaa;
    padding: 3px;
    vertical-align: middle;
}


.left1 {
    font-size:13px;
    width: 100px;
    text-align: center;
    background-color: #9fd3f7;
}
.left2 {
    font-size:13px;
    width: 400px;
    text-align: left;
}

.staff-information_right {
    width: 370px;
    height: auto;
    display: inline-block;
    padding-right: 10px;
    padding-left: 10px;
}

.staff-information_right th {
    width: 130px;
    vertical-align: middle;
    border: solid 1px #aaa;
    padding: 5px;
    background-color: #9fd3f7;
}

.staff-information_right th p {
    vertical-align: middle;
}

.staff-information_right tr {
    font-size:13px;
    line-height: 1.9;
}

.staff-information_right td {
    width: 250px;
    height: auto;
    vertical-align: middle;
    padding: 5px;
    margin: 0;
    border: solid 1px #ccc;
}


.staff-information_right td p span input {
    padding: 5px;
}

.staff-box input {
    margin: 0;
}

.staff-47 {
    vertical-align: middle;
}

.staff-47 span {
    border: solid 1px #ccc;
    text-align: center;
}
.staff-privacy {
    font-size:12px;
}

.staff-privacy a {
    color:red;
    text-decoration: underline;
}

.staff-contact input {
    border: solid 2px #333;
    padding: 15px;
}

.staff-form {

}

.staff-information_right .requied {
    color: red;
}

#wpcf7-f16798-o1 .wpcf7-select {
    border: 2px solid #ccc;
    background-color: #fff;
    font-size: 12px;
    padding: 6px;
    appearance: auto; /* デフォルトの外観を再度適用 */
    -webkit-appearance: auto; /* Safari用 */
    -moz-appearance: auto; /* Firefox用 */
}

.staff-information_title {
    font-size:24px;
    font-weight: bold;
}

@media screen and (max-width: 480px) {
    .heder_inner {
        max-width: 38s0px;
    }
    .staff-information {
        width: 100%;
        max-width:350px;
        margin: 0;
    }
    .staff-information_left {
        width: 100%;
        max-width: 350px;
        margin: 0;
    }
    .staff-information_right {
        width: 100%;
        max-width: 350px;
        margin: 0;
    }
}


.staff-information {
    width: 980px;
    height: auto;
    margin: 0 auto;
    line-height: 1.9;
}

.staff-information_print {
    width: 100%;
    height: auto;
    display: inline-block;
    vertical-align: top;
    margin-right: 30px;
    padding-left: 10px;
    padding-right: 10px;
}

.staff-information_print p {
    font-weight: bold;
    font-size: 20px;
}

.staff-information_print td {
    border: solid 1px #aaa;
    padding: 3px;
    vertical-align: middle;
}


.left1p {
    font-size:16px;
    width: 200px;
    text-align: center;
    background-color: #9fd3f7;
}
.left2p {
    font-size:16px;
    width: 720px;
    text-align: left;
}

.printonlyQR {
    width: 980px;
}

.printonly {
    display: none;
}


.printonlyQR {
    width: 25%;
    height: auto;
}