@charset "UTF-8";
/* ----------------------------------------
  初期設定
---------------------------------------- */
/* @function vw($arg) {
  @return calc($arg / 1300 * 100vw);
} */
/* ---------------------------
  フォント
--------------------------- */
/* 日本語フォント */
/* 英字フォント */
/* Playfair Display */
/* Open Sans */
/* EB Garamond */
/* Butler */
@font-face {
  font-family: 'Butler';
  src: url('../font/Butler_Medium.otf') format('opentype');
}
/* ---------------------------
  カラー
--------------------------- */
/* ---------------------------
  ヘッダー高さ
--------------------------- */
/* ---------------------------
  レスポンシブ
--------------------------- */
/* ---------------------------
  共通設定
--------------------------- */
html {
  font-size: 16px;
}

body {
  background: #ffffff;
  color: #000000;
  font-size: 16px;
  line-height: 1.8;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic', sans-serif;
  font-style: normal;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 3.4666666667vw;
  }
}

body.no-scroll {
  overflow: hidden;
}

a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.8;
}

@media screen and (min-width: 769px) {
  .wrapper {
    min-width: 1300px;
  }
}

section {
  padding: 104px 0;
}
@media screen and (max-width: 768px) {
  section {
    padding: 11.2vw 0 17.0666666667vw;
  }
}

.inner {
  max-width: 1180px;
  width: 100%;
  padding: 0 30px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .inner {
    padding: 0 5.3333333333vw;
  }
}

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

.sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

/* ---------------------------
  コンポーネント
--------------------------- */
/* TOP セクションタイトル */
.top-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .top-ttl {
    gap: 2.1333333333vw;
  }
}
.top-ttl span {
  font-family: 'Playfair Display', serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  color: #000000;
  font-size: 72px;
  line-height: 1.1111111111;
  letter-spacing: 1.44px;
}
@media screen and (max-width: 768px) {
  .top-ttl span {
    font-size: 11.7333333333vw;
    line-height: 0.9090909091;
    letter-spacing: 1.76px;
  }
}
.top-ttl h2 {
  color: #0066ff;
  font-size: 20px;
  line-height: 2;
  font-family: '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic', sans-serif;
  font-style: normal;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .top-ttl h2 {
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
  }
}
.top-ttl.white span,
.top-ttl.white h2 {
  color: #ffffff;
}

/* ボタン */
.btn :where(a, button:is([form='post'], [form='submit'])) {
  background: #003399;
  color: #ffffff;
  padding: 20px 64px 20px 64px;
  border-radius: 210px;
  font-weight: 700;
  text-align: left;
  line-height: 1.625;
  min-width: 230px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
.btn :where(a, button:is([form='post'], [form='submit']))::after {
  content: '';
  position: absolute;
  background: url(../img/common/arrow_r-w.svg) no-repeat center center/cover;
  width: 16px;
  height: 14px;
  right: 24px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .btn :where(a, button:is([form='post'], [form='submit'])) {
    padding: 4.9333333333vw 13.6vw 4.9333333333vw 10.6666666667vw;
    font-size: 4vw;
    line-height: 0.8666666667;
    min-width: 43.7333333333vw;
  }
  .btn :where(a, button:is([form='post'], [form='submit']))::after {
    width: 4vw;
    height: 3.4666666667vw;
    right: 5.0666666667vw;
  }
}
.btn :where(a, button:is([form='post'], [form='submit'])):hover {
  background: #ffffff;
  color: #003399;
  opacity: 1;
}
.btn :where(a, button:is([form='post'], [form='submit'])):hover::after {
  background: url(../img/common/arrow_r-b.svg) no-repeat center center/cover;
}
.btn.white a {
  background: #ffffff;
  color: #003399;
}
.btn.white a::after {
  background: url(../img/common/arrow_r-b.svg) no-repeat center center/cover;
}
.btn.pdf a {
  padding: 19px 54px 19px 45px;
  font-size: 15px;
  line-height: 0.8;
  min-width: 191px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .btn.pdf a {
    font-size: 4vw;
    line-height: 0.8666666667;
    padding: 5.0666666667vw 5.0666666667vw 5.0666666667vw 10.6666666667vw;
    min-width: 52.2666666667vw;
  }
}
.btn.pdf a:hover {
  opacity: 0.8;
}
.btn.pdf a::after {
  background: url(../img/common/icon-download.svg) no-repeat center center/cover;
  right: 27px;
  width: 20px;
  height: 20px;
}
@media screen and (max-width: 768px) {
  .btn.pdf a::after {
    width: 5.8666666667vw;
    height: 5.8666666667vw;
    right: 6.8vw;
  }
}

/* 下層ページmv */
.u-mv {
  margin-left: 90px;
  margin-top: 120px;
  height: 329px;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 768px) {
  .u-mv {
    margin-left: 5.3333333333vw;
    height: 53.3333333333vw;
    margin-top: 18.2666666667vw;
  }
}
.u-mv__img {
  width: 100%;
  display: block;
}
.u-mv__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.u-mv__ttl {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #ffffff;
  padding: 16px 40px 0 0;
}
@media screen and (max-width: 768px) {
  .u-mv__ttl {
    padding: 3.2vw 6.4vw 0 0;
    gap: 4.2666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .u-mv__ttl span {
    font-size: 10.9333333333vw;
    line-height: 0.9756097561;
  }
}
@media screen and (max-width: 768px) {
  .u-mv__ttl h2 {
    font-size: 4vw;
  }
}

/* 下層ページ　セクションタイトル */
.u-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .u-ttl {
    gap: 2.1333333333vw;
  }
}
.u-ttl span {
  font-family: 'Playfair Display', serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 600;
  color: #003399;
  font-size: 48px;
  line-height: 0.7083333333;
  letter-spacing: 1.44px;
}
@media screen and (max-width: 768px) {
  .u-ttl span {
    font-size: 7.7333333333vw;
    letter-spacing: 1.74px;
  }
}
.u-ttl h2 {
  color: #000000;
  font-size: 15px;
  line-height: 0.8;
  font-family: '游ゴシック体', 'YuGothic', '游ゴシック', 'Yu Gothic', sans-serif;
  font-style: normal;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .u-ttl h2 {
    font-size: 3.4666666667vw;
  }
}

/* パンくずリスト */
.breadcrumbs {
  margin: 8px 0;
}
@media screen and (max-width: 768px) {
  .breadcrumbs {
    margin: 1.6vw 0 0;
  }
}
.breadcrumbs .inner {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.breadcrumbs__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .breadcrumbs__lists {
    gap: 2.1333333333vw;
  }
}
.breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.breadcrumbs__list a {
  color: #4b5165;
  white-space: nowrap;
  line-height: 2.5;
}
.breadcrumbs span {
  width: 8px;
  height: 1px;
  background: #000000;
}
@media screen and (max-width: 768px) {
  .breadcrumbs span {
    width: 2.1333333333vw;
    height: 0.1333333333vw;
  }
}

/* ---------------------------
  header
--------------------------- */
.header {
  padding: 18px 0;
  min-width: 1300px;
  height: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 500;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .header {
    height: 14vw;
    padding: 0;
    min-width: auto;
  }
}
.header__inner {
  padding: 0 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .header__inner {
    padding: 0 0 0 2.6666666667vw;
  }
}
.header__logo {
  width: 268px;
  height: 41px;
}
@media screen and (max-width: 768px) {
  .header__logo {
    width: 53.6vw;
    height: 8.1333333333vw;
  }
}
.header__logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.header__logo a {
  width: 100%;
}
.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.header__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .header__lists {
    display: none;
  }
}
.header__list a {
  font-weight: 700;
  line-height: 2.5;
}
.header__btn {
  color: #ffffff;
  background: #003399;
  padding: 4px 31px;
  border-radius: 51px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header__btn:hover {
  opacity: 1;
  background: #ffffff;
  color: #003399;
}
.header__toggle {
  display: none;
}
@media screen and (max-width: 768px) {
  .header__toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 14vw;
    height: 14vw;
    border: none;
    background: #003399;
    gap: 1.4666666667vw;
  }
}
.header__toggle-line {
  width: 5.4666666667vw;
  height: 0.4vw;
  background: #ffffff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header.change-color {
  background: #ffffff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.header__toggle.is-active .header__toggle-line:nth-of-type(1) {
  -webkit-transform: translateY(0.9333333333vw) rotate(-45deg);
  transform: translateY(0.9333333333vw) rotate(-45deg);
}
.header__toggle.is-active .header__toggle-line:nth-of-type(2) {
  display: none;
}
.header__toggle.is-active .header__toggle-line:nth-of-type(3) {
  -webkit-transform: translateY(-0.9333333333vw) rotate(45deg);
  transform: translateY(-0.9333333333vw) rotate(45deg);
}

