@charset "UTF-8";
html {
  font-size: 62.5%;
}

body {
  font-size: 1.6em;
}

html, body, div, h1, h2, h3, h4, h5, h6,
p, blockquote, pre, address, ul, ol, li, dl, dt, dd,
table, th, td, form, fieldset,
section, nav, article, aside, hgroup,
header, footer, figure, figcaption, summary {
  margin: 0;
  padding: 0;
  color: #000;
  font-family: YakuHanJP, "Noto Sans JP", Quicksand, 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* Link */
a:link {
  color: #333333;
  text-decoration: none;
}

a:visited {
  color: #333333;
  text-decoration: none;
}

a:hover, a:focus, a:active {
  color: #333333;
  text-decoration: none;
}

/* scrollbars */
html {
  overflow: scroll;
  overflow: -moz-scrollbars-vertical;
  overflow-x: scroll;
}

/* Border */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  border: 0;
}

ul {
  list-style: none;
}

img, input, select, textarea {
  vertical-align: middle;
}

/*濃いブラウン*/
/*薄いブラウン*/
/*ブラウンの影色*/
/*ブラウンのボーダー色*/
/*ブラウンの中間色*/
/*キャリア相談の青*/
/*キャリア相談の影色*/
/*登録のオレンジ*/
/*登録の濃い影色*/
/*濃い青*/
/*薄い青*/
/*青のボーダー色*/
/*青の中間色*/
/*黄色*/
/*オレンジ*/
/*ダルマの赤*/
html {
  scroll-behavior: smooth;
}

body {
  -webkit-text-size-adjust: 100%;
  position: relative;
  text-align: center;
  background-image: url(../images/body_bg.jpg);
  background-repeat: repeat;
}

p, li, dt, dd, select, input, textarea, figcaption, th, td {
  line-height: 2;
  font-size: clamp(1.7rem, 1.659rem + 0.108vw, 1.8rem);
}
@media screen and (max-width: 767px) {
  p, li, dt, dd, select, input, textarea, figcaption, th, td {
    line-height: 1.6;
  }
}

h2, h3, h4, h5, h6 {
  line-height: 1.6;
}

.container-fluid {
  position: relative;
  margin: 0 auto;
  padding: 0 15px;
}

.container {
  position: relative;
  margin: 0 auto;
  padding: 0 15px;
  max-width: 1200px;
}
@media screen and (max-width: 993px) {
  .container {
    width: 100%;
  }
}

@media print {
  html, body {
    width: 1200px;
  }
}
/*header*/
#header_utility {
  background-color: #FFF;
  padding: 20px 0;
}
#header_utility .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header_utility .container #logo {
  width: 500px;
  margin: 0;
}
#header_utility .container #logo img {
  width: 100%;
}
@media screen and (max-width: 1240px) {
  #header_utility .container #logo {
    width: 400px;
  }
}
@media screen and (max-width: 767px) {
  #header_utility .container #logo {
    width: 280px;
    margin: 5px 0;
  }
}
#header_utility .container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 993px) {
  #header_utility .container ul {
    display: none;
  }
}
#header_utility .container ul li {
  margin-left: 20px;
}
#header_utility .container ul li.tel {
  margin-right: 20px;
}
#header_utility .container ul li.round_btn a {
  font-size: clamp(1.4rem, 1.319rem + 0.216vw, 1.6rem);
  background-color: #FFFFFF;
  border: solid 1px #333;
}
#header_utility .container ul li.round_btn a:hover {
  background-color: #EDE6D9;
}

/*footer*/
footer {
  background-color: #FFF;
  padding: 30px 0;
}
footer .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 993px) {
  footer .container {
    display: block;
  }
}
footer .container .footer_cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 993px) {
  footer .container .footer_cont {
    display: block;
  }
}
footer .container dl.privacy {
  text-align: center;
  margin-right: 100px;
}
@media screen and (max-width: 767px) {
  footer .container dl.privacy {
    margin-right: 0;
  }
}
footer .container dl.privacy dd {
  font-size: clamp(1rem, 0.838rem + 0.432vw, 1.4rem);
}
footer .container ul.docs {
  text-align: left;
}
@media screen and (max-width: 767px) {
  footer .container ul.docs {
    margin: 50px 0;
  }
}
footer .container ul.docs li {
  font-size: clamp(1rem, 0.838rem + 0.432vw, 1.4rem);
}
footer .container .copyright {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: clamp(1rem, 0.838rem + 0.432vw, 1.4rem);
}
@media screen and (max-width: 993px) {
  footer .container .copyright {
    display: block;
    text-align: center;
  }
}

/*footer_daruma*/
body.recruit main {
  background-image: url(../images/footer_daruma_recruit.svg);
  background-repeat: no-repeat;
  background-position: right 10% bottom -5px;
}
body.business main {
  background-image: url(../images/footer_daruma_business.svg);
  background-repeat: no-repeat;
  background-position: right 10% bottom -5px;
}

