@charset "UTF-8";

/*========================================================================

  reset

========================================================================*/

html {
  padding: 0!important;
}
:root ol, :root ul {
  margin: 0;
  padding: 0;
}
.pbNested {
  clear: none;
  overflow: visible;
}
.pb-layout {
  outline: 1px dotted #ccc !important;
  box-shadow: none!important;
}
.pb-handle {
  display: block!important;
  width: auto!important;
  border: 1px solid #999!important;
  font-weight: normal!important;
  letter-spacing: normal;
  text-indent: 0;
  line-height: 1.6;
}
.pb-handle:before,
.pb-handle:after {
  display: none;
}

/*========================================================================

  edit

========================================================================*/

.pbPage.pbPage--edit {
  overflow: hidden!important;
}
.pbPage.pbPage--edit .pbAnchor {
  background: #fff;
}
.pbPage.pbPage--edit #gNaviWrap,
.pbPage.pbPage--edit #header {
  position: static;
}
.pbPage.pbPage--edit .headerContactBox {
  position: absolute;
}
.pbPage.pbPage--edit .topImage_page {
  margin-top: 0;
}
.pbPage.pbPage--edit #first-view .swiper-container {
  top: -120px;
}
.pbPage.pbPage--edit #first-view #contentsLink {
  bottom: 145px;
}
@media (min-width:631px) {
  .pbPage.pbPage--edit .topDecoBg {
    background: url(../images/top/sliderImage03.jpg) no-repeat center / cover;
    background-attachment: fixed;
  }
}
ul.context-menu-list input[type="checkbox"],
ul.context-menu-list input[type="radio"] {
  display: inline-block;
}

/*========================================================================

  style

========================================================================*/

.pbHeaderArea {
  background: #fff;
}
.pbAreaWrapper1 {
  height: auto!important;
  background: #fff;
}
#panel-btn {
  display: inline-block;
}
#first-view {
  background: #fff;
}
@media (max-height: 1100px) {
  #first-view {
    height: 100vh;
  }
}
@media (min-width:631px) {
  #first-view .swiper-inner-left {
    top: 0;
    background: url(../images/top/first-view_bg.png) no-repeat left 0 top 0 #fff;
  }
  #first-view .swiper-inner-right,
  #first-view .swiper-inner-right .r_corners_w_top {
    top: 0;
  }
}
.pbPage:not(.pbPage--edit) .pbAnchor #contents {
  display: block;
    padding-top: 120px;
    margin-top: -50px;
}
@media (max-width:630px) {
  .pbPage:not(.pbPage--edit) .pbAnchor #contents {
    padding-top:50px;
    margin-top: 0;
  }
}
#topMessage .inner,
#topService .inner,
#topInfo .inner,
#jobInfo .inner {
  max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}
#topInfo {
  padding: 0;
  background: #fff;
}
#jobInfo.sectionBase {
  padding: 0;
}
@media (max-width:630px) {
  #jobInfo.sectionBase {
    margin-bottom: 0;
  }
}
#jobInfo.sectionBase .jobBox {
  margin-top: 0;
}
#jobInfo li {
  width: 100%;
  box-sizing: border-box;
}

/*========================================================================

  block

========================================================================*/

/* section
========================================================================*/

.base-section > div {
  width: calc(100% - 60px);
  max-width: 1140px;
  margin: 0 auto;
  padding: 70px 0;
  font-size: 15px;
  line-height: 1.8em;
}
.base-section.gray {
  background: #f2f2f2;
}
.base-section.gray + .base-section.gray {
  background: #fff;
}
@media (min-width:769px) and (max-width:900px) {
  .base-section > div {
    padding: 60px 0;
  }
}
@media (min-width:631px) and (max-width:768px) {
  .base-section > div {
    width: calc(100% - 50px);
    padding: 50px 0;
  }
}
@media (min-width:431px) and (max-width:630px) {
  .base-section > div {
    width: calc(100% - 40px);
    padding: 40px 0;
    font-size: 14px;
      line-height: 1.9em;
  }
}
@media (max-width:430px) {
  .base-section > div {
    width: calc(100% - 30px);
    padding: 30px 0;
    font-size: 13px;
    line-height: 2em;
  }
}

/* h2
========================================================================*/