.drawer {
  /*スクロールバーは非表示*/
  overflow-y: scroll;
  /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  position: fixed;
  top: 0;
  left: 0;
  background: #f7f6f9;
  width: 100%;
  height: 100%;
  z-index: 99;
}
.drawer.js-open {
  opacity: 1;
  visibility: visible;
}
.drawer__nav {
  padding: 27.8666666667vw 5.3333333333vw 11.7333333333vw;
}
.drawer__list a {
  padding: 7.4666666667vw 0;
  border-top: 2px solid #d2d2d2;
  width: 100%;
  position: relative;
  font-size: 4.1333333333vw;
  font-weight: 700;
  line-height: 1.2903225806;
}
.drawer__list a::after {
  content: '';
  position: absolute;
  background: url(../img/common/arrow_r-b.svg) no-repeat center center/cover;
  width: 5.3333333333vw;
  height: 4.6666666667vw;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.drawer__list:last-child a {
  border-bottom: 2px solid #d2d2d2;
}
.drawer__sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 8.5333333333vw;
  padding-top: 13.2vw;
  font-size: 3.8666666667vw;
  font-weight: 400;
  line-height: 0.8965517241;
  color: #4b5165;
}
.drawer__copyright {
  color: #4b5165;
  font-size: 2.9333333333vw;
  font-weight: 400;
  line-height: 1.1818181818;
  text-align: center;
  padding-top: 9.6vw;
}

