@charset "UTF-8";

/*2022verから適応　ここからーーーーーーーーーーーーーーー*/
/*h要素*/
.main_heading h2 {
  font-weight: bold;
  line-height: 1.2em;
}
.top_message_cont  .col2_mainTtl h2 {
  text-align: left;
}
.sub_heading h4, 
.area_cont .sub_heading h3 {
  font-weight: bold;
  padding: 5px;
}

/*▼ 共通================*/
@media screen and (max-width: 640px) {
/*テーブルユニット*/
.bList2 th,
.bList2 td {
  width: 100% !important;
}
}
/*▼ ヘッダー================*/
#headerAreaOuter,
#headerAreaImage {
  width: 100% !important;
}
/*ヘッダー（スマホ表示）ーーーーーーーーーー*/
.mobile #headerArea h1,
.mobile #headerArea h1 a {
  height: 60px !important;
}
.mobile #headerArea h1 {
  width: calc(100% - 60px) !important;
}
.mobile #headerArea h1 a {
  width: 100% !important;
}
@media screen and (max-width: 400px) {
.mobile #headerArea h1 {
  width: calc(100% - 43px) !important;
}
}

/*ーーーーーーーー
トップ
ーーーーーーーー*/
/*▼ スライダー ================*/
/*左右矢印ボタン*/
.top_slider_cont .swiper-button-next,
.top_slider_cont .swiper-button-prev {
  width: 64px !important;
  height: 75px !important;
}
/*▼ スライダー（スマホ表示） ================*/
.mobile .top_slider_cont .bSlideShowS .swiper-slide,
.mobile .top_slider_cont .swiper-wrapper {
  height: 380px !important;
}
/*左右矢印ボタン*/
.mobile .top_slider_cont .swiper-button-next,
.mobile .top_slider_cont .swiper-button-prev {
  width: 10vw !important;
  height: 10vw !important;
}
/*▼ スライダーのテキスト ================*/
.top_slider_txt_cont,
.top_slider_txt_cont.bcontainer-coln .bcontainer-inner,
.top_slider_txt_cont .coln {
  overflow: visible !important;
}
/*▼ お仕事一覧 ================*/
/*タイトル*/
.top_jobList_cont .extMdlFormGnrtrFormSearch .JobttlBox {
  background-color: transparent !important;
}

/*ーーーーーーーー
求人原稿ページ
ーーーーーーーー*/
/*▼応募ボタン（スマホ表示） ================*/
.mobile .extMdlFormGnrtrFormLink a:not(.entryTel) {
  background-image: url(/global-image/recruit/button/on_sp.png) !important; /*--★本体に画像を移行★--*/
}

/*ーーーーーーーー
フォーム
ーーーーーーーー*/
/*▼フォーム全体 （スマホ表示）================*/
/*入力欄*/
.mobile .form_cont form input[type="text"],
.mobile .form_cont form span:not(.zipbox) input[type="tel"],
.mobile .form_cont form select,
.mobile .form_cont form textarea {
  width: 100% !important;
}
.mobile .form_cont form input:not([type="submit"]),
.mobile .form_cont form textarea {
  background-color: #efefef !important;
}

/*ーーーーーーーー
募集情報
ーーーーーーーー*/
/*検索見出し、検索ボタン ================*/
/*キーワード検索*/
.recruit_cont .extMdlFormGnrtrFormSearchTopInner {
  width: 70% !important;
}
/*キーワード検索（スマホ表示）*/
.recruit_cont .extMdlFormGnrtrFormSearchTopInnerSP {
  width: 90% !important;
}
/*検索結果 ================*/
.extMdlFormGnrtrFormSearch .JobListPage {
  margin: 30px auto !important;
}
/*求人情報-見出し ================*/
.extMdlFormGnrtrFormSearch .JobttlBox {
  background-color: #efefef !important;
}

