@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: #615959; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

th {
  font-weight: normal; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select, textarea, img {
  vertical-align: middle; }

ul, dl, ol {
  list-style: none; }

*:focus {
  outline: none; }

.fs70 {
  font-size: 70% !important; }

.fs80 {
  font-size: 80% !important; }

.fs90 {
  font-size: 90% !important; }

.fs100 {
  font-size: 100% !important; }

.fs110 {
  font-size: 110% !important; }

.fs120 {
  font-size: 120% !important; }

.fs130 {
  font-size: 130% !important; }

.fs140 {
  font-size: 140% !important; }

.fs150 {
  font-size: 150% !important; }

.fs160 {
  font-size: 160% !important; }

.fs170 {
  font-size: 170% !important; }

.fs180 {
  font-size: 180% !important; }

.fs190 {
  font-size: 190% !important; }

.fs200 {
  font-size: 200% !important; }

.fs300 {
  font-size: 300% !important; }

.fs400 {
  font-size: 400% !important; }

.b {
  font-weight: 700; }

.u {
  text-decoration: underline; }

.del {
  text-decoration: line-through; }

.red {
  color: #d7535e !important; }

.blue {
  color: #4575dd !important; }

.green {
  color: #38bf9e !important; }

.orange {
  color: #e17514 !important; }

.gray {
  color: #f2f2f2 !important; }

.bold {
  font-weight: bold !important; }

.center {
  text-align: center !important; }

.right {
  text-align: right !important; }

.left {
  text-align: left !important; }

.floatR {
  float: right;
  margin: 0 0 1em 1em; }

.floatL {
  float: left;
  margin: 0 1em 1em 0; }

.clear {
  clear: both; }

a img.fade {
  background: none !important;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s; }

a:hover img.fade {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
  background: none !important; }

.att {
  padding-left: 1em;
  text-indent: -1em; }

.att_box {
  margin: 2em 0 2.5em;
  padding: 1em 1.2em;
  line-height: 2.0;
  border: 1px dotted #cccccc;
  background: #fcfcfc;
  box-shadow: 0px 4px 0px 0px #f7f7f7; }

/* テキストボックス */
.mb0em {
  margin-bottom: 0em !important; }

.mb05em {
  margin-bottom: .5em !important; }

.mb1em {
  margin-bottom: 1em !important; }

.mb2em {
  margin-bottom: 2em !important; }

.mb3em {
  margin-bottom: 3em !important; }

.mb4em {
  margin-bottom: 4em !important; }

.mb5em {
  margin-bottom: 5em !important; }

.pt0em {
  padding-top: 0em !important; }

.pt1em {
  padding-top: 1em !important; }

.pt2em {
  padding-top: 2em !important; }

.pt3em {
  padding-top: 3em !important; }

.pt4em {
  padding-top: 4em !important; }

.pt5em {
  padding-top: 5em !important; }

.p3vw {
  padding: 3vw 0 !important; }

.m0 {
  margin: 0 !important; }

.mt0 {
  margin-top: 0 !important; }

.mr0 {
  margin-right: 0 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.ml0 {
  margin-left: 0 !important; }

.m5 {
  margin: 5px !important; }

.mt5 {
  margin-top: 5px !important; }

.mr5 {
  margin-right: 5px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.ml5 {
  margin-left: 5px !important; }

.m10 {
  margin: 10px !important; }

.mt10 {
  margin-top: 10px !important; }

.mr10 {
  margin-right: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.ml10 {
  margin-left: 10px !important; }

.m15 {
  margin: 15px !important; }

.mt15 {
  margin-top: 15px !important; }

.mr15 {
  margin-right: 15px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.ml15 {
  margin-left: 15px !important; }

.m20 {
  margin: 20px !important; }

.mt20 {
  margin-top: 20px !important; }

.mr20 {
  margin-right: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.ml20 {
  margin-left: 20px !important; }

.m25 {
  margin: 25px !important; }

.mt25 {
  margin-top: 25px !important; }

.mr25 {
  margin-right: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.ml25 {
  margin-left: 25px !important; }

.m30 {
  margin: 30px !important; }

.mt30 {
  margin-top: 30px !important; }

.mr30 {
  margin-right: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.ml30 {
  margin-left: 30px !important; }

.m35 {
  margin: 35px !important; }

.mt35 {
  margin-top: 35px !important; }

.mr35 {
  margin-right: 35px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.ml35 {
  margin-left: 35px !important; }

.m40 {
  margin: 40px !important; }

.mt40 {
  margin-top: 40px !important; }

.mr40 {
  margin-right: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.ml40 {
  margin-left: 40px !important; }

.m45 {
  margin: 45px !important; }

.mt45 {
  margin-top: 45px !important; }

.mr45 {
  margin-right: 45px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.ml45 {
  margin-left: 45px !important; }

.m50 {
  margin: 50px !important; }

.mt50 {
  margin-top: 50px !important; }

.mr50 {
  margin-right: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.ml50 {
  margin-left: 50px !important; }

.m55 {
  margin: 55px !important; }

.mt55 {
  margin-top: 55px !important; }

.mr55 {
  margin-right: 55px !important; }

.mb55 {
  margin-bottom: 55px !important; }

.m60 {
  margin: 60px !important; }

.mt60 {
  margin-top: 60px !important; }

.mr60 {
  margin-right: 60px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.ml60 {
  margin-left: 60px !important; }

.m65 {
  margin: 65px !important; }

.mt65 {
  margin-top: 65px !important; }

.mr65 {
  margin-right: 65px !important; }

.mb65 {
  margin-bottom: 65px !important; }

.ml65 {
  margin-left: 65px !important; }

.m70 {
  margin: 70px !important; }

.mr70 {
  margin-right: 70px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.ml70 {
  margin-left: 70px !important; }

.m75 {
  margin: 75px !important; }

.mt75 {
  margin-top: 75px !important; }

.mr75 {
  margin-right: 75px !important; }

.mb75 {
  margin-bottom: 75px !important; }

.ml75 {
  margin-left: 75px !important; }

.m80 {
  margin: 80px !important; }

.mt80 {
  margin-top: 80px !important; }

.mr80 {
  margin-right: 80px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.ml80 {
  margin-left: 80px !important; }

.p0 {
  padding: 0 !important; }

.pt0 {
  padding-top: 0 !important; }

.pr0 {
  padding-right: 0 !important; }

.pb0 {
  padding-bottom: 0 !important; }

.pl0 {
  padding-left: 0 !important; }

.p5 {
  padding: 5px !important; }

.pt5 {
  padding-top: 5px !important; }

.pr5 {
  padding-right: 5px !important; }

.pb5 {
  padding-bottom: 5px !important; }

.pl5 {
  padding-left: 5px !important; }

.p10 {
  padding: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.pr40 {
  padding-right: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.w70 {
  width: 70px !important; }

.w290 {
  width: 290px !important; }

.w440 {
  width: 100%;
  max-width: 440px !important; }

.w682 {
  width: 100%;
  max-width: 682px !important; }

.w710 {
  width: 720px !important; }

.w20p {
  width: 20% !important; }

.w30p {
  width: 30% !important; }

.w40p {
  width: 40% !important; }

.w50p {
  width: 50% !important; }

.w60p {
  width: 60% !important; }

.w70p {
  width: 70% !important; }

.w80p {
  width: 80% !important; }

.w90p {
  width: 90% !important; }

.w100p {
  width: 100% !important; }

/* 共通設定
----------------------------- */
body {
  position: relative;
  font-family: "Noto Sans JP", "YuGothic", "Customized Yu Gothic", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 20px;
  font-weight: normal;
  line-height: 1.2;
  color: #282C34; }

img {
  width: auto;
  max-width: 100%;
  height: auto; }
  img.b_radius {
    border-radius: 30px; }

sup {
  font-size: 70%;
  display: inline-block;
  vertical-align: top; }

sub {
  font-size: 70%;
  display: inline-block;
  vertical-align: bottom; }

strong {
  font-weight: bold;
  color: #00C2E5; }

b {
  color: #3cb46e; }

.spi, .spb, .spt {
  display: none; }

.pci {
  display: inline; }

.pcb {
  display: block; }

.pct {
  display: table; }

@media (max-width: 768px) {
  .pci, .pcb, .pct {
    display: none; }

  .spi {
    display: inline; }

  .spb {
    display: block; }

  .spt {
    display: table; } }
.pdl-br {
  padding-left: .5em;
  display: inline-block; }

@media (max-width: 850px) {
  .pdl-br {
    padding-left: 0;
    display: block; } }
a {
  color: #282C34;
  text-decoration: none; }

a.external::after {
  content: url(../img/icon_window.png);
  margin-left: .5em; }

a[href^="tel:"], .medicalList a {
  text-decoration: none;
  color: #00C2E5; }

header a[target^="_blank"]::after {
  content: url(../img/windowb.png);
  margin-left: .5em; }

hr {
  border: none;
  border-top: 1px solid #bfbfbf; }

.fixed {
  position: fixed;
  width: 100%;
  height: 100%; }

.grid {
  display: grid;
  gap: 60px; }
  .grid.place_item_end {
    place-items: end center; }
  .grid + .grid {
    margin-top: 40px; }
  .grid + .fig {
    margin-top: 40px; }
  .grid + .text__link {
    margin-top: 120px; }

.col-1 {
  grid-template-columns: repeat(1, 1fr); }

.col-3 {
  grid-template-columns: repeat(3, 1fr); }

.col-1_2 {
  grid-template-columns: 1fr 1fr; }

.col-1_3 {
  grid-template-columns: 1fr 2fr; }

.col-1_6 {
  grid-template-columns: 1fr 5fr; }

.col-2_3 {
  grid-template-columns: 2fr 1fr; }

.col-1_4 {
  grid-template-columns: 1fr 3fr; }

.col-3_4 {
  grid-template-columns: 3fr 1fr; }

.col-3_5 {
  grid-template-columns: 3fr 2fr; }

.flex {
  display: flex; }
  .flex.align_items_end {
    align-items: end; }
  .flex.justify-content_around {
    justify-content: space-around; }

blockquote {
  margin-left: 1.3em; }

section {
  line-height: 1.78; }

.fss {
  font-size: 70%; }

.fsl {
  font-size: 120%; }

.gr {
  color: #38bf9e; }

.under {
  text-decoration: underline; }

.text {
  line-height: 1.78; }
  .text + .text {
    margin-top: 20px; }
  .text + h3 {
    margin-top: 80px; }

.text__link {
  text-align: center; }
  .text__link a {
    position: relative;
    transition: all .7s;
    padding: 8px 40px;
    border-bottom: solid 1px #00C2E5;
    font-size: 30px;
    color: #00C2E5; }
    .text__link a span {
      transition: all .7s;
      position: absolute;
      right: 10px;
      top: 50%;
      transform: translateY(-50%);
      display: inline-block;
      width: 14px;
      height: 25px;
      content: '';
      background-image: url(../img/icon_right-arrow-blue.png);
      background-size: contain;
      vertical-align: middle; }
    .text__link a::after {
      content: '';
      position: absolute;
      z-index: -1;
      bottom: 0;
      left: 0;
      width: 0;
      height: 1px;
      background: #00C2E5;
      opacity: 0; }

.link__button {
  text-align: center;
  width: 100%;
  position: absolute;
  bottom: 0; }
  .link__button a {
    display: block;
    position: relative;
    transition: all .7s;
    padding: 3px 10px 3px;
    border: solid 1px #00C2E5;
    border-radius: 0px 30px 0px 30px;
    font-size: 26px;
    color: #00C2E5; }
    .link__button a span {
      transition: all .7s;
      position: absolute;
      right: 20px;
      top: 50%;
      transform: translateY(-50%);
      display: inline-block;
      width: 14px;
      height: 25px;
      content: '';
      background-image: url(../img/icon_right-arrow-blue.png);
      background-size: contain;
      vertical-align: middle; }

.fig {
  text-align: center; }
  .fig.left {
    text-align: left; }
  .fig .cap {
    font-size: 14px; }
  .fig + .text {
    margin-top: 80px; }
  .fig + .grid {
    margin-top: 80px; }
  .fig + h4 {
    margin-top: 40px; }
  .fig + .exp_box {
    margin-top: 80px; }

#home .text__link a {
  padding: 8px 180px; }

@keyframes bgappear {
  0% {
    width: 100%;
    height: 1px; }
  100% {
    width: 100%;
    height: 100%;
    background: #00C2E5; } }
.blinking {
  -webkit-animation: blink 1.5s ease-in-out infinite alternate;
  -moz-animation: blink 1.5s ease-in-out infinite alternate;
  animation: blink 1.5s ease-in-out infinite alternate; }

@-webkit-keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-moz-keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes blink {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
#totop {
  width: 9.375vw;
  height: 9.375vw;
  max-width: 60px;
  max-height: 60px;
  min-width: 40px;
  min-height: 40px;
  position: absolute;
  border: 2px solid #00C2E5;
  border-radius: 5px;
  bottom: 10px;
  right: 10px;
  z-index: 100;
  background: #fff;
  box-shadow: 0 1px 3px #447395; }
  #totop a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    text-decoration: none;
    text-align: center; }
    #totop a::after {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      display: inline-block;
      width: 30px;
      height: 17px;
      content: '';
      background-image: url(../img/icon_up-arrow-blue.png);
      background-size: contain;
      vertical-align: middle; }

header {
  width: 100%;
  overflow: hidden;
  background: #fff;
  padding: 20px;
  position: fixed;
  top: 0;
  transition: .5s;
  z-index: 20; }
  header h1 img {
    width: 523px; }
  header .hamburger-wrap {
    display: none; }
    header .hamburger-wrap .hamburger--btn {
      position: relative;
      display: flex;
      float: right;
      height: 58px;
      width: 58px;
      justify-content: center;
      align-items: center;
      cursor: pointer; }
      header .hamburger-wrap .hamburger--btn span {
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 9px;
        height: 3px;
        border-radius: 2px;
        background: #000; }
        header .hamburger-wrap .hamburger--btn span:nth-of-type(1) {
          top: 10px;
          width: 70%; }
        header .hamburger-wrap .hamburger--btn span:nth-of-type(2) {
          top: 21px;
          width: 70%; }
        header .hamburger-wrap .hamburger--btn span:nth-of-type(3) {
          top: 32px;
          width: 70%; }
        header .hamburger-wrap .hamburger--btn span:nth-of-type(4) {
          top: 40px;
          left: 11px;
          height: 0;
          color: #000;
          font-size: 14px; }
      header .hamburger-wrap .hamburger--btn.active span:nth-of-type(1) {
        top: 22px;
        left: 10px;
        transform: translateY(6px) rotate(-135deg);
        width: 70%; }
      header .hamburger-wrap .hamburger--btn.active span:nth-of-type(2) {
        opacity: 0; }
      header .hamburger-wrap .hamburger--btn.active span:nth-of-type(3) {
        top: 34px;
        left: 10px;
        transform: translateY(-6px) rotate(135deg);
        width: 70%; }
      header .hamburger-wrap .hamburger--btn.active span:nth-of-type(4) {
        display: none; }
  header.hide {
    transform: translateY(-100%); }
  header .inner {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: #fff;
    display: flex;
    flex-direction: column;
    font-size: 20px;
    justify-content: center;
    align-items: center;
    max-width: 1600px; }
    header .inner .u-row_nav {
      margin-bottom: 20px; }
    header .inner .l-col_navi {
      width: 80%;
      display: flex; }
    header .inner .exlink {
      text-align: right;
      margin-bottom: 15px; }
  header ul.gnav {
    width: 80%;
    display: flex;
    margin: 0;
    justify-content: space-between;
    align-items: center; }
    header ul.gnav > li {
      position: relative;
      padding: 0 8px; }
      header ul.gnav > li:not(.contact) > a {
        position: relative;
        display: inline-block;
        padding: 0 5px;
        font-size: 24px;
        text-decoration: none; }
        header ul.gnav > li:not(.contact) > a::before {
          position: absolute;
          bottom: -8px;
          left: 0;
          content: '';
          width: 100%;
          height: 1px;
          background: #282C34;
          transform: scale(0, 1);
          transform-origin: left top;
          transition: transform .3s; }
      header ul.gnav > li.current a::before {
        transform: scale(1, 1);
        transform-origin: unset;
        transition: none; }
      header ul.gnav > li.contact {
        display: inline-flex;
        padding: 0; }
        header ul.gnav > li.contact > a {
          transition: all .35s ease-Out;
          padding: 3px 40px 4px;
          background: #00C2E5;
          border: 1px solid #00C2E5;
          border-radius: 20px;
          font-size: 24px;
          color: #fff; }
  header ul.lang {
    width: 20%;
    display: flex;
    justify-content: center;
    align-items: center; }
    header ul.lang li a {
      width: 35px;
      display: block;
      transition: all .35s ease-Out;
      padding: 3px 10px 4px;
      border: 2px solid #00C2E5;
      border-radius: 20px;
      text-align: center;
      font-size: 24px;
      color: #00C2E5; }
    header ul.lang li + li {
      margin-left: 10px; }
    header ul.lang li.current a {
      border: 2px solid #C8C8C8;
      color: #C8C8C8;
      pointer-events: none; }
  header .menu-background {
    position: fixed;
    top: 0;
    left: 0;
    content: "";
    display: block;
    width: 0;
    height: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 2;
    opacity: 0;
    transition: opacity 0.5s; }
    header .menu-background.open {
      width: 100%;
      height: 100vh;
      opacity: 1; }
  header.line {
    border-bottom: solid 15px #BFD800; }

.inner {
  width: 100%;
  max-width: 1500px;
  padding: 0 10px;
  margin: 0 auto; }
  .inner + .inner {
    margin-top: 60px; }

#wrap {
  margin-top: 210.8px; }
  #wrap .breadcrumbs-nav {
    width: 100%;
    margin-top: 15px; }
    #wrap .breadcrumbs-nav ul {
      max-width: 1200px;
      margin: 0 auto;
      padding-left: 20px;
      padding-right: 20px;
      display: flex;
      font-size: 13px; }
      #wrap .breadcrumbs-nav ul li {
        margin-right: 8px;
        font-size: 13px;
        padding-left: 1.2em;
        text-indent: -1.2em; }
        #wrap .breadcrumbs-nav ul li a {
          color: #000; }
          #wrap .breadcrumbs-nav ul li a:hover {
            text-decoration: underline;
            opacity: 1; }
        #wrap .breadcrumbs-nav ul li + li::before {
          content: "\f054";
          font-family: "FontAwesome";
          color: #00C2E5;
          margin-right: 0;
          font-weight: 900;
          color: #000;
          font-weight: normal;
          margin-right: 8px;
          font-size: 10px; }
  #wrap .fs_ttl {
    margin-top: 10px;
    text-align: center;
    font-size: 42px;
    line-height: 1.6em; }
    #wrap .fs_ttl + .fs_lead {
      margin-top: 40px; }
  #wrap .fs_lead {
    text-align: center;
    font-size: 24px;
    line-height: 2em; }
    #wrap .fs_lead + .text__link {
      margin-top: 80px; }
  #wrap section {
    padding: 50px .5em;
    overflow: hidden; }
    #wrap section p + p {
      margin-top: 1em; }
    #wrap section h2 {
      color: #282C34;
      font-size: 48px;
      font-weight: bold;
      text-align: center;
      margin-bottom: 40px; }
    #wrap section h3 {
      color: #282C34;
      font-size: 36px;
      margin-bottom: 20px;
      text-align: left;
      font-weight: bold;
      line-height: 1.2em; }
    #wrap section h4 {
      color: #282C34;
      font-size: 28px;
      margin-bottom: 10px;
      text-align: left;
      font-weight: bold; }
    #wrap section.sec_wrap {
      width: 100%;
      max-width: 1500px;
      overflow: visible;
      position: relative;
      --bg-gradient: linear-gradient(#BFD800 0 100%);
      margin: 180px auto 0;
      padding: 4.4rem 0 0 3.8rem;
      background-image: var(--bg-gradient), var(--bg-gradient), var(--bg-gradient), var(--bg-gradient);
      background-repeat: no-repeat;
      background-size: 100% 1px, 1px 100%;
      background-position: left top 70px, left 60px top; }
      #wrap section.sec_wrap .inner {
        padding: 80px 40px 80px 50px; }
      #wrap section.sec_wrap .grid + .grid {
        margin-top: 120px; }
      #wrap section.sec_wrap .grid + .text {
        margin-top: 80px; }
      #wrap section.sec_wrap .grid + h3 {
        margin-top: 80px; }
      #wrap section.sec_wrap .grid + h4 {
        margin-top: 80px; }
      #wrap section.sec_wrap .text + .grid {
        margin-top: 80px; }
      #wrap section.sec_wrap h2 {
        position: absolute;
        top: -.2em;
        text-align: left;
        font-weight: normal; }
      #wrap section.sec_wrap h3 {
        text-indent: -1.5em;
        font-weight: normal; }
        #wrap section.sec_wrap h3::before {
          content: "ー";
          padding-right: .3em;
          color: #BFD800; }
        #wrap section.sec_wrap h3 + .grid {
          margin-top: 60px; }
        #wrap section.sec_wrap h3.border {
          padding: 5px 0 10px 20px;
          text-indent: unset;
          border-bottom: 1px solid #BFD800;
          border-left: 10px solid #BFD800; }
          #wrap section.sec_wrap h3.border::before {
            content: none; }
          #wrap section.sec_wrap h3.border + .text {
            margin-top: 40px; }
      #wrap section.sec_wrap h4 {
        font-weight: normal; }
        #wrap section.sec_wrap h4 + .grid {
          margin-top: 40px; }
        #wrap section.sec_wrap h4 + h3 {
          margin-top: 80px; }
      #wrap section.sec_wrap .content_body {
        position: relative; }
      #wrap section.sec_wrap.r-type {
        padding: 4.5rem 0 0 3.9rem; }
        #wrap section.sec_wrap.r-type h2 {
          color: #BFD800; }
        #wrap section.sec_wrap.r-type h3 {
          padding-left: 2em;
          text-indent: -2em; }
          #wrap section.sec_wrap.r-type h3 .question {
            font-family: "Arial", "Helvetica", sans-serif;
            color: #BFD800;
            font-size: 48px; }
          #wrap section.sec_wrap.r-type h3 + .grid {
            margin-top: 30px; }
          #wrap section.sec_wrap.r-type h3::before {
            content: none; }
        #wrap section.sec_wrap.r-type .qa_comment .fig + .text {
          margin-top: 0; }
    #wrap section.bg_wrap {
      width: 100%;
      margin: 180px auto 0;
      padding: 50px 7vw;
      max-width: 1500px;
      background: #E2E5CA; }
      #wrap section.bg_wrap h2 {
        font-weight: normal; }
  #wrap .hero__content {
    margin: 0 auto;
    max-width: 1924px; }
  #wrap .main__content {
    width: 90%;
    max-width: 1750px;
    position: relative;
    left: 5%;
    --bg-gradient: linear-gradient(#BFD800 0 100%);
    margin: 0 auto;
    padding: 0 0 1.3rem 3.8rem;
    background-image: var(--bg-gradient), var(--bg-gradient), var(--bg-gradient), var(--bg-gradient);
    background-repeat: no-repeat;
    background-size: 0, 1px 100%, 100% 1px;
    background-position: left bottom 20px, left 59px top; }
    #wrap .main__content .main__text {
      position: absolute;
      top: 50%;
      left: 5rem;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%); }
      #wrap .main__content .main__text h1 {
        font-size: 52px;
        text-shadow: 2px 2px 2px #FFF, -2px 2px 2px #fff, 2px -2px 2px #fff, -2px -2px 2px #fff; }
        #wrap .main__content .main__text h1 .en {
          display: block;
          margin-top: 10px;
          font-size: 30px;
          font-weight: bold;
          color: #BFD800; }
      #wrap .main__content .main__text.img__none {
        position: static;
        transform: none;
        -webkit-transform: none;
        -ms-transform: none; }
        #wrap .main__content .main__text.img__none h1 {
          padding: 60px 2rem 30px; }
    #wrap .main__content + .inner {
      margin-top: 60px; }
  #wrap .anchor_link {
    margin-top: 80px; }
    #wrap .anchor_link .text__link a {
      display: block; }
      #wrap .anchor_link .text__link a span {
        width: 27px;
        height: 15px;
        background-image: url(../img/icon_down-arrow-blue.png); }
  #wrap .related__link {
    margin-top: 100px; }
    #wrap .related__link .inner {
      padding: 0 20px; }
      #wrap .related__link .inner .related_wrap {
        padding: 20px;
        border: solid 1px #00C2E5;
        border-radius: 40px;
        box-shadow: 10px 10px 3px -5px #b1bdbf, -10px 10px 3px -5px #b1bdbf; }
        #wrap .related__link .inner .related_wrap h3 {
          font-size: 34px; }
        #wrap .related__link .inner .related_wrap .grid {
          margin-top: 35px;
          gap: 20px; }
          #wrap .related__link .inner .related_wrap .grid .text__link a {
            display: block; }
            #wrap .related__link .inner .related_wrap .grid .text__link a span {
              width: 14px;
              height: 25px;
              background-image: url(../img/icon_right-arrow-blue.png); }
  #wrap .contact__link {
    margin-top: 100px; }
    #wrap .contact__link .inner {
      padding: 0 20px; }
      #wrap .contact__link .inner .contact_wrap {
        padding: 50px 30px;
        border: solid 3px #00C2E5;
        border-radius: 40px;
        background: linear-gradient(to bottom, #B8E6EF, #fff);
        box-shadow: 7px 7px 3px -5px #b1bdbf, -7px 7px 3px -5px #b1bdbf; }
        #wrap .contact__link .inner .contact_wrap .grid {
          gap: 20px; }
          #wrap .contact__link .inner .contact_wrap .grid .text__link a {
            display: block;
            padding: 0; }
        #wrap .contact__link .inner .contact_wrap .contact_text {
          margin-top: 50px;
          text-align: center;
          text-indent: -9em;
          padding-left: 9em; }
          #wrap .contact__link .inner .contact_wrap .contact_text span {
            margin-right: 4em; }
  #wrap ul.list {
    list-style-type: disc;
    padding-left: 1.5em; }
  #wrap ul.link_list li:not(:first-child) {
    margin-top: 10px; }
  #wrap ul.link_list li a {
    padding: 0 5px;
    border-bottom: 1px solid; }
    #wrap ul.link_list li a::after {
      content: "\f105";
      font-family: "FontAwesome";
      color: #000;
      margin-right: 0;
      font-weight: 900;
      display: inline-block;
      font-size: 18px;
      margin-left: 0.5em; }
  #wrap ul.link_list li a[target^="_blank"]::after {
    content: "\f08e"; }
  #wrap ul.link_list li a.pdf {
    border-bottom: none;
    color: #4575dd; }
    #wrap ul.link_list li a.pdf::after {
      content: "\f1c1";
      color: #4575dd; }
  #wrap ul.link_list li ul.link_list {
    margin-top: 10px;
    margin-left: 3em; }
  #wrap ul.link_list.related {
    margin-top: 10px;
    text-align: right; }
    #wrap ul.link_list.related li a {
      border-bottom: none;
      color: #4575dd; }
      #wrap ul.link_list.related li a::after {
        color: #4575dd; }
  #wrap ul.link_list.inline-b {
    margin-bottom: 40px; }
    #wrap ul.link_list.inline-b li {
      display: inline-block;
      margin-top: 0; }
      #wrap ul.link_list.inline-b li:not(:last-child) {
        margin-right: 20px; }
  #wrap ol.option-list {
    display: table; }
    #wrap ol.option-list li {
      display: table-row; }
      #wrap ol.option-list li:first-child .marker {
        padding-top: 0; }
      #wrap ol.option-list li .marker {
        display: table-cell;
        padding-right: .4em;
        word-break: keep-all;
        white-space: nowrap; }
  #wrap .unitbox a {
    display: flex;
    flex-direction: column;
    position: relative;
    height: 100%;
    box-sizing: border-box; }
    #wrap .unitbox a .body {
      padding: 10px;
      background-color: #fff;
      order: 2;
      transition: all .7s;
      border: solid 2px #00C2E5;
      border-top: none;
      border-radius: 0 0 25px 25px; }
      #wrap .unitbox a .body p {
        margin-bottom: 0;
        color: #282C34;
        font-size: 28px;
        text-align: center;
        transition: all .35s ease-Out; }
        #wrap .unitbox a .body p .name {
          display: block;
          font-size: 36px; }
    #wrap .unitbox a .pic img {
      width: 100%;
      border-radius: 25px 25px 0 0; }
    #wrap .unitbox a:hover {
      opacity: 1; }
      #wrap .unitbox a:hover .body p {
        color: #00C2E5; }
  #wrap .unitbox__recruit {
    display: flex;
    flex-direction: column;
    position: relative;
    height: 100%;
    box-sizing: border-box; }
    #wrap .unitbox__recruit .body {
      padding: 10px;
      background-color: #fff;
      order: 2;
      border-radius: 0 0 25px 25px;
      box-shadow: 10px 10px 5px -5px #bdbdbd; }
      #wrap .unitbox__recruit .body p {
        margin-bottom: 0;
        color: #282C34;
        font-size: 28px;
        text-align: center; }
    #wrap .unitbox__recruit .pic img {
      width: 100%;
      border-radius: 25px 25px 0 0;
      box-shadow: 10px 21px 4px -4px #bdbdbd; }
  #wrap .schedule_box {
    background: #fff;
    border-radius: 30px 30px 20px 20px;
    box-shadow: 10px 10px 5px -5px #bdbdbd; }
    #wrap .schedule_box h2 {
      font-weight: normal;
      list-style: 1.2em; }
    #wrap .schedule_box h3 {
      padding: 5px 5px 7px 1em;
      background: #BFD800;
      border-radius: 30px;
      font-weight: normal;
      color: #fff; }
    #wrap .schedule_box .table-01 {
      width: 98%;
      margin: 0 auto 10px;
      font-size: 18px; }
      #wrap .schedule_box .table-01 tr th {
        padding: .2em .2em .2em .8em; }
      #wrap .schedule_box .table-01 tr td {
        padding: .2em .8em .2em .2em; }
  #wrap .exp_box .ttl {
    display: flex;
    align-items: center;
    width: 25%;
    padding: 1.5em;
    background: #BFD800; }
    #wrap .exp_box .ttl p {
      font-size: 24px; }
  #wrap .exp_box .body {
    width: 75%;
    padding: 1.5em;
    border: solid 1px #BFD800;
    border-radius: 0 15px 15px 0; }
  #wrap table {
    width: 100%; }
    #wrap table colgroup .cell-w10 {
      width: 10%; }
    #wrap table colgroup .cell-w15 {
      width: 15%; }
    #wrap table colgroup .cell-w20 {
      width: 20%; }
    #wrap table colgroup .cell-w30 {
      width: 30%; }
    #wrap table colgroup .cell-w40 {
      width: 40%; }
    #wrap table colgroup .cell-w50 {
      width: 50%; }
    #wrap table colgroup .cell-w60 {
      width: 60%; }
    #wrap table colgroup .cell-w70 {
      width: 70%; }
    #wrap table colgroup .cell-w80 {
      width: 80%; }
    #wrap table colgroup .cell-w90 {
      width: 90%; }
    #wrap table.table-01 {
      border-top: solid 1px #ababab;
      border-bottom: solid 1px #ababab; }
      #wrap table.table-01 tr {
        border-bottom: solid 1px #ababab; }
        #wrap table.table-01 tr:last-child {
          border-bottom: none; }
        #wrap table.table-01 tr th {
          padding: 1em;
          text-align: left;
          vertical-align: middle;
          word-break: break-word; }
        #wrap table.table-01 tr td {
          padding: 1em 1.5em;
          vertical-align: middle; }
          #wrap table.table-01 tr td a {
            text-decoration: underline; }
    #wrap table.table-02 {
      border: solid 2px #707070; }
      #wrap table.table-02 tr {
        border-bottom: solid 2px #707070; }
        #wrap table.table-02 tr:last-child {
          border-bottom: none; }
        #wrap table.table-02 tr th {
          padding: 1em;
          border-right: solid 2px #707070;
          background: #F1F1F1;
          text-align: left;
          vertical-align: middle;
          word-break: break-word; }
        #wrap table.table-02 tr td {
          padding: 1em 1.5em;
          vertical-align: middle; }
  #wrap #business {
    width: 94%;
    margin: 180px auto 0;
    padding: 0;
    position: relative;
    left: 3%;
    overflow: inherit;
    border-left: solid 1px #BFD800; }
    #wrap #business .inner-business {
      position: relative;
      width: calc(100% + 5%);
      left: -5%; }
      #wrap #business .inner-business h2 {
        margin-bottom: 0;
        padding-left: 5em;
        text-align: left;
        border-bottom: solid 1px #BFD800;
        font-weight: normal;
        color: #BFD800; }
      #wrap #business .inner-business .business-area01 {
        margin-top: 1vw;
        margin-left: 6vw; }
        #wrap #business .inner-business .business-area01 .business-txt {
          width: 45%;
          position: absolute;
          top: 30vw;
          left: 34vw; }
          #wrap #business .inner-business .business-area01 .business-txt h3 {
            padding-left: 0;
            margin: 0;
            border-bottom: none;
            font-size: 50px; }
      #wrap #business .inner-business h3 {
        width: 90%;
        margin: 120px 0 0 0;
        padding: 0 0 40px 5.5em;
        text-align: left;
        border-bottom: solid 1px #BFD800;
        font-weight: normal;
        font-size: 44px; }
      #wrap #business .inner-business .business-area02 {
        width: calc(100% - 12%);
        margin-top: 40px;
        margin-left: 2%; }
        #wrap #business .inner-business .business-area02 .business-txt {
          margin-left: 130px; }
          #wrap #business .inner-business .business-area02 .business-txt + .grid {
            margin-top: 70px; }
        #wrap #business .inner-business .business-area02 .grid + .text__link {
          margin-top: 120px; }
  #wrap #recruit {
    width: 94%;
    margin: 180px auto 0;
    padding: 0;
    position: relative;
    right: 3%;
    overflow: inherit;
    border-right: solid 1px #BFD800; }
    #wrap #recruit .inner-recruit {
      position: relative;
      width: calc(100% + 6%); }
      #wrap #recruit .inner-recruit h2 {
        margin-bottom: 0;
        padding-right: 4em;
        text-align: right;
        border-bottom: solid 1px #BFD800;
        font-weight: normal;
        color: #BFD800; }
      #wrap #recruit .inner-recruit .recruit-area01 {
        position: relative;
        margin-top: -5vw;
        margin-right: 8vw; }
        #wrap #recruit .inner-recruit .recruit-area01 .recruit-txt {
          width: 27%;
          position: absolute;
          top: 38%;
          right: 0; }
        #wrap #recruit .inner-recruit .recruit-area01 .recruit__spb {
          display: none; }
      #wrap #recruit .inner-recruit h3 {
        width: 90%;
        margin: 120px 0 0 0;
        padding: 0 12vw 40px 0;
        position: relative;
        right: -16%;
        text-align: right;
        border-bottom: solid 1px #BFD800;
        font-weight: normal;
        font-size: 44px; }
      #wrap #recruit .inner-recruit .recruit-area02 {
        width: calc(100% - 12.9%);
        margin-top: 40px;
        margin-left: 8.9%; }
        #wrap #recruit .inner-recruit .recruit-area02 .recruit-txt {
          margin-left: 150px;
          padding-right: 25px; }
          #wrap #recruit .inner-recruit .recruit-area02 .recruit-txt + .grid {
            margin-top: 70px; }
        #wrap #recruit .inner-recruit .recruit-area02 .grid + .text__link {
          margin-top: 120px; }
  #wrap #informations {
    width: 94%;
    margin: 180px auto 0;
    padding: 0 0 760px 0;
    position: relative;
    left: 3%;
    overflow: inherit;
    border-left: solid 1px #BFD800; }
    #wrap #informations .inner-informations {
      position: relative;
      width: calc(100% + 5%);
      left: -5%; }
      #wrap #informations .inner-informations h2 {
        margin-bottom: 0;
        padding-left: 12vw;
        text-align: left;
        border-bottom: solid 1px #BFD800;
        font-weight: normal;
        color: #BFD800; }
      #wrap #informations .inner-informations .informations-area01 {
        position: relative;
        margin-top: -5vw;
        margin-left: 6vw; }
        #wrap #informations .inner-informations .informations-area01 .infolist {
          width: 46%;
          position: absolute;
          top: 45%; }
          #wrap #informations .inner-informations .informations-area01 .infolist li {
            margin-bottom: 3em; }
            #wrap #informations .inner-informations .informations-area01 .infolist li .date {
              display: block; }
            #wrap #informations .inner-informations .informations-area01 .infolist li a {
              text-decoration: underline; }
        #wrap #informations .inner-informations .informations-area01 .informations__spb {
          display: none; }

