@charset "UTF-8";

/* ━━━━━━━━━━━━━━━━

 ■設定

━━━━━━━━━━━━━━━━ */
html {
  overflow-x: hidden;
}

@media screen and (min-width: 768px) {
  .is-sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: min(18px, 1.8vw);
  color: #1d1d1d;
  background: #fff;
  overflow-x: hidden;
  overflow-wrap: break-word;
  box-sizing: content-box;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 15px;
  }
}

/* ↑↑ 設定ここまで ↑↑ */
/* ━━━━━━━━━━━━━━━━

 ■共通クラス

━━━━━━━━━━━━━━━━ */
/*==================================

* メインコンテンツ

==================================*/
main {
  margin-top: 110px;
}

@media screen and (max-width: 1000px) {
  main {
    margin-top: 90px;
  }
}

@media screen and (max-width: 767px) {
  main {
    margin-top: 70px;
  }
}

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

* インナー

==================================*/
.inner {
  max-width: 1000px;
  margin: 0 auto;
  padding-right: 40px;
  padding-left: 40px;
  box-sizing: content-box;
}

@media screen and (max-width: 767px) {
  .inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}

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

* セクションタイトル

==================================*/
.section__title {
  letter-spacing: 0.025em;
  font-family: "Oswald", sans-serif;
  font-size: min(64px, 6.4vw);
  font-weight: 700;
  line-height: 1.0666666667;
}

.section__title span {
  display: block;
  line-height: 1.5;
  font-size: 15px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .section__title {
    font-size: min(40px, 10.6666666667vw);
  }

  .section__title span {
    font-size: 12px;
  }
}

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

* 下層ページ・セクション上下余白

==================================*/
.padding-100 {
  padding: min(100px, 10vw) 0;
}

@media screen and (max-width: 767px) {
  .padding-100 {
    padding: min(40px, 10.6666666667vw) 0;
  }
}

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

* 下層ページ・ページタイトル

==================================*/
#pageTitle {
  width: 100%;
  height: auto;
  aspect-ratio: 1400/360;
}

#pageTitle .inner {
  height: 100%;
}

.pageTitle__title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 1000px;
  margin: auto;
  height: 100%;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
}

.pageTitle__title span {
  align-items: center;
  font-family: "Oswald", sans-serif;
  font-size: min(64px, 5.8181818182vw);
  font-weight: 600;
  color: #fff;
}

@media screen and (max-width: 767px) {
  #pageTitle {
    aspect-ratio: 750/280;
  }

  .pageTitle__title {
    max-width: 100%;
    font-size: min(16px, 4.2666666667vw);
  }

  .pageTitle__title span {
    font-size: min(40px, 8.8vw);
  }
}

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

* 下層ページ・セクションタイトル（装飾なし）

==================================*/
.title {
  text-align: center;
  line-height: 1.4;
  font-size: min(36px, 3.6vw);
  font-weight: 700;
}

.title span {
  font-size: min(36px, 3.6vw);
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .title {
    font-size: min(20px, 5.3333333333vw);
  }

  .title span {
    font-size: min(20px, 5.3333333333vw);
  }
}

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

* 下層ページ・セクションタイトル（下線・左寄せ）

==================================*/
.title-border {
  position: relative;
  padding-bottom: min(30px, 3vw);
  font-size: min(36px, 3.6vw);
  font-weight: 700;
}

.title-border span {
  font-size: min(36px, 3.6vw);
  font-weight: 700;
}

.title-border::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 60px;
  height: 2px;
  left: 0;
  bottom: 0;
  background: #1967b2;
}

@media screen and (max-width: 767px) {
  .title-border {
    padding-bottom: min(15px, 4vw);
    font-size: min(20px, 5.3333333333vw);
  }

  .title-border span {
    font-size: min(20px, 5.3333333333vw);
  }

  .title-border::after {
    width: 40px;
  }
}

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

* 下層ページ・セクションタイトル（下線・中央）

==================================*/
.title-border-center {
  position: relative;
  padding-bottom: min(30px, 3vw);
  line-height: 1.4;
  text-align: center;
  font-size: min(36px, 3.6vw);
  font-weight: 700;
}

.title-border-center span {
  font-size: min(36px, 3.6vw);
  font-weight: 700;
}

.title-border-center::after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 60px;
  height: 2px;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  background: #1967b2;
}

@media screen and (max-width: 767px) {
  .title-border-center {
    padding-bottom: min(15px, 4vw);
    font-size: min(20px, 2037500vw);
  }

  .title-border-center span {
    font-size: min(20px, 2037500vw);
  }

  .title-border-center::after {
    width: 40px;
  }
}

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

* READ MORE

==================================*/
.readMore {
  text-align: center;
}

.readMore a {
  position: relative;
  display: inline-block;
  margin: 40px auto 0;
  padding: 0 45px 0 0;
  text-decoration: none;
  letter-spacing: 0.03em;
  font-family: "Oswald", sans-serif;
  font-size: 26px;
  font-weight: bold;
  transition: opacity 0.3s ease;
}

.readMore a::before,
.readMore a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.readMore a::after {
  top: -3px;
  right: 1.4px;
  width: 9px;
  height: 9px;
  border-top: 2px solid #1d1d1d;
  border-right: 2px solid #1d1d1d;
}

.readMore a::before {
  width: 18px;
  height: 2px;
  background: #1d1d1d;
  transform: rotate(135deg);
}

.readMore a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .readMore a {
    margin: 50px auto 0;
    padding: 0 33px 0 0;
    font-size: min(20px, 5.3333333333vw);
  }

  .readMore::after {
    right: 2.4px;
    width: 11px;
    height: 11px;
  }

  .readMore::before {
    width: 21px;
  }
}

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

* アニメーション

==================================*/
/*
  fade-in left
==================================*/
/* 初期値 */
.fadeInLeft {
  /* 最初は非表示 */
  opacity: 0;
  /* 下に30pxの位置から */
  transform: translateX(80px);
  /* テキスト色 */
  color: #1967b2;
  /* 透過率と縦方向の移動を0.8秒 */
  transition: opacity 0.8s, transform 0.8s, color 1.6s;
}

/* スクロールした後 */
.fadeInLeft.inview {
  /* 表示領域に入ったら表示 */
  opacity: 1;
  /* 30px上に移動する */
  transform: translateX(0);
  /* テキスト色 */
  color: #1d1d1d;
  /* フェード開始を0.5秒遅らせる */
  transition-delay: 0.1s;
}

/*
  fade-in right
==================================*/
/* 初期値 */
.fadeInRight {
  /* 最初は非表示 */
  opacity: 0;
  /* 下に30pxの位置から */
  transform: translateX(-80px);
  /* テキスト色 */
  color: #1967b2;
  /* 透過率と縦方向の移動を0.8秒 */
  transition: opacity 0.8s, transform 0.8s, color 1.6s;
}