.base-h2:not(:first-child) {
  margin-top: 70px;
}
.base-h2 + div:not(:first-child) {
  margin-top: 25px;
}
.base-h2 h2 {
  color: #bb2828;
  font-weight: 600;
  font-size: 30px;
  line-height: 1.4em;
  font-feature-settings: "palt";
}
.base-h2:not(.vi) h2 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro", Hiragino Mincho Pro, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
  letter-spacing: 0.08em;
}

@media (min-width:769px) and (max-width:900px) {
  .base-h2:not(:first-child) {
    margin-top: 60px;
  }
  .base-h2 h2 {
    font-size: 24px;
  }
}

@media (min-width:631px) and (max-width:768px) {
  .base-h2:not(:first-child) {
    margin-top: 50px;
  }
  .base-h2 h2 {
    font-size: 24px;
  }
}

@media (min-width:431px) and (max-width:630px) {
  .base-h2:not(:first-child) {
    margin-top: 40px;
  }
  .base-h2 + div:not(:first-child) {
    margin-top: 15px;
  }
  .base-h2 h2 {
    font-size: 22px;
  }
}

@media (max-width:430px) {
  .base-h2:not(:first-child) {
    margin-top: 30px;
  }
  .base-h2 + div:not(:first-child) {
    margin-top: 15px;
  }
  .base-h2 h2 {
    font-size: 18px;
  }
}

/* style
========================================================================*/

.base-section .infoDetail {
  margin-bottom: 35px;
}
.base-style + div {
  margin-top: 20px;
}
.base-p-date {
  margin-bottom: 20px;
}
.base-style + .accessMap {
  margin-top: 0;
}
.base-style h2 {
  color: #bb2828;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro", Hiragino Mincho Pro, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
  font-weight: 600;
  font-size: 24px;
  line-height: 1.4em;
  text-align: justify;
}
.base-style h3 {
  font-weight: bold;
  font-size: 18px;
  line-height: 1.4em;
  text-align: justify;
}
.base-style p:not(:first-child) {
  margin-top: 20px;
}

@media (min-width:431px) and (max-width:630px) {
  .base-section .infoDetail {
    margin-bottom: 30px;
  }
  .base-style + div {
    margin-top: 15px;
  }
  .base-p-date {
    margin-bottom: 15px;
  }
  .base-style h2 {
    font-size: 22px;
  }
  .base-style h3 {
    font-size: 16px;
  }
}

@media (max-width:430px) {
  .base-section .infoDetail {
    margin-bottom: 25px;
  }
  .base-style + div {
    margin-top: 10px;
  }
  .base-p-date {
    margin-bottom: 10px;
  }
  .base-style h2 {
    font-size: 20px;
  }
  .base-style h3 {
    font-size: 15px;
  }
}

/* table */

.base-style table {
  width: 100%;
  font-size: 14px;
  letter-spacing: .14em;
  line-height: 1.4em;
  border: none;
}
.base-style table * {
  box-sizing: border-box;
}
.base-style table th {
  width: 280px;
  padding: 30px;
  background: #b02a2d;
  color: #fff;
  border: none;
  border-bottom: solid 1px #e6e9ee;
  text-align: center;
  vertical-align: middle;
}
.base-style table td {
  padding: 30px 50px;
  background: #fff;
  border: none;
  border-bottom: solid 1px #d5d5d5;
  text-align: left;
  vertical-align: middle;
}
.base-style table p:not(:first-child) {
  margin-top: 10px;
}

@media (min-width:769px) and (max-width:900px) {
  .base-style table th {
    width: 220px;
  }
}

@media (min-width:631px) and (max-width:768px) {
  .base-style table th {
    width: 200px;
    padding: 25px 20px;
  }
  .base-style table td {
    padding: 25px 20px;
  }
}

@media (max-width:630px) {
  .base-style table,
  .base-style table tbody,
  .base-style table tr,
  .base-style table th,
  .base-style table td {
    display: block;
    width: 100%!important;
    height: auto!important;
  }
  .base-style table th {
    padding: 15px 20px;
    text-align: left;
    border-bottom: none;
    line-height: 1em;
  }
  .base-style table td {
    padding: 15px 20px;
    font-size: 13px;
    border-bottom-color: #e6e9ee;
  }
  #jobInfo .jobCate {
    margin-bottom: 3px;
  }
  .base-section .jobCate {
    margin-bottom: 4px;
  }
}

/* button
========================================================================*/