footer {
  margin-top: 80px;
  line-height: 1.5; }
  footer .footer_contact {
    padding: 60px .5em;
    background: #00C2E5; }
    footer .footer_contact ul {
      display: flex;
      justify-content: space-around; }
      footer .footer_contact ul li {
        width: 35%; }
        footer .footer_contact ul li a {
          display: block;
          position: relative;
          text-align: center;
          transition: all .35s ease-Out;
          padding: 3px 10px 4px;
          background: #fff;
          font-size: 26px;
          color: #282C34; }
          footer .footer_contact ul li a::after {
            transition: all .35s ease-Out;
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            display: inline-block;
            width: 18px;
            height: 32px;
            content: '';
            background-image: url(../img/icon_right-arrow.png);
            background-size: contain;
            vertical-align: middle; }
          footer .footer_contact ul li a:hover {
            color: #00C2E5;
            opacity: 1; }
            footer .footer_contact ul li a:hover::after {
              background-image: url(../img/icon_right-arrow-blue.png); }
        footer .footer_contact ul li span {
          margin-top: 10px;
          display: block;
          text-align: center;
          color: #fff;
          font-size: 18px;
          line-height: 1.2em; }
  footer .footer_nav {
    padding: 60px .5em;
    background: #F2F2F2; }
    footer .footer_nav .grid {
      display: grid;
      gap: 50px; }
      footer .footer_nav .grid + .grid {
        margin-top: 40px; }
    footer .footer_nav .left_side ul li {
      margin-bottom: .6em; }
      footer .footer_nav .left_side ul li.ttl_bold {
        font-weight: bold; }
        footer .footer_nav .left_side ul li.ttl_bold::before {
          content: "";
          display: inline-block;
          margin-right: 6px;
          width: 10px;
          height: 25px;
          background-image: url("../img/icon_ttl_square.png");
          transform: translateY(5px); }
      footer .footer_nav .left_side ul li a:hover {
        color: #00C2E5;
        opacity: 1; }
    footer .footer_nav .right_side {
      text-align: center; }
      footer .footer_nav .right_side .en_site a {
        display: block;
        text-align: center;
        transition: all .35s ease-Out;
        padding: 3px 20px 4px;
        background: #fff;
        border: solid 1px #00C2E5;
        font-size: 26px;
        color: #282C34; }
        footer .footer_nav .right_side .en_site a:hover {
          color: #00C2E5;
          opacity: 1; }
      footer .footer_nav .right_side .en_site + li {
        margin-top: 50px; }
  footer .footer_wrap {
    padding: 25px .5em;
    text-align: center; }
    footer .footer_wrap #logo img {
      width: 523px; }

@media (max-width: 1750px) {
  #wrap .main__content {
    width: 100%;
    left: 0; } }
@media (min-width: 1581px) {
  #wrap #business {
    max-width: 1580px;
    position: static; }
    #wrap #business .inner-business .business-area01 .business-txt {
      top: 450px;
      left: 520px; }
  #wrap #recruit {
    max-width: 1580px;
    position: static; }
    #wrap #recruit .inner-recruit .recruit-area01 {
      margin-top: -100px;
      margin-right: 110px; }
  #wrap #informations {
    max-width: 1580px;
    position: static; }
    #wrap #informations .inner-informations .informations-area01 {
      margin-top: -100px;
      margin-left: 110px; } }
