<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@700&amp;family=Noto+Sans+JP:wght@500;700&amp;display=swap");
/*-------------------
cursorColor
---------------------*/
::-moz-selection {
  background: #0466c4;
  color: #fff;
}
::selection {
  background: #0466c4;
  color: #fff;
}

/*Firefox*/
::-moz-selection {
  background: #0466c4;
  color: #fff;
}

@font-face {
  font-weight: normal;
  font-style: normal;
  font-family: "connoisseurs";
  src: url("../webfont/connoisseurs-webfont.woff2") format("woff2"), url("../webfont/connoisseurs-webfont.woff") format("woff");
  font-display: swap;
}
/*-------------------
fontベース設定
---------------------*/
html {
  font-size: 16px;
}

body {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 0;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #0d2a5f;
}

/*-------------------
resetCss
---------------------*/
html {
  overflow-y: scroll;
}

body {
  margin: 0px;
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0px;
  padding: 0px;
  font-weight: normal;
  font-size: 1rem;
  line-height: inherit;
}

p {
  margin: 0px;
  padding: 0px;
}

* {
  margin: 0px;
  padding: 0px;
}

img {
  border: 0px;
  width: 100%;
  max-width: 100%;
  vertical-align: top;
  height: auto;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

a:focus {
  text-decoration: none;
}

a:hover {
  color: inherit;
  text-decoration: none;
  opacity: 1;
}

dl,
dt,
dd,
ul,
ol {
  padding: 0;
  margin: 0;
}

li {
  list-style-type: none;
}

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;
}

figure,
figcaption {
  background: none;
  border-radius: 0;
  border: none;
}

.img-responsive,
.thumbnail &gt; img,
.thumbnail a &gt; img,
.carousel-inner &gt; .item &gt; img,
.carousel-inner &gt; .item &gt; a &gt; img {
  display: inline;
}

