<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
html {
  color: #000;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 62.5%;
  position: relative;
  background: #fff;
  font-weight: 400;
  transition: .3s;
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}
@media (max-width: 959px) {
  html {
    font-size: 52%;
  }
}
.grecaptcha-badge { visibility: hidden; }
body {
  font-size: 1.5rem;
  transition: .3s;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-feature-settings: "kern", "liga", "clig", "calt";
  padding: 13rem 0 0;
}
body a {
  color: #000;
  text-decoration: none;
  transition: .3s;
  vertical-align: top;
  cursor: pointer;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  display: inline-block;
}
body input {
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
}
body input[type="submit"], body input[type="button"] {
  -webkit-appearance: none;
}
body a:hover {
  text-decoration: none;
}
body a:hover img {
  opacity: .8;
  transition: .3s;
}
body a:focus {
  overflow: hidden;
  outline: none;
}
body dt, body dd, body p, body li, body th, body td, body address {
  line-height: 1.8;
  letter-spacing: 1px;
}
body .indent {
  padding-left: 1em;
  text-indent: -1em;
}
body img {
  max-width: 100%;
  transition: .3s;
}
body strong {
  font-weight: 700;
}
body .red {
  color: #ef4a4a;
}
body .right {
  text-align: right;
}
body .left {
  text-align: left;
}
body .center {
  text-align: center;
}
body .right {
  text-align: right;
}
body .left {
  text-align: left;
}
body .b {
  font-weight: bold;
}
body .s {
  font-size: 1.2rem;
}
body .mb10 {
  margin-bottom: 1rem;
}
body .mb20 {
  margin-bottom: 2rem;
}
body .mb30 {
  margin-bottom: 3rem;
}
body .mb50 {
  margin-bottom: 5rem;
}
body .nowrap {
  white-space: nowrap;
}
body .must {
  background: #ef4a4a;
  padding: 0 .6rem .2rem;
  line-height: 1.6;
  color: #fff;
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  display: inline-block;
  margin-left: .8rem;
}
body .sp {
  display: none;
}
body .dib {
  display: inline-block;
}
@media (max-width: 559px) {
  body .must {
    position: relative;
    top: -.4rem;
  }
  body .sp {
    display: block;
  }
}
body .caption {
  font-weight: 700;
  text-align: left;
  margin: 0 0 1rem;
  display: block;
  border-right: 0;
}
body.inspection.faq #key {
  background-image: url("../img/key-faq_inspection@2x.webp");
}
body.inspection.recruit #key {
  background-image: url("../img/key-recruit_inspection@2x.webp");
}
body.inspection.location #key {
  background-image: url("../img/key-location_inspection@2x.webp");
}
body.education-center.faq #key {
  background-image: url("../img/key-faq_education-center@2x.webp");
}
body.education-center.recruit #key {
  background-image: url("../img/key-recruit_education-center@2x.webp");
}
body.inspection.faq #key h1, body.inspection.recruit #key h1, body.inspection.location #key h1 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1rem;
}
body.inspection.faq #key h1:before, body.inspection.recruit #key h1:before, body.inspection.location #key h1:before {
  display: block;
  content: "性能検査";
  font-weight: 700;
  color: #fff;
  background: #185ab2;
  font-size: 1.6rem;
  border-radius: 10rem;
  padding: .6rem 1.6rem;
}
body.education-center .cta-recruit {
  background-image: url("../img/cta-recruit-education@2x.webp") !important;
}
body.education-center.fee #key h1, body.education-center.schedule #key h1, body.education-center.application-flow #key h1, body.education-center.reissue #key h1, body.education-center.access #key h1, body.education-center.grant #key h1, body.education-center.faq #key h1, body.education-center.recruit #key h1 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 1rem;
}
body.education-center.fee #key h1:before, body.education-center.schedule #key h1:before, body.education-center.application-flow #key h1:before, body.education-center.reissue #key h1:before, body.education-center.access #key h1:before, body.education-center.grant #key h1:before, body.education-center.faq #key h1:before, body.education-center.recruit #key h1:before {
  display: block;
  content: "教育・講習について";
  font-weight: 700;
  color: #fff;
  background: #009488;
  font-size: 1.6rem;
  border-radius: 10rem;
  padding: .6rem 1.6rem;
}
body.recruit #cta li {
  width: 100%;
}
body.reissue .anc ul li {
  width: 42%;
}
.bg-box .anc{
  padding: 5rem 3rem;
  background: #f7f7f7;
  border: 4px outset #1658af;
}
.bg-box .anc .btn-common01.blue_outline a {
  background: #ffffff;
}
.bg-box .btn-common01.blue_outline a:hover {
  background: #185ab2;
  color: #fff;
}
.bg-box .btn-common01.blue_outline a:hover:after {
  background: url("../img/arrow-blue_white@2x.webp") no-repeat center top/cover;
}
.bg-box .btn-common01.blue_outline a:hover span:after {
  color: #185ab2;
}


@media (max-width: 1160px) {
  body {
    padding: 8rem 0 0;
  }
}
@media (max-width: 559px) {
  body {
    padding: 6rem 0 0;
  }
}

/* -----------------------------------------
		common
----------------------------------------- */
.dPc {
  display: block !important;
}

.dSp {
  display: none !important;
}

.dPcinline {
  display: inline-block !important;
}

.dSpinline {
  display: none !important;
}

@media (max-width: 559px) {
  .dPc {
    display: none !important;
  }

  .dSp {
    display: block !important;
  }

  .dPcinline {
    display: none !important;
  }

  .dSpinline {
    display: inline-block !important;
  }
}
.container {
  max-width: 120rem;
  margin: 0 auto;
  padding: 0 6rem;
}
@media (max-width: 959px) {
  .container {
    width: auto;
  }
}
@media (max-width: 559px) {
  .container {
    padding: 0 2rem;
  }
}

.breadcrumbs {
  border-bottom: 1px solid #e8e8e8;
}
.breadcrumbs .container {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  margin: 5rem 0 0;
  column-gap: 1rem;
}
.wp-pagenavi a, .wp-pagenavi span {
  border: 1px solid #185ab2 !important;
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: 0 0 .2rem !important;
  margin: 0 !important;
}
.wp-pagenavi a.current, .wp-pagenavi span.current {
  background: #185ab2;
  color: #fff;
}
.wp-pagenavi a.pages, .wp-pagenavi span.pages {
  width: auto;
  min-width: 6rem;
  border: none !important;
  background: #f5f5f5;
}

#pagetop {
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #185ab2;
  color: #185ab2;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 4rem;
  position: fixed;
  right: 4rem;
  bottom: 3rem;
  font-family: "Material Icons";
  z-index: 999;
  cursor: pointer;
  transition: .3s;
}
#pagetop:hover {
  background: #185ab2;
  color: #fff;
}
@media (max-width: 559px) {
  #pagetop {
    width: 5rem;
    height: 5rem;
    font-size: 3rem;
    right: 1rem;
    bottom: 17vw;
  }
}

.link-common01 {
  background-image: linear-gradient(#000000, #000000);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 1px;
  transition: background-size 0.3s;
}
.link-common01:hover {
  background-position: bottom left;
  background-size: 100% 1px;
}

.btn-common01 a, .btn-common01 input {
  border-radius: 10rem;
  min-width: 23rem;
  min-height: 5rem;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  padding: 0 4rem 0 2rem;
  transition: .3s;
  white-space: nowrap;
}
.btn-common01 a span, .btn-common01 input span {
  position: relative;
}
.btn-common01 a span.white:after, .btn-common01 input span.white:after {
  color: #fff;
}
.btn-common01 a span.icon-plus, .btn-common01 input span.icon-plus {
  padding: 0 2rem 0 0;
}
.btn-common01 a span.icon-plus:after, .btn-common01 input span.icon-plus:after {
  content: "+";
  position: absolute;
  right: 0;
  top: -.6rem;
  font-size: 2rem;
  font-weight: 300;
}
.btn-common01 a span.icon-pdf, .btn-common01 input span.icon-pdf {
  padding: 0 2rem 0 2.8rem;
}
.btn-common01 a span.icon-pdf:after, .btn-common01 input span.icon-pdf:after {
  content: "picture_as_pdf";
  font-family: "Material Icons";
  position: absolute;
  left: 0;
  top: -.4rem;
  font-size: 2rem;
  font-weight: 300;
}
.btn-common01 a span.icon-outlink, .btn-common01 input span.icon-outlink {
  padding: 0 2rem 0 2.8rem;
}
.btn-common01 a span.icon-outlink:after, .btn-common01 input span.icon-outlink:after {
  content: "open_in_new";
  font-family: "Material Icons";
  position: absolute;
  left: 0;
  top: -.4rem;
  font-size: 2rem;
  font-weight: 300;
}
.btn-common01 a.center, .btn-common01 input.center {
  text-align: center;
  justify-content: center;
}
.btn-common01.blue a, .btn-common01.blue input {
  background: #185ab2;
  border: 2px solid #185ab2;
  color: #fff;
  position: relative;
}
.btn-common01.blue a:hover, .btn-common01.blue input:hover {
  background: #fff;
  color: #185ab2;
}
.btn-common01.blue a:hover:after, .btn-common01.blue input:hover:after {
  background: url("../img/arrow-blue@2x.webp") no-repeat center top/cover;
}
.btn-common01.blue a:hover span:after, .btn-common01.blue input:hover span:after {
  color: #185ab2;
}
.btn-common01.blue a:after, .btn-common01.blue input:after {
  color: #185ab2;
  content: "";
  background: url("../img/arrow-blue_white@2x.webp") no-repeat center top/cover;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  right: 1.4rem;
  top: 50%;
  margin-top: -.9rem;
  font-size: 2rem;
  font-weight: 300;
}
.btn-common01.blue_outline a {
  border: 2px solid #185ab2;
  color: #185ab2;
  position: relative;
}
.btn-common01.blue_outline a:hover {
  background: #185ab2;
  color: #fff;
}
.btn-common01.blue_outline a:hover:after {
  background: url("../img/arrow-blue_white@2x.webp") no-repeat center top/cover;
}
.btn-common01.blue_outline a:hover span:after {
  color: #185ab2;
}
.btn-common01.blue_outline a:after {
  color: #185ab2;
  content: "";
  background: url("../img/arrow-blue@2x.webp") no-repeat center top/cover;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  right: 1.4rem;
  top: 50%;
  margin-top: -.9rem;
  font-size: 2rem;
  font-weight: 300;
}
.btn-common01.green a, .btn-common01.green input {
  background: #009488;
  border: 2px solid #009488;
  color: #fff;
  position: relative;
}
.btn-common01.green a:hover, .btn-common01.green input:hover {
  background: #fff;
  color: #009488;
}
.btn-common01.green a:hover:after, .btn-common01.green input:hover:after {
  background: url("../img/arrow-green@2x.webp") no-repeat center top/cover;
}
.btn-common01.green a:hover span:after, .btn-common01.green input:hover span:after {
  color: #009488;
}
.btn-common01.green a:after, .btn-common01.green input:after {
  color: #009488;
  content: "";
  background: url("../img/arrow-green_white@2x.webp") no-repeat center top/cover;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  right: 1.4rem;
  top: 50%;
  margin-top: -.9rem;
  font-size: 2rem;
  font-weight: 300;
}
.btn-common01.green_outline a {
  border: 2px solid #009488;
  color: #009488;
  position: relative;
}
.btn-common01.green_outline a:hover {
  background: #009488;
  color: #fff;
}
.btn-common01.green_outline a:hover:after {
  background: url("../img/arrow-green_white@2x.webp") no-repeat center top/cover;
}
.btn-common01.green_outline a:hover span:after {
  color: #009488;
}
.btn-common01.green_outline a:after {
  color: #185ab2;
  content: "";
  background: url("../img/arrow-green@2x.webp") no-repeat center top/cover;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  right: 1.4rem;
  top: 50%;
  margin-top: -.9rem;
  font-size: 2rem;
  font-weight: 300;
}
.btn-common01.green_white a {
  background: #fff;
  border: 2px solid #009488;
  color: #009488;
  position: relative;
}
.btn-common01.green_white a:hover {
  background: #009488;
  color: #fff;
}
.btn-common01.green_white a:hover:after {
  background: url("../img/arrow-green_white@2x.webp") no-repeat center top/cover;
}
.btn-common01.green_white a:hover span:after {
  color: #009488;
}
.btn-common01.green_white a:after {
  color: #009488;
  content: "";
  background: url("../img/arrow-green@2x.webp") no-repeat center top/cover;
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  right: 1.4rem;
  top: 50%;
  margin-top: -.9rem;
  font-size: 2rem;
  font-weight: 300;
}
.btn-common01.center {
  text-align: center;
}
@media (max-width: 559px) {
  .btn-common01 a {
    width: 100%;
    font-size: 1.4rem;
    letter-spacing: 0;
    min-width: 100%;
  }
}

.btn-common02 {
  position: relative;
  padding: 0 0 0 2.8rem;
}
.btn-common02 a:hover {
  text-decoration: underline;
}
.btn-common02:before {
  content: "";
  width: 1.8rem;
  height: 1.8rem;
  position: absolute;
  left: 0;
  top: .6rem;
}
.btn-common02.blue:before {
  background: url("../img/arrow-blue@2x.webp") no-repeat center top/cover;
}
.btn-common02.green:before {
  background: url("../img/arrow-green@2x.webp") no-repeat center top/cover;
}
.btn-common02.center {
  text-align: center;
}

.list-common01 li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: .6rem 0;
}
.list-common01 li time {
  padding: 0 4rem 0 2rem;
  box-sizing: border-box;
  white-space: nowrap;
}
.list-common01 li a {
  box-sizing: border-box;
}
@media (max-width: 559px) {
  .list-common01 li {
    flex-wrap: wrap;
  }
  .list-common01 li time {
    padding: 0 0 0 1rem;
  }
}