/*main*/
main {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  main {
    padding-bottom: 80px;
  }
}

/*title*/
body#lower header#title {
  height: 180px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #EDE6D9;
  background-size: cover;
  background-position: right top;
  background-repeat: no-repeat;
  margin-top: 15px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  body#lower header#title {
    height: 100px;
    background-position: bottom right !important; /* 背景画像を下に配置 */
    background-size: auto 70%; /* 背景画像の高さをdivの60%に設定 */
    background-repeat: no-repeat;
    margin-bottom: 10px;
  }
}
body#lower header#title h1 {
  font-size: clamp(2.4rem, 1.995rem + 1.081vw, 3.4rem);
  font-weight: 600;
}
body#lower.introduction header#title {
  background-image: url(../images/main_introduction.png);
}
body#lower.occupation header#title {
  background-image: url(../images/main_occupation.png);
}
body#lower.inquiry header#title {
  background-image: url(../images/main_inquiry.png);
}
body#lower.entry header#title {
  background-image: url(../images/main_inquiry.png);
}

/*topicpath*/
#topicpath {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #topicpath {
    display: none;
  }
}
#topicpath ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
#topicpath ul li {
  font-size: clamp(1rem, 0.838rem + 0.432vw, 1.4rem);
}
#topicpath ul li a {
  color: #333;
}
#topicpath ul li::before {
  display: inline-block;
  content: ">";
  margin: 0 0.8rem;
}
#topicpath ul li:first-child::before {
  display: none;
}

article {
  position: relative;
}

section.section_border {
  border-bottom: dotted 1px #603813;
  padding-bottom: 50px;
  margin-bottom: 50px;
}

/* pagetop */
#pagetop {
  background: url(../images/pagetop.png) no-repeat left;
  background-size: cover;
  width: 90px;
  height: 90px;
  text-indent: -9999px;
  position: fixed;
  right: 16px;
  bottom: 20px;
}
@media screen and (max-width: 767px) {
  #pagetop {
    right: 10px;
    bottom: 10px;
  }
}

/*nav_pc*/
#nav_pc {
  margin-top: 20px;
}
@media screen and (max-width: 993px) {
  #nav_pc {
    display: none;
  }
}
#nav_pc .nav_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#nav_pc {
  font-weight: 600;
}
#nav_pc dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  border-radius: 5px;
  padding: 15px 10px;
}
#nav_pc dl dt {
  font-size: clamp(1.1rem, 0.816rem + 0.757vw, 1.8rem);
  color: #FFF;
  font-weight: 600;
  border-right: solid 1px #FFF;
  padding-right: 10px;
  margin-right: 10px;
}
#nav_pc dl dt a {
  display: block;
  border-radius: 5px;
  padding: 10px 20px;
  color: #FFFFFF;
}
#nav_pc dl dd {
  font-size: clamp(1.1rem, 0.816rem + 0.757vw, 1.8rem);
}
#nav_pc dl dd a {
  display: block;
  border-radius: 5px;
  padding: 10px 20px;
  color: #FFFFFF;
}
#nav_pc p {
  font-size: clamp(1.1rem, 0.816rem + 0.757vw, 1.8rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 5px;
}
#nav_pc p a {
  color: #FFFFFF;
}
#nav_pc {
  /*recruit_set*/
}
#nav_pc dl.recruit {
  background-color: #603813;
  width: 80%;
}
#nav_pc dl.recruit dt a:hover {
  background-color: #AA805E;
}
#nav_pc dl.recruit dd a:hover {
  background-color: #AA805E;
}
#nav_pc dl.recruit dd.entry a {
  background-color: #AA805E;
  border-radius: 28px;
  padding: 10px 25px;
  margin: 0 20px;
}
#nav_pc dl.recruit dd.search a {
  background-color: #FFFFFF;
  color: #603813;
}
#nav_pc p.business {
  background-color: #2E3192;
  width: 18%;
}
#nav_pc p.business:hover {
  background-color: #6269BC;
}
#nav_pc {
  /*business_set*/
}
#nav_pc dl.business {
  background-color: #2E3192;
  width: 78%;
}
#nav_pc dl.business dt a:hover, #nav_pc dl.business dd a:hover {
  background-color: #6269BC;
}
#nav_pc p.recruit {
  background-color: #603813;
  width: 20%;
}
#nav_pc p.recruit:hover {
  background-color: #AA805E;
}

body.introduction #nav_pc dl.recruit {
  background-image: url(../images/nav_current.svg);
  background-repeat: no-repeat;
  background-position: bottom left 36%;
}

body.occupation #nav_pc dl.recruit {
  background-image: url(../images/nav_current.svg);
  background-repeat: no-repeat;
  background-position: bottom left 56%;
}

/*SP*/
#nav_sp {
  display: none;
}
@media screen and (max-width: 993px) {
  #nav_sp {
    display: block;
  }
}

