@charset "utf-8";
/* --------- The Event Calendar BUG recover style ----------- */
article.post-1516 {
  display: none !important;
}
html,
body {
  color: #333;
  font-family: "Noto Serif JP", serif, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3",
    "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-weight: 500;
  font-style: normal;
  font-size: 15px;
  line-height: 1.6em;
}

body {
  -webkit-font-smoothing: antialiased;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
a:hover img {
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
a,
a:before,
a:after {
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-decoration: none;
}

a {
  color: #000;
}
a:hover {
  text-decoration: none;
}

.tel-link a,
a.txt_link.b_line {
  color: #4680ba;
  text-decoration: underline;
}

img {
  line-height: 0;
  vertical-align: bottom;
  width: 100%;
  max-width: 100%;
  height: auto;
}
img[src*="’.svg’"] {
  width: 100%;
  height: auto;
}

@media all and (-ms-high-contrast: none) {
  main {
    display: block;
  }
}

table {
  width: 100%;
}
table th,
table td {
  border: 1px solid;
  vertical-align: middle;
}

.mobile {
  display: none;
}
.pc {
  display: inherit;
}

.wf-jp-g {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
.wf-jp-min {
  font-family: "A1 Mincho";
}
.wf-en-g {
  font-family: FuturaLTPro-Book;
}

.inner {
  width: 1100px;
  margin: 0 auto;
}

.inner_min {
  width: 1000px;
  margin: 0 auto;
}
.inner_w95 {
  width: 95%;
  margin: 0 auto;
}

.inner_wide {
  width: 100%;
  max-width: 1230px;
  min-width: 1100px;
  margin: 0 auto;
}

.min-w {
  min-width: 1280px;
}

.dflex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.wrap {
  flex-wrap: wrap;
}
.flex-start {
  justify-content: flex-start;
}
.flex-end {
  justify-content: flex-end;
}
.j-center {
  justify-content: center;
}
.flex_center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.animated.lowspeed {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}

.borderr img {
  border-radius: 6px;
}

.object-fit-img {
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.scroll-fadein {
  opacity: 0;
  transform: translateY(40px);
  transition: all 1s;
}
.tac {
  text-align: center;
}
.c_white {
  color: #fff;
}

.bg_g {
  background-color: #d4deeb;
}
.bg_pale_gl {
  background-color: #e7e9df;
}
.bg_blue {
  background-color: #4680ba;
}

/*-----------

ボタン　

-----------*/

/*---------- 枠グレー・矢印グレー ---------*/

.btn.btn_arrow a {
  border: 1px solid #cdd2d3;
  background-color: #fff;
  padding: 15px 30px;
  font-size: 14px;
  color: #727373;
  display: block;
  position: relative;
  z-index: 1;
}
.btn.btn_arrow a:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #0277bb;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease 0.3s;
}
.btn.btn_arrow a:after {
  content: "";
  display: block;
  background: url("../images/common/arrow_gray.png") no-repeat center center/
    contain;
  width: 24px;
  height: 6px;
  transition: 0.3s ease-in-out;
  position: absolute;
  right: 30px;
  top: 25px;
}
.btn.btn_arrow a:hover {
  /*
	background-color: #727373;
*/
  color: #fff;
}
.btn.btn_arrow a:hover:before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

.btn.btn_arrow a:hover:after {
  background: url("../images/common/arrow_white.png") no-repeat center center/
    contain;
  right: 20px;
}

/*---------- 枠青色・矢印青色 ---------*/

.btn.btn_arrow_blue a {
  border: 1px solid #0277bb;
  background-color: #fff;
  padding: 20px 35px;
  font-size: 16px;
  color: #0277bb;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 392px;
  margin: 0 0 0 auto;
}

.btn.btn_arrow_blue a:after {
  content: "";
  display: block;
  background: url("../images/common/arrow_blue_wide.svg") no-repeat center
    center/ contain;
  width: 126px;
  height: 14px;
  transition: 0.3s ease-in-out;
}
.btn.btn_arrow_blue a:hover {
  background-color: #0277bb;
  color: #fff;
}
.btn.btn_arrow_blue a:hover:after {
  background: url("../images/common/arrow_white_wide.svg") no-repeat center
    center/ contain;
}
.btn.btn_ml a {
  margin: 0 auto 0 0;
}

/*---------- 背景青色・矢印 白 ---------*/

.btn.btn_icon_circle a {
  border: 1px solid #004792;
  background-color: #004792;
  padding: 20px 20px 20px 12.5%;
  font-size: 20px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 600px;
  margin: 0 auto;
  position: relative;
}
.btn.btn_icon_circle a:before {
  content: "";
  display: block;
  position: absolute;
  width: 90px;
  height: 90px;
  left: 9px;
  top: -22%;
}
.btn.btn_icon_circle a:after {
  content: "";
  display: block;
  background: url("../images/common/arrow_white_wide.svg") no-repeat right
    center/ cover;
  width: 42px;
  height: 14px;
  transition: 0.3s ease-in-out;
}
.btn.btn_icon_circle a:hover {
  background-color: #fff;
  color: #004792;
}
.btn.btn_icon_circle a:hover:after {
  background: url("../images/common/arrow_blue_wide.svg") no-repeat right
    center/ cover;
}
.btn.btn_icon_circle.pdf a:before {
  background: url("../images/page/skilltraining/icon_c_download.svg") no-repeat
    center center/ contain;
}

.btn.btn_icon_circle.mail a:before {
  background: url("../images/page/skilltraining/icon_c_mail.svg") no-repeat
    center center/ contain;
}

/*---------- 背景青色・前矢印 白 ---------*/

.btn.btn_tri_blue a {
  color: #fff;
  line-height: 1;
  font-size: 18px;
  border: 1px solid #0277c0;
  border-radius: 10px;
  background-color: #0277c0;
  padding: 15px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn.btn_tri_blue a:before {
  content: "";
  display: block;
  background: url("../images/common/tri_white.svg") no-repeat center center/
    contain;
  width: 10px;
  height: 18px;
  margin-right: 15px;
}
.btn.btn_tri_blue a:hover {
  background-color: #fff;
  color: #0277c0;
}
.btn.btn_tri_blue a:hover:before {
  background: url("../images/common/tri_blue.svg") no-repeat center center/
    contain;
}
/*---------- 背景白色・枠ネイビー・矢印なし ---------*/
.btn.btn_bd_navy a {
  display: block;
  color: #00457c;
  font-size: 18px;
  border: 1px solid #00457c;
  border-radius: 10px;
  background-color: #fff;
  padding: 15px 10px;
  text-align: center;
}
.btn.btn_bd_navy a:hover {
  color: #fff;
  background-color: #00457c;
}
/*---------- メールアイコン ---------*/

.btn.btn_i_mail a {
  color: #000;
  line-height: 1;
  font-size: 20px;
  border: 1px solid #0277c0;
  background-color: #fff;
  padding: 15px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn.btn_i_mail a:before {
  content: "";
  display: block;
  background: url("../images/common/icon-mail_black.png") no-repeat center
    center/ contain;
  width: 21px;
  height: 16px;
  margin-right: 15px;
  margin-bottom: -2px;
}
.btn.btn_i_mail a:hover {
  background-color: #0277c0;
  color: #fff;
}
.btn.btn_i_mail a:hover:before {
  background: url("../images/common/icon-mail.png") no-repeat center center/
    contain;
}
/*---------- メールアイコン ---------*/

.btn.btn_shadow a {
  color: #000;
  line-height: 1;
  font-size: 19px;
  border: 1px solid #fff;
  background-color: #fff;
  padding: 40px 20px;
  display: flex;
  justify-content: center;
  width: 100%;
  box-shadow: 10px 10px 0px rgba(191, 191, 191, 0.25);
  transform: translate(-10px, -10px);
}
.btn.btn_shadow a:before {
  content: "";
  display: block;
  background: url("../images/common/tri_black.svg") no-repeat center center/
    contain;
  width: 8px;
  height: 8px;
  margin-right: 30px;
}
.btn.btn_shadow a:hover {
  box-shadow: 0px 0px 0px rgba(191, 191, 191, 0);
  background-color: #0277bb;
  color: #fff;
  transform: translate(0px, 0px);
}
.btn.btn_shadow a:hover:before {
  background: url("../images/common/tri_white.svg") no-repeat center center/
    contain;
  width: 8px;
  height: 8px;
}
/*----------

一枚画像貼り付け用

---------*/

.demo-img {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .demo-img img {
    width: 100%;
  }
  .inner {
    width: 90%;
  }
}

/*----------

動画(youtube)レスポンシブ設定

---------*/

.movie_cont.normal {
  max-width: 720px;
  margin: 0 auto 80px;
}
.movie_item {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin: 0;
}
.movie_item iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.movie_item.dummy:before {
  content: "動画が入ります。";
  color: #fff;
  text-align: center;
  position: absolute;
  top: 42%;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}

.movie_item.dummy iframe {
  background-color: #bbb;
}

.movie_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.movie_list.col3 .movie_box {
  width: 32%;
}
.movie_list.col3 .movie_box:nth-of-type(3n) {
  margin-right: 0 !important;
}
/*----------

header

---------*/
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0 0 0 1%;
  box-sizing: border-box;
}

.siteid {
  width: 16%;
  transition: 0.2s;
}
.siteid img {
  width: 100%;
}

header.fixed {
  background-color: rgba(255, 255, 255, 0.94);
  box-shadow: 2px 4px 8px -1px rgba(0, 0, 0, 0.2);
  position: fixed;
  top: 0;
  z-index: 99;
}
/*
header.fixed h1.siteid{width: 14%; padding: 10px 0;}
*/
header.fixed nav#navi ul li a {
  padding: 23px 0.8vw;
}

/* ナビゲーション */
nav#navi {
  width: 85%;
}
nav#navi ul {
  display: flex;
  justify-content: flex-end;
}
nav#navi ul li {
  box-sizing: border-box;
  font-size: 0.84vw;
}
nav#navi ul li a {
  display: block;
  color: #000;
  text-decoration: none;
  padding: 22px 0.8vw;
  width: 100%;
  box-sizing: border-box;
  border-left: 1px dotted #ccc;
}
nav#navi ul li a:hover {
  color: #fff;
  background-color: #4680ba;
}

nav#navi ul li ul.dropdwn_menu {
  /* width: 100%; */
  display: none;
  position: absolute;
  margin-left: 0;
  margin-top: 0;
  padding: 0;
  z-index: 9999;
  box-shadow: 2px 4px 8px -1px rgb(0 0 0 / 20%);
}
nav#navi ul li.js-dropdwn-acc.r0 ul.dropdwn_menu {
  right: 0;
}

nav#navi ul li ul.dropdwn_menu li {
  line-height: 16px;
  width: 100%;
  float: none;
}

nav#navi ul li ul.dropdwn_menu li a {
  height: auto;
  border-top: solid 1px #ddd;
  padding: 18px 1vw;
  margin: 0 0 0 0px;
  width: 15.7vw;
  display: block;
  color: #fff;
  background: #4680ba;
  font-size: 90%;
}
nav#navi ul li ul.dropdwn_menu li a:hover {
  background: #5ea6ef;
}
.js-dropdwn-icon {
  display: none;
}

/*----------

index

---------*/
.index_ttl_en {
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.2em;
}
.index_ttl {
  text-align: center;
  font-size: 23px;
  letter-spacing: 0.3em;
  margin-bottom: 70px;
}

.mainslide {
  position: relative;
  margin-bottom: 30px;
}
/*
.mainslide .contactbnr{
	position: absolute;
	bottom:20px;
	left:18%;
}
*/
.mainslide_txt {
  color: #fff;
  text-align: center;
  position: absolute;
  width: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 10;
  flex-direction: column;
}

.mainslide_txt h2 {
  font-size: 30px;
  text-align: center;
  line-height: 1.75;
  margin-bottom: 35px;
  letter-spacing: 0.4em;
}

.mainslide_txt .slider_txt {
  font-size: 21px;
}

.mainslide .slider.center-item {
  box-sizing: border-box;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  width: 100%;
  overflow: hidden;
}

.mainslide .slider div.slidelist {
  height: 700px;
}

.mainslide .slider div.slide_inner {
  font-size: 30px;
  box-sizing: border-box;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: #fff;
  width: 51.92vw;
  max-width: 675px;
  margin: 0 auto;
  height: 100%;
}
@media screen and (max-width: 1300px) {
  .mainslide .slider div.slidelist {
    height: 46.67vw;
  }
  .mainslide .slider div.slide_inner {
    width: 36.67vw;
  }
}
.mainslide .slider div.slide001 {
  background-image: url(../images/page/index/slide_dummy01.jpg);
}
.mainslide .slider div.slide002 {
  background-image: url(../images/page/index/slide_dummy02.jpg);
}
.mainslide .slider div.slide003 {
  background-image: url(../images/page/index/slide_dummy03.jpg);
}
.mainslide .slider div.slide004 {
  background-image: url(../images/page/index/slide_dummy04.jpg);
}

.mainslide .slider div h2 {
  font-size: 30px;
  text-align: center;
  line-height: 1.75;
  margin-bottom: 35px;
  letter-spacing: 0.4em;
}
.mainslide .slider div p.slider_txt {
  font-size: 21px;
}
@media screen and (min-width: 1301px) {
  .mainslide .slider div.slide_inner {
    width: 51.92vw;
    max-width: 90%;
    margin: 0 auto;
  }
}

/*INTRODUCTION*/
.index_intro .mainarea {
  background: url(../images/page/index/index_bg_blue.jpg) no-repeat center
    center / cover;
  padding: 77px 0;
  color: #fff;
}

.index_intro .index_ttl_en span {
  padding: 12px 40px;
  border: 1px solid #fff;
  border-radius: 8px;
  margin-bottom: 30px;
}

.index_intro .index_ttl:after {
  content: "";
  display: block;
  background: url(../images/common/arrow_line_down.svg) no-repeat center center /
    cover;
  width: 70px;
  height: 26px;
  margin: 40px auto 40px;
  /*animation: 2s arrow-animation infinite ease-in-out;*/
}
/*@keyframes arrow-animation {
  0% {
    height: 1em;
  }
  66% {
    height: 3em;
  }
}*/
.index_intro .menu_list_wrap {
  margin-right: -39px;
  flex-wrap: wrap;
}

.index_intro .menu_list {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}

.index_intro .menu_list article {
  width: 33%;
  max-width: 334px;
  margin-right: 39px;
  margin-bottom: 32px;
}

.index_intro .menu_list article a {
  color: #fff;
}

.index_intro .menu_list article .menu_sttl {
  font-size: 13px;
  margin-bottom: 5px;
  letter-spacing: 0.2em;
}

.index_intro .menu_list .imgarea {
  position: relative;
  margin-bottom: 5px;
}

.index_intro .menu_list .menu_ttl {
  position: absolute;
  left: 20px;
  bottom: 0;
  width: 124px;
  color: #000;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-height: 88px;
  letter-spacing: 0.3em;
  transition: 0.3s ease-in-out;
  line-height: 1.4;
}
.index_intro .menu_list .menu_ttl .small {
  font-size: 10px;
  letter-spacing: 0.2em;
}
.index_intro .menu_list .menu_ttl .large {
  font-size: 20px;
}
.index_intro .menu_list a:hover .btn,
.index_intro .menu_list a:hover {
  opacity: 0.7;
}
@media all and (-ms-high-contrast: none) {
  .index_intro .menu_list a:hover .btn,
  .index_intro .menu_list a:hover {
    opacity: 1;
  }
  .index_intro .menu_list .menu_ttl {
    height: 88px;
  }
}

.index_intro .menu_list .btn {
  text-align: right;
}

.index_intro .menu_list .btn span {
  padding: 0px 20px 5px 30px;
  background: url(../images/common/tri_white.svg) no-repeat top 30% left 11px/ 7px
    7px;
  border-bottom: 1px solid #fff;
}

.index_intro .subarea {
  background: url(../images/page/index/intro_bg_white.jpg) no-repeat center
    center / cover;
  padding: 55px 0 45px;
}