/*ーーーーーーーー
研修制度・キャリアステップ
ーーーーーーーー*/
/*スライド =================*/
.desktop .education_cont .swiper-button-prev,
.desktop .education_cont .swiper-button-next {
  width: 45px !important;
}
/*スライド（スマホ表示） =================*/
.mobile .education_cont .swiper-button-prev,
.mobile .education_cont .swiper-button-next {
  width: 30px !important;
}

/*ーーーーーーーー
カラーパレット適用
ーーーーーーーー*/
/*テキスト =================*/
.palette_color_txt, 
.preset_subTitle .subtext /*研修_各サブ見出し*/,
.extMdlFormGnrtrFormSearch .JobListPage a /*募集情報_ページャー*/, 
.work_cont h3 /*お仕事紹介*/, 
.infographics_cont .point_color /*数字で見る*/, 
.infographics_cont .infographics_type4.graph_draw td /*数字で見る*/ {
  color: #00a5e3 !important;
}
/*濃い背景色 =================*/
.palette_color_bg, 
.preset_bg .bCustomS /*トップ_マップテキスト背景、エイリアス_共通ボタン背景*/,
.recruit_cont .extMdlFormGnrtrFormSearchTop .JobBtnSearch /*募集情報_キーワード検索「検索」ボタン*/,
.preset_titleBg .title /*研修_各メイン見出し*/,
.presetList .bcu_title1/*研修_リスト見出し*/,
.preset_bg .bGrid /*研修_ひとり立ち背景*/,
.extMdlFormGnrtrFormTable .bTxtImg.hsNarrow strong span[style^="background-color"] /*原稿HTML入力エリア見出し*/,
.extMdlFormGnrtrFormTable .bTxt2.hsNarrow strong span[style^="background-color"] /*原稿HTML入力エリア見出し(画像1なし) 2023-10-30追加*/,
.form_step .stepBar .visited span /*応募フォーム_ステップ*/,
.form_step .stepBar .visited:after /*応募フォーム_ステップ*/ {
  background-color: #00a5e3 !important;
}
/*薄い背景色 =================*/
.palette_color_bg2, 
.presetList .bcu_text2 /*研修_リスト背景*/,
.top_jobType_btn.preset_bgOpa /*職種で選ぶ_ボタン背景*/,
.form_step .stepBar li span /*応募フォーム_ステップ*/,
.form_step .stepBar li:after /*応募フォーム_ステップ*/ {
  background-color: rgba(0,167, 232,0.1) !important;
}
/*線 =================*/
.palette_color_border, 
.preset_border /*研修_縦ドット線*/ {
  border-color: #00a5e3 !important;
}
/*2022verから適応　ここまでーーーーーーーーーーーーーーー*/

/*202607カスタマイズ　ここからーーーーーーーーーーーーーーー*/
/*フォーム-ステップ調整*/
.form_step .stepBar li {
  width: calc(100% / 2);
}
/*202607カスタマイズ　ここまでーーーーーーーーーーーーーーー*/

/*202607カスタマイズ（hgs）　ここからーーーーーーーーーーーーーーー*/
/*編集エリア確保*/
.addunit-box {
min-height: 30px !important;
}

/*要素はみ出し表示*/
.overflowVisible.bcontainer-outer, .overflowVisible.bcontainer-coln .bcontainer-inner, .overflowVisible .coln, .overflowVisible .bImgS, .overflowVisible .bImgS .inner {
overflow: visible !important;
}

html {
  scroll-behavior: smooth;
}

.bCustomS ul li,
.bGrid ul li,
.bTxtS ul li {
    padding-left: 1.3em;
    text-indent: -1.3em each-line;
}

.text_indent {
    padding-left: 1em;
    text-indent: -1em each-line;
}

.link_bnr a:hover {
    opacity: .8;
}

.drop_shadow .bcontainer-inner {
    filter: drop-shadow(0 0 6px rgba(0, 0, 0, .15));
}

.en_font, 
.heading_simple h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 1.15em;
}

.desktop .heading_simple:not(.width_nonchange) .col1 {
    width: 7% !important;
    flex-basis: 7% !important;
}
.desktop .heading_simple:not(.width_nonchange) .col2 {
    width: 93% !important;
    flex-basis: 93% !important;
}
.mobile .heading_simple .col1, 
.mobile .heading_simple .col2 {
    width: 100% !important;
    flex-basis: 100% !important;
}