/* スクロールした後 */
.fadeInRight.inview {
  /* 表示領域に入ったら表示 */
  opacity: 1;
  /* 30px上に移動する */
  transform: translateX(0);
  /* テキスト色 */
  color: #1d1d1d;
  /* フェード開始を0.5秒遅らせる */
  transition-delay: 0.1s;
}

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

* header

==================================*/
.header {
  position: fixed;
  width: 100%;
  height: 110px;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.9);
  z-index: 9999;
}

@media screen and (max-width: 1000px) {
  .header {
    height: 90px;
  }
}

@media screen and (max-width: 767px) {
  .header {
    height: 70px;
  }
}

.header__container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1400px;
  height: 100%;
  margin: auto;
}

/*
  ヘッダーロゴ
==================================*/
.header__logo {
  width: 22%;
  max-width: 260px;
  padding-left: min(80px, 5.8%);
  box-sizing: content-box;
}

.header__logo a {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
}

.header__logo a img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

.header__logo a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  .header__logo {
    min-width: 130px;
    padding-left: 20px;
  }
}

/*
  ヘッダーナビゲーション
==================================*/
.header__navigation {
  flex: 1;
  height: 100%;
}

.header__items {
  display: flex;
  justify-content: flex-end;
  height: 100%;
  list-style: none;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
}

.header__item {
  padding: 0 min(20px, 2.1%);
  transition: opacity 0.3s ease;
}

.header__item.header__item--products {
  padding: 0 10px 0 min(20px, 2.1%);
}

.header__item.header__item--youtube {
  padding: 0 min(20px, 2.1%) 0 0;
}

.header__item.header__item--youtube img {
  max-width: 40px;
}

.header__item:hover {
  opacity: 0.7;
}

.header__item.header__item--contact {
  margin-left: min(54px, 4.1%);
  padding: 0 min(48px, 4.6%);
  background: #1967b2;
}

.header__item.header__item--contact img {
  width: 30px;
}

.header__item a {
  display: flex;
  align-items: center;
  height: 100%;
  letter-spacing: 0.06em;
  font-size: clamp(16px, 1.6vw, 18px);
  font-weight: 600;
  color: #1d1d1d;
  text-decoration: none;
}

.header__item.header__item--contact a {
  letter-spacing: 0.07em;
  font-size: 24px;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .header__navigation {
    line-height: 70px;
  }
}

/*
  ハンバーガーメニュー
==================================*/
.header__hamburger__button,
.header__hamburger__content {
  display: none;
}

.header__hamburger__item a {
  text-decoration: none;
}

@media screen and (max-width: 1000px) {

  /* ナビゲーション */
  .header__navigation {
    display: none;
  }

  /* ハンバーガーメニュー */
  .header__hamburger__button {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 90px;
    height: 90px;
    cursor: pointer;
    text-align: center;
    background: #1d1d1d;
    z-index: 1000;
  }

  .header__hamburger__button.active {
    background: #fff;
  }

  .header__hamburger__button span {
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    left: 50%;
    background: #fff;
    transition: 0.2s ease-in-out;
  }

  .header__hamburger__button span:nth-child(1) {
    top: calc(50% - 10px);
    transform: translate(-50%, -50%);
  }

  .header__hamburger__button span:nth-child(2) {
    top: 50%;
    transform: translate(-50%, -50%);
  }

  .header__hamburger__button span:nth-child(3) {
    top: calc(50% + 10px);
    transform: translate(-50%, -50%);
  }

  .header__hamburger__button.active span {
    background: #1967b2;
  }

  .header__hamburger__button.active span:nth-child(1) {
    left: 42px;
    top: 33px;
    transform: rotate(-45deg) translate(-50%, -50%);
  }

  .header__hamburger__button.active span:nth-child(2),
  .header__hamburger__button.active span:nth-child(3) {
    left: 42px;
    top: 54px;
    transform: rotate(45deg) translate(-50%, -50%);
  }

  .header__hamburger__content {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    transform: translateX(100%);
    width: 100%;
    height: 100%;
    padding: 15px;
    transition: all 0.2s;
    background: #1967b2;
    z-index: 999;
  }

  .header__hamburger__content.active {
    transform: translateX(0%);
  }

  .header__hamburger__item {
    text-align: center;
  }

  .header__hamburger__item.header__hamburger__item--youtube img {
    width: 50px;
  }

  .header__hamburger__item a {
    display: inline-block;
    padding: 16px;
    font-family: "Oswald", sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #fff;
  }
}

@media screen and (max-width: 767px) {

  /* ハンバーガーメニュー */
  .header__hamburger__button {
    width: 70px;
    height: 70px;
  }

  .header__hamburger__button.active span:nth-child(1) {
    left: 32px;
    top: 23px;
  }

  .header__hamburger__button.active span:nth-child(2),
  .header__hamburger__button.active span:nth-child(3) {
    left: 32px;
    top: 44px;
  }
}

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

* footer

==================================*/
.footer {
  padding: min(65px, 5.9090909091vw) 0 min(42px, 3.8181818182vw);
  background: linear-gradient(180deg, #02262f 30%, #000 100%);
}

.footer__container {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1065px;
  margin: auto;
}

/*
  フッター左エリア
==================================*/
.footer__item--left {
  width: 30%;
}

.footer__mail {
  display: block;
  min-width: 190px;
  margin-top: 10px;
  padding: min(30px, 2.7272727273vw) clamp(18px, 2.34375vw, 55px);
  text-align: center;
  font-size: min(32px, 2.9090909091vw);
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  color: #fff;
  transition: opacity 0.3s ease;
  background: #000;
}

.footer__mail:hover {
  opacity: 0.7;
}

.footer__youtube {
  margin-top: 75px;
}

.footer__youtube-list:not(:first-child) {
  margin-top: 20px;
}

.footer__youtube-list a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: opacity .3s ease-in-out;
}

.footer__youtube-list a:hover {
  opacity: 0.7;
}

.footer__youtube-img {
  display: block;
  width: 45px;
  height: auto;
  margin-right: 10px;
  object-fit: contain;
}

.footer__youtube-text {
  font-size: 14px;
  color: #fff;
}

/*
  フッター右エリア
==================================*/
.footer__item--right {
  flex: 1;
}

/* フッターナビゲーション */
.footer__navigation {
  margin-top: 20px;
}