.list-common02 {
  padding: 1rem;
  border-radius: .5rem;
  display: flex;
  justify-content: flex-start;
  margin: 0 0 1rem;
  width: fit-content;
  background: #f7f7f7;
}
.list-common02 dt {
  background: #fff;
  border-radius: .5rem;
  padding: 0 1rem;
  font-weight: 700;
  color: #fff;
}
.list-common02 dd {
  padding: 0 1rem 0 1rem;
}
.list-common02.blue dt {
  background: #185ab2;
}
.list-common02.green dt {
  background: #009488;
}
.list-common02.brown dt {
  background: #e58304;
}
@media (max-width: 559px) {
  .list-common02 {
    box-sizing: border-box;
    width: 100%;
    flex-wrap: wrap;
  }
}

.list-common03 {
  margin: 0 0 1.6rem;
}
.list-common03 dt {
  font-weight: 700;
}
.list-common03.blue dt {
  color: #185ab2;
}
.list-common03.green dt {
  color: #009488;
}

.list-common04 li {
  position: relative;
  padding: 0 0 0 2rem;
  margin: 0 0 .6rem 1rem;
}
.list-common04 li:last-of-type {
  margin: 0 0 0 1rem;
}
.list-common04 li:before {
  position: absolute;
  left: 0;
  top: 1rem;
  width: .9rem;
  height: .9rem;
  background: #185ab2;
  border-radius: 50%;
  content: "";
}
.list-common04.green li:before {
  background: #009488;
}
.list-common04.red li:before {
  background: #f44336;
}


.list-faq {
  padding: 0 14rem;
}
.list-faq dl {
  background: #fff;
  padding: 3rem 4rem;
  margin: 0 0 2rem;
}
.list-faq dl dt, .list-faq dl dd {
  position: relative;
  padding: 0 0 0 4.2rem;
}
.list-faq dl dt:before, .list-faq dl dd:before {
  position: absolute;
  font-size: 3.2rem;
  font-weight: 700;
  font-family: din-2014, "futura-pt", sans-serif;
  left: 0;
  top: -1.3rem;
}
.list-faq dl dt {
  font-size: 1.8rem;
  font-weight: 700;
  cursor: pointer;
  padding-right: 3rem;
}
.list-faq dl dt:before {
  content: "Q";
  color: #185ab2;
}
.list-faq dl dt:after {
  position: absolute;
  right: 0;
  top: 0;
  font-family: "Material Icons";
  content: "add_circle";
  color: #185ab2;
  font-weight: normal;
  font-size: 2rem;
}
.list-faq dl dt.active {
  color: #185ab2;
}
.list-faq dl dt.active:after {
  content: "remove_circle_outline";
}
.list-faq dl dt:hover {
  color: #185ab2;
}
.list-faq dl dd {
  display: none;
  padding-top: 1rem;
}
.list-faq dl dd:before {
  content: "A";
  color: #ef4a4a;
  top: -.3rem;
}
.list-faq.green h2:before {
  background: #009488;
}
.list-faq.green dl dt:before {
  color: #009488;
}
.list-faq.green dl dt:after {
  color: #009488;
}
.list-faq.green dl dt:hover {
  color: #009488;
}
.list-faq.green dl dt.active {
  color: #009488;
}
.list-faq.type02 {
  display: none;
  padding: 0 1rem;
}
.list-faq.type02 dl {
  padding: 3rem 0;
  background: none;
  border-bottom: 1px solid #b6b6b6;
  margin: 0;
}
.list-faq.type02 dl dt {
  cursor: default;
}
.list-faq.type02 dl dt:after {
  display: none;
}
.list-faq.type02 dl dt:hover {
  color: black;
}
.list-faq.type02 dl dd {
  display: block;
}
.list-faq.type02 dl:last-of-type {
  border: none;
}
@media (max-width: 959px) {
  .list-faq {
    padding: 0;
  }
}
@media (max-width: 559px) {
  .list-faq dl {
    padding: 2rem;
    margin: 0 0 1rem;
  }
  .list-faq dl dt {
    line-height: 1.6;
    font-size: 1.7rem;
  }
  .list-faq.type02 dl dt {
    padding-right: 0;
  }
}

.table-outer {
  background: #ddd;
  padding: 4rem;
  margin: 0 0 4rem;
}
.table-outer.type02 {
  padding: 0;
}
.table-outer.type02 table {
  min-width: 80rem;
}
.table-outer.type02 table tr th, .table-outer.type02 table tr td {
  font-size: 1.4rem;
  padding: .6rem 1rem .6rem;
  background: #fff;
  border-left: 1px solid #565656;
  border-bottom: 1px solid #565656;
  letter-spacing: 0;
}
.table-outer.type02 table thead tr th {
  border-top: 1px solid #fff;
  white-space: nowrap;
  vertical-align: middle;
  border-left: 1px solid #fff;
  border-bottom: none;
}
.table-outer.type02 table thead tr th:first-of-type {
  border-left: 1px solid #fff;
}
.table-outer.type02 table thead tr th.first {
  border-left: 1px solid #565656;
  background: #565656;
  width: 40%;
}
.table-outer.type02 table thead tr th.second {
  width: 30%;
}
.table-outer.type02 table thead tr th.bg-blue {
  background: #185ab2;
}
.table-outer.type02 table thead tr th.bg-blue2 {
  background: #0d90db;
}
.table-outer.type02 table tbody tr th.icon-checkbox {
  position: relative;
  padding-left: 4rem;
}
.table-outer.type02 table tbody tr th.icon-checkbox:before {
  content: "";
  width: 1.7rem;
  height: 1.7rem;
  border: 2px solid #000;
  position: absolute;
  left: 1rem;
  top: .8rem;
  background: #fff;
}
.table-outer.type02 table tbody tr th.icon-checkbox .indent {
  font-weight: normal;
  margin: 0;
  line-height: 1.4;
}
.table-outer.type02 table tbody tr td .icon-star {
  position: relative;
  top: .4rem;
  width: 2rem;
  height: auto;
  display: inline-block;
}
@media (max-width: 959px) {
  .table-outer {
    padding: 3rem;
  }
  .table-outer.type02 {
    width: 68vw;
  }
}

.table-common01 {
  margin: 0 0 5rem;
}
.table-common01 dl {
  display: flex;
  justify-content: flex-start;
  gap: 5rem;
  padding: 2rem 0;
  border-bottom: 1px solid #b6b6b6;
}
.table-common01 dl dt {
  font-size: 1.8rem;
  font-weight: 700;
  width: 18%;
  padding-left: 2rem;
}
.table-common01 dl dd {
  flex: 1;
  width: 100%;
}
.table-common01 dl:last-of-type {
  border: none;
}
.table-common01.type02 dl dt {
  width: 30%;
}
@media (max-width: 559px) {
  .table-common01 dl {
    flex-direction: column;
    gap: 0;
    padding: 1.4rem 0;
  }
  .table-common01 dl dt {
    padding: 0;
    width: 100%;
  }
  .table-common01.type02 dl {
    padding: 2rem 0 2.8rem;
  }
  .table-common01.type02 dl dt {
    width: 100%;
    margin: 0 0 1rem;
  }
}

.table-common02 {
  width: 100%;
  margin: 0 0 1.8rem;
  min-width: 80rem;
}
.table-common02 thead tr {
  border-right: 1px solid #565656;
}
.table-common02 thead tr th {
  background: #565656;
  color: #fff;
  text-align: center;
  padding: .8rem 2rem 1rem;
  border-left: 1px solid #fff;
}
.table-common02 thead tr th:first-of-type {
  border-left: 1px solid #565656;
}
.table-common02 tbody tr {
  border-right: 1px solid #565656;
}
.table-common02 tbody tr td {
  background: #fff;
  text-align: center;
  vertical-align: middle;
  border-left: 1px solid #565656;
  border-bottom: 1px solid #565656;
  padding: 1rem 2rem 1.2rem;
}
.table-common02 tbody tr td.left {
  text-align: left;
}
.table-common02 tbody tr td p, .table-common02 tbody tr td ul {
  margin: 0 0 .6rem;
}
.table-common02 tbody tr td ul {
  margin: 0 0 1.2rem;
}
.table-common02.other {
  min-width: 100%;
  margin: 0 0 4rem !important;
}
.table-common02:last-of-type {
  margin: 0;
}

.table-common03 {
  width: 100%;
  border-right: 1px solid #565656;
  border-bottom: 1px solid #565656;
  margin: 0 0 1rem;
}
.table-common03 tr td {
  border-top: 1px solid #565656;
  border-left: 1px solid #565656;
  text-align: center;
  padding: 1rem 1.6rem 1.2rem;
  background: #fff;
}
.table-common03 tr td:nth-of-type(2n-1) {
  font-weight: 700;
  background: #f4f4f4;
}
.table-common03 tr td.left {
  text-align: left;
}
@media (max-width: 559px) {
  .table-common03 colgroup {
    display: none;
  }
  .table-common03 tr {
    display: block;
    width: 100%;
  }
  .table-common03 tr td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
}

.title-common01 {
  font-size: 4rem;
  font-weight: 900;
  margin: 0 0 10rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.4;
  text-align: center;
}
.title-common01 span {
  display: inline-block;
  color: #fff;
  font-weight: 700;
  font-size: 1.8rem;
  margin: 0 0 2.6rem;
  padding: .6rem 1.6rem .8rem;
}
.title-common01 span.brown {
  background: #e58304;
}
.title-common01 .s {
  font-size: 1.8rem;
  margin: 2.2rem 0 0;
}
.title-common01 p {
  display: block;
  margin: 0;
}
.title-common01 p i {
  font-style: normal;
  display: inline;
  color: #185ab2;
}
.title-common01 + p {
  margin: 0 0 4rem;
  padding: 0 2rem;
  text-align: center;
}
.title-common01:after {
  width: 5rem;
  height: .4rem;
  content: "";
  position: absolute;
  bottom: -4rem;
  left: 50%;
  margin-left: -2.5rem;
  background: #185ab2;
}
.title-common01.center {
  text-align: center;
}
.title-common01.white {
  color: #fff;
}
.title-common01.green i {
  color: #009488;
}
.title-common01.green:after {
  background: #009488;
}
.title-common01.noline:after {
  display: none;
}
@media (max-width: 959px) {
  .title-common01 {
    font-size: 3.6rem;
  }
}
@media (max-width: 559px) {
  .title-common01 {
    font-size: 2.8rem;
    margin: 0 0 6rem;
  }
  .title-common01 p {
    line-height: 1.4;
  }
  .title-common01 + p {
    text-align: left;
  }
  .title-common01:after {
    bottom: -3rem;
  }
}

.title-common02 {
  font-size: 2.8rem;
  font-weight: 700;
  margin: 0 0 4rem;
}
.title-common02.center {
  text-align: center;
}
.title-common02.blue {
  color: #185ab2;
}
.title-common02.green {
  color: #009488;
}
@media (max-width: 559px) {
  .title-common02 {
    font-size: 2.4rem;
    margin: 0 0 3rem;
  }
}