.index_intro .submenu_list li {
  width: 48%;
  max-width: 497px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.index_intro .submenu_list li + li {
  margin-left: 45px;
}
.index_intro .submenu_list li a {
  color: #000;
  line-height: 1;
  font-size: 19px;
  border: 1px solid #fff;
  background-color: #fff;
  padding: 40px 20px;
  display: flex;
  justify-content: center;
  width: 100%;
  box-shadow: 10px 10px 0px rgba(191, 191, 191, 0.25);
  transform: translate(-10px, -10px);
}
.index_intro .submenu_list li a:before {
  content: "";
  display: block;
  background: url("../images/common/tri_black.svg") no-repeat center center/
    contain;
  width: 8px;
  height: 8px;
  margin-right: 30px;
}
.index_intro .submenu_list li a:hover {
  box-shadow: 0px 0px 0px rgba(191, 191, 191, 0);
  background-color: #0277bb;
  color: #fff;
  transform: translate(0px, 0px);
}
.index_intro .submenu_list li a:hover:before {
  background: url("../images/common/tri_white.svg") no-repeat center center/
    contain;
  width: 8px;
  height: 8px;
}

/*新着情報*/
.index_news .inner {
  padding: 110px 0 90px;
  width: 1000px;
  flex-wrap: wrap;
  align-items: center;
}

.index_news .btn.btn_arrow {
  margin: 0 0 0 auto;
  align-items: center;
  flex-wrap: wrap;
  width: 246px;
}

.index_news .index_ttl {
  font-size: 28px;
  margin-bottom: 0;
}

.index_news .index_ttl_en {
  font-size: 14px;
  margin-left: 30px;
}

/*経営理念*/
.index_philosopy {
  background: url(../images/page/index/philosophy_bg.jpg) no-repeat top center /
    1133px;
}
.index_philosopy .inner {
  padding: 130px 0 193px;
  color: #fff;
}
.index_philosopy .index_ttl_en {
  font-size: 24px;
  margin-bottom: 30px;
}

.index_philosopy h2 {
  max-width: 474px;
  margin: -40px auto 0px;
}

.index_philosopy .txt {
  text-align: center;
  font-size: 15px;
  line-height: 2.2;
  letter-spacing: 0.2em;
}

/*総合カレンダー*/
.index_schedule {
  background: url(../images/page/index/schedule_bg.jpg) no-repeat top -70px center /
    100%;
}
.index_schedule .inner {
  padding: 95px 0 0;
}
.index_schedule .index_ttl_en {
  color: #fff;
}

.index_schedule .index_ttl {
  color: #fff;
  font-size: 25px;
  margin-bottom: -100px;
}

.index_schedule .index_ttl .bg_g {
  background-color: rgba(0, 60, 93, 0.79);
  padding: 24px;
  display: block;
  max-width: 649px;
  margin: 10px auto 73px;
}
.index_schedule .cal_dummy {
  width: 100%;
  max-width: 959px;
  margin: 0 auto;
  display: block;
}
.index_schedule .bar_fork {
  background-color: #e2b6ff !important;
}
.index_schedule .bar_tama {
  background-color: #a9eef7 !important;
}

/*「特定技能ビザ」取得について*/
.index_topics {
  background: url(../images/page/index/topics_bg.jpg) no-repeat center center /
    cover;
  margin-top: -70px;
  padding: 140px 0 100px;
}
.index_topics .inner {
  width: 95%;
  max-width: 959px;
  background: url(../images/page/index/topics_inner_bg.jpg) no-repeat center
    center / 100%;
}
.index_topics .txtarea {
  padding: 100px 0;
  max-width: 575px;
  width: 95%;
}

.index_topics .index_ttl_en {
  margin-bottom: 35px;
}

.index_topics .index_ttl {
  font-size: 24px;
  letter-spacing: 0.2em;
  padding-bottom: 10px;
  border-bottom: 1px solid #919190;
  margin-bottom: 25px;
}
.index_topics .txtarea .txt {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 40px;
  text-align: center;
}

.index_topics .btn.btn_arrow a {
  width: 252px;
  margin: 0 auto;
  color: #000;
}
.index_topics .btn.btn_arrow a:hover {
  color: #fff;
}

/*MOVIE*/
.index_topics .index_movie {
  max-width: 1100px;
  margin-bottom: 30px;
  background: none;
}
.index_topics .index_movie .index_ttl_en {
  margin-bottom: 35px;
}

.index_movie_list {
  display: flex;
  flex-wrap: wrap;
}

.index_movie_list .movie_box {
  width: 33%;
  max-width: 353.33px;
  margin-right: 20px;
  margin-bottom: 30px;
}

.index_movie_list .movie_box:nth-of-type(3n) {
  margin-right: 0;
}

.index_link .link_list article {
  border: 1px solid #919190;
  background-color: #a6cbf5;
  padding-bottom: 15px;
}

.index_link .link_list article + article {
  border-left: none;
}
.index_link .link_list article .imgarea {
  max-width: 366px;
}
.index_link .link_list article .txtarea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 30px;
  min-height: 100px;
  color: #000;
}
@media all and (-ms-high-contrast: none) {
  .index_link .link_list article .txtarea {
    height: 100px;
  }
}
.index_link .link_list article a .btn:before {
  content: "";
  display: block;
  background: url(../images/common/arrow_black.png) no-repeat center center/
    contain;
  width: 24px;
  height: 6px;
  margin: 0 0 0 auto;
  transition: 0.3s ease-in-out;
}
.index_link .link_list article a:hover .btn:before {
  margin-right: -10px;
}

/*Contact us*/
.index_contactus .inner {
  padding: 125px 0 80px;
}

.index_contactus .index_ttl_en {
  margin-bottom: 40px;
}

.index_contactus .index_ttl {
  font-size: 19px;
  margin-bottom: 50px;
}

.index_contact_list {
  justify-content: center;
}
.index_contact_list li:nth-last-of-type(2) {
  margin: 0 35px;
}
.index_contact_list li,
.index_contact_list li.mail a {
  display: flex;
  align-items: center;
  color: #000;
  font-size: 30px;
  line-height: 1;
}
.index_contact_list li a:hover {
  color: #000;
  opacity: 0.7;
}
.index_contact_list li img {
  width: 50px;
  height: 50px;
  padding: 10px;
  border: 1px solid #cdd2d3;
  margin-right: 20px;
}
.index_contact_list li .small {
  font-size: 14px;
  display: block;
  line-height: 1.7;
}

.index_contact_list li.mail .small {
  margin-top: -4px;
}

.index_contactus .time {
  font-size: 14px;
  margin-top: 30px;
  text-align: center;
}

.index-blog .inner {
  padding: 40px 0 80px;
}
.index-blog .index_ttl_en {
  margin-bottom: 20px;
}
.index-blog .index_ttl {
  margin-bottom: 40px;
}
.index-blog-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.index-blog-list div.blog-list {
  width: 48%;
  margin: 0 1% 2%;
  box-sizing: border-box;
}
.index-blog-list div.blog-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  color: #333;
  text-decoration: none;
  padding: 2%;
}
.index-blog-list div.blog-list a:hover {
  color: #fff;
  background-color: #4680ba;
}
.index-blog-list div.blog-list a p.blog-img {
  width: 25%;
}
.index-blog-list div.blog-list a p.blog-img img {
  width: 100%;
  height: 120px;
}
.index-blog-list div.blog-list a div.blog-list-text {
  width: 70%;
}
.index-blog-list div.blog-list a div.blog-list-text p.days {
  font-size: 0.8rem;
}
.index-blog-list div.blog-list a div.blog-list-text h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
}
.index-blog-list div.blog-list a div.blog-list-text div.blog-ex {
  font-size: 0.85rem;
  line-height: 1.5rem;
}

.index-blog .btn.btn_arrow a {
  width: 252px;
  margin: 0 auto;
  justify-content: center;
}

.index_csr {
  background: url(../images/page/index/csr_bg.jpg) no-repeat bottom center/
    cover;
  margin-bottom: 60px;
}
@media screen and (min-width: 1246px) {
  .index_csr {
    background-position: bottom -10vw center;
  }
}

.index_csr .inner {
  padding: 40px 0 70px;
}

.index_csr .index_ttl_en span {
  background-color: #0084a0;
  color: #fff;
  padding: 5px 30px;
  border-radius: 5px;
  margin-bottom: 30px;
}

.index_csr .ttlarea {
  justify-content: center;
  align-items: flex-start;
  color: #0084a0;
  font-weight: bold;
}
.index_csr .ttlarea img {
  width: 94px;
}

.index_csr .ttlarea .index_ttl {
  font-size: 35px;
  letter-spacing: 0.1em;
  margin-left: 24px;
  margin-bottom: 20px;
}

.index_csr .ttlarea .index_ttl .medium {
  font-size: 60%;
}
.index_csr .ttlarea .index_ttl .small {
  font-size: 12px;
  display: block;
}
.index_csr .sdgs_icon_list {
  margin-bottom: 20px;
}

.index_csr .sdgs_icon_list li {
  width: 85px;
}

.index_csr .sdgs_icon_list li:not(:last-of-type) {
  margin-right: 15px;
}

.index_csr .txt {
  font-size: 18px;
  line-height: 1.8;
  border-top: 1px solid #808080;
  border-bottom: 1px solid #808080;
  width: 100%;
  max-width: 740px;
  padding: 20px 0;
  text-align: center;
  margin: 0 auto 30px;
}
.index_csr .btn.btn_arrow a {
  width: 252px;
  margin: 0 auto 90px;
  color: #000;
  justify-content: center;
}
.index_csr .btn.btn_arrow a:hover {
  color: #fff;
}
.index_csr .sportarea {
  background: rgba(255, 255, 255, 0.8);
  justify-content: center;
  align-items: center;
  padding: 30px 20px;
  border-radius: 10px;
  flex-wrap: wrap;
  max-width: 740px;
  margin: 0 auto;
}

.index_csr .sportarea dt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
  max-width: 600px;
}

.index_csr .sportarea dt:before,
.index_csr .sportarea dt:after {
  content: "";
  display: block;
  height: 1px;
  width: 44%;
  background-color: #808080;
}

.index_csr .sportarea dt span {
  padding: 0px 25px;
  flex-shrink: 0;
}

.index_csr .sportarea dd.txt {
  border: none;
  max-width: 100%;
  padding: 0;
  font-size: 13px;
  line-height: 1.65;
}
.index_csr .sportarea dd:nth-child(n + 4) {
  margin-left: 25px;
}

.index_snsarea {
  background: #4680ba;
}

.index_snsarea .inner {
  padding: 50px 0;
  width: 1000px;
}
.index_snsarea .snsfeed_list {
  justify-content: space-between;
  margin-bottom: 50px;
}

.index_snsarea .snsfeed_list li {
  width: 48%;
  max-width: 484px;
  height: 544px;
  background-color: #fff;
}
.index_snsarea .snsfeed_list li.item_insta .sns_logo {
  width: auto;
  margin: 30px auto;
  display: block;
}
.index_snsarea .snsfeed_list li .snsfeed_wrap {
  width: 100%;
  height: 544px;
  overflow-y: auto;
}
.index_snsarea .snsbnr_list {
  justify-content: space-between;
}
.index_snsarea .snsbnr_list li {
  width: 50%;
  max-width: 495px;
}

/*----------

下層共通

---------*/

/*-----------　ページタイトル　-----------*/
#sub main {
  background: url(../images/common/bg_white.jpg) no-repeat top center/ 100%;
}
.page_ttlarea {
  position: relative;
  max-height: 730px;
  height: 31vw;
  display: flex;
  /*margin-bottom: 120px;*/
}

.page_ttlarea:after {
  content: "";
  display: block;
  background: url(../images/common/mainimg_bg.svg) no-repeat top center /
    contain;
  width: 29.87vw;
  height: 29.87vw;
  position: absolute;
  top: 20px;
  left: 9vw;
  z-index: 1;
}

.content_in {
  margin-bottom: 180px;
}
@media all and (-ms-high-contrast: none) {
  .content_in > *:last-of-type {
    margin-bottom: 180px;
  }
}
#page_index .page_ttlarea:before {
  background-image: url("../images/page/top/mainimg01.jpg");
}

#page_outline .page_ttlarea:before {
  background-image: url("../images/page/outline/mainimg.jpg");
}

#page_training .page_ttlarea:before {
  background-image: url("../images/page/training/mainimg.jpg");
}

#page_training_countermeasure .page_ttlarea:before {
  background-image: url("../images/page/training/countermeasure/mainimg.jpg");
}
#page_training_base .page_ttlarea:before {
  background-image: url("../images/page/training/base/mainimg.jpg");
}
#page_training_longterm .page_ttlarea:before {
  background-image: url("../images/page/training/longterm/mainimg_longterm02.jpg");
}
#page_training_maintenance .page_ttlarea:before {
  background-image: url("../images/page/training/longterm/mainimg_maintenance.jpg");
}

#page_freshman .page_ttlarea:before,
.page_freshman_child .page_ttlarea:before {
  background-image: url("../images/page/freshman/mainimg.jpg");
}

#page_freshman_subsidy .page_ttlarea:before {
  background-image: url("../images/page/freshman/subsidy/mainimg.jpg");
}

#page_tokuteiginou .page_ttlarea:before {
  background-image: url("../images/page/tokuteiginou/mainimg.jpg");
}

#page_company .page_ttlarea:before {
  background-image: url("../images/page/company/mainimg.jpg");
}

#page_skilltraining .page_ttlarea:before {
  background-image: url("../images/page/skilltraining/mainimg.jpg");
}
#page_tamakake .page_ttlarea:before {
  background-image: url("../images/page/skilltraining/tamakake/mainimg.jpg");
}
#page_forklift .page_ttlarea:before {
  background-image: url("../images/page/skilltraining/forklift/mainimg.jpg");
}
#page_smallcrane .page_ttlarea:before {
  background-image: url("../images/page/skilltraining/smallcrane/mainimg.jpg");
}
#page_education_menu .page_ttlarea:before {
  background-image: url("../images/page/education/mainimg.jpg");
}
#page_education02 .page_ttlarea:before,
#page_education02_course .page_ttlarea:before {
  background-image: url("../images/page/education/education02/mainimg.jpg");
}

#page_sdgs .page_ttlarea:before {
  background-image: url("../images/page/sdgs/mainimg.jpg");
}

#page_policy .page_ttlarea:before {
  background-image: url("../images/page/policy/mainimg.jpg");
}
.page_news .page_ttlarea:before {
  background-image: url("../images/page/news/mainimg.jpg");
}
.page_blog .page_ttlarea:before {
  background-image: url("../images/page/blog/mainimg.jpg");
}
#page_404 .page_ttlarea:before {
  background-image: url("../images/common/mainimg_404.jpg");
}
.page_ttlarea:before {
  content: "";
  width: 78.8vw;
  max-width: 1182px;
  height: 29vw;
  position: absolute;
  z-index: 5;
  background: url("../images/page/top/mainimg01.jpg") no-repeat top center /
    cover;
  top: 0;
  right: 0;
}

@media only screen and (min-width: 1501px) {
  .page_ttlarea:before {
    width: 70.8vw;
    max-width: inherit;
    max-height: inherit;
  }
}

/*
.mainimg {
	width: 78.8vw;
	max-width: 1182px;
	height: 29vw;
	margin: 0 0 0 auto;
	position: relative;
	z-index: 5;
	display: flex;
	justify-content: flex-end;
	background: url("../images/page/top/mainimg01.jpg") no-repeat top center / cover;
}

@media only screen and (min-width : 1501px) {
  .mainimg {
    width: 70.8vw;
    max-width: inherit;
    max-height: inherit;

	}
}
*/

/* .mainimg .img-wrap{
	display: flex;
	justify-content: flex-end;
	width: 1.38vw;
	max-width: 22px;
	height: 30.38vw;
	max-height: 486px;
	z-index: 5;
	overflow: hidden;
  position: absolute;
	margin-right: 35px;
}
.img-wrap {
  overflow: hidden;
  position: relative;
  animation: img-wrap 3s cubic-bezier(.4, 0, .2, 1) infinite ;
} */

@keyframes img-wrap {
  0% {
    opacity: 0; /* 完全に透明 */
  }
  100% {
    opacity: 1; /* 透明度無し、通常表示 */
  }
}
@media all and (-ms-high-contrast: none) {
  .img-wrap {
    right: 0;
  }
}
.page_ttl {
  width: 43.33vw;
  min-width: 510px;
  max-width: 650px;
  height: 300px;
  margin-top: 60px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  /* padding: 100px 20px; */
  background-color: #fff;
  z-index: 5;
}

