/* CSS Document */
/**********
foudation
**********/
/*初期設定CSS*/
#localNav, #catNav, #lineup_coutainer, #c3_ll, #subNav, .top_img_Bbox, #kenshu_flow_nav{
  color:#333;
  font:400 14px/1.3 "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
  letter-spacing:0;
}
@media print{
  #localNav, #catNav, #lineup_coutainer, #c3_ll, #subNav, .top_img_Bbox, #kenshu_flow_nav{
    font-family: "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif
  }
}
[v-cloak]{
  display: none;
}
/**********
attention
外部CSSの上書き／他CSSの流用
**********/
:root{
  --theme_basic: #0382c0;
  --theme_bup : #164A84;
  --theme_haken : #9E2730;
  --theme_webins: #D1151B;
  --theme_beginner: #00817C;
  --theme_date: #D66C00;
  --theme_reservation: #2a6cae;
  scroll-padding-top: var(--nav_h);
  @media screen and (max-width: 768px){
    scroll-padding-top: 0;
  }
}
#base{ width: 100%;}
div#cont{ 
  width: 1240px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
div#cont div#c3_lrr{
  width: 1020px;
}
div#cont div#c3_ll{
  overflow: visible;
}
@media screen and (max-width: 768px){
  div#cont{ 
    width: 100%;
    display: block;
  }
  div#cont div#c3_lrr{
    width: 100%;
  }
}
/*
    スライダー
================================*/
.mainvisual--top {
  .mainvisual-wrap { 
    margin: 0 auto;
    width: 1020px;
    position: relative;
    padding-bottom: 10px;
  }
  .slick-slider { width: 1020px; }
  .slick-slide img {
    -o-object-fit: cover;
       object-fit: cover;
    height: auto;
    width: 100%;
  }
}
.mainvisual--flex {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.subvisual { margin-bottom: 10px;}
.subvisual--flex {
  margin-top: 10px;
  padding-bottom: 10px;
}
.ss-wrapper {
  line-height: 0;
  font-size: 0;
}
@media screen and (max-width: 768px){
  .mainvisual {
    display: none;
    width: 100%;
    height: 0;
    padding-top: 47.81%;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .mainvisual--top{
    aspect-ratio: 640 / 300;
    background-image: url(/common/img/middle/resp_koshihaken_top.jpg);
    display: block;
    height: auto;
    padding-top: 0;
    width: auto;
  }
  .mainvisual-wrap { display: none;}
  .subvisual { display: none;}
}

/* スライダー */
.bxslider,.subslider {
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
.bxslider > li:not(:first-child),.subslider> li:not(:first-child) {
  display: none;
}
.bxslider.slick-initialized,.subslider.slick-initialized{
  display: block;
  opacity: 1;
  visibility: visible;
}
.slick-slider{
  opacity: 0;
  position: relative;
  transition: opacity .3s linear;
  z-index: 9999;
}
.slick-slider.slick-initialized { opacity: 1; }
@media screen and (max-width: 768px){
  .nav-top2{
    padding-top: 16px;
    flex-direction: column;
  }
}

/* スライダーのボタン */
.slick-prev,
.slick-next {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  width: 24px;
  height: 80px;
  margin: auto 0;
  border: none;
  background: #777;
  text-indent: -9999px;
  cursor: pointer;
}
.slick-prev::before,
.slick-next::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  margin: auto;
}
.slick-prev{
  left: 0;
  transform: translateX(-100%);
}
.slick-next{
  right: 0;
  transform: translateX(100%);
}
.slick-prev::before{
  transform: translateX(4px) rotate(-135deg);
}
.slick-next::before{
  transform: translateX(-4px) rotate(45deg);
}

/* スライダーのページャー */
.slick-dots{
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: -48px;
  left: calc(50% + 125px);
  transform: translate(-50%, 100%);
}
.slick-dots .slick-active:only-child{ display: none;}
.slick-dots button{
  display: block;
  height: 8px;
  width: 80px;
  margin:0 8px;
  border: none;
  border-radius: 0;
  background: #ccc;
  text-indent: -9999px;
  line-height: 0;
  cursor: pointer;
}
.slick-dots button:hover,
.slick-dots .slick-active button{
  background: var(--theme_haken);
}
.slick-dots {
  bottom: -8px;
  left: calc(50%);
}

.slick-dots button {
  height: 4px;
  width: 60px;
}

:is(.bxslider), :is(.subslider) {
  .slick-prev, .slick-next {
    background-color: transparent;
    height: 100%;
    top: 50%;
    bottom: 50%;
    width: 25px;
    z-index: 1;
    background-repeat: no-repeat;
    background-position-y: center;
    opacity: 0.5;
    &:hover {
        opacity: 1;
        transition: .3s;
    }
  }

  .slick-prev {
    left: 25px;
    background-image: url(/resource/img/bup/slider_arrow-left.png);
  }

  .slick-next {
    right: 25px;
    background-image: url(/resource/img/bup/slider_arrow-right.png);
    background-position-x: right;
  }

  .slick-prev::before, .slick-next::before {
    display: none;
  }

  .slick-prev::before {
    transform: translateX(2px) rotate(-135deg);
  }

  .slick-next::before {
    transform: translateX(-2px) rotate(45deg);
  }
}

:is(.subslider) {
  width: 1030px;
  .slick-prev {
    background-image: url(/resource/img/bup/slider_arrow-sm-left.png);
  }

  .slick-next {
    right: 35px;
    background-image: url(/resource/img/bup/slider_arrow-sm-right.png);
  }
}
/* スライダー */
body{
  :is(.bxslider) {  
    .slick-prev::before, .slick-next::before {
      height: 8px;
      width: 8px;
    }
    .slick-prev::before { transform: translateX(2px) rotate(-135deg); }
    .slick-next::before { transform: translateX(-2px) rotate(45deg); }
  }
  .mainvisual--top:has(.slick-dots .slick-active:only-child) + .nav--container{
    .nav-top2 { padding-top: 12px;} 
  }
}

/*
    メインビジュアル下ナビ
    ＋検索ボックス
================================*/
.nav--container {
  .searchField {
    @media screen and (max-width:768px) {
      margin: 0 auto;
    }
  }
  .searchField__inner {
    background-color: transparent;
    margin: auto;
    width: 630px;
    padding: 10px;
    @media screen and (max-width:768px) {
      width: 100%;
    }
  }
}
.nav--container.is_fixed {
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 1020px;
    .nav-top2 {
        padding-bottom: 0;
    }
    .searchField__footer {
        display: none;
    }
    .subnav {
        background: #F8F3ED;
    }
    .subnav_btnItem {
        width: calc(50% - (10px / 2));
    }
    .subnav_btnItem:nth-of-type(1), .subnav_btnItem:nth-of-type(2), .subnav_btnItem:nth-of-type(4), .subnav_btnItem:nth-of-type(5) {
        display: none;
    }
    .subnav_btnItem_target {
        height: 30px;
    }
}

/** nav **/
.nav {
  position: relative;
  width: 100%;
}
.nav-top2 {
  padding: 10px;
  display: flex;
  align-items: center;
  background: #E8EAEF;
}
.nav-top2__title{
  display: flex;
  width: auto;
  margin: 0 10px 0 0;
  font-size: 14px;
  font-weight: bold;
  color: var(--theme_haken);
  line-height: 1;
  text-align: center;
  align-items: center;
  word-break: keep-all;
  letter-spacing: 0;
}
.nt2 {
  display: flex;
  margin: 0 auto;
  width: 100%;
  align-items: stretch;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.nt2__list {
  display: flex;
  width: 145px;
  padding: 0;
}
.nt2__link {
  position: relative;
  display: flex;
  height: 50px;
  width: 100%;
  padding: 4px;
  font-size: 14px;
  font-weight: bold;
  color: var(--theme_haken);
  background: #fff;
  justify-content: center;
  align-items: center;
  text-align: left;
  border: 2px solid #ccc;
  border-color:var(--theme_haken);
  border-radius: 4px;
  box-shadow: none;
  line-height: 1.3;
}
.nt2__link:hover {
  background: var(--theme_haken);
  color: #fff;
}
.nt2__link::after {
  /*content: attr(data-example);*/
  content: none;
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 80%;
  padding: 4px 8px;
  border: 1px solid #ccc;
  border-radius: 3px;
  color: #333;
  text-align: left;
  font-size: 11px;
  background: #fff;
  opacity: 0;
  transition: .7s opacity;
}
.nt2__link:hover::after {
  opacity: 1;
}
.nt2__link::before{
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  margin: 0px 5px 0px 0;
  background: no-repeat center center;
  background-color:var(--theme_haken);
  border-radius: 50%;
  line-height: 0;
}
.nt2__link.is_current{
  background:var(--theme_haken);
  color: #fff;
}
.nt2__link.is_current::after{content:none;}
.nav-top2--win {background: #F8F3ED;}
.nav-top2--win .nt2__link--skill::before{  background-image: url("/common/img/nav_theme.png");}
.nav-top2--win .nt2__link--skill:hover {background:var(--theme_haken);}
.nav-top2--win .nt2__link--hierarchy::before{background-image: url("/common/img/nav_kaisou.png");}
.nav-top2--win .nt2__link--hierarchy:hover {background:var(--theme_haken);}
.nav-top2--win .nt2__link--gyoshu::before{background-image: url("/common/img/nav_gyoshu.png");}
.nav-top2--win .nt2__link--gyoshu:hover {background:var(--theme_haken);}
.nav-top2--win .nt2__link--dokuritu::before{background-image: url("/common/img/nav_dokuritu.png");}
.nav-top2--win .nt2__link--dokuritu:hover {background:var(--theme_haken);}
.nav-top2--win .nt2__link--section::before{background-image: url("/common/img/nav_section.png");}
.nav-top2--win .nt2__link--section:hover {background:var(--theme_haken);}
.nav-top2--win .nt2__link--needs::before{background-image: url("/common/img/nav_needs.png");}
.nav-top2--win .nt2__link--needs:hover {background:var(--theme_haken);}
.nav-top2--win .nt2__link--new::before{background-image: url("/common/img/nav_new.png");}
.nav-top2--win .nt2__link--new:hover {background:var(--theme_haken);}
@media screen and (max-width: 768px){
  .nav-top2__title{ margin-bottom: 10px;}
  .nt2{ 
    justify-content: space-between;
    gap: 6px 0;
  }
  .nt2__list{
    width: calc(33.333% - 3px);
  }
  .nt2__link{ 
    font-size: 12px;
    line-height: 1.4;
  }
}
.subnav {
  display: flex;
  align-items: flex-start;
  @media screen and (max-width: 768px) {
    flex-direction: column;
  }
}
.subnav_btnList {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px 10px 10px 0;
  gap: 10px;
}
.subnav_btnList--pc {
  @media screen and (max-width: 768px) {
    display:none;
  }
}
.subnav_btnList--sp {
  display: none;
  @media screen and (max-width: 768px) {
    display: flex;
    padding: 10px; 
    gap: 6px 0; 
  }
}
.subnav_btnItem {
  width: 120px;
  @media screen and (max-width: 768px) {
    width: calc(25% - (12px / 4));
  }
  @media screen and (max-width: 599px) {
    width: calc(50% - (6px / 2));
  }
}
.subnav_btnItem_target {
  color:#333;
  font-weight: bold;
  text-align: center;
  display: flex;
  height: 50px;
  width: 100%;
  align-items: center;
  justify-content: center;
  border: 1px solid #BBBBBB;
  border-radius: 4px;
  line-height: 1.3;
  background-color: #fff;
  @media screen and (max-width: 768px) {
    font-size: 12px;
    height :40px; 
  }
  @media screen and (max-width: 768px) {
    &.subnav_btnItem_target--ask, &.subnav_btnItem_target--shodan {
      font-size: 14px;
    }
  }
}
.subnav_btnItem:has(.subnav_btnItem_target--ask) {
  @media screen and (max-width: 768px) {
    order:5;
    width: calc(50% - (6px / 2)); 
  }
}
.subnav_btnItem:has(.subnav_btnItem_target--shodan) {
  @media screen and (max-width: 768px) {
    order:6;
    width: calc(50% - (6px / 2)); 
  }
}
.subnav_btnItem_target--ask {
  color: #ec4062;
  border-color: inherit;
}
.subnav_btnItem_target--shodan {
  color: #2a6cae;
  border-color: inherit;
}
.subnav_btnItem_target:hover {
  opacity: .6;
  transition: opacity .3s;
}
.subnav_btnItem_target_img {
  width: 24px;
  height: auto;
  margin-right: 4px;
}

/*研修の流れ*/
#kenshu_flow_nav{
  display:none;
}
@media screen and (max-width:768px){
  #kenshu_flow_nav{
    display: block;
    margin:30px 0;
  }
  #kenshu_flow_nav a{
    display: block;
    padding: 12px 0;
    border:1px solid #9e2730;
    color: #9e2730;
  }
  #kenshu_flow_nav a:hover{
    color: #fff;
    background: #9e2730;
  }
  #kenshu_flow_nav p{
    font-size: 14px;
    font-weight: normal;
    text-align: center;
  }
  
}