.title-common03 {
  font-size: 2.6rem;
  font-weight: 700;
  position: relative;
  padding: 0 0 0 3.4rem;
  margin: 0 0 4rem;
}
.title-common03:before {
  width: 1.8rem;
  height: .9rem;
  background: #185ab2;
  content: "";
  position: absolute;
  left: 0;
  top: 1.1rem;
}
.title-common03.green:before {
  background: #009488;
}
.title-common03.type02 {
  border-bottom: 1px solid #ddd;
  padding: 0 0 2.4rem 4rem;
  margin: 0 0 2rem;
}
@media (max-width: 559px) {
  .title-common03 {
    font-size: 2.2rem;
    line-height: 1.4;
  }
}
.title-common03 span{
  font-weight: normal;
  font-size: 1.8rem;
}
@media (max-width: 559px) {
  .title-common03 span {
    font-size: 1.6rem;
  }
}
.title-common04 {
  position: relative;
  font-size: 2.2rem;
  font-weight: 700;
  color: #fff;
  background: #185ab2;
  padding: 1.6rem 2.4rem 1.9rem;
  margin: 0 0 2rem;
  letter-spacing: .1rem;
}
.title-common04.ac-menu {
  cursor: pointer;
  transition: .3s;
}
.title-common04.ac-menu:hover {
  background: #0d90db;
}
.title-common04.ac-menu:after {
  position: absolute;
  width: 1.8rem;
  height: 1.8rem;
  background: url("../img/arrow-blue_white@2x.webp") no-repeat center top/cover;
  position: absolute;
  right: 2rem;
  top: 2rem;
  content: "";
  transform: rotateZ(90deg);
  transition: .3s;
}
.title-common04.ac-menu.active:after {
  transform: rotateZ(270deg);
}
.title-common04.ac-menu + .table-common01 {
  display: none;
}
.title-common04.green {
  background: #009488;
}
.title-common04.green.ac-menu:hover {
  background: #28bfa0;
}
@media (max-width: 559px) {
  .title-common04 {
    font-size: 1.8rem;
    margin: 0 0 1rem;
  }
}

.cat {
  position: relative;
  top: .3rem;
}
.cat a {
  background: #333;
  min-width: 12.7rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 2;
  pointer-events: none;
}
.cat.news_cat01 a {
  background: #185ab2;
}
.cat.news_cat02 a {
  background: #009488;
}
.cat.news_cat03 a {
  background: #e58304;
}

.btn-area {
  display: flex;
  justify-content: flex-start;
  gap: 1.4rem;
  flex-wrap: wrap;
}
.btn-area.center {
  justify-content: center;
}
.btn-area.center p {
  text-align: left;
}
@media (max-width: 559px) {
  .btn-area {
    flex-wrap: wrap;
    gap: 0;
  }
  .btn-area p {
    width: 100%;
    margin: 0 0 1rem;
  }
}

.btn-more {
  background: #185ab2;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 1rem 0 1.4rem;
  cursor: pointer;
  transition: .3s;
}
.btn-more span {
  position: relative;
  padding: 0 2.4rem 0 0;
}
.btn-more span:after {
  background: url("../img/arrow-blue_white@2x.webp") no-repeat center top/cover;
  width: 1.8rem;
  height: 1.8rem;
  content: "";
  position: absolute;
  right: 0;
  top: .6rem;
  transform: rotateZ(90deg);
  transition: .3s;
}
.btn-more:hover {
  background: #0d90db;
}
.btn-more.active span:after {
  transform: rotateZ(270deg);
}
.btn-more.green {
  background: #009488;
}

#cta ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 5rem;
}
#cta ul li {
  min-height: 45rem;
  width: 49.5%;
  margin: 0 0 1%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 5rem;
}
#cta ul li .title {
  font-size: 3.7rem;
  color: #fff;
  font-weight: 700;
  margin: 0 0 1rem;
}
#cta ul li .title span {
  display: block;
  font-size: 1.6rem;
  line-height: 1.2;
}
#cta ul li .title span strong {
  background: #185ab2;
  color: #fff;
  display: inline-block;
  border-radius: 6rem;
  padding: 0 1.4rem;
  line-height: 1.8;
  margin: 0 .6rem 0 0;
}
#cta ul li .text {
  color: #fff;
  margin: 0 0 3rem;
}
#cta ul li.cta-recruit {
  background: url("../img/cta-recruit-inspection@2x.webp") no-repeat center top/cover;
}
#cta ul li.cta-company {
  background: url("../img/cta-company@2x.webp") no-repeat center top/cover;
}
#cta ul li.cta-contact_inspection {
  background: url("../img/cta-inspection_contact@2x.webp") no-repeat center top/cover;
}
#cta ul li.cta-contact_education {
  background: url("../img/cta-education_contact@2x.webp") no-repeat center top/cover;
}
#cta ul li.cta-contact_education .title span strong {
  background: #009488;
}
#cta ul li.cta-contact_education .tel-area {
  padding: 1rem 2.4rem;
}
#cta ul li.cta-contact_education .tel-area dl dd .text a:before {
  color: #009488;
}
@media (max-width: 1160px) {
  #cta ul li {
    min-height: 36rem;
    width: 100%;
  }
  #cta ul li .title {
    font-size: 2.7rem;
    margin: 0;
    display: flex;
    align-items: center;
  }
  #cta ul li .title span {
    display: inline-flex;
    align-items: center;
    margin-right: 1rem;
  }
  #cta ul li .text {
    margin: 0 0 2rem;
  }
}
@media (max-width: 559px) {
  #cta ul {
    padding: 2rem;
  }
  #cta ul li {
    padding: 3rem;
    min-height: auto;
    min-height: 84vw;
  }
  #cta ul li .title {
    flex-direction: column;
  }
}

#cta-education {
  background: url("../img/cta-education_bg@2x.webp") no-repeat center top/cover;
  padding: 8rem 0;
}
#cta-education .container {
  background: rgba(255, 255, 255, 0.9);
  padding: 6rem 5rem;
  box-sizing: border-box;
}
#cta-education .container h2 {
  font-size: 3.2rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 3rem;
}
#cta-education .container h2 + p {
  text-align: center;
  margin: 0 0 3rem;
}
#cta-education .container .btn-area01 {
  padding: 0 0 4rem;
  margin: 0 0 3.5rem;
  border-bottom: 1px dashed #000;
}
#cta-education .container .btn-area01 ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}
#cta-education .container .btn-area02 {
  margin: 0 0 5rem;
}
#cta-education .container .btn-area02 ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2%;
  grid-row-gap: 2rem;
}
#cta-education .container .btn-area02 ul .btn-common01 {
  font-size: 1.8rem;
  font-weight: 500;
  width: 32%;
}
#cta-education .container .btn-area02 ul .btn-common01 a {
  width: 100%;
  min-height: 7rem;
  background: #fff;
}
#cta-education .container .btn-area02 ul .btn-common01 a:hover {
  background: #009488;
}
#cta-education .container .language h3 {
  background: #009488;
  color: #fff;
  text-align: center;
  font-size: 2.2rem;
  letter-spacing: .1rem;
  padding: 1.2rem 0 1.4rem;
  margin: 0 0 3rem;
}
#cta-education .container .language h3 + p {
  text-align: center;
  margin: 0 0 3rem;
}
#cta-education .container .language ul {
  display: flex;
  justify-content: center;
  gap: 2%;
  grid-row-gap: 2rem;
  flex-wrap: wrap;
}
#cta-education .container .language ul li {
  width: 18%;
  padding: 2rem 0;
  text-align: center;
  background: #f7f7f7;
  border-radius: 1rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
#cta-education .container .language ul li dl dd {
  color: #848484;
  font-size: 1.2rem;
}
@media (max-width: 959px) {
  #cta-education .container .btn-area02 ul .btn-common01 {
    width: 49%;
  }
  #cta-education .container .language ul li {
    width: 32%;
  }
}
@media (max-width: 559px) {
  #cta-education .container {
    padding: 5rem 2rem;
  }
  #cta-education .container h2 {
    font-size: 2.8rem;
  }
  #cta-education .container .btn-area01 ul {
    padding: 0 2rem;
  }
  #cta-education .container .btn-area02 ul .btn-common01 {
    width: 49%;
  }
  #cta-education .container .btn-area02 ul .btn-common01 a {
    padding-right: 3rem;
    white-space: wrap;
    min-height: 6rem;
    line-height: 1.4;
  }
  #cta-education .container .language ul {
    grid-row-gap: 1rem;
  }
  #cta-education .container .language ul li {
    width: 49%;
  }
}

.tel-area {
  background: #fff;
  display: inline-flex;
  justify-content: flex-start;
  padding: 1rem;
  margin: 0 0 2rem;
  width: fit-content;
}
.tel-area dl {
  display: flex;
  justify-content: flex-start;
  margin: 0 2rem 0 0;
}
.tel-area dl dt {
  background: #185ab2;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1rem;
  padding: 0 1rem;
  letter-spacing: 0;
  margin: 0 1rem 0 0;
}
.tel-area dl dd {
  padding: .1rem 0 .4rem;
}
.tel-area dl dd .text {
  margin: 0 !important;
}
.tel-area dl dd .text a {
  position: relative;
  padding: 0 0 0 2.4rem;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}
.tel-area dl dd .text a:before {
  font-family: "Material Icons";
  content: "phone";
  color: #185ab2;
  position: absolute;
  left: 0;
  top: .3rem;
}
.tel-area dl dd .time {
  font-size: 1.1rem;
  line-height: 1.2;
}
.tel-area dl:nth-of-type(2) dt {
  background: #e58304;
}
.tel-area dl:nth-of-type(2) dd .text a:before {
  color: #e58304;
}
@media (max-width: 1436px) {
  .tel-area {
    flex-wrap: wrap;
    gap: 1rem;
    width: min-content;
  }
  .tel-area dl {
    width: 100%;
    display: inline-flex;
  }
  .tel-area dl dt {
    line-height: 1.2;
    white-space: nowrap;
  }
  .tel-area dl dd {
    display: flex;
    justify-content: flex-start;
    gap: 2rem;
  }
  .tel-area dl dd .text a {
    white-space: nowrap;
  }
  .tel-area dl dd .time {
    line-height: 2;
    white-space: nowrap;
  }
}
@media (max-width: 959px) {
  .tel-area {
    width: fit-content;
    padding-right: 3rem;
  }
  .tel-area dl {
    flex-wrap: nowrap;
    width: 47%;
  }
  .tel-area dl:last-of-type {
    margin: 0;
  }
  .tel-area dl dd {
    display: block;
  }
}
@media (max-width: 559px) {
  .tel-area {
    flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
  }
  .tel-area dl {
    margin: 0 0 1rem;
    width: 100%;
  }
  .tel-area dl:last-of-type {
    margin: 0;
  }
}

.contentBox01 {
  padding: 10rem 0;
}
.contentBox01.blue {
  background: #185ab2;
}
.contentBox01.green {
  background: #009488;
}
.contentBox01.gray {
  background: #f7f7f7;
}
@media (max-width: 559px) {
  .contentBox01 {
    padding: 6rem 0;
  }
}

.anc ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2%;
  padding: 0 8rem;
}
.anc ul li {
  width: 32%;
  margin: 0 0 2%;
}
.anc ul li a {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 500;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1.4;
  min-height: 6.3rem;
  padding: .6rem 4rem .6rem 3rem;
  white-space: unset;
}
.anc ul li a:after {
  transform: rotateZ(90deg);
}
.anc.line2 ul {
  padding: 0 10rem;
}
.anc.line2 ul li {
  width: 40%;
}
@media (max-width: 1160px) {
  .anc ul {
    padding: 0;
  }
  .anc.line2 ul {
    padding: 0;
  }
  .anc.line2 ul li {
    width: 40%;
  }
}
@media (max-width: 959px) {
  .anc ul li {
    width: 49%;
  }
}
@media (max-width: 559px) {
  .anc ul li {
    width: 100%;
  }
  .anc ul li a {
    justify-content: flex-start;
    padding-left: 2rem;
  }
  .anc.line2 ul li {
    width: 100%;
  }
}