@media print {
  #nav_sp {
    display: none;
  }
}
nav.NavMenu {
  position: fixed; /*表示位置を固定*/
  z-index: 500; /*重ね順を変更*/
  top: 0; /*表示位置を指定*/
  left: 0; /*表示位置を指定*/
  background: #603813; /*背景*/
  color: #000; /*文字色を黒にする*/
  text-align: center; /*テキストを中央揃え*/
  width: 100%; /*全幅表示*/
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%); /*ナビを上に隠す*/
  -webkit-transition: all 0.6s;
  transition: all 0.6s; /*アニメーションの時間を指定*/
}

nav.NavMenu ul {
  background: #603813;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

nav.NavMenu ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #FFF;
}

nav.NavMenu ul li:last-child {
  padding-bottom: 0;
  border-bottom: none; /*最後のメニュー項目のみ下線を消す*/
}

nav.NavMenu ul li a {
  display: block; /*クリックできる領域を広げる*/
  color: #FFFFFF;
  padding: 0.6em 0;
}

nav.NavMenu ul li a:hover {
  background: #AA805E;
}

nav.NavMenu.active {
  -webkit-transform: translateY(0%);
          transform: translateY(0%); /*ナビを表示する*/
}

.Toggle {
  display: block;
  position: fixed; /* bodyに対しての絶対位置指定 */
  right: 13px;
  top: 12px;
  width: 42px;
  height: 42px;
  cursor: pointer;
  z-index: 600;
}

.Toggle span {
  display: block;
  position: absolute;
  width: 30px;
  border-bottom: solid 3px #999;
  -webkit-transition: 0.35s ease-in-out; /*変化の速度を指定*/ /*変化の速度を指定*/
  transition: 0.35s ease-in-out; /*変化の速度を指定*/
  left: 6px;
}

.Toggle span:nth-child(1) {
  top: 9px;
}

.Toggle span:nth-child(2) {
  top: 18px;
}

.Toggle span:nth-child(3) {
  top: 27px;
}

/* 最初のspanをマイナス45度に */
.Toggle.active span {
  border-bottom: solid 3px #FFF;
}

.Toggle.active span:nth-child(1) {
  top: 18px;
  left: 6px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* 2番目と3番目のspanを45度に */
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
  top: 18px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#fade {
  display: none;
}

/*custom*/
nav.NavMenu ul li.consul a {
  background: #0E5BA5;
}

nav.NavMenu ul li.entry a {
  background: #DD3F21;
}

/*pc-sp*/
.sp {
  display: none;
}

@media screen and (max-width: 544px) {
  .pc {
    display: none;
  }
  .sp {
    display: inherit;
  }
}
/*headding*/
body#lower article h2 {
  font-size: clamp(2.6rem, 2.276rem + 0.865vw, 3.4rem);
  font-weight: 600;
  color: #603813;
  margin-bottom: 30px;
}
body#lower article h3 {
  font-size: clamp(2.4rem, 2.238rem + 0.432vw, 2.8rem);
  font-weight: 600;
  color: #603813;
  margin-bottom: 30px;
}
body#lower article h4 {
  font-size: clamp(1.8rem, 1.557rem + 0.649vw, 2.4rem);
  font-weight: 600;
  margin-bottom: 10px;
}

/*img*/
figure {
  margin-bottom: 20px;
}

figcaption {
  margin-top: 5px;
  text-align: left;
  line-height: 1.6;
}

img.fiximg {
  width: 100%;
}

@media screen and (max-width: 993px) {
  img.fiximg_tb {
    max-width: 100%;
  }
}
@media screen and (max-width: 544px) {
  img.fiximg_sp {
    width: 100%;
  }
}
/*txt*/
p.lead {
  font-size: clamp(2rem, 1.919rem + 0.216vw, 2.2rem);
  font-weight: 400;
  margin-bottom: 50px;
}

p.summary {
  font-size: clamp(1.8rem, 1.719rem + 0.216vw, 2rem);
}