.footer__navigation__items {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.footer__navigation__item a {
  display: inline-block;
  padding: 5px clamp(13px, 2.9vw, 35px);
  font-family: "Oswald", sans-serif;
  font-size: clamp(14px, 1.6363636364vw, 18px);
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.footer__navigation__item a:hover {
  opacity: 0.7;
}

/* フッターロゴ */
.footer__logo {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: min(120px, 10.9090909091vw);
  letter-spacing: 0.1em;
}

.footer__logo__partner {
  width: 20%;
  max-width: 150px;
  padding: 0 clamp(13px, 3.1818181818vw, 35px);
  box-sizing: content-box;
}

.footer__logo__partner--exail a,
.footer__logo__partner--ixblue a {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
}

.footer__logo__partner--exail a:hover,
.footer__logo__partner--ixblue a:hover {
  opacity: 0.7;
}

.footer__logo__partner--exail img,
.footer__logo__partner--ixblue img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

.footer__logo__partner--ixblue {
  margin-top: 20px;
}

.footer__logo__oceanWings {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.footer__logo__oceanWings__img {
  width: 15%;
  min-width: 70px;
}

.footer__logo__oceanWings__img img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

.footer__logo__oceanWings__text {
  margin-left: 10px;
}

.footer__logo__oceanWings__title {
  font-size: clamp(12px, 1.5625vw, 14px);
  font-weight: bold;
  color: #fff;
}

.footer__logo__oceanWings address {
  margin-top: 13px;
  letter-spacing: 0.03em;
  font-style: normal;
  font-size: 13px;
  color: #fff;
}

.footer__logo__oceanWings .footer__logo__oceanWings__tel {
  margin-top: 5px;
  letter-spacing: 0.03em;
  font-style: normal;
  font-size: 13px;
  color: #fff;
}

/* コピーライト */
.footer__copyright {
  margin-top: min(95px, 8.6363636364vw);
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .footer {
    padding: min(31px, 8.2666666667vw) 0 min(18px, 6.5454545455vw);
  }

  .footer__container {
    display: block;
  }

  /*
  フッター左エリア
  ==================================*/
  .footer__item--left {
    width: 100%;
  }

  .footer__mail {
    width: 95%;
    max-width: 640px;
    margin-right: auto;
    margin-left: auto;
    margin-top: min(24px, 6.4vw);
    padding: min(24px, 8.7272727273vw) 0;
    font-size: min(24px, 6.4vw);
  }

  .footer__youtube {
    margin: 40px auto 0;
    max-width: max-content;
  }

  /*
  フッター右エリア
  ==================================*/
  /* ナビゲーション */
  .footer__navigation {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    margin-top: min(35px, 9.3333333333vw);
  }

  .footer__navigation__items {
    display: block;
  }

  .footer__navigation__item {
    border-top: 1px solid #f8f8f8;
  }

  .footer__navigation__item:last-child {
    border-bottom: 1px solid #f8f8f8;
  }

  .footer__navigation__item a {
    display: block;
    padding: min(22px, 5.8666666667vw);
    font-size: min(24px, 6.4vw);
  }

  /* フッターロゴ */
  .footer__logo {
    display: block;
    margin-top: min(40px, 10.6666666667vw);
  }

  .footer__logo__partner {
    width: 100%;
    max-width: 250px;
    margin: auto;
    padding: 0;
  }

  .footer__logo__partner--exail,
  .footer__logo__partner--ixblue {
    width: 48%;
    max-width: 260px;
    margin: auto;
  }

  .footer__logo__partner--ixblue {
    margin-top: 15px;
  }

  .footer__logo__oceanWings {
    justify-content: center;
    align-items: center;
    margin: min(50px, 13.3333333333vw) auto 0;
  }

  .footer__logo__oceanWings__img {
    width: 10%;
    min-width: 50px;
  }

  .footer__logo__oceanWings__title {
    font-size: min(14px, 3.7333333333vw);
  }

  .footer__logo__oceanWings address {
    margin-top: min(15px, 4vw);
    font-size: min(14px, 3.7333333333vw);
  }

  .footer__logo__oceanWings .footer__logo__oceanWings__tel {
    margin-top: min(5px, 1.3333333333vw);
    font-size: min(14px, 3.7333333333vw);
  }

  /* コピーライト */
  .footer__copyright {
    margin-top: min(40px, 10.6666666667vw);
    letter-spacing: 0.03em;
    font-size: min(13px, 3.4666666667vw);
  }
}

/* ↑↑ 共通クラスここまで ↑↑ */
/* ━━━━━━━━━━━━━━━━

 ■トップページ

━━━━━━━━━━━━━━━━ */
/*==================================

* main visual

==================================*/
#page-top #mainVisual {
  overflow: hidden;
}

#page-top #mainVisual .inner {
  position: relative;
}

#page-top #mainVisual h2 {
  position: absolute;
  box-sizing: border-box;
  top: 52%;
  left: -6%;
  line-height: 1.23;
  letter-spacing: 0.025em;
  font-size: min(56px, 5.6vw);
  color: #fff;
  font-weight: bold;
  mix-blend-mode: difference;
  animation: 3s fadein 0s ease;
}

@keyframes fadein {
  0% {
    left: 20%;
    color: #fff;
    opacity: 0;
  }

  100% {
    left: -6%;
    opacity: 1;
  }
}

#page-top #mainVisual .mainVisual__image {
  position: relative;
  margin-right: calc(50% - 50vw);
}

#page-top #mainVisual .mainVisual__image::before {
  position: absolute;
  content: "";
  width: 0;
  height: 100%;
  top: 0;
  left: -2px;
  background: #fff;
  animation: 2.5s slide 0s ease-out;
}

#page-top #mainVisual .mainVisual__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@keyframes slide {
  0% {
    width: 100vw;
    height: 100%;
    background: #fff;
  }

  33% {
    width: 100vw;
    height: 0;
    background: #fff;
  }

  34% {
    background: #000b25;
    opacity: 1;
  }

  66% {
    width: 100vw;
    height: 100%;
    background: #000b25;
    opacity: 0.9;
  }

  100% {
    width: 0;
    background: #000b25;
    opacity: 0;
  }
}

@media screen and (max-width: 1250px) {
  #page-top #mainVisual h2 {
    top: 40%;
    left: 2%;
  }

  @keyframes fadein {
    0% {
      left: 20%;
      color: #fff;
      opacity: 0;
    }

    100% {
      top: 40%;
      left: 2%;
      opacity: 1;
    }
  }
}

@media screen and (max-width: 767px) {
  .mainVisual__image {
    width: 95%;
    margin-right: 0;
    margin-left: auto;
  }

  .mainVisual__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  #page-top #mainVisual h2 {
    top: 50%;
    left: 5%;
    font-size: min(48px, 7.4666666667vw);
  }

  @keyframes fadein {
    0% {
      top: 80%;
      color: #fff;
      opacity: 0;
    }

    100% {
      top: 50%;
      left: 5%;
      opacity: 1;
    }
  }
}

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