.box-common01 {
  display: flex;
  justify-content: space-between;
  column-gap: 4rem;
  margin: 0 0 6rem;
}
.box-common01 .img .name {
  text-align: center;
  margin: 2rem 0 0;
}
.box-common01 .img .name dd {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 3.2rem;
}
.box-common01 .text {
  flex: 1;
  padding-right: 4rem;
}
.box-common01 .text p {
  color: #fff;
  margin: 0 0 2rem;
}
.box-common01 .text p.indent {
  margin: 0;
}
.box-common01 .text .list-common04 {
  margin: 0 0 2rem;
}
.box-common01 .text .message {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 3.2rem;
  letter-spacing: -.1rem;
}
.box-common01 .text .message strong {
  font-weight: normal;
  color: #185ab2;
}
.box-common01.type02 {
  gap: 5rem;
  margin: 0 0 4rem;
}
.box-common01.type02 .img {
  width: 55rem;
  order: 2;
}
.box-common01.type02 .img.wauto {
  width: auto;
}
.box-common01.type02 .text {
  order: 1;
}
.box-common01.type02 .text h3 {
  font-size: 2.2rem;
  line-height: 1.6;
  margin: 0 0 2rem;
}
.box-common01.type02 .text p {
  color: black;
}
.box-common01.type02 .text .no {
  display: inline-flex;
  background: #ddd;
  padding: 1rem 1.6rem 1rem 1rem;
  gap: 1rem;
}
.box-common01.type02 .text .no dt {
  background: #565656;
  color: #fff;
  text-align: center;
  padding: 0 1rem .2rem 1.4rem;
}
.box-common01.type02.green .text h3 {
  color: #009488;
}
@media (max-width: 959px) {
  .box-common01 .img {
    width: 38vw;
  }
  .box-common01 .text .message {
    font-size: 3.2rem;
  }
  .box-common01 .text .message br {
    display: none;
  }
  .box-common01.type02 {
    gap: 3rem;
  }
  .box-common01.type02 .img {
    width: 40vw;
  }
  .box-common01.type02 .img.wauto {
    width: 36vw;
  }
}
@media (max-width: 559px) {
  .box-common01 {
    flex-wrap: wrap;
    margin: 0 0 4rem;
  }
  .box-common01 .img {
    width: 100%;
    margin: 0 0 1rem;
  }
  .box-common01 .text {
    padding-right: 0;
  }
  .box-common01 .text .message {
    font-size: 2.6rem;
  }
  .box-common01.type02 {
    gap: 1rem;
    flex-direction: column;
  }
  .box-common01.type02 .img {
    width: 100%;
    text-align: center;
    order: 1;
  }
  .box-common01.type02 .img img {
    width: 66vw;
  }
  .box-common01.type02 .img.wauto {
    width: 100%;
    text-align: center;
  }
  .box-common01.type02 .img.wauto img {
    width: 66vw;
  }
  .box-common01.type02 .text {
    order: 2;
  }
  .box-common01.type02 .text h3 {
    font-size: 2rem;
  }
}

.box-common02 {
  display: flex;
  justify-content: space-between;
  gap: 4rem;
}
.box-common02 section {
  background: #fff;
  padding: 5rem 3.2rem 4rem;
  box-sizing: border-box;
  flex: 1;
}
.box-common02 section .img {
  margin: 0 0 1rem;
}
@media (max-width: 959px) {
  .box-common02 {
    flex-direction: column;
    gap: 2rem;
  }
  .box-common02 section .img {
    text-align: center;
  }
}
@media (max-width: 559px) {
  .box-common02 section {
    padding: 4rem 2rem 3rem;
  }
}

.box-common03 {
  display: flex;
  justify-content: space-between;
  padding: 0 10rem;
  gap: 5rem;
}
.box-common03 .img {
  order: 2;
}
.box-common03 .text {
  order: 1;
  flex: 1;
}
.box-common03 .text h2 {
  font-size: 4rem;
  font-weight: 700;
  color: #185ab2;
  margin: 0 0 4rem;
}
.box-common03 .text p {
  margin: 0 0 2rem;
}
.box-common03.green .text h2 {
  color: #009488;
}
@media (max-width: 959px) {
  .box-common03 {
    padding: 0 5rem;
  }
  .box-common03 .img {
    width: 35rem;
  }
  .box-common03 .text h2 {
    font-size: 3rem;
    margin: 0 0 3rem;
  }
}
@media (max-width: 559px) {
  .box-common03 {
    padding: 0 3rem;
    flex-direction: column;
    gap: 2rem;
  }
  .box-common03 .img {
    width: 100%;
    text-align: center;
  }
  .box-common03 .img img {
    width: 100%;
  }
  .box-common03 .text h2 {
    font-size: 2.8rem;
    margin: 0 0 2.4rem;
  }
}

.box-common04 {
  display: flex;
  justify-content: space-between;
  gap: 3.2rem;
}
.box-common04 section {
  border: 1px solid #d3d3d3;
  padding: 3.6rem;
  flex: 1;
}
.box-common04 section h3 {
  font-size: 2.8rem;
  font-weight: 700;
  position: relative;
  padding: 0 0 0 4rem;
  margin: 0 0 3rem;
}
.box-common04 section h3:before {
  width: 1.8rem;
  height: .9rem;
  background: #185ab2;
  position: absolute;
  content: "";
  left: 0;
  top: 1.1rem;
}
.box-common04 section dl {
  display: flex;
  gap: 3rem;
  margin: 0 0 .4rem;
}
.box-common04 section dl dt {
  font-weight: 700;
  width: 20%;
}
.box-common04 section dl dd {
  flex: 1;
}
.box-common04 section iframe {
  width: 100%;
  height: 40rem;
  margin: 3rem 0 0;
}
.box-common04 section:nth-of-type(2) h3:before {
  background: #e58304;
}
@media (max-width: 959px) {
  .box-common04 {
    gap: 2rem;
  }
  .box-common04 section {
    padding: 3rem 2rem;
  }
  .box-common04 section h3 {
    padding: 0 0 0 3rem;
    margin: 0 0 2rem;
    font-size: 2.2rem;
  }
  .box-common04 section h3:before {
    top: .8rem;
  }
  .box-common04 section dl {
    flex-direction: column;
    gap: 0;
    margin: 0 0 1rem;
  }
  .box-common04 section dl dt {
    width: 100%;
  }
}
@media (max-width: 559px) {
  .box-common04 {
    flex-wrap: wrap;
  }
  .box-common04 section .height-match {
    height: auto !important;
  }
}

.box-common05 ul {
  display: flex;
  gap: 2%;
}
.box-common05 ul li {
  width: 33%;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  padding: 2.2rem;
}
.box-common05 ul li h3 {
  background: #009488;
  text-align: center;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 2rem;
  padding: 1rem 0 1.2rem;
}
.box-common05 ul li .btn-common01 {
  margin: 0 0 1rem;
}
.box-common05 ul li .btn-common01 a {
  min-width: 100%;
  color: black;
  font-weight: 500;
  line-height: 1.4;
  min-height: 7rem;
  padding-left: 3rem;
}
@media (max-width: 959px) {
  .box-common05 ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
  }
  .box-common05 ul li {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    gap: 2%;
    flex-wrap: wrap;
  }
  .box-common05 ul li h3 {
    width: 100%;
  }
  .box-common05 ul li .btn-common01 {
    width: auto;
    min-width: 30rem;
  }
}
@media (max-width: 559px) {
  .box-common05 ul li .btn-common01 {
    min-width: 100%;
  }
  .box-common05 ul li .btn-common01 a {
    padding-right: 5rem;
    white-space: unset;
  }
  .box-common05 ul li .btn-common01 a br {
    display: none;
  }
}

.box-common06 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 3rem 6rem;
}
.box-common06 dl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 4rem;
  margin: 0 0 2rem;
  width: max-content;
}
.box-common06 dl:last-of-type {
  margin: 0;
}
.box-common06 dl dt {
  border: 5px solid #e2efee;
  border-radius: 2rem;
  background: #fff;
  position: relative;
  min-width: 35rem;
  min-height: 10.6rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 0 6.6rem;
  font-size: 1.7rem;
  font-weight: 700;
  color: #009488;
  box-sizing: border-box;
}
.box-common06 dl dt:before {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  font-family: din-2014, "futura-pt", sans-serif;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  background: #009488;
  border-radius: 50%;
  position: absolute;
  left: 3.4rem;
  top: 50%;
  margin-top: -1.25rem;
}
.box-common06 dl:nth-of-type(1) dt:before {
  content: "1";
}
.box-common06 dl:nth-of-type(2) dt:before {
  content: "2";
}
.box-common06 dl:nth-of-type(3) dt:before {
  content: "3";
}
@media (max-width: 959px) {
  .box-common06 {
    padding: 3rem 0;
    align-items: center;
  }
  .box-common06 dl {
    flex-direction: column;
    row-gap: 2rem;
    margin: 0 0 3rem;
    width: 100%;
  }
}
@media (max-width: 559px) {
  .box-common06 dl dt {
    min-height: 9rem;
    padding: 1rem 2rem 0rem;
    justify-content: center;
  }
  .box-common06 dl dt:before {
    width: 10vw;
    height: 10vw;
    font-size: 5vw;
    left: 50%;
    margin-left: -5vw;
    top: -4vw;
  }
}

.box-common07 ul {
  display: flex;
  justify-content: center;
  gap: 2%;
  grid-row-gap: 2rem;
  flex-wrap: wrap;
}
.box-common07 ul li {
  width: 44%;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  padding: 5rem 3rem;
}
.box-common07 ul li .title {
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  margin: 0 0 3.2rem;
}
@media (max-width: 959px) {
  .box-common07 ul li {
    width: 100%;
  }
}
@media (max-width: 559px) {
  .box-common07 ul li {
    padding: 3rem;
  }
  .box-common07 ul li .title {
    margin: 0 0 1.2rem;
    font-size: 2rem;
  }
}