/* TOPページ　-------------------------------- */
/* ---------------------------
  fv
--------------------------- */
.fv {
  background: url(../img/top/fv_bg.jpg) no-repeat top left/cover;
  width: 100%;
  height: 100%;
  padding: 0;
}
/* ---------------------------
  mv
--------------------------- */
.mv {
  padding-top: 168px;
}
@media screen and (max-width: 768px) {
  .mv {
    padding-top: 22.1333333333vw;
  }
}
.mv__inner {
  padding: 0 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .mv__inner {
    padding: 0 5.3333333333vw;
  }
}
.mv__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  position: relative;
}
.mv__lead {
  color: #003399;
  font-size: 91px;
  font-family: 'Playfair Display', serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 700;
  line-height: 1.0769230769;
  letter-spacing: 0.91px;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .mv__lead {
    font-size: 11.2vw;
    letter-spacing: 0.84px;
    line-height: 1.0357142857;
    text-align: left;
  }
}
.mv__copy {
  position: absolute;
  bottom: 44px;
  left: 31px;
  z-index: 2;
  color: #ffffff;
  width: 327px;
  font-size: 13px;
  font-weight: 700;
  text-shadow: 5px 5px 3.7px rgba(0, 0, 0, 0.12);
  letter-spacing: 0.39px;
}
@media screen and (max-width: 768px) {
  .mv__copy {
    width: 70.1333333333vw;
    font-size: 3.4666666667vw;
    font-weight: 500;
    letter-spacing: 0.78px;
    text-shadow: 5px 5px 3.5px rgba(0, 0, 0, 0.08);
    left: 3.2vw;
    bottom: 23.2vw;
  }
}
.mv .slick-track {
  width: 100% !important;
}
.mv__img {
  margin-top: -40px;
  position: relative;
  width: 100%;
  height: 578px;
}
@media screen and (max-width: 768px) {
  .mv__img {
    margin-top: 3.7333333333vw;
    height: 110.5333333333vw;
  }
}
.mv__img picture {
  position: absolute;
  width: 100%;
  height: 578px;
  opacity: 0;
  -webkit-animation: mv-anim 20s infinite;
  animation: mv-anim 20s infinite;
}
@media screen and (max-width: 768px) {
  .mv__img picture {
    height: 110.5333333333vw;
  }
}
.mv__img picture:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
.mv__img picture:nth-of-type(2) {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}
.mv__img picture:nth-of-type(3) {
  -webkit-animation-delay: 10s;
  animation-delay: 10s;
}
.mv__img picture:nth-of-type(4) {
  -webkit-animation-delay: 15s;
  animation-delay: 15s;
}
.mv__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* 4枚の画像を5秒ごとにフェードインアウト */
@-webkit-keyframes mv-anim {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes mv-anim {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  40% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
/* .contents-top01 .dots {
  position: absolute;
  right: 0;
  width: 50px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .contents-top01 .dots {
    width: 13.3%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

.contents-top01 .dots div {
  width: 28px;
  height: 28px;
  position: relative;
  margin: 20px 0;
}

@media screen and (max-width: 767px) {
  .contents-top01 .dots div {
    margin: 0.5em 0;
    width: 2em;
    height: 2em;
  }
}

.contents-top01 .dots span {
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .contents-top01 .dots span {
    font-size: 85%;
  }
} */
/*各スライドに以下クラスを追加で付与*/
.circle__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  position: absolute;
  right: 29px;
  bottom: 156px;
  z-index: 100;
}
@media screen and (max-width: 768px) {
  .circle__wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    /* bottom: initial; */
    bottom: 100.1333333333vw;
    right: 1.3333333333vw;
    gap: 3.2vw;
  }
}
.circle__wrapper svg {
  width: 40px;
  height: 41px;
}
@media screen and (max-width: 768px) {
  .circle__wrapper svg {
    /* width: vw(56);
    height: vw(56);
    width: 3.5rem;
    height: 3.5rem; */
    width: 8.47%;
    height: 8.47%;
  }
}

.circle-animation {
  stroke-dasharray: 126px;
  /* 円の周の長さ (2 * π * 半径, 半径=20) */
  stroke-dashoffset: 126px;
  /* 初期状態で円が見えないようにする */
  stroke-linecap: round;
  /* 線の端を滑らかに */
  -webkit-animation: dash 20s ease-in-out infinite;
  animation: dash 20s ease-in-out infinite;
  position: relative;
  /* Safari対応のためにtransformを追加 */
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}
@media screen and (max-width: 768px) {
  .circle-animation {
    stroke-dasharray: 11em;
    /* 円の周の長さ (2 * π * 半径, 半径=28) */
    stroke-dashoffset: 11em;
    -webkit-animation: dash-sp 20s ease-in-out infinite;
    animation: dash-sp 20s ease-in-out infinite;
  }
}