/*テーブル*/
.table_item {
    margin-bottom: 25px;
}
.table_item table {
    white-space: normal !important;
}
.table_item tr {
    background-color: #fff;
}
.table_item th, 
.table_item tr td:first-of-type {
    font-weight: bold;
    text-align: left !important;
    vertical-align:middle
}
.desktop .table_item th, 
.desktop .table_item tr td:first-of-type {
    font-size: 1.15em;
}
.table_item td {
    font-weight: normal !important;
    font-size: 14px !important;
}

/*吹き出し（カスタムユニットのタイトル利用）*/
.hukidashi.hukidashi_center {
    text-align: center;
}
.hukidashi .bcu_title {
    display: inline-block;
    padding: 3px 4em;
    margin-bottom: 20px;
    border-radius: 100px;
}
.hukidashi .bcu_title::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: auto;
    border-top: 8px solid transparent;
    border-left: 8px solid transparent;
    border-bottom: 8px solid;
    border-right: 8px solid transparent;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -7px;
    transform: rotate(-45deg);
}
.hukidashi_1 .bcu_title {
    background-color: #014998;
}
.hukidashi_1 .bcu_title::before {
    border-bottom-color: #014998;
}
.hukidashi_2 .bcu_title {
    background-color: #00a5e3;
}
.hukidashi_2 .bcu_title::before {
    border-bottom-color: #00a5e3;
}
.hukidashi_3 .bcu_title {
    background-color: #ccc;
}
.hukidashi_3 .bcu_title::before {
    border-bottom-color: #ccc;
}

/*リスト（チェックアイコン）*/
.check_icon ul li, 
.check_icon h4 {
    padding-left: 2em;
    margin-bottom: 10px;
    list-style-type: none;
    background-image: url(/global-data/20260730222255622.png);
    background-size: 1.3em;
    background-repeat: no-repeat;
    background-position: left 0.2em;
    text-indent: 0;
}
.check_icon:has(+ .table_heading) .bCustomS {
    margin-bottom: 5px !important;
}

/*アンカーリンク*/
.cont_heading {
    scroll-margin-top: 80px; /* ヘッダーの高さを指定 */
}
.mobile .cont_heading::before {
    content: "";
    display: block;
    width: 10px;
    height: 80px;
    margin-top: -80px;
}
.desktop .anchor_cont ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}
.anchor_cont ul li {
    width: 49%;
    margin: 0 !important;
}
.anchor_cont ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto !important;
    padding: 20px 60px !important;
    background-size: 36px;
    background-position: 20px center;
    border: 2px solid #00a5e3;
    border-radius: 10px;
    font-size: 24px;
    font-weight: bold;
    text-decoration: none;
    line-height: 1.2em;
    box-sizing: border-box;
    white-space: normal;
}
.mobile .anchor_cont ul {
    margin-top: 0;
}
.mobile .anchor_cont ul li {
    width: 100%;
    padding-bottom: 0;
    margin-bottom: 10px !important;
    background-size: 2.6em;
    background-position: 0.5em center;
}
.mobile .anchor_cont ul li a {
    min-height: 3em;
    padding: 10px 50px !important;
    font-size: 16px;
}

/*グリッドユニットの高さ固定をなくす*/
.mobile .heading_cont .bGrid-inner {
padding-bottom: 0 !important;
}
.mobile .heading_cont .bGrid-main {
position: static;
}

/*3カラム*/
.grid_1_cont .containerInner, 
.grid_2_cont .containerInner {
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
}
.grid_1_cont .containerInner {
    background-color: #fff;
}
.grid_2_cont .containerInner {
    background-color: #dceefa;
}
.grid_2_cont .containerInner .bCustomS {
    overflow: visible;
}

/*ヘッダー*/
.desktop body {
    padding-top: 128px;
}
#headerOuter {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.desktop #headerAreaSection {
    background-color: rgba(255,255,255,0.8) !important;
}