.box-common08 {
  padding: 0 5rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.box-common08 dl {
  display: flex;
  gap: 3rem;
}
.box-common08 dl dt {
  position: relative;
  padding: 0 0 0 4rem;
  color: #185ab2;
  font-weight: 700;
  width: 12%;
}
.box-common08 dl dt:before {
  width: .9rem;
  height: .9rem;
  background: #185ab2;
  border-radius: 50%;
  content: "";
  position: absolute;
  left: 0;
  top: 1rem;
}
.box-common08 dl dd {
  flex: 1;
  width: 100%;
}
.box-common08:before {
  width: 1px;
  height: calc(100% - 2rem);
  background: #185ab2;
  content: "";
  position: absolute;
  left: 5.4rem;
  top: 1rem;
}
@media (max-width: 559px) {
  .box-common08 {
    gap: 3rem;
    flex-direction: column;
    padding: 0 0 0 4rem;
  }
  .box-common08 dl {
    gap: 1rem;
    flex-direction: column;
  }
  .box-common08 dl dt {
    width: 100%;
    padding: 0;
  }
  .box-common08 dl dt:before {
    top: .8rem;
    left: -3rem;
  }
  .box-common08:before {
    left: 1.4rem;
  }
}

.box-reason {
  margin: 0 0 8rem;
}
.box-reason h2 {
  text-align: center;
  font-size: 4rem;
  font-weight: 900;
  margin: 0 0 5rem;
}
.box-reason h2 span {
  font-size: 1.8rem;
  font-weight: 700;
  display: block;
  margin: 0 0 1rem;
}
.box-reason h2 strong {
  font-weight: 900;
}
.box-reason h2 strong i {
  font-style: normal;
  font-size: 7.8rem;
  font-family: din-2014, "futura-pt", sans-serif;
  font-weight: 700;
}
.box-reason h2 strong.blue {
  color: #185ab2;
}
.box-reason h2 strong.green {
  color: #009488;
}
.box-reason ul {
  display: flex;
  justify-content: space-between;
}
.box-reason ul li {
  width: 31%;
}
.box-reason ul li .img {
  text-align: center;
  margin: 0 0 2rem;
  min-height: 15rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.box-reason ul li i {
  font-size: 6rem;
  color: #185ab2;
  font-style: normal;
  display: block;
  text-align: center;
  font-family: din-2014, "futura-pt", sans-serif;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 .4rem;
}
.box-reason ul li i.green {
  color: #009488;
}
.box-reason ul li dl dt {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  margin: 0 0 1rem;
}
.box-reason.green h2 strong {
  color: #009488;
}
.box-reason.green ul li i {
  color: #009488;
}
@media (max-width: 1300px) {
  .box-reason ul {
    padding: 0 7rem;
  }
}
@media (max-width: 559px) {
  .box-reason h2 {
    font-size: 3rem;
    margin: 0 0 3rem;
  }
  .box-reason h2 span {
    font-size: 1.5rem;
  }
  .box-reason h2 strong i {
    font-size: 5.8rem;
  }
  .box-reason ul {
    gap: 2rem;
    flex-wrap: wrap;
    padding: 0;
  }
  .box-reason ul li {
    width: 100%;
  }
  .box-reason ul li .img img {
    width: 30vw;
  }
  .box-reason ul li i {
    font-size: 4rem;
    margin: 0;
  }
  .box-reason ul li dl dt {
    font-size: 2rem;
    margin: 0 0 .4rem;
  }
}

.box-flow {
  padding: 0 9rem;
}
.box-flow &gt; ul {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  position: relative;
}
.box-flow &gt; ul li {
  display: flex;
  justify-content: space-between;
  gap: 5rem;
  position: relative;
  z-index: 1;
}
.box-flow &gt; ul li .img {
  width: 15rem;
  height: 15rem;
  box-sizing: border-box;
  border: 5px solid #f3ece2;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
}
.box-flow &gt; ul li .content {
  flex: 1;
  padding: 1rem 0 0;
}
.box-flow &gt; ul li .content .step {
  background: #0d90db;
  color: #fff;
  display: inline-block;
  font-family: din-2014, "futura-pt", sans-serif;
  font-weight: 700;
  padding: 0 1rem;
  margin: 0 0 1rem;
}
.box-flow &gt; ul li .content .title {
  font-size: 2.8rem;
  font-weight: 700;
  margin: 0 0 1rem;
}
.box-flow &gt; ul li .content .text p {
  margin: 0 0 1rem;
}
.box-flow &gt; ul li .content .text .btn-area {
  margin: 2rem 0 0;
}
.box-flow &gt; ul li .content .text .list-common04 {
  margin: 0 0 2rem;
}
.box-flow &gt; ul:before {
  content: "";
  width: .5rem;
  height: 100%;
  background: #f3ece2;
  position: absolute;
  left: 7.25rem;
  top: 0;
}
.box-flow.type02 {
  padding: 0 4rem;
}
.box-flow.green ul li .content .step {
  background: #28bfa0;
}
@media (max-width: 1160px) {
  .box-flow {
    padding: 0;
  }
}
@media (max-width: 959px) {
  .box-flow.type02 {
    padding: 0;
  }
}
@media (max-width: 559px) {
  .box-flow ul li {
    gap: 0;
  }
  .box-flow ul li .img {
    width: 7rem;
    height: 7rem;
    border: 3px solid #f3ece2;
    box-sizing: border-box;
    margin: 0 2rem 0 0;
  }
  .box-flow ul li .img img {
    width: 6vw;
  }
  .box-flow ul li .content {
    flex: 1;
  }
  .box-flow ul li .content .title {
    font-size: 2.4rem;
    line-height: 1.6;
  }
  .box-flow ul li .content .text p {
    margin: 0 0 1rem;
  }
  .box-flow ul li .content .text .btn-area p {
    margin: 0 0 1rem;
  }
  .box-flow ul:before {
    left: 3.25rem;
  }
}

.box-voice ul {
  position: relative;
  background: url("../img/illust-voice01@2x.webp") no-repeat center center/24vw auto;
  min-height: 38vw;
}
.box-voice ul li {
  position: absolute;
  border: 0.5vw solid #0d90db;
  border-radius: 1rem;
  box-sizing: border-box;
  width: 29vw;
  padding: 1vw 1.6vw;
  font-size: 1vw;
  letter-spacing: 0;
  background: #fff;
}
.box-voice ul li:nth-of-type(1) {
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.box-voice ul li:nth-of-type(2) {
  left: 5vw;
  top: 10vw;
}
.box-voice ul li:nth-of-type(3) {
  left: 5vw;
  top: 22vw;
}
.box-voice ul li:nth-of-type(4) {
  right: 5vw;
  top: 10vw;
}
.box-voice ul li:nth-of-type(5) {
  right: 5vw;
  top: 20vw;
}
.box-voice ul li:nth-of-type(6) {
  left: 50%;
  top: 30vw;
  transform: translateX(-50%);
}
.box-voice.green ul {
  background: url("../img/illust-voice02@2x.webp") no-repeat center center/24vw auto;
}
.box-voice.green ul li {
  border-color: #009488;
}
@media (max-width: 559px) {
  .box-voice ul {
    background-position: center bottom;
    background-size: 62vw auto;
    min-height: 42vw;
    padding: 0 0 45vw;
  }
  .box-voice ul li {
    position: static;
    font-size: 1.6rem;
    padding: 1rem 1.6rem;
    margin: 0 2rem 1rem;
    width: calc(100% - 4rem);
    border-width: .5rem;
  }
  .box-voice ul li:nth-of-type(1) {
    transform: none;
  }
  .box-voice ul li:nth-of-type(6) {
    transform: none;
  }
  .box-voice.green ul {
    background-position: center bottom;
    background-size: 62vw auto;
    min-height: 42vw;
    padding: 0 0 45vw;
  }
}

.box-faq {
  margin: 0 0 9rem;
}

.box-recruit {
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  padding: 6.5rem;
  box-sizing: border-box;
  margin-bottom: 5rem;
}
.box-recruit .main {
  display: flex;
  justify-content: space-between;
  gap: 6rem;
  align-items: center;
  margin: 0 0 3rem;
}
.box-recruit .main .img {
  order: 1;
}
.box-recruit .main .text {
  flex: 1;
  order: 2;
}
.box-recruit .main .text h3 {
  color: #185ab2;
  font-size: 3.2rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  border-bottom: 1px dotted #000;
  padding: 0 0 3rem;
  margin: 0 0 3rem;
}
.box-recruit .main .text h3 span {
  color: black;
  font-size: 1.5rem;
  font-weight: normal;
  padding: 0 0 0 2rem;
}
.box-recruit .main .text dl {
  display: flex;
  gap: 3rem;
  margin: 0 0 2rem;
}
.box-recruit .main .text dl dt {
  background: #0d90db;
  width: 18.4rem;
  white-space: nowrap;
  color: #fff;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.8rem;
  border-radius: 0 1rem 0 1rem;
}
.box-recruit .main .text dl dd {
  flex: 1;
  width: 100%;
}
.box-recruit.green .main .text h3 {
  color: #009488;
}
.box-recruit.green .main .text dl dt {
  background: #009488;
}
.box-recruit.green .list-faq dl dt:before {
  color: #009488;
}
.box-recruit section {
  margin: 3rem 0;
}
.box-recruit .fax {
  padding: 2rem 3rem;
}
@media (max-width: 959px) {
  .box-recruit {
    margin: 0 5rem 4rem;
    padding: 3.5rem;
  }
  .box-recruit .main {
    gap: 3rem;
  }
  .box-recruit .main .img {
    width: 26vw;
  }
  .box-recruit .main .text h3 {
    font-size: 2.8rem;
    padding: 0 0 2rem;
    margin: 0 0 3rem;
  }
  .box-recruit .main .text dl {
    gap: 2rem;
  }
}
@media (max-width: 559px) {
  .box-recruit {
    margin: 0 0 3rem;
    padding: 3rem;
  }
  .box-recruit .main {
    margin: 0 0 1rem;
    flex-wrap: wrap;
  }
  .box-recruit .main .img {
    width: 50%;
    text-align: center;
  }
  .box-recruit .main .img img {
    width: 35vw;
  }
  .box-recruit .main h3 {
    order: 2;
    width: 50%;
    flex: 1;
    font-size: 2rem;
    color: #185ab2;
  }
  .box-recruit .main h3 span {
    display: block;
    font-size: 1.5rem;
    font-weight: normal;
    margin: 1.4rem 0 0;
    color: black;
  }
  .box-recruit .main .text {
    order: 3;
    width: 100%;
  }
  .box-recruit .main .text h3 {
    font-size: 2.4rem;
  }
  .box-recruit .main .text dl {
    gap: 1rem;
    flex-direction: column;
  }
  .box-recruit.green .main h3 {
    color: #009488;
  }
}

.box-attention {
  border: 5px solid #ddd;
  padding: 7rem 6rem;
}
.box-attention h2 {
  text-align: center;
  font-size: 4rem;
  font-weight: 900;
  position: relative;
  margin: 0 0 5rem;
}
.box-attention h2 span {
  padding: 0 0 0 6rem;
  position: relative;
}
.box-attention h2 span:before {
  position: absolute;
  font-family: "Material Icons";
  font-size: 5rem;
  color: #ef4a4a;
  left: 0;
  top: .7rem;
  content: "error";
}
.box-attention h2 strong {
  color: #ef4a4a;
  font-weight: 900;
}
.box-attention section {
  margin: 0 0 4rem;
}
.box-attention section:last-of-type {
  margin: 0;
}
.box-attention section h3 {
  border-bottom: 1px solid #ddd;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
}
@media (max-width: 959px) {
  .box-attention {
    border: 0;
    padding: 4rem 0;
  }
  .box-attention h2 {
    margin: 0 0 5rem;
    font-size: 2.4rem;
  }
  .box-attention h2 span {
    padding: 0 0 0 4rem;
  }
  .box-attention h2 span:before {
    font-size: 3rem;
  }
  .box-attention section h3 {
    font-size: 2rem;
  }
  .box-attention section h3:before {
    top: .6rem;
  }
}

.box-schedule {
  width: 80%;
  margin: 0 auto;
}
.box-schedule .list {
  background: #efefef;
  margin: 0 0 3rem;
}
.box-schedule .list ul {
  display: flex;
  justify-content: center;
  gap: 2rem;
  padding: 1rem 0 1.2rem;
  flex-wrap: wrap;
}
.box-schedule .list ul li {
  position: relative;
  padding: 0 0 0 2.6rem;
}
.box-schedule .list ul li:before {
  width: 1.8rem;
  height: 1.8rem;
  background: #000;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: .6rem;
  content: "";
}
.box-schedule .list ul li:nth-of-type(1):before {
  background: #3745a8;
}
.box-schedule .list ul li:nth-of-type(2):before {
  background: #4076ee;
}
.box-schedule .list ul li:nth-of-type(3):before {
  background: #8e5fa3;
}
.box-schedule .list ul li:nth-of-type(4):before {
  background: #6b4d40;
}
.box-schedule .list ul li:nth-of-type(5):before {
  background: #e75425;
}
.box-schedule .list ul li:nth-of-type(6):before {
  background: #f0bb35;
}
.box-schedule .list ul li:nth-of-type(7):before {
  background: #bac43c;
}
.box-schedule .list ul li:nth-of-type(8):before {
  background: #d9776a;
} 
.box-schedule .list ul li:nth-of-type(9):before {
  background: #c42712;
}
.box-schedule iframe {
  width: 100%;
  display: block;
  margin: 0 0 2rem;
}
@media (max-width: 959px) {
  .box-schedule {
    width: 100%;
  }
}
@media (max-width: 559px) {
  .box-schedule .list ul {
    flex-wrap: wrap;
    gap: 0;
    padding: 1.4rem 2rem;
  }
  .box-schedule .list ul li {
    width: 100%;
  }
}

.box-access .access-map {
  width: 86%;
  margin: 0 auto 6rem;
  height: 60rem;
  display: block;
}
.box-access .box-common01 .text .table-common01 dl dt {
  width: 36%;
}
@media (max-width: 959px) {
  .box-access .access-map {
    width: 100%;
    height: 50rem;
  }
  .box-access .box-common01 .img {
    width: 30vw;
  }
  .box-access .box-common01 .text .table-common01 dl {
    flex-wrap: wrap;
    gap: 0;
  }
  .box-access .box-common01 .text .table-common01 dl dt {
    width: 100%;
    padding: 0;
  }
}
@media (max-width: 559px) {
  .box-access .access-map {
    height: 30rem;
  }
  .box-access .box-common01 {
    flex-direction: column;
    margin: 0;
  }
  .box-access .box-common01 .img {
    width: 100%;
    text-align: center;
  }
  .box-access .box-common01 .img img {
    width: 50vw;
  }
  .box-access .box-common01 .text .table-common01 {
    margin: 0;
  }
  .box-access .box-common01 .text .table-common01 dl {
    flex-wrap: wrap;
    gap: 0;
  }
  .box-access .box-common01 .text .table-common01 dl dt {
    width: 100%;
    padding: 0;
  }
}

.box-grant {
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  padding: 4.2rem;
  margin: 0 0 6rem;
}
.box-grant h3 {
  background: #009488;
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  padding: 1.6rem 0 1.8rem;
  color: #fff;
  margin: 0 0 1rem;
}
.box-grant &gt; section {
  padding: 3rem 0;
}
.box-grant &gt; section .table-outer {
  margin: 0 0 1rem;
}
@media (max-width: 559px) {
  .box-grant {
    padding: 2rem;
  }
  .box-grant h3 {
    font-size: 2rem;
  }
}

.map {
  background: url("../img/map@2x.webp") no-repeat center top/100% auto;
  min-height: 100rem;
  width: 110rem;
  margin: 0 auto;
}
.map .mapBox {
  border-radius: 1rem;
  background: #185ab2;
  display: flex;
  align-items: center;
  padding: 1rem;
  width: 65.2rem;
  margin: 0 0 1rem;
}
.map .mapBox .title {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  padding: 0 4rem;
  white-space: nowrap;
  color: #fff;
}
.map .mapBox .area {
  background: #fff;
  border-radius: 1rem;
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  width: 100%;
  overflow: overlay;
}
.map .mapBox .area dl {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.map .mapBox .area dl dt {
  background: #185ab2;
  color: #fff;
  font-weight: 500;
  padding: .1rem 1rem 0;
  width: 5rem;
  text-align: center;
  font-size: 1.4rem;
}
.map .mapBox .area dl dd {
  flex: 1;
  width: 100%;
  letter-spacing: 0;
}
.map .mapBox.kanto {
  background: #e58304;
}
.map .mapBox.kanto .area dl dt {
  background: #e58304;
}
.map .mapBox .area p {
  font-size: 1.4rem;
  word-break: keep-all;
  overflow-wrap: break-word;
}
@media (max-width: 959px) {
  .map {
    min-height: 100vw;
    width: 100%;
    background-position: center top 19vw;
  }
  .map .mapBox {
    width: 57vw;
    margin: 0 0 1vw;
    padding: 1.4vw;
    flex-direction: column;
    box-sizing: border-box;
  }
  .map .mapBox .title {
    font-size: 2vw;
    padding: 0;
    margin: 0 0 1vw;
  }
  .map .mapBox .area {
    gap: 1vw;
    width: 100%;
    box-sizing: border-box;
    padding: 1.4vw;
  }
  .map .mapBox .area dl {
    gap: 1.4vw;
  }
  .map .mapBox .area dl dt {
    padding: .2vw 1vw;
    width: 6vw;
    font-size: 1.4vw;
  }
  .map .mapBox .area dl dd {
    font-size: 1.6vw;
  }
  .map .mapBox .area p {
    font-size: 1.6vw;
  }
}

.fax {
  border: 1px solid #000;
  width: fit-content;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
  padding: 0 2rem .3rem;
}
.fax span {
  position: relative;
  padding: 0 0 0 3.6rem;
  font-weight: 500;
}
.fax span:before {
  content: "fax";
  color: #009488;
  font-size: 2.8rem;
  position: absolute;
  left: 0;
  top: -1rem;
  font-family: "Material Icons";
}
@media (max-width: 559px) {
  .fax {
    padding: 1rem 2rem 1.2rem;
    width: fit-content;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }
}

.slider-outer {
  position: relative;
  margin: 0 auto;
  overflow: visible;
}
.slider-outer .btn-common01 {
  margin-top: 4.5rem;
}
@media (max-width: 559px) {
  .slider-outer .btn-common01 {
    margin-top: 32.5vw;
  }
}

.box-education,
.slider-education {
  overflow: visible !important;
  margin-left: 12%;
}
.box-education li,
.slider-education li {
  width: 38rem;
  margin-right: 2.2rem;
  background: #fff;
  position: relative;
  padding: 0 0 10rem;
  min-height: 49rem;
}
.box-education li .text,
.slider-education li .text {
  padding: 2rem 3rem 1rem;
}
.box-education li .text .title,
.slider-education li .text .title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0 0 1rem;
  line-height: 1.6;
}
.box-education li .btn-common01,
.slider-education li .btn-common01 {
  text-align: center;
  position: absolute;
  bottom: 3rem;
  width: 100%;
  left: 0;
}
.box-education .slick-arrow,
.slider-education .slick-arrow {
  font-family: "Material Icons";
  color: #fff;
  position: absolute;
}
.box-education .slick-arrow:before,
.slider-education .slick-arrow:before {
  width: 7rem;
  height: 7rem;
  border: 2px solid #fff;
  display: block;
  border-radius: 50%;
  font-size: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  transition: .3s;
}
.box-education .slick-arrow:hover:before,
.slider-education .slick-arrow:hover:before {
  background: #fff;
  color: #009488;
}
.box-education .slick-arrow.slick-prev,
.slider-education .slick-arrow.slick-prev {
  left: 0;
  bottom: -7rem;
  top: auto;
}
.box-education .slick-arrow.slick-prev:before,
.slider-education .slick-arrow.slick-prev:before {
  content: "chevron_left";
  font-family: "Material Icons";
}
.box-education .slick-arrow.slick-next,
.slider-education .slick-arrow.slick-next {
  left: 12rem;
  bottom: -7rem;
  top: auto;
}
.box-education .slick-arrow.slick-next:before,
.slider-education .slick-arrow.slick-next:before {
  content: "chevron_right";
  font-family: "Material Icons";
}
@media (max-width: 959px) {
  .box-education,
  .slider-education {
    margin-left: 2rem;
  }
  .box-education li,
  .slider-education li {
    width: 30rem;
    min-height: 54vw;
  }
  .box-education li .text,
  .slider-education li .text {
    padding: 2rem 2rem 1rem;
  }
}
@media (max-width: 559px) {
  .box-education li,
  .slider-education li {
    width: 86vw;
    min-height: 118vw;
  }
  .box-education li .btn-common01,
  .slider-education li .btn-common01 {
    padding: 0 2rem;
    box-sizing: border-box;
  }
  .box-education .slick-arrow:before,
  .slider-education .slick-arrow:before {
    width: 14vw;
    height: 14vw;
    font-size: 10vw;
  }
  .box-education .slick-arrow.slick-prev,
  .slider-education .slick-arrow.slick-prev {
    left: 23vw;
  }
  .box-education .slick-arrow.slick-next,
  .slider-education .slick-arrow.slick-next {
    left: 47vw;
  }
}

.box-education {
  margin: 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 2%;
  row-gap: 2.8rem;
}
.box-education li {
  width: 32%;
  margin: 0;
}
@media (max-width: 959px) {
  .box-education {
    row-gap: 1.8rem;
  }
  .box-education li {
    width: 49%;
  }
}
@media (max-width: 559px) {
  .box-education li {
    width: 100%;
    min-height: auto;
    padding: 0 0 2rem;
  }
  .box-education li .btn-common01 {
    position: static;
    margin-top: 2rem;
  }
}

/* -----------------------------------------
		haeder footer
----------------------------------------- */
header {
  position: fixed;
  width: 100%;
  background: #fff;
  z-index: 100;
  transition: .3s;
  top: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 5rem;
  box-sizing: border-box;
  align-items: center;
  height: 13rem;
}
header .logo {
  width: 45.2rem;
  transition: .3s;
}
header nav ul {
  display: flex;
  align-items: center;
}
header nav ul li {
  margin: 0 0 0 3rem;
}
header nav ul li.has-sub &gt; a {
  position: relative;
  padding: 0 2rem 0 0;
}
header nav ul li.has-sub &gt; a:after {
  content: "+";
  position: absolute;
  right: 0;
  top: -.4rem;
  font-size: 2rem;
  font-weight: 300;
  color: #185ab2;
}
header nav ul.sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(255, 255, 255, 0.9);
  min-width: 22rem;
  padding: .2rem 1.6rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
header nav ul.sub-menu li {
  display: block;
  margin: 0;
  border-bottom: 1px solid #ccc;
}
header nav ul.sub-menu li a {
  padding: 1rem 0;
  display: block;
}
header nav ul.sub-menu li .s {
  text-align: right;
  margin-top: -1.4rem;
  padding: 0 0 1rem;
}
header nav ul.sub-menu li:last-of-type {
  border: none;
}
header nav ul.sub-menu li.btn-common02:before {
  top: 1.5rem;
}
header nav ul.sub-menu.sub-menu_tel {
  min-width: 33rem;
  right: 0;
  left: auto;
}
header nav ul.sub-menu.sub-menu_tel li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header nav ul.sub-menu.sub-menu_tel li a strong {
  letter-spacing: 0;
  font-size: 1.3rem;
  font-weight: 700;
  color: #185ab2;
  display: inline-block;
  margin-right: 1rem;
}
header nav ul.sub-menu.sub-menu_tel li a span {
  position: relative;
  padding: 0 0 0 2.6rem;
  font-size: 1.8rem;
  font-weight: 700;
}
header nav ul.sub-menu.sub-menu_tel li a span:before {
  font-family: "Material Icons";
  content: "phone";
  color: #185ab2;
  position: absolute;
  left: 0;
  top: -.2rem;
  font-size: 2.2rem;
}
header nav &gt; ul &gt; li {
  display: inline-block;
  position: relative;
  font-size: 1.5rem;
}
header nav .menu-btn a:after {
  display: none;
}
header.scroll {
  background: rgba(255, 255, 255, 0.9);
  height: 9rem;
}
header.scroll .logo {
  width: 36rem;
}
@media (max-width: 1480px) {
  header {
    padding: 0 3rem;
  }
  header .logo {
    width: 30rem;
  }
  header nav ul li {
    margin: 0 0 0 1.6rem;
    font-size: 1.4rem;
  }
  header nav ul li.has-sub &gt; a:after {
    top: -.7rem;
  }
  header.scroll .logo {
    width: 30rem;
  }
}
@media (max-width: 1160px) {
  header {
    height: 8rem;
  }
  header nav {
    display: none;
  }
  header.scroll {
    height: 8rem;
  }
}
@media (max-width: 559px) {
  header {
    padding: 0 2rem;
    height: 6rem;
  }
  header .logo {
    width: 22rem;
  }
  header.scroll {
    height: 6rem;
  }
  header.scroll .logo {
    width: 22rem;
  }
}

#key .container h1 {
  font-size: 3.6rem;
  font-weight: 700;
  text-align: left;
  color: #fff;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 30rem;
}
@media (max-width: 559px) {
  #key .container {
    position: relative;
    z-index: 0;
  }
  #key .container h1 {
    height: 18rem;
    font-size: 2.4rem;
    z-index: 2;
    position: relative;
    text-align: center;
    justify-content: center;
    align-items: center !important;
  }
  #key .container:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
    position: absolute;
    left: 0;
    top: 0;
  }
}