button {
  background-color: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border: none;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

a:active {
  outline: none !important;
}

button:active {
  outline: none !important;
}

.btn:focus,
.btn.focus {
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
}

.form-control:focus {
  color: #495057;
  background-color: #eee;
  border-color: none;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
}

.custom-select:focus {
  border-color: none;
  background-color: #eee;
  -webkit-box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
          box-shadow: 0 0 0 0.2rem rgba(0, 0, 0, 0);
}

/*-------------------
bootstrap コンテンツ幅調整
---------------------*/
@media screen and (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
} /* ----------------
    fontawesome svg icon
* ---------------- */
.fa {
  /* 領域を確保する */
  width: 1em;
  height: 1em;
  /* 前後の間隔を確保する */
  margin: 0 0.25em;
  /* 文字列と高さをあわせる */
  vertical-align: -0.125em;
  /* 文字色をあわせる */
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 0;
}

.fa-flip-horizontal {
  /* ひっくり返す */
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

/* ----------------
    header
* ---------------- */
.l-header {
  position: fixed;
  width: 100%;
  height: 60px;
  background-color: #fff;
  z-index: 998;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media print, screen and (min-width: 992px) {
  .l-header {
    height: 100px;
  }
}

/* header logo */
.l-header__logo {
  margin-left: 20px;
  width: 168px;
}
@media print, screen and (min-width: 992px) {
  .l-header__logo {
    width: 277px;
  }
}

/* header rightarea */
.l-header__right {
  display: none !important;
  margin-right: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 992px) {
  .l-header__right {
    display: block !important;
  }
}

.l-header__contact {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
}
.l-header__contact:not(:last-of-type) {
  margin-right: 15px;
}

.l-header__tel,
.l-header__mail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-header__tel {
  margin-right: 30px;
  color: #078c87;
}
.l-header__tel svg {
  width: 22px;
  height: 22px;
}
.l-header__tel .number {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 26px;
}

.l-header__mail {
  position: relative;
  padding: 10px 40px;
  color: #078c87;
  border: 2px solid #078c87;
  border-radius: 9999px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  z-index: 0;
}
.l-header__mail::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: scale(0, 1.2);
          transform: scale(0, 1.2);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  display: block;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#078c87), to(#16ccc5));
  background: -webkit-linear-gradient(left, #078c87 0%, #16ccc5 100%);
  background: linear-gradient(90deg, #078c87 0%, #16ccc5 100%);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  z-index: -1;
}
.l-header__mail:active, .l-header__mail:focus {
  outline: none;
  color: #fff;
  border: 2px solid transparent;
}
.l-header__mail:active.l-header__mail::before, .l-header__mail:focus.l-header__mail::before {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
@media print, screen and (min-width: 992px) {
  .l-header__mail:hover {
    color: #fff;
    border: 2px solid transparent;
  }
  .l-header__mail:hover.l-header__mail::before {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transform: scale(1.2, 1.2);
            transform: scale(1.2, 1.2);
    -webkit-transform-origin: bottom left;
            transform-origin: bottom left;
  }
}
.l-header__mail svg {
  margin-top: 3px;
  width: 18px;
  height: 18px;
  line-height: 1;
}
.l-header__mail .text {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
}

.l-header-nav {
  margin-top: 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-header-nav__item {
  position: relative;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  z-index: 0;
}
.l-header-nav__item:not(:last-of-type) {
  margin-right: 8px;
}
@media screen and (min-width: 1050px) {
  .l-header-nav__item:not(:last-of-type) {
    margin-right: 15px;
  }
}
.l-header-nav__item a::after, .l-header-nav__item.is-active a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -3px;
  left: 0;
  display: block;
  width: 100%;
  height: 6px;
  background: -webkit-gradient(linear, left top, right top, from(#55b5ff), to(#d3ecff));
  background: -webkit-linear-gradient(left, #55b5ff 0%, #d3ecff 100%);
  background: linear-gradient(90deg, #55b5ff 0%, #d3ecff 100%);
  z-index: -1;
}
.l-header-nav__item a::after {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.l-header-nav__item.is-active a::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.l-header-nav__item a:active,
.l-header-nav__item a:focus {
  outline: none;
}
.l-header-nav__item a:active::after,
.l-header-nav__item a:focus::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
@media print, screen and (min-width: 992px) {
  .l-header-nav__item {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .l-header-nav__item a:hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: bottom left;
            transform-origin: bottom left;
  }
}

/* header sp tel */
.l-header-sptel {
  position: fixed;
  top: 15px;
  right: 75px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 999;
}
@media print, screen and (min-width: 992px) {
  .l-header-sptel {
    display: none;
  }
}
.l-header-sptel svg {
  width: 30px;
  height: 30px;
  fill: #078c87;
}

/* header sp hamburgerbtn */
.l-header-hamburger {
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  display: block;
  cursor: pointer;
  background: #078c87;
  z-index: 999;
}
@media print, screen and (min-width: 992px) {
  .l-header-hamburger {
    display: none !important;
  }
}
.l-header-hamburger::before, .l-header-hamburger::after {
  content: "";
  position: absolute;
  left: 25.5%;
  display: block;
  width: 50%;
  height: 3px;
  background-color: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.l-header-hamburger::before {
  top: 30%;
}
.l-header-hamburger::after {
  bottom: 30%;
}
.l-header-hamburger span {
  position: absolute;
  top: 46.5%;
  left: 25.5%;
  display: block;
  width: 50%;
  height: 3px;
  background-color: #fff;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.l-header-hamburger:active {
  outline: none;
}
.l-header-hamburger:focus {
  outline: 2px solid #aaa;
}

/* header sp hamburgerbtn close */
.l-header-hamburger.is-active::before {
  top: 32%;
  left: 44%;
  -webkit-transform: rotate(-45deg) translateX(-50%);
          transform: rotate(-45deg) translateX(-50%);
}
.l-header-hamburger.is-active::after {
  top: 66%;
  left: 44%;
  -webkit-transform: rotate(45deg) translateX(-50%);
          transform: rotate(45deg) translateX(-50%);
}
.l-header-hamburger.is-active span {
  left: 50%;
  opacity: 0;
}

/* header sp nav */
.l-header-spnav {
  position: fixed;
  top: 60px;
  right: -100%;
  display: block;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  z-index: 999;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  opacity: 0;
}
.l-header-spnav.is-active {
  right: 0;
  opacity: 1;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
@media print, screen and (min-width: 992px) {
  .l-header-spnav {
    display: none !important;
  }
}

.l-header-spnav__bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
  cursor: pointer;
  z-index: 1;
}

.l-header-spnav__list {
  position: relative;
  margin-left: auto;
  display: block;
  width: 70%;
  height: 100%;
  background-color: #f3f3f3;
  z-index: 2;
  height: calc(100vh - 60px);
  overflow-y: auto;
}
.l-header-spnav__list::-webkit-scrollbar {
  width: 5px;
}
.l-header-spnav__list::-webkit-scrollbar-track {
  background: #ccc;
}
.l-header-spnav__list::-webkit-scrollbar-thumb {
  background: -webkit-gradient(linear, left bottom, left top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(bottom, #073489 0%, #219eff 100%);
  background: linear-gradient(0deg, #073489 0%, #219eff 100%);
}

.l-header-spnav__item {
  display: block;
}
.l-header-spnav__item a {
  position: relative;
  display: block;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: clamp(15px, 3.91vw, 30px);
  padding-left: clamp(15px, 3.91vw, 30px);
  border-bottom: solid 1px #ccc;
  line-height: 1;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.l-header-spnav__item a:active, .l-header-spnav__item a:focus, .l-header-spnav__item a:hover {
  background-color: #fff;
}
.l-header-spnav__item.is-active a {
  background-color: #fff;
}
.l-header-spnav__item a span {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 0;
}
.l-header-spnav__item a span::after, .l-header-spnav__item.is-active a span::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 8px;
  background: -webkit-gradient(linear, left top, right top, from(#55b5ff), to(#d3ecff));
  background: -webkit-linear-gradient(left, #55b5ff 0%, #d3ecff 100%);
  background: linear-gradient(90deg, #55b5ff 0%, #d3ecff 100%);
  z-index: -1;
}
.l-header-spnav__item a span::after {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}
.l-header-spnav__item.is-active a span::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.l-header-spnav__item a:active span::after,
.l-header-spnav__item a:focus span::after,
.l-header-spnav__item a:hover span::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.l-header-spnav__item a::before,
.l-header-spnav__item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  display: block;
  width: 7px;
  height: 1px;
  background: #0d2a5f;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.l-header-spnav__item a:active::before,
.l-header-spnav__item a:active::after,
.l-header-spnav__item a:focus::before,
.l-header-spnav__item a:focus::after,
.l-header-spnav__item a:hover::before,
.l-header-spnav__item a:hover::after {
  right: 15px;
}
.l-header-spnav__item a::before {
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.l-header-spnav__item a::after {
  margin-top: 5px;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

/* header sp nav tel */
.l-header-spnav__tel,
.l-header-spnav__mail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-header-spnav__tel {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 30px;
  margin-bottom: 30px;
  color: #078c87;
  line-height: 1;
}
.l-header-spnav__tel svg {
  width: 22px;
  height: 22px;
}
.l-header-spnav__tel .number {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 26px;
  text-align: center;
}
.l-header-spnav__tel p {
  margin-top: 5px;
  display: block;
  width: 100%;
  text-align: center;
}

.l-header-spnav__mail {
  position: relative;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
  padding: 15px min(2vw, 40px);
  width: calc(100% - 30px);
  max-width: 280px;
  color: #078c87;
  border: 2px solid #078c87;
  border-radius: 9999px;
  -webkit-transition: border 0.3s ease-in-out;
  transition: border 0.3s ease-in-out;
  overflow: hidden;
  z-index: 0;
}
.l-header-spnav__mail::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: scale(0, 1.2);
          transform: scale(0, 1.2);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  display: block;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#078c87), to(#16ccc5));
  background: -webkit-linear-gradient(left, #078c87 0%, #16ccc5 100%);
  background: linear-gradient(90deg, #078c87 0%, #16ccc5 100%);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  z-index: -1;
}
.l-header-spnav__mail:active, .l-header-spnav__mail:focus, .l-header-spnav__mail:hover {
  outline: none;
  color: #fff;
  border: 2px solid transparent;
}
.l-header-spnav__mail:active.l-header-spnav__mail::before, .l-header-spnav__mail:focus.l-header-spnav__mail::before, .l-header-spnav__mail:hover.l-header-spnav__mail::before {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.l-header-spnav__mail svg {
  margin-top: 3px;
  width: 18px;
  height: 18px;
  line-height: 1;
}
.l-header-spnav__mail .text {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
}

/* ----------------
    footer
* ---------------- */
.l-footer {
  position: relative;
  width: 100%;
  background-color: #0d2a5f;
  color: #fff;
  z-index: 0;
}

/* footer contact area */
.l-footer-contact {
  position: relative;
  padding-top: 80px;
  padding-bottom: 40px;
  width: 100%;
  height: auto;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .l-footer-contact {
    padding: 0;
    height: 600px;
  }
}
.l-footer-contact &gt; .container {
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  z-index: 2;
}

.l-footer-contact__bg {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}

.l-footer-contact__title {
  margin-top: 30px;
  margin-bottom: 30px;
  -webkit-filter: drop-shadow(0 0 8px rgba(51, 51, 51, 0.5));
          filter: drop-shadow(0 0 8px rgba(51, 51, 51, 0.5));
}
@media print, screen and (min-width: 768px) {
  .l-footer-contact__title {
    margin-top: 80px;
  }
}

.l-footer-contact__text {
  text-align: center;
  -webkit-filter: drop-shadow(0 0 8px rgba(51, 51, 51, 0.5));
          filter: drop-shadow(0 0 8px rgba(51, 51, 51, 0.5));
  margin-bottom: 5.8333333333vw;
}
@media print, screen and (min-width: 992px) {
  .l-footer-contact__text {
    margin-bottom: 70px;
  }
}

.l-footer-contact__box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  .l-footer-contact__box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.l-footer-contact__tel {
  margin-bottom: 40px;
  white-space: nowrap;
  -webkit-filter: drop-shadow(0 0 8px rgba(51, 51, 51, 0.5));
          filter: drop-shadow(0 0 8px rgba(51, 51, 51, 0.5));
}
@media print, screen and (min-width: 768px) {
  .l-footer-contact__tel {
    margin-right: 60px;
    margin-bottom: 0;
  }
}
.l-footer-contact__tel svg {
  margin-top: 3px;
  width: 30px;
  height: 30px;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .l-footer-contact__tel svg {
    width: 36px;
    height: 36px;
  }
}
.l-footer-contact__tel .number {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .l-footer-contact__tel .number {
    width: 36px;
    height: 36px;
  }
}
.l-footer-contact__tel p {
  margin-top: 10px;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 500;
  text-align: center;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .l-footer-contact__tel p {
    margin-top: 20px;
  }
}

.l-footer-contact__mail {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 260px;
  height: 60px;
  color: #0466c4;
  border-radius: 9999px;
  background: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .l-footer-contact__mail {
    width: 280px;
    height: 80px;
    margin-left: 60px;
  }
}
.l-footer-contact__mail::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: scale(0, 1.2);
          transform: scale(0, 1.2);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  display: block;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  z-index: -1;
}
.l-footer-contact__mail:active, .l-footer-contact__mail:focus, .l-footer-contact__mail:hover {
  outline: none;
  color: #fff;
}
.l-footer-contact__mail:active.l-footer-contact__mail::before, .l-footer-contact__mail:focus.l-footer-contact__mail::before, .l-footer-contact__mail:hover.l-footer-contact__mail::before {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.l-footer-contact__mail svg {
  margin-top: 3px;
  width: 26px;
  height: 26px;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .l-footer-contact__mail svg {
    width: 30px;
    height: 30px;
  }
}
.l-footer-contact__mail .text {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .l-footer-contact__mail .text {
    font-size: 22px;
  }
}

/* footer bottom nav area */
.l-footer-bottom {
  position: relative;
  padding-top: 40px;
  padding-bottom: 40px;
  display: block;
  width: 100%;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .l-footer-bottom {
    padding-top: 60px;
    padding-bottom: 50px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-around;
        -ms-flex-pack: distribute;
            justify-content: space-around;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

/* footer logo */
.l-footer-left {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .l-footer-left {
    display: grid;
    place-content: center;
  }
}

.l-footer__logo {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  width: 204px;
}
@media print, screen and (min-width: 768px) {
  .l-footer__logo {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 50px;
  }
}
@media print, screen and (min-width: 992px) {
  .l-footer__logo {
    width: 50%;
  }
}

/* footer address */
.l-footer__address &gt; .title {
  font-size: 16px;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .l-footer__address &gt; .title {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.l-footer__address &gt; .text {
  margin-bottom: 30px;
  font-size: 16px;
  font-size: 1rem;
  letter-spacing: 0.025em;
}
.l-footer__address &gt; .text a {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  color: #fff;
}
.l-footer__address &gt; .text a:active,
.l-footer__address &gt; .text a:focus,
.l-footer__address &gt; .text a:hover {
  color: #16ccc5;
}
@media print, screen and (min-width: 768px) {
  .l-footer__address &gt; .text {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

/* footer nav */
.l-footer-navWrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 10px;
}
@media print, screen and (min-width: 768px) {
  .l-footer-navWrap {
    gap: 0;
  }
}

.l-footer-nav {
  position: relative;
  width: 100%;
}
.l-footer-nav:first-of-type {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  .l-footer-nav:first-of-type {
    margin-bottom: 0;
  }
}

.l-footer-nav__item {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 375px;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .l-footer-nav__item {
    background-color: transparent;
  }
}
.l-footer-nav__item:not(:last-of-type) {
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  .l-footer-nav__item:not(:last-of-type) {
    margin-bottom: 15px;
  }
}
.l-footer-nav__item a {
  position: relative;
  padding: 10px 15px;
  display: block;
  width: 100%;
  height: 100%;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  color: #0d2a5f;
}
@media print, screen and (min-width: 768px) {
  .l-footer-nav__item a {
    padding: 0;
    color: #fff;
    -webkit-transition: color 0.3s ease-in-out;
    transition: color 0.3s ease-in-out;
  }
  .l-footer-nav__item a:active, .l-footer-nav__item a:focus, .l-footer-nav__item a:hover {
    color: #16ccc5;
  }
}
.l-footer-nav__item a::before, .l-footer-nav__item a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  display: block;
  width: 7px;
  height: 1px;
  background: #494949;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media print, screen and (min-width: 768px) {
  .l-footer-nav__item a::before, .l-footer-nav__item a::after {
    display: none;
  }
}
.l-footer-nav__item a::before {
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.l-footer-nav__item a::after {
  margin-top: 5px;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.l-footer-nav__item a:active::before, .l-footer-nav__item a:active::after, .l-footer-nav__item a:focus::before, .l-footer-nav__item a:focus::after, .l-footer-nav__item a:hover::before, .l-footer-nav__item a:hover::after {
  right: 3px;
}

/* footer copyright */
.l-footer__copyright {
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  font-size: 14px;
  font-size: 0.875rem;
  text-align: center;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .l-footer__copyright {
    font-size: 12px;
    font-size: 0.75rem;
  }
}
.l-footer__copyright::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #078c87;
  z-index: 2;
}

/* -------------------
    下層ページレイアウト
* ------------------- */
/* common header */
.l-common-heading {
  margin-top: 60px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 150px;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .l-common-heading {
    height: 200px;
  }
}
@media print, screen and (min-width: 992px) {
  .l-common-heading {
    margin-top: 100px;
  }
}
.l-common-heading .l-common-heading__ttl {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 2;
}
.l-common-heading .l-common-heading__ttl .en {
  position: absolute;
  bottom: 30px;
  left: 0;
  font-family: "connoisseurs", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: 60px;
  font-size: 3.75rem;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
  -webkit-transform: rotate(-5deg);
          transform: rotate(-5deg);
  background: -webkit-linear-gradient(70deg, rgb(25, 183, 177) 0%, rgb(108, 255, 249) 99%);
  background: linear-gradient(20deg, rgb(25, 183, 177) 0%, rgb(108, 255, 249) 99%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  z-index: -1;
}
@media print, screen and (min-width: 768px) {
  .l-common-heading .l-common-heading__ttl .en {
    font-size: 80px;
    font-size: 5rem;
  }
}
.l-common-heading .l-common-heading__ttl .ja {
  margin-top: 35px;
  margin-left: 50px;
  padding: 10px;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1;
  border: 1px solid #fff;
  color: #fff;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .l-common-heading .l-common-heading__ttl .ja {
    margin-top: 50px;
    font-size: 30px;
    font-size: 1.875rem;
  }
}
.l-common-heading .l-common-heading__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  -webkit-clip-path: polygon(0 0, calc(100% - 15px) 0%, calc(100% - 40px) 100%, 0% 100%);
          clip-path: polygon(0 0, calc(100% - 15px) 0%, calc(100% - 40px) 100%, 0% 100%);
  z-index: 1;
}
@media screen and (min-width: 576px) {
  .l-common-heading .l-common-heading__bg {
    -webkit-clip-path: polygon(0 0, calc(100% - 30px) 0%, calc(100% - 60px) 100%, 0% 100%);
            clip-path: polygon(0 0, calc(100% - 30px) 0%, calc(100% - 60px) 100%, 0% 100%);
  }
}
@media print, screen and (min-width: 992px) {
  .l-common-heading .l-common-heading__bg {
    -webkit-clip-path: polygon(0 0, calc(100% - 100px) 0%, calc(100% - 150px) 100%, 0% 100%);
            clip-path: polygon(0 0, calc(100% - 100px) 0%, calc(100% - 150px) 100%, 0% 100%);
  }
}
@media screen and (min-width: 1200px) {
  .l-common-heading .l-common-heading__bg {
    width: 80%;
  }
}
.l-common-heading .l-common-heading__deco {
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  width: 300px;
  z-index: 2;
}
@media print, screen and (min-width: 992px) {
  .l-common-heading .l-common-heading__deco {
    width: 500px;
  }
}
@media screen and (min-width: 1200px) {
  .l-common-heading .l-common-heading__deco {
    right: 20%;
  }
}

/* common layout style */
.l-common-lr01 {
  position: relative;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 {
    height: 619px;
  }
}
.l-common-lr01 .l-common-lr01__container {
  position: relative;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1200px) {
  .l-common-lr01 .l-common-lr01__container {
    max-width: 1110px;
    margin-left: auto;
    margin-right: auto;
  }
}
.l-common-lr01 .l-common-lr01__card {
  width: 100%;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .l-common-lr01__card {
    position: absolute;
    top: 13%;
    width: calc(50% + 200px - 30px);
    height: 459px;
  }
}
@media print, screen and (min-width: 992px) {
  .l-common-lr01 .l-common-lr01__card {
    width: calc(50% + 110px - 30px);
  }
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01.left .l-common-lr01__card {
    right: 30px;
  }
  .l-common-lr01.right .l-common-lr01__card {
    left: 30px;
  }
}
.l-common-lr01 .l-common-lr01__card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0 15px;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .l-common-lr01__card-inner {
    padding: 60px 30px;
    background-color: #fff;
    -webkit-filter: drop-shadow(0 0 50px rgba(51, 51, 51, 0.1));
            filter: drop-shadow(0 0 50px rgba(51, 51, 51, 0.1));
  }
}
@media print, screen and (min-width: 992px) {
  .l-common-lr01 .l-common-lr01__card-inner {
    padding: 60px 60px;
  }
}
@media screen and (min-width: 1200px) {
  .l-common-lr01 .l-common-lr01__card-inner {
    padding: 60px 100px;
  }
}
.l-common-lr01 .l-common-lr01__title {
  line-height: 1;
  margin-bottom: 20px;
  font-size: 22px;
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .l-common-lr01__title {
    font-size: 26px;
    font-size: 1.625rem;
  }
}
.l-common-lr01 .l-common-lr01__card-deco {
  position: absolute;
  bottom: -30px;
  display: none;
  width: 300px;
  height: 300px;
  z-index: -1;
  pointer-events: none;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .l-common-lr01__card-deco {
    display: block;
  }
}
.l-common-lr01.left .l-common-lr01__card-deco {
  right: -30px;
}
.l-common-lr01.right .l-common-lr01__card-deco {
  left: -30px;
}
.l-common-lr01 .l-common-lr01__img {
  width: 100%;
  height: auto;
  z-index: -1;
  background-color: #aaa;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .l-common-lr01__img {
    position: absolute;
    top: 0;
    width: calc(50% + 175px);
    height: 619px;
  }
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01.left .l-common-lr01__img {
    left: 0;
  }
  .l-common-lr01.right .l-common-lr01__img {
    right: 0;
  }
}

.l-common-txtbox01 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: calc(100% - 30px);
  height: auto;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .l-common-txtbox01 {
    width: calc(100% - 120px);
  }
}
.l-common-txtbox01 .l-common-txtbox01__wrap {
  position: relative;
  width: 100%;
  height: auto;
  background-color: #fff;
  -webkit-filter: drop-shadow(0 0 50px rgba(51, 51, 51, 0.1));
          filter: drop-shadow(0 0 50px rgba(51, 51, 51, 0.1));
  z-index: 1;
}
.l-common-txtbox01 .l-common-txtbox01__inner {
  position: relative;
  width: 100%;
  height: auto;
  padding: 40px 15px;
  background-color: #fff;
  z-index: 1;
}
@media screen and (min-width: 576px) {
  .l-common-txtbox01 .l-common-txtbox01__inner {
    padding: 60px 30px;
  }
}
@media print, screen and (min-width: 992px) {
  .l-common-txtbox01 .l-common-txtbox01__inner {
    padding: 60px 60px;
  }
}
@media screen and (min-width: 1200px) {
  .l-common-txtbox01 .l-common-txtbox01__inner {
    padding: 60px 100px;
  }
}
.l-common-txtbox01 .l-common-txtbox01__deco {
  position: absolute;
  right: -30px;
  bottom: -30px;
  display: block;
  width: min(30.24vw, 200px);
  height: min(30.24vw, 200px);
  z-index: -1;
  pointer-events: none;
}
@media print, screen and (min-width: 768px) {
  .l-common-txtbox01 .l-common-txtbox01__deco {
    display: block;
  }
}
@media print, screen and (min-width: 992px) {
  .l-common-txtbox01 .l-common-txtbox01__deco {
    width: 300px;
    height: 300px;
  }
}

.l-common-txtbox01__title {
  line-height: 1;
  margin-bottom: 20px;
  text-align: center;
  font-size: 22px;
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .l-common-txtbox01__title {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

.l-common-txtbox01__text {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 992px) {
  .l-common-txtbox01__text {
    text-align: center;
  }
}

/* ----------------
    googlemap
* ---------------- */
.l-common-gmap {
  position: relative;
  padding-top: 65%;
  height: 0;
  border: solid 1px #ccc;
  background-color: #272727;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .l-common-gmap {
    padding-top: 400px;
  }
}
.l-common-gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ----------------
    table-style
* ---------------- */
.l-common-table01 {
  width: 100%;
  border-collapse: collapse;
}
.l-common-table01 tbody tr {
  display: block;
  border-bottom: none;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01 tbody tr {
    display: table;
    border-bottom: 1px solid #ccc;
  }
}
.l-common-table01 tbody tr th,
.l-common-table01 tbody tr td {
  display: block;
  padding: 1rem 0;
  width: 100%;
  overflow-wrap: break-word;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01 tbody tr th,
  .l-common-table01 tbody tr td {
    display: table-cell;
  }
}
.l-common-table01 tbody tr th {
  padding: 0.5rem 1rem;
  padding-bottom: 10px;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  border-bottom: none;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01 tbody tr th {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 10px;
    width: 25%;
    color: #0d2a5f;
    border-bottom: 1px solid #0466c4;
    background: none;
  }
}
.l-common-table01 tbody tr td {
  padding: 1rem;
}
@media print, screen and (min-width: 768px) {
  .l-common-table01 tbody tr td {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 15px;
    width: 75%;
    padding-left: 1.5rem;
  }
}

.l-common-table01 tbody tr td ul li {
  position: relative;
  margin-bottom: 10px;
}
.l-common-table01 tbody tr td ul li:nth-last-child(1) {
  margin-bottom: 0;
}
.l-common-table01 tbody tr td ul li::before {
  content: "";
  position: absolute;
  top: 0.625rem;
  left: -0.8rem;
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #575757;
}

.l-common-table02 {
  width: 100%;
  border-collapse: collapse;
  letter-spacing: 0.1em;
  border: 1px solid #ccc;
}
.l-common-table02 thead tr,
.l-common-table02 tbody tr {
  display: block;
  border-bottom: 1px solid #ccc;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .l-common-table02 thead tr,
  .l-common-table02 tbody tr {
    display: table;
  }
}
.l-common-table02 thead tr:last-of-type,
.l-common-table02 tbody tr:last-of-type {
  border-bottom: none;
}
.l-common-table02 thead tr th,
.l-common-table02 thead tr th td,
.l-common-table02 tbody tr th,
.l-common-table02 tbody tr th td {
  display: block;
  padding: 1rem 0;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .l-common-table02 thead tr th,
  .l-common-table02 thead tr th td,
  .l-common-table02 tbody tr th,
  .l-common-table02 tbody tr th td {
    display: table-cell;
  }
}
.l-common-table02 thead tr th {
  padding: 0.8rem 0 0.8rem 1.5rem;
  background: #0466c4;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .l-common-table02 thead tr th.first {
    width: 20%;
  }
}
@media screen and (min-width: 1200px) {
  .l-common-table02 thead tr th.first {
    width: 15%;
  }
}
.l-common-table02 thead tr th.second {
  width: auto;
}
.l-common-table02 tbody tr th {
  padding: 0.8rem 0 0.8rem 1.5rem;
  background: #eee;
}
@media print, screen and (min-width: 768px) {
  .l-common-table02 tbody tr th {
    width: 20%;
  }
}
@media screen and (min-width: 1200px) {
  .l-common-table02 tbody tr th {
    width: 15%;
  }
}
.l-common-table02 tbody tr td {
  padding: 0.8rem 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .l-common-table02 tbody tr td {
    width: auto;
  }
}

.l-common-table03 {
  width: 100%;
  border-collapse: collapse;
  letter-spacing: 0.1em;
  border: 1px solid #ccc;
}
.l-common-table03 thead tr,
.l-common-table03 tbody tr {
  display: table;
  border-bottom: 1px solid #ccc;
  width: 100%;
}
.l-common-table03 thead tr:last-of-type,
.l-common-table03 tbody tr:last-of-type {
  border-bottom: none;
}
.l-common-table03 thead tr th,
.l-common-table03 thead tr th td,
.l-common-table03 tbody tr th,
.l-common-table03 tbody tr th td {
  display: table-cell;
  padding: 1rem 0;
  width: 100%;
}
.l-common-table03 thead tr th {
  padding: 0.8rem;
  background: #0466c4;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .l-common-table03 thead tr th {
    padding: 0.8rem 1.5rem;
  }
}
.l-common-table03 thead tr th:first-of-type {
  width: 30%;
  border-right: 1px solid #ccc;
}
@media print, screen and (min-width: 768px) {
  .l-common-table03 thead tr th:first-of-type {
    width: 20%;
  }
}
.l-common-table03 tbody tr th {
  padding: 0.8rem;
  background: #eee;
  width: 30%;
}
@media print, screen and (min-width: 768px) {
  .l-common-table03 tbody tr th {
    padding: 0.8rem 1.5rem;
    width: 20%;
  }
}
.l-common-table03 tbody tr td {
  padding: 0.8rem;
  width: auto;
}
@media print, screen and (min-width: 768px) {
  .l-common-table03 tbody tr td {
    padding: 0.8rem 1.5rem;
  }
}

/* ----------------
    mail form
* ---------------- */
.l-common-mailTable__hissu {
  position: relative;
  top: 4px;
  display: inline-block;
  width: 32px;
  height: 20px;
  background: url("../../images/common/hissu.svg") no-repeat;
  background-position: center;
  background-size: contain;
}

tr.hissu input.form-control,
tr.hissu textarea.form-control,
tr.hissu select.form-control{
  background-color: #eee;
}

.custom-select {
  font-size: 0.9rem;
}

input[type=text].form-control,
textarea.form-control {
  color: #0d2a5f !important;
}

.form-control {
  font-size: 0.9rem;
}
.form-control::-webkit-input-placeholder {
  color: #aaa;
}
.form-control::-moz-placeholder {
  color: #aaa;
}
.form-control:-ms-input-placeholder {
  color: #aaa;
}
.form-control::-ms-input-placeholder {
  color: #aaa;
}
.form-control::placeholder {
  color: #aaa;
}
.form-control option:checked {
  background: -webkit-gradient(linear, left top, left bottom, from(red), to(red));
  background: -webkit-linear-gradient(red, red);
  background: linear-gradient(red, red);
}

.l-common-mailTable .l-common-mailTable__form .l-common-mailTable__hissu {
  margin-left: 5px;
}
.l-common-mailTable .l-common-mailTable__form table {
  line-height: 1.6666;
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #ccc;
  margin-bottom: 20px;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr {
  display: block;
  width: 100%;
  border-bottom: 1px solid #ccc;
}
@media print, screen and (min-width: 768px) {
  .l-common-mailTable .l-common-mailTable__form table tbody tr {
    display: table;
  }
}
.l-common-mailTable .l-common-mailTable__form table tbody tr th,
.l-common-mailTable .l-common-mailTable__form table tbody tr td {
  display: block;
  width: 100%;
  padding: 1rem;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .l-common-mailTable .l-common-mailTable__form table tbody tr th,
  .l-common-mailTable .l-common-mailTable__form table tbody tr td {
    display: table-cell;
    padding: 1em 0;
  }
}
.l-common-mailTable .l-common-mailTable__form table tbody tr th {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  text-align: left;
  width: 16em;
  padding-left: 0;
}
@media print, screen and (min-width: 768px) {
  .l-common-mailTable .l-common-mailTable__form table tbody tr th {
    width: 20%;
    padding-left: 1em;
  }
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td {
  padding-top: 0;
  padding-left: 0;
}
@media print, screen and (min-width: 768px) {
  .l-common-mailTable .l-common-mailTable__form table tbody tr td {
    padding-top: 20px;
    width: auto;
    padding-left: 2em;
  }
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td .sm {
  width: auto !important;
  display: inline;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td .xs {
  width: auto !important;
  display: inline;
  width: 80px !important;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td .md {
  max-width: 360px !important;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td .rei {
  color: #999;
  font-size: 12px;
  line-height: normal;
  display: block;
  margin: 5px 0 0;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td table {
  border-top: none;
}
.l-common-mailTable .l-common-mailTable__form table tbody tr td table tr:last-of-type {
  border-bottom: none;
}
.l-common-mailTable .l-common-mailTable__form .agree {
  text-align: center;
  margin-top: 20px;
}
.l-common-mailTable .l-common-mailTable__form .form_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  gap: 20px 30px;
  margin-top: 20px;
}
@media print, screen and (min-width: 768px) {
  .l-common-mailTable .l-common-mailTable__form .form_btn {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-common-mailTable .l-common-mailTable__form .form_btn .btn {
  cursor: pointer;
}
.l-common-mailTable .l-common-mailTable__form .hosoku {
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: 16px;
  font-size: 1rem;
  color: #078c87;
}
@media print, screen and (min-width: 768px) {
  .l-common-mailTable .l-common-mailTable__form .hosoku {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
.l-common-mailTable .l-common-mailTable__form .policy {
  margin-top: 30px;
}
.l-common-mailTable .l-common-mailTable__form .policy .ttl {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  margin: 1rem 0;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents {
  padding: 1.5% 3.4448%;
  border: solid 1px #ccc;
  max-height: 300px;
  overflow: auto;
  line-height: 1.7;
  background-color: #fff;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents::-webkit-scrollbar {
  width: 5px;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents::-webkit-scrollbar-track {
  background: #ccc;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents::-webkit-scrollbar-thumb {
  background: -webkit-gradient(linear, left bottom, left top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(bottom, #073489 0%, #219eff 100%);
  background: linear-gradient(0deg, #073489 0%, #219eff 100%);
}
.l-common-mailTable .l-common-mailTable__form .policy .contents .subTtl {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  margin: 2rem 0 0;
  padding-bottom: 5px;
  color: #0466c4;
  border-bottom: 1px solid #ccc;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents p,
.l-common-mailTable .l-common-mailTable__form .policy .contents ol {
  font-size: 16px;
  font-size: 1rem;
  margin: 1rem 0;
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media print, screen and (min-width: 992px) {
  .l-common-mailTable .l-common-mailTable__form .policy .contents p,
  .l-common-mailTable .l-common-mailTable__form .policy .contents ol {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
.l-common-mailTable .l-common-mailTable__form .policy .contents ol {
  padding-left: 0;
  list-style: none;
  counter-reset: number;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents ol li {
  padding-left: 2em;
  margin-bottom: 5px;
  position: relative;
}
.l-common-mailTable .l-common-mailTable__form .policy .contents ol li::before {
  position: absolute;
  top: 0;
  left: 0;
  counter-increment: number;
  content: counter(number) " .";
}
.l-common-mailTable .l-common-mailTable__form .policy .contents p a {
  color: #078c87;
  border-bottom: 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* ----------------
    common btn
* ---------------- */
/* style01 */
.c-btn__style01 {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 260px;
  height: 60px;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  border-radius: 9999px;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: 0.025em;
}
@media print, screen and (min-width: 768px) {
  .c-btn__style01 {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.c-btn__style01.en {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
.c-btn__style01::before, .c-btn__style01::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.c-btn__style01::before {
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  z-index: -2;
}
.c-btn__style01::after {
  background: #0466c4;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.c-btn__style01:active, .c-btn__style01:focus, .c-btn__style01:hover {
  outline: none;
  color: #fff;
}
.c-btn__style01:active::after, .c-btn__style01:focus::after, .c-btn__style01:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}

/* style02 */
.c-btn__style02 {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 260px;
  height: 60px;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  border-radius: 9999px;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: 0.025em;
}
@media print, screen and (min-width: 768px) {
  .c-btn__style02 {
    font-size: 18px;
    font-size: 1.125rem;
    width: 180px;
    height: 48px;
  }
}
.c-btn__style02.en {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
.c-btn__style02::before, .c-btn__style02::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.c-btn__style02::before {
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  z-index: -2;
}
.c-btn__style02::after {
  background: #0466c4;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.c-btn__style02:active, .c-btn__style02:focus, .c-btn__style02:hover {
  outline: none;
  color: #fff;
}
.c-btn__style02:active::after, .c-btn__style02:focus::after, .c-btn__style02:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}

/* style03 */
.c-btn__style03 {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 260px;
  height: 60px;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  border-radius: 9999px;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: 0.025em;
}
@media print, screen and (min-width: 768px) {
  .c-btn__style03 {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.c-btn__style03.en {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
.c-btn__style03::before, .c-btn__style03::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.c-btn__style03::before {
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#078c87), to(#16ccc5));
  background: -webkit-linear-gradient(left, #078c87 0%, #16ccc5 100%);
  background: linear-gradient(90deg, #078c87 0%, #16ccc5 100%);
  z-index: -2;
}
.c-btn__style03::after {
  background: #078c87;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.c-btn__style03:active, .c-btn__style03:focus, .c-btn__style03:hover {
  outline: none;
  color: #fff;
}
.c-btn__style03:active::after, .c-btn__style03:focus::after, .c-btn__style03:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.c-btn__style03.home_douga_link {
  font-size: 20px;
  font-size: 1.25rem;
}
@media print, screen and (min-width: 768px) {
  .c-btn__style03.home_douga_link {
    width: 100%;
    max-width: 480px;
    height: 90px;
    font-size: 30px;
    font-size: 1.875rem;
  }
}

/* style04 */
.c-btn__style04 {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(150px, 48vw, 180px);
  height: 48px;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  border-radius: 9999px;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: 0.025em;
}
@media print, screen and (min-width: 768px) {
  .c-btn__style04 {
    width: 150px;
    height: 48px;
  }
}
@media print, screen and (min-width: 992px) {
  .c-btn__style04 {
    width: 180px;
    height: 48px;
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.c-btn__style04.en {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
.c-btn__style04::before, .c-btn__style04::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.c-btn__style04::before {
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#078c87), to(#16ccc5));
  background: -webkit-linear-gradient(left, #078c87 0%, #16ccc5 100%);
  background: linear-gradient(90deg, #078c87 0%, #16ccc5 100%);
  z-index: -2;
}
.c-btn__style04::after {
  background: #078c87;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.c-btn__style04:active, .c-btn__style04:focus, .c-btn__style04:hover {
  outline: none;
  color: #fff;
}
.c-btn__style04:active::after, .c-btn__style04:focus::after, .c-btn__style04:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}

/* style05　戻るボタン */
.c-btn__style05 {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 260px;
  height: 60px;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  border-radius: 9999px;
  overflow: hidden;
  cursor: pointer;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: 0.025em;
}
@media print, screen and (min-width: 768px) {
  .c-btn__style05 {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.c-btn__style05.en {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
.c-btn__style05::before, .c-btn__style05::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.c-btn__style05::before {
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgb(145, 150, 161)), to(rgb(181, 187, 199)));
  background: -webkit-linear-gradient(left, rgb(145, 150, 161) 0%, rgb(181, 187, 199) 100%);
  background: linear-gradient(90deg, rgb(145, 150, 161) 0%, rgb(181, 187, 199) 100%);
  z-index: -2;
}
.c-btn__style05::after {
  background: rgb(152, 158, 169);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.c-btn__style05:active, .c-btn__style05:focus, .c-btn__style05:hover {
  outline: none;
  color: #fff;
}
.c-btn__style05:active::after, .c-btn__style05:focus::after, .c-btn__style05:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}

/* style06 詳細ボタン */
.c-btn__style06 {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100px;
  height: 40px;
  color: #fff;
  text-align: center;
  border-radius: 9999px;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: 0.025em;
  font-size: 14px;
  font-size: 0.875rem;
}
.c-btn__style06.en {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
.c-btn__style06::before, .c-btn__style06::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.c-btn__style06::before {
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  z-index: -2;
}
.c-btn__style06::after {
  background: #0466c4;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.c-btn__style06:active, .c-btn__style06:focus, .c-btn__style06:hover {
  outline: none;
  color: #fff;
}
.c-btn__style06:active::after, .c-btn__style06:focus::after, .c-btn__style06:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}

/* style07 pdfファイルボタン */
.c-btn__style07 {
  position: relative;
  padding: 20px 30px 20px 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 260px;
  min-height: 60px;
  color: #fff;
  font-size: 1rem;
  text-align: center;
  border-radius: 9999px;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: 0.025em;
}
@media print, screen and (min-width: 768px) {
  .c-btn__style07 {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.c-btn__style07.en {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
.c-btn__style07::before, .c-btn__style07::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.c-btn__style07::before {
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  z-index: -2;
}
.c-btn__style07::after {
  background: #0466c4;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.c-btn__style07:active, .c-btn__style07:focus, .c-btn__style07:hover {
  outline: none;
  color: #fff;
}
.c-btn__style07:active::after, .c-btn__style07:focus::after, .c-btn__style07:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.c-btn__style07 span::before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: calc(100% - 50px);
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  aspect-ratio: 1/1;
  background-color: #fff;
}
.c-btn__style07 span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(100% - 50px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 20px;
  height: 26px;
  background-repeat: no-repeat;
}
.c-btn__style07 span.pdf::after {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%23ed3242" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z" /&gt;&lt;/svg&gt;');
}
.c-btn__style07 span.word::after {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%231b69d3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm55 241.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l25-83.4 25 83.4c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-25 83.4-25-83.4c-3-10.2-12.4-17.1-23-17.1s-19.9 7-23 17.1l-25 83.4-25-83.4z" /&gt;&lt;/svg&gt;');
}
.c-btn__style07 span.excel::after {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%23078c87" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm90.9 233.3c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7L161.6 320l-44.5 57.3c-8.1 10.5-6.3 25.5 4.2 33.7s25.5 6.3 33.7-4.2L192 359.1l37.1 47.6c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7L222.4 320l44.5-57.3c8.1-10.5 6.3-25.5-4.2-33.7s-25.5-6.3-33.7 4.2L192 280.9l-37.1-47.6z" /&gt;&lt;/svg&gt;');
}
.c-btn__style07 span.other::after {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%23aaaaaa" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64z" /&gt;&lt;/svg&gt;');
}

.furufuru {
  -webkit-animation: furufuru 2.72s ease infinite;
          animation: furufuru 2.72s ease infinite;
}

@-webkit-keyframes furufuru {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  4.41177% {
    -webkit-transform: translate(5px, 0);
            transform: translate(5px, 0);
  }
  8.82353% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  13.23529% {
    -webkit-transform: translate(5px, 0);
            transform: translate(5px, 0);
  }
  17.64706% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  22.05882% {
    -webkit-transform: translate(5px, 0);
            transform: translate(5px, 0);
  }
  26.47059% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

@keyframes furufuru {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  4.41177% {
    -webkit-transform: translate(5px, 0);
            transform: translate(5px, 0);
  }
  8.82353% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  13.23529% {
    -webkit-transform: translate(5px, 0);
            transform: translate(5px, 0);
  }
  17.64706% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  22.05882% {
    -webkit-transform: translate(5px, 0);
            transform: translate(5px, 0);
  }
  26.47059% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
/* ----------------
    common title
* ---------------- */
/* style01 */
.c-title__style01 {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding: 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 30px;
  font-size: 1.875rem;
  color: #0466c4;
  line-height: 1;
  border: 2px solid;
  border-color: #0466c4;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .c-title__style01 {
    padding: 12px 15px 15px 15px;
    font-size: 36px;
    font-size: 2.25rem;
  }
}
.c-title__style01.white {
  color: #fff;
  border-color: #fff;
}
.c-title__style01::before {
  content: "";
  position: absolute;
  top: -68px;
  left: -50px;
  display: block;
  width: 200%;
  height: 200%;
  background-size: 50%;
  background-repeat: no-repeat;
}
@media print, screen and (min-width: 768px) {
  .c-title__style01::before {
    top: -90px;
    left: -60px;
  }
}
@media print, screen and (min-width: 768px) {
  .c-title__style01.aboutus {
    margin-left: 0;
    margin-right: auto;
  }
}
.c-title__style01.aboutus::before {
  width: 130%;
  height: 200%;
  background-image: url(../../images/home/c-title__en-aboutus_2x.png);
}
.c-title__style01.business::before {
  top: -70px;
  left: -50px;
  background-image: url(../../images/home/c-title__en-business_2x.png);
}
.c-title__style01.topics {
  color: #fff;
  border-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .c-title__style01.topics {
    text-align: center;
  }
  .c-title__style01.topics span {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    display: inline-block;
  }
}
.c-title__style01.topics::before {
  top: -80px;
  left: -60px;
  width: 122px;
  height: 148px;
  background-size: 100%;
  background-image: url(../../images/home/c-title__en-topics_2x.png);
}
@media print, screen and (min-width: 768px) {
  .c-title__style01.recruit {
    margin-left: 0;
    margin-right: auto;
  }
}
.c-title__style01.recruit::before {
  background-image: url(../../images/home/c-title__en-recruit_2x.png);
}
.c-title__style01.contact {
  color: #fff;
  border-color: #fff;
}
.c-title__style01.contact::before {
  width: 160%;
  height: 160%;
  background-image: url(../../images/home/c-title__en-contactus_2x.png);
}

/* style02 */
.c-title__style02 {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-title__style02 .en {
  position: absolute;
  bottom: calc(100% - 20px);
  left: -50px;
  display: block;
  font-family: "connoisseurs", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: 60px;
  font-size: 3.75rem;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  line-height: 1;
  background: -webkit-gradient(linear, left top, right top, from(#078c87), to(#16ccc5));
  background: -webkit-linear-gradient(left, #078c87 0%, #16ccc5 100%);
  background: linear-gradient(90deg, #078c87 0%, #16ccc5 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  white-space: nowrap;
  z-index: -1;
}
@media print, screen and (min-width: 768px) {
  .c-title__style02 .en {
    font-size: 80px;
    font-size: 5rem;
  }
}
.c-title__style02 .ja {
  position: relative;
  padding: 10px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  color: #0466c4;
  border: 2px solid #0466c4;
  font-size: 22px;
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .c-title__style02 .ja {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

.c-title__subtitle {
  line-height: 1;
  font-size: 22px;
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .c-title__subtitle {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

.c-title__subtitle-waku {
  line-height: 1;
  font-size: 22px;
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 10px;
  white-space: nowrap;
  border: 1px solid #0d2a5f;
}
@media print, screen and (min-width: 768px) {
  .c-title__subtitle-waku {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

.c-title__subtitle02 {
  line-height: 1;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .c-title__subtitle02 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

/* ----------------
    common text
* ---------------- */
.c-text__center {
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  line-height: 2;
  z-index: 0;
}
.c-text__center::before, .c-text__center::after {
  content: "";
  width: 0;
  height: 0;
  display: block;
}
.c-text__center::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.c-text__center::after {
  margin-bottom: calc((1 - 2) * 0.6em);
}

@media print, screen and (min-width: 768px) {
  .c-text__center {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}
/* ----------------
    pagetop
* ---------------- */
.c-pagetop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: clamp(40px, 2.3958333333vw, 46px);
  height: clamp(40px, 2.3958333333vw, 46px);
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
  z-index: 5;
  cursor: pointer;
}
.c-pagetop.is-active {
  opacity: 1;
}
.c-pagetop:active {
  opacity: 0.85;
}
.c-pagetop svg {
  fill: #fff;
  width: 20px;
  height: 20px;
}

@media print, screen and (min-width: 992px) {
  .c-pagetop:hover {
    opacity: 0.8;
  }
}
/* ----------------
    file icon
* ---------------- */
.c-fileicon {
  position: relative;
  display: inline-block;
  vertical-align: text-top;
  width: 26px;
  height: 26px;
  aspect-ratio: 1/1;
  background-color: transparent;
  overflow: hidden;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.c-fileicon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 20px;
  height: 26px;
  background-repeat: no-repeat;
}
.c-fileicon.pdf::before {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%23ed3242" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z" /&gt;&lt;/svg&gt;');
}
.c-fileicon.word::before {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%231b69d3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm55 241.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l25-83.4 25 83.4c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-25 83.4-25-83.4c-3-10.2-12.4-17.1-23-17.1s-19.9 7-23 17.1l-25 83.4-25-83.4z" /&gt;&lt;/svg&gt;');
}
.c-fileicon.excel::before {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%23078c87" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm90.9 233.3c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7L161.6 320l-44.5 57.3c-8.1 10.5-6.3 25.5 4.2 33.7s25.5 6.3 33.7-4.2L192 359.1l37.1 47.6c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7L222.4 320l44.5-57.3c8.1-10.5 6.3-25.5-4.2-33.7s-25.5-6.3-33.7 4.2L192 280.9l-37.1-47.6z" /&gt;&lt;/svg&gt;');
}
.c-fileicon:active, .c-fileicon:focus, .c-fileicon:hover {
  opacity: 0.65;
}

/* ----------------
    p-home-intro movie
* ---------------- */
.p-home-intro {
  position: fixed;
  -webkit-transition: all 800ms;
  transition: all 800ms;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999997;
  background-color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-home-intro.displaynone {
  display: none;
}

.p-home-intro_movie {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  place-content: center;
  overflow: hidden;
  background-color: #000;
}

.p-home-intro_movie video {
  position: absolute;
  top: 50%;
  left: 50%;
  right: 50%;
  bottom: 50%;
  min-width: 100%;
  min-height: 100%;
  width: 100%;
  height: auto;
  max-width: 1920px;
  max-width: 1080px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.slideup {
  -webkit-transform: translateY(-100vh);
          transform: translateY(-100vh);
}

/* 音声再生 */
.p-home-intro_btn {
  position: absolute;
  right: 15px;
  bottom: 15px;
  z-index: 9999;
}

.p-home-intro_btn a {
  position: relative;
  display: block;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  text-align: center;
  line-height: 1.2;
  background-color: #fff;
  text-decoration: none;
  z-index: 9998;
}

.p-home-intro_btn a::before {
  content: "";
  position: absolute;
  top: 36%;
  left: 52%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 20px;
  height: 25px;
  background-image: url('data:image/svg+xml;utf8,&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.5 28.75"&gt;&lt;path fill="%23000" d="M13.776,24.852a7.526,7.526,0,0,0-3.42-.864c-2.844,0-5.075,1.728-5.075,3.852,0,1.908,2.3,3.636,5.075,3.636,3.132,0,5.291-2.016,5.291-4V10.849a32.346,32.346,0,0,0,2.916,1.512c1.908,1.008,2.88,2.34,2.88,3.816a7.286,7.286,0,0,1-2.268,4.751,1.785,1.785,0,0,0-.684,1.08,0.3,0.3,0,0,0,.324.324c1.008,0,5.975-3.887,5.975-8.243,0-2.376-1.584-3.96-4.392-5.615a16.156,16.156,0,0,1-5.327-5.147,1.19,1.19,0,0,0-.756-0.612,0.744,0.744,0,0,0-.54.9V24.852Z" transform="translate(-5.281 -2.719)"/&gt;&lt;/svg&gt;');
  background-repeat: no-repeat;
  background-size: contain;
}

.p-home-intro_btn.is-active a::after {
  content: "";
  position: absolute;
  top: 32%;
  left: 60%;
  -webkit-transform: rotate(-45deg) translate(-50%, -50%);
          transform: rotate(-45deg) translate(-50%, -50%);
  display: block;
  width: 2px;
  height: 30px;
  background-color: #000;
  background-repeat: no-repeat;
  background-size: contain;
}

.p-home-intro_btnText {
  position: absolute;
  top: 56%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 14px;
  color: #000;
  white-space: nowrap;
}

/* あり・なしの文字切り替え */
.p-home-intro_btn .p-home-intro_btnText .p-home-intro_btnText .ari {
  display: inline;
}

.p-home-intro_btn .nashi {
  display: none;
}

.p-home-intro_btn.is-active .p-home-intro_btnText .ari {
  display: none;
}

.p-home-intro_btn.is-active .p-home-intro_btnText .nashi {
  display: inline;
}

/* スクロールボタン */
.p-home-intro_scroll {
  position: absolute;
  left: 50%;
  bottom: 10vh;
  z-index: 9998;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  /* display: flex;
  align-items: flex-end; */
  /* padding: 0 3rem 10vh; */
}

.p-home-intro_scroll a {
  display: block;
  color: #fff;
  text-shadow: 0 0 0.5rem #000, 0 0 0.5rem #000;
  text-align: center;
  width: 100%;
  line-height: 1;
  font-size: 1rem;
  letter-spacing: 0.05em;
  text-decoration: none;
}

.p-home-intro_scroll a:after {
  content: "";
  display: block;
  margin-top: 0.25em;
  margin-left: auto;
  margin-right: auto;
  width: 50px;
  height: 27px;
  background-image: url('data:image/svg+xml;utf8,&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 32"&gt;&lt;path fill="%23fff" d="M159.556,52.272l-29.7,29.7-0.706-.706-0.01.01L100.151,52.284l2.121-2.121,27.576,27.576,27.587-27.587Z" transform="translate(-100 -50)" /&gt;&lt;/svg&gt;');
  background-size: contain;
  -webkit-filter: drop-shadow(0 0 0.5rem #000);
          filter: drop-shadow(0 0 0.5rem #000);
  -webkit-animation: scrollArrow 2s ease infinite;
          animation: scrollArrow 2s ease infinite;
}

@-webkit-keyframes scrollArrow {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  60% {
    -webkit-transform: translateY(2.5vw);
            transform: translateY(2.5vw);
  }
  0%, 60%, 100% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
}

@keyframes scrollArrow {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  60% {
    -webkit-transform: translateY(2.5vw);
            transform: translateY(2.5vw);
  }
  0%, 60%, 100% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
}
/* ----------------
    mainvisual
* ---------------- */
.p-home-mv {
  position: relative;
  margin-top: 60px;
  width: 100%;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 992px) {
  .p-home-mv {
    margin-top: 100px;
  }
}
.p-home-mv .swiper {
  z-index: 1;
}

.p-home-mv__photo {
  position: relative;
  margin-left: auto;
  width: min(94vw, 1800px);
  height: 320px;
  -webkit-clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(10% 0%, 100% 0%, 100% 100%, 0% 100%);
}
@media screen and (min-width: 576px) {
  .p-home-mv__photo {
    width: min(80vw, 1600px);
  }
}
@media print, screen and (min-width: 768px) {
  .p-home-mv__photo {
    height: 600px;
  }
}
@media screen and (min-width: 1200px) {
  .p-home-mv__photo {
    height: clamp(700px, 45vw, 900px);
  }
}

.p-home-mv__left {
  position: absolute;
  top: 0;
  left: 0;
  width: min(35vw, 750px);
  height: 300px;
  -webkit-clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0%, 80% 100%, 0% 100%);
  z-index: 2;
}
@media screen and (min-width: 576px) {
  .p-home-mv__left {
    width: min(37.5vw, 750px);
  }
}
@media print, screen and (min-width: 768px) {
  .p-home-mv__left {
    height: 520px;
  }
}
@media screen and (min-width: 1200px) {
  .p-home-mv__left {
    height: clamp(600px, 40vw, 800px);
  }
}
.p-home-mv__left .subtext {
  position: absolute;
  bottom: min(2vw, 40px);
  left: min(2vw, 40px);
}
.p-home-mv__left .subtext img {
  width: min(22vw, 80px);
}
@media print, screen and (min-width: 768px) {
  .p-home-mv__left .subtext img {
    width: min(18vw, 225px);
  }
}
@media screen and (min-width: 1200px) {
  .p-home-mv__left .subtext img {
    width: 225px;
  }
}
.p-home-mv__left .p-home-mv__caption {
  position: absolute;
  top: 45%;
  left: 35%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100px;
  z-index: 3;
}
@media screen and (min-width: 576px) {
  .p-home-mv__left .p-home-mv__caption {
    width: min(18vw, 160px);
  }
}
@media screen and (min-width: 1200px) {
  .p-home-mv__left .p-home-mv__caption {
    top: min(6vw, 120px);
    left: min(6.3vw, 126px);
    -webkit-transform: none;
            transform: none;
    width: clamp(220px, 14.1vw, 282px);
  }
}
.p-home-mv__left .p-home-mv__caption img {
  width: 100%;
}

/* ----------------
    home about
* ---------------- */
@media print, screen and (min-width: 768px) {
  .p-home-about.l-common-lr01 {
    height: 800px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-home-about.l-common-lr01 .l-common-lr01__img {
    height: 800px;
  }
}

.p-home-about__lr01__container {
  margin-bottom: 30px;
}

.l-common-lr01 .p-home-about__card-inner {
  padding-top: 40px;
  padding-right: 15px;
  padding-left: 15px;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .p-home-about__card-inner {
    padding-top: 140px;
    padding-right: 100px;
    padding-bottom: 0;
    padding-left: 100px;
  }
}

/* ----------------
    home business
* ---------------- */
.p-home-business {
  position: relative;
  width: 100%;
  height: 700px;
  overflow: hidden;
  z-index: 0;
}
@media screen and (min-width: 576px) {
  .p-home-business {
    height: 971px;
  }
}

.p-home-business__bg {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}

.p-home-business__card {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .p-home-business__card {
    height: 416px;
  }
}

.p-home-business__card-inner {
  padding-top: 120px;
  padding-right: 15px;
  padding-bottom: 60px;
  padding-left: 15px;
  width: 100%;
  height: 100%;
  background-color: #fff;
  -webkit-filter: drop-shadow(0 0 50px rgba(51, 51, 51, 0.1));
          filter: drop-shadow(0 0 50px rgba(51, 51, 51, 0.1));
}
@media screen and (min-width: 576px) {
  .p-home-business__card-inner {
    padding-top: 120px;
    padding-right: 60px;
    padding-left: 60px;
  }
}
@media screen and (min-width: 1200px) {
  .p-home-business__card-inner {
    padding-top: 120px;
    padding-right: 100px;
    padding-bottom: 0;
    padding-left: 100px;
  }
}

.p-home-business__card-deco {
  position: absolute;
  left: -30px;
  bottom: -30px;
  display: none;
  width: 300px;
  height: 300px;
  z-index: -1;
  pointer-events: none;
}
@media screen and (min-width: 576px) {
  .p-home-business__card-deco {
    display: block;
  }
}

/* ----------------
    home case
* ---------------- */
.p-home-case__card {
  position: relative;
  width: 100%;
  display: grid;
  place-content: center;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p-home-case__card {
    aspect-ratio: 3/2;
  }
}
@media print, screen and (min-width: 768px) {
  .p-home-case__card {
    height: 350px;
  }
}
.p-home-case__card:first-of-type {
  margin-bottom: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-home-case__card:first-of-type {
    margin-bottom: 0;
  }
}
.p-home-case__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  mix-blend-mode: overlay;
  background-color: rgba(13, 42, 95, 0.5);
  z-index: -2;
}
.p-home-case__card:active::before, .p-home-case__card:focus::before, .p-home-case__card:hover::before {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.p-home-case__card .c-btn__style02 {
  pointer-events: auto;
}
.p-home-case__card .c-btn__style02:active ~ .p-home-case__bg, .p-home-case__card .c-btn__style02:focus ~ .p-home-case__bg, .p-home-case__card .c-btn__style02:hover ~ .p-home-case__bg {
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
}

.p-home-case__bg {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  z-index: -3;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.p-home-case__card-title {
  font-size: 30px;
  font-size: 1.875rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.35));
          filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.35));
  line-height: 1;
  text-align: center;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .p-home-case__card-title {
    font-size: 36px;
    font-size: 2.25rem;
  }
}

/* ----------------
    home topics
* ---------------- */
.p-home-topics {
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 0;
}

.p-home-topics__container {
  width: calc(100% - 30px);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  z-index: 0;
  background-color: #0d2a5f;
}
@media print, screen and (min-width: 768px) {
  .p-home-topics__container {
    width: 95%;
    margin-right: 0;
  }
}
@media print, screen and (min-width: 992px) {
  .p-home-topics__container {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 388px auto;
  }
}
@media screen and (min-width: 1200px) {
  .p-home-topics__container {
    width: 90%;
    min-height: 537px;
    grid-template-columns: 540px auto;
  }
}

.p-home-topics__title {
  position: relative;
  padding-top: 153px;
  z-index: 0;
  grid-column: 1/2;
  grid-row: 1/2;
}
@media print, screen and (min-width: 992px) {
  .p-home-topics__title {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}

.p-home-topics__button {
  position: relative;
  padding-bottom: 90px;
  z-index: 0;
  grid-column: 1/2;
  grid-row: 3/4;
}
@media print, screen and (min-width: 992px) {
  .p-home-topics__button {
    grid-column: 1/2;
    grid-row: 2/2;
  }
}

.p-home-topics__contents {
  position: relative;
  color: #fff;
  grid-column: 1/2;
  grid-row: 2/3;
  padding-right: 20px;
  padding-left: 20px;
  z-index: 0;
}
@media screen and (min-width: 576px) {
  .p-home-topics__contents {
    padding-right: 60px;
    padding-left: 60px;
  }
}
@media print, screen and (min-width: 992px) {
  .p-home-topics__contents {
    grid-column: 2/3;
    grid-row: 1/3;
    margin-top: 60px;
    margin-bottom: 60px;
    padding-right: min(3vw, 60px);
    padding-left: min(3vw, 60px);
  }
  .p-home-topics__contents::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 4px;
    height: 100%;
    background: -webkit-gradient(linear, left bottom, left top, from(#078c87), to(#16ccc5));
    background: -webkit-linear-gradient(bottom, #078c87 0%, #16ccc5 100%);
    background: linear-gradient(0deg, #078c87 0%, #16ccc5 100%);
    z-index: 1;
  }
}
@media screen and (min-width: 1200px) {
  .p-home-topics__contents {
    padding-right: min(6vw, 120px);
    padding-left: min(6vw, 120px);
  }
}

.p-home-topics__contents-item {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 102px 44px auto;
  grid-template-rows: auto auto;
  gap: 10px;
  padding-bottom: 60px;
}
@media print, screen and (min-width: 992px) {
  .p-home-topics__contents-item {
    padding-bottom: 60px;
  }
  .p-home-topics__contents-item:first-of-type {
    padding-top: 60px;
  }
}
@media screen and (min-width: 1500px) {
  .p-home-topics__contents-item {
    grid-template-rows: auto;
    gap: 0 30px;
    padding-bottom: 40px;
  }
  .p-home-topics__contents-item:first-of-type {
    padding-top: 40px;
  }
}

.p-home-topics__contents-item-date {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  grid-column: 1/2;
  grid-row: 1/2;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
}
@media screen and (min-width: 1500px) {
  .p-home-topics__contents-item-date {
    grid-row: 1/1;
    text-align: center;
    font-size: 18px;
    font-size: 1.125rem;
  }
}

.p-home-topics__contents-item-new {
  padding: 5px 0;
  color: #0d2a5f;
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  background: -webkit-gradient(linear, left top, right top, from(#078c87), to(#16ccc5));
  background: -webkit-linear-gradient(left, #078c87 0%, #16ccc5 100%);
  background: linear-gradient(90deg, #078c87 0%, #16ccc5 100%);
  text-align: center;
  grid-column: 2/3;
  grid-row: 1/2;
}
@media screen and (min-width: 1500px) {
  .p-home-topics__contents-item-new {
    grid-row: 1/1;
  }
}

.p-home-topics__contents-item-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  grid-column: 1/4;
  grid-row: 2/3;
}
@media screen and (min-width: 1400px) {
  .p-home-topics__contents-item-text {
    grid-column: 3/4;
    grid-row: 1/1;
  }
}
.p-home-topics__contents-item-text a {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: underline;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.p-home-topics__contents-item-text a:active, .p-home-topics__contents-item-text a:focus, .p-home-topics__contents-item-text a:hover {
  color: #16ccc5;
}
.p-home-topics__contents-item-text .file {
  position: relative;
  display: block;
  margin-left: 30px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  aspect-ratio: 1/1;
  background-color: #fff;
}
.p-home-topics__contents-item-text .file::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 20px;
  height: 26px;
  background-repeat: no-repeat;
}
.p-home-topics__contents-item-text .file.pdf::before {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%23ed3242" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z" /&gt;&lt;/svg&gt;');
}
.p-home-topics__contents-item-text .file.word::before {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%231b69d3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm55 241.1c-3.8-12.7-17.2-19.9-29.9-16.1s-19.9 17.2-16.1 29.9l48 160c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l25-83.4 25 83.4c3 10.2 12.4 17.1 23 17.1s19.9-7 23-17.1l48-160c3.8-12.7-3.4-26.1-16.1-29.9s-26.1 3.4-29.9 16.1l-25 83.4-25-83.4c-3-10.2-12.4-17.1-23-17.1s-19.9 7-23 17.1l-25 83.4-25-83.4z" /&gt;&lt;/svg&gt;');
}
.p-home-topics__contents-item-text .file.excel::before {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%23078c87" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M48 448V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zm90.9 233.3c-8.1-10.5-23.2-12.3-33.7-4.2s-12.3 23.2-4.2 33.7L161.6 320l-44.5 57.3c-8.1 10.5-6.3 25.5 4.2 33.7s25.5 6.3 33.7-4.2L192 359.1l37.1 47.6c8.1 10.5 23.2 12.3 33.7 4.2s12.3-23.2 4.2-33.7L222.4 320l44.5-57.3c8.1-10.5 6.3-25.5-4.2-33.7s-25.5-6.3-33.7 4.2L192 280.9l-37.1-47.6z" /&gt;&lt;/svg&gt;');
}
.p-home-topics__contents-item-text .file.other::before {
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%23aaaaaa" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"&gt;&lt;path d="M320 464c8.8 0 16-7.2 16-16V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320zM0 64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64z" /&gt;&lt;/svg&gt;');
}
.p-home-topics__contents-item-text .file::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid #fff;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.p-home-topics__contents-item-text .file:active::after, .p-home-topics__contents-item-text .file:focus::after, .p-home-topics__contents-item-text .file:hover::after {
  opacity: 1;
}

.p-home-topics__card-deco {
  position: absolute;
  left: calc(5% - 30px);
  bottom: -30px;
  display: none;
  width: 300px;
  height: 300px;
  z-index: -1;
  pointer-events: none;
}
@media screen and (min-width: 576px) {
  .p-home-topics__card-deco {
    display: block;
  }
}
@media screen and (min-width: 1200px) {
  .p-home-topics__card-deco {
    left: calc(10% - 30px);
  }
}

/* ----------------
    home recruit
* ---------------- */
.p-home-recruit {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .p-home-recruit {
    height: 100%;
  }
}

.p-home-recruit__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}

.p-home-recruit__lr01__container {
  margin-bottom: 30px;
}

.l-common-lr01__card.p-home-recruit__card {
  padding-top: 80px;
  padding-bottom: 60px;
  top: 0;
  height: auto;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01__card.p-home-recruit__card {
    padding: 0;
    margin-top: 100px;
  }
}

.l-common-lr01 .p-home-recruit__card-inner {
  padding-top: 40px;
  padding-right: 15px;
  padding-left: 15px;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .p-home-recruit__card-inner {
    padding-top: 140px;
    padding-right: 100px;
    padding-bottom: 60px;
    padding-left: 100px;
  }
}
.l-common-lr01 .p-home-recruit__card-inner .unagashi {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 14px;
  text-align: center;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  font-size: 18px;
  font-size: 1.125rem;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .p-home-recruit__card-inner .unagashi {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.l-common-lr01 .p-home-recruit__card-inner .unagashi::before, .l-common-lr01 .p-home-recruit__card-inner .unagashi::after {
  content: "";
  position: absolute;
  bottom: -3px;
  display: block;
  width: 2px;
  height: 40px;
  background: #0d2a5f;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .p-home-recruit__card-inner .unagashi::before, .l-common-lr01 .p-home-recruit__card-inner .unagashi::after {
    width: 3px;
  }
}
.l-common-lr01 .p-home-recruit__card-inner .unagashi::before {
  left: -24px;
  -webkit-transform: rotate(150deg);
          transform: rotate(150deg);
}
.l-common-lr01 .p-home-recruit__card-inner .unagashi::after {
  right: -24px;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.l-common-lr01 .p-home-recruit__card-inner .unagashi strong {
  font-size: 24px;
  font-size: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .p-home-recruit__card-inner .unagashi strong {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

@media print, screen and (min-width: 768px) {
  .l-common-lr01.p-home-recruit__lr01 {
    height: 700px;
  }
}
@media print, screen and (min-width: 992px) {
  .l-common-lr01.p-home-recruit__lr01 {
    height: 800px;
  }
}
@media screen and (min-width: 1200px) {
  .l-common-lr01.p-home-recruit__lr01 {
    height: 897px;
  }
}

@media print, screen and (min-width: 768px) {
  .l-common-lr01__img.p-home-recruit__lr01__img {
    height: 700px;
  }
}
@media print, screen and (min-width: 992px) {
  .l-common-lr01__img.p-home-recruit__lr01__img {
    height: 800px;
  }
}
@media screen and (min-width: 1200px) {
  .l-common-lr01__img.p-home-recruit__lr01__img {
    height: 897px;
  }
}

.p-home-recruit__buttons {
  margin-top: 13.02vw;
  margin-bottom: 13.02vw;
  margin-left: auto;
  margin-right: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: grid;
  grid-template-columns: clamp(250px, 80vw, 300px);
  grid-template-rows: repeat(3, clamp(250px, 80vw, 300px));
  gap: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-home-recruit__buttons {
    margin-top: 100px;
    margin-bottom: 100px;
    grid-template-columns: repeat(3, clamp(230px, 2.6vw, 250px));
    grid-template-rows: clamp(230px, 2.6vw, 250px);
  }
}
@media print, screen and (min-width: 992px) {
  .p-home-recruit__buttons {
    grid-template-columns: 300px 300px 300px;
    grid-template-rows: 300px;
  }
}

.p-home-recruit__buttons-item {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  aspect-ratio: 1/1;
  background-color: #fff;
  display: grid;
  place-content: center;
  z-index: 0;
}
.p-home-recruit__buttons-item .title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}
.p-home-recruit__buttons-item .title .number {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 36px;
  font-size: 2.25rem;
  margin-bottom: 28px;
}
@media print, screen and (min-width: 768px) {
  .p-home-recruit__buttons-item .title .number {
    margin-bottom: min(2.5vw, 28px);
  }
}
.p-home-recruit__buttons-item .title .text {
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 26px;
  font-size: 1.625rem;
  margin-bottom: 36px;
}
@media print, screen and (min-width: 768px) {
  .p-home-recruit__buttons-item .title .text {
    margin-bottom: min(3vw, 36px);
  }
}

/* ----------------
    company
* ---------------- */
.p-company-greeting {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px 0;
}
@media print, screen and (min-width: 992px) {
  .p-company-greeting {
    grid-template-columns: 250px auto;
    gap: 0 30px;
  }
}

.p-company-greeting__photo {
  margin-left: auto;
  margin-right: auto;
  width: min(69.44vw, 250px);
  background-color: #ccc;
  aspect-ratio: 2/3;
  overflow: hidden;
}

.p-company-greeting__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.p-company-greeting__text .name {
  margin-top: 40px;
  text-align: right;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}

.swiper_company .swiper-button-next.swiper-button-disabled,
.swiper_company .swiper-button-prev.swiper-button-disabled {
  opacity: 1;
}
.swiper_company .swiper-button-next:after,
.swiper_company .swiper-button-prev:after {
  font-size: 50px;
}
.swiper_company .swiper-button-next {
  opacity: 1;
  color: #8d8d8d;
  right: -30px;
  outline: none;
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}
.swiper_company .swiper-button-next:active, .swiper_company .swiper-button-next:focus {
  color: #0466c4;
}
@media print, screen and (min-width: 992px) {
  .swiper_company .swiper-button-next {
    right: -15px;
  }
  .swiper_company .swiper-button-next:hover {
    color: #0466c4;
  }
}
.swiper_company .swiper-button-prev {
  opacity: 1;
  color: #8d8d8d;
  left: -30px;
  outline: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.swiper_company .swiper-button-prev:active, .swiper_company .swiper-button-prev:focus {
  color: #0466c4;
}
@media print, screen and (min-width: 992px) {
  .swiper_company .swiper-button-prev {
    left: -15px;
  }
  .swiper_company .swiper-button-prev:hover {
    color: #0466c4;
  }
}

.p-company-slide {
  display: grid;
  place-content: center;
  height: 650px !important;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (min-width: 375px) {
  .p-company-slide {
    height: 600px !important;
  }
}
@media print, screen and (min-width: 768px) {
  .p-company-slide {
    height: 560px !important;
  }
}
@media print, screen and (min-width: 992px) {
  .p-company-slide {
    height: 520px !important;
  }
}

.p-company-slide_textarea {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.p-company-slide_textarea p {
  line-height: 2;
}
.p-company-slide_textarea .unagashi {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 14px;
  text-align: center;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  font-size: 18px;
  font-size: 1.125rem;
}
@media print, screen and (min-width: 768px) {
  .p-company-slide_textarea .unagashi {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.p-company-slide_textarea .unagashi::before, .p-company-slide_textarea .unagashi::after {
  content: "";
  position: absolute;
  bottom: -3px;
  display: block;
  width: 2px;
  height: 40px;
  background: #0d2a5f;
}
@media print, screen and (min-width: 768px) {
  .p-company-slide_textarea .unagashi::before, .p-company-slide_textarea .unagashi::after {
    width: 3px;
  }
}
.p-company-slide_textarea .unagashi::before {
  left: -14px;
  -webkit-transform: rotate(150deg);
          transform: rotate(150deg);
}
@media screen and (min-width: 576px) {
  .p-company-slide_textarea .unagashi::before {
    left: -24px;
  }
}
.p-company-slide_textarea .unagashi::after {
  right: -14px;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
@media screen and (min-width: 576px) {
  .p-company-slide_textarea .unagashi::after {
    right: -24px;
  }
}
.p-company-slide_textarea .unagashi strong {
  font-size: 24px;
  font-size: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .p-company-slide_textarea .unagashi strong {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

.p-company-slide_list li {
  position: relative;
  margin-left: 30px;
}
.p-company-slide_list li::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 0;
  bottom: 0;
  left: -25px;
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #0d2a5f;
  z-index: 1;
}

.p-company-slide__img {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: 0.15;
  width: 100%;
  height: 100%;
  z-index: -4;
}

.p-company-history__list {
  overflow: hidden;
}

.p-company-history__item {
  position: relative;
  margin-left: 30px;
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: 80px auto;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .p-company-history__item {
    grid-template-columns: 15% auto;
  }
}
.p-company-history__item::before {
  content: "";
  position: absolute;
  top: 10px;
  right: 0;
  bottom: 0;
  left: -30px;
  display: block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #0466c4;
  z-index: 1;
}
.p-company-history__item::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 0;
  bottom: 0;
  left: -26px;
  display: block;
  width: 1px;
  height: 100vw;
  background: #0466c4;
  z-index: -1;
}
.p-company-history__item .title {
  color: #0466c4;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}

/* ----------------
    contact 
* ---------------- */
.l-common-txtbox01.p-contact-tel {
  min-height: 200px;
}

.l-common-txtbox01__inner.p-contact-tel__inner {
  min-height: 200px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-contact-tel__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 992px) {
  .p-contact-tel__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-contact-tel__title {
  line-height: 1;
  margin-bottom: 20px;
  text-align: center;
  font-size: 22px;
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .p-contact-tel__title {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

.p-contact-tel__number {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .p-contact-tel__number {
    margin-bottom: 0;
  }
}
.p-contact-tel__number svg {
  margin-right: 5px;
  width: 26px;
  height: 26px;
}
@media print, screen and (min-width: 768px) {
  .p-contact-tel__number svg {
    margin-right: 10px;
    width: 40px;
    height: 40px;
  }
}
.p-contact-tel__number span {
  font-family: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 28px;
  font-size: 1.75rem;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .p-contact-tel__number span {
    font-size: 45px;
    font-size: 2.8125rem;
  }
}

.p-contact-tel__text {
  line-height: 1;
}
@media screen and (min-width: 576px) {
  .p-contact-tel__text {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
@media print, screen and (min-width: 992px) {
  .p-contact-tel__text {
    margin-left: 20px;
  }
}

@media print, screen and (min-width: 992px) {
  .l-common-txtbox01__deco.p-contact-tel__deco {
    width: 180px;
    height: 180px;
  }
}

/* ----------------
service
* ---------------- */
@media print, screen and (min-width: 768px) {
  .l-common-lr01__card.p-service-card {
    height: auto;
  }
}

@media print, screen and (min-width: 768px) {
  .l-common-lr01__card-inner.p-service-card__inner {
    display: grid;
    place-content: center;
  }
}

.p-service-card__btn {
  margin-bottom: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-service-card__btn {
    margin-bottom: 0;
  }
}

.p-service-recruit {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .p-service-recruit {
    height: 100%;
  }
}

.p-service-recruit__bg {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
}

.p-service-recruit__lr01__container {
  margin-bottom: 0;
}

.l-common-lr01__card.p-service-recruit__card {
  padding-top: 80px;
  padding-bottom: 60px;
  top: 0;
  height: auto;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01__card.p-service-recruit__card {
    padding: 0;
    margin-top: 50px;
  }
}

.l-common-lr01 .p-service-recruit__card-inner {
  padding-top: 40px;
  padding-right: 15px;
  padding-left: 15px;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .p-service-recruit__card-inner {
    padding-top: 140px;
    padding-right: 100px;
    padding-bottom: 60px;
    padding-left: 100px;
  }
}
.l-common-lr01 .p-service-recruit__card-inner .unagashi {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 14px;
  text-align: center;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  font-size: 18px;
  font-size: 1.125rem;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .p-service-recruit__card-inner .unagashi {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.l-common-lr01 .p-service-recruit__card-inner .unagashi::before, .l-common-lr01 .p-service-recruit__card-inner .unagashi::after {
  content: "";
  position: absolute;
  bottom: -3px;
  display: block;
  width: 2px;
  height: 40px;
  background: #0d2a5f;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .p-service-recruit__card-inner .unagashi::before, .l-common-lr01 .p-service-recruit__card-inner .unagashi::after {
    width: 3px;
  }
}
.l-common-lr01 .p-service-recruit__card-inner .unagashi::before {
  left: -24px;
  -webkit-transform: rotate(150deg);
          transform: rotate(150deg);
}
.l-common-lr01 .p-service-recruit__card-inner .unagashi::after {
  right: -24px;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.l-common-lr01 .p-service-recruit__card-inner .unagashi strong {
  font-size: 24px;
  font-size: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .l-common-lr01 .p-service-recruit__card-inner .unagashi strong {
    font-size: 30px;
    font-size: 1.875rem;
  }
}

@media print, screen and (min-width: 768px) {
  .l-common-lr01.p-service-recruit__lr01 {
    height: clamp(900px, 50vw, 1000px);
  }
}

@media print, screen and (min-width: 768px) {
  .l-common-lr01__img.p-service-recruit__lr01__img {
    height: 600px;
  }
}

/* ----------------
introduction
* ---------------- */
.p-introduction-photo {
  width: 100%;
  max-width: 1300px;
}

.p-introduction-photo__img {
  aspect-ratio: 3/2;
  background-color: #bbb;
  overflow: hidden;
}
.p-introduction-photo__img.first {
  margin-bottom: 30px;
}
@media screen and (min-width: 576px) {
  .p-introduction-photo__img.first {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 576px) {
  .p-introduction-photo__img.second {
    margin-top: 80px;
  }
}

.p-introduction-category {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 30px;
}
@media screen and (min-width: 1200px) {
  .p-introduction-category {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.p-introduction-category__item {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: auto;
  padding: 10px 15px;
  text-align: center;
  color: #fff;
  background-color: #0d2a5f;
  overflow: hidden;
  z-index: 0;
}
.p-introduction-category__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.p-introduction-category__item:active, .p-introduction-category__item:focus, .p-introduction-category__item:hover {
  outline: none;
  color: #fff;
}
.p-introduction-category__item:active::after, .p-introduction-category__item:focus::after, .p-introduction-category__item:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.p-introduction-category__item.is__active {
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
}
.p-introduction-category__item.is__active::after {
  display: none;
}

.p-introduction-table td {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr;
  gap: 20px 30px;
}
@media print, screen and (min-width: 768px) {
  .p-introduction-table td {
    grid-template-columns: auto 100px;
  }
}

/* ----------------
introduction detail
* ---------------- */
.p-introduction-detail {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
  max-width: 800px;
}

.p-introduction-detail__catelabel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 15px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 150px;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
}

.p-introduction-detail__date {
  margin-bottom: 10px;
  padding: 10px 5px;
  border-bottom: 1px solid #ccc;
}

.p-introduction-detail__title {
  line-height: 1;
  margin-bottom: 20px;
  padding-left: 5px;
  padding-right: 5px;
  line-height: 1.5;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .p-introduction-detail__title {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

.p-introduction-detail__sliderarea {
  position: relative;
  width: 100%;
  height: auto;
  margin-bottom: 40px;
  z-index: 0;
}

.p-introduction-detail__sliderimg {
  position: relative;
  width: 100%;
  aspect-ratio: 3/2;
  overflow: hidden;
}

/*swiper customize*/
.swiper_introduction {
  overflow: hidden;
}
.swiper_introduction .swiper-button-next.swiper-button-disabled,
.swiper_introduction .swiper-button-prev.swiper-button-disabled {
  opacity: 1;
}
.swiper_introduction .swiper-button-next:after,
.swiper_introduction .swiper-button-prev:after {
  font-size: 50px;
}
.swiper_introduction .swiper-button-next {
  opacity: 1;
  color: #8d8d8d;
  right: 0;
  outline: none;
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}
.swiper_introduction .swiper-button-next:active, .swiper_introduction .swiper-button-next:focus {
  color: #0466c4;
}
@media print, screen and (min-width: 992px) {
  .swiper_introduction .swiper-button-next {
    right: -15px;
  }
  .swiper_introduction .swiper-button-next:hover {
    color: #0466c4;
  }
}
.swiper_introduction .swiper-button-prev {
  opacity: 1;
  color: #8d8d8d;
  left: 0;
  outline: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.swiper_introduction .swiper-button-prev:active, .swiper_introduction .swiper-button-prev:focus {
  color: #0466c4;
}
@media print, screen and (min-width: 992px) {
  .swiper_introduction .swiper-button-prev {
    left: -15px;
  }
  .swiper_introduction .swiper-button-prev:hover {
    color: #0466c4;
  }
}

.swiper_introduction .swiper-pagination {
  position: relative;
  bottom: 0;
}
.swiper_introduction .swiper-pagination .swiper-pagination-bullet {
  background-color: #ccc;
  opacity: 1;
}
.swiper_introduction .swiper-pagination .swiper-pagination-bullet-active {
  background: #0466c4;
}

.p-introduction-detail__htmlarea {
  margin-bottom: 40px;
  padding-left: 5px;
  padding-right: 5px;
}

/* ----------------
application
* ---------------- */
.p-application-flow {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  display: grid;
  gap: 80px;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .p-application-flow {
    max-width: 700px;
  }
}
@media print, screen and (min-width: 992px) {
  .p-application-flow {
    grid-template-columns: repeat(4, 1fr);
    max-width: 1600px;
    padding-left: 30px;
    padding-right: 30px;
  }
}

.p-application-flow__item {
  position: relative;
  display: grid;
  grid-template-columns: 150px auto;
  gap: 0 20px;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 15px;
  background-color: #0466c4;
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .p-application-flow__item {
    grid-template-columns: 250px auto;
    gap: 0 50px;
  }
}
@media print, screen and (min-width: 992px) {
  .p-application-flow__item {
    grid-template-columns: 1fr;
    padding: 10px 10px 30px 10px;
    gap: 0;
    min-height: 380px;
  }
}
@media screen and (min-width: 1200px) {
  .p-application-flow__item {
    min-height: 450px;
  }
}
.p-application-flow__item::after {
  content: "";
  position: absolute;
  display: block;
  bottom: -19.8%;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 100%;
  height: 100%;
  background-color: #0466c4;
  -webkit-clip-path: polygon(0% 80%, 50% 100%, 100% 80%);
          clip-path: polygon(0% 80%, 50% 100%, 100% 80%);
  z-index: 2;
}
@media print, screen and (min-width: 992px) {
  .p-application-flow__item::after {
    top: 50%;
    right: -15%;
    bottom: auto;
    left: auto;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    -webkit-clip-path: polygon(100% 50%, 85% 0%, 85% 100%);
            clip-path: polygon(100% 50%, 85% 0%, 85% 100%);
  }
}
.p-application-flow__item:last-of-type::after {
  display: none;
}

.p-application-flow__item.step01 {
  background-color: #4498e8;
}
.p-application-flow__item.step01::after {
  background-color: #4498e8;
}
.p-application-flow__item.step02 {
  background-color: #368de0;
}
.p-application-flow__item.step02::after {
  background-color: #368de0;
}
.p-application-flow__item.step03 {
  background-color: #2781d7;
}
.p-application-flow__item.step03::after {
  background-color: #2781d7;
}
.p-application-flow__item.step4 {
  background-color: #1878d3;
}
.p-application-flow__item.step4::after {
  background-color: #1878d3;
}

.p-application-flow__img {
  grid-column: 1/2;
  grid-row: 1/3;
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
  background-color: #bbb;
}
@media print, screen and (min-width: 768px) {
  .p-application-flow__img {
    aspect-ratio: 4/3;
  }
}
@media print, screen and (min-width: 992px) {
  .p-application-flow__img {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}

.p-application-flow__title {
  grid-column: 2/2;
  grid-row: 1/2;
  margin-top: 60px;
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #fff;
}
@media screen and (min-width: 576px) {
  .p-application-flow__title {
    margin-top: 70px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-application-flow__title {
    margin-top: 90px;
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media print, screen and (min-width: 992px) {
  .p-application-flow__title {
    grid-column: 1/2;
    grid-row: 2/3;
    margin-top: 70px;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-application-flow__title .en {
  position: absolute;
  bottom: 100%;
  left: 0;
  display: block;
  font-family: "connoisseurs", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: 40px;
  font-size: 2.5rem;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  line-height: 1;
  color: #fff;
  white-space: nowrap;
  z-index: -1;
}
@media print, screen and (min-width: 768px) {
  .p-application-flow__title .en {
    left: -20px;
    font-size: 50px;
    font-size: 3.125rem;
  }
}
.p-application-flow__title .ja {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .p-application-flow__title .ja {
    font-size: 22px;
    font-size: 1.375rem;
  }
}

.p-application-flow__text {
  grid-column: 2/2;
  grid-row: 2/3;
  margin-top: 15px;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .p-application-flow__text {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media print, screen and (min-width: 992px) {
  .p-application-flow__text {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}

.p-application-tab {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 30px;
}
@media print, screen and (min-width: 992px) {
  .p-application-tab {
    margin-left: auto;
    margin-right: auto;
  }
}

.p-application-tab__item {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: auto;
  padding: 10px 15px;
  text-align: center;
  color: #fff;
  background-color: #0d2a5f;
  overflow: hidden;
  z-index: 0;
}
.p-application-tab__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.p-application-tab__item.graduate::after {
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
}
.p-application-tab__item.mid-career::after {
  background: -webkit-gradient(linear, left top, right top, from(#078c87), to(#16ccc5));
  background: -webkit-linear-gradient(left, #078c87 0%, #16ccc5 100%);
  background: linear-gradient(90deg, #078c87 0%, #16ccc5 100%);
}
.p-application-tab__item:active, .p-application-tab__item:focus, .p-application-tab__item:hover {
  outline: none;
}
.p-application-tab__item:active::after, .p-application-tab__item:focus::after, .p-application-tab__item:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.p-application-tab__item.is__active.graduate {
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
}
.p-application-tab__item.is__active.mid-career {
  background: -webkit-gradient(linear, left top, right top, from(#078c87), to(#16ccc5));
  background: -webkit-linear-gradient(left, #078c87 0%, #16ccc5 100%);
  background: linear-gradient(90deg, #078c87 0%, #16ccc5 100%);
}
.p-application-tab__item.is__active::after {
  display: none;
}
.p-application-tab__item.is__active .kochira {
  display: none;
}

.p-application-panel {
  display: none;
  height: 100%;
  padding: 0 40px;
  overflow-y: auto;
}
.p-application-panel.is__active {
  display: block;
}

.p-application-panel.mid-career .l-common-table01 tbody tr th {
  background: -webkit-gradient(linear, left top, right top, from(#078c87), to(#16ccc5));
  background: -webkit-linear-gradient(left, #078c87 0%, #16ccc5 100%);
  background: linear-gradient(90deg, #078c87 0%, #16ccc5 100%);
}
@media print, screen and (min-width: 768px) {
  .p-application-panel.mid-career .l-common-table01 tbody tr th {
    background: none;
    border-bottom: 1px solid #078c87;
  }
}

.p-application-entry {
  position: relative;
  padding: 60px 15px;
  width: 100%;
  height: 100%;
  min-height: 350px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  z-index: 0;
}
@media print, screen and (min-width: 992px) {
  .p-application-entry {
    min-height: 350px;
  }
}
.p-application-entry .c-btn__style03 {
  z-index: 1;
}

.p-application-entry__box {
  position: relative;
  width: 100%;
  max-width: 1000px;
  height: 100%;
  margin-left: 15px;
  margin-right: 15px;
  padding: 60px 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
  background-color: #0d2a5f;
}
@media print, screen and (min-width: 992px) {
  .p-application-entry__box {
    padding: 60px;
    margin-left: 30px;
    margin-right: 30px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media print, screen and (min-width: 992px) {
  .p-application-entry__box::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    display: block;
    width: 3px;
    height: calc(100% - 60px);
    background: -webkit-gradient(linear, left bottom, left top, from(#078c87), to(#16ccc5));
    background: -webkit-linear-gradient(bottom, #078c87 0%, #16ccc5 100%);
    background: linear-gradient(0deg, #078c87 0%, #16ccc5 100%);
    z-index: 2;
  }
}

.p-application-entry__titlearea {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media print, screen and (min-width: 992px) {
  .p-application-entry__titlearea {
    margin-right: 15px;
  }
}

.p-application-entry__title {
  margin-bottom: -20px;
  margin-right: 30%;
  font-family: "connoisseurs", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: 80px;
  font-size: 5rem;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  line-height: 1;
  background: -webkit-gradient(linear, left top, right top, from(#078c87), to(#16ccc5));
  background: -webkit-linear-gradient(left, #078c87 0%, #16ccc5 100%);
  background: linear-gradient(90deg, #078c87 0%, #16ccc5 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .p-application-entry__title {
    font-size: 100px;
    font-size: 6.25rem;
  }
}

.p-application-entry__textarea {
  margin-top: 20px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 18px;
  font-size: 1.125rem;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .p-application-entry__textarea {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
@media print, screen and (min-width: 992px) {
  .p-application-entry__textarea {
    margin-top: 0;
    margin-left: 15px;
  }
}

.p-application-entry__bg {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

/* ----------------
    topics
* ---------------- */
.p-topics-category {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 30px;
  z-index: 0;
}
@media screen and (min-width: 1200px) {
  .p-topics-category {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.p-topics-category__item {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: auto;
  padding: 10px 15px;
  text-align: center;
  color: #fff;
  background-color: #0d2a5f;
  overflow: hidden;
  z-index: 0;
}
.p-topics-category__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.p-topics-category__item:active, .p-topics-category__item:focus, .p-topics-category__item:hover {
  outline: none;
  color: #fff;
}
.p-topics-category__item:active::after, .p-topics-category__item:focus::after, .p-topics-category__item:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.p-topics-category__item.is__active {
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
}
.p-topics-category__item.is__active::after {
  display: none;
}

.p-topics-card {
  position: relative;
  margin-bottom: 30px;
  padding: 10px 10px 20px 10px;
  width: 100%;
  height: auto;
  background-color: #fff;
  -webkit-filter: drop-shadow(0 0 10px rgba(51, 51, 51, 0.1));
          filter: drop-shadow(0 0 10px rgba(51, 51, 51, 0.1));
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.5s ease-in-out;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
}
.p-topics-card a {
  pointer-events: auto;
}
.p-topics-card:active, .p-topics-card:focus, .p-topics-card:hover {
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}

.p-topics-card__img {
  margin-bottom: 20px;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  background-color: #fff;
}

.p-topics-card__date {
  margin-bottom: 5px;
  padding-right: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  line-height: 1;
  font-size: 14px;
  font-size: 0.875rem;
  border-bottom: 1px solid #ccc;
}

.p-topics-card__title {
  margin-bottom: 20px;
  padding-right: 5px;
  padding-left: 5px;
}

.p-topics-wrap.is__hide {
  opacity: 0;
  display: none;
}

.js-addButton.is__hide {
  display: none;
}

.p-topics-detail {
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
  max-width: 800px;
}

.p-topics-detail__sliderarea {
  position: relative;
  width: 100%;
  height: auto;
  margin-bottom: 40px;
  z-index: 0;
}

.p-topics-detail__sliderimg {
  position: relative;
  width: 100%;
  aspect-ratio: 3/2;
  overflow: hidden;
}

.swiper_topics-main {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.swiper_topics-main .swiper-wrapper {
  margin-bottom: 10px;
}
.swiper_topics-main .swiper-button-next.swiper-button-disabled,
.swiper_topics-main .swiper-button-prev.swiper-button-disabled {
  opacity: 1;
}
.swiper_topics-main .swiper-button-next:after,
.swiper_topics-main .swiper-button-prev:after {
  font-size: 50px;
}
.swiper_topics-main .swiper-button-next {
  opacity: 1;
  color: #8d8d8d;
  right: 0;
  outline: none;
  -webkit-transition: color 0.3s ease-in-out;
  transition: color 0.3s ease-in-out;
}
.swiper_topics-main .swiper-button-next:active, .swiper_topics-main .swiper-button-next:focus {
  color: #0466c4;
}
@media print, screen and (min-width: 992px) {
  .swiper_topics-main .swiper-button-next {
    right: 5px;
  }
  .swiper_topics-main .swiper-button-next:hover {
    color: #0466c4;
  }
}
.swiper_topics-main .swiper-button-prev {
  opacity: 1;
  color: #8d8d8d;
  left: 0;
  outline: none;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.swiper_topics-main .swiper-button-prev:active, .swiper_topics-main .swiper-button-prev:focus {
  color: #0466c4;
}
@media print, screen and (min-width: 992px) {
  .swiper_topics-main .swiper-button-prev {
    left: 5px;
  }
  .swiper_topics-main .swiper-button-prev:hover {
    color: #0466c4;
  }
}

.swiper_topics-thumb .swiper-wrapper {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.swiper_topics-thumb .swiper-slide {
  cursor: pointer;
  opacity: 0.5;
  -webkit-transition: opacity 0.3s ease-in;
  transition: opacity 0.3s ease-in;
}
.swiper_topics-thumb .swiper-slide:active, .swiper_topics-thumb .swiper-slide:focus {
  opacity: 1;
}
@media print, screen and (min-width: 992px) {
  .swiper_topics-thumb .swiper-slide:hover {
    opacity: 1;
  }
}
.swiper_topics-thumb .swiper-slide .thumb-media {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  overflow: hidden;
}
.swiper_topics-thumb .swiper-slide-thumb-active {
  opacity: 1;
}
.swiper_topics-thumb .swiper-slide-thumb-active {
  opacity: 1;
}

.p-topics-detail__date {
  margin-bottom: 10px;
  padding: 10px 5px;
  border-bottom: 1px solid #ccc;
}

.p-topics-detail__title {
  line-height: 1;
  margin-bottom: 20px;
  padding-left: 5px;
  padding-right: 5px;
  line-height: 1.5;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .p-topics-detail__title {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

.p-topics-detail__htmlarea {
  margin-bottom: 40px;
  padding-left: 5px;
  padding-right: 5px;
}

.p-topics-detail__filearea {
  margin-bottom: 40px;
  padding-left: 5px;
  padding-right: 5px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: grid;
  grid-template-columns: 1fr;
}
@media print, screen and (min-width: 768px) {
  .p-topics-detail__filearea {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.p-topics-detail__filearea a {
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .p-topics-detail__filearea a {
    margin-left: 0;
    margin-right: 30px;
  }
}

/* ----------------
    csr
* ---------------- */
@media print, screen and (min-width: 992px) {
  .l-common-txtbox01__deco.p-csr__deco {
    width: 180px;
    height: 180px;
  }
}
.l-common-txtbox01__deco.p-csr__deco.right {
  right: -30px;
}
.l-common-txtbox01__deco.p-csr__deco.left {
  left: -30px;
}

.p-csr-sdgs-logo {
  position: relative;
  padding-right: 15px;
  padding-left: 15px;
  width: 100%;
  height: auto;
  min-height: 500px;
  overflow: hidden;
  z-index: 0;
}

.p-csr-sdgs-logo__bg {
  position: absolute;
  top: 200px;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.p-csr-sdgs-logo__img {
  width: 100%;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.p-csr-sdgs-logo__cardwrap {
  width: 100%;
  max-width: 1110px;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media print, screen and (min-width: 768px) {
  .p-csr-sdgs-logo__cardwrap {
    grid-template-columns: 1fr 1fr;
  }
}

.p-csr-sdgs-logo__card {
  padding: 10px;
  display: grid;
  grid-template-columns: 120px auto;
  width: 100%;
  background-color: #fff;
  z-index: 0;
}
@media print, screen and (min-width: 992px) {
  .p-csr-sdgs-logo__card {
    grid-template-columns: 200px auto;
  }
}

.p-csr-sdgs-logo__card-img {
  display: block;
  aspect-ratio: 1/1;
}

.p-csr-sdgs-logo__card-title {
  padding: 0 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 576px) {
  .p-csr-sdgs-logo__card-title {
    padding: 0 30px;
  }
}
.p-csr-sdgs-logo__card-title p {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.3;
}
@media print, screen and (min-width: 992px) {
  .p-csr-sdgs-logo__card-title p {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-csr-sdgs-logo__card-title p {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.p-csr-sdgs-logo__card-title p:first-of-type {
  margin-bottom: 5px;
  padding-bottom: 5px;
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  border-bottom: 1px solid #ccc;
}
@media screen and (min-width: 1200px) {
  .p-csr-sdgs-logo__card-title p:first-of-type {
    font-size: 22px;
    font-size: 1.375rem;
  }
}

.p-csr-sdgs-logo__listwrap {
  width: 100%;
  max-width: 1110px;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  padding: 60px 30px;
}

.p-csr-sdgs-logo__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.p-csr-sdgs-logo__item {
  position: relative;
  padding-left: 1rem;
  line-height: 1.3;
  font-size: 16px;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .p-csr-sdgs-logo__item {
    line-height: 1;
  }
}
@media print, screen and (min-width: 992px) {
  .p-csr-sdgs-logo__item {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.p-csr-sdgs-logo__item:not(:last-of-type) {
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  .p-csr-sdgs-logo__item:not(:last-of-type) {
    margin-bottom: 15px;
  }
}
.p-csr-sdgs-logo__item::after {
  content: "";
  position: absolute;
  top: 60%;
  right: calc(100% - 15px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml;utf-8,&lt;svg fill="%230466c4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"&gt;&lt;path d="M470.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 338.7 425.4 105.4c12.5-12.5 32.8-12.5 45.3 0z" /&gt;&lt;/svg&gt;');
}

.p-csr-sdgsborder {
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
}

.p-csr-sdgs-txtbox {
  margin-bottom: 60px;
}

.p-csr-sdgs-txtbox2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 60px;
}
@media print, screen and (min-width: 992px) {
  .p-csr-sdgs-txtbox2 {
    margin-left: auto;
    margin-right: auto;
  }
}

.p-csr-sdgs-txtbox__title {
  margin-bottom: 10px;
  padding-bottom: 10px;
  line-height: 1;
  border-bottom: 1px solid #ccc;
  color: #0466c4;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .p-csr-sdgs-txtbox__title {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

.p-csr-sdgs-txtbox__list {
  margin-bottom: 10px;
  padding-left: 1.2rem;
}
.p-csr-sdgs-txtbox__list li {
  position: relative;
}
.p-csr-sdgs-txtbox__list li::before {
  content: "";
  position: absolute;
  top: 0.8rem;
  left: -0.8rem;
  display: block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #0d2a5f;
}

.p-csr-sdgs-txtbox__text {
  padding-left: 1.2rem;
  margin-bottom: 10px;
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
  letter-spacing: 0.025em;
}

.p-csr-sdgs-logo__nintei {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 800px;
  overflow: hidden;
  background-color: #ddd;
}

.p-csr-tabmenu {
  display: grid;
  place-content: center;
  width: 100%;
  height: 48px;
  color: #fff;
  background: #078c87;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  .p-csr-tabmenu {
    display: none;
  }
}
.p-csr-tabmenu:active, .p-csr-tabmenu:focus {
  outline: 0;
}
.p-csr-tabmenu span {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-csr-tabmenu span svg {
  margin-top: 5px;
  margin-left: 10px;
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.p-csr-tabmenu.is__show span svg {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}

.p-csr-tab {
  width: 100%;
  height: 0;
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
  opacity: 0;
  gap: 10px;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.p-csr-tab.is__show {
  height: 100%;
  opacity: 1;
}
@media print, screen and (min-width: 768px) {
  .p-csr-tab {
    height: 100%;
    grid-template-columns: 1fr 1fr;
    overflow: visible;
    opacity: 1;
    gap: 20px 30px;
  }
}
@media print, screen and (min-width: 992px) {
  .p-csr-tab {
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.p-csr-tab__item {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: auto;
  padding: 10px 15px;
  text-align: center;
  color: #fff;
  background-color: #0d2a5f;
  overflow: hidden;
  z-index: 0;
}
.p-csr-tab__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: -1;
}
.p-csr-tab__item:active, .p-csr-tab__item:focus, .p-csr-tab__item:hover {
  outline: none;
}
.p-csr-tab__item:active::after, .p-csr-tab__item:focus::after, .p-csr-tab__item:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
}
.p-csr-tab__item.is__active {
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
}
.p-csr-tab__item.is__active::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.p-csr-panel {
  display: none;
  height: 100%;
  padding: 0 40px;
  overflow-y: auto;
}
.p-csr-panel.is__active {
  display: block;
}

.p-csr-panel__titlewrap {
  position: relative;
  z-index: 0;
}
.p-csr-panel__titlewrap::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #ccc;
  z-index: -1;
}

.p-csr-panel__title {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 20px;
  line-height: 1;
  margin-bottom: 40px;
  text-align: center;
  font-size: 22px;
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  white-space: nowrap;
  background-color: #fff;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .p-csr-panel__title {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

.p-csr-panel-card {
  position: relative;
  margin-bottom: 30px;
  padding: 10px;
  width: 100%;
  height: auto;
  background-color: #fff;
  -webkit-filter: drop-shadow(0 0 10px rgba(51, 51, 51, 0.1));
          filter: drop-shadow(0 0 10px rgba(51, 51, 51, 0.1));
  -webkit-transition: -webkit-transform 0.5s ease-in-out;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
}
.p-csr-panel-card a {
  pointer-events: auto;
}
.p-csr-panel-card a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: auto;
}
.p-csr-panel-card:active, .p-csr-panel-card:focus, .p-csr-panel-card:hover {
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}

.p-csr-panel-card__img {
  display: block;
  margin-bottom: 20px;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  background-color: #fff;
}

.p-csr-panel-card__category {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 20px;
  padding: 5px 10px;
  line-height: 1;
  font-size: 14px;
  font-size: 0.875rem;
  background-color: #ddd;
}

.p-csr-panel-card__date {
  margin-bottom: 5px;
  padding-right: 5px;
  padding-bottom: 5px;
  padding-left: 5px;
  line-height: 1;
  font-size: 14px;
  font-size: 0.875rem;
  border-bottom: 1px solid #ccc;
}

.p-csr-panel-card__title {
  margin-bottom: 20px;
  padding-right: 5px;
  padding-left: 5px;
}

/* ----------------
recruit
* ---------------- */
.p-recruit-movie {
  width: 100%;
  max-width: 1110px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.p-recruit-movie__box {
  display: grid;
  z-index: 0;
}
.p-recruit-movie__box.chapter01 {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
@media print, screen and (min-width: 992px) {
  .p-recruit-movie__box.chapter01 {
    grid-template-columns: auto 540px;
    grid-template-rows: auto auto;
  }
}
@media screen and (min-width: 1200px) {
  .p-recruit-movie__box.chapter01 {
    grid-template-columns: auto 640px;
  }
}
.p-recruit-movie__box.chapter01 .p-recruit-movie__titlearea {
  grid-column: 1/2;
  grid-row: 1/2;
}
.p-recruit-movie__box.chapter01 .p-recruit-movie__movie {
  grid-column: 1/2;
  grid-row: 2/3;
}
@media print, screen and (min-width: 992px) {
  .p-recruit-movie__box.chapter01 .p-recruit-movie__movie {
    grid-column: 2/3;
    grid-row: 1/3;
  }
}
.p-recruit-movie__box.chapter01 .p-recruit-movie__textarea {
  grid-column: 1/2;
  grid-row: 3/4;
}
@media print, screen and (min-width: 992px) {
  .p-recruit-movie__box.chapter01 .p-recruit-movie__textarea {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
.p-recruit-movie__box.chapter02 {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
@media print, screen and (min-width: 992px) {
  .p-recruit-movie__box.chapter02 {
    grid-template-columns: 540px auto;
    grid-template-rows: auto auto;
  }
}
@media screen and (min-width: 1200px) {
  .p-recruit-movie__box.chapter02 {
    grid-template-columns: 640px auto;
  }
}
.p-recruit-movie__box.chapter02 .p-recruit-movie__titlearea {
  grid-column: 1/2;
  grid-row: 1/2;
}
@media print, screen and (min-width: 992px) {
  .p-recruit-movie__box.chapter02 .p-recruit-movie__titlearea {
    grid-column: 2/3;
  }
}
.p-recruit-movie__box.chapter02 .p-recruit-movie__movie {
  grid-column: 1/2;
  grid-row: 2/3;
}
@media print, screen and (min-width: 992px) {
  .p-recruit-movie__box.chapter02 .p-recruit-movie__movie {
    grid-column: 1/2;
    grid-row: 1/3;
  }
}
.p-recruit-movie__box.chapter02 .p-recruit-movie__textarea {
  grid-column: 1/2;
  grid-row: 3/4;
}
@media print, screen and (min-width: 992px) {
  .p-recruit-movie__box.chapter02 .p-recruit-movie__textarea {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}

.p-recruit-movie__movie {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 640px;
  height: auto;
  aspect-ratio: 16/9;
  background-color: #ccc;
  z-index: 3;
}

.p-recruit-movie__titlearea {
  margin-top: 80px;
  margin-bottom: 20px;
  z-index: 2;
}

.p-recruit-movie__title {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.p-recruit-movie__title .en {
  position: absolute;
  bottom: calc(100% - 20px);
  left: -50px;
  display: block;
  font-family: "connoisseurs", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-size: 60px;
  font-size: 3.75rem;
  -webkit-transform: rotate(-10deg);
          transform: rotate(-10deg);
  line-height: 1;
  background: -webkit-gradient(linear, left top, right top, from(#073489), to(#219eff));
  background: -webkit-linear-gradient(left, #073489 0%, #219eff 100%);
  background: linear-gradient(90deg, #073489 0%, #219eff 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  white-space: nowrap;
  z-index: -1;
}
@media print, screen and (min-width: 768px) {
  .p-recruit-movie__title .en {
    font-size: 80px;
    font-size: 5rem;
  }
}
.p-recruit-movie__title .ja {
  position: relative;
  padding: 10px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  color: #0d2a5f;
  font-size: 22px;
  font-size: 1.375rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  .p-recruit-movie__title .ja {
    font-size: 26px;
    font-size: 1.625rem;
  }
}

.p-recruit-movie__subtitle {
  margin-top: 20px;
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 18px;
  font-size: 1.125rem;
  letter-spacing: 0.025em;
  color: #0466c4;
}
@media print, screen and (min-width: 768px) {
  .p-recruit-movie__subtitle {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.p-recruit-movie__subtitle::before {
  content: "";
  position: absolute;
  top: -20px;
  right: 0;
  bottom: 0;
  left: 50%;
  display: block;
  width: 2px;
  height: 20px;
  background: #ccc;
}

.p-recruit-movie__textarea {
  margin-top: 20px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 100%;
  max-width: 640px;
  z-index: 1;
}

.p-recruit-movie__textinner {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 30px 50px 30px;
  width: calc(100% - 60px);
  height: calc(100% - 30px);
  background-color: #fff;
  -webkit-filter: drop-shadow(0 0 30px rgba(51, 51, 51, 0.1));
          filter: drop-shadow(0 0 30px rgba(51, 51, 51, 0.1));
  z-index: 2;
}
@media print, screen and (min-width: 992px) {
  .p-recruit-movie__textinner {
    padding: 40px 30px 70px 30px;
  }
}
.p-recruit-movie__textinner p {
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 2;
}
@media print, screen and (min-width: 992px) {
  .p-recruit-movie__textinner p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
}

.p-recruit-movie__deco {
  position: absolute;
  bottom: 0;
  display: block;
  width: 150px;
  height: 150px;
  z-index: -1;
}
.p-recruit-movie__deco.right {
  right: 0;
}
.p-recruit-movie__deco.left {
  left: 0;
}

.p-recruit-dormitory {
  width: 100%;
  max-width: 1110px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-recruit-dormitory {
    grid-template-columns: 50% 50%;
    grid-template-rows: 1fr;
  }
}
@media print, screen and (min-width: 992px) {
  .p-recruit-dormitory {
    grid-template-columns: auto min(60.48vw, 600px);
  }
}

.p-recruit-dormitory__img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
  background-color: #bbb;
  overflow: hidden;
  grid-row: 1/2;
}
@media print, screen and (min-width: 768px) {
  .p-recruit-dormitory__img {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}

.p-recruit-dormitory__list {
  width: 100%;
  grid-row: 2/3;
}
@media print, screen and (min-width: 768px) {
  .p-recruit-dormitory__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media print, screen and (min-width: 768px) {
  .p-recruit-dormitory__list {
    grid-column: 1/2;
    grid-row: 1/2;
  }
}

.p-recruit-dormitory__table {
  width: 100%;
}
.p-recruit-dormitory__table tr {
  border-bottom: 1px solid #ccc;
}
.p-recruit-dormitory__table tr th,
.p-recruit-dormitory__table tr td {
  padding: 0.5rem;
  letter-spacing: 0.025em;
}
@media print, screen and (min-width: 768px) {
  .p-recruit-dormitory__table tr th,
  .p-recruit-dormitory__table tr td {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.p-recruit-dormitory__table tr th {
  width: 40%;
  color: #0466c4;
}
.p-recruit-dormitory__table tr td {
  width: 60%;
}

.p-recruit-dormitory__textwrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.p-recruit-dormitory__text {
  position: relative;
  display: block;
  letter-spacing: 0.025em;
  z-index: 0;
}
@media screen and (min-width: 360px) {
  .p-recruit-dormitory__text.first {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.p-recruit-dormitory__text.first::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  display: block;
  width: 100%;
  height: 6px;
  background: -webkit-gradient(linear, left top, right top, from(#55b5ff), to(#d3ecff));
  background: -webkit-linear-gradient(left, #55b5ff 0%, #d3ecff 100%);
  background: linear-gradient(90deg, #55b5ff 0%, #d3ecff 100%);
  z-index: -1;
}

.p-recruit-interview {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px 0;
}
@media print, screen and (min-width: 992px) {
  .p-recruit-interview {
    grid-template-columns: 250px auto;
    gap: 0 30px;
  }
}

.p-recruit-interview__photo {
  margin-left: auto;
  margin-right: auto;
  width: min(69.44vw, 250px);
  background-color: #ccc;
  aspect-ratio: 1/1;
}

.p-recruit-interview__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-recruit-interview__text .name {
  padding-bottom: 5px;
  margin-bottom: 10px;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  font-weight: 700;
  border-bottom: 1px solid #ccc;
}

/* --------------------------------
    fontSize html内呼出し
* -------------------------------- */
/* fontSize*/
.txt12 {
  font-size: 16px;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .txt12 {
    font-size: 12px;
    font-size: 0.75rem;
  }
}

.txt14 {
  font-size: 16px;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .txt14 {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.txt16 {
  font-size: 16px;
  font-size: 1rem;
}

.txt18 {
  font-size: 16px;
  font-size: 1rem;
}
@media print, screen and (min-width: 768px) {
  .txt18 {
    font-size: 18px;
    font-size: 1.125rem;
  }
}

.txt20 {
  font-size: 20px;
  font-size: 1.25rem;
}

.txt22 {
  font-size: 22px;
  font-size: 1.375rem;
}

.txt24 {
  font-size: 24px;
  font-size: 1.5rem;
}

.txt26 {
  font-size: 26px;
  font-size: 1.625rem;
}

.txt28 {
  font-size: 28px;
  font-size: 1.75rem;
}

.txt30 {
  font-size: 30px;
  font-size: 1.875rem;
}

.txt32 {
  font-size: 32px;
  font-size: 2rem;
}

.txt36 {
  font-size: 36px;
  font-size: 2.25rem;
}

.txt40 {
  font-size: 40px;
  font-size: 2.5rem;
}

.txt42 {
  font-size: 42px;
  font-size: 2.625rem;
}

.txt46 {
  font-size: 46px;
  font-size: 2.875rem;
}

.txt48 {
  font-size: 48px;
  font-size: 3rem;
}

.txt50 {
  font-size: 50px;
  font-size: 3.125rem;
}

/*-------------------
object_fit_img
---------------------*/
.photo-ofi {
  height: 0;
  display: block;
  padding-top: 75%;
  overflow: hidden;
  position: relative;
}

.photo-ofi img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: scale-down;
     object-fit: scale-down;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  /* 中央寄せ　横/縦 */
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgb(250, 250, 250);
}

.photo-ofi a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
}

img.object-fit-img {
  max-width: inherit;
  max-height: inherit;
  width: 100%;
  height: 100%;
  -o-object-fit: scale-down;
     object-fit: scale-down;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  /* 中央寄せ　横/縦 */
}

img.object-fit-img.cover {
  -o-object-fit: cover;
     object-fit: cover;
}

img.object-fit-img.covertop {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

img.object-fit-img.coverbottom {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}

img.object-fit-img.coverleft {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center left;
     object-position: center left;
}

img.object-fit-img.coverright {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center right;
     object-position: center right;
}

/* --------------------------------
    color html内呼出し
* -------------------------------- */
a.linkcolor {
  color: #078c87;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
a.linkcolor:active, a.linkcolor:focus {
  opacity: 0.8;
}
@media print, screen and (min-width: 992px) {
  a.linkcolor:hover {
    opacity: 0.8;
  }
}

a.linkborder {
  color: #078c87;
  border-bottom: 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
a.linkborder:active, a.linkborder:focus {
  opacity: 0.8;
}
@media print, screen and (min-width: 992px) {
  a.linkborder:hover {
    opacity: 0.8;
  }
}

.sp-telborder {
  color: #078c87;
  border-bottom: 1px solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.sp-telborder:active, .sp-telborder:focus {
  opacity: 0.8;
}
@media print, screen and (min-width: 768px) {
  .sp-telborder {
    color: inherit;
    border-bottom: none;
  }
}

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

.mb10 {
  margin-bottom: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mb20 {
  margin-bottom: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mb30 {
  margin-bottom: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mb40 {
  margin-bottom: 40px;
}

.mt50 {
  margin-top: 8.6805555556vw;
}
@media print, screen and (min-width: 768px) {
  .mt50 {
    margin-top: 50px;
  }
}

.mb50 {
  margin-bottom: 8.6805555556vw;
}
@media print, screen and (min-width: 768px) {
  .mb50 {
    margin-bottom: 50px;
  }
}

.mt60 {
  margin-top: 10.4166666667vw;
}
@media print, screen and (min-width: 768px) {
  .mt60 {
    margin-top: 60px;
  }
}

.mb60 {
  margin-bottom: 10.4166666667vw;
}
@media print, screen and (min-width: 768px) {
  .mb60 {
    margin-bottom: 60px;
  }
}

.mt70 {
  margin-top: 12.1527777778vw;
}
@media print, screen and (min-width: 768px) {
  .mt70 {
    margin-top: 70px;
  }
}

.mb70 {
  margin-bottom: 12.1527777778vw;
}
@media print, screen and (min-width: 768px) {
  .mb70 {
    margin-bottom: 70px;
  }
}

.mt80 {
  margin-top: 13.8888888889vw;
}
@media print, screen and (min-width: 768px) {
  .mt80 {
    margin-top: 80px;
  }
}

.mb80 {
  margin-bottom: 13.8888888889vw;
}
@media print, screen and (min-width: 768px) {
  .mb80 {
    margin-bottom: 80px;
  }
}

.mt90 {
  margin-top: 15.625vw;
}
@media print, screen and (min-width: 768px) {
  .mt90 {
    margin-top: 90px;
  }
}

.mb90 {
  margin-bottom: 15.625vw;
}
@media print, screen and (min-width: 768px) {
  .mb90 {
    margin-bottom: 90px;
  }
}

.mt100 {
  margin-top: 17.3611111111vw;
}
@media print, screen and (min-width: 768px) {
  .mt100 {
    margin-top: 100px;
  }
}

.mb100 {
  margin-bottom: 17.3611111111vw;
}
@media print, screen and (min-width: 768px) {
  .mb100 {
    margin-bottom: 100px;
  }
}

.mt120 {
  margin-top: 20.8333333333vw;
}
@media print, screen and (min-width: 768px) {
  .mt120 {
    margin-top: 120px;
  }
}

.mb120 {
  margin-bottom: 20.8333333333vw;
}
@media print, screen and (min-width: 768px) {
  .mb120 {
    margin-bottom: 120px;
  }
}

.mt140 {
  margin-top: 24.3055555556vw;
}
@media print, screen and (min-width: 768px) {
  .mt140 {
    margin-top: 140px;
  }
}

.mb140 {
  margin-bottom: 24.3055555556vw;
}
@media print, screen and (min-width: 768px) {
  .mb140 {
    margin-bottom: 140px;
  }
}

.mt160 {
  margin-top: 27.7777777778vw;
}
@media print, screen and (min-width: 768px) {
  .mt160 {
    margin-top: 160px;
  }
}

.mb160 {
  margin-bottom: 27.7777777778vw;
}
@media print, screen and (min-width: 768px) {
  .mb160 {
    margin-bottom: 160px;
  }
}

/*-------------------
padding
---------------------*/
.pt10 {
  padding-top: 10px;
}

.pb10 {
  padding-bottom: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pb20 {
  padding-bottom: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pb30 {
  padding-bottom: 30px;
}

.pt40 {
  padding-top: 40px;
}

.pb40 {
  padding-bottom: 40px;
}

.pt50 {
  padding-top: 8.6805555556vw;
}
@media print, screen and (min-width: 768px) {
  .pt50 {
    padding-top: 50px;
  }
}

.pb50 {
  padding-bottom: 8.6805555556vw;
}
@media print, screen and (min-width: 768px) {
  .pb50 {
    padding-bottom: 50px;
  }
}

.pt60 {
  padding-top: 10.4166666667vw;
}
@media print, screen and (min-width: 768px) {
  .pt60 {
    padding-top: 60px;
  }
}

.pb60 {
  padding-bottom: 10.4166666667vw;
}
@media print, screen and (min-width: 768px) {
  .pb60 {
    padding-bottom: 60px;
  }
}

.pt70 {
  padding-top: 12.1527777778vw;
}
@media print, screen and (min-width: 768px) {
  .pt70 {
    padding-top: 70px;
  }
}

.pb70 {
  padding-bottom: 12.1527777778vw;
}
@media print, screen and (min-width: 768px) {
  .pb70 {
    padding-bottom: 70px;
  }
}

.pt80 {
  padding-top: 13.8888888889vw;
}
@media print, screen and (min-width: 768px) {
  .pt80 {
    padding-top: 80px;
  }
}

.pb80 {
  padding-bottom: 13.8888888889vw;
}
@media print, screen and (min-width: 768px) {
  .pb80 {
    padding-bottom: 80px;
  }
}

.pt90 {
  padding-top: 15.625vw;
}
@media print, screen and (min-width: 768px) {
  .pt90 {
    padding-top: 90px;
  }
}

.pb90 {
  padding-bottom: 15.625vw;
}
@media print, screen and (min-width: 768px) {
  .pb90 {
    padding-bottom: 90px;
  }
}

.pt100 {
  padding-top: 17.3611111111vw;
}
@media print, screen and (min-width: 768px) {
  .pt100 {
    padding-top: 100px;
  }
}

.pb100 {
  padding-bottom: 17.3611111111vw;
}
@media print, screen and (min-width: 768px) {
  .pb100 {
    padding-bottom: 100px;
  }
}

.pt120 {
  padding-top: 20.8333333333vw;
}
@media print, screen and (min-width: 768px) {
  .pt120 {
    padding-top: 120px;
  }
}

.pb120 {
  padding-bottom: 20.8333333333vw;
}
@media print, screen and (min-width: 768px) {
  .pb120 {
    padding-bottom: 120px;
  }
}

.pt140 {
  padding-top: 24.3055555556vw;
}
@media print, screen and (min-width: 768px) {
  .pt140 {
    padding-top: 140px;
  }
}

.pb140 {
  padding-bottom: 24.3055555556vw;
}
@media print, screen and (min-width: 768px) {
  .pb140 {
    padding-bottom: 140px;
  }
}

.pt160 {
  padding-top: 27.7777777778vw;
}
@media print, screen and (min-width: 768px) {
  .pt160 {
    padding-top: 160px;
  }
}

.pb160 {
  padding-bottom: 27.7777777778vw;
}
@media print, screen and (min-width: 768px) {
  .pb160 {
    padding-bottom: 160px;
  }
}
/*2024/4/1追加*/
.l-footer-qrWrap a {
  display: block;
  margin-right: 16px;
}
.l-footer-qrWrap img {
  max-width: 80px;
  height: auto;
}
@media print, screen and (max-width: 767px) {
  .l-footer-qrWrap  {
    justify-content: center;
  }
  .l-footer-qrWrap a {
    margin: 0 8px;
  }
}

</pre></body></html>