.page_ttl_cont {
  display: flex;
  justify-content: center;
  flex-direction: column;
  max-width: 510px;
  width: 510px;
  padding: 20px 25px;
}
@media only screen and (min-width: 1501px) {
  .page_ttl {
    width: 45.3vw;
    max-width: inherit;
    margin-top: 10.16vw;
  }
  .page_ttl_cont {
    width: 29.93vw;
  }
}

.page_ttl_cont .ttl {
  font-size: 30px;
  line-height: 1.4;
}

.page_ttl_cont .ttl_small {
  font-size: 20px;
}

.page_ttl_cont .ttl_desc {
  font-size: 16px;
  margin-top: 20px;
  display: block;
}

/*----------- ページタイトル（画像なし） -----------*/
.page_ttlarea02 {
  padding-top: 110px;
}

.page_ttlarea02 .inner {
  background-image: url(../images/common/ttl02_bg_l.png),
    url(../images/common/ttl02_bg_r.png);
  background-position: top left, top right;
  background-repeat: no-repeat;
  background-size: contain;
}

.page_ttlarea02 .pagettl02_cont {
  width: 100%;
  height: 300px;
  text-align: center;
  flex-direction: column;
}
.page_ttlarea02 .pagettl02_cont .ttl_small {
  font-size: 18px;
  padding: 5px 30px;
  margin-bottom: 30px;
  border-radius: 10px;
  background-color: #0277bb;
  color: #fff;
}

.page_ttlarea02 .pagettl02_cont .ttl {
  font-size: 30px;
  line-height: 1.4;
  padding: 20px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  width: 100%;
  max-width: 430px;
}
.page_ttlarea02 .pagettl02_cont .ttl.no_bt {
  border-top: none;
  padding-top: 0;
}

.page_ttlarea02 .pagettl02_cont .ttl_desc {
  margin-top: 10px;
}

.page_ttlarea02 .pagettl02_cont .txt {
  margin-top: 50px;
  line-height: 1.4;
}

/*----------- パンくず -----------*/

#breadcrumbs {
  font-size: 0.7rem;
  padding: 20px 3% 120px;
  margin-bottom: 0px;
}
#breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
}
#breadcrumbs ul li a {
  background: url(../images/common/icon_pan.png) right center no-repeat;
  padding: 0 20px 0 0;
  margin-right: 10px;
  text-decoration: underline;
  display: block;
}
#breadcrumbs ul li:last-child a {
  background: none;
  padding: 0 20px 0 0;
  margin-right: 10px;
  text-decoration: underline;
  display: block;
}
#breadcrumbs ul li br {
  display: none;
}
#breadcrumbs ul li a:hover {
  text-decoration: none;
}
#breadcrumbs ul li.breadcat a:not(:nth-last-child(1)) {
  background: none;
  padding-right: 0;
}

/*-----------　ページ内見出し　-----------*/
.content_ttl {
  font-size: 30px;
  padding-bottom: 15px;
  text-align: center;
  margin: 0 auto 35px;
  border-bottom: 1px solid #000;
  max-width: 518px;
}

/*-----------　見出し　線　両側　-----------*/
.content_ttl_sl {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  text-align: center;
}
.content_ttl_sl:before,
.content_ttl_sl:after {
  content: "";
  display: block;
  height: 1px;
  width: 130px;
  background-color: #808080;
}
.content_ttl_sl span {
  padding: 0px 4.67vw;
  flex-shrink: 0;
}
.content_ttl_sl.lh_m {
  line-height: 1.5;
}
.content_ttl_sl.lh_w {
  line-height: 1.75;
}

@media screen and (min-width: 1501px) {
  .content_ttl_sl span {
    padding: 0px 25px;
    flex-shrink: 0;
  }
}
/*-----------　見出し　線　上下　-----------*/
.content_ttl_udl {
  font-size: 30px;
  text-align: center;
  padding: 30px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  max-width: 100%;
  margin-bottom: 50px;
}

/*-----------　見出し　線　右側　-----------*/
.content_ttl_lr {
  display: flex;
  align-items: center;
  font-size: 24px;
}
.content_ttl_lr:after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background-color: #808080;
}
.content_ttl_lr span {
  padding-right: 30px;
  flex-shrink: 0;
}

/*-----------　見出し 囲み　-----------*/
.content_ttl_rec {
  display: flex;
  justify-content: center;
  align-items: center;
}
.content_ttl_rec span {
  font-size: 27px;
  color: #fff;
  padding: 35px 3.8vw;
  border: 1px solid #fff;
  border-radius: 20px;
}

/*-----------　見出し　青背景　-----------*/
.content_sttl {
  display: flex;
  justify-content: center;
  align-items: center;
}

.content_sttl span {
  background-color: #0277bb;
  color: #fff;
  padding: 5px 20px;
  border-radius: 5px;
  text-align: center;
}
/*背景色-緑*/
.content_sttl.green span {
  background-color: #0089a5;
}

/*フォントサイズ-middle*/
.content_sttl.fz_mid span {
  font-size: 20px;
  padding: 8px 50px;
}

/*-----------　見出し 英語　-----------*/
.content_ttl_en {
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.2em;
}

/*-----------　POINT　-----------*/

/*pointメニュー*/

.point_menu_list {
  justify-content: center;
  margin-bottom: 130px;
}

.point_menu_list li {
  margin: 0 15px;
  text-align: center;
}
.point_menu_list li:after {
  content: "";
  display: block;
  background: url(../images/common/tri_blue_down.svg) no-repeat center center /
    cover;
  width: 22px;
  height: 12px;
  margin: 0 auto;
}

.point_menu_list li a {
  display: block;
}
.point_menu_list li a:hover {
  color: #000;
  opacity: 1;
}

.point_menu_list li .txt {
  margin: 15px 0 10px;
  font-size: 18px;
}

/*point項目*/
.point_list .item {
  padding: 29px 0;
  background-size: contain;
  display: flex;
  justify-content: flex-end;
  background: center left no-repeat;
  text-align: right;
  margin-bottom: 180px;
}
.point_list .item:nth-of-type(even) {
  background-position: center right;
  justify-content: flex-start;
  text-align: left;
}

.point_list .box {
  max-width: 702px;
  min-width: 672px;
  width: 46.8vw;
  padding: 45px 110px 45px 0;
  min-height: 453px;
  background: url(../images/page/training/point_bg_line.svg) no-repeat top
    center / 40%;
  background-color: rgba(255, 255, 255, 0.85);
  /*box-shadow: 0px 3px 10px -2px rgb(0 0 0 / 10%);*/
  position: relative;
}

.point_list .item:nth-of-type(even) .box {
  padding: 45px 0px 45px 110px;
  background: url(../images/common/point_bg_line_op.svg) no-repeat top center /
    40%;
  background-color: rgba(255, 255, 255, 0.85);
}
.point_list .box:after {
  content: "";
  width: 450px;
  height: 70px;
  display: block;
  background: url(../images/common/point_bg_shadow.png) no-repeat top center /
    contain;
  position: absolute;
  bottom: -70px;
  left: 19%;
}

.point_list .num {
  font-size: 14px;
  color: #0277bb;
  display: inline-block;
  padding: 3px 20px;
  border: 1px solid #0277bb;
  margin-bottom: 30px;
}

.point_list .ttl {
  font-size: 30px;
  margin-bottom: 30px;
}

.point_list .subttl {
  background-color: #0277bb;
  color: #fff;
  padding: 5px 20px 8px;
  border-radius: 5px;
  font-size: 18px;
  letter-spacing: 0.2em;
  display: inline-block;
  margin-bottom: 25px;
}

.point_list .subttl_black {
  font-size: 22px;
  margin-bottom: 30px;
}

.point_list .txt {
  font-size: 15px;
  margin-bottom: 30px;
}

/*-----------　補足項目　青背景　-----------*/
.supplement {
  background-color: #e5ebfb;
}

.supplement .supplement_list .item {
  justify-content: space-between;
  align-items: center;
}

.supplement .supplement_list + .supplement_list {
  margin-top: 170px;
}

.supplement .supplement_list .item + .item {
  margin-top: 100px;
}

.supplement .supplement_list .ttl {
  font-size: 26px;
  align-items: center;
  line-height: 1.4;
  padding-bottom: 30px;
  border-bottom: 1px solid #0277bb;
}

.supplement .supplement_list .ttl img {
  width: 100px;
  margin-right: 30px;
}

.supplement .supplement_list .txt {
  font-size: 15px;
  margin-top: 20px;
}

.supplement .supplement_list .item .imgarea {
  flex-shrink: 0;
  width: 480px;
}

.supplement .supplement_list .item .txtarea {
  width: 475px;
}

/*----------

	コース青ボタン

	---------*/
.course_menu {
  flex-wrap: wrap;
  margin-bottom: 100px;
}

.course_menu li {
  width: 20%;
  max-width: 180px;
  margin-right: 25px;
  margin-bottom: 15px;
}
.course_menu li a:before {
  margin-bottom: -2px;
}
.course_menu li:nth-of-type(5n) {
  margin-right: 0;
}

.course_menu.col3 li {
  width: 31.33%;
  max-width: 31.33%;
  margin-right: 30px;
  margin-bottom: 30px;
  display: flex;
}
.course_menu.col3 li a {
  padding: 12px;
  line-height: 1.4;
  width: 100%;
  text-align: center;
  position: relative;
}
.course_menu.col3 a:before {
  position: absolute;
  left: 35px;
  top: 45%;
}
.course_menu.col3 li:nth-of-type(3n) {
  margin-right: 0;
}

/*----------

	下層コース共通

	---------*/

/*-----------　受講料　-----------*/
.course_price {
  align-items: center;
  margin-bottom: 30px;
}

.course_price dt {
  background-color: #f8c87f;
  padding: 15px 40px;
  line-height: 1;
  display: block;
  font-size: 18px;
  text-align: center;
}
.course_price dd {
  margin-left: 25px;
  font-size: 23px;
}

/*-----------　基本情報-----------*/

.course_base {
  margin-bottom: 80px;
}
.course_base table th,
.course_base table td {
  border: none;
}
.course_base table tr {
  border-bottom: 1px dashed #000;
}

.course_base table th {
  vertical-align: top;
}
.course_base table th span {
  background-color: #f8c87f;
  padding: 15px 10px;
  line-height: 1;
  margin: 20px 0;
  display: block;
  font-size: 18px;
  text-align: center;
  min-width: 139px;
}

.course_base table td {
  padding: 20px 10px 20px 15px;
  font-size: 20px;
}
/*---------- 科目　---------*/
.course_subject table {
  margin-bottom: 20px;
}
.course_subject table thead th {
  text-align: center;
  padding: 15px;
  font-size: 18px;
}

.course_subject table th,
.course_subject table td {
  padding: 15px;
  font-size: 17px;
  vertical-align: top;
}

.course_subject table tr td:first-child {
  text-align: center;
}

.course_subject th.time,
.course_subject th.num {
  width: 7%;
}
.course_subject th.cont {
  width: 47%;
}

/*-----------　受講表(詳細)-----------*/
.course_lecture {
  border-bottom: 1px dashed #000;
}
.course_lecture table {
  margin-bottom: 40px;
}
.course_lecture table th,
.course_lecture table td {
  text-align: center;
  padding: 10px;
  font-size: 18px;
}
.course_lecture table td {
  padding: 20px 10px;
}
.course_lecture table .date {
  width: 23%;
}
.course_lecture table .cost {
  width: 47%;
}

/*-----------　受講内容表（複数）-----------*/

.table_row_multi {
  margin-bottom: 20px;
}
.table_row_multi th,
.table_row_multi td {
  padding: 15px;
  font-size: 14px;
  text-align: center;
}
.table_row_multi th,
.table_row_multi th.date,
.table_row_multi th.time {
  padding: 15px 5px;
}
.table_row_multi th.cost_m {
  background-color: #4680ba;
  color: #fff;
  border: 1px solid #000;
}
.table_row_multi th.ttl {
  width: 20%;
}
.table_row_multi th.cont {
  width: 47%;
}

/*-----------　表（thに色付き下線）-----------*/
.tableunit table tr th,
.tableunit table tr td {
  border: none;
  font-size: 14px;
  padding: 30px 20px;
}
.tableunit table tr th {
  width: 24%;
  border-top: 2px solid #007589;
  font-weight: normal;
}
.tableunit table tr td {
  width: 76%;
  font-size: 0.9rem;
  border-top: 1px solid #ccc;
}
.tableunit table tr td:last-of-type {
  border-bottom: 1px solid #ccc;
}
.tableunit table tr th:last-of-type {
  border-bottom: 2px solid #007589;
}
/*-----------　連絡先 -----------*/
.course_contact {
  border: 9px solid #d7e1ee;
  padding: 15px 10px;
  display: table;
  width: 100%;
  font-size: 20px;
}
.course_contact dt {
  background-color: #d7e1ee;
  height: 100%;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  width: 16%;
}

.course_contact dd {
  line-height: 1.6;
  padding: 15px 15px 15px 30px;
}
/*-----------　注意事項 -----------*/
.course_note li {
  font-size: 20px;
  margin-bottom: 10px;
}
.course_note.small li {
  font-size: 16px;
  margin-bottom: 5px;
}

/*-----------　申込方法 -----------*/
.course_application {
  margin-top: 65px;
}

/*-----------マーク　-----------*/

.mark_list > * {
  text-indent: -1em;
  padding-left: 1em;
}
.mark_list.dot > *:before,
.mark_list > .dot:before {
  content: "・";
}
.mark_list.square > *:before,
.mark_list > .square:before {
  content: "■ ";
}
.mark_list.kome > *:before,
.mark_list > .kome:before {
  content: "※";
}

.mark_list.circle > *:before,
.mark_list > .circle:before {
  content: "● ";
}
.mark_list > .nomark:before {
  display: none;
}

/*-----------COMING SOON 　-----------*/
.coming .content_ttl_sl {
  margin-bottom: 60px;
}
.coming .desc {
  font-size: 14px;
  text-align: center;
  margin-bottom: 80px;
}

/*-----------担当お問い合わせ 　-----------*/
.contact_charge {
  border: 9px solid #d7e1ee;
  padding: 10px;
  margin-top: 60px;
}

.contact_charge article {
  width: 100%;
  font-size: 20px;
  line-height: 1.4;
  text-align: center;
  background-color: #d7e1ee;
  padding: 20px 10px;
}

.contact_charge article .txt {
  margin-bottom: 20px;
}

.contact_charge .tel_info {
  font-size: 36px;
}

.contact_charge .tel_small {
  margin-left: 1em;
  font-size: 16px;
}

/*---------- お電話でのお問いわせ ---------*/
#contact_desc .contact_tel {
  padding-bottom: 65px;
}

#contact_desc .content_ttl_sl {
  letter-spacing: 0.3em;
  margin-bottom: 80px;
}

#contact_desc .contact_subttl {
  font-size: 19px;
  margin-bottom: 50px;
  text-align: center;
  letter-spacing: 0.3em;
}

#contact_desc .contact_tel_list {
  justify-content: center;
}
#contact_desc .contact_tel_list li:nth-last-of-type(2) {
  margin: 0 35px;
}
#contact_desc .contact_tel_list li,
#contact_desc .contact_tel_list li.mail a {
  display: flex;
  align-items: center;
  color: #000;
  font-size: 30px;
  line-height: 1;
}
#contact_desc .contact_tel_list li a:hover {
  color: #000;
  opacity: 0.7;
}

#contact_desc .contact_tel_list li img {
  width: 50px;
  height: 50px;
  padding: 10px;
  border: 1px solid #cdd2d3;
  margin-right: 20px;
}
#contact_desc .contact_tel_list li .small {
  font-size: 14px;
  display: block;
  line-height: 1.7;
}

#contact_desc .contact_tel_list li.mail .small {
  margin-top: -4px;
}

#contact_desc .contact_tel_time {
  font-size: 14px;
  margin-top: 30px;
  text-align: center;
}