.circle1 {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.circle2 {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.circle3 {
  -webkit-animation-delay: 10s;
  animation-delay: 10s;
}

.circle4 {
  -webkit-animation-delay: 15s;
  animation-delay: 15s;
}

@-webkit-keyframes dash {
  0% {
    stroke-dashoffset: 126px;
    /* 線が見えない */
  }
  24% {
    stroke-dashoffset: 0;
    /* 線が完全に描かれる */
  }
  26% {
    stroke-dashoffset: 126px;
    /* 線が見えない */
  }
}

@keyframes dash {
  0% {
    stroke-dashoffset: 126px;
    /* 線が見えない */
  }
  24% {
    stroke-dashoffset: 0;
    /* 線が完全に描かれる */
  }
  26% {
    stroke-dashoffset: 126px;
    /* 線が見えない */
  }
}
@-webkit-keyframes dash-sp {
  0% {
    stroke-dashoffset: 11em;
    /* 線が見えない */
  }
  24% {
    stroke-dashoffset: 0;
    /* 線が完全に描かれる */
  }
  26% {
    stroke-dashoffset: 11em;
    /* 線が見えない */
  }
}
@keyframes dash-sp {
  0% {
    stroke-dashoffset: 11em;
    /* 線が見えない */
  }
  24% {
    stroke-dashoffset: 0;
    /* 線が完全に描かれる */
  }
  26% {
    stroke-dashoffset: 11em;
    /* 線が見えない */
  }
}
.scrolldown {
  position: absolute;
  bottom: 53px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 5;
}
@media screen and (max-width: 768px) {
  .scrolldown {
    bottom: -13.92vw;
    -webkit-transform: translate(-50% -50%);
    transform: translate(-50% -50%);
  }
}
.scrolldown__text {
  width: 151px;
  height: 151px;
  -webkit-animation: scrolldown 30s infinite;
  animation: scrolldown 30s infinite;
}
@media screen and (max-width: 768px) {
  .scrolldown__text {
    width: 34.8vw;
    height: 34.8vw;
  }
}
.scrolldown__arrow {
  position: absolute;
  width: 13px;
  height: 38px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@-webkit-keyframes scrolldown {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes scrolldown {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* ---------------------------
  news
--------------------------- */
.news {
  padding: 13px 0 67px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .news {
    padding: 4.9333333333vw 0 16.6666666667vw;
  }
}
.news__deco {
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.news__deco span {
  opacity: 0.5;
  color: #ffffff;
  font-size: 50px;
  letter-spacing: 1.5px;
  font-family: 'Open Sans', sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: 'wdth' 100;
  font-weight: 400;
  white-space: nowrap;
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .news__deco span {
    font-size: 10.6666666667vw;
  }
}
.news__deco span:nth-child(odd) {
  -webkit-animation: deco1 120s -60s linear infinite;
  animation: deco1 120s -60s linear infinite;
}
@media screen and (max-width: 768px) {
  .news__deco span:nth-child(odd) {
    -webkit-animation: deco1 120s -60s linear infinite;
    animation: deco1 120s -60s linear infinite;
  }
}
.news__deco span:nth-child(even) {
  -webkit-animation: deco2 120s linear infinite;
  animation: deco2 120s linear infinite;
}
@media screen and (max-width: 768px) {
  .news__deco span:nth-child(even) {
    -webkit-animation: deco2 120s linear infinite;
    animation: deco2 120s linear infinite;
  }
}
.news__container {
  background: #f7f6f9;
  padding: 33px 30px 29px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  gap: 35px;
  margin-top: -38px;
}
@media screen and (max-width: 768px) {
  .news__container {
    padding: 3.8666666667vw 2.4vw 4.4vw 4vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 2vw;
    margin-top: -8vw;
  }
}
.news__ttl {
  color: #000000;
  font-size: 20px;
  font-family: 'Open Sans', sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: 'wdth' 100;
  font-weight: 700;
  line-height: 2;
  width: 115px;
}
@media screen and (max-width: 768px) {
  .news__ttl {
    font-size: 5.3333333333vw;
    line-height: 1;
  }
}
.news__link {
  width: 100%;
}
.news__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 29px;
  padding: 0px 16px 0px 0;
  border-bottom: 1px solid #d2d2d2;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .news__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 2.2666666667vw;
    padding: 0.2666666667vw 0 2.1333333333vw;
  }
}
.news__date {
  color: #b5b5b5;
  font-family: 'Open Sans', sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: 'wdth' 100;
  font-weight: 700;
  line-height: 3.0769230769;
  font-size: 13px;
}
@media screen and (max-width: 768px) {
  .news__date {
    font-size: 2.9333333333vw;
    line-height: 1.8181818182;
  }
}
.news__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 29px;
  font-size: 14px;
  font-weight: 500;
  color: #4b5165;
  line-height: 2.8571428571;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .news__detail {
    font-size: 3.2vw;
    line-height: 1.6666666667;
    gap: 4.5333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .news__detail p {
    width: 73.3333333333vw;
  }
}
.news__arrow {
  width: 16px;
  height: 14px;
}
@media screen and (max-width: 768px) {
  .news__arrow {
    width: 5.3333333333vw;
    height: 4.6666666667vw;
  }
}
.news__arrow img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@-webkit-keyframes deco1 {
  from {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes deco1 {
  from {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@-webkit-keyframes deco2 {
  from {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
@keyframes deco2 {
  from {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
/* ---------------------------
  company
--------------------------- */
.company {
  padding: 123px 0 125px;
  background: url(../img/top/company_bg01.png) center center/cover;
  position: relative;
}
.company::after {
  content: '';
  position: absolute;
  background: url(../img/top/company_bg02.png) no-repeat center center/cover;
  width: 825px;
  height: 557px;
  right: 0;
  bottom: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .company {
    padding: 17.0666666667vw 0;
  }
}
.company__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  position: relative;
}
.company__container::before {
  position: absolute;
  content: 'COMPANY';
  font-family: 'Open Sans', sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: 'wdth' 100;
  font-weight: 700;
  line-height: 0.6089385475;
  letter-spacing: -7.16px;
  color: transparent;
  font-size: 179px;
  text-stroke: 3px #0066ff;
  -webkit-text-stroke: 3px #0066ff;
  opacity: 0.15;
  right: -54px;
  top: -50px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .company__container::before {
    font-size: 17.4666666667vw;
    right: initial;
    left: -1.0666666667vw;
    top: -6.9333333333vw;
    letter-spacing: 0;
  }
}
.company__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.company__lead {
  margin-top: 24px;
  width: 574px;
  color: #4b5165;
}
@media screen and (max-width: 768px) {
  .company__lead {
    margin-top: 6.4vw;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .company .btn {
    text-align: center;
    margin-top: 10.6666666667vw;
  }
}
.company__swiper {
  margin-top: 83px;
}
.company__slider {
  margin-top: 83px;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.slider {
  width: 100%;
}
.slider__img {
  width: 100%;
  height: 332px;
  aspect-ratio: 449/332;
}
@media screen and (max-width: 768px) {
  .slider__img {
    height: 48.9333333333vw;
  }
}
.slider__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ---------------------------
  business
--------------------------- */
.business {
  padding: 120px 0 160px;
  background: url(../img/top/businness_bg.png) repeat-x center/cover;
}
@media screen and (max-width: 768px) {
  .business {
    padding: 17.3333333333vw 0;
  }
}
.business__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  position: relative;
  z-index: 5;
}
.business__container::before {
  position: absolute;
  content: 'BUSINESS';
  font-family: 'Open Sans', sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: 'wdth' 100;
  font-weight: 700;
  line-height: 0.6089385475;
  color: transparent;
  font-size: 179px;
  -webkit-text-stroke: 3px #ffffff;
  /* ベンダープレフィックス */
  text-stroke: 3px #ffffff;
  right: -60px;
  top: -28px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .business__container::before {
    right: initial;
    left: -1.0666666667vw;
    top: -6.9333333333vw;
    font-size: 17.4666666667vw;
    letter-spacing: 0;
  }
}
.business__lead {
  margin-top: 18px;
  color: #4b5165;
}
@media screen and (max-width: 768px) {
  .business__lead {
    margin-top: 6.4vw;
  }
}
.business__cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .business__cards {
    grid-template-columns: 1fr;
    gap: 5.2vw;
    margin-top: 10.6666666667vw;
  }
}
.business__card {
  width: 361px;
  padding: 30px 0 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 21px;
  background: #ffffff;
  -webkit-box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.03);
  box-shadow: 0px 8px 10px 0px rgba(0, 0, 0, 0.03);
  border-radius: 15px;
  border-right: 1px solid var(--gradation, #e2e2e7);
}
@media screen and (max-width: 768px) {
  .business__card {
    padding: 8.5333333333vw 0 7.3333333333vw;
    gap: 4.2666666667vw;
    width: 100%;
  }
}
.business__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .business__ttl {
    gap: 1.8666666667vw;
  }
}
.business__ttl span {
  color: #0066ff;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  font-family: 'Open Sans', sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: 'wdth' 100;
  font-weight: 700;
  font-size: 13px;
  /* line-height: calc(26/13); */
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .business__ttl span {
    font-size: 3.0666666667vw;
  }
}
.business__ttl h3 {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.1304347826;
}
@media screen and (max-width: 768px) {
  .business__ttl h3 {
    font-size: 5.3333333333vw;
    line-height: 0.65;
  }
}
.business__text {
  padding: 0 24px;
  font-size: 14px;
  line-height: 1.8571428571;
  color: #4b5165;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .business__text {
    padding: 0 3.2vw;
    font-size: 3.4666666667vw;
    line-height: 1.8;
  }
}
.business .btn {
  margin-top: 82px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .business .btn {
    margin-top: 10.6666666667vw;
  }
}

/* ---------------------------
  job/sdgs
--------------------------- */
.col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .col2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.col2__item {
  width: 50%;
  height: 418px;
}
@media screen and (max-width: 768px) {
  .col2__item {
    width: 100%;
    height: 68.8vw;
  }
}
.col2__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 100%;
}
.col2 .job {
  background: url(../img/top/job_bg.jpg) no-repeat center center/cover;
  padding: 74px 44px 55px 90px;
}
@media screen and (max-width: 768px) {
  .col2 .job {
    padding: 9.8666666667vw 5.3333333333vw 8.8vw;
  }
}
.col2 .sdgs {
  background: url(../img/top/sdgs_bg.jpg) no-repeat center center/cover;
  padding: 74px 90px 55px 44px;
}
@media screen and (max-width: 768px) {
  .col2 .sdgs {
    padding: 9.8666666667vw 5.3333333333vw 8.8vw;
  }
}
.col2 .btn {
  text-align: right;
}
.col2 .btn a {
  min-width: 246px;
}
@media screen and (max-width: 768px) {
  .col2 .btn a {
    min-width: 47.7333333333vw;
  }
}
.col2 .sdgs a {
  padding: 20px 64px 20px 45px;
}
@media screen and (max-width: 768px) {
  .col2 .sdgs a {
    padding: 5.2vw 13.6vw 4.9333333333vw 10.6666666667vw;
    min-width: 60.1333333333vw;
  }
}

/* ---------------------------
  contact
--------------------------- */
.contact {
  padding: 52px 0 75px;
  background: #f7f6f9;
}
@media screen and (max-width: 768px) {
  .contact {
    padding: 14.9333333333vw 0 15.6vw;
  }
}
.contact__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .contact__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 6.6666666667vw;
  }
}
.contact__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 22px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
@media screen and (max-width: 768px) {
  .contact__left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6vw;
  }
}
@media screen and (max-width: 768px) {
  .contact .top-ttl {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
.contact__lead {
  padding-bottom: 40px;
  color: #4b5165;
  letter-spacing: 0.48px;
}
@media screen and (max-width: 768px) {
  .contact__lead {
    text-align: center;
    line-height: 1.7692307692;
    padding-bottom: 0;
  }
}
.contact__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 29px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .contact__right {
    gap: 5.3333333333vw;
  }
}
.contact__tel {
  font-size: 40px;
  color: #2b2b2b;
  letter-spacing: 1.2px;
  font-family: Butler, sans-serif;
  letter-spacing: 1.2px;
}
@media screen and (max-width: 768px) {
  .contact__tel {
    font-size: 8.5333333333vw;
    letter-spacing: 1.92px;
  }
}
.contact__tel a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 11px;
  padding-right: 6px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .contact__tel a {
    gap: 1.0666666667vw;
    padding-right: 2.1333333333vw;
  }
}
.contact__tel span {
  width: 48px;
  height: 48px;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .contact__tel span {
    width: 10.5333333333vw;
    height: 10.5333333333vw;
  }
}
.contact .btn a {
  min-width: 328px;
}
@media screen and (max-width: 768px) {
  .contact .btn a {
    min-width: 68.2666666667vw;
  }
}

/* ---------------------------
  footer
--------------------------- */
.footer {
  padding: 57px 0 23px;
  background: #003399;
}
@media screen and (max-width: 768px) {
  .footer {
    padding: 12vw 0 8.1333333333vw;
  }
}
.footer__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 8.5333333333vw;
  }
}
.footer__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 33px;
  padding-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .footer__left {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 5.3333333333vw;
    padding-bottom: 0;
  }
}
.footer__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.footer__logo {
  width: 330px;
  height: 50px;
}
@media screen and (max-width: 768px) {
  .footer__logo {
    width: 62.9333333333vw;
    height: 9.4666666667vw;
  }
}
.footer__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 44px;
  padding: 10px 0 15px;
}
@media screen and (max-width: 768px) {
  .footer__lists {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 0;
    gap: 0;
  }
}
.footer__list {
  position: relative;
}
@media screen and (max-width: 768px) {
  .footer__list {
    border-bottom: 2px solid #d6d6d6;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .footer__list::after {
    position: absolute;
    content: '';
    background: url(../img/common/arrow_r-w.svg) no-repeat center center/cover;
    right: 3.8666666667vw;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 4vw;
    height: 3.4666666667vw;
  }
}
.footer__list a {
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7333333333;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__list a {
    font-size: 3.4666666667vw;
    line-height: 0.7692307692;
    padding: 6.9333333333vw 0 7.7333333333vw 2.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  .footer__list:first-child {
    border-top: 2px solid #d6d6d6;
  }
}
.footer__sublists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 41px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .footer__sublists {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10vw;
    margin-top: 9.6vw;
  }
}
.footer__sublists a {
  color: #ffffff;
  font-size: 12px;
  line-height: 2.1666666667;
}
@media screen and (max-width: 768px) {
  .footer__sublists a {
    font-size: 2.9333333333vw;
    line-height: 1.1818181818;
  }
}
@media screen and (max-width: 768px) {
  .footer__sublist:nth-of-type(1) {
    margin-left: 3.3333333333vw;
  }
}
.footer__info {
  color: #ffffff;
  font-size: 13px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .footer__info {
    text-align: center;
    font-size: 3.2vw;
    line-height: 1.8333333333;
  }
}
.footer__copyright {
  font-size: 12px;
  font-weight: 400;
  line-height: 2.1666666667;
  color: #ffffff;
  width: 100%;
  text-align: right;
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .footer__copyright {
    margin-top: 19.3333333333vw;
    text-align: center;
    opacity: 1;
    font-size: 3.2vw;
    line-height: 1.0833333333;
  }
}

/* 会社概要ページ　-------------------------------- */
/* ---------------------------
  message
--------------------------- */
.message__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .message__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.message__img {
  width: 511px;
  height: 361px;
}
@media screen and (max-width: 768px) {
  .message__img {
    width: 100%;
  }
}
.message__right {
  width: 530px;
  padding: 12px 25px 15px 0;
}
@media screen and (max-width: 768px) {
  .message__right {
    padding: 0;
    margin-top: 8vw;
    width: 100%;
  }
}
.message__text {
  margin-top: 58px;
  color: #4b5165;
}
@media screen and (max-width: 768px) {
  .message__text {
    margin-top: 8.5333333333vw;
  }
}
.message__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 24px;
  margin-top: 33px;
  padding-right: 8px;
}
@media screen and (max-width: 768px) {
  .message__name {
    margin-top: 8.5333333333vw;
    padding-right: 0;
  }
}
.message__name p {
  padding-top: 7px;
}
@media screen and (max-width: 768px) {
  .message__name p {
    padding-top: 1.0666666667vw;
  }
}
.message__name-img {
  width: 100px;
  height: 36px;
}
@media screen and (max-width: 768px) {
  .message__name-img {
    width: 18.6666666667vw;
    height: 6.6666666667vw;
  }
}
.message__name-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