* our mission

==================================*/
#page-top #ourMission {
  padding: min(100px, 10vw) 0 min(80px, 8vw);
}

#page-top #ourMission .ourMission__text {
  margin-top: min(37px, 3.7vw);
  line-height: 1.8;
  letter-spacing: 0.025em;
}

#page-top #ourMission .ourMission__text--bold {
  margin-top: min(18px, 1.8vw);
  line-height: 1.8;
  letter-spacing: 0.025em;
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  #page-top #ourMission {
    padding: min(30px, 8vw) 0 min(37px, 9.8666666667vw);
  }

  #page-top #ourMission .ourMission__text {
    margin-top: 7vw;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: initial;
  }

  #page-top #ourMission .ourMission__text--bold {
    font-size: 16px;
    letter-spacing: initial;
  }
}

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

* topics

==================================*/
#page-top #topics {
  padding: min(50px, 5vw) 0 min(70px, 7vw);
  background: #f8f8f8;
}

#page-top #topics .topics__item:not(:first-of-type) {
  border-top: 1px solid #999;
}

#page-top #topics .topics__item a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: min(32px, 3.2vw) 10px;
  transition: opacity 0.3s ease;
}

#page-top #topics .topics__item a:hover {
  opacity: 0.7;
}

#page-top #topics .topics__image {
  width: 24%;
  min-width: 150px;
  aspect-ratio: 200/120;
}

#page-top #topics .topics__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#page-top #topics .topics__text {
  margin-left: min(40px, 4vw);
}

#page-top #topics .topics__text__time {
  letter-spacing: 0.025em;
  line-height: 1.7777777778;
  font-family: "Oswald", sans-serif;
}

#page-top #topics .topics__text__title {
  line-height: 1.7777777778;
  letter-spacing: 0.07em;
  font-weight: 500;
}

#page-top #topics .topics__text__content {
  width: 70%;
  line-height: 1.8461538462;
  font-size: 13px;
}

@media screen and (max-width: 767px) {
  #page-top #topics {
    padding: min(35px, 9.3333333333vw) 0 min(56px, 14.9333333333vw);
  }

  #page-top #topics .topics__item {
    margin-top: min(37px, 9.8666666667vw);
  }

  #page-top #topics .topics__item:not(:first-of-type) {
    border-top: none;
  }

  #page-top #topics .topics__item a {
    display: block;
    padding: 0;
  }

  #page-top #topics .topics__image {
    width: 100%;
    max-width: 500px;
    margin: auto;
  }

  #page-top #topics .topics__text {
    margin-top: 10px;
    margin-left: 0;
  }

  #page-top #topics .topics__text__time {
    font-size: 14px;
  }

  #page-top #topics .topics__text__title {
    font-size: 16px;
    margin-top: 0;
    line-height: 1.5;
  }

  #page-top #topics .topics__text__content {
    width: 100%;
    margin-top: 10px;
    line-height: 1.5;
    font-size: 14px;
  }
}

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

* products

==================================*/
#page-top #products {
  padding: min(80px, 8vw) 0 min(125px, 12.5vw);
}

#page-top #products .products__items {
  margin-top: min(50px, 5vw);
  border-left: 0.5px solid #1d1d1d;
  border-right: 0.5px solid #1d1d1d;
}

#page-top #products .products__item {
  padding: min(25px, 2.5vw) min(20px, 2vw);
  border-left: 0.5px solid #1d1d1d;
}

#page-top #products .products__item:last-child {
  border-right: 1px solid #1d1d1d;
}

#page-top #products .products__item a {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
}

#page-top #products .products__item a:hover {
  opacity: 0.7;
}

#page-top #products .products__item__image {
  width: 70%;
  margin: auto;
  aspect-ratio: 1/1;
}

#page-top #products .products__item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

#page-top #products .products__item__text {
  margin-top: min(33px, 3.3vw);
  text-align: center;
}

#page-top #products .products__item__text__title {
  font-size: 16px;
  font-weight: bold;
}

#page-top #products .products__item__text__subTitle {
  margin-top: min(15px, 1.5vw);
  line-height: 1.3846153846;
  font-size: 13px;
}

#page-top #products .products__item__text__subCategory {
  position: relative;
  display: inline-block;
  margin-top: min(25px, 2.5vw);
  padding: 3px min(9px, 0.9vw);
  font-size: 8px;
  font-weight: 300;
  border: 1px solid #5e5e5e;
}

@media screen and (max-width: 767px) {
  #page-top #products {
    padding: min(57px, 15.2vw) 0 min(72px, 19.2vw);
  }

  #page-top #products .products__items {
    border: none;
  }

  #page-top #products .products__item {
    max-width: 500px;
    margin: auto;
    border: none;
  }

  #page-top #products .products__item:last-child {
    border-right: none;
  }

  #page-top #products .products__item__text {
    margin-top: min(22px, 5.8666666667vw);
  }

  #page-top #products .products__item__text__title {
    font-size: min(17px, 4.5333333333vw);
  }

  #page-top #products .products__item__text__subTitle {
    margin-top: min(22px, 5.8666666667vw);
    font-size: min(15px, 4vw);
  }
}

/*
  slickのカスタマイズ
==================================*/
.slick-track {
  display: flex;
}

.slick-slide {
  height: auto !important;
}

.slick-dots {
  bottom: -30px;
}

.slick-dots li {
  width: 13%;
  height: 3px;
  padding: 0;
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 100%;
  height: 3px;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: #d9d8d8;
}

.slick-dots li button::before {
  display: none;
}

.slick-dots li.slick-active button {
  background: #1967b2;
}
/* ↑↑ トップページここまで ↑↑ */

/* ━━━━━━━━━━━━━━━━

 ■product（一覧）ページ

━━━━━━━━━━━━━━━━ */
#page-product-archive #pageTitle {
  background: url(../img/bg_products-archive_pagetitle.jpg) no-repeat center center/cover;
}

#page-product-archive #products {
  padding: min(55px, 5.5vw) 0 min(96px, 9.6vw);
}

#page-product-archive #products .products__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(30px, 3vw) min(35px, 3.5vw);
}

#page-product-archive #products .products__item {
  min-width: 0;
}

#page-product-archive #products .products__item a {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
}

#page-product-archive #products .products__item a:hover {
  opacity: 0.7;
}

#page-product-archive #products .products__image {
}

#page-product-archive #products .products__image img {
  aspect-ratio: 200/140;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#page-product-archive #products .products__foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding: 7px 20px 5px 28px;
  background: #ededed;
}

#page-product-archive #products .products__foot img {
  display: block;
  max-width: 36px;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

#page-product-archive #products .products__title {
  word-break: break-all;
  line-height: 1.5;
  font-size: min(18px, 1.8vw);
  font-weight: 600;
}