.marker_yellow {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #FFFF00));
  background: linear-gradient(transparent 60%, #FFFF00 60%);
}

.marker_thin {
  border-bottom: solid 2px #F3A85F;
  padding-bottom: 0.2em;
  line-height: 2;
}

/*list*/
ul.dotlist {
  list-style: none;
  margin-left: 0.5em;
}
ul.dotlist > li {
  text-align: left;
  margin-bottom: 5px;
  position: relative;
  padding-left: 1.8em; /* 2行目以降のインデント */
}
ul.dotlist > li::before {
  display: inline-block;
  content: "●";
  color: #603813;
  font-size: clamp(1rem, 0.838rem + 0.432vw, 1.4rem);
  position: absolute;
  left: 0;
  top: 0.2em;
}

ul.dotlist_small {
  list-style: disc;
}
ul.dotlist_small li {
  margin-left: 1em;
  margin-bottom: 5px;
}

/*box*/
.round_box {
  padding: 30px;
}
@media screen and (max-width: 767px) {
  .round_box {
    padding: 15px;
  }
}
.round_box {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}
.round_box.small_box {
  padding: 15px !important;
}

.bg_box_white {
  background-color: #FFFFFF;
}

.bg_box_brown {
  background-color: #603813;
}

.bg_box_light_brown {
  background-color: #EDE6D9;
}

.border_box_light_brown {
  background-color: #F7F7F7;
  border: solid 4px #C7B299;
}

.bg_box_blue {
  background-color: #2E3192;
}

.border_box_light_blue {
  background-color: #F0F6FF;
  border: solid 5px #99ACE0;
}

/*table*/
table.basic_table {
  width: 100%;
  margin-bottom: 20px;
}
table.basic_table th, table.basic_table td {
  border: solid 1px #C7B299;
  padding: 15px;
}
table.basic_table th {
  background-color: #EDE6D9;
}
table.basic_table td {
  background-color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  table.basic_table.resp th, table.basic_table.resp td {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  table.basic_table.resp th {
    border-bottom: none;
  }
}

table.border_table {
  width: 100%;
  margin-bottom: 20px;
}
table.border_table th {
  white-space: nowrap;
}
table.border_table th, table.border_table td {
  border-bottom: solid 1px #C7B299;
  background-color: #FFFFFF;
  padding: 15px;
}
@media screen and (max-width: 767px) {
  table.border_table th, table.border_table td {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  table.border_table th {
    border-bottom: none;
  }
}

/* Links */
main article section a:link {
  text-decoration: none;
}

main article section a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 993px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
a.inner_link {
  text-decoration: underline !important;
}

a.pdf::after {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1em;
  background-image: url(../images/ico_pdf.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 0.5em;
}

/*btn*/
.round_btn {
  font-weight: 500;
  text-align: center;
}
.round_btn a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  border-radius: 30px;
  padding: 5px 25px;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
.round_btn a:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .round_btn a {
    display: block;
    padding: 10px;
  }
}

.box_btn a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  padding: 15px;
  border-radius: 5px;
  -webkit-transition: -webkit-transform 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: -webkit-transform 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  transition: transform 0.15s ease, box-shadow 0.15s ease, -webkit-transform 0.15s ease, -webkit-box-shadow 0.15s ease;
}
@media screen and (max-width: 767px) {
  .box_btn a {
    width: 100% !important;
  }
}
.box_btn a:hover {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  -webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0) !important;
          box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0) !important;
  text-decoration: none;
}
.box_btn.basic a {
  background-color: #EDE6D9;
  border: solid 2px #603813;
  color: #603813;
  -webkit-box-shadow: 0px 5px #603813;
          box-shadow: 0px 5px #603813;
  background-image: url(../images/link_arrow_brwn.svg);
  background-position: right 10px center;
  background-repeat: no-repeat;
  padding: 10px 50px 10px 40px;
  margin: 5px 0;
}
.box_btn.free a {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .box_btn.free a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.box_btn.free a::before {
  display: inline-block;
  content: "無料";
  background-color: #FFFFFF;
  line-height: 1;
  padding: 5px 10px;
  border-radius: 9999px;
  font-size: clamp(0.9rem, 0.778rem + 0.324vw, 1.2rem);
  margin-right: 1em;
}
.box_btn.consul_btn a {
  background-color: #0E5BA5;
  color: #FFFFFF;
  -webkit-box-shadow: 0px 5px #2E3192;
          box-shadow: 0px 5px #2E3192;
  margin: 5px 0;
  width: 16em;
}
.box_btn.consul_btn a::before {
  color: #0E5BA5;
}
.box_btn.entry_btn a {
  background-color: #E8610A;
  color: #FFFFFF;
  -webkit-box-shadow: 0px 5px #A5410A;
          box-shadow: 0px 5px #A5410A;
  margin: 5px 0;
  width: 16em;
}
.box_btn.entry_btn a::before {
  color: #E8610A;
  margin-right: 2em;
}
.box_btn.form_btn a {
  background-color: #603813;
  color: #FFFFFF;
  -webkit-box-shadow: 0px 5px #3F240E;
          box-shadow: 0px 5px #3F240E;
  margin: 5px 0;
  width: 16em;
}
.box_btn.tab_active a {
  background-color: #FFFFFF;
  color: #603813;
  -webkit-box-shadow: 0px 10px #603813;
          box-shadow: 0px 10px #603813;
  margin: 10px 0;
  width: 100%;
  cursor: inherit;
}
.box_btn.tab_active a:hover {
  -webkit-transform: none;
          transform: none;
  -webkit-box-shadow: 0px 10px #603813 !important;
          box-shadow: 0px 10px #603813 !important;
}
.box_btn.tab_link a {
  background-color: #AA805E;
  color: #FFFFFF;
  -webkit-box-shadow: 0px 10px #603813;
          box-shadow: 0px 10px #603813;
  margin: 10px 0;
  width: 100%;
}

.box_link a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 600;
  padding: 15px;
  border-radius: 10px;
  -webkit-transition: -webkit-transform 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: -webkit-transform 0.15s ease, -webkit-box-shadow 0.15s ease;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  transition: transform 0.15s ease, box-shadow 0.15s ease, -webkit-transform 0.15s ease, -webkit-box-shadow 0.15s ease;
  background-color: #FFFFFF;
  color: #603813;
  background-image: url(../images/link_arrow_brwn.svg);
  background-position: right 10px center;
  background-repeat: no-repeat;
  padding: 15px 40px;
  margin: 5px 0;
  width: 100%;
}
.box_link a:hover {
  opacity: 0.9;
  text-decoration: none;
}

