@charset "UTF-8";
/* fit-img == 画像を中央寄せにする */
.fit-img {
  position: relative;
}
.fit-img img,
.fit-img video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* bg-img-block == コンテンツの背景を暗くする（背景画像がある場合のみ推奨） */
.bg-img-block {
  background-color: rgba(0, 0, 0, 0.5);
  background-blend-mode: darken;
}

/* br-pc、br-tab、br-sp == 各デバイスごとに改行位置を変更する */
.br-sp,
.br-tab {
  display: none;
}

.br-pc {
  display: block;
}

/* TABLET Only */
@media (min-width: 768px) and (max-width: 1199px) {
  .br-tab {
    display: block;
  }
}
/* SP Only */
@media (max-width: 767px) {
  .br-sp {
    display: block;
  }
  .br-pc {
    display: none;
  }
}

/*
  sp-text-left sp-text-center sp-text-right pc-text-left pc-text-center pc-text-right
  各デバイスごとにテキスト配置を指定できるようにする
*/
/* PC AND TABLET */
@media (min-width: 768px) {
  .pc-text-left {
    text-align: left;
  }
  .pc-text-center {
    text-align: center;
  }
  .pc-text-right {
    text-align: right;
  }
}

/* SP Only */
@media (max-width: 767px) {
  .sp-text-left {
    text-align: left;
  }
  .sp-text-center {
    text-align: center;
  }
  .sp-text-right {
    text-align: right;
  }
}

/* full-width == コンテンツ幅いっぱいに表示 */
/* full-width__inner == コンテンツ幅いっぱいに背景を表示 */
.container-fluid > .row.full-width {
  width: 100%;
  padding: 0;
}
.container-fluid > .row.full-width > div.column {
  padding: 0;
}
.container-fluid > .row.full-width > div.column img {
  width: 100%;
}
.container-fluid > .row.full-width__inner {
  width: 100%;
  justify-content: center;
}
.container-fluid > .row.useFadeinAnimation {
  overflow-x: hidden;
  overflow-y: clip;
}
.container-fluid > .row.useFadeinAnimation .fadein-bottom {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s, transform 0.5s;
}
.container-fluid > .row.useFadeinAnimation .fadein-bottom.active {
  opacity: 1;
  transform: translateY(0px);
}
.container-fluid > .row.useFadeinAnimation .fadein-left {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 1s, transform 0.5s;
}
.container-fluid > .row.useFadeinAnimation .fadein-left.active {
  opacity: 1;
  transform: translateX(0px);
}
.container-fluid > .row.useFadeinAnimation .fadein-right {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 1s, transform 0.5s;
}
.container-fluid > .row.useFadeinAnimation .fadein-right.active {
  opacity: 1;
  transform: translateX(0px);
}
.container-fluid > .row.useFadeinAnimation .fadein-top {
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 1s, transform 0.5s;
}
.container-fluid > .row.useFadeinAnimation .fadein-top.active {
  opacity: 1;
  transform: translateY(0px);
}