#page-product-archive #products .products__title span {
  font-size: 16px;
  font-weight: 400;
}

#page-product-archive #products .products__info {
  margin-top: 10px;
  line-height: 1.5;
  font-size: clamp(13px, 1.6vw, 16px);
  text-align: center;
}

@media screen and (max-width: 767px) {
  #page-product-archive #products .products__foot {
    flex-direction: column;
    padding: 10px;
  }

  #page-product-archive #products .products__foot img {
    max-width: 30px;
    margin-left: auto;
  }

  #page-product-archive #products .products__title {
    line-height: 1.2;
    text-align: center;
    font-size: clamp(14px, 4.375vw, 16px);
  }

  #page-product-archive #products .products__title span {
    font-size: clamp(12px, 3.75vw, 14px);
  }

  #page-product-archive #products .products__info {
    line-height: 1.2;
    font-size: clamp(13px, 1.6vw, 16px);
  }
}
/* ↑↑ products（一覧）ページここまで ↑↑ */


/* ━━━━━━━━━━━━━━━━

 ■product（詳細）ページ

━━━━━━━━━━━━━━━━ */
#page-taxonomy #pageTitle {
  background: url(../img/bg_products-archive_pagetitle.jpg) no-repeat center center/cover;
}

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

* 共通タイトル

==================================*/
#page-taxonomy .inner {
  max-width: 1200px;
  padding-right: 40px;
  padding-left: 40px;
}

#page-taxonomy .products-single__title {
  position: relative;
  padding-bottom: min(24px, 2.4vw);
  border-bottom: 4px solid #c9c9c9;
  font-size: min(28px, 2.8vw);
  font-weight: 600;
}

#page-taxonomy .products-single__title span {
  font-weight: 400;
}

#page-taxonomy .products-single__title::before {
  position: absolute;
  content: "";
  width: 80px;
  height: 4px;
  bottom: -4px;
  left: 0;
  background: #74fbdb;
}

#page-taxonomy .products-single__title:not(:first-child) {
  margin-top: min(105px, 10.5vw);
}

@media screen and (max-width: 767px) {
  #page-taxonomy .products-single__title {
    padding: 9px 0 9px 14px;
    font-size: min(20px, 5.3333333333vw);
  }
}

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

* テーブル

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

* specification

==================================*/
#page-taxonomy .table__container {
  overflow-x: scroll;
}

#page-taxonomy .specification__table {
  width: 100%;
  min-width: 1000px;
  margin-top: min(60px, 5vw);
  border-collapse: collapse;
  table-layout: fixed;
}

#page-taxonomy .specification__img {
  height: 150px;
  padding-bottom: 10px;
  text-align: center;
}

#page-taxonomy .specification__img img {
  height: 100%;
  object-fit: contain;
}

#page-taxonomy .specification__title {
  min-height: 3em;
  font-weight: 600;
}

#page-taxonomy .specification__table th,
#page-taxonomy .specification__table td {
  padding: 18px min(30px, 5%) 18px 0;
  line-height: 1.5;
  border-bottom: 1px solid #c9c9c9;
  vertical-align: middle;
}

#page-taxonomy .specification__table th {
  text-align: left;
  font-size: 14px;
  font-weight: 600;
}

#page-taxonomy .specification__table tr:first-child th {
  padding-bottom: 5px;
}

#page-taxonomy .specification__table td {
  font-size: 12px;
  word-break: break-all;
}

#page-taxonomy .specification__table td:first-child {
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  #page-taxonomy .specification__table {
    margin-top: min(30px, 8vw);
  }

  #page-taxonomy .specification__table th,
  #page-taxonomy .specification__table td {
    padding: 10px 0 10px 15px;
    line-height: 1.2;
    font-size: min(15px, 4vw);
  }

  #page-taxonomy .specification__table td:first-child {
    width: 40%;
  }
}

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

* リンクボタン・テキスト

==================================*/
#page-taxonomy .contact__lead {
  margin-top: 100px;
  line-height: 1.5;
  text-align: center;
}

#page-taxonomy .contact__btn {
  position: relative;
  display: block;
  max-width: max-content;
  margin: 30px auto 0;
  padding: 20px 60px;
  line-height: 1;
  text-align: center;
  border-radius: 50px;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  border: 2px solid #1967b2;
  background-color: #1967b2;
  transition: all .3s ease-in-out;
}

#page-taxonomy .contact__btn:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  top: 50%;
  right: 30px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: right .3s ease-in-out;
}

#page-taxonomy .contact__btn:hover {
  color: #1967b2;
  background-color: #fff;
}

#page-taxonomy .contact__btn:hover:before {
  right: 20px;
  border-top: 2px solid #1967b2;
  border-right: 2px solid #1967b2;
}

#page-taxonomy .products__link {
  display: block;
  margin-top: 100px;
  transition: opacity .3s ease-in-out;
}

#page-taxonomy .products__link span {
  display: inline-block;
  margin-right: 5px;
  color: #74fbdb;
}

#page-taxonomy .products__link:hover {
  opacity: 0.7;
}

@media screen and (max-width: 767px) {
  #page-taxonomy .contact__lead {
    margin-top: 60px;
  }

  #page-taxonomy .contact__btn {
    max-width: 500px;
    padding: 20px 35px;
    font-size: clamp(14px, calc(14/320*100vw), 16px);
  }

  #page-taxonomy .products__link {
    margin-top: 60px;
  }
}
/* ↑↑ products（詳細）ページここまで ↑↑ */

/* ━━━━━━━━━━━━━━━━

 ■topics（一覧）ページ

━━━━━━━━━━━━━━━━ */
#page-topics-archive #pageTitle {
  background: url(../img/bg_topics-archive_pagetitle.jpg) no-repeat center center/cover;
}

#page-topics-archive .topics__item:not(:first-of-type) {
  padding-top: min(36px, 3.6vw);
  border-top: 1px solid #e4e4e4;
}

#page-topics-archive .topics__item a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding: 0 0 min(32px, 3.2vw);
  transition: opacity 0.3s ease;
}

#page-topics-archive .topics__item a:hover {
  opacity: 0.7;
}

#page-topics-archive .topics__image {
  width: 35%;
  min-width: 150px;
  aspect-ratio: 350/233;
}

#page-topics-archive .topics__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#page-topics-archive .topics__text {
  flex: 1;
  margin-left: min(40px, 4vw);
}

#page-topics-archive .topics__text__time {
  line-height: 1.7777777778;
  font-family: "Oswald", sans-serif;
}

#page-topics-archive .topics__text__title {
  margin-top: min(13px, 1.3vw);
  line-height: 1.7777777778;
  font-size: min(24px, 2.4vw);
  font-weight: 500;
}