/* お問合せスライダー */
.recentInquiries__wrap{
  display:none;
  align-items: center;
  justify-content: flex-start;
  margin: auto;
  width: 985px;
  padding: 0 20px 10px 20px;
}
.recentInquiries__wrap:has(.slick-initialized){
  display:flex;
}
.recentInquiries__ttl{
  color: #9e2730;
}
.recentInquiries__box{
  border:2px solid #9e2730;
  background-color: #fff;
  margin-left: 10px;
  width: 500px;
}
.recentInquiries__slider__target{}
body{
  :is(.inquiriesSlider) {
    width: auto;
    .slick-slide a{
      padding: 2px 5px;
      display:flex;
      align-items: center;
      white-space: nowrap;
      font-size:14px;
      transition:.3s;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .slick-slide a:hover{
      opacity:0.6;
    }
    .slick-slide a:after{
      content:"";
      display:inline-block;
      width: 20px;
      height: 20px;
      margin-left: 5px;
      background-image:url(/resource/img/lineup/ico_inquirySlider_click.png);
      background-size: 20px;
      rotate: -30deg;
    }
    .slick-prev, .slick-next {
      background-color: var(--theme_haken);
      border-radius: 9999px;
      height: 20px;
      top: 50%;
      bottom: auto;
      width: 20px;
      transform: translateY(-50%);
    }
    .slick-prev { left: calc(500px + 20px); }
    .slick-next { right: calc(-240px); }
    .slick-prev::before, .slick-next::before {
      height: 6px;
      width: 6px;
    }
    .slick-prev::before { transform: translateX(2px) rotate(-135deg); }
    .slick-next::before { transform: translateX(-2px) rotate(45deg); }
    .slick-dots{
      width: 165px;
      top: 50%; 
      bottom: auto;
      left: calc(500px + 45px);
      transform: translateY(-50%);
    }
    .slick-dots button{
      width: 8px;
      border-radius: 50%;
      margin: 0 4px;
    }
  }
}
@media screen and (max-width: 768px){
  .recentInquiries__wrap:has(.slick-initialized){
    margin-top: 10px;
    padding-bottom: 40px;
    display: block;
    width: 100%;
  }
  .recentInquiries__box{
    width: 100%;
    margin-top:10px;
    margin-left: 0;
  }
  body{
    :is(.inquiriesSlider) {
      .slick-prev, .slick-next {
        height: 20px;
        top: auto;
        bottom: -40px;
        width: 20px;
        transform: translateY(-50%);
      }
      .slick-prev { 
        left: auto;
        right: 270px;
      }
      .slick-next { 
        right: 0;
      }
      .slick-dots{
        top: auto; 
        bottom: -27px;
        left: auto;
        right: 30px;
        width:230px;
      }
    }
  }
}



/**********
layout
**********/

/**********
component
**********/

/*テーブルビュー*/
.c_tableview{}
.c_tableview__item{}
.c_tableview__target{
  display:block;
  color: inherit;
}
.c_tableview__target--transparent:hover{
  opacity: .7;
}
.c_tableview__target--underline:hover{
  text-decoration: underline;
}
/*グリッド*/
.c_grid{
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}
.c_grid__item{
  display: flex;
}
.c_grid__inner{
  display: block;
  width: 100%;
}
.c_grid--hasGutter{  margin: -16px;}
.c_grid--hasGutter > .c_grid__item{  padding: 16px;}
.c_grid--hasGutterSm{  margin: -8px;}
.c_grid--hasGutterSm > .c_grid__item{  padding: 8px;}
.c_grid--hasGutterXs{  margin: -4px;}
.c_grid--hasGutterXs > .c_grid__item{  padding: 4px;}
.c_grid--hasGutterXxs{  margin: -2px;}
.c_grid--hasGutterXxs > .c_grid__item{  padding: 2px;}

/*アイコン*/
.c_hasIco{
  position: relative;
}
.c_hasIco__item,
.c_hasIco::before,
.c_hasIco::after{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.c_hasIco__item,
.c_hasIco::before{
  left: 0;  
}
.c_hasIco::after{
  right: 0;  
}

/*ラベル*/
.c_lavel{
  display: inline-block;
  padding: 3px 2px;
  line-height: 1;
  letter-spacing: 0;
  font-size: 10px;
  font-weight: normal;
}

/*****************
project
*****************/
/*節*/
.p_sec{}
.p_sec--lg > .p_sec__item + .p_sec__item{  margin-top: 36px;}
.p_sec--md > .p_sec__item + .p_sec__item{  margin-top: 24px;}
.p_sec--sm > .p_sec__item + .p_sec__item{  margin-top: 16px;}
.p_sec--xs > .p_sec__item + .p_sec__item{  margin-top: 8px;}
.p_sec--megaMenu{  padding: 16px;}
/*見出し*/
.p_heading{}
.p_heading--primary{
  margin-bottom: 24px;
  padding: 8px 16px;
  border-top: 1px solid #7c7b7c;
  border-bottom: 1px solid #7c7b7c;
  background: #e4e4e4;
  font-size: 16px;
}
.p_heading--primary > .p_heading__ttl{
  font-weight: normal;
}
.p_heading--attention{
  margin-bottom: 24px;
  padding: 9px 8px;
  background: #9e2730;
  color: #fff;
  font-size: 16px;
}
.p_heading--attention > .p_heading__ttl{
  position: relative;
  padding-left: 32px;
  font-weight: normal;
}
.p_heading--attention > .p_heading__ttl::before{
  content: url(/resource/img/lineup/excla_icon.svg);
  position: absolute;
  left: 0;
  top: 50%;
  display: block;
  width: 24px;
  height: auto;
  line-height: 0;
  transform: translateY(-50%);
}
.p_heading--feature{
  font-size: 24px;
  font-weight: 500;
  color: #9e2730;
}
.p_heading--news{
  margin-bottom: 6px;
  padding: 7px 8px;
  background: #9e2730;
  color: #fff;
  font-size: 16px;
}
.p_heading--news > .p_heading__ttl{
  position: relative;
  padding-left: 32px;
  font-weight: normal;
}
.p_heading--news > .p_heading__ttl::before{
  content: "\f1d8";
  position: absolute;
  left: 0;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #9e2730;
  font-size: 16px;
  line-height: 1;
  text-indent: -3px;
  font-family: FontAwesome;
  background: #fff;
  transform: translateY(-50%);
}
.p_heading--pdf_dl{
  margin-bottom: 8px;
  padding-top: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #7c7b7c;
}
.p_heading__ico__pdf{
  color: #9e2730;
}
.p_heading--pdf_dl > .p_heading__ttl{
  line-height: 1;
  font-size: inherit;
}
.p_heading--secondary{
  margin-bottom: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid #7c7b7c;
}
.p_heading--sidePrimary{
  padding: 8px 0 8px 16px;
  background: #9e2730;
  color: #fff;
  font-size: 14px;
}
.p_heading--sideSecondaly{
  border-bottom: 1px solid #333;
  padding-top: 4px;
  padding-bottom: 4px;
  font-size: 14px;
  font-weight: bold;
}
.p_heading--sideSecondaly > .p_heading__ttl{
  line-height: 1.3;
}
.p_heading--megaMenu{
  padding: 8px 16px;
  background: #efeaed;
}
.p_heading__ttl{
  line-height: 1.2;
  font-size: inherit;
}
.p_heading__ttl--lineup{
  color:#9e2730;
}
.p_heading__ttl--hasIco{
  position: relative;
  padding-left: 32px;
  font-weight: normal;
}
.p_heading__ttl--hasIco:before{
  content:"";
  position: absolute;
  left: 0;
  top: -2px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
.p_heading__ttl--hasIco--small{
  padding-left: 28px;
}
.p_heading__ttl--hasIco--small:before{
  width: 20px;
  height: 20px;
  background-size: contain;
}
.p_heading__ttl--skill:before{ background-image: url("/common/img/nav_theme.png");}
.p_heading__ttl--hierarchy:before{ background-image: url("/common/img/nav_kaisou.png");}
.p_heading__ttl--gyoshu:before{ background-image: url("/common/img/nav_gyoshu.png");}
.p_heading__ttl--dokuritu:before{ background-image: url("/common/img/nav_dokuritu.png");}
.p_heading__ttl--section:before{ background-image: url("/common/img/nav_section.png");}
.p_heading__ttl--needs:before{ background-image: url("/common/img/nav_needs.png");}

@media screen and (max-width:599px){
  .p_heading--feature{
    font-size: 18px;
  }
}
/*アイコン*/
.p_hasIco--bgRed{}
.p_hasIco--bgRed > .c_hasIco__item > img{
  background: #9e2730;
  -webkit-backface-visibility: hidden;/* chrome対応 */
  max-width: 100%;
  height: auto;
}
.p_hasIco--bgRed > .c_hasIco__item > [src="/resource/img/icons/lup_site.png"]{
  background: none;
}
.p_hasIco--heading{
  display: flex;
  align-items: center;
}
.p_hasIco--heading > .c_hasIco__item{
  margin: 0 8px 0 4px;
  position: static;
  transform: none;
}
.p_hasIco--heading::before{
  left: 4px;
}
.p_hasIco--heading > .c_hasIco__item--left0{
  left: 0;
}
.p_hasIco--link{
  padding-left:1.5em;
}
.p_hasIco--link::before{
  content: "";
  border: 6px solid transparent;
  border-right: none;
  border-left:10px solid currentColor;
  width: 0;
  height: 0;
  transform: translateY(-50%);
}
.is_active .p_hasIco--megaMenuArrow::after{
  content: "";
  width: 12px;
  height: 12px;
  border-top: 1px solid #7c7b7c;
  border-left: 1px solid #7c7b7c;
  background: #fff;
  transform: translate(6px, -50%) rotate(315deg);
  z-index: 9999;
}

/*テーブルビュー*/
.p_tableview--side{}
.p_tableview--side > .c_tableview__item{
  border-bottom: 1px solid #7c7b7c;
}
.p_tableview--side .c_tableview__target{
  padding-top: 3px;
  padding-bottom: 3px;
}
/*ボタン*/
.p_btn--modalClose{}
.p_btn--modalClose > .c_btn__target{
  width: 32px;
  height: 32px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #333;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
}

/*リンク*/
.p_link{
  color: #0044CC;
}
.p_link__img{}
.p_link__ttl{}
.p_link:hover{
  color: #f79494;
  text-decoration: underline;
}
.p_link--box{
  color: inherit;
  text-decoration: none;
}
.p_link--box:hover{
  color: inherit;
  text-decoration: underline;
}

/*ラベル*/
.p_lavel{}
.p_lavel--red{
  background: #9e2730;
  color: #fff;
}
/*QAへのリンク*/
.p_qaLink{
  display: flex;
  justify-content: flex-end;
}
/*メガメニュー*/
.p_megaMenu{
  position: relative;
  z-index: 2;
}
.p_megaMenu.is_active .p_megaMenu__target{
  color: #9e2730;
}
.p_megaMenu__body{
  position: absolute;
  top: -36px;
  left: 100%;
  display: none;
  width: 360px;
  border: 1px solid #7c7b7c;
  background: #fff;
}
.p_megaMenu.is_active .p_megaMenu__body{
  display: block;
}

/* ローカルナビ下のカテゴリラインナップ */
.p_lineupTtlWrap{ 
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
.p_lineup__ttl{
  border: 2px solid;
  border-bottom: none;
  border-color: var(--theme_haken);
}
.p_lineup__ttl__link{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  color:var(--theme_haken);
  min-width: 135px;
  padding: 5px 10px;
}
.p_lineup__ttl__link:hover{
  color: #fff;
  background-color: var(--theme_haken);
}
.p_lineup__ttl__link:before{
  content:"";
  position: relative;
  left: 0;
  top: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  margin-right: 5px;
  background-color: var(--theme_haken);
}
.p_lineup__ttl__link--skill:before{ background-image: url("/common/img/nav_theme.png");}
.p_lineup__ttl__link--hierarchy:before{ background-image: url("/common/img/nav_kaisou.png");}
.p_lineup__ttl__link--gyoshu:before{ background-image: url("/common/img/nav_gyoshu.png");}
.p_lineup__ttl__link--dokuritu:before{ background-image: url("/common/img/nav_dokuritu.png");}
.p_lineup__ttl__link--section:before{ background-image: url("/common/img/nav_section.png");}
.p_lineup__ttl__link--needs:before{ background-image: url("/common/img/nav_needs.png");}
.p_lineup__ttl__link.is_current{
  background-color:var(--theme_haken);
  color:#fff;
}
.p_catLineup{
  padding: 16px;
  border: 2px solid;
}
.p_catLineup__list{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: -8px;
}
.p_catLineup__item{
  width: 25%;
  display: block;
  padding: 8px;
}
.p_catLineup__link{
  display: block;
  width: 100%;
  color: inherit;
  font-size: 14px;
}
.p_catLineup--colorTheme{
  border-color: #9e2730;
}
@media screen and (max-width: 768px){
  .p_lineup__ttl{ width: 100%;}
  .p_lineup__ttl:not(:has(.is_current)) { display: none;}
  .p_lineup__ttl__link{ justify-content: start;}
}

/*キャッチコピーなど脚注*/
.p_attention{
  font-size: 10px;
}
.p_attention--normal{
  color: #2f768c;
}
/*注目研修*/
.p_attentionLineup{}
.p_attentionLineup__item{}
.p_attentionLineup__target{}
.p_attentionLineup__target:hover{
  text-decoration: underline;
}
.p_attentionLineup--mainCont{}
.p_attentionLineup--mainCont > .p_attentionLineup__item + .p_attentionLineup__item{
  margin-top: 16px;
}
.p_attentionLineup--mainCont .p_attentionLineup__target{
  position: relative;
  display:block;
  padding-left: 1.5em;
  color: inherit;
}
.p_attentionLineup--mainCont .p_attentionLineup__target::before{
  content: "";
  border: 7px solid transparent;
  border-left:12px solid currentColor;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  transform: translateY(-45%);
}
.p_attentionLineup--side{}
.p_attentionLineup--side > .p_attentionLineup__item{
  border-bottom: 1px solid #7c7b7c;
}
.p_attentionLineup--side .p_attentionLineup__target{
  display:block;
  padding-top: 8px;
  padding-bottom: 8px;
  color: inherit;
}

/* 検索ボックス */
.searchField{
  margin-bottom: 0;
  padding: 0;
}
.searchField__wrap{}
.sesearchField__inner{
  padding: 10px 20px;
  background: #EEEEEE;
}
.searchField__body{
  display: flex;
  align-items: center;
}
.searchField__heading{
  flex: 0 0 140px;
  position: relative;
  margin-right: 30px;
  background: #9E2730;
}
.searchField__heading::before{
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-top: 15px solid rgba(255, 255, 255, 0);
  border-bottom: 15px solid rgba(255, 255, 255, 0);
  border-left: 15px solid #9E2730;
  transform: translateX(100%);
}
.searchField__ttl{
  position: relative;
  padding: 0 16px;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  line-height: 30px;
}
.searchField__ttl::after{
  content: "";
  position: absolute;
  right: 8px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-top: 15px solid rgba(255, 255, 255, 0);
  border-bottom: 15px solid rgba(255, 255, 255, 0);
  border-left: 15px solid #EEEEEE;
  transform: translateX(100%);
}
.searchField__ttl::before{
  content: "";
  position: absolute;
  right: 12px;
  top: 0;
  bottom: 0;
  z-index: 1;
  margin: auto 0;
  border-top: 15px solid rgba(255, 255, 255, 0);
  border-bottom: 15px solid rgba(255, 255, 255, 0);
  border-left: 15px solid #9E2730;
  transform: translateX(100%);
}
.searchField__fieldWrap{
  flex: 1 1 auto;
  display: flex;
  align-items: stretch;
  border: none;
  border-radius: 0px;
  overflow: hidden;
}

.searchField__field{
  width: calc(100% - 30px);
}
.searchField__field input{
  width: 100%;
  padding: 0;
  border-radius: 0;
  border:1px solid #707070;
  border-right: none;
  outline: none;
  line-height: 28px;
  text-indent: .5em;
}
.searchField__btn{
  background: #2793D2;
  width: 30px;
  height: 30px;
  padding: 6px;
  border: none;
  line-height: 0;
  cursor: pointer;
  transition: .3s opacity;
}
.searchField__btn img{
  max-width: 100%;
  height: auto;
}
.searchField__btn:hover{
  opacity: .7;
}
.searchField__footer{
  margin-top: 16px;
}
.searchField__footer.searchReset{
  margin: 0 0 10px;
}
.searchField__reset{
  display: flex;
  justify-content: flex-end;
}
.searchField__resetTarget{
  position: relative;
  display: block;
  padding-left: 1.5em;
  font-size: 14px;
  text-decoration: underline;
  color: inherit;
  transition: .3s opacity;
}
.searchField__resetTarget:hover{
  opacity: .7;
}
.searchField__resetTarget::before{
  content:"";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  width: 6px;
  height: 6px;
  margin: auto 0;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: rotate(45deg);
}
@media screen and (max-width: 768px){
  .searchField{
    margin: 40px auto 0;
  }
  .searchField__body{
    flex-wrap: wrap;
  }
  .searchField__heading{
    margin: 0 0 8px 0;
  }
  .searchField__fieldWrap{
    width: 100%;
  }
}

/* 検索サンプルワード */
.searchWordBox{
  display: flex;
  align-items: center;
}
.searchWordBox__ttl{
  flex: none;
  position: relative;
  color: var(--theme_haken);
  padding-left: 0;
  margin-right: 10px;
  font-weight: bold;
  font-size: 14px;
}
.searchWordBox__ttl::before{
  content: none;
}

.searchWordBox__words{
  flex: 1 1 auto;
  display: flex;
  flex-wrap: wrap;
  padding-left: 12px;
  border-left: 4px solid #9E2730;
}
.searchWordBox__word{
  padding: 4px 6px;
  line-height: 1;
}
.searchWordBox__wordTarget{
  font-size: 14px;
  text-decoration: underline;
  color: inherit;
  transition: .3s opacity;
}
.searchWordBox__wordTarget:hover{
  opacity: .7;
}
@media screen and (max-width: 768px){
  .searchWordBox{
    display: block;
  }
  .searchWordBox__ttl{
    margin: 0 0 12px 0;
  }
}
.js_isHide{
  display: none;
}

/* 自治体向けサービスへのバナーリンク */
#toServiceLink{ margin-top: 48px;}
.p_service_link__target{
  transition: .3s;
}
.p_service_link__target:hover{
  opacity: .7;
}
.p_service_link__img{
  width: 100%;
  height: auto;
  border: 1px solid #ccc;
}

/* 速報新作研修スライダー */
.m_newReleaseFlashKeyvisual{
  position: relative;
  display: block;
  color: inherit;
  font-family:"Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
}
.m_newReleaseFlashKeyvisual__img{
  line-height: 0;
  text-align: center;
  img{
    max-width: 100%;
    height: auto;
  }
}
.m_newReleaseFlashKeyvisual__lineup{
  position: absolute;
  top: 28%;
  left: 5%;
  width: 68%;
}
.m_newReleaseFlashKeyvisual__item{
  & + &{
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #d4d4d4;
  }
  @media screen and (max-width: 768px){
    & + &{
      border-top: none;
    }
  }
}
.m_newReleaseFlashKeyvisualCard{
  display: block;
  color: inherit;
  text-decoration: none;
}
.m_newReleaseFlashKeyvisualCard__tags{
  display: flex;
  align-items: center;  
  gap: 10px;
  & + .m_newReleaseFlashKeyvisualCard__ttl{
    margin-top: 5px;
  }
}

.m_newReleaseFlashKeyvisualCard__tag{
  padding: 2px 10px;
  border: 1px solid;
  border-radius: .4em;
  line-height: 1;
  font-size: 12px;
}
.m_newReleaseFlashKeyvisualCard__date{
  color: #d66c00;
  line-height: 1;
  font-weight: bold;
  font-size: 14px;
}
.m_newReleaseFlashKeyvisualCard__tag--haken{color: #842e30;}
.m_newReleaseFlashKeyvisualCard__tag--bup{color: #0c3f71;}
.m_newReleaseFlashKeyvisualCard__tag--douga{color: #cc2d5e;}
.m_newReleaseFlashKeyvisualCard__ttl{
  position: relative;
  height: 1lh;
  line-height: 1.2;
  font-size: 18px;
  overflow: hidden;
  &::after{
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    width: 2em;
    height: 1lh;
    background: linear-gradient(to left, #fff, rgba(255, 255, 255, 0.96) 25%, rgba(255, 255, 255, 0) 100%);
  }
}

/* サイドナビ */
.side_hakenLogo{
  text-align: center;
  padding: 10px 0;
}
.side_hakenLogo img{
  vertical-align: bottom;
}
.side_hakenRslt {
  font-family: inherit;
  margin-bottom: 20px;
  letter-spacing:0;
}
.hakenRslt__heading{
  border-top: 3px solid #ccc;
  font-family: inherit;
  font-size: 14px;
  font-weight: bold;
  padding: 5px 0;
  position: relative;
  letter-spacing: 0;
}
.hakenRslt__heading::before {
  border-top: 3px solid #E51E19;
  content: "";
  display: block; 
  position: absolute;
  left: 0;
  top: -3px;
  width: 38%;
}
.hakenRslt__heading > img {
  background-color: #E51E19;
  margin-right: 5px;
  vertical-align: -5px;
}
#cont #c3_ll dl .jissekiNumBox {
  border: 1px solid #d7d0c0;
  border-color: var(--theme_haken);
  border-radius: 3px;
  font-family: inherit;
  padding: 5px;
  background-color: #fff;
  position: relative;
  color: #333;
  text-align: left;
  font-weight: bold;
  background: none;
}  
.jissekiNumBox p:first-of-type { margin-top: 10px; }
.jissekiNumBox p + p { margin-top: 5px; }
.jissekiNumBox__text {
  align-items: center;
  display: flex;
  -js-display: flex;
  font-family: inherit;
  justify-content: space-between;
  margin-bottom: 5px;
  font-family: inherit;
  font-size: 10px; 
  font-weight: bold;
  line-height: 1;
}
.jissekiNumBox__text + .jissekiNumBox__text{margin-top: 5px;}
.jissekiNumBox__attentionText{  
  margin-top: 5px;
  font-size: 10px;
  font-weight:normal;
}
.jissekiNumBox__attentionText + .jissekiNumBox__attentionText{ margin-top: 3px;}
.jissekiNum__attension {
  font-family: inherit;
  font-size: 10px;
}
#cont #c3_ll dl .jissekiNumBox__numTextWrap{
  border-top: none;
  background: unset;
  padding: 0;
  display: flex;
  align-items: flex-end;
  line-height: 1;
}
.jissekiNumBox__numText {
  font-family: inherit;
  font-size: 23px; 
  font-weight: bold;
  line-height: 1;
  text-align: right;
}
.jissekiNumBox__numberWord{
  font-family: inherit;
  font-size: 12px;
}
/*アンカー位置を調整*/
.anchor-adjust{
  scroll-margin-top: 110px;
}
@media screen and (max-width: 768px) {
  .anchor-adjust{
    scroll-margin-top: 0px;
  }              
}
/*オーバーレイ（JS）*/
.js_overlay{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99998;
  width: 100vw;
  height: 100vh;
  background: #000;
  opacity: .8;
}
.overlay-enter-active,.overlay-leave-active{
  transition: .5s all;
}
.overlay-leave-to{
  opacity: 0;
}
.overlay-enter{
  opacity: 0;
}

/*固定ナビ*/
.js_fixNav{
  height: var(--nav_h);
  @media screen and (max-width: 768px){
    height: auto;
  }
}
.js_fixNav__nav.is_fixed{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999999;
  width: 100%;
  @media screen and (max-width: 768px){
    position: static;
  }
}
/*********
utility
**********/
/*横幅*/
.u_col1{width:8.333%;}
.u_col2{width:16.667%;}
.u_col3{width:25%;}
.u_col4{width:33.333%;}
.u_col5{width:41.666%;}
.u_col6{width:50%;}
.u_col7{width:58.333%;}
.u_col8{width:66.666%;}
.u_col9{width:75%;}
.u_col10{width:83.33%;}
.u_col11{width:91.666%;}
.u_col12{width:100%;}
/*間隙*/
.u_mb4{margin-bottom: 4px;}
.u_mb8{margin-bottom: 8px;}
.u_mb16{margin-bottom: 16px;}
.u_mb24{margin-bottom: 24px;}
.u_mb40{margin-bottom: 40px;}
.u_mb64{margin-bottom: 64px;}
.u_mr8{margin-right: 8px;}
.u_mt4{margin-top: 4px;}
.u_mt8{margin-top: 8px;}
.u_mt16{margin-top: 16px;}
/*フォントサイズ*/
.u_fs11{font-size: 11px;}
.u_fs10{font-size: 10px;}
/*パディング*/
.u_pl4{padding-left: 4px;}
.u_pl8{padding-left: 8px;}
.u_pl16{padding-left: 16px;}
/*フォントサイズ*/
.u_fs11{font-size: 11px;}
.u_fs10{font-size: 10px;}
/*フォントの太さ*/
.u_fwB{font-weight: bold;}
/*ポジション*/
.u_rel{position: relative;}
/*文字間*/
.u_ls0{letter-spacing: 0px;}
/*文字位置*/
.u_ar{text-align: right;}
/*表示*/
.u_hide{display: none;}
.cu_hide {display: none;}
.cu_hideImp {display: none !important;}
@media screen and (max-width: 768px) {
  .u_resMdCol1{width:8.333%;}
  .u_resMdCol2{width:16.667%;}
  .u_resMdCol3{width:25%;}
  .u_resMdCol4{width:33.333%;}
  .u_resMdCol5{width:41.666%;}
  .u_resMdCol6{width:50%;}
  .u_resMdCol7{width:58.333%;}
  .u_resMdCol8{width:66.666%;}
  .u_resMdCol9{width:75%;}
  .u_resMdCol10{width:83.33%;}
  .u_resMdCol11{width:91.666%;}
  .u_resMdCol12{width:100%;}
  .u_resMdMb8{  margin-bottom: 8px; }
  .u_resMdMb16{ margin-bottom: 16px; }
  .resHide, .cu_resMdHide {display: none;}
  .cu_resMdInline {display: inline;}
  .cu_resMdBlock {display: block;}
  .cu_resMdHideImp {display: none !important;}
  .cu_resMdInlineImp {display: inline !important;}
  .cu_resMdBlockImp {display: block !important;}
  .u_resMdHide{display: none;}
  .u_resMdInline{display: inline;}
}
@media screen and (max-width: 599px) {
  .u_resSmCol1{width:8.333%;}
  .u_resSmCol2{width:16.667%;}
  .u_resSmCol3{width:25%;}
  .u_resSmCol4{width:33.333%;}
  .u_resSmCol5{width:41.666%;}
  .u_resSmCol6{width:50%;}
  .u_resSmCol7{width:58.333%;}
  .u_resSmCol8{width:66.666%;}
  .u_resSmCol9{width:75%;}
  .u_resSmCol10{width:83.33%;}
  .u_resSmCol11{width:91.666%;}
  .u_resSmCol12{width:100%;}
  .cu_resSmHide { display: none;}
  .cu_resSmInline { display: inline; }
  .cu_resSmBlock { display: block;}
  .cu_resSmHideImp {display: none !important;}
  .cu_resSmInlineImp {display: inline !important;}
  .cu_resSmBlockImp {display: block !important;}
  .u_resSmInline{display: inline;}
  .u_resSmLs0{ letter-spacing: 0px;}
}