/* ---------------------------
  outline
--------------------------- */
.outline {
  background: #f7f6f9;
}
.outline__container {
  width: 100%;
}
.outline__lists {
  width: 100%;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .outline__lists {
    margin-top: 10.6666666667vw;
  }
}
.outline__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 24px;
  line-height: 0.75;
  padding: 40px 40px 39px 40px;
  width: 100%;
  border-bottom: 1px solid #d2d2d2;
}
@media screen and (max-width: 768px) {
  .outline__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 4.5333333333vw;
    padding: 7.4666666667vw 3.2vw 7.0666666667vw;
    line-height: 0.7857142857;
    font-size: 3.7333333333vw;
  }
}
.outline__list dt {
  width: 200px;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .outline__list dt {
    width: 100%;
  }
}
.outline__list dd {
  color: #4b5165;
}
@media screen and (max-width: 768px) {
  .outline__list dd {
    width: 100%;
  }
}
.outline__list:first-child {
  border-top: 1px solid #d2d2d2;
}

/* ---------------------------
  access
--------------------------- */
.access__container {
  width: 100%;
}
.access__content {
  width: 100%;
  margin-top: 80px;
  gap: 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .access__content {
    margin-top: 10.6666666667vw;
    gap: 11.7333333333vw;
  }
}
.access__ttl {
  line-height: 0.7916666667;
  font-size: 24px;
  font-weight: 700;
  padding-bottom: 22px;
  border-bottom: 2px solid #d2d2d2;
}
@media screen and (max-width: 768px) {
  .access__ttl {
    font-size: 4vw;
    line-height: 0.7666666667;
    padding-bottom: 4vw;
  }
}
@media screen and (max-width: 768px) {
  .access__left iframe {
    width: 89.3333333333vw;
    height: 59.6vw;
  }
}
.access__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .access__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5.0666666667vw;
    margin-top: 5.3333333333vw;
  }
}
.access__right {
  width: 520px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .access__right {
    width: 100%;
    gap: 0;
  }
}
.access__img {
  width: 520px;
  height: 280px;
}
@media screen and (max-width: 768px) {
  .access__img {
    width: 89.3333333333vw;
    height: 50.6666666667vw;
  }
}
.access__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.access__info {
  gap: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 100%;
  color: #4b5165;
}
@media screen and (max-width: 768px) {
  .access__info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
    margin-top: 4.2666666667vw;
  }
}
.access__license {
  width: 100%;
  color: #4b5165;
}
@media screen and (max-width: 768px) {
  .access__license {
    margin-top: 3.4666666667vw;
  }
}
.access .btn a {
  min-width: 268px;
}
@media screen and (max-width: 768px) {
  .access .btn a {
    min-width: 53.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .access .btn {
    margin-top: 5.8666666667vw;
  }
}

/* 業務内容ページ　-------------------------------- */
/* ---------------------------
  biz-detail
--------------------------- */
.biz-detail__container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 71px;
}
@media screen and (max-width: 768px) {
  .biz-detail__container {
    gap: 11.7333333333vw;
  }
}
.biz-detail__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 49px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .biz-detail__item {
    gap: 6.4vw;
  }
}
.biz-detail__head {
  position: relative;
}
.biz-detail__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 24px 40px 8px 24px;
  background: #ffffff;
  gap: 16px;
  min-width: 175px;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .biz-detail__ttl {
    padding: 4.2666666667vw 6.4vw 2.1333333333vw 4.2666666667vw;
    gap: 3.2vw;
  }
}
.biz-detail__ttl span {
  font-family: 'Playfair Display', serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 900;
  font-size: 20px;
  color: #003399;
  line-height: 0.7;
  letter-spacing: 0.6px;
}
@media screen and (max-width: 768px) {
  .biz-detail__ttl span {
    font-size: 4.2666666667vw;
    letter-spacing: 0.96px;
    line-height: 0.71875;
  }
}
.biz-detail__ttl h3 {
  font-weight: 700;
  font-size: 28px;
  line-height: 0.7857142857;
}
@media screen and (max-width: 768px) {
  .biz-detail__ttl h3 {
    font-size: 5.0666666667vw;
    line-height: 0.7631578947;
  }
}
.biz-detail__content {
  padding: 0 24px;
}
@media screen and (max-width: 768px) {
  .biz-detail__content {
    padding: 0 2.1333333333vw;
  }
}
.biz-detail__text {
  color: #4b5165;
}