@media (max-width: 1580px) {
  #wrap .main__content {
    padding-left: 1.3rem;
    background-position: left bottom 20px, left 20px top; }
    #wrap .main__content .main__text {
      top: 45%;
      left: 3rem;
      transform: translateY(-55%);
      -webkit-transform: translateY(-55%);
      -ms-transform: translateY(-55%); }
  #wrap #business {
    width: 98%;
    margin: 200px 0 0 2%;
    left: 0; }
    #wrap #business .inner-business h3 {
      width: 100%;
      margin: 80px 0 0 0;
      padding: 0 0 30px 12vw; }
    #wrap #business .inner-business .business-area02 {
      width: calc(100% - 4.5%);
      margin-top: 30px;
      margin-left: 4.5%;
      padding-right: 10px; }
      #wrap #business .inner-business .business-area02 .business-txt {
        margin-left: 5vw; }
        #wrap #business .inner-business .business-area02 .business-txt + .grid {
          margin-top: 40px;
          gap: 20px; }
  #wrap #recruit {
    width: 98%;
    margin: 200px 2% 0 0;
    right: 0; }
    #wrap #recruit .inner-recruit {
      width: calc(100% + 2%); }
      #wrap #recruit .inner-recruit h2 {
        padding-right: 8vw; }
      #wrap #recruit .inner-recruit .recruit-area01 {
        margin-right: 6vw; }
        #wrap #recruit .inner-recruit .recruit-area01 .recruit-txt {
          width: 27%;
          position: absolute;
          top: 38%;
          right: 0; }
      #wrap #recruit .inner-recruit h3 {
        width: 100%;
        margin: 80px 0 0 0;
        padding: 0 12vw 30px 0;
        right: -6%; }
      #wrap #recruit .inner-recruit .recruit-area02 {
        width: calc(100% - 4.6%);
        margin-top: 30px;
        margin-left: 2.6%; }
        #wrap #recruit .inner-recruit .recruit-area02 .recruit-txt + .grid {
          margin-top: 40px;
          gap: 20px; }
  #wrap #informations {
    width: 98%;
    margin: 200px 0 0 2%;
    left: 0; }
    #wrap #informations .inner-informations h3 {
      width: 100%;
      margin: 40px 0 0 0;
      padding: 0 0 30px 12vw; }
  #wrap section.sec_wrap {
    margin: 140px auto 0;
    padding-left: 1.3rem;
    background-position: left top 70px, left 20px top; }
    #wrap section.sec_wrap .inner {
      padding: 60px 20px 60px 45px; }
    #wrap section.sec_wrap .grid {
      gap: 20px; }
    #wrap section.sec_wrap h3 {
      padding-left: 0;
      text-indent: -1.3em; }
    #wrap section.sec_wrap.r-type .inner {
      padding: 60px 20px 60px 25px; }
  #wrap section.bg_wrap {
    margin: 120px auto 0;
    padding: 50px 0 120px; }
    #wrap section.bg_wrap .inner {
      padding: 0 20px; }
    #wrap section.bg_wrap .grid {
      gap: 20px; }

  footer .footer_contact ul li {
    width: 42%; } }