#page-topics-archive .topics__text__content {
  margin-top: min(25px, 2.5vw);
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  #page-topics-archive #topics {
    padding: min(35px, 9.3333333333vw) 0 min(56px, 14.9333333333vw);
  }

  #page-topics-archive #topics .topics__item {
    margin-top: min(37px, 9.8666666667vw);
  }

  #page-topics-archive #topics .topics__item:not(:first-of-type) {
    border-top: none;
  }

  #page-topics-archive #topics .topics__item a {
    display: block;
    padding: 0;
  }

  #page-topics-archive #topics .topics__image {
    width: 100%;
    max-width: 500px;
    margin: auto;
  }

  #page-topics-archive #topics .topics__text {
    margin-top: 10px;
    margin-left: 0;
  }

  #page-topics-archive #topics .topics__text__time {
    font-size: 14px;
  }

  #page-topics-archive #topics .topics__text__title {
    font-size: 16px;
    margin-top: 0;
    line-height: 1.5;
  }

  #page-topics-archive #topics .topics__text__content {
    width: 100%;
    margin-top: 10px;
    line-height: 1.5;
    font-size: 14px;
  }
}
/* ↑↑ topics（一覧）ページここまで ↑↑ */

/* ━━━━━━━━━━━━━━━━

 ■topics（詳細）ページ

━━━━━━━━━━━━━━━━ */
#page-topics-single #pageTitle {
  background: url(../img/bg_topics-archive_pagetitle.jpg) no-repeat center center/cover;
}

#page-topics-single #content {
  padding: min(100px, 10vw) 0;
}

#page-topics-single #content .date {
  margin-top: 0;
  margin-bottom: 10px;
}

#page-topics-single #content h4 {
  margin-top: min(100px, 10vw);
  line-height: 1.4;
  font-size: min(36px, 3.6vw);
  font-weight: 700;
}

#page-topics-single #content h4:first-of-type {
  margin-top: min(50px, 5vw);
}

#page-topics-single #content p {
  margin-top: min(22px, 2.2vw);
  line-height: 1.45;
}

#page-topics-single #content .topics__image01 {
  margin: min(20px, 2vw) 0 min(50px, 5vw);
}

#page-topics-single #content .topics__image02 {
  margin: min(100px, 10vw) 0 0;
}

#page-topics-single #content .topics__image03 {
  margin: min(20px, 2vw) 0 0;
}

#page-topics-single #content iframe {
  width: 100%;
  height: auto;
  margin-top: min(100px, 10vw);
  aspect-ratio: 16/9;
}

#page-topics-single .download__btn {
  position: relative;
  display: block;
  max-width: max-content;
  margin: 30px auto 0;
  padding: 20px 60px;
  line-height: 1;
  text-align: center;
  border-radius: 50px;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  border: 2px solid #1967b2;
  background-color: #1967b2;
  transition: all .3s ease-in-out;
}

#page-topics-single .download__btn:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  top: 50%;
  right: 30px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: right .3s ease-in-out;
}

#page-topics-single .download__btn:hover {
  color: #1967b2;
  background-color: #fff;
}

#page-topics-single .download__btn:hover:before {
  right: 20px;
  border-top: 2px solid #1967b2;
  border-right: 2px solid #1967b2;
}

@media screen and (max-width: 767px) {
  #page-topics-single #content {
    padding: min(50px, 13.3333333333vw) 0;
  }

  #page-topics-single #content h4 {
    margin-top: min(50px, 13.3333333333vw);
    font-size: min(20px, 5.3333333333vw);
  }

  #page-topics-single #content h4:first-of-type {
    margin-top: min(25px, 6.6666666667vw);
  }

  #page-topics-single #content p {
    margin-top: min(10px, 28.5714285714vw);
    line-height: 1.45;
  }

  #page-topics-single #content .topics__image01 {
    margin: min(10px, 2.6666666667vw) 0 min(25px, 6.6666666667vw);
  }

  #page-topics-single #content .topics__image02 {
    margin-top: min(50px, 13.3333333333vw);
  }

  #page-topics-single #content .topics__image03 {
    margin-top: min(10px, 2.6666666667vw);
  }

  #page-topics-single #content iframe {
    margin-top: min(50px, 13.3333333333vw);
  }

  #page-topics-single .download__btn {
    max-width: 500px;
    padding: 20px 35px;
    font-size: clamp(14px, calc(14/320*100vw), 16px);
  }
}
/* ↑↑ topics（詳細）ページここまで ↑↑ */

/* ━━━━━━━━━━━━━━━━

 ■exailページ

━━━━━━━━━━━━━━━━ */
/*==================================

* ページタイトル

==================================*/
#page-exail #pageTitle {
  background: url(../img/bg_about_pagetitle.jpg) no-repeat center center/cover;
}

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

* about

==================================*/
#page-exail #about .about__text__container {
  margin-top: min(48px, 4.8vw);
  background: url(../img/exail01.jpg) no-repeat center right/cover;
  background-size: 50%;
}

#page-exail #about .about__text {
  width: 63.4%;
  line-height: 1.5;
}

#page-exail #about .about__text p:not(:first-child) {
  margin-top: min(27px, 2.7vw);
}

@media screen and (max-width: 767px) {
  #page-exail #about .about__text__container {
    position: relative;
    margin-top: min(25px, 6.6666666667vw);
    background: url(../img/exail01.jpg) no-repeat bottom right/cover;
    background-size: auto;
  }

  #page-exail #about .about__text__container:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.5);
    z-index: 0;
  }

  #page-exail #about .about__text {
    position: relative;
    width: 100%;
  }

  #page-exail #about .about__text p:not(:first-child) {
    margin-top: min(15px, 4vw);
  }
}

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

* lead

==================================*/
#page-exail #lead {
  background: #f8f8f8;
}

#page-exail #lead p {
  margin-top: min(50px, 5vw);
  line-height: 2;
}

#page-exail #lead p:not(:first-of-type) {
  margin-top: min(40px, 4vw);
}

@media screen and (max-width: 767px) {
  #page-exail #lead p {
    margin-top: min(25px, 6.6666666667vw);
    text-align: left;
  }

  #page-exail #lead p:not(:first-of-type) {
    margin-top: min(20px, 5.3333333333vw);
  }
}

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

* feature

==================================*/
#page-exail #feature {
  background: #f8f8f8;
}
#page-exail #feature .feature__list {
  width: 70%;
  padding: min(38px, 3.8vw) min(60px, 6vw);
  margin: min(40px, 4vw) auto 0;
  border: 1px solid #e4e4e4;
}

#page-exail #feature .feature__list li {
  line-height: 1.5;
}

#page-exail #feature .feature__cards {
  margin-top: min(100px, 10vw);
}