.base-section .infoBack {
  width: 250px;
  margin: 0 auto;
}
.base-section .pagelinkBtn .btn {
  padding: 0 15px;
}
.base-section .pagelinkBtn .btn p {
  font-size: 14px;
  line-height: 1.4em;
}
.base-section .pagelinkBtn .btn a {
  padding: 15px 0;
  line-height: 1.4em;
}

@media (min-width: 431px) and (max-width: 630px) {
  .base-section .pagelinkBtn .btn {
    padding: 0 12px;
  }
  .base-section .pagelinkBtn .btn p {
    font-size: 12px;
  }
  .base-section .pagelinkBtn .btn a {
    padding: 12px 0;
  }
}
@media (max-width:430px) {
  .base-section .infoBack {
    font-size: 11px;
  }
  .base-section .pagelinkBtn .btn {
    padding: 0 10px;
  }
  .base-section .pagelinkBtn .btn p {
    font-size: 11px;
  }
  .base-section .pagelinkBtn .btn a {
    padding: 11px 0;
  }
}

/*========================================================================

  form

========================================================================*/

.pbCornerQuery * {
  box-sizing: border-box;
}
.pbCornerQuery {
  font-size: 14px;
  letter-spacing: .14em;
  line-height: 1.4em;
}
.pbCornerQuery table {
  width: 100%;
}
.base-contact {
  margin-bottom: 30px;
  padding: 25px 20px;
  background: #fff;
  text-align: center;
  font-size: 14px;
  line-height: 1.6;
  border: solid 1px #e6e9ee;
}
.pbCornerQuery td.pbErrorMsg {
  padding: 30px;
  background: #f9dddd;
  color: #bb2828;
}
.pbCornerQuery .pbLabel.queryOneLineLabel {
  display: block;
  width: 100%!important;
  padding-bottom: 25px;
  color: #bb2828;
  white-space: nowrap;
  font-size: 30px;
  line-height: 1.4em;
  font-weight: 600;
  letter-spacing: 0.08em;
  font-feature-settings: "palt";
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 Pro", Hiragino Mincho Pro, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝";
}
.pbCornerQuery tr:not(:first-child) .pbLabel.queryOneLineLabel {
  padding-top: 70px;
}
.pbCornerQuery .pbLabel:not(.queryOneLineLabel) {
  width: 280px!important;
  padding: 30px;
  background: #b02a2d;
  color: #fff;
  border-bottom: solid 1px #e6e9ee;
  text-align: left;
  vertical-align: middle;
}
.pbCornerQuery .pbCornerQueryLabelRequired {
  display: inline-block;
  margin-left: 5px;
  padding: 2px 6px;
  background: #fff;
  color: #de0e0e;
  font-size: 11px;
  border-radius: 3px;
}
.pbCornerQuery .pbLabel + td {
  padding: 30px 50px;
  background: #fff;
  border-bottom: solid 1px #d5d5d5;
  text-align: left;
  vertical-align: middle;
}
.pbCornerQuery input[type="text"],
.pbCornerQuery input[type="email"],
.pbCornerQuery select,
.pbCornerQuery textarea,
.pbCornerQuery input[type="button"],
.pbCornerQuery input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.pbCornerQuery input[type="text"],
.pbCornerQuery input[type="email"],
.pbCornerQuery textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #d7d7d7;
  border-radius: 0;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.pbCornerQuery .required input[type="text"],