@media (max-width: 960px) {
  header {
    padding: 10px 10px 20px 10px;
    overflow: unset; }
    header.line {
      border-bottom: solid 5px #BFD800; }
    header .inner {
      display: block;
      padding: 0px; }
      header .inner .u-row_nav {
        margin-bottom: 0; }
    header .hamburger-wrap {
      display: block; }
    header a[target^="_blank"]::after {
      content: url(../img/window.png); }
    header h1 {
      float: left; }
      header h1 img {
        max-width: 285px; }
    header .l-col_navi.open ul.gnav, header .l-col_navi.open ul.lang {
      transform: translate(0); }
    header ul.gnav {
      display: block;
      position: fixed;
      width: 75%;
      background: #fff;
      transform: translate(100%);
      transition: all .4s;
      top: 92px;
      right: 0;
      z-index: 10; }
      header ul.gnav > li {
        padding: 0;
        border-bottom: 1px solid #B9C9DF; }
        header ul.gnav > li.current a {
          text-decoration: underline;
          font-weight: bold; }
        header ul.gnav > li > a {
          padding: 15px 40px !important;
          box-sizing: border-box;
          width: 100%; }
          header ul.gnav > li > a::after {
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
            display: inline-block;
            width: 18px;
            height: 32px;
            content: '';
            background-image: url(../img/icon_right-arrow-blue.png);
            background-size: contain;
            vertical-align: middle; }
          header ul.gnav > li > a::before {
            display: none; }
        header ul.gnav > li.contact {
          display: block; }
          header ul.gnav > li.contact > a {
            border: none;
            display: inline-block;
            transition: none;
            border-radius: unset; }
            header ul.gnav > li.contact > a::after {
              background-image: url(../img/icon_right-arrow-white.png); }
    header ul.lang {
      position: fixed;
      width: 75%;
      padding: 10px;
      background: #fff;
      transform: translate(100%);
      transition: all .4s;
      top: 328px;
      right: 0;
      z-index: 10; }

  .grid.anchor_link {
    gap: 20px; }
    .grid.anchor_link .text__link a {
      display: block;
      padding: 0; }

  #home .text__link a {
    display: block;
    width: 85%;
    margin: 0 auto;
    padding: 0; }

  .link__button {
    position: static; }

  #wrap {
    margin-top: 97.14px; }
    #wrap .exp_box .ttl {
      padding: .8em; }
      #wrap .exp_box .ttl p {
        font-size: 20px; }
    #wrap .exp_box .body {
      padding: .8em; }
    #wrap #business .inner-business .business-area01 .business-txt {
      margin-top: -40px; }
      #wrap #business .inner-business .business-area01 .business-txt h3 {
        font-size: 23px; }
      #wrap #business .inner-business .business-area01 .business-txt .text {
        font-size: 16px; }
    #wrap #recruit .inner-recruit .recruit-area01 {
      margin-top: 2vw;
      padding-left: 10px;
      text-align: right; }
      #wrap #recruit .inner-recruit .recruit-area01 .recruit-txt {
        width: 100%;
        margin-top: 30px;
        position: static;
        text-align: left; }
      #wrap #recruit .inner-recruit .recruit-area01 .recruit__spb {
        display: block;
        margin: 30px -6vw 0 -10px; }
        #wrap #recruit .inner-recruit .recruit-area01 .recruit__spb img {
          width: 100%;
          max-width: 600px; }
    #wrap #recruit .inner-recruit .recruit-area02 .recruit-txt {
      margin-left: 0;
      text-align: left; }
      #wrap #recruit .inner-recruit .recruit-area02 .recruit-txt + .col-3 {
        margin-top: 70px; }
    #wrap #informations {
      padding: 0 0 60px 0; }
      #wrap #informations .inner-informations .informations-area01 {
        margin-top: 2vw; }
        #wrap #informations .inner-informations .informations-area01 .infolist {
          width: 100%;
          margin-top: 30px;
          position: static; }
        #wrap #informations .inner-informations .informations-area01 .informations__spb {
          display: block;
          margin: 30px 0 0 -6vw; }
          #wrap #informations .inner-informations .informations-area01 .informations__spb img {
            width: 100%;
            max-width: 600px; }
    #wrap section {
      padding: 40px 0; }
      #wrap section.sec_wrap .l_cha {
        top: -0.6em;
        line-height: 1em; }
        #wrap section.sec_wrap .l_cha .spb {
          display: block; }
    #wrap .related__link {
      margin-top: 70px; }
      #wrap .related__link .inner {
        padding: 0 10px; }
        #wrap .related__link .inner .related_wrap .grid {
          margin-top: 35px;
          gap: 15px; }
    #wrap .contact__link {
      margin-top: 70px; }
      #wrap .contact__link .inner {
        padding: 0 10px; }
        #wrap .contact__link .inner .contact_wrap {
          padding: 35px 10px; }
          #wrap .contact__link .inner .contact_wrap .grid .text__link a {
            display: block;
            padding: 0; }
          #wrap .contact__link .inner .contact_wrap .contact_text {
            text-indent: -6em;
            padding-left: 6em; }
            #wrap .contact__link .inner .contact_wrap .contact_text span {
              margin-right: 1em; }

  footer {
    margin-top: 60px; }
    footer .footer_contact ul li a {
      font-size: 22px; }
    footer .footer_contact ul li span {
      font-size: 16px; }

  .inner {
    padding: 0 .5em; }

  ul.col-3 {
    grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) {
  .col-1_3, .col-2_3, .col-1_4, .col-3_4, .col-3_5 {
    grid-template-columns: auto; }

  .text {
    font-size: 16px; }

  .text__link a {
    display: block;
    padding: 8px 20px;
    font-size: 24px; }

  .link__button a {
    font-size: 18px; }

  #wrap .fs_ttl {
    font-size: 28px; }
  #wrap .fs_lead {
    font-size: 16px; }
    #wrap .fs_lead + .text__link {
      margin-top: 60px; }
  #wrap #business .inner-business h3 {
    padding: 0 0 20px 0;
    position: static;
    font-size: 28px;
    text-align: center; }
  #wrap #business .inner-business .business-area01 .business-txt {
    width: 40%; }
  #wrap #business .inner-business .business-area02 .business-txt {
    margin-left: 2vw;
    font-size: 16px; }
  #wrap #business .inner-business .business-area02 .grid + .text__link {
    margin-top: 60px; }
  #wrap #recruit .inner-recruit h3 {
    padding: 0 0 20px 0;
    font-size: 28px;
    text-align: center; }
  #wrap #recruit .inner-recruit .recruit-area01 .recruit-txt {
    font-size: 16px; }
  #wrap #recruit .inner-recruit .recruit-area02 .recruit-txt {
    margin-left: 2vw;
    font-size: 16px; }
  #wrap #recruit .inner-recruit .recruit-area02 .grid + .text__link {
    margin-top: 60px; }
  #wrap #informations .inner-informations .informations-area01 .infolist li {
    margin-bottom: 2em;
    font-size: 16px; }
  #wrap section h2 {
    font-size: 32px;
    margin-bottom: 20px; }
  #wrap section h3 {
    font-size: 22px; }
  #wrap section h4 {
    font-size: 18px; }
  #wrap section.sec_wrap {
    margin: 80px auto 0;
    padding-left: 0;
    background-position: left top 50px, left 0 top; }
    #wrap section.sec_wrap .inner {
      padding: 10px; }
    #wrap section.sec_wrap .grid + .grid {
      margin-top: 80px; }
    #wrap section.sec_wrap .grid + .text {
      margin-top: 40px; }
    #wrap section.sec_wrap .text + .grid {
      margin-top: 40px; }
    #wrap section.sec_wrap .fig + .text {
      margin-top: 40px; }
    #wrap section.sec_wrap h3 {
      padding-left: 1.5em;
      text-indent: -1.5em; }
      #wrap section.sec_wrap h3 + .grid {
        margin-top: 30px; }
    #wrap section.sec_wrap h4 + .grid {
      margin-top: 20px; }
    #wrap section.sec_wrap.r-type {
      padding: 3.2rem 0 0 .6em;
      background-position: left top 50px, left 10px top; }
      #wrap section.sec_wrap.r-type .inner {
        padding: 60px 10px 60px 10px; }
      #wrap section.sec_wrap.r-type h3 {
        padding-left: 2.2em;
        text-indent: -2.2em; }
        #wrap section.sec_wrap.r-type h3 .question {
          font-size: 32px; }
  #wrap section.bg_wrap .grid.col-1_2 {
    grid-template-columns: auto; }
  #wrap ul.list {
    font-size: 16px; }
  #wrap .hero__content img {
    width: 100%; }
  #wrap .main__content .main__text h1 {
    font-size: 34px;
    line-height: .9em; }
    #wrap .main__content .main__text h1 .en {
      font-size: 24px; }
  #wrap .main__content + .inner {
    margin-top: 60px; }
  #wrap .schedule_box table colgroup .cell-w20 {
    width: 20%; }
  #wrap .schedule_box table colgroup .cell-w80 {
    width: 80%; }
  #wrap .schedule_box table.table-01 tr th {
    width: auto;
    display: table-cell;
    background: #fff;
    border-bottom: none; }
  #wrap .schedule_box table.table-01 tr td {
    width: auto;
    display: table-cell; }
  #wrap .unitbox a .body p {
    font-size: 22px; }
    #wrap .unitbox a .body p .name {
      font-size: 30px; }
  #wrap table {
    font-size: 16px; }
    #wrap table colgroup .cell-w10, #wrap table colgroup .cell-w15, #wrap table colgroup .cell-w20, #wrap table colgroup .cell-w30, #wrap table colgroup .cell-w40, #wrap table colgroup .cell-w50, #wrap table colgroup .cell-w60, #wrap table colgroup .cell-w70, #wrap table colgroup .cell-w70, #wrap table colgroup .cell-w80, #wrap table colgroup .cell-w90 {
      width: 100%; }
    #wrap table.table-01 tr th {
      width: 100%;
      display: block;
      padding: .5em;
      background: #fafdd7;
      border-bottom: solid 1px #ababab; }
    #wrap table.table-01 tr td {
      width: 100%;
      display: block;
      padding: .5em; }
    #wrap table.table-02 tr th {
      width: 100%;
      display: block;
      padding: .5em;
      border-right: none; }
    #wrap table.table-02 tr td {
      width: 100%;
      display: block;
      padding: .5em; }
  #wrap .anchor_link .text__link a span {
    width: 20px;
    height: 11px; }
  #wrap .related__link .inner .related_wrap h3 {
    font-size: 26px; }
  #wrap .related__link .inner .related_wrap .grid {
    margin-top: 35px;
    gap: 15px; }
  #wrap .contact__link .inner .contact_wrap .contact_text {
    text-indent: 0;
    padding-left: 0; }
    #wrap .contact__link .inner .contact_wrap .contact_text span {
      display: block;
      margin-right: 0; }

  footer {
    margin-top: 60px; }
    footer .footer_contact ul {
      justify-content: center;
      flex-direction: column; }
      footer .footer_contact ul li {
        width: 100%; }
        footer .footer_contact ul li + li {
          margin-top: 30px; } }
