@charset "UTF-8";
/*=============================================*/
/* config : 変数・mixin定義                     */
/*=============================================*/
/****************************/
/* カラー */
/****************************/
/****************************/
/* フォント */
/****************************/
/****************************/
/* ブレイクポイント */
/****************************/
/*=============================================*/
/* Component : 流用モジュール                   */
/*=============================================*/
/****************************/
/* 背景ヘルパー */
/****************************/
.bg_navy {
  background-color: #003153;
}

.bg_grad {
  background: linear-gradient(135deg, #1F4880 0%, #003153 100%);
}

.bg_gray {
  background-color: #F4F7FA;
}

/****************************/
/* mod-common_title */
/* 青グラデBOX英字 + 日本語サブ */
/****************************/
.mod-common_title {
  margin-bottom: 35px;
}
@media (max-width: 768px) {
  .mod-common_title {
    margin-bottom: 25px;
  }
}
.mod-common_title .en {
  position: relative;
  display: inline-block;
  padding: 0 10px 9px 0;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(3.6rem, 6.88vw, 11rem);
  letter-spacing: -0.06em;
  line-height: 1;
  color: #fff;
  z-index: 1;
}
@media (max-width: 768px) {
  .mod-common_title .en {
    padding-top: 2px;
    font-size: 7rem;
  }
}
.mod-common_title .en::before {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  content: "";
  height: 0.86em;
  background: linear-gradient(100deg, #0068B7 0%, #003153 100%);
  transform: translateY(-50%);
  z-index: -1;
}
.mod-common_title .ja {
  display: block;
  margin-top: 1.4rem;
  font-size: clamp(1.5rem, 1.56vw, 2.5rem);
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #222222;
}
@media (max-width: 768px) {
  .mod-common_title .ja {
    margin-top: 0;
  }
}
.mod-common_title.co_white .ja {
  color: #fff;
}

/****************************/
/* mod-watermark_title */
/* 透かし大英字 + 日本語(BUSINESS/NEWS) */
/****************************/
.mod-watermark_title {
  position: relative;
  margin-bottom: 10rem;
}
@media (max-width: 768px) {
  .mod-watermark_title {
    margin-bottom: 3rem;
  }
}
.mod-watermark_title .en {
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(4.9rem, 8.5vw, 12rem);
  letter-spacing: -0.01em;
  line-height: 1.1;
  color: rgba(255, 255, 255, 0.15);
  white-space: nowrap;
}
.mod-watermark_title .ja {
  position: absolute;
  left: 50%;
  bottom: 0.4em;
  transform: translateX(-50%);
  font-size: clamp(2.2rem, 3.13vw, 5rem);
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #fff;
  white-space: nowrap;
}
.mod-watermark_title.co_gray .en {
  color: rgba(0, 49, 83, 0.1);
}
.mod-watermark_title.co_gray .ja {
  left: 15%;
  transform: none;
  color: #222222;
}

/****************************/
/* mod-common_btn */
/* グラデ立体ピルボタン + 矢印 */
/****************************/
.mod-common_btn {
  max-width: 354px;
  width: 100%;
}
.mod-common_btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: clamp(7rem, 6vw, 9.6rem);
  padding: 0 5rem 0 4rem;
  background: linear-gradient(to bottom, #003171 0%, #0068B7 50%, #003171 100%);
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.25);
  font-size: clamp(1.4rem, 1.13vw, 1.8rem);
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  color: #fff;
  transition: all 0.3s;
}
.mod-common_btn a::after {
  position: absolute;
  right: 25px;
  top: 50%;
  content: "";
  width: 22px;
  height: 15px;
  background: url(../img/common/ico-arrow-white.svg) no-repeat center/contain;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.mod-common_btn a:hover {
  opacity: 0.7;
}
.mod-common_btn.co_cta {
  max-width: 435px;
}
.mod-common_btn.co_cta a {
  background: linear-gradient(to bottom, #1478C7 0%, #0068B7 100%);
  box-shadow: none;
  font-size: clamp(1.6rem, 1.56vw, 2.5rem);
}
.mod-common_btn.co_cta a:hover {
  background: #003153;
  opacity: 1;
}
.mod-common_btn.co_mail a::before {
  position: relative;
  display: inline-block;
  content: "";
  width: 20px;
  height: 20px;
  margin-right: 10px;
  background: url(../img/common/ico-mail.svg) no-repeat center/contain;
  vertical-align: -4px;
}
.mod-common_btn.ta_c {
  margin-left: auto;
  margin-right: auto;
}

/****************************/
/* mod-text_link */
/* テキスト+矢印の簡易リンク(カード内など) */
/****************************/
.mod-text_link a,
.mod-text_link .link_txt {
  position: relative;
  display: inline-block;
  padding-right: 34px;
  font-size: clamp(1.3rem, 1.4vw, 1.5rem);
  font-weight: 700;
  color: #fff;
  transition: all 0.3s;
}
.mod-text_link a::after,
.mod-text_link .link_txt::after {
  position: absolute;
  right: 0;
  top: 50%;
  content: "";
  width: 22px;
  height: 15px;
  background: url(../img/common/ico-arrow-white.svg) no-repeat center/contain;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.mod-text_link a:hover,
.mod-text_link .link_txt:hover {
  opacity: 0.7;
}
.mod-text_link a:hover::after,
.mod-text_link .link_txt:hover::after {
  right: -5px;
}

/****************************/
/* mod-tel */
/* 電話番号(Noto Serif Black) */
/****************************/
.mod-tel {
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: clamp(2.2rem, 2.6vw, 3.4rem);
  letter-spacing: 0;
  color: #003153;
}
.mod-tel small {
  margin-right: 0.8rem;
  font-size: 0.49em;
  vertical-align: 3px;
}
.mod-tel a {
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  color: inherit;
  pointer-events: none;
}
@media (max-width: 1024px) {
  .mod-tel a {
    pointer-events: auto;
  }
}
.mod-tel.co_white {
  color: #fff;
}

/****************************/
/* mod-pagetop */
/* ページトップへ戻る */
/****************************/
.mod-pagetop {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
  z-index: 900;
}
.mod-pagetop.show {
  opacity: 1;
  visibility: visible;
}
.mod-pagetop a {
  position: relative;
  display: block;
  width: 5.6rem;
  height: 5.6rem;
  background: linear-gradient(to bottom, #003171 0%, #0068B7 50%, #003171 100%);
  border-radius: 50%;
  box-shadow: 0 3px 10px rgba(0, 49, 83, 0.35);
  transition: all 0.3s;
}
.mod-pagetop a::after {
  position: absolute;
  left: 50%;
  top: 50%;
  content: "";
  width: 2.2rem;
  height: 1.5rem;
  background: url(../img/common/ico-arrow-white.svg) no-repeat center/contain;
  transform: translate(-50%, -50%) rotate(-90deg);
}
.mod-pagetop a:hover {
  opacity: 0.7;
}

/****************************/
/* mod-page_head */
/* 下層ページタイトル(先行定義) */
/****************************/
.mod-page_head {
  position: relative;
  padding: 90px 0;
  background: linear-gradient(135deg, #1F4880 0%, #003153 100%);
  overflow: hidden;
}
@media (max-width: 768px) {
  .mod-page_head {
    padding: 50px 0;
  }
}
.mod-page_head .en {
  display: block;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: clamp(3.4rem, 4.5vw, 6rem);
  letter-spacing: 0.08em;
  line-height: 1.2;
  color: #fff;
}
.mod-page_head .ja {
  display: block;
  margin-top: 5px;
  font-size: clamp(1.4rem, 1.5vw, 1.8rem);
  font-weight: 700;
  color: #fff;
}

/****************************/
/* mod-breadcrumb */
/* パンくず(先行定義) */
/****************************/
.mod-breadcrumb {
  padding: 15px 0;
}
.mod-breadcrumb ul {
  display: flex;
  flex-wrap: wrap;
}
.mod-breadcrumb ul li {
  font-size: 1.3rem;
}
.mod-breadcrumb ul li:not(:last-child)::after {
  content: ">";
  margin: 0 10px;
  color: #dddddd;
}
.mod-breadcrumb ul li a {
  color: #0068B7;
  transition: all 0.3s;
}
.mod-breadcrumb ul li a:hover {
  opacity: 0.7;
}

/*=============================================*/
/* media query  PC (min-width: 1024px)         */
/*=============================================*/
@media (min-width: 1024px) {
  .mod-common_title .en {
    padding: 0 10px 0 0;
  }
  .mod-common_title .en::before {
    top: 54%;
  }
  .mod-common_title .ja {
    margin-top: 0.4rem;
  }
  .mod-watermark_title {
    margin-bottom: 7rem;
  }
  .mod-watermark_title .ja {
    bottom: -0.5em;
  }
  .mod-common_btn a {
    padding-right: 3.5rem;
  }
  .mod-common_btn a::after {
    right: 1.4rem;
    width: 2.5rem;
    height: 2rem;
  }
}/*# sourceMappingURL=component.css.map */