/*グロナビ*/
#globalNaviArea ul li:hover {
    background-color: rgb(0,165,227,.8);
}
#globalNaviArea ul li a {
    font-weight: bold;
}
#globalNaviArea ul li:hover a {
    color: #fff;
}
#globalNaviArea ul li ul, 
#globalNaviArea ul li ul li {
    width: 100%;
}
#globalNaviArea ul li > ul li:first-of-type {
    display: block;
}
#globalNaviArea ul li ul li {
    border-top: 2px solid rgb(0,165,227,.5);
}
#globalNaviArea ul li ul li a {
    width: 100% !important;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.3em;
}

/*パンくず*/
.desktop:has(.subPage_ttl_cont) #breadcrumbsList {
    padding: 20px;
}

/*フッター*/
#footerAreaSection {
    border-top: 5px solid #00a5e3;
}
#footerAreaOuter {
    padding-bottom: 15px;
}
.desktop .col2_box {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 70px;
}
.desktop .col2_box .col_1 {
  width: 38%;
  text-align: right;
}
.desktop .col2_box .col_1 img {
  max-width: 200px;
  margin-right: 30px;
}
.desktop .col2_box .col_2 .name {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: bold;
}
.desktop .col2_box .col_2 .address {
  font-size: 18px;
  line-height: 1.5em;
}
.mobile #footerNaviArea ul li a::before {
    color: #014998;
}
.mobile #footerFreeArea {
    padding: 30px 10px;
}
.mobile .col2_box .col_1 {
  margin-bottom: 30px;
  text-align: center;
}
.mobile .col2_box .col_1 img {
  width: 100%;
  max-width: 150px;
  margin-right: 0;
}
.mobile .col2_box .col_2 {
    text-align: center;
}
.mobile .col2_box .col_2 .name {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
}
.mobile .col2_box .col_2 .address {
  font-size: 14px;
  line-height: 1.5em;
}

/*カウンセラーに相談する（固定用調整）*/
body:has(.common_fixed_btn) {
    padding-bottom: 121px;
}
.mobile body:has(.common_fixed_btn) {
    padding-bottom: 18.2vw;
}
.common_fixed_btn {
    width: 100%;
    position: fixed;
    bottom: 0;
    z-index: 2;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, .3));
    background-color: #014998;
}
.common_fixed_btn:hover {
    filter: brightness(1.15);
}
.common_fixed_btn .bcontainer-inner::before {
    content: "";
    display: block;
    background-image: url(/global-data/20260729231648144.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    position: absolute;
    bottom: 0;
    right: 0;
    pointer-events: none;
}
.desktop .common_fixed_btn .bcontainer-inner::before {
    width: 180px;
    height: 200px;
    margin: auto;
    left: 0;
    transform: translateX(340px);
}
.mobile .common_fixed_btn .bcontainer-inner::before {
    width: 140px;
    height: 150px;
    transform: translateX(50px);
    z-index: 9;
}

/*コンテンツ見出し*/
.cont_heading h2:first-letter {
    color: #00a5e3;
}

/*下層ページ_タイトル*/
.subPage_ttl_cont {
    padding: 20px 10px;
}
.subPage_ttl_cont::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, transparent, rgba(0,126,193,.6) 88%);
    position: absolute;
    top: 0;
    left: 0;
}
/*グリッドユニットの高さ固定をなくす*/
.mobile .subPage_ttl_cont .bGrid-inner {
padding-bottom: 0 !important;
}
.mobile .subPage_ttl_cont .bGrid-main {
min-height: 114px;
position: static;
}

/*下層ページ_コンテンツ見出し画像*/
.subPage_cont_img .bGrid-inner {
    padding-bottom: calc(100% * 0.2) !important;
}
.subPage_cont_img .bGrid-content {
    position: relative;
    overflow: hidden;
    height: 200px;
}
.subPage_cont_img .bGrid-content .bcu_image {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
/*202607カスタマイズ（hgs）　ここまでーーーーーーーーーーーーーーー*/