#contact_desc .contact_tel_list li.size_l {
  font-size: 46px;
  align-items: flex-start;
}
#contact_desc .contact_tel_list li.size_l.small {
  font-size: 16px;
}
#contact_desc .contact_tel_list li.size_l img {
  width: 76px;
  height: 76px;
  margin-bottom: -5px;
}
#contact_desc .contact_tel_list li.size_l .contact_tel_time {
  margin-top: 10px;
  display: block;
  text-align: left;
}

/*----------（簡易版）お電話でのお問いわせ---------*/

.contact_simple_list {
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.contact_simple_list li {
  display: flex;
  font-size: 30px;
  line-height: 1;
}

.contact_simple_list li:nth-last-of-type(2) {
  margin: 0 35px;
}
.contact_simple_list li a:hover {
  opacity: 0.6;
}
.contact_simple_list li .small {
  font-size: 20px;
  margin-top: 8px;
  margin-right: 10px;
}
.contact_simple_list li .name {
  font-size: 14px;
  text-align: right;
  display: block;
}
.contact_simple_list li.mail a {
  display: flex;
  align-items: center;
  padding: 12px 22px;
  border: 1px solid #000;
}
.contact_simple_list li.mail img {
  width: 20px;
}
.contact_simple_list li.mail .small {
  margin-top: 0;
}

/*----（簡易版）お電話でのお問いわせ 青見出し----*/
.contact_list_bh .inner {
  border: 1px solid;
  padding-top: 20px;
}
.contact_list_bh .inner .sttl {
  color: #fff;
  font-size: 27px;
  text-align: center;
  padding: 20px 10px;
  background-color: #0277bb;
  margin-bottom: 30px;
  letter-spacing: 0.2em;
}

/*----アイコン付き　お問いわせ一覧----*/

.contact_icon_list {
  justify-content: center;
}
.contact_icon_list li:nth-last-of-type(2) {
  margin: 0 35px;
}
.contact_icon_list li,
.contact_icon_list li.mail a {
  display: flex;
  align-items: center;
  color: #000;
  font-size: 30px;
  line-height: 1;
}
.contact_icon_list li a:hover {
  color: #000;
  opacity: 0.7;
}

.contact_icon_list li img {
  width: 50px;
  height: 50px;
  padding: 10px;
  border: 1px solid #cdd2d3;
  margin-right: 20px;
}
.contact_icon_list li .small {
  font-size: 14px;
  display: block;
  line-height: 1.7;
}

.contact_icon_list li.mail .small {
  margin-top: 2px;
}

.contact_icon_list .contact_tel_time {
  font-size: 14px;
  margin-top: 30px;
  text-align: center;
}

.contact_icon_list li.size_l {
  font-size: 46px;
  align-items: flex-start;
}
.contact_icon_list li.size_l.small {
  font-size: 16px;
}
.contact_icon_list li.size_l img {
  width: 76px;
  height: 76px;
  margin-bottom: -5px;
}
.contact_icon_list li.size_l .contact_tel_time {
  margin-top: 10px;
  display: block;
  text-align: left;
}

.contact_icon_list li.size_l .fz_m {
  font-size: 30px;
}

/*----------

	会社概要

	---------*/
/*-----------　Concept　-----------*/

#page_outline .content_ttl_en {
  color: #007586;
  margin-bottom: 12px;
}

#page_outline .content_ttl {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 60px;
}

#outline_concept .inner {
  width: 100%;
  max-width: 1320px;
  min-width: 1100px;
  background: url("../images/page/outline/concept_bg.png") no-repeat top 165px
    center / 100%;
  padding-bottom: 70px;
}

#outline_concept .concept_list {
  margin-bottom: 60px;
}

#outline_concept .item {
  border-radius: 50%;
  border: 3px solid #0277bd;
  background-color: #fff;
  padding: 2px;
  width: 233px;
  height: 233px;
  position: relative;
}

#outline_concept .item:nth-child(2) {
  margin: 0 25px;
}

#outline_concept .item:after {
  content: "";
  display: block;
  border: 1px solid #0277bd;
  margin: 0px;
  border-radius: 50%;
  width: 97%;
  height: 97%;
  position: absolute;
}
@media all and (-ms-high-contrast: none) {
  #outline_concept .item:after {
    left: 2px;
    top: 2px;
  }
}
#outline_concept .item .img {
  max-width: 117px;
}

#outline_concept .desc {
  text-align: center;
  font-size: 14px;
  line-height: 2.3;
}

/*-----------　組合理念　-----------*/
/*#outline_idea {
			background: url(../images/page/outline/idea_bg.jpg) no-repeat bottom center / 940px;
		}
		#outline_idea .inner{
			padding: 70px 0 0px;
		}

		#outline_idea .textarea{
			padding: 121px 0 179px;
		}

		
		#outline_idea .subttl {
			max-width: 474px;
			margin: -40px auto -20px;
		}

		#outline_idea  .txt {
			color: #fff;
			text-align: center;
			font-size: 14px;
			line-height: 2.5;
			letter-spacing: 0.2em;
		}*/
#outline_idea .content_ttl_sl {
  margin-bottom: 65px;
}
#outline_idea .idea-contents {
  background-image: url(../images/page/outline/bg-idea-002.jpg);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: #aad2d3;
  background-size: 100%;
  padding: 8% 0 10%;
  text-align: center;
}
#outline_idea .idea-contents h3 {
  margin-bottom: 20px;
  text-align: center;
}
#outline_idea .idea-contents h3 img {
  max-width: 521px;
}

#outline_idea .idea-head {
  margin-bottom: 380px;
}
#outline_idea .idea-head p {
  color: #005e00;
  font-size: 1.25rem;
  letter-spacing: 0.1rem;
}
#outline_idea .idea-head p span {
  background-color: rgba(255, 255, 255, 0.95);
  display: inline-block;
  margin-bottom: 8px;
  padding: 8px 8px;
}
/*#outline_idea .idea-bottom ul{
		display: flex;
		justify-content: center;
		margin-bottom: 40px;
	}
	#outline_idea .idea-bottom ul li{
		margin: 0 2%;
	}
	#outline_idea .idea-bottom ul li span{
		display: block;
		background-color: #1b3b0d;
		color: #fff;
		text-align: center;
		padding: 1% 0;
		font-size: 0.9rem;
		margin: 10px 20px 0;
	}*/
#outline_idea .idea-bottom p {
  font-size: 1.2rem;
  letter-spacing: 0.2em;
}

/*-----------　会社概要　-----------*/

#outline_about .inner {
  padding: 90px 0 65px;
}

#outline_about .content_ttl_sl {
  margin-bottom: 65px;
}

#outline_about table th,
#outline_about table td {
  border: 1px solid #000;
  padding: 25px 40px;
  font-size: 16px;
  letter-spacing: 0.2em;
}

#outline_about table th {
  width: 17%;
  border-right: none;
  background-color: #d6e0ed;
}

#outline_about table td {
  padding-left: 60px;
  border-left: none;
}
#outline_about table td .address:not(:last-of-type) {
  margin-bottom: 35px;
}
#outline_about table td .business:not(:last-of-type) {
  margin-bottom: 50px;
}

/*-----------　アクセス　-----------*/
#outline_access .content_ttl_sl {
  margin-bottom: 65px;
}

#outline_access .access_list {
  flex-wrap: wrap;
  justify-content: space-between;
}

#outline_access .access_list li {
  width: 48%;
  max-width: 480px;
}

#outline_access .access_list .ttl {
  background-color: #4680b7;
  text-align: center;
  width: 90%;
  margin: -35px auto 28px;
  position: relative;
  padding: 20px 10px;
  font-size: 24px;
  color: #fff;
}

#outline_access .access_list .txt {
  font-size: 16px;
  text-align: center;
}

/*----------

	外国人集合研修

	---------*/

#page_training .content_ttl {
  max-width: 518px;
}

#page_training .content_sttl {
  margin-bottom: 40px;
}

#page_training .content_sttl span {
  font-size: 20px;
  letter-spacing: 0.2em;
  width: 300px;
}
#page_training section .inner_min {
  padding: 80px 0;
}

#training_introducion .desc {
  font-size: 15px;
  text-align: center;
  line-height: 2;
  margin-bottom: 100px;
}

#training_point .desc {
  font-size: 20px;
  text-align: center;
  line-height: 2;
  margin-bottom: 70px;
}

#training_point .point_menu_list {
}

#training_point .training_point_list #item01 {
  background-image: url(../images/page/training/point_img01.jpg);
}
#training_point .training_point_list #item02 {
  background-image: url(../images/page/training/point_img02.jpg);
}
#training_point .training_point_list #item03 {
  background-image: url(../images/page/training/point_img03.jpg);
}
#training_point .training_point_list #item04 {
  background-image: url(../images/page/training/point_img04.jpg);
}

#training_curriculum {
  background: url("../images/page/index/index_bg_blue.jpg") no-repeat center
    center/ cover;
}

#training_curriculum .curriculum_list {
  justify-content: space-between;
}
#training_curriculum .item {
  max-width: 310px;
}
#training_curriculum .item h3 {
  background-color: #ffcc00;
  text-align: center;
  width: 88%;
  margin: -15px auto;
  position: relative;
  padding: 5px;
}

#training_curriculum .item .item_desc {
  color: #e5e5e5;
  padding: 20px 4px 0;
  font-size: 14px;
  text-align: center;
}

.supplement_list_training .item:nth-of-type(2) {
  flex-direction: row-reverse;
}

#training_extra .youtube {
  width: 100%;
  height: 500px;
  background-color: #e2e4da;
  margin: 0 auto 90px;
}
#training_extra .youtube img {
  width: 100%;
  max-width: 369px;
}

#training_extra .bnr_countermeasure {
  width: 741px;
  margin: 0 auto;
}

#training_extra .bnr_countermeasure a {
  background: url("../images/page/training/bnr.jpg") no-repeat center center/
    cover;
  display: block;
  border: 10px solid #d2dbed;
  padding: 90px 0;
}
#training_extra .bnr_countermeasure a:hover {
  opacity: 0.6;
}
#training_extra .bnr_countermeasure .txt {
  font-size: 26px;
  color: #fff;
  padding: 40px 0;
  background-color: rgba(126, 158, 223, 0.8);
  width: 100%;
  text-align: center;
}

/*----------

	外国人技能実習制度

	---------*/
#training_countermeasure_introducion {
  padding: 0px 0 50px;
}

#training_countermeasure_introducion .introducion_ttl {
  color: #008080;
  font-size: 28px;
  text-align: center;
  letter-spacing: 0.2em;
}

#training_countermeasure_introducion .introducion_ttl span {
  font-size: 24px;
  padding: 15px 30px;
  border: 1px solid #008080;
  margin-right: 10px;
  display: inline-block;
}

#training_countermeasure_introducion .introducion_ttl span + span {
  margin-left: 10px;
  margin-right: 0;
}

#training_countermeasure_introducion .illust {
  width: 95%;
  max-width: 918px;
  margin: 0 auto;
}

#training_countermeasure_introducion .illust img {
  margin-left: -23px;
}

#training_countermeasure_introducion .sub_ttlarea {
  background: url("../images/page/training/countermeasure/intro_bg.png")
    no-repeat bottom center / 100%;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
  padding-bottom: 80px;
}

#training_countermeasure_introducion .sub_ttlarea:before {
  content: "";
  display: block;
  background: url("../images/page/training/countermeasure/arrow_green.svg")
    no-repeat center center / cover;
  width: 92px;
  height: 54px;
  margin: 0 auto;
}

#training_countermeasure_introducion .sub_ttlarea .txt {
  margin: 180px auto 20px;
  max-width: 524px;
  text-align: center;
}

#training_countermeasure_introducion .sub_ttlarea .ttl {
  font-size: 31px;
  padding: 20px 40px;
  color: #a9143b;
  border: 5px solid #a9143b;
  border-radius: 8px;
  background-color: #fff;
  display: inline-block;
}

#training_countermeasure_introducion .merit_list {
  flex-wrap: wrap;
  justify-content: space-between;
}

#training_countermeasure_introducion .merit_list li {
  width: 32.5%;
  max-width: 325px;
  margin-bottom: 30px;
}

#training_countermeasure_introducion .merit_list .ttl {
  background-color: #0277ba;
  border: 1px solid #fff;
  text-align: center;
  width: 90%;
  min-height: 70px;
  margin: -20px auto 0;
  position: relative;
  padding: 10px;
  font-size: 17px;
  color: #fff;
  border-radius: 12px;
}
@media all and (-ms-high-contrast: none) {
  #training_countermeasure_introducion .merit_list .ttl {
    height: 70px;
  }
}

/*----ARMSのバックアップ体制----*/
#training_countermeasure_point {
  padding: 50px 0 140px;
}

#training_countermeasure_point .content_ttl_sl {
  margin-bottom: 20px;
}

#training_countermeasure_point .content_ttl_sl span {
  font-size: 30px;
}

#training_countermeasure_point .desc {
  text-align: center;
  margin-bottom: 110px;
}

#training_countermeasure_point .point_list .item {
  margin-bottom: 118px;
}
#training_countermeasure_point .point_list .item:last-of-type {
  margin-bottom: 0;
}
#training_countermeasure_point .point_list #item01 {
  background-image: url(../images/page/training/countermeasure/point_img01.jpg);
}
#training_countermeasure_point .point_list #item02 {
  background-image: url(../images/page/training/countermeasure/point_img02.jpg);
}
#training_countermeasure_point .point_list #item03 {
  background-image: url(../images/page/training/countermeasure/point_img03.jpg);
}

/*----各種資格----*/
#training_countermeasure_course {
  background: url("../images/common/bg_blue.jpg") no-repeat center center /
    cover;
  padding: 80px 0 46px;
  color: #fff;
}

#training_countermeasure_course .content_ttl_rec {
  margin-bottom: 50px;
}

#training_countermeasure_course .course_list_wrap {
  margin-right: -83px;
  flex-wrap: wrap;
}

#training_countermeasure_course .course_list {
  width: 100%;
  max-width: 841px;
  margin: 0 auto;
  flex-wrap: wrap;
}

#training_countermeasure_course .course_list li {
  width: 33%;
  max-width: 225px;
  margin-right: 83px;
  margin-bottom: 54px;
  text-align: center;
}
#training_countermeasure_course .course_list li a img {
  width: 95%;
  max-width: 211px;
  margin: 0 auto 15px;
}
#training_countermeasure_course .course_list li a .txt {
  color: #fff;
  font-size: 16px;
  line-height: 1.75;
  transition: 0.3s opacity ease-in-out;
}
#training_countermeasure_course .course_list li a:hover .txt {
  opacity: 0.6;
}

/*----------

		外国人集合研修下層（1カ月基本、介護実習生向け、自動車整備特別）

		---------*/
.page_training_child .content_ttl_sl {
  margin-bottom: 50px;
}
.page_training_child .desc {
  font-size: 16px;
  text-align: center;
  margin-bottom: 35px;
}
.page_training_child table th,
.page_training_child table td {
  padding: 10px 20px;
}

.page_training_child .example .desc {
  font-size: 20px;
  margin-bottom: 15px;
}
.page_training_child .example table {
  margin-bottom: 20px;
}
.page_training_child .example table th,
.page_training_child .example table td {
  padding: 15px;
}
.page_training_child .example table th {
  text-align: center;
}
.page_training_child .example .total {
  font-size: 30px;
  color: #af143b;
  text-align: right;
}

/*----------

  1カ月基本

  ---------*/
#training_base_example .inner {
  padding-bottom: 85px;
}
#training_base_example .desc {
  text-align: left;
}

/*----------  ①基本費用  ---------*/

#training_base_cost .inner {
  padding: 85px 0;
}
#training_base_cost table .price {
  width: 50%;
}

#training_base_cost table th {
  text-align: center;
}

/*----------  付帯サービス内容  ---------*/
#training_base_service .inner {
  padding: 85px 0 70px;
}
#training_base_service table {
  margin-bottom: 15px;
}
#training_base_service table thead th {
  text-align: center;
}
#training_base_service table th {
  background-color: #d4deeb;
}
#training_base_service table .num {
  width: 5%;
}
#training_base_service .note {
  justify-content: space-between;
}

/*----------  付帯サービス内容  ---------*/
#training_base_option .inner {
  padding: 70px 0;
}
#training_base_option table {
  margin-bottom: 20px;
}
#training_base_option table th {
  background-color: #d4deeb;
}
#training_base_option table .remarks {
  width: 50%;
}