/*margin*/
.mt10 {
  margin-top: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml10 {
  margin-left: 10px;
}

.ml20 {
  margin-left: 20px;
}

.ml30 {
  margin-left: 30px;
}

.ml40 {
  margin-left: 40px;
}

.mr10 {
  margin-right: 10px;
}

.txt_left {
  text-align: left !important;
}

.txt_right {
  text-align: right !important;
}

.txt_center {
  text-align: center !important;
}

.txt_blue {
  color: #2f79ac;
}

/*溝幅 0pxの場合*/
.gutter-0 {
  margin-left: 0;
  margin-right: 0;
}

.gutter-0 > [class*=col-] {
  padding-left: 0;
  padding-right: 0;
}

/*溝幅 10pxの場合*/
.gutter-10 {
  margin-left: -5px;
  margin-right: -5px;
}

.gutter-10 > [class*=col-] {
  padding-left: 5px;
  padding-right: 5px;
}

/*溝幅 20pxの場合*/
.gutter-20 {
  margin-left: -10px;
  margin-right: -10px;
}

.gutter-20 > [class*=col-] {
  padding-left: 10px;
  padding-right: 10px;
}

/*job_search*/
#job_search_area {
  margin-bottom: 30px;
}
#job_search_area p {
  text-align: center;
}
#job_search_area p.title {
  font-size: clamp(2.2rem, 2.038rem + 0.432vw, 2.6rem);
  font-weight: 600;
}
#job_search_area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 90%;
  margin: 30px auto 0 auto;
}
#job_search_area ul li {
  width: 33%;
}
@media screen and (max-width: 767px) {
  #job_search_area ul li {
    width: 100%;
  }
}
#job_search_area ul li a {
  display: -ms-grid;
  display: grid;
  place-items: center;
  margin: 0 10px 10px 10px;
  text-align: center;
  padding: 10px;
  border: solid 2px #DDD;
  border-radius: 5px;
  color: #333;
  font-weight: 600;
}
#job_search_area ul li a img {
  max-width: 90%;
}
#job_search_area ul li a:hover {
  border: solid 2px #333;
}

/*footer_recruit*/
#footer_recruit {
  background-color: #603813;
  padding: 60px 0;
}
#footer_recruit .contact_box {
  background-color: #EDE6D9;
  border: solid 5px #C7B299;
  border-radius: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 50px;
}
@media screen and (max-width: 767px) {
  #footer_recruit .contact_box {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 15px;
  }
}
#footer_recruit .contact_box dl {
  width: 30%;
}
@media screen and (max-width: 767px) {
  #footer_recruit .contact_box dl {
    width: 100%;
    margin-bottom: 40px;
  }
}

/*footer_business*/
#footer_business {
  background-color: #2E3192;
  padding: 60px 0;
}
#footer_business .contact_box {
  background-color: #F0F6FF;
  border: solid 5px #99ACE0;
  border-radius: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 50px;
}
@media screen and (max-width: 767px) {
  #footer_business .contact_box {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 15px;
  }
}

/*contact_parts*/
dl.consultation, dl.entry, dl.tel, dl.form, dl.mail {
  text-align: center;
}
dl.consultation dt, dl.entry dt, dl.tel dt, dl.form dt, dl.mail dt {
  font-size: clamp(1.8rem, 1.719rem + 0.216vw, 2rem);
  font-weight: 600;
  margin-bottom: 10px;
}