/* SDGsページ　-------------------------------- */
/* ---------------------------
  sdgs-about
--------------------------- */
.sdgs-about__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  padding: 15px 0;
}
@media screen and (max-width: 768px) {
  .sdgs-about__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 9.3333333333vw;
    padding: 0;
  }
}
.sdgs-about__img {
  width: 554px;
  height: 348px;
}
@media screen and (max-width: 768px) {
  .sdgs-about__img {
    width: 100%;
    height: auto;
  }
}
.sdgs-about__right {
  width: 520px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 48px;
  margin-top: 7px;
}
@media screen and (max-width: 768px) {
  .sdgs-about__right {
    width: 100%;
  }
}
.sdgs-about__text {
  color: #4b5165;
}

/* ---------------------------
  action
--------------------------- */
.action {
  background: url(../img/sdgs/action_bg.jpg) no-repeat center center/cover;
  padding: 128px 0;
}
@media screen and (max-width: 768px) {
  .action {
    padding: 11.3333333333vw 0 17.0666666667vw;
  }
}
.action__ttl {
  font-size: 38px;
  color: #003399;
  font-weight: 700;
  letter-spacing: 2.28px;
  line-height: 0.7631578947;
}
@media screen and (max-width: 768px) {
  .action__ttl {
    font-size: 5.8666666667vw;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 2.64px;
  }
}
.action__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 64px;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .action__container {
    margin-top: 6.4vw;
    gap: 10.6666666667vw;
  }
}
.action__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 64px;
  width: 100%;
  background: #ffffff;
  padding: 66px 48px 64px;
}
@media screen and (max-width: 768px) {
  .action__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 8.5333333333vw 5.3333333333vw;
    gap: 0vw;
  }
}
.action__content:nth-of-type(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .action__content:nth-of-type(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.action__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 29px;
  width: 541px;
}
@media screen and (max-width: 768px) {
  .action__left {
    width: 100%;
  }
}
.action__right {
  width: 419px;
}
@media screen and (max-width: 768px) {
  .action__right {
    width: 100%;
    margin-top: 5.3333333333vw;
  }
}
.action__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 12px;
}
.action__no {
  color: #003399;
  font-size: 15px;
  letter-spacing: 0.9px;
  font-family: 'Open Sans', sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: 'wdth' 100;
  font-weight: 700;
  line-height: 0.7333333333;
  padding: 8px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .action__no {
    font-size: 3.4666666667vw;
    letter-spacing: 1.56px;
    line-height: 0.7307692308;
    padding: 2.1333333333vw;
  }
}
.action__no::before {
  content: '';
  position: absolute;
  width: 88px;
  height: 1px;
  background: #003399;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .action__no::before {
    width: 20.9333333333vw;
    height: 0.2666666667vw;
  }
}
.action__lead {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 1.44px;
}
@media screen and (max-width: 768px) {
  .action__lead {
    font-size: 4.5333333333vw;
    letter-spacing: 2.04px;
    margin-top: 5.0666666667vw;
  }
}
.action__text {
  color: #4b5165;
}
@media screen and (max-width: 768px) {
  .action__text {
    margin-top: 2.6666666667vw;
  }
}
.action__img {
  width: 419px;
  height: 240px;
}
@media screen and (max-width: 768px) {
  .action__img {
    width: 100%;
    height: 100%;
  }
}
.action__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.action__marks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .action__marks {
    gap: 2.1333333333vw;
    margin-top: 3.2vw;
  }
}
.action__mark {
  width: 86px;
  height: 86px;
}
@media screen and (max-width: 768px) {
  .action__mark {
    width: 17.6vw;
    height: 17.6vw;
  }
}