/* コンテンツの最大幅を指定 */
/* SP */
@media (max-width: 767px) {
  .container-fluid > .row.full-width__inner {
    padding: 0;
  }
  .container-fluid > .row.full-width__inner > div.column {
    padding: 0 15px;
  }
  .full-width__inner > div.full {
    max-width: 540px;
    margin: 0;
  }
  .full-width__inner > div.half,
  .full-width__inner > div.third,
  .full-width__inner > div.two-third,
  .full-width__inner > div.fourth,
  .full-width__inner > div.two-fourth {
    max-width: 540px;
  }
  .full-width__inner > div.fifth,
  .full-width__inner > div.two-fifth,
  .full-width__inner > div.sixth,
  .full-width__inner > div.two-sixth {
    max-width: 270px;
  }
}
/* Middle TAB */
@media (min-width: 768px) {
  .full-width__inner > div.full {
    max-width: 720px;
    margin: 0;
  }
  .full-width__inner > div.half {
    max-width: 360px;
  }
  .full-width__inner > div.third {
    max-width: 240px;
  }
  .full-width__inner > div.two-third {
    max-width: 480px;
  }
  .full-width__inner > div.fourth {
    max-width: 180px;
  }
  .full-width__inner > div.two-fourth {
    max-width: 540px;
  }
  .full-width__inner > div.fifth {
    max-width: 144px;
  }
  .full-width__inner > div.two-fifth {
    max-width: 576px;
  }
  .full-width__inner > div.sixth {
    max-width: 120px;
  }
  .full-width__inner > div.two-sixth {
    max-width: 600px;
  }
}
/* large TAB */
@media (min-width: 992px) {
  .full-width__inner > div.full {
    max-width: 960px;
    margin: 0;
  }
  .full-width__inner > div.half {
    max-width: 480px;
  }
  .full-width__inner > div.third {
    max-width: 320px;
  }
  .full-width__inner > div.two-third {
    max-width: 640px;
  }
  .full-width__inner > div.fourth {
    max-width: 240px;
  }
  .full-width__inner > div.two-fourth {
    max-width: 720px;
  }
  .full-width__inner > div.fifth {
    max-width: 192px;
  }
  .full-width__inner > div.two-fifth {
    max-width: 768px;
  }
  .full-width__inner > div.sixth {
    max-width: 160px;
  }
  .full-width__inner > div.two-sixth {
    max-width: 800px;
  }
}
/* PC */
@media (min-width: 1200px) {
  .full-width__inner > div.full {
    max-width: 1140px;
    margin: 0;
  }
  .full-width__inner > div.half {
    max-width: 570px;
  }
  .full-width__inner > div.third {
    max-width: 380px;
  }
  .full-width__inner > div.two-third {
    max-width: 760px;
  }
  .full-width__inner > div.fourth {
    max-width: 285px;
  }
  .full-width__inner > div.two-fourth {
    max-width: 855px;
  }
  .full-width__inner > div.fifth {
    max-width: 228px;
  }
  .full-width__inner > div.two-fifth {
    max-width: 912px;
  }
  .full-width__inner > div.sixth {
    max-width: 190px;
  }
  .full-width__inner > div.two-sixth {
    max-width: 950px;
  }
}
/* basic-line-table == 罫線付きのベーシックテーブルスニペット */
/* ruled-line-table == セル内テキストが1,2列目とも左寄せの新規テーブルスニペット */
/* ruled-line-table-biz == セル内テキストの1列目に見出し、2列目に内容を表示。1,2列目とも左寄せの新規テーブルスニペット */
/* ruled-line-table-color-row == セル内テキストの1列目に見出し、2列目に内容を表示。行に対して交互に背景色をつけた新規テーブルスニペット */
/* side-scroll-table == セル内テキストの折り返しタイミングで折り返さずセルの幅を固定し、x軸方向にスクロールが可能となる新規テーブルスニペット */
/* separate-item-table == ブロックを横並びに配置し、767px以下で画面幅最大の縦並びに配置変更される新規テーブルスニペット */
/* item-between-table == セル内テキストが1列目は左寄せ、2列目は右寄せの新規テーブルスニペット */
.basic-line-table {
  table-layout: fixed;
}
.basic-line-table tr {
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-color: rgba(0, 0, 0, 0.2);
}
.basic-line-table tr td {
  padding: 20px 0;
  line-height: 1.5;
}

