@charset "UTF-8";
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colors to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colors to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border color to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

h1,
h2,
h3 {
  font-weight: normal;
}

body {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Meiryo", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #0e343d;
  font-size: min(4vw, 1rem);
  letter-spacing: 0.05rem;
  line-height: 2;
}

.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
}

.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 700;
}

.poppins {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 100%;
}

body,
a {
  color: #0E343D;
  text-decoration: none;
}

a:hover {
  opacity: 0.5;
  cursor: pointer;
}

ul,
ol {
  list-style: none;
}

.wrap {
  margin-inline: auto;
  max-width: 1350px;
  padding: 0 clamp(0.875rem, -0.286rem + 5.8vw, 2.5rem) 0 clamp(0.875rem, -0.286rem + 5.8vw, 2.5rem);
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

html body header .menu-contact,
html body footer .menu-contact {
  padding-left: 14px;
}
html body header .menu-contact a,
html body footer .menu-contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 230px;
  height: clamp(3.75rem, -1.75rem + 27.5vw, 5.125rem);
  font-size: min(4.5vw, 1.125rem);
  background: linear-gradient(to bottom right, #44eee4 0%, #0db6be 100%);
  color: #fff;
}
@media screen and (max-width: 1130px) {
  html body header .menu-contact,
html body footer .menu-contact {
    padding-left: unset;
  }
}

.sec-ttl {
  margin-bottom: clamp(1rem, 0.464rem + 2.68vw, 1.75rem);
}
.sec-ttl__sub {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: min(4.5vw, 1.25rem);
  color: #10a5ab;
  line-height: 1.6;
}
.sec-ttl__main {
  font-size: min(4vw, 2.625rem);
  line-height: 1.3;
  font-weight: bold;
  letter-spacing: 0.15rem;
}

@media screen and (max-width: 768px) {
  .sec-ttl__main {
    font-size: min(7vw, 2.625rem);
  }
}
.sec-btn {
  margin-top: clamp(1.5rem, 0.909rem + 2.95vw, 3.125rem);
}
.sec-btn a {
  font-size: min(4vw, 1rem);
  border-bottom: 1px solid #10a5ab;
  padding: 0 20px 8px 20px;
  display: inline-flex;
  align-items: center;
}
.sec-btn a svg {
  margin-left: 20px;
}

.news-box__list__item {
  margin-top: 8px;
}
.news-box__list__item:first-of-type {
  margin-top: unset;
}
.news-box__list__item a {
  display: inline-block;
  width: 100%;
  background-color: #f4f7f7;
  padding: clamp(1rem, -0.556rem + 7.78vw, 1.875rem) clamp(1.5rem, -0.278rem + 8.89vw, 2.5rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 8px;
  position: relative;
}
.news-box__list__item a .date {
  margin-right: 28px;
  color: #88b7b3;
}
.news-box__list__item a .ttl {
  width: 80%;
  padding-right: 46px;
}
.news-box__list__item a::after {
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url(../img/arrow.svg);
  width: 16px;
  height: 8px;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
  .news-box__list__item a {
    flex-direction: column;
    align-items: flex-start;
  }
  .news-box__list__item a .ttl {
    width: 100%;
  }
}
.page-fv {
  height: clamp(10.625rem, 3.352rem + 36.36vw, 30.625rem);
  width: calc(100% - 85px);
  background-size: cover;
  margin: 82px 0 0 85px;
  display: flex;
  align-items: center;
}
.page-fv__box {
  width: clamp(16.25rem, 10.114rem + 30.68vw, 33.125rem);
  height: clamp(5.5rem, 4.432rem + 5.34vw, 8.438rem);
  background: linear-gradient(to bottom right, #44eee4 0%, #0db6be 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  border-top-right-radius: 20px;
  padding-left: clamp(1.25rem, 0.568rem + 3.41vw, 3.125rem);
}
.page-fv__box__en {
  font-size: min(4vw, 1.25rem);
  line-height: 1;
}
.page-fv__box__ja {
  padding-top: clamp(0.25rem, 0.071rem + 0.89vw, 0.5rem);
  font-size: clamp(1.75rem, 1.386rem + 1.82vw, 2.75rem);
  line-height: 1;
  font-weight: bold;
}

@media screen and (max-width: 1130px) {
  .page-fv {
    margin: 60px 0 0 40px;
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 500px) {
  .page-fv {
    margin: 60px 0 0 24px;
    width: calc(100% - 24px);
  }
}
.page-about .page-fv {
  background-image: url(../img/fv-about_bg.webp);
}
@media screen and (max-width: 768px) {
  .page-about {
    background-position: bottom;
  }
}

.page-company .page-fv {
  background-image: url(../img/fv-company_bg.webp);
}

.page-technology .page-fv {
  background-image: url(../img/fv-technology_bg.webp);
}

.page-news .page-fv {
  background-image: url(../img/fv-news_bg.webp);
}

.page-contact .page-fv {
  background-image: url(../img/fv-contact_bg.webp);
}

.page-recruit .page-fv {
  background-image: url(../img/fv-recruit_bg.webp);
  background-position: 40% 50%;
  align-items: flex-end;
}
.page-recruit .page-fv__box {
  width: clamp(43.75rem, 25.083rem + 38.89vw, 54.25rem);
}
.page-recruit .page-fv__box__ja {
  line-height: 1.2;
}
.page-recruit .page-fv__box__ja br {
  display: none;
}

@media screen and (max-width: 768px) {
  .page-recruit .page-fv__box {
    width: clamp(16.25rem, 11.786rem + 22.32vw, 22.5rem);
  }
  .page-recruit .page-fv__box__ja {
    font-size: clamp(1.188rem, 0.875rem + 1.56vw, 1.625rem);
  }
  .page-recruit .page-fv__box__ja br {
    display: block;
  }
}
.page-privacy .page-fv {
  background-image: url(../img/fv-privacy_bg.webp);
}
.page-privacy .page-fv__box__ja {
  font-size: clamp(1.875rem, 0.319rem + 3.24vw, 2.75rem);
}

@media screen and (max-width: 768px) {
  .page-privacy .page-fv {
    background-position: 50% 50%;
  }
  .page-privacy .page-fv__box__ja {
    font-size: clamp(1.375rem, 1.018rem + 1.79vw, 1.875rem);
  }
}
.breadcrumb {
  margin-left: auto;
  width: calc(100% - 85px);
}
.breadcrumb__list {
  display: flex;
  align-items: center;
  padding: clamp(0.25rem, 0.071rem + 0.89vw, 0.5rem) 0;
}
.breadcrumb__list__item {
  padding: 0 clamp(0.25rem, 0.071rem + 0.89vw, 0.5rem);
  display: flex;
  align-items: center;
}
.breadcrumb__list__item a {
  white-space: nowrap;
}
.breadcrumb__list__item::after {
  content: "";
  background-image: url("../img/icon_breadcrumb_arrow.svg");
  background-repeat: no-repeat;
  width: 7px;
  height: 12px;
  margin-left: clamp(0.375rem, 0.107rem + 1.34vw, 0.75rem);
}
.breadcrumb__list__item:last-of-type {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.breadcrumb__list__item:last-of-type::after {
  content: none;
}

@media screen and (max-width: 1130px) {
  .breadcrumb {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 500px) {
  .breadcrumb {
    width: calc(100% - 24px);
  }
}
.normal-txt-box__txt {
  margin-top: 8px;
}
.normal-txt-box__txt:first-of-type {
  margin-top: unset;
}

.tegaki {
  max-width: clamp(36.25rem, 9.361rem + 56.02vw, 51.375rem);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .tegaki {
    max-width: 100%;
  }
}

.table-list {
  max-width: 1080px;
  display: flex;
  flex-wrap: wrap;
  margin-inline: auto;
}
.table-list dt {
  width: 240px;
  color: #0d596d;
  padding: clamp(1rem, 0.732rem + 1.34vw, 1.375rem) 0;
  border-bottom: 1px solid #c2e9e9;
  font-weight: bold;
}
.table-list dd {
  width: calc(100% - 240px);
  padding: clamp(1rem, 0.732rem + 1.34vw, 1.375rem) 0;
  border-bottom: 1px solid #c2e9e9;
}
.table-list dd a {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .table-list {
    flex-direction: column;
  }
  .table-list dt {
    width: 100%;
    border-bottom: unset;
    padding: clamp(1rem, 0.732rem + 1.34vw, 1.375rem) 0 0 0;
  }
  .table-list dd {
    width: 100%;
  }
}
/* 管理バーがあるときだけヘッダーを32px下にずらす */
body:has(#wpadminbar) .header {
  top: 32px;
}

/* モバイル（782px以下）は管理バーの高さ46px分ずらす */
@media screen and (max-width: 782px) {
  body:has(#wpadminbar) .header {
    top: 46px;
  }
}
.header {
  padding-left: clamp(0.625rem, -0.268rem + 4.46vw, 1.875rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.8);
  height: 82px;
  z-index: 20;
}
.header__h1 .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
html .header__h1 a img {
  aspect-ratio: 210.16/52.01;
  max-width: 210.16px;
  height: auto;
}
.header__menu__list {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header__menu__list__item a {
  padding: 0 clamp(0.625rem, -3.411rem + 5.71vw, 0.875rem);
  font-weight: 600;
  color: #0d596d;
}
@media screen and (max-width: 1130px) {
  .header__menu {
    display: none;
  }
}

@media screen and (max-width: 1130px) {
  .header {
    height: 60px;
  }
  .header__h1 a img {
    max-width: 160px;
  }
}
.hamburger {
  display: none;
  position: relative;
  z-index: 4;
  width: 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  right: clamp(0.625rem, -0.268rem + 4.46vw, 1.875rem);
}
.hamburger span {
  position: absolute;
  width: 30px;
  height: 2px;
  background: #000;
  transition: 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
  left: 0;
}
.hamburger span:nth-child(2) {
  top: 20px;
  left: 0;
  width: 35px;
}
.hamburger span:nth-child(3) {
  top: 30px;
  left: 0;
  width: 39px;
}
@media screen and (max-width: 1130px) {
  .hamburger {
    display: block;
  }
}

/* ナビ開いてる時のボタン */
.hamburger.active {
  position: fixed;
  right: clamp(0.625rem, -0.268rem + 4.46vw, 1.875rem);
  top: 10px;
}
.hamburger.active span:nth-child(1) {
  top: 20px;
  left: 6px;
  background: #0e343d;
  transform: rotate(-45deg);
}
.hamburger.active span:nth-child(2) {
  top: 20px;
  left: 6px;
  width: 30px;
  background: #0e343d;
  transform: rotate(45deg);
}
.hamburger.active span:nth-child(3) {
  top: 20px;
  left: 6px;
  width: 30px;
  background: #0e343d;
  transform: rotate(45deg);
}

.globalMenuSp {
  display: none;
  position: fixed;
  z-index: 3;
  top: 0;
  right: 0;
  color: #0e343d;
  background: #fff;
  text-align: center;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.globalMenuSp.active {
  opacity: 100;
  visibility: visible;
  display: flex;
  justify-content: center;
}
.globalMenuSp ul {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.globalMenuSp ul li {
  padding: 8px 0;
}
.globalMenuSp ul li a {
  color: #0e343d;
  font-weight: bold;
}

.fv {
  margin-top: 82px;
  position: relative;
}
.fv-wrap {
  margin-left: 85px;
  position: relative;
  overflow: hidden;
  padding: 0 0 50px 0;
}
.fv-wrap__video {
  position: relative;
}
.fv-wrap__video video {
  width: 100%;
  height: calc(100vh - 80px);
  -o-object-fit: cover;
     object-fit: cover;
}
.fv-wrap__video::before {
  content: "";
  display: inline-block;
  position: absolute;
  z-index: 2;
  width: 100%;
  height: calc(100vh - 80px);
  background-color: rgba(45, 203, 201, 0.2);
}
.fv-wrap__catch {
  position: absolute;
  display: inline-block;
  bottom: clamp(4.75rem, 3.589rem + 5.8vw, 6.375rem);
  left: 0;
  z-index: 2;
  width: clamp(15.625rem, 10.625rem + 25vw, 29.375rem);
  height: clamp(9.375rem, 6.875rem + 12.5vw, 16.25rem);
  background: linear-gradient(to bottom right, #44eee4 0%, #0db6be 100%);
  font-weight: bold;
  border-top-right-radius: 20px;
  display: flex;
  align-items: center;
  padding-left: 16px;
}
.fv-wrap__catch__wrap__main {
  color: #fff;
  font-size: clamp(1.688rem, 1.165rem + 2.61vw, 3.125rem);
  letter-spacing: 0.2rem;
  line-height: 1.2;
}
.fv-wrap__catch__wrap__sub {
  margin-top: 12px;
  color: #fff;
  font-size: min(3.5vw, 1.125rem);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
}
.fv-wrap__catch__wrap__sub::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 1px;
  background-color: #fff;
  margin-right: 8px;
}
.fv-wrap__loop {
  position: absolute;
  bottom: clamp(0px, -8.48vw + 65.14px, 38px);
  overflow: hidden;
}
.fv-wrap__loop__txt {
  display: inline-block;
  text-transform: uppercase;
  font-size: min(13vw, 8.125rem);
  white-space: nowrap;
  line-height: 0.9;
  -webkit-animation: loopMarquee 40s linear infinite;
          animation: loopMarquee 40s linear infinite;
  color: #fff;
  opacity: 0.8;
  mix-blend-mode: overlay;
}
.fv__scroll {
  position: absolute;
  left: -40px;
  bottom: 170px;
  transform: rotate(90deg);
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
.fv__scroll::before {
  content: "";
  display: inline-block;
  width: 80px;
  height: 1px;
  background-color: #0d596d;
  margin: 0 0 0 8px;
}

/* ２セット分の幅の「半分」だけ左に動かす */
@-webkit-keyframes loopMarquee {
  0% {
    transform: translateX(0);
  } /* 最初は .fv-wrap__loop__txt の先頭が見えている */
  100% {
    transform: translateX(-50%);
  } /* ちょうど２つめのテキスト位置まで移動 */
}
@keyframes loopMarquee {
  0% {
    transform: translateX(0);
  } /* 最初は .fv-wrap__loop__txt の先頭が見えている */
  100% {
    transform: translateX(-50%);
  } /* ちょうど２つめのテキスト位置まで移動 */
}
@media screen and (max-width: 1130px) {
  .fv {
    margin-top: 60px;
  }
  .fv-wrap {
    margin-left: 40px;
  }
  .fv-wrap__video video {
    height: calc(100vh - 60px);
  }
  .fv-wrap__video::before {
    height: calc(100vh - 60px);
  }
  .fv__scroll {
    left: -56px;
    bottom: clamp(8.625rem, 7.464rem + 5.8vw, 10.25rem);
  }
  .fv__scroll__txt {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 500px) {
  .fv-wrap {
    margin-left: 24px;
  }
  .fv__scroll__txt {
    font-size: 0.625rem;
  }
}
.top-about-us {
  margin-top: clamp(-102px, -5.8vw - 57.43px, -76px);
  background: linear-gradient(to bottom right, #2cc0b9 0%, #2cb9c0 100%);
  overflow: hidden;
}
.top-about-us-wrap {
  padding-top: clamp(4.375rem, 0.804rem + 17.86vw, 9.375rem);
  padding-bottom: clamp(3.75rem, 2.841rem + 4.55vw, 6.25rem);
  display: flex;
  justify-content: space-between;
  position: relative;
}
.top-about-us-wrap::before {
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url(../img/top_about_us_blur.svg);
  background-size: cover;
  width: 500px;
  height: 500px;
  top: -100px;
  left: -170px;
  z-index: 0;
}
.top-about-us-wrap::after {
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url(../img/top_about_us_blur.svg);
  background-size: cover;
  width: 500px;
  height: 500px;
  bottom: -100px;
  right: -170px;
  z-index: 0;
}
.top-about-us-wrap__txt {
  margin-top: clamp(0rem, -8.444rem + 17.59vw, 4.75rem);
  width: 50%;
  position: relative;
  z-index: 1;
}
.top-about-us-wrap__txt .sec-ttl__sub {
  color: #1c869b;
}
.top-about-us-wrap__txt .sec-ttl__main {
  color: #fff;
}
.top-about-us-wrap__txt .normal-txt-box {
  color: #fff;
}
.top-about-us-wrap__txt .sec-btn {
  text-align: right;
}
.top-about-us-wrap__txt .sec-btn a {
  color: #fff;
  border-bottom: 1px solid #fff;
}
.top-about-us-wrap__img-box {
  display: flex;
  justify-content: space-between;
  width: 45%;
  position: relative;
  z-index: 1;
}
.top-about-us-wrap__img-box__img img {
  aspect-ratio: 276/482;
  max-width: 276px;
  height: auto;
}
.top-about-us-wrap__img-box .item1 {
  margin-top: clamp(3.625rem, -6.375rem + 20.83vw, 9.25rem);
  margin-right: 8px;
}

@media screen and (max-width: 768px) {
  .top-about-us-wrap {
    flex-direction: column;
  }
  .top-about-us-wrap__txt {
    width: 100%;
  }
  .top-about-us-wrap__img-box {
    margin-top: 30px;
    width: 100%;
  }
  .top-about-us-wrap__img-box img {
    max-width: 326px;
  }
  .top-about-us-wrap__img-box .item1 {
    margin-top: clamp(2.375rem, -2.536rem + 24.55vw, 9.25rem);
  }
}
.top-tech {
  position: relative;
  padding-bottom: clamp(17.5rem, 6.867rem + 22.15vw, 26.25rem);
}
.top-tech__txt {
  position: absolute;
  z-index: 3;
  max-width: clamp(18.125rem, -1.696rem + 99.11vw, 52.813rem);
  background-color: #eefaf9;
  padding: clamp(1.875rem, 0.804rem + 5.36vw, 3.75rem) clamp(1.875rem, 0.804rem + 5.36vw, 3.75rem) clamp(1.875rem, 0.804rem + 5.36vw, 3.75rem) clamp(1.25rem, -1.036rem + 11.43vw, 5.25rem);
  top: 200px;
  border-top-right-radius: 20px;
}
.top-tech__txt .sec-btn {
  text-align: right;
}
.top-tech__img {
  margin-left: auto;
  margin-top: clamp(5.625rem, 4.286rem + 6.7vw, 7.5rem);
  background-image: url(../img/top_tech.webp);
  background-size: cover;
  max-width: clamp(18.125rem, -1.734rem + 99.29vw, 79.563rem);
  height: clamp(10.625rem, 0.714rem + 49.55vw, 24.5rem);
  position: relative;
}
.top-tech__img__catch {
  position: absolute;
  z-index: 4;
  top: -50px;
  right: clamp(1.25rem, -0.366rem + 8.08vw, 6.25rem);
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
}
.top-tech__img__catch span {
  display: inline-block;
  writing-mode: vertical-rl;
  font-size: min(4.5vw, 2rem);
  color: #fff;
  background: #0d596d;
  padding: clamp(0.5rem, -0.036rem + 2.68vw, 1.25rem) 0px;
  letter-spacing: 0.3rem;
  margin-right: 8px;
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .top-tech__txt {
    top: clamp(8.75rem, -0.625rem + 46.88vw, 21.875rem);
  }
}
.top-company {
  padding-bottom: clamp(3.125rem, 2.216rem + 4.55vw, 5.625rem);
}
.top-company-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.top-company-wrap__img-box {
  position: relative;
  margin-right: 48px;
}
.top-company-wrap__img-box__bg-txt {
  position: absolute;
  font-size: min(6vw, 5.625rem);
  color: #daf1f2;
  text-transform: uppercase;
  z-index: -1;
  top: clamp(-68px, -7.46vw + 19.33px, -38px);
  left: clamp(0rem, -33.433rem + 69.65vw, 17.5rem);
  white-space: nowrap;
  letter-spacing: 0.2rem;
  line-height: 1;
}
.top-company-wrap__img-box__img img {
  aspect-ratio: 510/482;
  max-width: 510px;
  height: auto;
  border-top-right-radius: 30px;
}
.top-company-wrap__txt {
  width: 54%;
}
.top-company-wrap__txt .sec-btn {
  text-align: right;
}

@media screen and (max-width: 768px) {
  .top-company {
    padding-top: clamp(10.625rem, 7.5rem + 15.63vw, 15rem);
    overflow: hidden;
  }
  .top-company-wrap {
    flex-direction: column;
  }
  .top-company-wrap__img-box {
    margin-right: 0;
  }
  .top-company-wrap__img-box__bg-txt {
    font-size: min(8vw, 5.625rem);
    top: clamp(-48px, -6.25vw, -20px);
  }
  .top-company-wrap__img-box img {
    aspect-ratio: 430/240;
    max-width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .top-company-wrap__txt {
    margin-top: 40px;
    width: 100%;
  }
}
@media screen and (max-width: 380px) {
  .top-company {
    padding-top: clamp(6.25rem, -20.417rem + 133.33vw, 11.25rem);
  }
}
.top-recruit {
  padding: clamp(3.125rem, 2.17rem + 4.77vw, 5.75rem) 0;
  background-color: #ecf8f7;
}
.top-recruit-wrap .sec-ttl {
  text-align: center;
}
.top-recruit-wrap__list {
  margin-top: clamp(1.25rem, -0.306rem + 3.24vw, 2.125rem);
  display: flex;
  justify-content: space-between;
  gap: 0px 20px;
}
.top-recruit-wrap__list__item {
  width: 380px;
  position: relative;
}
.top-recruit-wrap__list__item__img:before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: 300px;
  z-index: 2;
  bottom: 0;
  left: 0;
  background: linear-gradient(to top, rgb(13, 89, 109) 0%, rgba(13, 89, 109, 0) 100%);
}
.top-recruit-wrap__list__item__img img {
  aspect-ratio: 380/525;
  max-width: 380px;
  height: auto;
}
.top-recruit-wrap__list__item__txt {
  position: absolute;
  z-index: 3;
  bottom: -16px;
  left: -10px;
}
.top-recruit-wrap__list__item__txt__prof {
  display: inline-block;
  font-size: min(1.6vw, 1.125rem);
  font-weight: bold;
  background-color: #03abcc;
  padding: 2px 10px;
  color: #fff;
  white-space: nowrap;
}
.top-recruit-wrap__list__item__txt__msg {
  margin-top: 2px;
  font-size: min(1.6vw, 1.25rem);
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 16px;
}
.top-recruit-wrap__list__item__txt__msg span {
  line-height: 1.2;
  display: inline-block;
  background-color: #fff;
  padding: 2px 10px;
  margin: 2px 0;
  color: #0e343d;
  white-space: nowrap;
}
.top-recruit-wrap__join {
  margin-top: 115px;
}
.top-recruit-wrap__join__ttl-box {
  text-align: center;
}
.top-recruit-wrap__join__ttl-box__en {
  font-size: min(11vw, 5.625rem);
  text-transform: uppercase;
  background: linear-gradient(180deg, #5cd2d7 0%, #c9f6f8 79%, #ecf8f7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  line-height: 1;
}
.top-recruit-wrap__join__ttl-box__ja {
  line-height: 1.4;
  font-size: min(5.4vw, 2.375rem);
  margin-top: clamp(-24px, -2.68vw - 3.43px, -12px);
  font-weight: bold;
}
.top-recruit-wrap__join__youtube {
  margin-top: clamp(1rem, 0.409rem + 2.95vw, 2.625rem);
  text-align: center;
}
.top-recruit-wrap__join__youtube .yt-placeholder {
  margin-inline: auto;
}
.top-recruit-wrap__join .normal-txt-box {
  margin-top: clamp(1.25rem, 0.841rem + 2.05vw, 2.375rem);
  max-width: 926px;
  margin-inline: auto;
}
.top-recruit-wrap__join .sec-btn {
  text-align: center;
}

.yt-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(4.375rem, 3.036rem + 6.7vw, 6.25rem);
}

@media screen and (max-width: 768px) {
  .top-recruit-wrap__list {
    flex-direction: column;
  }
  .top-recruit-wrap__list__item {
    margin-top: clamp(7.5rem, 6.607rem + 4.46vw, 8.75rem);
    width: 100%;
  }
  .top-recruit-wrap__list__item:first-of-type {
    margin-top: clamp(0rem, -0.893rem + 4.46vw, 1.25rem);
  }
  .top-recruit-wrap__list__item__img::before {
    height: 100px;
  }
  .top-recruit-wrap__list__item__img img {
    aspect-ratio: 380/311;
    max-width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top;
       object-position: top;
  }
  .top-recruit-wrap__list__item__txt {
    bottom: -100px;
  }
  .top-recruit-wrap__list__item__txt__prof {
    font-size: min(4vw, 1.5rem);
  }
  .top-recruit-wrap__list__item__txt__msg {
    font-size: min(4vw, 1.75rem);
  }
  .top-recruit-wrap__join {
    margin-top: clamp(8.125rem, 7.232rem + 4.46vw, 9.375rem);
  }
}
.top-news {
  padding: clamp(3.125rem, 2.307rem + 4.09vw, 5.375rem) 0 clamp(3.75rem, 2.977rem + 3.86vw, 5.875rem) 0;
}
.top-news-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top-news-wrap__ttl {
  margin-right: 16px;
}
.top-news-wrap__ttl .sec-ttl {
  margin-bottom: unset;
}
.top-news-wrap .news-box {
  width: 70%;
}

@media screen and (max-width: 768px) {
  .top-news-wrap {
    flex-direction: column;
    align-items: flex-start;
    align-items: center;
  }
  .top-news-wrap__ttl {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-right: unset;
  }
  .top-news-wrap .news-box {
    margin-top: clamp(1.5rem, 1.054rem + 2.23vw, 2.125rem);
    width: 100%;
  }
}
.common-contact {
  padding: clamp(2.25rem, 1.357rem + 4.46vw, 3.5rem) 0 clamp(3.688rem, 1.455rem + 11.16vw, 6.813rem) 0;
  background-image: url(../img/contact_bg.webp);
  background-size: cover;
  text-align: center;
  color: #fff;
}
.common-contact-wrap .sec-ttl {
  color: #fff;
  text-align: center;
}
.common-contact-wrap .sec-ttl__sub {
  color: #fff;
}
.common-contact-wrap__txt span {
  display: inline-block;
}
.common-contact-wrap__box {
  margin-top: clamp(1.125rem, 0.716rem + 2.05vw, 2.25rem);
  display: flex;
  align-items: center;
  justify-content: center;
}
.common-contact-wrap__box__tel__ttl {
  text-align: center;
}
.common-contact-wrap__box__tel__number {
  display: flex;
  align-items: baseline;
  justify-content: center;
  line-height: 1;
}
.common-contact-wrap__box__tel__number__txt {
  margin-right: 8px;
}
.common-contact-wrap__box__tel__number a {
  font-size: min(7vw, 2.25rem);
  color: #fff;
  font-weight: bold;
}
.common-contact-wrap__box__tel__caution {
  font-size: min(4vw, 0.75rem);
}
.common-contact-wrap__box__mail {
  background-color: #fff;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(20rem, 10rem + 20.83vw, 25.625rem);
  height: clamp(4.375rem, 3.482rem + 4.46vw, 5.625rem);
  color: #0d596d;
  font-weight: 600;
}
.common-contact-wrap__box__mail svg {
  margin-right: 8px;
}
.common-contact-wrap__box__mail::after {
  content: "";
  display: inline-block;
  background-image: url(../img/arrow.svg);
  width: 20px;
  height: 8px;
  background-repeat: no-repeat;
  position: relative;
  right: -25px;
}

.common-contact-wrap__box {
  position: relative;
  min-height: 90px;
}
@media screen and (max-width: 768px) {
  .common-contact-wrap__box {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    min-height: auto;
  }
}

.common-contact-wrap__box__tel,
.common-contact-wrap__box__mail {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .common-contact-wrap__box__tel,
.common-contact-wrap__box__mail {
    position: static;
    transform: none;
    top: auto;
    left: auto;
    margin: 0;
    width: 100%;
  }
}

.common-contact-wrap__box__tel {
  left: 50%;
  transform: translateX(calc(-100% - clamp(1rem, -1.222rem + 4.63vw, 2.25rem))) translateY(-50%);
}
@media screen and (max-width: 768px) {
  .common-contact-wrap__box__tel {
    transform: none;
  }
}

.common-contact-wrap__box__mail {
  left: 50%;
  transform: translateX(clamp(1rem, -1.222rem + 4.63vw, 2.25rem)) translateY(-50%);
}
@media screen and (max-width: 768px) {
  .common-contact-wrap__box__mail {
    transform: none;
  }
}

.footer {
  padding: clamp(3.75rem, 2.386rem + 6.82vw, 7.5rem) 0 clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem) 0;
  background-image: linear-gradient(to top, rgb(24, 206, 213) 0%, rgba(68, 238, 228, 0) 100%), url("../img/footer_bg.webp");
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}
.footer-wrap__menu {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer-wrap__info {
  margin-top: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
}
.footer-wrap__info__tel {
  display: flex;
}
.footer-wrap__info__tel a {
  margin-left: 4px;
}
.footer-wrap__info__mail {
  display: flex;
}
.footer-wrap__info__mail a {
  margin-left: 4px;
  text-decoration: underline;
}
.footer-wrap__info__privacy {
  display: inline-block;
  margin-top: 20px;
  text-decoration: underline;
}
.footer-wrap__catch {
  margin-top: clamp(6.25rem, 4.205rem + 10.23vw, 11.875rem);
}
.footer-wrap__catch__sub {
  color: #fff;
  font-size: min(3.5vw, 1.125rem);
  font-weight: bold;
  display: flex;
  align-items: center;
}
.footer-wrap__catch__sub::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 1px;
  background-color: #fff;
  margin-right: 8px;
}
.footer-wrap__catch__main {
  color: #fff;
  font-size: min(5vw, 3.125rem);
  letter-spacing: 0.2rem;
  line-height: 1.2;
  font-weight: bold;
}
.footer-wrap__catch__loop {
  margin-top: clamp(0.375rem, -0.292rem + 3.33vw, 0.75rem);
  display: inline-block;
  text-transform: uppercase;
  font-size: min(13vw, 8.125rem);
  white-space: nowrap;
  line-height: 0.9;
  -webkit-animation: loopMarquee 40s linear infinite;
  animation: loopMarquee 40s linear infinite;
  color: #fff;
  opacity: 0.8;
  mix-blend-mode: overlay;
}

.page-about__about-us {
  margin-top: 40px;
}
.page-about__about-us__top {
  display: flex;
  justify-content: space-between;
}
.page-about__about-us__top__txt {
  margin-top: clamp(1.875rem, -0.792rem + 5.56vw, 3.375rem);
  width: 50%;
}
.page-about__about-us__top__img-box {
  width: 47%;
  display: flex;
}
.page-about__about-us__top__img-box .item1 {
  margin: clamp(2.5rem, -0.611rem + 6.48vw, 4.25rem) 10px 0 0;
}
.page-about__about-us__top__img-box__img img {
  aspect-ratio: 274/439;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}
.page-about__about-us__under {
  margin-top: clamp(3.375rem, 2.239rem + 5.68vw, 6.5rem);
  display: flex;
  justify-content: space-between;
}
.page-about__about-us__under__item {
  width: 48.6614173228%;
  min-height: 280px;
  background-color: #eefaf9;
  position: relative;
  padding: clamp(1.25rem, 0.357rem + 4.46vw, 2.5rem) clamp(1rem, 0.464rem + 2.68vw, 1.75rem);
}
.page-about__about-us__under__item__en {
  position: absolute;
  font-size: min(7vw, 5rem);
  background: linear-gradient(to bottom right, #44eee4 0%, #0db6be 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  z-index: 1;
  top: clamp(-40px, -3.24074vw - 1.11111px, -26px);
  left: 50%;
  transform: translateX(-50%);
  text-transform: uppercase;
  line-height: 1;
}
.page-about__about-us__under__item__ttl {
  text-align: center;
  font-size: min(5vw, 1.5rem);
  font-weight: bold;
  margin-bottom: clamp(0.625rem, -0.931rem + 3.24vw, 1.5rem);
}
.page-about__about-us__under__item .page-about__about-us__under__txt {
  font-size: min(2vw, 1.125rem);
  font-weight: bold;
  text-align: center;
}
.page-about__about-us__under__item .page-about__about-us__under__txt .number {
  display: inline-block;
  margin-right: 16px;
}
.page-about__about-us__under__item .page-about__about-us__under__txt .br {
  display: inline-block;
}
.page-about__about-us__under__item__list .page-about__about-us__under__txt {
  text-align: left;
}

@media screen and (max-width: 768px) {
  .page-about__about-us {
    margin-top: clamp(3.125rem, 2.443rem + 3.41vw, 5rem);
  }
  .page-about__about-us__top {
    flex-direction: column;
  }
  .page-about__about-us__top__txt {
    margin-top: unset;
    width: 100%;
  }
  .page-about__about-us__top__img-box {
    margin-top: 24px;
    width: 100%;
  }
  .page-about__about-us__under {
    flex-direction: column;
  }
  .page-about__about-us__under__item {
    margin-top: clamp(2.375rem, 1.929rem + 2.23vw, 3rem);
    width: 100%;
    min-height: unset;
  }
  .page-about__about-us__under__item:first-of-type {
    margin-top: unset;
  }
  .page-about__about-us__under__item__en {
    font-size: min(10vw, 5rem);
    top: clamp(-40px, -4.46vw - 5.71px, -20px);
  }
  .page-about__about-us__under__item .page-about__about-us__under__txt {
    font-size: min(4vw, 1.125rem);
  }
}
.page-about__str {
  padding: clamp(3.75rem, 2.841rem + 4.55vw, 6.25rem) 0 clamp(3.75rem, 3.295rem + 2.27vw, 5rem) 0;
}
.page-about__str-wrap__ttl {
  text-align: center;
}
.page-about__str-wrap__ttl__en {
  font-size: min(7.3vw, 6.25rem);
  color: #eef8f9;
  line-height: 0.9;
}
.page-about__str-wrap__ttl .sec-ttl__main {
  margin-top: clamp(-20px, -3.125vw + 4px, -6px);
}
.page-about__str-wrap__list {
  margin-top: clamp(1.375rem, 0.92rem + 2.27vw, 2.625rem);
}
.page-about__str-wrap__list__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3.7795275591%;
}
.page-about__str-wrap__list__item__txt {
  width: 74%;
}
.page-about__str-wrap__list__item__txt__ttl {
  font-size: min(2.8vw, 1.875rem);
  margin-bottom: 8px;
  font-weight: bold;
}
.page-about__str-wrap__list__item__txt__ttl span {
  font-size: min(10vw, 4.5rem);
  color: #56cac9;
  margin-right: clamp(0.5rem, -0.167rem + 3.33vw, 0.875rem);
  line-height: 0.9;
}
.page-about__str-wrap__list__item__img {
  flex: 1;
}
.page-about__str-wrap__list__item__img img {
  aspect-ratio: 322/257;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  min-width: 230px;
}
.page-about__str-wrap__list__item:nth-child(2n) {
  margin-top: clamp(1.875rem, 0.966rem + 4.55vw, 4.375rem);
  flex-direction: row-reverse;
}

@media screen and (max-width: 768px) {
  .page-about__str-wrap__list__item {
    flex-direction: column;
  }
  .page-about__str-wrap__list__item__txt {
    width: 100%;
  }
  .page-about__str-wrap__list__item__txt__ttl {
    font-size: min(4.8vw, 1.875rem);
  }
  .page-about__str-wrap__list__item__img {
    width: 100%;
    margin: 20px 0 0 0;
    max-width: 600px;
    margin-inline: auto;
  }
  .page-about__str-wrap__list__item:nth-child(2n) {
    flex-direction: column;
  }
}
.page-about__voice {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
  background-color: #eefaf9;
}
.page-about__voice-wrap .sec-ttl {
  text-align: center;
}
.page-about__voice-wrap__list {
  display: flex;
  justify-content: space-between;
}
.page-about__voice-wrap__list__item {
  width: 29.5275590551%;
}
.page-about__voice-wrap__list__item__ttl {
  margin: 12px 0 8px 0;
  font-size: min(2.2vw, 1.375rem);
  color: #0d596d;
  font-weight: bold;
  line-height: 1.4;
}
.page-about__voice-wrap__list__item__img img {
  aspect-ratio: 378/255;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}

@media screen and (max-width: 768px) {
  .page-about__voice-wrap__list {
    flex-direction: column;
  }
  .page-about__voice-wrap__list__item {
    width: 100%;
    margin-top: clamp(1.5rem, 0.786rem + 3.57vw, 2.5rem);
  }
  .page-about__voice-wrap__list__item:first-of-type {
    margin-top: unset;
  }
  .page-about__voice-wrap__list__item__ttl {
    font-size: min(5vw, 1.5rem);
  }
}
.page-company__msg {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
}
.page-company__msg-wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 5.6692913386%;
}
.page-company__msg-wrap .sec-ttl__top {
  margin-top: 20px;
  font-size: min(5.2vw, 2rem);
  color: #0d596d;
  font-weight: bold;
  line-height: 1.4;
}
.page-company__msg-wrap__txt {
  width: 60.7086614173%;
}
.page-company__msg-wrap__txt__name {
  margin-top: 16px;
  text-align: right;
  font-weight: bold;
}
.page-company__msg-wrap__img {
  width: 33.4645669291%;
}
.page-company__msg-wrap__img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
}

@media screen and (max-width: 768px) {
  .page-company__msg-wrap {
    flex-direction: column;
  }
  .page-company__msg-wrap__txt {
    width: 100%;
  }
  .page-company__msg-wrap__img {
    margin-top: clamp(1.875rem, 1.429rem + 2.23vw, 2.5rem);
    width: 90%;
    margin-inline: auto;
  }
  .page-company__msg-wrap__img img {
    max-width: 100%;
    width: 100%;
  }
}
.page-company__prof {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
  background-color: #eefaf9;
}
.page-company__prof-wrap .sec-ttl {
  text-align: center;
}

.page-company__history {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
}
.page-company__history-wrap .sec-ttl {
  text-align: center;
}
.page-company__history-wrap__list {
  max-width: 1080px;
  margin-inline: auto;
}
.page-company__history-wrap__list__item {
  display: flex;
  align-items: center;
}
.page-company__history-wrap__list__item time {
  font-size: min(7.5vw, 2.5rem);
  color: #0d596d;
  padding-right: 6.4814814815%;
}
.page-company__history-wrap__list__item__box {
  width: 100%;
  border-left: 1px solid #c2e9e9;
  position: relative;
  padding-left: 4.6296296296%;
}
.page-company__history-wrap__list__item__box::before {
  position: absolute;
  display: inline-block;
  content: "";
  width: 12px;
  height: 12px;
  background-color: #10a5ab;
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
}
.page-company__history-wrap__list__item__box__txt {
  padding: 30px 12px 30px 2.7777777778%;
  border-bottom: 1px solid #c2e9e9;
}

@media screen and (max-width: 768px) {
  .page-company__history-wrap__list__item {
    flex-direction: column;
    align-items: flex-start;
    border-left: 1px solid #c2e9e9;
  }
  .page-company__history-wrap__list__item time {
    padding-right: unset;
    padding-left: 4.6296296296%;
    line-height: 1;
    margin-top: clamp(1.125rem, 0.589rem + 2.68vw, 1.875rem);
  }
  .page-company__history-wrap__list__item__box {
    border-left: unset;
  }
  .page-company__history-wrap__list__item__box__txt {
    padding: clamp(0.75rem, 0.214rem + 2.68vw, 1.5rem) 12px clamp(0.75rem, 0.214rem + 2.68vw, 1.5rem) 2.7777777778%;
  }
  .page-company__history .wrap {
    padding: 0 clamp(0.875rem, -0.286rem + 5.8vw, 2.5rem) 0 clamp(1.5rem, 0.786rem + 3.57vw, 2.5rem);
  }
}
.page-technology__metal {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
}
.page-technology__metal-wrap .sec-ttl {
  text-align: center;
}
.page-technology__metal-wrap__list {
  display: grid;
  gap: 26px;
  grid-template-columns: repeat(auto-fit, minmax(clamp(17.5rem, 11.778rem + 28.61vw, 20.719rem), 1fr));
}
.page-technology__metal-wrap__list__item figcaption {
  font-size: min(4vw, 1.25rem);
  font-weight: bold;
  text-align: center;
}

.page-technology__tech {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
  background-color: #eefaf9;
}
.page-technology__tech-wrap .sec-ttl {
  text-align: center;
}
.page-technology__tech-wrap__list {
  display: flex;
  justify-content: space-between;
  gap: 3.937007874%;
}
.page-technology__tech-wrap__list__item h3 {
  font-size: min(2.8vw, 1.75rem);
  color: #0d596d;
  font-weight: bold;
}
.page-technology__tech-wrap__equipment {
  margin-top: clamp(1.875rem, 1.193rem + 3.41vw, 3.75rem);
}
.page-technology__tech-wrap__equipment__ttl {
  font-size: min(7vw, 2.125rem);
  color: #0d596d;
  font-weight: bold;
  text-align: center;
}
.page-technology__tech-wrap__equipment table {
  max-width: 737px;
  width: 100%;
  margin-inline: auto;
  border-collapse: collapse;
  border: 1px solid #0e343d;
}
.page-technology__tech-wrap__equipment table th {
  text-align: left;
  border: 1px solid #0e343d;
  padding: 6px 10px;
  font-size: min(4vw, 0.85rem);
  white-space: nowrap;
}
.page-technology__tech-wrap__equipment table td {
  border: 1px solid #0e343d;
  padding: 6px 10px;
  font-size: min(4vw, 0.85rem);
}

@media screen and (max-width: 768px) {
  .page-technology__tech-wrap__list {
    flex-direction: column;
  }
  .page-technology__tech-wrap__list__item {
    margin-top: 30px;
  }
  .page-technology__tech-wrap__list__item:first-of-type {
    margin-top: unset;
  }
  .page-technology__tech-wrap__list__item h3 {
    font-size: min(6vw, 1.75rem);
  }
}
.page-technology__iso {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
}
.page-technology__iso-wrap {
  display: flex;
  flex-direction: row-reverse;
  gap: 6.8503937008%;
}
.page-technology__iso-wrap__txt {
  width: 63.3070866142%;
}
.page-technology__iso-wrap__img {
  width: 29.842519685%;
}

@media screen and (max-width: 768px) {
  .page-technology__iso-wrap {
    flex-direction: column;
  }
  .page-technology__iso-wrap__txt {
    width: 100%;
  }
  .page-technology__iso-wrap__img {
    margin-top: 30px;
    width: 100%;
  }
}
.page-news__contents {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
  max-width: 990px;
  margin-inline: auto;
}

.art-nav {
  margin-top: clamp(1.875rem, 1.42rem + 2.27vw, 3.125rem);
  text-align: center;
}
.art-nav .wp-pagenavi {
  display: flex;
  justify-content: center;
}
.art-nav .wp-pagenavi a,
.art-nav .wp-pagenavi span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(2.375rem, 2.169rem + 1.03vw, 2.813rem);
  height: clamp(2.375rem, 2.169rem + 1.03vw, 2.813rem);
  border-radius: 4px;
  border: 1px solid #10a5ab;
  margin: 0 4px;
}
.art-nav .wp-pagenavi .current {
  background-color: #10a5ab;
  color: #fff;
}
.art-nav .wp-pagenavi .nextpostslink {
  border: none;
  width: 30px;
}
.art-nav .wp-pagenavi .previouspostslink {
  border: none;
  width: 30px;
}
.art-nav .wp-pagenavi .extend {
  border: none;
  width: 30px;
}

.single-news {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
}
.single-news-wrap__article {
  background-color: #f4f7f7;
  padding: clamp(1.875rem, 0.993rem + 4.41vw, 3.75rem) clamp(1.5rem, 0.441rem + 5.29vw, 3.75rem) clamp(2.5rem, 1.324rem + 5.88vw, 5rem) clamp(1.5rem, 0.441rem + 5.29vw, 3.75rem);
  max-width: 990px;
  margin-inline: auto;
}
.single-news-wrap__article .wp-block-image {
  margin-top: clamp(1rem, 0.882rem + 0.59vw, 1.25rem);
}
.single-news-wrap__article p {
  margin-top: clamp(1rem, 0.882rem + 0.59vw, 1.25rem);
}
.single-news-wrap__article h2 {
  margin-top: clamp(1rem, 0.882rem + 0.59vw, 1.25rem);
}
.single-news-wrap__article h3 {
  margin-top: clamp(1rem, 0.882rem + 0.59vw, 1.25rem);
}
.single-news-wrap__article h4 {
  margin-top: clamp(1rem, 0.882rem + 0.59vw, 1.25rem);
}
.single-news-wrap__article h5 {
  margin-top: clamp(1rem, 0.882rem + 0.59vw, 1.25rem);
}
.single-news-wrap__article h6 {
  margin-top: clamp(1rem, 0.882rem + 0.59vw, 1.25rem);
}
.single-news-wrap__article__head .date {
  margin-top: unset;
  color: #88b7b3;
}
.single-news-wrap__article__head .ttl {
  margin-top: unset;
  font-size: min(6vw, 2.375rem);
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: clamp(1rem, 0.353rem + 3.24vw, 2.375rem);
}

.single-nav {
  margin-top: clamp(1.75rem, 1.162rem + 2.94vw, 3rem);
  max-width: 840px;
  margin-inline: auto;
  display: flex;
}
.single-nav a {
  padding: 0 clamp(0.625rem, 0.179rem + 2.23vw, 1.25rem) 16px clamp(0.625rem, 0.179rem + 2.23vw, 1.25rem);
  border-bottom: 1px solid #10a5ab;
}
.single-nav__prev {
  width: 50%;
}
.single-nav__prev .prev {
  margin-right: clamp(1.25rem, 0.804rem + 2.23vw, 1.875rem);
}
.single-nav__next {
  width: 50%;
  text-align: right;
}
.single-nav__next .next {
  margin-left: clamp(1.25rem, 0.804rem + 2.23vw, 1.875rem);
}

.page-contact .sec-ttl__main {
  text-align: center;
  font-size: min(6vw, 2.625rem);
}

.page-contact__tel {
  padding-top: clamp(3.125rem, 2.443rem + 3.41vw, 5rem);
}
.page-contact__tel-wrap__box {
  margin-top: clamp(0.625rem, 0.179rem + 2.23vw, 1.25rem);
  max-width: 920px;
  margin-inline: auto;
  background-color: #eefaf9;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(1.5rem, 0.786rem + 3.57vw, 2.5rem) 0;
}
.page-contact__tel-wrap__box .lato-bold {
  font-size: min(8vw, 3.125rem);
  color: #0d596d;
  line-height: 1.2;
}
.page-contact__tel-wrap__box .lato-regular {
  font-size: min(4vw, 1.375rem);
}

.page-contact__mail {
  margin: clamp(2.5rem, 1.818rem + 3.41vw, 4.375rem) 0 clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
}
.page-contact__mail-wrap__box {
  margin-top: clamp(0.625rem, 0.179rem + 2.23vw, 1.25rem);
  max-width: 920px;
  margin-inline: auto;
  background-color: #eefaf9;
  padding: clamp(2.5rem, 1.324rem + 5.88vw, 5rem) clamp(0.875rem, -2.831rem + 18.53vw, 8.75rem);
}

.form__list__item {
  margin-top: 32px;
}
.form__list__item:first-of-type {
  margin-top: unset;
}
.form__list__item__ttl span {
  font-size: min(4vw, 0.85rem);
  display: inline-block;
  background-color: #d54545;
  color: #fff;
  line-height: 1;
  padding: 4px 6px;
}
.form__list__item__input input,
.form__list__item__input textarea {
  margin-top: 8px;
  border: none;
  width: 100%;
  padding: 8px;
}
.form__list__item__input input::-moz-placeholder, .form__list__item__input textarea::-moz-placeholder {
  color: #d6d6d6;
}
.form__list__item__input input::placeholder,
.form__list__item__input textarea::placeholder {
  color: #d6d6d6;
}
.form__list__item__input input {
  height: 46px;
}
.form__list__item__input textarea {
  height: 20vh;
}
.form__privacy {
  margin-top: clamp(1.25rem, 0.191rem + 5.29vw, 3.5rem);
  text-align: center;
}
.form__privacy a {
  color: #0d596d;
}
.form__privacy__br {
  display: inline-block;
}
.form__privacy .wpcf7-list-item {
  margin: 0;
}
.form__submit {
  margin-top: clamp(0.875rem, 0.581rem + 1.47vw, 1.5rem);
  display: flex;
  justify-content: center;
}
.form__submit input {
  cursor: pointer;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 230px;
  height: 62px;
  font-size: min(4.5vw, 1.125rem);
  background: linear-gradient(to bottom right, #44eee4 0%, #0db6be 100%);
  color: #fff;
}
.form__submit input:hover {
  opacity: 0.7;
}
.form__submit .wpcf7-spinner {
  position: absolute;
}

.page-recruit__number {
  padding-top: clamp(3.125rem, 2.443rem + 3.41vw, 5rem);
}
.page-recruit__number-wrap .sec-ttl {
  text-align: center;
}
.page-recruit__number-wrap__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(13.75rem, -2.139rem + 33.1vw, 22.688rem), 1fr));
  gap: clamp(12px, 1.0743061773%, 24px);
  max-width: 1117px;
  margin-inline: auto;
}
.page-recruit__number-wrap__list__item {
  background-color: #daf1f2;
  padding: clamp(0.375rem, -0.292rem + 1.39vw, 0.75rem);
  border-top-right-radius: 20px;
  position: relative;
}
.page-recruit__number-wrap__list__item::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: clamp(0.625rem, 0.179rem + 2.23vw, 1.25rem);
  height: clamp(0.625rem, 0.179rem + 2.23vw, 1.25rem);
  background-color: #fff;
  border-radius: 50%;
  right: 12px;
  top: 12px;
  z-index: 1;
}
.page-recruit__number-wrap__list__item__ttl {
  color: #0d596d;
  display: inline-block;
  padding: clamp(0.25rem, 0.161rem + 0.45vw, 0.375rem) clamp(0.25rem, 0.071rem + 0.89vw, 0.5rem);
  background-color: #fff;
  font-size: min(1.6vw, 1rem);
  line-height: 1;
}
.page-recruit__number-wrap__list__item__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px clamp(0.375rem, -0.736rem + 5.56vw, 1rem);
}
.page-recruit__number-wrap__list__item__flex__img img {
  max-width: clamp(3rem, 1rem + 4.17vw, 4.125rem);
}
.page-recruit__number-wrap__list__item__flex__txt .number {
  line-height: 0.9;
  font-size: min(9vw, 6.875rem);
}
.page-recruit__number-wrap__list__item__flex__txt .number span {
  font-size: min(4vw, 1.25rem);
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Meiryo", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  margin-left: 6px;
}

@media screen and (max-width: 768px) {
  .page-recruit__number-wrap__list {
    grid-template-columns: repeat(auto-fit, minmax(clamp(8.75rem, 4.732rem + 20.09vw, 14.375rem), 1fr));
  }
  .page-recruit__number-wrap__list__item__ttl {
    font-size: min(3.2vw, 1rem);
  }
  .page-recruit__number-wrap__list__item__flex__img img {
    max-width: clamp(1.875rem, -0.125rem + 10vw, 3rem);
  }
  .page-recruit__number-wrap__list__item__flex__txt .number {
    font-size: min(12vw, 6.875rem);
  }
}
.page-recruit__message {
  padding: clamp(2.5rem, 2.045rem + 2.27vw, 3.75rem) 0 clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
}
.page-recruit__message-wrap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 4.4094488189%;
}
.page-recruit__message-wrap__txt {
  width: 45.5905511811%;
}
.page-recruit__message-wrap__img {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .page-recruit__message-wrap {
    flex-direction: column;
  }
  .page-recruit__message-wrap__txt {
    width: 100%;
  }
  .page-recruit__message-wrap__img {
    margin-top: clamp(1.25rem, 1.023rem + 1.14vw, 1.875rem);
    width: 100%;
  }
}
.page-recruit__voice {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
  background-color: #eefaf9;
}
.page-recruit__voice-wrap .sec-ttl {
  text-align: center;
}
.page-recruit__voice-wrap__list__item {
  margin-top: clamp(1.875rem, 1.42rem + 2.27vw, 3.125rem);
  display: flex;
  flex-direction: row-reverse;
  gap: 5.3543307087%;
}
.page-recruit__voice-wrap__list__item:nth-child(2) {
  flex-direction: row;
}
.page-recruit__voice-wrap__list__item__txt {
  width: 57.1653543307%;
}
.page-recruit__voice-wrap__list__item__txt__ttl {
  color: #107891;
  font-weight: bold;
  font-size: min(2.5vw, 1.5rem);
  line-height: 1.6;
}
.page-recruit__voice-wrap__list__item__txt .normal-txt-box {
  margin-top: clamp(0.5rem, 0.318rem + 0.91vw, 1rem);
}
.page-recruit__voice-wrap__list__item__txt__prof {
  margin-top: clamp(0.5rem, 0.318rem + 0.91vw, 1rem);
  color: #0d596d;
  font-weight: bold;
}
.page-recruit__voice-wrap__list__item__img {
  width: 37.4803149606%;
}

@media screen and (max-width: 768px) {
  .page-recruit__voice-wrap__list__item {
    flex-direction: column;
  }
  .page-recruit__voice-wrap__list__item:nth-child(2) {
    flex-direction: column;
  }
  .page-recruit__voice-wrap__list__item__txt {
    width: 100%;
  }
  .page-recruit__voice-wrap__list__item__txt__ttl {
    font-size: min(4.8vw, 1.5rem);
  }
  .page-recruit__voice-wrap__list__item__img {
    margin-top: 16px;
    width: 100%;
  }
}
.page-recruit__application {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
}
.page-recruit__application-wrap .sec-ttl {
  text-align: center;
}

.page-privacy__con {
  padding: clamp(3.125rem, 2.443rem + 3.41vw, 5rem) 0;
}
.page-privacy__con-wrap__list__item {
  margin-top: clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);
}
.page-privacy__con-wrap__list__item__ttl {
  font-size: min(5vw, 1.875rem);
  line-height: 1.6;
  margin-bottom: clamp(0.25rem, 0.159rem + 0.45vw, 0.5rem);
}
.page-privacy__con-wrap__list__item a {
  text-decoration: underline;
}
/*# sourceMappingURL=style.css.map */