/*----------

  介護実習生向け

  ---------*/

#training_longterm_about .inner {
  padding-bottom: 70px;
}
#training_longterm_about .about_list {
  justify-content: center;
}

#training_longterm_about .about_list li {
  margin: 0 15px;
  text-align: center;
}
#training_longterm_about .about_list img {
  max-width: 190px;
  margin-bottom: 23px;
}

#training_longterm_about .about_list li h3 {
  background-color: #0277c0;
  color: #fff;
  font-size: 18px;
  padding: 20px 10px;
  max-width: 260px;
  margin: 0 auto 25px;
}

#training_longterm_about .about_list li .txt {
  font-size: 14px;
}
#training_longterm_about .inner {
  padding-bottom: 70px;
}

#training_longterm_example .inner {
  padding: 70px 0 50px;
}

/*----------  講習期間の短縮について  ---------*/
#training_longterm_shortened .inner {
  padding: 50px 0 180px;
}

#training_longterm_shortened .shortened_ttl {
  padding: 35px 0;
  font-size: 28px;
  text-align: center;
  border-top: 2px solid #606060;
  border-bottom: 2px solid #606060;
  margin-bottom: 30px;
}

#training_longterm_shortened .txt {
  font-size: 14px;
  line-height: 1.8;
}

/*----------

  自動車整備特別

  ---------*/
#page_training_maintenance .page_ttlarea,
#page_training_maintenance .page_ttlarea02 {
  margin-bottom: 120px;
}
#training_maintenanc_example .subject {
  width: 67%;
}

/*----------

	新入社員教育

	---------*/
#page_freshman .ttl_date {
  font-size: 30px;
  margin-bottom: 35px;
  text-align: center;
}

/*----2022年度 新入社員教育----*/
#freshman_year {
  padding: 0 0 200px;
}

#freshman_year .content_ttl_sl {
  margin-bottom: 30px;
}

#freshman_year .content_sttl {
  margin-bottom: 35px;
}

#freshman_year .desc {
  margin-bottom: 60px;
}

#freshman_year .lecturearea .lecture_info {
  border: 1px solid #000;
}
#freshman_year .lecturearea .lecture_info:not(:last-child) {
  margin-bottom: 40px;
}

#freshman_year .lecturearea .lecture_info h4 {
  font-size: 16px;
  background-color: #d4deeb;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32.5%;
}

#freshman_year .lecturearea .lecture_info .detail {
  border-left: 1px solid #000;
  padding: 20px 40px 15px;
}
#freshman_year .lecturearea .lecture_info .detail dl {
  margin-bottom: 5px;
  display: table;
}
#freshman_year .lecturearea .lecture_info .detail dt {
  width: 10em;
  display: table-cell;
}
#freshman_year .lecturearea .lecture_info .detail dd {
  display: table-cell;
}

#freshman_point .content_ttl {
  font-size: 40px;
}

#freshman_point .desc {
  text-align: center;
  margin-bottom: 80px;
}

#freshman_point .point_list {
  margin-bottom: 120px;
}
#freshman_point .point_list #item01 {
  background-image: url(../images/page/freshman/point_img01.jpg);
}
#freshman_point .point_list #item02 {
  background-image: url(../images/page/freshman/point_img02.jpg);
}
#freshman_point .point_list #item03 {
  background-image: url(../images/page/freshman/point_img03.jpg);
  margin-bottom: 80px;
}
#freshman_point .point_list #item04 {
  background-image: url(../images/page/freshman/point_img05.jpg);
}
/*#freshman_point .point_list #item05{
   background-image: url(../images/page/freshman/point_img04.jpg);
}*/

#freshman_point .notice .img {
  width: 987px;
  margin: 0 auto 40px;
}

#freshman_point .notice .graph {
  width: 100%;
  border-bottom: none;
  text-align: center;
  vertical-align: middle;
  font-size: 12px;
  padding: 20px;
  margin: 0 auto 110px;
}

#freshman_point .notice .graph tr {
  border-bottom: 1px solid #000;
}
#freshman_point .notice .graph th,
#freshman_point .notice .graph td {
  text-align: center;
  padding: 10px 5px;
}
#freshman_point .notice .graph .bg_g th {
  background-color: #d4deeb;
  padding: 10px;
}

#freshman_point .notice .graph tbody th {
  width: 8%;
}

#freshman_supplement .inner {
  padding: 140px 0;
}

#freshman_supplement .content_ttl_sl {
  margin-bottom: 97px;
}

.supplement_list_freshman .txt {
  margin-bottom: 25px;
}

.supplement_list_freshman .btn a {
  width: 440px;
}

#freshman_supplement .course_list {
  margin-top: 60px;
}

#freshman_supplement .course_menu {
  margin-bottom: -60px;
}

/*----教育後のフォローアップ体制----*/
#freshman_follow {
  padding: 90px 0 0;
}
#freshman_follow .content_ttl_sl,
#freshman_follow .ttl_date {
  margin-bottom: 50px;
}

#freshman_follow .follow_info {
  margin-bottom: 30px;
}
#freshman_follow .follow_info th,
#freshman_follow .follow_info td {
  border: none;
}

#freshman_follow .follow_info th span {
  background-color: #f8c87f;
  padding: 15px 40px;
  line-height: 1;
  margin: 7px 0;
  display: block;
  font-size: 18px;
  text-align: center;
}

#freshman_follow .follow_info td {
  padding-left: 20px;
  font-size: 23px;
}

#freshman_follow .subject {
  border-bottom: none;
  font-size: 16px;
}
#freshman_follow .subject th,
#freshman_follow .subject td {
  padding: 15px 20px;
  border: 1px solid #000;
}

#freshman_follow .subject .bg_g th {
  background-color: #d4deeb;
  text-align: center;
  padding: 10px;
}

#freshman_follow .subject .name {
  width: 32.4%;
}

#freshman_follow .follow_img {
  max-width: 800px;
  margin: 0 auto;
}
#freshman_application {
  margin-top: 55px;
}
/*----------

	新入社員教育 助成金

	---------*/
/*----------	職業訓練表 ---------*/

#page_freshman_subsidy .table_note {
  font-size: 14px;
  margin-bottom: 10px;
}

#page_freshman_subsidy table {
  border: 1px solid #007580;
  background-color: #fff;
}

#page_freshman_subsidy th,
#page_freshman_subsidy td {
  border: inherit;
  border-left: 1px solid #007580;
  text-align: center;
  vertical-align: middle;
  padding: 20px 10px;
  font-size: 17px;
  letter-spacing: 0.05em;
}

#page_freshman_subsidy table tr:not(:last-of-type) {
  border-bottom: 1px solid #c9c9c9;
}
#page_freshman_subsidy table .course {
  border-bottom: 1px solid #007580;
}
#page_freshman_subsidy table .course th:not(:first-child) {
  width: 25.8%;
}

#page_freshman_subsidy table span.small {
  font-size: 15px;
}
#page_freshman_subsidy table span.medium {
  font-size: 20px;
}
#page_freshman_subsidy table span.large {
  font-size: 26px;
}

#page_freshman_subsidy table .bg_b {
  background-color: #eff6f6;
}
#page_freshman_subsidy table .bg_g {
  background-color: #f6f6ea;
}
#page_freshman_subsidy table span.red {
  color: #d83333;
}
#page_freshman_subsidy table span.green {
  color: #007580;
}

/*----------	特定分野認定実習 ---------*/
#freshman_subsidy_specific .inner {
  padding: 0 0 50px;
}
#freshman_subsidy_specific .content_ttl_sl {
  margin-bottom: 20px;
}
#freshman_subsidy_specific .desc {
  text-align: center;
  margin-bottom: 25px;
  font-size: 18px;
}

/*----------	認定実習 ---------*/
#freshman_subsidy_certify .inner {
  padding: 50px 0 85px;
}
#freshman_subsidy_certify .content_ttl_sl {
  margin-bottom: 50px;
}
#freshman_subsidy_certify table {
  margin-bottom: 10px;
}

/*----------	若年人材育成訓練 ---------*/
#freshman_subsidy_merit .inner {
  padding: 85px 0 140px;
}
#freshman_subsidy_merit .content_ttl_sl {
  margin-bottom: 20px;
}
#freshman_subsidy_merit .desc {
  text-align: center;
  margin-bottom: 50px;
  font-size: 18px;
}
#freshman_subsidy_merit .merit_list {
  justify-content: center;
}
#freshman_subsidy_merit .merit_list li {
  text-align: center;
}
#freshman_subsidy_merit .merit_list li.item_merit {
  width: 310px;
}
#freshman_subsidy_merit .merit_list li.item_demerit {
  width: 330px;
  margin-left: 80px;
}

#freshman_subsidy_merit .merit_list li h3 {
  font-size: 22px;
  margin-bottom: 20px;
}
#freshman_subsidy_merit .merit_list li img {
  max-width: 178px;
  margin-bottom: 20px;
}
#freshman_subsidy_merit .merit_list li h3:after {
  content: "";
  display: block;
  background: url("../images/page/freshman/subsidy/ttl_line.svg") no-repeat
    center center / contain;
  width: 137px;
  height: 18px;
  margin: 0 auto;
}

#freshman_subsidy_merit .merit_list li dl {
  text-align: left;
}
#freshman_subsidy_merit .merit_list li dt {
  text-indent: -1em;
  padding-left: 1em;
  font-size: 22px;
  margin-bottom: 10px;
}
#freshman_subsidy_merit .merit_list li dt:before {
  content: "■";
}
#freshman_subsidy_merit .merit_list li dd {
  font-size: 14px;
}
#freshman_subsidy_merit .merit_list li dd span {
  display: inline-block;
}

/*----------	申請スケジュール・生産性要件 ---------*/
#freshman_subsidy_extra {
  background-color: #e5ebfb;
  padding: 90px 0;
}

#freshman_subsidy_extra article:not(:last-child) {
  margin-bottom: 120px;
}

#freshman_subsidy_extra .content_ttl_sl {
  margin-bottom: 50px;
}

/*----------	申請スケジュール ---------*/
#freshman_subsidy_schedule .sttl {
  align-items: center;
  margin: 30px 0;
}

#freshman_subsidy_schedule .sttl span {
  color: #fff;
  padding: 8px 50px;
  background-color: #0089a5;
  text-align: center;
  font-size: 20px;
  flex-shrink: 0;
  border-radius: 8px;
}

#freshman_subsidy_schedule .sttl:after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #0089a5;
}

#freshman_subsidy_schedule .mark_list {
  font-size: 16px;
}

#freshman_subsidy_schedule .mark_list .red {
  color: #a11a3c;
}

/*----------	賃金要件・資格等手当要件(生産性要件)について ---------*/
#freshman_subsidy_requirements .desc {
  text-align: center;
}
#freshman_subsidy_requirements .desc .red {
  color: #af143b;
}

#freshman_subsidy_requirements > .item {
  margin-top: 60px;
}

#freshman_subsidy_requirements > .item .content_sttl {
  margin-bottom: 15px;
}

#freshman_subsidy_requirements > .item .content_ttl {
  margin-bottom: 15px;
}

#freshman_subsidy_requirements .detail {
  border: 3px solid #0089a5;
  background-color: #fff;
  padding: 15px;
  font-size: 22px;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}

#freshman_subsidy_requirements .detail dt {
  margin-right: 80px;
}
#freshman_subsidy_requirements .detail dt span {
  margin-left: 2em;
}

#freshman_subsidy_requirements .detail dd {
  text-align: center;
}

#freshman_subsidy_requirements .detail dd .up {
  padding-bottom: 6px;
  padding: 0 20px 5px;
  border-bottom: 1px solid #000;
  margin-bottom: 5px;
}

#freshman_subsidy_requirements .mark_list {
  font-size: 14px;
}

#freshman_subsidy_requirements > .item03 .img {
  margin: 0 auto 20px;
}

/*----------

	新入社員教育 下層共通(豊富なコース)

	---------*/

#freshman_course_detail .course_menu {
  margin-bottom: 100px;
}

#freshman_course_detail .content_ttl_lr {
  font-size: 28px;
  margin-bottom: 30px;
}

#freshman_course_detail .freshman_course_item {
  margin-bottom: 120px;
}

#freshman_course_detail table {
  margin-bottom: 20px;
}
#freshman_course_detail table th,
#freshman_course_detail table td {
  padding: 15px;
  font-size: 14px;
}
#freshman_course_detail table th,
#freshman_course_detail table tr td:nth-of-type(-n + 2) {
  text-align: center;
}
#freshman_course_detail table td:first-child {
  background-color: #d4deeb;
}

#freshman_course_detail table th.date {
  width: 5%;
  padding: 15px 5px;
}
#freshman_course_detail table th.ttl {
  width: 20%;
}
#freshman_course_detail table th.cont {
  width: 47%;
}

#freshman_course_detail table td.red {
  color: #d00030;
  border-color: #000;
}
#freshman_course_detail .off_date_list {
  width: 100%;
  margin-bottom: 35px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  font-size: 24px;
}
#freshman_course_detail .off_date_list dt {
  margin-right: 50px;
}
/*----------

	特定技能について

	---------*/
/*---------- 	「特定技能ビザ」取得について 	---------*/
#tokuteiginou_introduction .inner {
  background: url("../images/page/tokuteiginou/intro_bg.png") no-repeat center
    center / cover;
  margin-top: 30px;
}

#tokuteiginou_introduction .textarea {
  /*
		background: url("../images/page/tokuteiginou/intro_txt_bg.png") no-repeat center center / contain;
*/
  max-width: 600px;
  padding: 50px 30px;
  margin: 13.13vw 0 11vw;
}
@media screen and (min-width: 1101px) {
  #tokuteiginou_introduction .textarea {
    margin: 197px 0px 165px;
  }
}

#tokuteiginou_introduction .ttl {
  font-size: 25px;
  margin-bottom: 45px;
}

#tokuteiginou_introduction .desc {
  width: 100%;
  font-size: 14px;
  line-height: 1.8;
}

/*---------- 	登録認定	---------*/

#tokuteiginou_certify {
  background: url("../images/page/tokuteiginou/intro_bg_blue.jpg") no-repeat
    center center / cover;
}

#tokuteiginou_certify .inner {
  padding: 100px 0;
}

#tokuteiginou_certify .inner .ttl {
  color: #fff;
  text-align: center;
  font-size: 22px;
  line-height: 1.75;
  letter-spacing: 0.2em;
  margin-bottom: 55px;
}

#tokuteiginou_certify .inner .num {
  background-color: #fff;
  text-align: center;
  font-size: 18px;
  padding: 20px;
  width: 523px;
  margin: 0 auto;
}

/*---------- 	「特定技能」とは	---------*/

#tokuteiginou_about .inner {
  padding: 125px 0 70px;
}
#tokuteiginou_about .content_ttl_sl {
  margin-bottom: 50px;
}

#tokuteiginou_about .desc {
  text-align: center;
  margin-bottom: 60px;
  font-size: 14px;
  line-height: 1.8;
}

#tokuteiginou_about .illust {
  background-color: #fff7ec;
  padding: 70px 0 60px;
}

#tokuteiginou_about .illust .img {
  max-width: 600px;
  margin: 0 auto 70px;
}

#tokuteiginou_about .industry {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

#tokuteiginou_about .industry .sttl {
  background-color: #007580;
  color: #fff;
  text-align: center;
  font-size: 20px;
  padding: 10px;
  margin-bottom: 20px;
}
#tokuteiginou_about .industry .industry_list li {
  background-color: #fff;
  display: inline-block;
  border-radius: 5px;
  font-size: 16px;
  padding: 6px 10px;
  margin: 0 10px 10px 0;
}

/*----------

	技能講習

	---------*/
#page_skilltraining .mark_list {
  font-size: 14px;
}
/*---------- 	受講料と助成金	---------*/

#skilltraining_price .inner {
  padding: 0 0 50px;
}
#skilltraining_price .content_ttl_sl {
  margin-bottom: 70px;
}
#skilltraining_price .note {
  margin-bottom: 20px;
}

#skilltraining_price .ttlarea {
  margin-bottom: 30px;
  align-items: center;
}
#skilltraining_price .sttl {
  font-size: 26px;
  min-width: 440px;
  width: 100%;
  /*margin-right: 35px;*/
}