.ruled-line-table {
  table-layout: fixed;
}
.ruled-line-table tr {
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-color: rgba(0, 0, 0, 0.2);
}
.ruled-line-table tr td {
  padding: 20px 0;
  line-height: 1.5;
}
.ruled-line-table tr td:first-child {
  width: 25%;
}
table.default.ruled-line-table-biz {
  table-layout: fixed;
  color: rgb(0, 0, 0);
  border-collapse: collapse;
  width: 100%;
}
table.default.ruled-line-table-biz tr {
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-color: rgb(0, 0, 0);
}
table.default.ruled-line-table-biz tr td {
  border: 1px solid;
  border-color: rgb(0, 0, 0);
}
table.default.ruled-line-table-biz tr td:first-child {
  width: 25%;
  background-color: rgb(237, 237, 237);
}
table.default.ruled-line-table-biz tr td:last-child {
  background-color: rgb(255, 255, 255);
}
table.default.ruled-line-table-color-row {
  table-layout: fixed;
  color: rgb(0, 0, 0);
  border-collapse: collapse;
  width: 100%;
}
table.default.ruled-line-table-color-row tr:nth-child(odd) td {
  background-color: rgb(237, 237, 237);
}
table.default.ruled-line-table-color-row tr:nth-child(even) td {
  background-color: rgb(255, 255, 255);
}
table.default.ruled-line-table-color-row tr td:first-child {
  width: 25%;
}
.side-scroll-table {
  overflow-x: auto;
}

table.default.side-scroll-table__table {
  width: 100%;
  white-space: nowrap;
  text-align: center;
  background-color: rgb(255, 255, 255);
  color: rgb(0, 0, 0);
}
table.default.side-scroll-table__table tr td {
  border: 1px solid;
  border-color: rgb(0, 0, 0);
}
table.default.side-scroll-table__table tr:first-child {
  background-color: rgb(237, 237, 237);
}