/* お仕事探しページ　-------------------------------- */
/* ---------------------------
  job-info
--------------------------- */
.job-info__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 80px;
}
@media screen and (max-width: 768px) {
  .job-info__container {
    gap: 10.6666666667vw;
  }
}
.job-info__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .job-info__head {
    gap: 6.4vw;
  }
}
.job-info__text {
  color: #4b5165;
}
.job-info__link {
  width: 100%;
}

/* お知らせページ　-------------------------------- */
/* ---------------------------
  news-list
--------------------------- */
.news-list__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 80px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .news-list__container {
    gap: 6.4vw;
  }
}
.news-list__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 12px;
}
@media screen and (max-width: 768px) {
  .news-list__head {
    gap: 1.6vw;
  }
}
.news-list__time {
  font-size: 14px;
  color: #4b5165;
}
@media screen and (max-width: 768px) {
  .news-list__time {
    font-size: 2.9333333333vw;
  }
}
.news-list__cat {
  font-size: 13px;
  line-height: 0.7692307692;
  color: #4b5165;
  padding: 6px 8px 3px;
  border: 1px solid #d2d2d2;
}
@media screen and (max-width: 768px) {
  .news-list__cat {
    font-size: 2.9333333333vw;
    padding: 1.0666666667vw 2.1333333333vw;
  }
}
.news-list__ttl {
  color: #003399;
  font-size: 20px;
  font-weight: 700;
  line-height: 0.75;
}
@media screen and (max-width: 768px) {
  .news-list__ttl {
    font-size: 4vw;
    line-height: 1.8;
  }
}