#skilltraining_price .info {
  font-size: 24px;
  align-items: center;
}
#skilltraining_price .info dt {
  font-size: 20px;
  color: #fff;
  background-color: #0277c0;
  padding: 10px 20px;
  margin-right: 20px;
}

#skilltraining_price table th,
#skilltraining_price table td {
  text-align: center;
  padding: 10px;
  font-size: 16px;
}
#skilltraining_price table .course {
  width: 22%;
}
#skilltraining_price table .red {
  color: #a11a3c;
}

#skilltraining_price table.price_list_table thead th {
  width: 23%;
}
#skilltraining_price table.price_list_table thead th.price_list_name {
  width: 32%;
}

#skilltraining_price .price_notice_list {
  text-align: right;
}

#skilltraining_price article.price_forklift {
  margin-bottom: 30px;
}
.skilltraining_bnr .bnr_list .item_forklift {
  margin-bottom: 90px;
}

/*#skilltraining_price article.price_tamakake table{margin-bottom: 20px;	}*/
.skilltraining_bnr .bnr_list .item_tamakake {
  margin-top: 30px;
  margin-bottom: 90px;
}

/*	#skilltraining_price article.price_smallcrane table{margin-bottom: 20px;	}*/
.skilltraining_bnr .bnr_list .item_smallcrane {
  margin-top: 30px;
}

/*---------- 	バナー詳細	---------*/

.skilltraining_bnr .inner {
  padding-top: 50px;
}
.skilltraining_bnr .bnr_list {
  justify-content: center;
}

.skilltraining_bnr .bnr_list .item {
  width: 480px;
  height: 400px;
}

.skilltraining_bnr .bnr_list .item a {
  background: no-repeat center center/ cover;
  border: 8px solid #e7e9df;
  width: 100%;
  height: 100%;
}
.skilltraining_bnr .bnr_list .item_forklift a {
  background-image: url("../images/page/skilltraining/bnr_forklift.jpg");
}
.skilltraining_bnr .bnr_list .item_tamakake a {
  background-image: url("../images/page/skilltraining/bnr_tamakake.jpg");
}
.skilltraining_bnr .bnr_list .item_smallcrane a {
  background-image: url("../images/page/skilltraining/bnr_smallcrane.jpg");
}
.skilltraining_bnr .bnr_list a:hover {
  opacity: 0.7;
}
.skilltraining_bnr .txtarea {
  font-size: 24px;
  color: #fff;
  padding: 30px 0;
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
  text-align: center;
}
.skilltraining_bnr .txtarea .cate {
  margin-top: 20px;
}
.skilltraining_bnr .txtarea .cate li {
  font-size: 18px;
  background-color: #0277c0;
  padding: 10px 30px;
}
.skilltraining_bnr .txtarea .cate li + li {
  margin-left: 20px;
}
/*----------

	技能講習 下層（フォークリフト、玉掛けクレーン）

	---------*/
.page_skilltraining_child .page_ttl_cont {
  width: 32.93vw;
}
.page_skilltraining_child .mark_list {
  font-size: 14px;
}
/*---------- 	特別教育	---------*/

.skilltraining_child_education .inner {
  padding: 0 0 50px;
}
.skilltraining_child_education .content_ttl_sl {
  margin-bottom: 30px;
}
.skilltraining_child_education .content_sttl {
  margin-bottom: 50px;
}

.skilltraining_child_education table {
  margin-bottom: 15px;
}
.skilltraining_child_education table th,
.skilltraining_child_education table td {
  text-align: center;
  padding: 10px;
  /*padding: 15px 10px;
  font-size: 14px;*/
}
.skilltraining_child_education table .per_person {
  width: 40%;
}
.skilltraining_child_education table td .link:hover {
  color: #0277bb;
}

/*---------- 	時間割	---------*/
.skilltraining_child_schedule .inner {
  padding: 50px 0 65px;
}
.skilltraining_child_schedule .schedule_ttl {
  font-size: 26px;
  margin-bottom: 25px;
  text-align: center;
}
.skilltraining_child_schedule table {
  margin-bottom: 15px;
}
.skilltraining_child_schedule table th,
.skilltraining_child_schedule table td {
  padding: 10px 15px;
}
.skilltraining_child_schedule table th {
  text-align: center;
}
.skilltraining_child_schedule table .num {
  width: 5%;
}
.skilltraining_child_schedule table .th_subject {
  width: 21%;
}
.skilltraining_child_schedule table .th_content {
  width: 45%;
}
.skilltraining_child_schedule .mark_list {
  margin-bottom: 100px;
}

/*---------- 	申込方法	---------*/
.skilltraining_child_request .inner {
  padding: 65px 0 60px;
}
.skilltraining_child_request .content_ttl_sl {
  margin-bottom: 60px;
}

.skilltraining_child_request .download {
  justify-content: space-between;
  align-items: center;
  max-width: 900px;
  margin: 0 auto;
}
.skilltraining_child_request .download .txt_pc {
  display: inline;
}
.skilltraining_child_request .download .txt_mobile {
  display: none;
}
.skilltraining_child_request .download dt {
  position: relative;
  border: 1px solid #000;
  border-right: none;
  font-size: 18px;
  padding: 17px;
  margin-right: 30px;
  width: 100%;
  max-width: 478px;
  height: 84px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.skilltraining_child_request .download dt:after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/page/skilltraining/download_tri.svg) no-repeat
    center center / contain;
  right: -21px;
  top: -1px;
  width: 22px;
  height: 84px;
}

.skilltraining_child_request .download dd {
  max-width: 382px;
  width: 100%;
}

.skilltraining_child_request .download dd a {
  font-size: 20px;
  color: #fff;
  border: 1px solid #0277c0;
  background-color: #0277c0;
  padding: 8px 15px;
  width: 100%;
}
.skilltraining_child_request .download dd a.fz_small {
  font-size: 16px;
}

.skilltraining_child_request .download dd a + a {
  margin-top: 10px;
}

.skilltraining_child_request .download dd a:before {
  content: "";
  display: block;
  background: url(../images/page/skilltraining/icon_paper_white.svg) no-repeat
    center center / contain;
  width: 42px;
  height: 42px;
  margin-right: 15px;
}

.skilltraining_child_request .download dd a:hover {
  color: #0277c0;
  background-color: #fff;
}

.skilltraining_child_request .download dd a:hover:before {
  content: "";
  display: block;
  background: url(../images/page/skilltraining/icon_paper.svg) no-repeat center
    center / contain;
  width: 42px;
  height: 42px;
  margin-right: 15px;
}
.skilltraining_child_request .site dd a:before {
  background: url(../images/page/skilltraining/icon_web_white.png) no-repeat
    center center / contain;
}
.skilltraining_child_request .site dd a:hover:before {
  background: url(../images/page/skilltraining/icon_web.png) no-repeat center
    center / contain;
}

.skilltraining_child_request .request_sttl {
  display: flex;
  justify-content: center;
  margin: 60px auto 15px;
  width: 270px;
}
.skilltraining_child_request .request_sttl span {
  font-size: 20px;
  border-bottom: 1px solid #000;
  padding: 0px 15px 8px;
  width: 100%;
  text-align: center;
}

/*---------- 	支払方法	---------*/
.skilltraining_child_payment .inner {
  padding: 60px 0;
}
.skilltraining_child_payment .content_ttl_sl {
  margin-bottom: 30px;
}
.skilltraining_child_payment .desc {
  font-size: 16px;
  margin-bottom: 60px;
}
.skilltraining_child_payment table th,
.skilltraining_child_payment table td {
  text-align: center;
  padding: 20px 15px;
  font-size: 20px;
}

/*---------- 	その他	---------*/
.skilltraining_child_other .inner {
  padding: 35px 0;
}
.skilltraining_child_other .content_ttl_sl {
  margin-bottom: 60px;
}
.skilltraining_child_other .mark_list {
  margin-bottom: 80px;
}
.skilltraining_child_other .mark_list li {
  font-size: 20px;
  margin-bottom: 10px;
}

.skilltraining_child_other .btn.btn_reserve a {
  color: #fff;
  line-height: 1;
  font-size: 30px;
  border: 1px solid #0277c0;
  border-radius: 15px;
  background-color: #0277c0;
  padding: 40px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 95%;
  max-width: 500px;
  margin: 0 auto 100px;
}
.skilltraining_child_other .btn.btn_reserve a:before {
  content: "";
  display: block;
  background: url("../images/common/tri_white.svg") no-repeat center center/
    contain;
  width: 10px;
  height: 14px;
  margin-right: 20px;
  margin-top: 5px;
}
.skilltraining_child_other .btn.btn_reserve a:hover {
  background-color: #fff;
  color: #0277c0;
}
.skilltraining_child_other .btn.btn_reserve a:hover:before {
  background: url("../images/common/tri_blue.svg") no-repeat center center/
    contain;
  width: 10px;
  height: 14px;
}

.skilltraining_child_other .btn_area .btn a {
  width: 665px;
  margin-top: 50px;
}

/*----------

	教育&研修(第二階層)コースメニュー

	---------*/
#education_menu01 .menu_list {
  flex-wrap: wrap;
  justify-content: space-between;
}

#education_menu01 .menu_list li {
  width: 48%;
  max-width: 465px;
}

#education_menu01 .menu_list .ttl {
  background-color: #0277c0;
  border: 1px solid #0277c0;
  text-align: center;
  width: 90%;
  margin: -35px auto 28px;
  position: relative;
  padding: 20px 10px;
  font-size: 24px;
  color: #fff;
  transition: 0.3s ease-in-out;
}

#education_menu01 .menu_list .txt {
  font-size: 14px;
}

#education_menu01 .menu_list li a:hover .ttl {
  background-color: #fff;
  color: #0277c0;
}

#education_menu01 .menu_list li a:hover img {
  opacity: 1;
}

/*----------
	個人・法人のお客様、外国人実習生技能検定対策講座・
	階層別教育・教育&研修コースメニュー共通

	---------*/

.education_bnr .content_ttl_sl {
  margin-bottom: 60px;
}
.education_bnr .desc {
  font-size: 15px;
  text-align: center;
  margin-bottom: 80px;
}

.education_bnr .bnr_list {
  justify-content: space-between;
  flex-wrap: wrap;
}

.education_bnr .bnr_list .item {
  width: 480px;
  /*height: 400px;*/
  margin-bottom: 25px;
}
.education_bnr .bnr_list .item.w100 {
  width: 100%;
}

.education_bnr .bnr_list .item a {
  background: no-repeat center center/ cover;
  border: 8px solid #e7e9df;
  width: 100%;
  /*height: 100%;*/
  height: 400px;
  flex-direction: column;
  color: #fff;
  position: relative;
  z-index: 2;
}
.education_bnr .bnr_list .item a:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.4;
  transition: 0.3s ease-in-out;
  z-index: 1;
}
.education_bnr .bnr_list a:hover:before {
  opacity: 0.7;
}
.education_bnr .bnr_list a .txtarea {
  text-align: center;
  position: relative;
  z-index: 2;
}
.education_bnr .ttl {
  font-size: 31px;
  line-height: 1.3;
  /*margin-bottom: 18px;*/
}
.education_bnr .subttl {
  font-size: 18px;
  padding: 10px 30px;
  margin-top: 18px;
}

.education_bnr .subttl.blue {
  background-color: #0277c0;
}

.education_bnr .subttl.white {
  background-color: #fff;
  color: #000;
}
.education_bnr .item_desc {
  padding: 5px;
  font-size: 14px;
  text-align: center;
}

/*青ボタンの場合*/
.education_bnr .bnr_list .btn {
  width: 47.52%;
  max-width: 47.52%;
  margin-bottom: 35px;
}

.education_bnr .bnr_list .btn .ttl {
  font-size: 24px;
}

.education_bnr .course_detail_list {
  margin-bottom: 30px;
}
.education_bnr .course_detail_item:not(:last-child) {
  margin-bottom: 100px;
}
.education_bnr .course_detail_sttl {
  margin-bottom: 30px;
}
/*----------

	外国人実習生技能検定対策講座

	---------*/
#page_countermeasure .page_ttlarea:before,
.page_countermeasure_child {
  background-image: url("../images/page/countermeasure/mainimg.jpg");
}

#page_countermeasure .page_ttl_cont,
.page_countermeasure_child .page_ttl_cont {
  width: 510px;
}
#countermeasure_education_bnr .desc {
  margin-bottom: 60px;
}
#countermeasure_education_bnr .content_ttl {
  font-size: 20px;
  max-width: 350px;
  margin-bottom: 50px;
}
#countermeasure_education_bnr .content_ttl span {
  color: #fff;
  background-color: #0277c0;
  padding: 6px 20px;
  margin-right: 20px;
  display: inline-block;
}
#countermeasure_education_bnr .bnr_list:not(:last-of-type) {
  margin-bottom: 90px;
}

#countermeasure_education_bnr .bnr_list .item01 a {
  background-image: url("../images/page/countermeasure/bnr_item_112.jpg");
}

#countermeasure_education_bnr .bnr_list .item02 a {
  background-image: url("../images/page/countermeasure/bnr_item_327.jpg");
}

#countermeasure_education_bnr .bnr_list .item03 a {
  background-image: url("../images/page/countermeasure/bnr_item_330.jpg");
}

#countermeasure_education_bnr .bnr_list .item04 a {
  background-image: url("../images/page/countermeasure/bnr_item_333.jpg");
}
#countermeasure_education_bnr .bnr_list .item05 a {
  background-image: url("../images/page/countermeasure/bnr_item_763.jpg");
}
/*---------- 	金属プレス加工	---------*/
#page_countermeasure_course_112 .page_ttlarea:before {
  background-image: url("../images/page/countermeasure/mainimg_112.jpg");
}

/*---------- 	機械加工	---------*/
#page_countermeasure_course_327 .page_ttlarea:before {
  background-image: url("../images/page/countermeasure/mainimg_327.jpg");
}

/*---------- 	プラスチック成形	---------*/
#page_countermeasure_course_330 .page_ttlarea:before {
  background-image: url("../images/page/countermeasure/mainimg_330.jpg");
}

/*---------- 	機械検査	---------*/
#page_countermeasure_course_333 .page_ttlarea:before {
  background-image: url("../images/page/countermeasure/mainimg_333.jpg");
}

/*---------- 	溶接(半自動溶接)	---------*/
#page_countermeasure_course_763 .page_ttlarea:before {
  background-image: url("../images/page/countermeasure/mainimg_763.jpg");
}

/*----------

	階層別教育

	---------*/

#education02_education_bnr .bnr_list .item01 a {
  background-image: url("../images/page/education/education02/bnr_item01.jpg");
}
#education02_education_bnr .bnr_list .item02 a {
  background-image: url("../images/page/education/education02/bnr_item02.jpg");
}
#education02_education_bnr .bnr_list .item03 a {
  background-image: url("../images/page/education/education02/bnr_item03.jpg");
}
#education02_education_bnr .bnr_list .item04 a {
  background-image: url("../images/page/education/education02/bnr_item04.jpg");
}
/*----------

	/*----------

	教育&研修コースメニュー

	---------*/
#page_education03 .page_ttlarea:before {
  background-image: url("../images/page/education/education03/mainimg.jpg");
}

#education03_education_bnr .bnr_list .item {
  margin-bottom: 35px;
}

#education03_education_bnr .bnr_list .item06 a {
  background-image: url("../images/page/education/education03/bnr_item06.jpg");
}

/*----------

	特別教育・安全衛生教育

	---------*/
#page_education03_special .page_ttlarea:before {
  background-image: url("../images/page/education/education03/mainimg_special.jpg");
}
#page_education03_special .table_row_multi thead .name {
  width: 50%;
}
#page_education03_special .table_row_multi tbody td:first-child {
  text-align: left;
}

/*----------

	個人のお客様

	---------*/
#menu_individual .bnr_list .item01 a {
  background-image: url("../images/page/menu_individual/bnr_item01.jpg");
}
#menu_individual .bnr_list .item02 a {
  background-image: url("../images/page/menu_individual/bnr_item02.jpg");
}
/*----------

	法人のお客様

	---------*/