.separate-item-table {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.separate-item-table__item {
  border: 1px solid;
  border-right: none;
  border-color: rgb(0, 0, 0);
  width: 100%;
  flex-basis: auto;
  text-align: center;
  background-color: rgb(255, 255, 255);
  color: rgb(0, 0, 0);
}
.separate-item-table__item:last-child {
  border-right: 1px solid;
  border-color: rgb(0, 0, 0);
}

.separate-item-table__item-header {
  margin: 0;
  padding: 10px 5px;
  background-color: rgb(237, 237, 237);
}

.separate-item-table__item p {
  margin: 0;
  padding: 10px 5px;
  border-top: 1px solid;
  border-color: rgba(0, 0, 0, 0.2);
}

.item-between-table {
  table-layout: fixed;
}
.item-between-table tr td {
  padding: 3px 0px;
  line-height: 1.5;
}
.item-between-table tr td:last-child {
  text-align: right;
}

/* SP Only */
@media (max-width: 767px) {
  .ruled-line-table tr td {
    padding: 5px 0;
  }
  .ruled-line-table tr td:first-child {
    width: 100%;
    display: block;
    padding-top: 15px;
  }
  .ruled-line-table tr td:last-child {
    width: 100%;
    display: block;
    padding-bottom: 16px;
  }
  table.default.ruled-line-table-biz tr td {
    padding: 5px 12px;
  }
  table.default.ruled-line-table-biz tr td:first-child {
    width: 100%;
    display: block;
    border-top: none;
    border-bottom: none;
  }
  table.default.ruled-line-table-biz tr td:last-child {
    width: 100%;
    display: block;
    border-bottom: none;
  }
  table.default.ruled-line-table-color-row tr {
    padding: 0 12px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-color: rgba(0, 0, 0, 0.2);
  }
  table.default.ruled-line-table-color-row tr td {
    padding: 0 12px;
  }
  table.default.ruled-line-table-color-row tr td:first-child {
    width: 100%;
    display: block;
    padding-top: 5px;
  }
  table.default.ruled-line-table-color-row tr td:last-child {
    width: 100%;
    display: block;
    padding-bottom: 5px;
  }
  .separate-item-table {
    width: 100%;
    display: block;
    justify-content: space-between;
  }
  .separate-item-table__item {
    border-right: 1px solid;
    border-color: rgb(0, 0, 0);
    border-top: none;
  }
  .separate-item-table__item:first-child {
    border-top: 1px solid;
    border-color: rgb(0, 0, 0);
  }
  .item-between-table tr td {
    padding: 3px 0px;
  }
  .item-between-table tr td:first-child,
  .item-between-table tr td:last-child {
    width: 100%;
    display: block;
  }
}
/* vertical-text__all == 全画面サイズでテキストを縦書き表示 */
.vertical-text__all {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  width: 100%;
  display: flex;
  align-items: center;
}

/* vertical-text__responsive == PC、タブレットサイズ時のみテキストを縦書き表示 */
/* PC */
@media (min-width: 1200px) {
  .vertical-text__responsive {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    width: 100%;
    display: flex;
    align-items: center;
  }
}
/* TABLET Only */
@media (min-width: 768px) and (max-width: 1199px) {
  .vertical-text__responsive {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    width: 100%;
    display: flex;
    align-items: center;
  }
}
/* flow-element == フローコンテンツの擬似要素などを定義 */
.flow li:last-child .flow-element:after {
  content: none;
}
.flow .flow-element {
  position: relative;
}
.flow .flow-element div {
  width: 20px;
  height: 20px;
  background-color: #0356b1;
  border-radius: 100px;
  margin-top: 20px;
}
.flow .flow-element:before {
  content: "";
  height: 1px;
  background-color: #0356b1;
  position: absolute;
  width: 80px;
  top: 30px;
  right: 30px;
}
.flow .flow-element:after {
  content: "";
  height: 50%;
  width: 1px;
  background-color: #0356b1;
  position: absolute;
  top: 70px;
  left: 25px;
}

.iv2-hero-catchphrase .iv2-hero-catchphrase__text .iv2-hero__main-title,
.iv2-hero-catchphrase .iv2-hero-catchphrase__text .iv2-hero__sub-title {
  white-space: pre-line;
}

.zoomin {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 1s, transform 0.5s;
}
.zoomin.active {
  opacity: 1;
  transform: scale(1);
}

/* Editor CSS のオーバーライド */
p {
  font-size: 1rem;
}

.iv2-font__gothic {
  font-family: "Arial", "Helvetica", sans-serif;
}
.iv2-font__gothic h1,
.iv2-font__gothic h2,
.iv2-font__gothic h3,
.iv2-font__gothic h4,
.iv2-font__gothic h5 {
  font-family: "Arial", "Helvetica", sans-serif;
}
.iv2-font__serif {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN",
    "Yu Mincho", "MS PMincho", "Noto serif JP", serif;
}
.iv2-font__serif h1,
.iv2-font__serif h2,
.iv2-font__serif h3,
.iv2-font__serif h4,
.iv2-font__serif h5 {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN",
    "Yu Mincho", "MS PMincho", "Noto serif JP", serif;
}

/* iOS17系にてレイアウトに横揺れ発生, 横揺れ対象のクラスにてはみ出す要素に対策を施す */
/*
.container-fluid > .row.full-width,
.container-fluid > .row.full-width__inner,
.iv2-hero,
.iv2-section-news,
.iv2-top-form {
  overflow-x: hidden;
}
*/
/* iOS17より擬似要素の content 属性がオブジェクトとして認識されるようになったため、値を変更しオーバーライド */
.container-fluid .clearfix:before,
.container-fluid .clearfix:after {
  content: "";
}

/* Google Chrome(125.0.6422.113) にて再現されたDテーマのロゴ画像がhover時に移動してしまう件の対策 */
.iv2-global .iv2-global__items .iv2-global__logo .iv2-global__link {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Twitter -> X のアイコン変更 */
.ion-social-twitter:before,
.fa-twitter:before,
.fa-twitter-square:before {
  content: "𝕏";
  font-family: unset;
  font-weight: bold;
}

/* Twitter -> X へのカラー変更 */
.iv2-article .iv2-sns-share__btn .iv2-sns-share__btn--link.twitter-share {
  background: #000;
}

/* モバイル端末でフローティングバナーの位置を調整 */
@media (max-width: 767px) {
  .iv2-floating-banner.has-bottom-nav {
    bottom: calc(env(safe-area-inset-bottom) + 60px) !important;
  }
}