.accordion {
  width: 100%;
}
.accordion__item {
  width: 100%;
  padding: 40px;
  border-bottom: 1px solid #d2d2d2;
}
@media screen and (max-width: 768px) {
  .accordion__item {
    padding: 6.9333333333vw 3.2vw;
  }
}
.accordion__title {
  width: 100%;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 23px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .accordion__title {
    gap: 1.6vw;
    padding-right: 6.4vw;
  }
}
.accordion__title::before,
.accordion__title::after {
  content: '';
  position: absolute;
  top: 50%;
  background-color: #0066ff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.accordion__title::before {
  right: 0;
  width: 25px;
  height: 3px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
@media screen and (max-width: 768px) {
  .accordion__title::before {
    width: 4.2666666667vw;
    height: 0.5333333333vw;
    right: 0;
  }
}
.accordion__title::after {
  right: 12.5px;
  width: 3px;
  height: 25px;
  -webkit-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
}
@media screen and (max-width: 768px) {
  .accordion__title::after {
    width: 0.5333333333vw;
    height: 4.2666666667vw;
    right: 2.1333333333vw;
  }
}
.accordion__title.is-active::after {
  -webkit-transform: translate(0, -50%) rotate(-45deg);
  transform: translate(0, -50%) rotate(-45deg);
  opacity: 0;
}
.accordion__item + .accordion__item {
  margin-top: 15px;
}
.accordion__content {
  background-color: white;
  padding-top: 23px;
  display: none;
  color: #4b5165;
}
@media screen and (max-width: 768px) {
  .accordion__content {
    padding-top: 4.6666666667vw;
  }
}

/* プライバシーポリシーページ　-------------------------------- */
/* ---------------------------
  policy
--------------------------- */
.policy__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 78px;
}
@media screen and (max-width: 768px) {
  .policy__container {
    gap: 9.0666666667vw;
  }
}
.policy__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 64px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .policy__content {
    gap: 9.6vw;
  }
}
.policy__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .policy__head {
    gap: 4.2666666667vw;
  }
}
.policy__ttl {
  font-size: 24px;
  font-weight: 700;
  color: #003399;
  line-height: 0.7916666667;
  padding-bottom: 24px;
  border-bottom: 2px solid #d2d2d2;
}
@media screen and (max-width: 768px) {
  .policy__ttl {
    padding-bottom: 3.2vw;
    font-size: 4.5333333333vw;
    border-bottom: 0.5333333333vw solid #d2d2d2;
  }
}
.policy__text {
  color: #4b5165;
}
.policy__lists {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 51px;
}
@media screen and (max-width: 768px) {
  .policy__lists {
    gap: 7.2vw;
  }
}
.policy__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 21px;
}
@media screen and (max-width: 768px) {
  .policy__list {
    gap: 4.8vw;
  }
}
.policy__list-ttl {
  font-size: 20px;
  font-weight: 700;
  line-height: 0.75;
  padding-left: 16px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .policy__list-ttl {
    font-size: 4vw;
    padding-left: 3.2vw;
  }
}
.policy__list-ttl::before {
  content: '';
  position: absolute;
  width: 4px;
  height: 23px;
  background: #003399;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .policy__list-ttl::before {
    height: 4vw;
  }
}
.policy__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 15px;
}
@media screen and (max-width: 768px) {
  .policy__contact {
    gap: 4.2666666667vw;
    margin-top: 0.4vw;
  }
}
.policy__contact-ttl {
  font-size: 16px;
  font-weight: 700;
  line-height: 0.75;
}
@media screen and (max-width: 768px) {
  .policy__contact-ttl {
    font-size: 3.4666666667vw;
    line-height: 0.7692307692;
  }
}
.policy__info {
  width: 100%;
}
.policy__info dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  color: #4b5165;
  font-size: 15px;
  line-height: 0.8;
}
@media screen and (max-width: 768px) {
  .policy__info dl {
    font-size: 3.4666666667vw;
    line-height: 1.8;
    height: 100%;
    width: 100%;
  }
}
.policy__info dt,
.policy__info dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-top: 1px solid #d2d2d2;
  border-right: 1px solid #d2d2d2;
  padding: 24px 16px;
}
@media screen and (max-width: 768px) {
  .policy__info dt,
  .policy__info dd {
    padding: 2.4vw 3.2vw;
  }
}
.policy__info dt {
  width: 216px;
  background: #f7f6f9;
  border-left: 1px solid #d2d2d2;
}
@media screen and (max-width: 768px) {
  .policy__info dt {
    width: 28.8vw;
  }
}
.policy__info dd {
  width: 431px;
}
@media screen and (max-width: 768px) {
  .policy__info dd {
    width: 57.4666666667vw;
  }
}
.policy__info dl:last-child dt,
.policy__info dl:last-child dd {
  border-bottom: 1px solid #d2d2d2;
}