dl.consultation dd .box_btn, dl.entry dd .box_btn, dl.form dd .box_btn {
  font-size: clamp(1.8rem, 1.638rem + 0.432vw, 2.2rem);
}
dl.consultation dd .box_btn.consul_btn a, dl.entry dd .box_btn.consul_btn a, dl.form dd .box_btn.consul_btn a {
  -webkit-box-shadow: 0px 8px #2E3192;
          box-shadow: 0px 8px #2E3192;
  margin: 0;
  width: 100%;
}
dl.consultation dd .box_btn.entry_btn a, dl.entry dd .box_btn.entry_btn a, dl.form dd .box_btn.entry_btn a {
  -webkit-box-shadow: 0px 8px #A5410A;
          box-shadow: 0px 8px #A5410A;
  margin: 0;
  width: 100%;
}
dl.consultation dd .box_btn.form_btn a, dl.entry dd .box_btn.form_btn a, dl.form dd .box_btn.form_btn a {
  -webkit-box-shadow: 0px 8px #3F240E;
          box-shadow: 0px 8px #3F240E;
  margin: 0;
  width: 100%;
}
dl.consultation dd.memo, dl.entry dd.memo, dl.form dd.memo {
  font-size: clamp(1.2rem, 1.038rem + 0.432vw, 1.6rem);
  margin-top: 10px;
}

dl.tel dd a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #603813;
  background-color: #FFFFFF;
  font-size: clamp(3rem, 2.757rem + 0.649vw, 3.6rem);
  font-weight: 700;
  width: 100%;
  padding: 5px;
  border-radius: 8px;
}

dl.mail dd p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #603813;
  background-color: #FFFFFF;
  font-size: clamp(1.8rem, 1.719rem + 0.216vw, 2rem);
  font-weight: 600;
  width: 100%;
  padding: 20px 5px;
  border-radius: 8px;
}

body.business dl.form .form_btn a {
  width: 20em !important;
}
@media screen and (max-width: 767px) {
  body.business dl.form .form_btn {
    font-size: clamp(1.6rem, 1.519rem + 0.216vw, 1.8rem);
    margin-bottom: 20px;
  }
}

/*anniversary*/
#anniversary {
  padding: 50px 0;
}
#anniversary .round_box {
  background-color: #FFFFFF;
  border: solid 5px #DD3F21;
}
#anniversary p.copy {
  font-size: clamp(2.2rem, 2.119rem + 0.216vw, 2.4rem);
  font-weight: 600;
  margin-bottom: 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #anniversary p.copy {
    margin-top: 30px;
    text-align: center;
  }
}
#anniversary p.lead {
  font-size: clamp(1.8rem, 1.719rem + 0.216vw, 2rem);
  font-weight: 600;
  text-align: left;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #anniversary p.lead {
    margin-top: 10px;
    text-align: center;
  }
}

/*flow*/
#flow {
  text-align: left;
}
#flow section {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #flow section {
    margin-top: 50px;
  }
}
#flow h2 {
  color: #333 !important;
}
#flow h2 span {
  color: #603813;
  font-size: clamp(3rem, 2.595rem + 1.081vw, 4rem) !important;
  padding-right: 0.5em;
}
@media screen and (max-width: 767px) {
  #flow h2 span {
    display: block;
  }
}
#flow h2 span em {
  font-size: clamp(5rem, 4.595rem + 1.081vw, 6rem) !important;
  font-style: normal;
}
#flow #consultation_flow h3 {
  color: #0E5BA5 !important;
}
#flow .contact {
  text-align: center;
}
#flow .contact dl {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  #flow .contact {
    margin-top: 30px;
  }
}

/*faq*/
#faq {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #faq {
    margin-top: 50px;
  }
}
#faq {
  text-align: left;
}
#faq h2 {
  background-color: #603813;
  color: #FFFFFF !important;
  font-size: clamp(2rem, 1.838rem + 0.432vw, 2.4rem) !important;
  text-align: left;
  padding: 20px 50px 20px 30px;
  border-radius: 15px;
  margin-bottom: 50px !important;
  cursor: pointer;
  position: relative;
}
#faq h2::before, #faq h2::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 3px;
  background-color: #FFFFFF;
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
#faq h2::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  -webkit-transition: -webkit-transform 1s;
  transition: -webkit-transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s;
}
#faq h2.open::before {
  opacity: 0;
}
#faq h2.open::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
#faq dl.faq_cont {
  margin-bottom: 50px;
}
#faq dl.faq_cont dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin-bottom: 10px;
}
#faq dl.faq_cont dt::before {
  display: block;
  content: "Q.";
  padding-right: 0.5em;
}
#faq dl.faq_cont dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin-bottom: 10px;
  border-bottom: dotted 1px #603813;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
#faq dl.faq_cont dd::before {
  display: block;
  content: "A.";
  font-weight: 600;
  padding-right: 0.5em;
}

/*jobstyle*/
#jobstyle {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #jobstyle {
    margin-top: 50px;
  }
}
#jobstyle {
  text-align: left;
}
#jobstyle .jobstyle_summary {
  margin-bottom: 30px;
}
#jobstyle .jobstyle_summary dt {
  font-size: clamp(2.2rem, 2.119rem + 0.216vw, 2.4rem) !important;
  margin-bottom: 20px;
}
#jobstyle p.summary {
  font-weight: 600;
  margin-bottom: 30px;
}