.outer-menu {
  display: none;
}
@media (max-width: 1160px) {
  .outer-menu {
    display: block;
    position: fixed;
    top: 10vh;
    left: 0;
    z-index: 1500;
  }
  .outer-menu .checkbox-toggle {
    position: fixed;
    top: 1.7rem;
    right: 2vw;
    z-index: 2;
    cursor: pointer;
    width: 7.5rem;
    height: 7rem;
    opacity: 0;
    margin: 0;
  }
  .outer-menu .checkbox-toggle:checked + .hamburger &gt; div {
    transform: rotate(135deg);
  }
  .outer-menu .checkbox-toggle:checked + .hamburger &gt; div:before, .outer-menu .checkbox-toggle:checked + .hamburger &gt; div:after {
    top: 0;
    transform: rotate(90deg);
  }
  .outer-menu .checkbox-toggle:checked + .hamburger &gt; div:after {
    opacity: 0;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu {
    pointer-events: auto;
    visibility: visible;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu &gt; div {
    transform: scale(1);
    transition-duration: .75s;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu &gt; div &gt; div {
    opacity: 1;
    transition: opacity .4s ease .4s;
  }
  .outer-menu .checkbox-toggle:checked:hover + .hamburger &gt; div {
    transform: rotate(225deg);
  }
  .outer-menu .hamburger {
    position: fixed;
    top: 0.6rem;
    right: 2vw;
    z-index: 1;
    width: 4rem;
    height: 3.2rem;
    padding: 1.8rem;
    background: none;
    cursor: pointer;
    backface-visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .hamburger &gt; div {
    position: relative;
    flex: none;
    width: 100%;
    height: 2px;
    background: #000;
    transition: all .4s ease;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .hamburger &gt; div:before, .outer-menu .hamburger &gt; div:after {
    content: '';
    position: absolute;
    z-index: 1;
    top: -10px;
    left: 0;
    width: 100%;
    height: 2px;
    background: inherit;
    transition: all .4s ease;
  }
  .outer-menu .hamburger &gt; div:after {
    top: 10px;
  }
  .outer-menu .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    visibility: hidden;
    overflow: hidden;
    backface-visibility: hidden;
    outline: 1px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .menu &gt; div {
    width: 200vw;
    height: 200vw;
    color: #FEFEFE;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 0%;
    transition: all .4s ease;
    flex: none;
    transform: scale(0);
    backface-visibility: hidden;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .menu &gt; div &gt; div {
    text-align: center;
    max-height: 100vh;
    opacity: 0;
    transition: opacity .4s ease;
    overflow-y: auto;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .menu &gt; div &gt; div &gt; ul {
    list-style: none;
    padding: 0 1em;
    margin: 0;
    display: block;
    max-height: 100vh;
  }
  .outer-menu .menu &gt; div &gt; div &gt; ul &gt; li {
    padding: 0;
    text-align: left;
    margin: 0;
    font-size: 2rem;
    color: #000;
    display: block;
    font-weight: 500;
  }
  .outer-menu .menu &gt; div &gt; div &gt; ul &gt; li .title {
    font-weight: 700;
    margin: 2rem 0 0;
    background: #185ab2;
    color: #fff;
    padding: .6rem 2rem .6rem;
    margin: 2rem 0 1rem;
  }
  .outer-menu .menu &gt; div &gt; div &gt; ul &gt; li .s {
    padding: 0 0 0 3rem;
    margin: -.2rem 0 1rem;
  }
  .outer-menu .menu &gt; div &gt; div &gt; ul &gt; li a {
    position: relative;
    display: inline;
    cursor: pointer;
    transition: color .4s ease;
    font-weight: 500;
    text-transform: uppercase;
    color: #000;
    background: url("../img/arrow-blue@2x.webp") no-repeat left top 0.6rem/1.8rem auto;
    padding: 0 0 0 2.8rem;
  }
  .outer-menu .menu &gt; div &gt; div &gt; ul &gt; li a:hover {
    text-decoration: none;
    color: #000;
  }
  .outer-menu .menu &gt; div &gt; div &gt; ul &gt; li a:hover:after {
    width: 100%;
  }
  .outer-menu .menu &gt; div &gt; div &gt; ul &gt; li a:after {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: -0.15em;
    left: 0;
    width: 0;
    height: 2px;
    background: none;
    transition: width .4s ease;
  }
}
@media (max-width: 559px) {
  .outer-menu .checkbox-toggle {
    width: 6rem;
    height: 5rem;
    top: 1rem;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu &gt; div {
    transition-duration: .3s;
  }
  .outer-menu .hamburger {
    width: 3rem;
    padding: 1.4rem;
    top: 0rem;
    right: 2vw;
  }
  .outer-menu .menu &gt; div {
    height: 117vh;
    width: 117vh;
    transition: all .3s ease;
  }
}

footer {
  background: #185ab2;
}
footer .logo {
  text-align: center;
  padding: 7rem 0;
}
footer .container {
  padding-bottom: 7rem;
}
footer .container .wrap {
  display: flex;
  justify-content: space-between;
  column-gap: 4rem;
}
footer .container .wrap .address {
  width: 44%;
}
footer .container .wrap .address dl {
  color: #fff;
  border-bottom: 1px solid #5787c7;
  padding: 2rem 0;
}
footer .container .wrap .address dl dt {
  font-size: 2rem;
  font-weight: 700;
}
footer .container .wrap .address dl:first-of-type {
  padding-top: 0;
}
footer .container .wrap .address dl:last-of-type {
  border-bottom: none;
}
footer .container .wrap .link {
  width: 56%;
}
footer .container .wrap .link a {
  color: #fff;
}
footer .container .wrap .link .wrap {
  column-gap: 3rem;
}
footer .container .wrap .link .wrap .inner {
  min-width: 27rem;
  width: 100%;
  font-size: 1.5rem;
}
footer .container .wrap .link .wrap .inner .link01 a {
  background: #fff;
  color: #185ab2;
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  box-sizing: border-box;
  padding: .4rem 1.6rem .5rem;
  margin: 0 0 1.6rem;
  position: relative;
}
footer .container .wrap .link .wrap .inner .link01 a:after {
  position: absolute;
  width: 1.8rem;
  height: 1.8rem;
  background: url("../img/arrow-blue@2x.webp") no-repeat center top/cover;
  position: absolute;
  right: 1.4rem;
  top: 1.4rem;
  content: "";
}
footer .container .wrap .link .wrap .inner .link02 {
  margin: 0 0 2rem 2rem;
}
footer .container .wrap .link .wrap .inner .link02 a {
  position: relative;
  padding: 0 0 0 2rem;
}
footer .container .wrap .link .wrap .inner .link02 a:before {
  position: absolute;
  width: .5rem;
  height: .8rem;
  background: url("../img/arrow-white_s@2x.webp") no-repeat center top/cover;
  position: absolute;
  left: 0rem;
  top: 1.1rem;
  content: "";
}
footer .container .wrap .link .wrap .inner .link03 a {
  position: relative;
  padding: 0 0 0 2.8rem;
}
footer .container .wrap .link .wrap .inner .link03 a:before {
  position: absolute;
  width: 1.8rem;
  height: 1.8rem;
  background: url("../img/arrow-blue_white@2x.webp") no-repeat center top/cover;
  position: absolute;
  left: 0;
  top: .8rem;
  content: "";
}
footer small {
  background: #fff;
  display: block;
  font-style: normal;
  text-align: center;
  font-size: 1.5rem;
  padding: 2rem 0;
}
@media (max-width: 1160px) {
  footer .logo {
    padding: 5rem 0;
  }
  footer .container {
    padding-bottom: 5rem;
  }
  footer .container .wrap {
    column-gap: 0rem;
    flex-wrap: wrap;
  }
  footer .container .wrap .address {
    width: 100%;
    display: flex;
    justify-content: space-between;
    column-gap: 2rem;
    margin: 0 0 3rem;
  }
  footer .container .wrap .address dl {
    border: 1px solid #5787c7;
    padding: 2rem 3rem;
    width: 33.333333%;
  }
  footer .container .wrap .address dl:first-of-type {
    padding: 2rem 3rem;
  }
  footer .container .wrap .address dl:last-of-type {
    border: 1px solid #5787c7;
  }
  footer .container .wrap .address dl dd {
    line-height: 1.8;
  }
  footer .container .wrap .link {
    width: 100%;
  }
  footer .container .wrap .link .wrap {
    column-gap: 3rem;
    flex-wrap: nowrap;
  }
  footer .container .wrap .link .wrap .inner {
    width: 50%;
  }
}
@media (max-width: 959px) {
  footer .logo {
    padding: 5rem 0 3rem;
  }
  footer .logo img {
    width: 42rem;
  }
  footer .container .wrap .address dl dd a {
    color: #fff;
  }
}
@media (max-width: 559px) {
  footer .logo img {
    width: 65vw;
  }
  footer .container .wrap .address {
    flex-wrap: wrap;
    column-gap: 0;
  }
  footer .container .wrap .address dl {
    width: 100%;
    margin: 0 0 1rem;
  }
  footer .container .wrap .link .wrap {
    flex-wrap: wrap;
    gap: 4rem;
  }
  footer .container .wrap .link .wrap .inner {
    width: 100%;
    font-size: 1.4rem;
  }
  footer .container .wrap .link .wrap .inner .link02 a {
    border-bottom: 1px solid #5787c7;
    display: block;
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  footer .container .wrap .link .wrap .inner .link02 a:before {
    top: 2.1rem;
  }
  footer .container .wrap .link .wrap .inner .link03 a {
    display: block;
    border-bottom: 1px solid #5787c7;
    width: 100%;
    box-sizing: border-box;
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
  }
  footer .container .wrap .link .wrap .inner .link03 a:before {
    top: 2.1rem;
  }
}

#floating {
  position: fixed;
  right: 0;
  top: 15vh;
  z-index: 10;
}
#floating ul {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#floating ul li a {
  background: #185ab2;
  border-radius: 1rem 0 0 1rem;
  writing-mode: vertical-rl;
  letter-spacing: 0;
  font-weight: 700;
  color: #fff;
  padding: 5.2rem 1.5rem 3rem 1.6rem;
  position: relative;
  transition: .3s;
}
#floating ul li a:before {
  font-family: "Material Icons";
  color: #fff;
  font-size: 2.3rem;
  content: "";
  position: absolute;
  top: 2.1rem;
  left: .9rem;
  transform: rotateZ(-90deg);
  font-weight: normal;
}
#floating ul li a:hover {
  background: #0d90db;
}
#floating ul li.fl01 a:before {
  content: "event_available";
}
#floating ul li.fl02 a:before {
  content: "calendar_month";
}
#floating ul li.fl03 a:before {
  content: "description";
}
#floating ul li.green a {
  background: #009488;
}
#floating ul li.green a:hover {
  background: #28bfa0;
}
@media (max-width: 1160px) {
  #floating {
    top: auto;
    bottom: 0;
    width: 100%;
  }
  #floating ul {
    flex-direction: unset;
    gap: 0;
    justify-content: space-between;
  }
  #floating ul li {
    margin: 0;
    width: 100%;
  }
  #floating ul li a {
    writing-mode: horizontal-tb;
    border-radius: 0;
    padding: .6rem 0 1.2rem;
    display: block;
    text-align: center;
    border-left: 1px solid #fff;
  }
  #floating ul li a:before {
    position: relative;
    top: 5px;
    left: -5px;
  }
  #floating ul li.fl01 a {
    border-left: 0;
  }
}
@media (max-width: 559px) {
  #floating ul li a {
    border-left: 0;
    padding: 7vw 0 0;
    font-size: 3vw;
    letter-spacing: 0;
    border-left: 1px solid #fff;
    height: 7vw;
  }
  #floating ul li a:before {
    position: absolute;
    top: 0;
    left: 13vw;
    transform: rotateZ(0deg);
    font-size: 4.5vw;
  }
  #floating ul li.fl01 a {
    border-left: nonr;
  }
}