#page-exail #feature .feature__card {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#page-exail #feature .feature__card:not(:first-child) {
  margin-top: min(50px, 5vw);
}

#page-exail #feature .feature__card:nth-child(even) {
  flex-direction: row-reverse;
}

#page-exail #feature .feature__text {
  width: 50%;
}

#page-exail #feature .feature__card__head {
  display: flex;
  align-items: center;
  color: #074A5B;
}

#page-exail #feature .feature__card__number {
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: min(60px, 6vw);
  font-weight: 700;
  line-height: 1;
}

#page-exail #feature .feature__card__title {
  margin-left: min(20px, 2vw);
  line-height: 1.5;
  letter-spacing: 0.07em;
  font-size: min(28px, 2.8vw);
  font-weight: 700;
}

#page-exail #feature .feature__card__text {
  margin-top: min(30px, 3vw);
  line-height: 1.5;
}

#page-exail #feature .feature__image {
  width: 45%;
}

#page-exail #feature .feature__image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

@media screen and (max-width: 767px) {
  #page-exail #feature .feature__list {
    width: 100%;
    padding: min(20px, 5.3333333333vw) min(30px, 8vw);
    margin: min(20px, 5.3333333333vw) auto 0;
    text-indent: -1em;
  }

  #page-exail #feature .feature__cards {
    margin-top: min(50px, 13.3333333333vw);
  }

  #page-exail #feature .feature__card {
    display: flex;
    flex-direction: column-reverse;
  }

  #page-exail #feature .feature__card:not(:first-child) {
    margin-top: min(30px, 8vw);
  }

  #page-exail #feature .feature__card:nth-child(even) {
    flex-direction: column-reverse;
  }

  #page-exail #feature .feature__text {
    width: 100%;
  }

  #page-exail #feature .feature__card__head {
    margin-top: min(10px, 2.6666666667vw);
  }

  #page-exail #feature .feature__card__number {
    display: inline-block;
    font-family: "Oswald", sans-serif;
    font-size: min(35px, 9.3333333333vw);
  }

  #page-exail #feature .feature__card__title {
    margin-left: 10px;
    font-size: min(20px, 5.3333333333vw);
  }

  #page-exail #feature .feature__card__text {
    margin-top: min(15px, 4vw);
    line-height: 1.5;
  }

  #page-exail #feature .feature__image {
    width: 100%;
  }
}

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

* link

==================================*/
#page-exail #link h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  height: min(100px, 10vw);
  font-size: min(36px, 3.6vw);
  font-weight: 700;
  color: #fff;
  background: #03262F;
}

#page-exail #link .link__list {
  padding: min(50px, 5vw) 0;
  background: #f9f9f9;
}

#page-exail #link .link__list li {
  width: 80%;
  margin: auto;
  border-bottom: 1px solid #E3E3E3;
}

#page-exail #link .link__list li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: min(34px, 3.4vw) 0 min(12px, 1.2vw);
  transition: opacity 0.3s ease;
}

#page-exail #link .link__list li a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 767px) {
  #page-exail #link h3 {
    height: min(50px, 13.3333333333vw);
    font-size: min(20px, 5.3333333333vw);
  }

  #page-exail #link .link__list {
    padding: min(25px, 6.6666666667vw) 0;
  }

  #page-exail #link .link__list li {
    width: 90%;
    padding: min(20px, 5.3333333333vw) 0 min(10px, 2.6666666667vw);
    line-height: 1.5;
  }
}
/* ↑↑ exailページここまで ↑↑ */

/* ━━━━━━━━━━━━━━━━

 ■companyページ

━━━━━━━━━━━━━━━━ */
/*==================================

* 共通クラス

==================================*/
#page-company .title {
  text-align: left;
  font-size: min(36px, 3.6vw);
}

#page-company #lead .title {
  text-align: center;
}

#page-company .list {
  display: flex;
  flex-wrap: wrap;
  width: 75%;
  margin-top: min(20px, 2vw);
}

#page-company .list dt,
#page-company .list dd {
  padding: 30px 0 9px;
  line-height: 1.4;
  border-bottom: 1px solid #E4E4E4;
}

#page-company .list dt {
  width: 18%;
}

#page-company .list dd {
  width: 82%;
}

@media screen and (max-width: 767px) {
  #page-company .title {
    font-size: min(20px, 5.3333333333vw);
  }

  #page-company .list {
    display: block;
    width: 100%;
    margin-top: min(10px, 2.6666666667vw);
  }

  #page-company .list dt {
    width: 100%;
    padding: 10px 0 5px;
    border-bottom: none;
  }

  #page-company .list dd {
    width: 100%;
    padding: 5px 0 10px;
    border-bottom: 1px solid #E4E4E4;
  }
}

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

* ページタイトル

==================================*/
#page-company #pageTitle {
  background: url(../img/bg_company_pagetitle.jpg) no-repeat center center/cover;
}

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

* about

==================================*/
#page-company #about .inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#page-company #about .about__text__container {
  width: 51.2%;
}

#page-company #about .about__text__container .about__text {
  margin-top: min(40px, 4vw);
  line-height: 1.4;
}

#page-company #about .about__image {
  width: 44.8%;
}

#page-company #about .about__image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

@media screen and (max-width: 767px) {
  #page-company #about .inner {
    flex-direction: column-reverse;
  }

  #page-company #about .about__text__container {
    width: 100%;
    margin-top: min(20px, 5.3333333333vw);
  }

  #page-company #about .about__text__container .about__text {
    margin-top: min(20px, 5.3333333333vw);
  }

  #page-company #about .about__image {
    width: 100%;
  }
}

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

* lead

==================================*/
#page-company #lead {
  background: #f8f8f8;
}

#page-company #lead .lead__text {
  margin-top: min(50px, 5vw);
  line-height: 2;
}

#page-company #lead .lead__text:not(:first-of-type) {
  margin-top: min(40px, 4vw);
}

@media screen and (max-width: 767px) {
  #page-company #lead .lead__text {
    text-align: left;
    margin-top: min(25px, 6.6666666667vw);
  }
}

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

* message

==================================*/
#page-company #message .message__container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: min(43px, 4.3vw);
  line-height: 1.5;
}

#page-company #message .message__image {
  width: 45%;
  max-width: 250px;
  margin-right: min(50px, 5vw);
  aspect-ratio: 300/320;
}

#page-company #message .message__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#page-company #message .message__text {
  width: 50.3%;
}

#page-company #message .message__text p:not(:first-child) {
  margin-top: 20px;
}

#page-company #message .message__text__name {
  margin-top: min(22px, 2.2vw);
  font-size: min(20px, 2vw);
}