/*occupation*/
nav.tab {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  nav.tab {
    margin-bottom: 50px;
  }
}
nav.tab ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
nav.tab ul li {
  width: 48%;
  font-size: clamp(1.3rem, 0.692rem + 1.622vw, 2.8rem) !important;
  font-weight: 600;
}

/*needs*/
#occupation_list {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #occupation_list {
    margin-top: 50px;
  }
}
#occupation_list {
  text-align: left;
}
#occupation_list .list {
  margin-bottom: 30px;
}
#occupation_list .qualification {
  margin-bottom: 15px;
}
#occupation_list .qualification::before {
  display: block;
  content: "資格・スキルの例";
  font-size: clamp(1.6rem, 1.681rem - 0.216vw, 1.4rem) !important;
  font-weight: 600;
  color: #603813;
}

#achievement_category {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #achievement_category {
    margin-top: 50px;
  }
}
#achievement_category .box_link {
  margin-bottom: 30px;
  text-align: left;
}
#achievement_category .box_link a {
  padding: 30px;
}

/*case*/
#case_list {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #case_list {
    margin-top: 50px;
  }
}
#case_list {
  text-align: left;
}
#case_list h3 span {
  color: #333;
}
#case_list h4 {
  font-size: clamp(1.4rem, 1.238rem + 0.432vw, 1.8rem) !important;
  font-weight: 600;
  color: #603813;
}
#case_list .data {
  font-weight: 600;
  color: #603813;
}

/*categirys*/
#job_categiry header#job {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #job_categiry header#job {
    margin-top: 50px;
  }
}
#job_categiry header#job h2 span {
  display: block;
  font-size: clamp(2rem, 1.838rem + 0.432vw, 2.4rem) !important;
  color: #333;
}
#job_categiry header#job p.lead {
  font-size: clamp(2.2rem, 1.957rem + 0.649vw, 2.8rem) !important;
  font-weight: 600;
  margin-bottom: 20px;
}
#job_categiry header#job p.summary {
  font-size: clamp(1.8rem, 1.638rem + 0.432vw, 2.2rem) !important;
  color: #603813;
  font-weight: 600;
}
#job_categiry header#job figure img.keiri_fig {
  width: 450px;
}
@media screen and (max-width: 767px) {
  #job_categiry header#job figure img.keiri_fig {
    width: 80%;
  }
}
#job_categiry header#job figure img.school_fig {
  width: 450px;
}
@media screen and (max-width: 767px) {
  #job_categiry header#job figure img.school_fig {
    width: 80%;
  }
}
#job_categiry #point.keiri {
  text-align: left;
  padding-bottom: 50px;
}
#job_categiry #field {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #job_categiry #field {
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  #job_categiry #field dl {
    margin-bottom: 20px;
  }
}
#job_categiry #field dl dt {
  font-size: clamp(2rem, 1.838rem + 0.432vw, 2.4rem) !important;
  color: #603813;
  text-align: center;
}
#job_categiry #field dl dd.fig {
  text-align: center;
  padding: 20px;
}
#job_categiry #field dl dd.fig img {
  width: 100px;
  margin: 0 auto;
}
#job_categiry #field dl dd .dotlist_small {
  margin-bottom: 15px;
}
#job_categiry #field dl dd .dotlist_small li {
  font-size: clamp(1.4rem, 1.319rem + 0.216vw, 1.6rem) !important;
}
#job_categiry #job_list {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #job_categiry #job_list {
    margin-top: 50px;
  }
}
#job_categiry #job_list h3 {
  background-color: #603813;
  color: #FFFFFF !important;
  padding: 15px 30px;
  border-radius: 15px;
}
#job_categiry #job_list ul li {
  margin-bottom: 20px;
}
#job_categiry #job_list dl {
  background-color: #FFFFFF;
  padding: 15px;
  border-radius: 5px;
  text-align: left;
}
#job_categiry #job_list dl dt {
  font-size: clamp(2rem, 1.838rem + 0.432vw, 2.4rem) !important;
  font-weight: 600;
  border-bottom: dotted 2px #603813;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
#job_categiry #job_list dl dt span {
  display: block;
  color: #603813;
  font-size: clamp(1.6rem, 1.519rem + 0.216vw, 1.8rem) !important;
}
#job_categiry #job_list dl dd::before {
  display: inline-block;
  content: "お仕事内容";
  font-size: clamp(1.6rem, 1.681rem - 0.216vw, 1.4rem) !important;
  padding: 3px 5px;
  border-radius: 5px;
  margin-bottom: 10px;
  color: #603813;
  background-color: #EDE6D9;
}
#job_categiry #job_list dl dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#job_categiry #job_list dl dd ul li {
  font-size: clamp(1.5rem, 1.459rem + 0.108vw, 1.6rem) !important;
  margin-bottom: 0px;
}
#job_categiry #job_list dl dd ul li::after {
  display: inline;
  content: "／";
}
#job_categiry #job_list dl dd ul li:last-child::after {
  display: none;
}