/* -----------------------------------------
		top
----------------------------------------- */
#mv {
  display: flex;
  justify-content: space-between;
}
#mv div {
  width: 50%;
  min-height: 88rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 6rem 6rem 12rem;
  box-sizing: border-box;
}
#mv div h2 {
  color: #fff;
  font-size: 5.4rem;
  font-weight: 700;
  margin: 0 0 3rem;
  letter-spacing: .4rem;
}
#mv div h2 + p {
  color: #fff;
  width: 70%;
  margin: 0 0 3rem;
}
#mv div.mv-inspection {
  background: url(../img/mv-inspection@2x.webp) no-repeat center top/cover;
}
#mv div.mv-education {
  background: url(../img/mv-education@2x.webp) no-repeat center top/cover;
}
@media (max-width: 1160px) {
  #mv div {
    padding: 6rem 4rem 12rem;
    min-height: 72rem;
  }
  #mv div h2 {
    font-size: 4.4rem;
    margin: 0 0 2rem;
  }
  #mv div h2 + p {
    width: 100%;
    margin: 0 0 2rem;
  }
}
@media (max-width: 559px) {
  #mv {
    flex-wrap: wrap;
  }
  #mv div {
    box-sizing: border-box;
    min-height: auto;
    height: calc(50vh - 3.5vw - 3rem);
    width: 100%;
    padding: 0 3rem;
    justify-content: center;
  }
  #mv div h2 {
    text-align: center;
    font-size: 7vw;
    margin: 0 0 4vw;
  }
  #mv div h2 + p {
    font-size: 1.4rem;
  }
  #mv div .btn-common01 {
    text-align: center;
  }
  #mv div .height-match {
    height: auto !important;
  }
}