@media screen and (max-width: 767px) {
  #page-company #message .message__container {
    flex-direction: column;
    margin-top: min(20px, 5.3333333333vw);
  }

  #page-company #message .message__image {
    width: 100%;
    max-width: 250px;
    margin: min(30px, 5.3333333333vw) auto;
  }

  #page-company #message .message__text {
    width: 100%;
    margin-top: min(20px, 5.3333333333vw);
  }

  #page-company #message .message__text__name {
    margin-top: min(15px, 4vw);
    font-size: min(17px, 4.5333333333vw);
  }
}

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

* voice

==================================*/
#page-company #voice .voice__list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: min(50px, 5vw);
}

#page-company #voice .voice__list__image {
  width: 30%;
  max-width: 250px;
  aspect-ratio: 300/320;
}

#page-company #voice .voice__list__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

#page-company #voice .voice__list__text__container {
  width: 65.4%;
}

#page-company #voice .voice__list__department {
  font-size: 12px;
  font-weight: 700;
}

#page-company #voice .voice__list__post {
  display: inline-block;
  margin-top: 5px;
  padding: 5px 10px;
  font-size: min(20px, 2vw);
  font-weight: 700;
  color: #fff;
  background: #1d1d1d;
}

#page-company #voice .voice__list__text {
  margin-top: min(40px, 4vw);
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  #page-company #voice .voice__list {
    display: block;
    margin-top: min(30px, 8vw);
  }

  #page-company #voice .voice__list__image {
    width: 100%;
    max-width: 250px;
    margin: min(30px, 5.3333333333vw) auto;
  }

  #page-company #voice .voice__list__text__container {
    width: 100%;
    margin-top: min(15px, 4vw);
  }

  #page-company #voice .voice__list__post {
    font-size: min(18px, 4.375vw);
  }

  #page-company #voice .voice__list__text {
    margin-top: min(15px, 4vw);
  }
}

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

* director-comment

==================================*/
#page-company #director-comment .director-comment__text {
  margin-top: min(50px, 5vw);
  line-height: 1.5;
}

#page-company #director-comment .pdf-dl__btn {
  position: relative;
  display: block;
  max-width: max-content;
  margin: 80px auto 0;
  padding: 20px 60px;
  line-height: 1;
  text-align: center;
  border-radius: 50px;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  border: 2px solid #1967b2;
  background-color: #1967b2;
  transition: all .3s ease-in-out;
}

#page-company #director-comment .pdf-dl__btn:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  top: 50%;
  right: 30px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: right .3s ease-in-out;
}

#page-company #director-comment .pdf-dl__btn:hover {
  color: #1967b2;
  background-color: #fff;
}

#page-company #director-comment .pdf-dl__btn:hover:before {
  right: 20px;
  border-top: 2px solid #1967b2;
  border-right: 2px solid #1967b2;
}

@media screen and (max-width: 767px) {
  #page-company #director-comment .director-comment__text {
    margin-top: min(30px, 8vw);
  }
  #page-company #director-comment .pdf-dl__btn {
    max-width: 500px;
    margin: 50px auto 0;
    padding: 20px 35px;
    font-size: clamp(14px, calc(14/320*100vw), 16px);
  }
}
/* ↑↑ companyページここまで ↑↑ */

/* ━━━━━━━━━━━━━━━━

 ■contactページ

━━━━━━━━━━━━━━━━ */
#page-contact #pageTitle {
  background: url(../img/bg_contact_pagetitle.jpg) no-repeat center center/cover;
}

#page-contact .form {
  padding: min(75px, 7.5vw) 0 min(96px, 9.6vw);
}

#page-contact .inner {
  max-width: 800px;
}

#page-contact .form__table {
  width: 100%;
}

#page-contact .form__table th,
#page-contact .form__table td {
  padding: min(26px, 2.6vw) 0;
}

#page-contact .form__table th {
  width: 36%;
  vertical-align: top;
  text-align: left;
  font-weight: 700;
}

#page-contact .form__table .requied {
  display: inline-block;
  margin-left: 4px;
  padding: 3px 7px;
  vertical-align: middle;
  font-size: 9px;
  font-weight: 700;
  color: #FFF;
  background: #C71F0C;
}

#page-contact .wpcf7-list-item {
  display: block;
  margin: 0;
}

#page-contact .wpcf7-list-item:not(:first-child) {
  margin-top: min(18px, 1.8vw);
}

#page-contact .wpcf7-list-item-label {
  display: flex;
  cursor: pointer;
}

#page-contact input[type=radio] {
  position: absolute;
  opacity: 0;
}

#page-contact .wpcf7-list-item-label::before {
  content: "";
  width: 13px;
  height: 13px;
  margin-bottom: auto;
  margin-right: 0.5em;
  margin-top: auto;
  border-radius: 100%;
  border: 1px solid #333;
  background: #fff;
  transition: background-color 0.3s;
}

#page-contact input[type=radio]:checked+.wpcf7-list-item-label::before {
  background-color: #9A9A9A;
  box-shadow: inset 0 0 0 3px #fff;
}

#page-contact input[type=text],
#page-contact input[type=email],
#page-contact input[type=tel] {
  width: 100%;
  height: 35px;
  border: 1px solid #D9D9D9;
}

#page-contact textarea {
  width: 100%;
  height: 140px;
  border: 1px solid #D9D9D9;
}

#page-contact input.wpcf7-submit {
  width: 47%;
  margin-top: min(27px, 2.7vw);
  padding: min(20px, 2vw) 0;
  font-size: min(18px, 1.8vw);
  font-weight: 600;
  color: #fff;
  background: #1d1d1d url(../img/arrow.png) no-repeat 95% center/contain;
  background-size: 22px;
  transition: opacity 0.3s ease;
}

#page-contact input.wpcf7-submit:hover {
  opacity: 0.7;
}

#page-contact .btn-submit {
  text-align: center;
}

#page-contact div.wpcf7 .wpcf7-spinner {
  display: block;
}

@media screen and (max-width: 767px) {
  #page-contact .form {
    padding: min(40px, 10.6666666667vw) 0;
  }

  #page-contact .form__table th,
  #page-contact .form__table td {
    width: 100%;
    display: block;
  }

  #page-contact .form__table th {
    padding-bottom: 0;
    text-align: left;
  }

  #page-contact .form__table .empty {
    display: none;
  }

  #page-contact .wpcf7-list-item:not(:first-child) {
    margin-top: min(15px, 4vw);
  }

  #page-contact input.wpcf7-submit {
    width: 100%;
    max-width: 500px;
    margin: min(30px, 8vw) auto 0;
    padding: min(20px, 5.3333333333vw) 0;
    font-size: min(18px, 4.8vw);
    background-size: 22px;
  }
}

/* ↑↑ contactページここまで ↑↑ */