/*gaiyou*/
#aisatsu, #philosophy, #about, #history, #access {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #aisatsu, #philosophy, #about, #history, #access {
    margin-top: 50px;
  }
}
#aisatsu, #philosophy, #about, #history, #access {
  text-align: left;
}

@media screen and (max-width: 767px) {
  #aisatsu figure {
    margin-top: 50px;
  }
}

#access iframe {
  width: 100%;
  height: 450px;
  margin: 30px 0;
}

/*inquiry*/
@media screen and (max-width: 767px) {
  body.inquiry dl.consultation, body.inquiry dl.entry, body.inquiry dl.tel, body.inquiry dl.form, body.inquiry dl.mail {
    margin-bottom: 30px;
  }
}

/*privacy*/
body.privacy article section {
  text-align: left;
}
body.privacy article section h2 {
  text-align: center;
}

#privacy01 dl dt, #privacy05 dl dt {
  color: #603813;
}
#privacy01 dl dd, #privacy05 dl dd {
  margin-bottom: 30px;
}
#privacy01 dl.contact dt, #privacy05 dl.contact dt {
  color: #603813;
}
#privacy01 dl.contact dd, #privacy05 dl.contact dd {
  margin-left: 1em;
  margin-bottom: 0;
}

#privacy02, #privacy03, #privacy04 {
  padding-bottom: 50px;
}
#privacy02 table, #privacy03 table, #privacy04 table {
  width: auto;
}
#privacy02 dl dt, #privacy03 dl dt, #privacy04 dl dt {
  margin-bottom: 10px;
  font-weight: normal;
}
#privacy02 dl dd, #privacy03 dl dd, #privacy04 dl dd {
  margin-left: 40px;
  margin-bottom: 20px;
}
#privacy02 dl dd dl dt, #privacy03 dl dd dl dt, #privacy04 dl dd dl dt {
  margin-bottom: 5px;
}
#privacy02.dt_indent3 dt, #privacy03.dt_indent3 dt, #privacy04.dt_indent3 dt {
  text-indent: -1.5em;
  margin-left: 1.5em;
}
#privacy02.dt_indent3 dd, #privacy03.dt_indent3 dd, #privacy04.dt_indent3 dd {
  margin-left: 20px;
}

/* news */
/*archive*/
body.topics #info_area {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  body.topics #info_area {
    margin-top: 50px;
  }
}
body.topics #info_area .list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
}
body.topics #info_area .list dl dt {
  width: 8em;
  margin-bottom: 15px;
}
body.topics #info_area .list dl dd.cat {
  width: 6em;
  text-align: center;
  margin-right: 1em;
  font-size: 1.4rem;
  margin-bottom: 15px;
}
body.topics #info_area .list dl dd.txt {
  width: calc(100% - 15em);
  text-align: left;
  margin-bottom: 15px;
}
body.topics #info_area .list dl dd.cat {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  border-radius: 5px;
  color: #FFFFFF;
}
body.topics #info_area .list dl dd.cat.temp {
  background-color: #2f79ad;
}
body.topics #info_area .list dl dd.cat.perm {
  background-color: #39987e;
}
body.topics #info_area .list dl dd.cat.temp2 {
  background-color: #8a43c1;
}
body.topics #info_area .list dl dd.cat.part {
  background-color: #eb7a16;
}
body.topics #info_area .list dl dd.cat.regular {
  background-color: #c61977;
}
body.topics #info_area .list dl dd.cat.contract {
  background-color: #4dab3e;
}
body.topics #info_area .list dl dd.cat.wanted {
  background-color: #ff0000;
}

/*single*/
body.topics #info_single {
  margin-bottom: 100px;
}
@media screen and (max-width: 767px) {
  body.topics #info_single {
    margin-top: 50px;
  }
}
body.topics #info_single p.day {
  text-align: right;
}
body.topics #info_single p.cat {
  width: 6em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  border-radius: 5px;
  color: #FFFFFF;
}
body.topics #info_single p.cat.temp {
  background-color: #2f79ad;
}
body.topics #info_single p.cat.perm {
  background-color: #39987e;
}
body.topics #info_single p.cat.temp2 {
  background-color: #8a43c1;
}
body.topics #info_single p.cat.part {
  background-color: #eb7a16;
}
body.topics #info_single p.cat.regular {
  background-color: #c61977;
}
body.topics #info_single p.cat.contract {
  background-color: #4dab3e;
}
body.topics #info_single p.cat.wanted {
  background-color: #ff0000;
}
body.topics #info_single .entry {
  text-align: left;
  margin: 20px 0;
}

.pagenation ul {
  text-align: center;
  margin-top: 30px;
}

.pagenation ul li {
  display: inline-block;
  margin: 0 10px;
  padding: 5px 10px;
  border: solid 1px #603813;
}

.pagenation ul li.active {
  background-color: #603813;
  color: #FFFFFF;
}
/*# sourceMappingURL=styles.css.map */