#top-news {
  width: 76%;
  background: #fff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  margin: 0 auto;
  padding: 5rem 6rem;
  box-sizing: border-box;
  position: relative;
  top: -7rem;
  z-index: 2;
}
#top-news &gt; .title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  border-bottom: 1px solid #d7d7d7;
  padding: 0 0 4rem;
  margin: 0 0 3rem;
}
#top-news &gt; .title h2 {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 0 7rem 0 0;
}
#top-news &gt; .title nav {
  display: flex;
  justify-content: flex-start;
}
#top-news &gt; .title nav a {
  position: relative;
  margin: 0 .5rem;
}
#top-news &gt; .title nav a:hover {
  font-weight: 700;
}
#top-news &gt; .title nav a:after {
  content: "｜";
  padding: 0 0 0 1rem;
}
#top-news &gt; .title nav a.active {
  font-weight: 700;
}
#top-news &gt; .title .btn-common02 {
  position: absolute;
  right: 0;
}
#top-news.type02 {
  width: 100%;
  box-shadow: none;
  padding: 0;
  top: 0;
}
#top-news.type02 &gt; .title {
  justify-content: space-between;
  border-bottom: none;
  padding: 0;
  margin: 0 0 4rem;
}
#top-news.type02 &gt; .title nav {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
#top-news.type02 &gt; .title nav a {
  border: 2px solid #707070;
  border-radius: 10rem;
  width: 100%;
  font-size: 1.8rem;
  text-align: center;
  min-height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
#top-news.type02 &gt; .title nav a.active {
  background: #707070;
  color: #fff;
}
#top-news.type02 &gt; .title nav a:hover {
  background: #707070;
  color: #fff;
}
#top-news.type02 &gt; .title nav a:after {
  display: none;
}
#top-news.type02 &gt; .title nav a:nth-of-type(2) {
  background: #fff;
  border-color: #185ab2;
  color: #185ab2;
}
#top-news.type02 &gt; .title nav a:nth-of-type(2).active {
  background: #185ab2;
  color: #fff;
}
#top-news.type02 &gt; .title nav a:nth-of-type(2):hover {
  background: #185ab2;
  color: #fff;
}
#top-news.type02 &gt; .title nav a:nth-of-type(3) {
  background: #fff;
  border-color: #009488;
  color: #009488;
}
#top-news.type02 &gt; .title nav a:nth-of-type(3).active {
  background: #009488;
  color: #fff;
}
#top-news.type02 &gt; .title nav a:nth-of-type(3):hover {
  background: #009488;
  color: #fff;
}
#top-news.type02 &gt; .title nav a:nth-of-type(4) {
  background: #fff;
  border-color: #e58304;
  color: #e58304;
}
#top-news.type02 &gt; .title nav a:nth-of-type(4).active {
  background: #e58304;
  color: #fff;
}
#top-news.type02 &gt; .title nav a:nth-of-type(4):hover {
  background: #e58304;
  color: #fff;
}
#top-news.type02 .list-common01 li {
  border-bottom: 1px solid #ddd;
  padding: 1rem 0;
}
@media (max-width: 1160px) {
  #top-news {
    width: 95%;
  }
}
@media (max-width: 559px) {
  #top-news {
    width: calc(100% - 4rem);
    margin: 0 2rem;
    box-sizing: border-box;
    padding: 4rem 2rem 2rem;
    top: 2rem;
  }
  #top-news &gt; .title {
    flex-direction: column;
    border: none;
    margin: 0;
    padding: 0;
  }
  #top-news &gt; .title h2 {
    width: 100%;
    text-align: center;
    margin: 0 0 7rem;
  }
  #top-news &gt; .title nav {
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
    margin: 0 0 1rem;
  }
  #top-news &gt; .title nav a {
    width: 49%;
    margin: 0 0 2%;
    background: #f2f2f2;
    border-radius: .5rem;
    padding: .8rem 0;
    text-align: center;
  }
  #top-news &gt; .title nav a.active {
    color: #fff;
  }
  #top-news &gt; .title nav a:nth-of-type(1).active {
    background: #707070;
  }
  #top-news &gt; .title nav a:nth-of-type(2).active {
    background: #185ab2;
  }
  #top-news &gt; .title nav a:nth-of-type(3).active {
    background: #009488;
  }
  #top-news &gt; .title nav a:nth-of-type(4).active {
    background: #e58304;
  }
  #top-news &gt; .title nav a:after {
    display: none;
  }
  #top-news &gt; .title .btn-common02 {
    right: auto;
    left: 50%;
    margin-left: -6.8rem;
    top: 4rem;
  }
  #top-news.type02 {
    margin: 0;
  }
  #top-news.type02 &gt; .title {
    margin: 0 0 1rem;
  }
  #top-news.type02 &gt; .title nav a {
    min-height: 5rem;
    font-size: 1.5rem;
    width: 49%;
  }
  #top-news.type02 .list-common01 li .title {
    margin: .6rem 0 0;
    width: 100%;
  }
}

#top-intro {
  background: #f7f7f7;
  clip-path: polygon(0 17rem, 100% 0, 100% 100%, 0% 100%);
  position: relative;
  margin-top: -22rem;
  z-index: 1;
  padding: 20rem 0 10rem;
}
#top-intro section {
  padding: 6rem 0;
}
#top-intro section .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#top-intro section .wrap .img {
  width: 67rem;
  position: relative;
}
#top-intro section .wrap .img img {
  position: relative;
  z-index: 1;
}
#top-intro section .wrap .img:before {
  width: 100%;
  height: 80%;
  z-index: 1;
  position: absolute;
  left: -3rem;
  bottom: -2rem;
  content: "";
  background: #185ab2;
}
#top-intro section .wrap .text {
  flex: 1;
  width: 100%;
  padding: 0 0 0 8rem;
}
#top-intro section .wrap .text h2 {
  font-size: 4rem;
  margin: 0 0 4rem;
  letter-spacing: .1rem;
  position: relative;
  padding: 0 0 0 4rem;
  line-height: 1.4;
}
#top-intro section .wrap .text h2:before {
  width: 1.8rem;
  height: .9rem;
  background: #185ab2;
  content: "";
  position: absolute;
  left: 0;
  top: 2.6rem;
}
#top-intro section .wrap .text h3 {
  color: #185ab2;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.8;
  margin: 0 0 2.2rem;
}
#top-intro section .wrap .text h3 + p {
  margin: 0 0 3rem;
}
#top-intro section#intro-inspection .wrap .img {
  order: 2;
  margin: 0 0 0 10rem;
}
#top-intro section#intro-education .wrap .img {
  order: 1;
  margin: 0;
}
#top-intro section#intro-education .wrap .img:before {
  left: auto;
  right: -3rem;
  bottom: -2rem;
  content: "";
  background: #009488;
}
#top-intro section#intro-education .wrap .text {
  order: 2;
  padding-right: 10rem;
}
#top-intro section#intro-education .wrap .text h2:before {
  background: #009488;
}
#top-intro section#intro-education .wrap .text h3 {
  color: #009488;
}
@media (max-width: 1160px) {
  #top-intro section .wrap {
    align-items: flex-start;
  }
  #top-intro section .wrap .img {
    width: 40rem;
  }
  #top-intro section .wrap .text {
    padding: 0 0 0 5rem;
  }
  #top-intro section .wrap .text h2 {
    font-size: 3rem;
    margin: 0 0 3rem;
    line-height: 1.4;
    letter-spacing: 0;
  }
  #top-intro section .wrap .text h2:before {
    top: 1.7rem;
  }
  #top-intro section .wrap .text h3 {
    margin: 0 0 1.2rem;
  }
  #top-intro section#intro-education .wrap .text {
    padding: 0 5rem 0 9rem;
  }
}
@media (max-width: 559px) {
  #top-intro {
    padding: 22rem 0 6rem;
  }
  #top-intro section {
    padding: 0 2rem;
  }
  #top-intro section .wrap {
    flex-wrap: wrap;
  }
  #top-intro section .wrap .img {
    order: 1 !important;
    margin: 0 0 5rem;
    width: 100%;
  }
  #top-intro section .wrap .img:before {
    left: -2rem;
    bottom: -1rem;
  }
  #top-intro section .wrap .text {
    order: 2;
    padding: 0;
  }
  #top-intro section .wrap .text h2 {
    font-size: 2.4rem;
    margin: 0 0 2rem;
    padding: 0 0 0 2.6rem;
  }
  #top-intro section .wrap .text h2:before {
    top: 1.3rem;
  }
  #top-intro section .wrap .text h3 {
    font-size: 1.8rem;
  }
  #top-intro section#intro-inspection {
    margin: 0 0 5rem;
  }
  #top-intro section#intro-inspection .wrap .img {
    order: 1 !important;
    margin: 0 0 5rem;
    width: 100%;
  }
  #top-intro section#intro-education .wrap .img {
    order: 1 !important;
    margin: 0 0 5rem;
    width: 100%;
  }
  #top-intro section#intro-education .wrap .img:before {
    right: -2rem;
    bottom: -1rem;
  }
  #top-intro section#intro-education .wrap .text {
    padding: 0;
  }
}

/* -----------------------------------------
		sub
----------------------------------------- */
#news article {
  margin: 0 0 8rem;
}
#news article .data {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
  margin: 0 0 2rem;
}
#news article h1 {
  font-size: 2.4rem;
  font-weight: 700;
  padding: 0 0 3rem;
  margin: 0 0 3rem;
  border-bottom: 1px solid #ddd;
}
#news article .content p {
  margin: 0 0 2rem;
}
#news article .content h2 {
  background: #185ab2;
  font-size: 2rem;
  color: #fff;
  padding: 1.8rem 2rem 2rem;
  margin: 4rem 0 1rem;
}
#news article .content h3 {
  border-left: 5px solid #185ab2;
  padding: 1rem 0 1.6rem 2rem;
  border-bottom: 1px solid #ddd;
  margin: 0 0 1rem;
}
#news article.news_category-news_cat02 .content h2 {
  background: #009488;
}
#news article.news_category-news_cat02 .content h3 {
  border-left-color: #009488;
}
#news article.news_category-news_cat03 .content h2 {
  background: #e58304;
}
#news article.news_category-news_cat03 .content h3 {
  border-left-color: #e58304;
}

.wpcf7-form .wpcf7-list-item {
  margin: 0 2rem 0 0;
}
.wpcf7-form .wpcf7-list-item input[type='radio'] {
  margin: 0;
  position: relative;
  top: -.1rem;
}
.wpcf7-form input[type='text'],
.wpcf7-form input[type='email'],
.wpcf7-form input[type='tel'],
.wpcf7-form textarea {
  width: 100%;
  box-sizing: border-box;
  border-radius: .5rem;
  border: 1px solid #d8d8d8;
  padding: 1rem 1.6rem;
}
.wpcf7-form input[type='text'].size-s,
.wpcf7-form input[type='email'].size-s,
.wpcf7-form input[type='tel'].size-s,
.wpcf7-form textarea.size-s {
  width: 40%;
}
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
  color: #d8d8d8;
}
.wpcf7-form .wpcf7-spinner {
  position: absolute;
}
.wpcf7-form .wpcf7-submit {
  padding: 0 4rem .2rem;
  font-size: 2rem;
  font-weight: 700;
  min-height: 7rem;
  min-width: 40rem;
  cursor: pointer;
  text-align: center;
  display: inline-block;
}
.wpcf7-form .wpcf7-submit:disabled {
  background: #ddd;
  border-color: #ddd;
  color: #fff;
}
.wpcf7-form .wpcf7-submit:disabled:hover {
  color: #fff;
  background: #ddd;
}
.wpcf7-form .check {
  margin: 0 0 3rem;
}
.wpcf7-form .check a {
  text-decoration: underline;
  position: relative;
  padding: 0 2.1rem 0 0;
  margin: 0 .4rem 0 0;
}
.wpcf7-form .check a:after {
  content: "open_in_new";
  font-family: "Material Icons";
  position: absolute;
  right: 0;
  top: .1rem;
  font-size: 1.6rem;
  font-weight: 300;
  color: #185ab2;
}
.wpcf7-form .check a:hover {
  text-decoration: none;
}
@media (max-width: 559px) {
  .wpcf7-form .wpcf7-submit {
    min-width: 100%;
  }
}

@media (max-width: 559px) {
  #thanks .contentBox01 p {
    text-align: left;
    padding: 0 2rem;
  }
}
</pre></body></html>