@media (min-width: 768px) {
  a:hover {
    opacity: .7; }

  .text__link a:hover {
    color: #fff;
    z-index: 1;
    opacity: 1; }
    .text__link a:hover span {
      background-image: url(../img/icon_right-arrow-white.png); }
    .text__link a:hover::after {
      width: 100%;
      opacity: 1;
      animation: bgappear 0.4s forwards; }

  #wrap .related__link .inner .related_wrap .grid .text__link a:hover span {
    background-image: url(../img/icon_right-arrow-white.png); }

  #wrap .anchor_link .text__link a:hover span {
    background-image: url(../img/icon_down-arrow-white.png); }

  .link__button a:hover {
    color: #fff;
    z-index: 1;
    background: #84dfef;
    opacity: 1; }
    .link__button a:hover span {
      background-image: url(../img/icon_right-arrow-white.png); }

  header ul.gnav > li:not(.contact) > a:hover {
    opacity: 1; }
  header ul.gnav > li:not(.contact) > a:hover::before {
    transform: scale(1, 1); }
  header ul.gnav > li.contact:hover a {
    color: #fff; } }
@media (max-width: 519px) {
  .fig + h4 {
    margin-top: 15px; }

  #wrap #business .inner-business .business-area01 {
    margin-top: 2vw; }
    #wrap #business .inner-business .business-area01 .business-txt {
      margin-top: 0;
      top: 80vw;
      left: 20vw; }
      #wrap #business .inner-business .business-area01 .business-txt h3 {
        padding: 0 0 10px 0; }
      #wrap #business .inner-business .business-area01 .business-txt .text {
        line-height: 1.5em; }
    #wrap #business .inner-business .business-area01 img {
      width: 100%; }
  #wrap #business .inner-business h2 {
    padding: 0 3vw 0 0;
    text-align: right; }
  #wrap #recruit .inner-recruit h2 {
    padding-right: 0;
    text-align: center; }
  #wrap #informations .inner-informations h2 {
    padding: 0 3vw 0 0;
    text-align: right; }
  #wrap .main__content {
    padding-left: 0;
    text-align: right;
    --bg-gradient: unset;
    background-position: 0; }
    #wrap .main__content .main__text {
      top: 1rem;
      left: 1rem;
      transform: unset;
      -webkit-transform: unset;
      text-align: left; }

  ul.col-3, div.col-3 {
    grid-template-columns: repeat(1, 1fr); }

  .col-1_2, .col-1_3, .col-2_3, .col-1_4, .col-3_4 {
    grid-template-columns: auto; } }

/*# sourceMappingURL=style.css.map */