.pbCornerQuery .required input[type="email"],
.pbCornerQuery .required textarea {
  background: #f9dddd;
  border-color: #f3afaf;
}
.pbCornerQuery input[type="email"],
.pbCornerQuery input[type="text"] {
  margin-bottom: 10px;
}
.base-p-input input[type="email"],
.base-p-input input[type="text"] {
  display: none;
}
.pbCornerQuery .small input[type="email"],
.pbCornerQuery .small input[type="text"] {
  width: auto;
}
.pbCornerQuery textarea {
  height: 200px;
}
.pbCornerQuery input[type=radio] + label,
.pbCornerQuery input[type=checkbox] + label {
  display: block;
  position: relative;
  padding-left: 25px;
  cursor: pointer;
}
.pbCornerQuery div:not(:first-of-type) input[type=radio] + label {
  margin-top: 15px;
}
.pbCornerQuery input[type=radio] + label:before,
.pbCornerQuery input[type=radio] + label:after {
  content: '';
  position: absolute;
}
.pbCornerQuery input[type=radio] + label:before,
.pbCornerQuery input[type=radio] + label:after {
  border-radius: 50%;
  transition: all .3s;
}
.pbCornerQuery input[type=radio] + label:before {
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  background: #fff;
  border: 1px solid #d2d2d2;
}
.pbCornerQuery input[type=radio]:checked + label {
  color: #b02a2d;
}
.pbCornerQuery input[type=radio]:checked + label:after {
  top: 3px;
  left: 3px;
  width: 11px;
  height: 11px;
  background: #b02a2d;
}
.pbCornerQuery input[type=checkbox] + label:before,
.pbCornerQuery input[type=checkbox] + label:after {
  content: '';
  position: absolute;
}
.pbCornerQuery input[type=checkbox] + label:before {
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 2px solid #223751;
  border-radius: 0;
}
.pbCornerQuery input[type=checkbox]:checked + label:before {
  background: #223751;
}
.pbCornerQuery input[type=checkbox]:checked + label:after {
  top: 0;
  left: 7px;
  width: 5px;
  height: 14px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
}
.pbCornerQuery .pbOptionForth,
.pbCornerQuery .pbDescription {
  color: #999;
}
.pbCornerQuery .forTdCellCenter {
  padding-top: 30px;
  text-align: center;
}
.pbCornerQuery input[type=submit],
.pbCornerQuery input[type=button] {
  width: 200px;
  padding: 16px 16px 16px 80px;
  background: url(../images/common/ico_btn_off.png) 38px center no-repeat #5a1111;
  background-size: 30px 22px;
  color: #fff;
  transition: all .3s;
  text-align: left;
}
.pbCornerQuery .pbQueryCancel[type=button] {
  display: flex;
  justify-content: center;
  margin: 10px auto 0;
  background: #999;
  padding: 16px;
}
@media (min-width: 768px) {
  .pbCornerQuery input[type=submit]:hover,
  .pbCornerQuery input[type=button]:hover {
    background-color: #000;

  }
}
.pbPage:not(.pbPage--edit) .pbAnchor #form {
  display: block;
    padding-top: 120px;
    margin-top: -120px;
}

@media (min-width:769px) and (max-width:900px) {
  .pbCornerQuery .pbLabel.queryOneLineLabel {
    font-size: 24px;
  }
  .pbCornerQuery .pbLabel:not(.queryOneLineLabel) {
    width: 220px!important;
  }
  .pbCornerQuery .pbLabel + td {
    width: calc(100% - 220px);
  }
}

@media (min-width:631px) and (max-width:768px) {
  .pbCornerQuery .pbLabel.queryOneLineLabel {
    font-size: 24px;
  }
  .pbCornerQuery .pbLabel:not(.queryOneLineLabel) {
    width: 200px!important;
    padding: 25px 20px;
  }
  .pbCornerQuery .pbLabel + td {
    width: calc(100% - 200px);
    padding: 25px 20px;
  }
}

@media (max-width:630px) {
  .pbCornerQuery table,
  .pbCornerQuery tbody,
  .pbCornerQuery tr,
  .pbCornerQuery th,
  .pbCornerQuery td,
  .pbCornerQuery .pbLabel:not(.queryOneLineLabel) {
    display: block;
    width: 100%!important;
  }
  .pbCornerQuery .pbLabel.queryOneLineLabel {
    padding-bottom: 15px;
    font-size: 22px;
    white-space: normal;
  }
  .pbCornerQuery tr:not(:first-child) .pbLabel.queryOneLineLabel {
    padding-top: 40px;
  }
  .pbCornerQuery .pbLabel:not(.queryOneLineLabel) {
    padding: 15px 20px;
    border-bottom: none;
    line-height: 1.0em;
  }
  .pbCornerQuery .pbCornerQueryLabelRequired {
    position: relative;
    top: -1px;
  }
  .pbCornerQuery .pbLabel + td {
    padding: 15px 20px;
    font-size: 13px;
    border-bottom-color: #e6e9ee;
  }
  .pbCornerQuery div:not(:first-child) input[type=radio] + label {
    margin-top: 10px;
  }
  .pbCornerQuery input[type=checkbox] + label {
    padding-top: 1px;
  }
  .pbPage:not(.pbPage--edit) .pbAnchor #form {
    padding-top: 50px;
    margin-top: -50px;
  }
}