#page_menu_corporate .bnr_list .item01 a {
  background-image: url("../images/page/menu_corporate/bnr_item01.jpg");
}
#page_menu_corporate .bnr_list .item02 a {
  background-image: url("../images/page/menu_corporate/bnr_item02.jpg");
}
#page_menu_corporate .bnr_list .item03 a {
  background-image: url("../images/page/menu_corporate/bnr_item03.jpg");
}
#page_menu_corporate .bnr_list .item04 a {
  background-image: url("../images/page/menu_corporate/bnr_item04.jpg");
}
#page_menu_corporate .bnr_list .item05 a {
  background-image: url("../images/page/menu_corporate/bnr_item05.jpg");
}
#page_menu_corporate .bnr_list .item06 a {
  background-image: url("../images/page/menu_corporate/bnr_item06.jpg");
}

/*----------

	H&Aアカデミー

	---------*/
#ha_academy_lesson .content_sttl span {
  font-size: 24px;
  padding: 30px 10px;
  width: 100%;
  background-color: #3776b6;
}
#ha_academy_lesson .inner {
  padding-bottom: 65px;
}
#ha_academy_lesson .lesson_list {
  margin: 50px -30px 0;
}
#ha_academy_lesson .lesson_list .item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px 30px;
  width: 50%;
}
#ha_academy_lesson .lesson_list .item:nth-of-type(2n) {
  border-left: 1px solid #134b87;
}
#ha_academy_lesson .content_ttl_rec span {
  border-color: #134b87;
  border-radius: 0;
  width: 100%;
  font-size: 24px;
  color: #000;
  text-align: center;
  padding: 20px 10px;
  margin-bottom: 10px;
}

#ha_academy_lesson .img {
  margin-bottom: 20px;
}
@media all and (-ms-high-contrast: none) {
  #ha_academy_lesson .img {
    height: 307px;
  }
}
#ha_academy_lesson .target {
  display: flex;
  align-items: center;
  font-size: 24px;
  color: #134b87;
  margin-bottom: 20px;
}

#ha_academy_lesson .target dt {
  color: #fff;
  font-size: 21px;
  background-color: #3776b6;
  padding: 15px 35px;
  margin-right: 20px;
}
#ha_academy_lesson .merit_list {
  font-size: 22px;
  line-height: 1.4;
  margin-bottom: 20px;
}
#ha_academy_lesson .merit_notice {
  color: #fff;
  background-color: #3776b6;
  text-align: center;
  padding: 15px 20px;
  margin-bottom: 20px;
  font-size: 20px;
  border-radius: 20px;
}

#ha_academy_lesson .lesson_list .item a {
  height: 256px;
  border: 1px solid #005e47;
  margin: auto 0 0;
}
#ha_academy_lesson .lesson_list .item a:before {
  background-color: #fff;
}

#ha_academy_lesson .movie_list {
  margin-top: 80px;
}
#ha_academy_lesson .movie_box {
  margin-right: 20px;
  margin-bottom: 30px;
}
#ha_academy_lesson .movie_box .sttl {
  text-align: center;
  min-height: 3.2em;
  margin-bottom: 20px;
}
#ha_academy_lesson .movie_box .movie_item {
  margin: auto auto 0;
}

#ha_academy_contact .inner {
  padding: 65px 0;
}
#ha_academy_contact .content_ttl_sl {
  margin-bottom: 40px;
}
#ha_academy_contact .content_ttl_sl:before,
#ha_academy_contact .content_ttl_sl:after {
  background-color: #005e47;
}
#ha_academy_contact .desc {
  font-size: 20px;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 80px;
}

#ha_academy_contact .contact_icon_list {
  flex-wrap: wrap;
  justify-content: space-between;
}
#ha_academy_contact .contact_icon_list li,
#ha_academy_contact .contact_icon_list li:nth-last-of-type(2) {
  width: 48%;
  margin: 0 0 80px;
}
#ha_academy_contact .contact_icon_list .mail img {
  width: 98px;
  height: 98px;
  padding: 0;
}

/*----------

	人材派遣事業

	---------*/
#temporary_outline {
  margin-bottom: 190px;
}

#temporary_outline .content_sttl {
  font-size: 20px;
  margin-bottom: 40px;
}

#temporary_outline .content_sttl span {
  padding: 15px;
  width: 100%;
  max-width: 390px;
  border-radius: 10px;
}

#temporary_outline .desc {
  text-align: center;
  font-size: 20px;
  line-height: 1.4;
  margin-bottom: 80px;
}

#temporary_outline .outline_img {
  width: 634px;
  margin: 0 auto;
}

.temporary_item {
  margin-bottom: 80px;
}

.temporary_item .sttl {
  font-size: 20px;
  border: 1px solid;
  padding: 20px;
  margin-bottom: 30px;
}
.temporary_item .desc {
  font-size: 14px;
  margin-bottom: 60px;
}

#temporary_type .desc {
  font-size: 18px;
}
#temporary_type .type_item {
  margin-bottom: 70px;
}
#temporary_type .type_item dt {
  font-size: 18px;
  color: #fff;
  padding: 10px 20px;
  background-color: #0277bb;
  display: inline-block;
  margin-bottom: 20px;
}

#temporary_type .type_item dd {
  font-size: 14px;
}
#temporary_type .type_item dd .mark_list {
  counter-reset: t_number 0;
}
#temporary_type .type_item dd .mark_list li:before {
  counter-increment: t_number 1;
  content: counter(t_number) ".";
}

#temporary_period .desc span {
  display: inline-block;
}
#temporary_period .period_item {
  font-size: 14px;
  margin-bottom: 100px;
}
#temporary_period .period_item h3 {
  font-size: 20px;
  margin-bottom: 15px;
}
#temporary_period .period_item .outline_img {
  width: 650px;
  margin: 40px auto 0;
}
#temporary_period .period_item .note {
  margin-top: 40px;
}

/*----------
	有料職業紹介事業
	---------*/
#agency_paid_outline {
  margin-bottom: 190px;
}
#agency_paid_outline .content_sttl {
  font-size: 20px;
  margin-bottom: 40px;
}
#agency_paid_outline .content_sttl span {
  padding: 15px;
  width: 100%;
  max-width: 390px;
  border-radius: 10px;
}
#agency_paid_outline .desc {
  text-align: center;
  font-size: 20px;
  line-height: 1.8;
  margin-bottom: 80px;
}
#agency_paid_outline .outline_img {
  width: 562px;
  margin: 0 auto;
}

#agency_paid_charge {
  margin-bottom: 150px;
}
#agency_paid_charge .sttl {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

#agency_paid_charge .sttl span {
  font-size: 17px;
  color: #fff;
  background-color: #0277bb;
  padding: 10px 20px;
  flex-shrink: 0;
}

#agency_paid_charge .sttl:after {
  content: "";
  background-color: #0277bb;
  width: 100%;
  height: 1px;
}

#agency_paid_charge .charge_item {
  width: 800px;
  border: 1px solid #0277bb;
  border-radius: 20px;
  padding: 30px 20px;
  margin: 0 auto 30px;
  font-size: 14px;
}
#agency_paid_charge .charge_item:last-of-type {
  margin-bottom: 60px;
}
#agency_paid_charge .charge_item dt {
  font-size: 18px;
  margin-bottom: 10px;
}
#agency_paid_charge .charge_item dd {
  font-size: 14px;
}

.agency_paid_system h3 {
  font-size: 18px;
  margin-bottom: 20px;
}
.agency_paid_system .mark_list {
  counter-reset: s_number 0;
  font-size: 12px;
}
.agency_paid_system .mark_list > li:before {
  counter-increment: s_number 1;
  content: "(" counter(s_number) ")";
}
.agency_paid_system .mark_list.downer {
  counter-reset: sd_number 0;
}
.agency_paid_system .mark_list.downer > li:before {
  counter-increment: sd_number 1;
  content: "[" counter(sd_number) "]";
}
/*----------


	SDGsへの取り組み

	---------*/
#sdgs_intro .sdgs_logo {
  flex-direction: column;
}
#sdgs_intro .sdgs_logo .ttl {
  margin-bottom: 25px;
}
#sdgs_intro .sdgs_logo p {
  font-size: 14px;
  margin-bottom: 70px;
}

#sdgs_intro .icon_list {
  justify-content: space-between;
  width: 100%;
  margin-bottom: 100px;
}

#sdgs_intro .icon_list li {
  width: 127px;
}

#sdgs_intro .desc {
  border: 1px solid #0089a5;
  padding: 70px 40px 50px;
  text-align: center;
  position: relative;
  margin-bottom: 75px;
}

#sdgs_intro .desc .sttl {
  position: absolute;
  top: -34px;
  left: 0;
  right: 0;
  margin: auto;
}
#sdgs_intro .desc .sttl span {
  color: #fff;
  font-size: 33px;
  padding: 20px;
  width: 100%;
  max-width: 416px;
  border-radius: 15px;
  background-color: #0089a5;
  display: inline-block;
}

#sdgs_intro .desc .txt {
  font-size: 18px;
  line-height: 1.8;
}

#sdgs_content .sdgs_list .item:not(:last-child) {
  margin-bottom: 130px;
}
#sdgs_content .sdgs_list .ttl {
  margin: 0 auto 45px;
}
#sdgs_content .sdgs_list .ttl img {
  width: 200px;
}
#sdgs_content .sdgs_list .ttl img + img {
  margin-left: 30px;
}
#sdgs_content .sdgs_list .sttl {
  position: relative;
  margin-bottom: 50px;
}

#sdgs_content .sdgs_list .sttl span {
  color: #fff;
  font-size: 18px;
  padding: 20px;
  width: 100%;
  max-width: 416px;
  border-radius: 15px;
  background-color: #0089a5;
  display: block;
  text-align: center;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
#sdgs_content .sdgs_list .sttl:before,
#sdgs_content .sdgs_list .sttl:after {
  content: "";
  background-color: #0089a5;
  width: 100%;
  height: 1px;
  display: block;
  position: absolute;
}
#sdgs_content .sdgs_list .sttl:before {
  top: 22px;
}
#sdgs_content .sdgs_list .sttl:after {
  bottom: 22px;
}

#sdgs_content .sdgs_list .detail_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
  counter-reset: sdd_number 0;
}
#sdgs_content .sdgs_list .detail_list li {
  width: 49%;
  margin-bottom: 20px;
  display: flex;
  border-bottom: 1px dashed #808080;
  padding-bottom: 10px;
}
#sdgs_content .sdgs_list .detail_list li.w100 {
  width: 100%;
}
#sdgs_content .sdgs_list .detail_list li:before {
  counter-increment: sdd_number 1;
  content: counter(sdd_number);
  font-size: 18px;
  color: #fff;
  background-color: #00457c;
  width: 30px;
  height: 30px;
  line-height: 1.6;
  border-radius: 50px;
  text-align: center;
  text-indent: -1px;
  margin-right: 15px;
  flex-shrink: 0;
}
#sdgs_content .sdgs_list .other_list {
  border: 2px solid #8b8b8b;
  padding: 20px 0;
}

#sdgs_content .sdgs_list .other_list h4 {
  font-size: 18px;
  color: #fff;
  padding: 20px 30px;
  background-color: #0089a5;
}

#sdgs_content .sdgs_list .other_list .mark_list {
  padding: 20px 30px 0;
  font-size: 14px;
}

/*----------
	新着情報
	---------*/
.news_list {
  margin-top: 50px;
  width: 100%;
}

.news_list dl {
  padding: 25px 10px;
  font-size: 15px;
  border-bottom: 1px dotted #919190;
}

.news_list dl dt .cate {
  margin-left: 30px;
  font-size: 12px;
  color: #fff;
  background-color: #0277bb;
  padding: 10px 30px;
}

.news_list dl dd {
  margin-left: 50px;
}
.news_list dl dd a {
  color: #000;
  display: block;
}
.news_list dl dd a:hover {
  opacity: 0.6;
}

/*----------
	ブログ
	---------*/
.column2 {
  display: flex;
  justify-content: space-between;
}
.column2 #main-contents {
  width: 70%;
}
.column2 #sidebar {
  width: 25%;
}

.column2 #main-contents .content_ttl_sl {
  margin-bottom: 40px;
}
.column2 #main-contents .tac-text {
  text-align: center;
  font-size: 18px;
  margin-bottom: 65px;
}
.blog-list {
  display: flex;
  flex-wrap: wrap;
}
.blog-list article {
  width: 48%;
  margin: 0 1% 4%;
}
.blog-list article a {
  display: block;
  height: 100%;
  background-color: #fff;
  border: 1px solid #f3f3f3;
  box-shadow: 4px 6px 12px -10px rgba(0, 0, 0, 0.6);
  box-sizing: border-box;
  color: #333;
  text-decoration: none;
}
.blog-list article a:hover {
  background-color: #4680ba;
  color: #fff;
}
.blog-photo {
  position: relative;
}
.blog-photo ul {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  z-index: 2;
}
ul.blog_cat li {
  display: inline-block;
  background-color: #0277bb;
  color: #fff;
  font-size: 0.8rem;
  padding: 3px 8px;
  margin: 0 3px 3px 0;
}
.blog-photo img {
  width: 100%;
  height: 220px;
}
.blog-list article a div.blog-list-in {
  padding: 5% 6%;
}
.blog-list article a div.blog-list-in .days {
  font-size: 0.8rem;
  margin-bottom: 24px;
}
.blog-list article a div.blog-list-in .blog_ex {
  font-size: 0.9rem;
  line-height: 1.8;
}

/* sidebar */
.column2 #sidebar h2.subtitle-002 {
  font-size: 1.3rem;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
}
.column2 #sidebar h2.subtitle-002.subtitle-002::before {
  content: "";
  width: 40px;
  height: 2px;
  background-color: #4680ba;
  margin-right: 15px;
}
.column2 #sidebar div.side-list {
  margin-bottom: 32px;
}

.column2 #sidebar div.side-list ul {
  border-top: 1px dotted #ccc;
}
.column2 #sidebar div.side-list ul li a {
  display: block;
  text-decoration: none;
  font-size: 0.9rem;
  color: #333;
  padding: 4% 3%;
  border-bottom: 1px dotted #ccc;
}
.column2 #sidebar div.side-list ul li a:hover {
  background-color: #4680ba;
  color: #fff;
}

/* 詳細 */
.blig-single .blog_head {
  margin-bottom: 40px;
}
.blig-single .blog_head h1 {
  font-size: 1.3rem;
  border-bottom: 2px solid #0277bb;
  padding: 12px 0 12px;
  margin-bottom: 5px;
}

.blig-single .blog_head p.days {
  font-size: 0.8rem;
  text-align: right;
}
.blig-single .blog_detail figure {
  margin-top: 24px;
}
.blig-single .blog_detail img {
  max-width: 100%;
  height: auto;
}
.blog_detail h2 {
  font-size: 1.6rem;
  margin-bottom: 0.5em;
}

.blog_detail h3 {
  font-size: 1.2rem;
  margin-bottom: 0.5em;
}

.blog_detail a {
  color: #007ab1;
  text-decoration: underline;
}

.side-search input {
  box-sizing: border-box;
  padding: 6px;
  width: 70%;
  vertical-align: middle;
}
.side-search .submit-btn {
  background-color: #0277bb;
  color: #fff;
  border: 2px solid #0277bb;
  width: 20%;
  padding: 4px 0;
  cursor: pointer;
  transition: 0.3s;
  vertical-align: middle;
}
.side-search .submit-btn:hover {
  background-color: #fff;
  color: #0277bb;
}

.pagenavi {
  text-align: center;
  margin-top: 30px;
}
.wp-pagenavi a,
.wp-pagenavi span {
  border: 1px solid #cdd2d3 !important;
  padding: 0.5em 0.8em !important;
  margin: 0 5px !important;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
  border: 1px solid #cdd2d3 !important;
  color: #fff !important;
  background-color: #0277bb !important;
}

/*----------

	新着情報

	---------*/

.news-cat-list ul {
  display: flex;
  justify-content: center;
  margin-bottom: 45px;
}
.news-cat-list ul li {
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  width: 20%;
  text-align: center;
}
.news-cat-list ul li a {
  display: block;
  text-decoration: none;
  background-color: #fff;
  color: #4680ba;
  border: 1px solid #4680ba;
  padding: 10px 0;
  box-sizing: border-box;
}
body.post-type-archive-news .news-cat-list ul li.all-cat a,
.news-cat-list ul li.current-cat a,
.news-cat-list ul li a:hover {
  background-color: #4680ba;
  color: #fff;
}
/*----------

	採用情報

	---------*/
#page_recruit .page_ttlarea:before {
  background-image: url("../images/page/recruit/mainimg.jpg");
}

.recruit_info_item {
  margin-bottom: 140px;
}

.recruit_info_item .job_name {
  font-size: 26px;
  padding: 15px 20px;
  background-color: #0277ba;
  color: #fff;
  margin-bottom: 50px;
}

.recruit_info_item .job_name .stxt {
  color: #0277ba;
  background-color: #fff;
  padding: 5px 1.5em;
  display: inline-block;
  border-radius: 10px;
  margin-right: 20px;
}
.recruit_info_item table {
  margin-bottom: 100px;
}

.recruit_info_item .btn {
  max-width: 415px;
  margin: 0 auto;
}

/*----------  採用情報＿総合 ---------*/
#recruit_top_menu .content_ttl_sl {
  margin-bottom: 60px;
}
#recruit_top_menu .menulist {
  justify-content: center;
  flex-wrap: wrap;

}
#recruit_top_menu .menulist li {
  width: 48%;
  max-width: 497px;
}
#recruit_top_menu .menulist .btn a {
  border: 1px solid #0277bb;
}
#recruit_top_menu .menulist .item_desc {
  text-align: center;
  color: #fff;
  background-color: #0277bb;
  padding: 8px 20px;
  border-radius: 6px;
  margin: 0 10px 20px -10px;
}

/*----------

	申請等取次研修会

	---------*/

.agency_seminar_item .inner {
  padding: 35px 0;
  font-size: 16px;
}
.agency_seminar_item .inner.col2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.agency_seminar_item .inner.col2 .small_item {
  width: 48%;
}
.agency_seminar_item .inner.col2 .small_item .sttl {
  margin-bottom: 20px;
}
.agency_seminar_item .inner.col2 .small_item .desc {
  padding-left: 1em;
}

.agency_seminar_item .sttl {
  font-size: 22px;
  text-align: center;
  padding: 23px 10px;
  color: #fff;
  background-color: #00457c;
  margin-bottom: 30px;
}

.agency_seminar_item .desc {
  line-height: 1.8;
}

.agency_seminar_item .mark_list {
  counter-reset: num 0;
}
.agency_seminar_item .mark_list .num:before {
  counter-increment: num 1;
  content: counter(num) ". ";
}

.agency_seminar_item .btn.btn_bd_navy a {
  max-width: 400px;
  margin: 60px auto 20px;
  font-size: 22px;
  padding: 30px 10px;
}

.agency_seminar_item .desc a {
  color: #0277c0;
  text-decoration: underline;
}
.agency_seminar_item .desc a:hover {
  opacity: 0.7;
}

.agency_seminar_item .red {
  color: #d20000;
}

/*----------

	お問い合わせ

	---------*/
/*----------  メールでのお問いわせ ---------*/
#page_contact .page_ttlarea:before {
  background-image: url("../images/page/contact/mainimg.jpg");
}
#contact_mail {
  padding: 65px 0 0;
}

#contact_mail .content_ttl_sl {
  letter-spacing: 0.3em;
  margin-bottom: 60px;
}

.form-info {
  text-align: center;
  margin-bottom: 45px;
}
.form-info p {
  margin-bottom: 20px;
  letter-spacing: 0.2em;
}
.form-info .redbox {
  margin: 0 1rem 0 0;
}

.form-caption {
  margin: 30px 0;
  font-size: 0.9rem;
}

/* 入力エラー */
.contact-error {
  background: #ffdede;
  padding: 30px;
  text-align: center;
}
.contact-error h2 {
  color: #ff0000;
  font-weight: bold;
}

.redtext {
  color: #cc0000;
  font-weight: bold;
}
table.formtbl {
  width: 100%;
  border-top: solid 1px #efefef;
}

table.formtbl tr.none {
  display: none;
}
table.formtbl tr th,
table.formtbl tr td {
  box-sizing: border-box;
  padding: 3% 1%;
  border-bottom: solid 1px #efefef;
  vertical-align: middle;
}
span.f-title {
  display: inline-block;
  vertical-align: middle;
}
span.redbox,
span.greenbox {
  display: inline-block;
  vertical-align: middle;
  background-color: #ab1a3c;
  color: #fff;
  padding: 3px 10px;
  font-weight: normal;
  margin-right: 1rem;
  font-size: 0.9rem;
}
span.greenbox {
  background-color: #007582;
}
table.formtbl tr th.f-messe {
  background-color: #4680ba;
  color: #fff;
  text-align: center;
  padding: 2% 0;
  font-size: 1.2rem;
  font-weight: normal;
}

table.formtbl th,
table.formtbl td {
  border: none;
}
table.formtbl tr th {
  width: 30%;
  text-align: left;
}
table.formtbl tr td {
  width: 70%;
}
table.formtbl tr td img {
  max-width: 100%;
}

.formtbl input.w30 {
  width: 35%;
}
.formtbl input.w90,
.formtbl textarea {
  width: 96%;
}
.formtbl input,
.formtbl textarea {
  padding: 10px;
  background: #f6f6f6;
  border: 1px solid #ccc;
  box-sizing: border-box;
}
.formtbl select {
  padding: 5px;
  box-sizing: border-box;
  border: 1px solid #ccc;
}

td.birthday span {
  display: inline;
  vertical-align: middle;
  margin-right: 12px;
}

table.formtbl td label {
  padding: 0 0 0 0;
  margin: 0 0 0 0;
}
table.formtbl td input[type="radio"] {
  padding: 0 5px;
  margin: 0 5px;
}
table.formtbl td label span {
  margin-left: 5px;
}
.formtbl td input:focus,
.formtbl td textarea:focus {
  background: #fffaca;
}

table.formtbl td p.fcap {
  padding-bottom: 20px;
}
table.formtbl td dl {
  display: table;
  width: 100%;
  border-bottom: dotted 1px #ccc;
  box-sizing: border-box;
}
table.formtbl td dl:last-child {
  border-bottom: none;
}

div.formtbl dl {
  display: table;
  width: 100%;
  border-bottom: solid 1px #ccc;
}

table.formtbl td dl dt,
table.formtbl td dl dd {
  display: table-cell;
  padding: 14px 0;
  box-sizing: border-box;
  border-top: none;
  vertical-align: middle;
  text-align: left;
}

table.formtbl td dl.jiki dt {
  width: 15%;
}
table.formtbl td dl.jiki dd {
  width: 80%;
  padding-left: 1%;
}
table.formtbl td dl.jiki dd input,
table.formtbl td dl.jiki dd select {
  width: 100%;
}

table.formtbl td.address dl dt {
  width: 20%;
}
table.formtbl td.address dl dd {
  width: 76%;
}

table.formtbl td dl:last-child dt,
table.formtbl td dl:last-child dd {
  border-bottom: none;
}

table.formtbl tr.pass td input:nth-child(n + 2) {
  margin-top: 15px;
}

input[type="submit"] {
  -webkit-appearance: none;
}
#submit {
  text-align: center;
  margin: 30px 0;
}

#submit input {
  background: #4680ba;
  color: #fff;
  border: 1px solid #4680ba;
  width: 35%;
  padding: 30px 0;
  font-size: 18px;
  font-weight: 500;
  border-radius: 6px;
}

#submit input:hover {
  background: #fff;
  color: #4680ba;
  cursor: pointer;
}

#submit input.backbtn {
  background: #f2f2f2;
  color: #333;
  border: 1px solid #666;
  width: 35%;
  padding: 30px 0;
  font-size: 16px;
  border-radius: 6px;
  margin-right: 20px;
}

#submit input.backbtn:hover {
  background: #333;
  color: #fff;
  cursor: pointer;
}

span.error {
  color: #ff0000;
  font-weight: bold;
  margin-left: 5px;
}

.contact-caption {
  text-align: center;
  margin-bottom: 32px;
}

.contact_complete .btn a {
  width: 350px;
  margin: 0 auto;
  padding: 25px 20px;
  font-size: 20px;
}
/*----------


	エントリーフォーム

	---------*/
#page_entryform .page_ttlarea:before {
  background-image: url("../images/page/contact/mainimg.jpg");
}
.entry_tel .content_ttl {
  padding: 30px 0;
  border-top: 1px solid #000;
  max-width: 100%;
  margin-bottom: 50px;
}

/*----------


	プライバシーポリシー

	---------*/
.policy_item {
  margin: 0 0 80px;
}
.policy_item .ttl {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  margin-bottom: 35px;
}
.policy_item .ttl::before {
  content: "";
  width: 40px;
  height: 2px;
  background-color: #0277bb;
  margin-right: 15px;
}

.policy_item .desc {
  margin: 0 50px 20px;
}

.policy-in {
  margin-bottom: 20px;
}
.policy-in .policy-in-item {
  margin: 40px 0 0 40px;
}

.policy_item .sttl {
  color: #0277bb;
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.policy_item .desc.mark_sa img {
  width: 150px;
  margin-bottom: 15px;
}

/*----------

404

---------*/
#page_404_cont .content_ttl_sl {
  margin-bottom: 60px;
}

#page_404_cont .desc {
  text-align: center;
  margin-bottom: 40px;
}

#page_404_cont .btn a {
  width: 190px;
  margin: 0 auto;
}

/*----------

footer

---------*/

/* side-bnr */
.side-bnr {
  position: fixed;
  right: 0;
  top: 30%;
  z-index: 90;
}
.side-bnr ul li {
  margin-bottom: 10px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.2rem;
}
@media all and (-ms-high-contrast: none) {
  .side-bnr ul li {
    height: 152px;
  }
}
.side-bnr ul li a {
  display: block;
  text-decoration: none;
  background-color: #c48d00;
  color: #fff;
  background-image: url(../images/common/icon-mail.png);
  background-position: center 10px;
  background-repeat: no-repeat;
  padding: 34px 5px 10px;
}
.side-bnr ul li a:hover {
  background-color: #4680ba;
}

/* page-top */
#page-top {
  position: fixed;
  bottom: 3%;
  right: 2%;
  z-index: 900;
}
#page-top a {
  background: url(../images/common/img_pagetop.png) no-repeat center center;
  text-decoration: none;
  width: 50px;
  height: 55px;
  text-align: center;
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
#page-top a:hover {
  background: url(../images/common/img_pagetop_hover.png) no-repeat center
    center;
}

.bnr-link {
  margin-bottom: 60px;
}
.bnr-link ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bnr-link ul:nth-of-type(n + 2) {
  margin-top: 24px;
}
.bnr-link ul li {
  margin: 0 5px;
}
.bnr-link ul li img {
  width: 100%;
}

.foot-info {
  text-align: center;
  font-size: 1.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 30px;
}
.foot-info h2.foot-logo {
  width: 30.2%;
  margin: 0 50px 24px 0;
}
.foot-info h2.foot-logo img {
  width: 100%;
}

.foot-info .foot-address dl {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.foot-info .foot-address dl dt {
  border: 1px solid #000;
  padding: 5px;
  width: 220px;
  box-sizing: border-box;
  margin-right: 20px;
  line-height: 1;
  font-size: 0.778em;
}
.foot-info .foot-address dl dd {
  font-size: 0.944em;
  text-align: left;
  line-height: 1.6;
}

.foot-info .foot-address dl dd a {
  color: #000;
  text-decoration: none;
}

.foot-link,
.foot-link .foot-nav nav,
.foot-link .foot-nav div.sns ul {
  display: flex;
  justify-content: space-between;
}
.foot-link {
  margin-top: 50px;
}
.foot-link .foot-nav div.sns ul {
  flex-wrap: wrap;
}
.foot-link .foot-bnr {
  width: 45%;
}
.foot-link .foot-nav {
  width: 52%;
}
.foot-link .foot-nav nav ul {
  width: 48%;
}
.foot-link .foot-bnr ul li {
  margin-bottom: 24px;
}
.foot-link .foot-bnr ul li img {
  width: 100%;
}

.foot-link .foot-bnr ul.sns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.foot-link .foot-bnr ul.sns li {
  width: 23%;
  margin: 0 4% 6%;
}

.foot-link .foot-nav nav {
  margin-bottom: 24px;
}
.foot-link .foot-nav nav ul li a {
  display: block;
  color: #000;
  font-size: 14px;
  text-decoration: none;
  margin-bottom: 15px;
}
.foot-link .foot-nav nav ul li a:hover {
  color: #007ab1;
}
.copy {
  margin-top: 10px;
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  background-color: #4680ba;
  color: #fff;
  text-align: center;
  padding: 3% 0;
}
.w900 {
  max-width: 900px;
  margin: 2rem auto 0.5rem;
}
#training_extra02 .inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 80%;
  margin: auto;
  gap: 3rem;
  align-items: center;
}

#training_extra02 h3:nth-child(1) {
  font-size: 2rem;
  margin-bottom: 1rem;
}
#training_extra02 .address {
  font-size: 1.4rem;
  line-height: 1.5;
}

#training_extra02 .bnr_countermeasure > p:nth-child(3) {
  margin-top: 1rem;
  padding: 1rem;
  background: #e0f1d1;
  font-size: 1.4rem;
  line-height: 1.5;
}
/*----------


パートナー講師制度


---------*/




#page_partner{
	background: url(../images/common/bg_white.jpg) no-repeat top 90px center/ 100% !important;
  }
  
  #partner_what{
	padding: 100px 0;
  }

#partner_point h2:nth-child(1) {
	background: #0277bb;
	color: #fff;
	padding: 15px;
	border-radius: 10px;
	max-width: 450px;
	font-size: 25px;
  }
  

#page_partner .page_ttlarea::before {
  background-image: url("../images/page/partner/mainimg.webp");
}

#partner_point .inner,
#partner_program .inner {
  padding: 140px 0;
}
#partner_point .point_list .item {
  padding: 29px 0;
  background-size: contain;
  display: flex;
  justify-content: flex-end;
  background: center left no-repeat;
  text-align: right;
  margin-bottom: 50px;
}
#partner_point .training_point_list #item01 {
  background-image: url(../images/page/partner/point_img01.webp);
}
#partner_point .training_point_list #item02 {
  background-image: url(../images/page/partner/point_img02.webp);
}
#partner_point .point_list .item:nth-of-type(2n) {
  background-position: center right;
  justify-content: flex-start;
  text-align: left;
}

#partner_point dl:nth-child(3) {
  border: solid #404242 1px;
  background: #fff;
  padding: 2rem;
  width: 75%;
  margin: auto;
}
#partner_point dl:nth-child(3) > dt:nth-child(1) {
  display: flex;
  font-weight: bold;
  align-items: center;
  gap: 1em;
  font-size: 30px;
  margin-bottom: 1rem;
}

#partner_point dl:nth-child(3) > dt:nth-child(1) > img:nth-child(1) {
  width: 50px;
}
#partner_point dl:nth-child(3) > dd:nth-child(2) {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

#partner_point dl:nth-child(3) > dd:nth-child(2) > p {
  background: #e5ebfb;
  padding: 1rem;
  font-size: 19px;
  line-height: 1.7;
}

#partner_point dl:nth-child(3) > p:nth-child(3) {
  margin-top: 1rem;
}

#partner_program table {
  margin: 5rem auto;
}

#partner_program tr th {
  background: #d4deeb;
  padding: 1.5rem;
  width: 30%;
  border: solid 1px #000;
  text-align: center;
}

#partner_program tr td {
  padding: 1.5rem;
  width: 70%;
  border: solid 1px #000;
}

#partner_program .btn > a:nth-child(1) {
  margin: auto;
  font-size: 25px;
	max-width: 550px;
	width: 550px;
}

nav#navi ul li.koushi ul.dropdwn_menu{
	right: 0;
}
  

.sportarea .bnr-bg {
  display: flex;
  align-items: center;
  gap: 30px;
  width: 100%;
  justify-content: center;
}
.sportarea .bnr-bg img{
  height: 70px;
  width: auto;
} 
.sportarea .bnr-bg dd.bnr:nth-child(3) a img{
  height: auto;
  width: 180px;
}
