@charset "UTF-8";
/* ====================================
  クランプ関数読み込み
==================================== */
/* Safari 10.1〜12.0 のclamp()バグ対策 */
* {
  min-height: 0vw;
  min-height: 0;
}

/* /ir/library/integrated-report/css/style.css */
/* ====================================
  general
==================================== */
@media (width >= 768px) {
  h4 {
    margin: 30px 0;
  }
  #back-number {
    padding-bottom: 60px;
  }
  .border-title {
    padding: 60px 0 20px;
  }
}
/* ====================================
  integrated-report
==================================== */
#pdf_separate h4 {
  margin: 0 0 10px;
  font-size: 22px;
}

/* ====================================
  html
==================================== */
html {
  font-feature-settings: "palt";
}
html .img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
html .top-content {
  overflow: hidden;
}

/* ====================================
  メインビジュアル top-main-visual
==================================== */
section.od-message-main-visual {
  padding-top: clamp(0.1875rem, 0.1571601942rem + 0.1294498382vw, 0.3125rem);
}

.od-message-main-visual {
  position: relative;
  background-color: #e1efff;
}
.od-message-main-visual::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 10px;
  background-color: #fff;
  content: "";
}
.od-message-main-visual__container {
  position: relative;
  width: 100%;
  aspect-ratio: 1920/833;
  margin: 0 auto;
}
.od-message-main-visual__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.od-message-main-visual__title {
  position: relative;
  z-index: 5;
  display: flex;
  width: 61.56%;
  aspect-ratio: 1057/461;
  transform: translateX(clamp(0.625rem, -1.9993932039rem + 11.1974110032vw, 11.4375rem)) translateY(clamp(0.625rem, -0.8919902913rem + 6.4724919094vw, 6.875rem));
}
.od-message-main-visual__title h2 {
  display: block;
  width: 100%;
  height: 100%;
  font-weight: 600 !important;
  margin: unset;
}
.od-message-main-visual__title-text_title {
  color: #004096;
  font-size: clamp(0.875rem, 0.5412621359rem + 1.4239482201vw, 2.25rem);
  line-height: 2.5;
  letter-spacing: 0.05em;
}
.od-message-main-visual__title-text_message {
  color: #004096;
  font-size: clamp(1rem, 0.4235436893rem + 2.4595469256vw, 3.375rem);
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.od-message-main-visual__title-text_position {
  display: inline-block;
  font-size: clamp(0.75rem, 0.5072815534rem + 1.0355987055vw, 1.75rem);
  line-height: 1.2;
  letter-spacing: 0.25em;
}
.od-message-main-visual__title-text_name {
  display: inline-block;
  font-size: clamp(0.875rem, 0.359223301rem + 2.2006472492vw, 3rem);
  line-height: 2.5;
  letter-spacing: 0.15em;
  transform: translateY(calc(-1 * clamp(0.625rem, 0.4126213592rem + 0.9061488673vw, 1.5rem)));
}
.od-message-main-visual__title-text_namekana {
  display: inline-block;
  font-size: clamp(0.75rem, 0.5072815534rem + 1.0355987055vw, 1.75rem);
  line-height: 2.5;
  letter-spacing: 0.05em;
  transform: translateY(calc(-1 * clamp(0.625rem, 0.4126213592rem + 0.9061488673vw, 1.5rem)));
}

/* ====================================
  od-background-wrap-01
==================================== */
.od-message-background-wrap-01 {
  position: relative;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  transform: translateY(calc(-1 * clamp(8.125rem, 4.1808252427rem + 16.8284789644vw, 24.375rem)));
}
@media (width <= 1024px) {
  .od-message-background-wrap-01 {
    transform: translateY(calc(-1 * clamp(6.25rem, 3.8392857143rem + 6.6964285714vw, 8.125rem)));
  }
}
@media (width <= 575px) {
  .od-message-background-wrap-01 {
    transform: translateY(-120px);
  }
}
.od-message-background-wrap-01::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  display: block;
  width: 108.59%;
  height: 100%;
  margin: auto;
  background-image: url("../../img/subbg_background-wrap-01--front.png");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
@media (width > 1920px) {
  .od-message-background-wrap-01::before {
    width: 190vw;
    transform: translateX(-70%) translateY(10px);
  }
}
@media (width <= 1289px) {
  .od-message-background-wrap-01::before {
    width: 200vw;
    transform: translateX(-70%);
  }
}
@media (width <= 1023px) {
  .od-message-background-wrap-01::before {
    width: 150vw;
    transform: translateX(-60%);
  }
}
@media (width <= 767px) {
  .od-message-background-wrap-01::before {
    width: 220vw;
    transform: translateX(-69.5%);
  }
}
@media (width <= 575px) {
  .od-message-background-wrap-01::before {
    width: 200vw;
    transform: translateX(-41.5%) rotate(-1.5deg);
  }
}
@media (width <= 450px) {
  .od-message-background-wrap-01::before {
    transform: translateX(-40.5%);
  }
}
@media (width <= 413px) {
  .od-message-background-wrap-01::before {
    width: 650px;
    transform: translateX(-40%);
  }
}
@media (width <= 400px) {
  .od-message-background-wrap-01::before {
    transform: translateX(-41%);
  }
}
@media (width <= 374px) {
  .od-message-background-wrap-01::before {
    transform: translateX(-40%);
  }
}
.od-message-background-wrap-01::after {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-47%);
  z-index: -2;
  display: block;
  width: 109.69%;
  aspect-ratio: 2106/639;
  margin: 0.8% auto 0;
  background-image: url("../../img/bg_background-wrap-01--back.png");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}
@media (width <= 1289px) {
  .od-message-background-wrap-01::after {
    top: 1%;
    width: 2000px;
  }
}
@media (width <= 1023px) {
  .od-message-background-wrap-01::after {
    top: 0.2%;
    width: 159vw;
    transform: translateX(-38%);
  }
}
@media (width <= 767px) {
  .od-message-background-wrap-01::after {
    width: 1100px;
  }
}
@media (width <= 575px) {
  .od-message-background-wrap-01::after {
    top: 1.7%;
    width: 900px;
    transform: translateX(-36%);
  }
}
@media (width <= 413px) {
  .od-message-background-wrap-01::after {
    width: 750px;
  }
}

/* ====================================
  od-background-wrap-02
==================================== */
.od-message-background-wrap-02 {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #eaf6fd; /* フォールバック */
  background-image: linear-gradient(to bottom, #eaf6fd 0%, #eaf6fd 80%, #ffffff 100%);
  width: 100%;
  transform: translateY(calc(-1 * clamp(11.25rem, 6.0922330097rem + 22.0064724919vw, 32.5rem)));
  margin-bottom: calc(-1 * clamp(6.25rem, 0.182038835rem + 25.8899676375vw, 31.25rem));
}

/* ====================================
  社外取締役メッセージ
==================================== */
.c-01 {
  margin-top: clamp(9.375rem, 6.947815534rem + 10.355987055vw, 19.375rem);
  padding-bottom: 0 !important;
}

.c-02 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.od-message-content__container {
  width: 96%;
  max-width: 1443px;
  margin: 0 auto;
  background-color: #fff;
  padding-top: clamp(1.25rem, 1.0983009709rem + 0.6472491909vw, 1.875rem);
}
.od-message-content__content {
  width: 100%;
  margin-top: clamp(1rem, 0.7572815534rem + 1.0355987055vw, 2rem);
  margin-inline: auto;
  padding-inline: clamp(1.25rem, -0.2669902913rem + 6.4724919094vw, 7.5rem);
}
.od-message-content__content p {
  margin-bottom: 1.5em;
}
.od-message-content .od-layered-image {
  position: relative;
  width: 100%;
  height: clamp(16.25rem, 12.427184466rem + 16.3106796117vw, 32rem);
  margin-top: clamp(1rem, 0.2718446602rem + 3.1067961165vw, 4rem);
  margin-bottom: clamp(1rem, 0.2718446602rem + 3.1067961165vw, 4rem);
}
.od-message-content .od-layered-image .od-message-content__content-layer {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(clamp(1.25rem, -0.9507042254rem + 9.3896713615vw, 7.5rem), -50%);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(10.625rem, 4.6830985915rem + 25.3521126761vw, 27.5rem);
  height: clamp(5.625rem, 2.764084507rem + 12.20657277vw, 13.75rem);
  font-size: clamp(0.75rem, 0.5299295775rem + 0.9389671362vw, 1.375rem);
  line-height: 1.6;
  background-color: #004096;
  color: #fff;
  font-weight: bold;
}
@media (width <= 450px) {
  .od-message-content .od-layered-image .od-message-content__content-layer {
    line-height: 1.5;
  }
}
.od-message-content .od-layered-image .od-message-content__content-layer_inner {
  width: clamp(10rem, 7.139084507rem + 12.20657277vw, 18.125rem);
  height: clamp(5rem, 3.7676056338rem + 5.2582159624vw, 8.5rem);
}
.od-message-content .od-layered-image .od-message-content__content-layer_inner2 {
  width: clamp(10rem, 6.2588028169rem + 15.9624413146vw, 20.625rem);
  height: clamp(5rem, 3.6795774648rem + 5.6338028169vw, 8.75rem);
}
.od-message-content .od-layered-image .od-message-content__content-layer2 {
  width: 100%;
  position: absolute;
  top: 49%;
  left: 0;
  transform: translate(clamp(1.25rem, -0.9507042254rem + 9.3896713615vw, 7.5rem), -50%);
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(12.5rem, 7.2183098592rem + 22.5352112676vw, 27.5rem);
  height: clamp(5.625rem, 2.764084507rem + 12.20657277vw, 13.75rem);
  font-size: clamp(0.75rem, 0.5299295775rem + 0.9389671362vw, 1.375rem);
  line-height: 1.6;
  background-color: #004096;
  color: #fff;
  font-weight: bold;
}
@media (width <= 450px) {
  .od-message-content .od-layered-image .od-message-content__content-layer2 {
    line-height: 1.5;
    top: 73%;
    transform: translate(clamp(1.25rem, -0.9507042254rem + 9.3896713615vw, 7.5rem), -73%);
  }
}
.od-message-content .od-layered-image .od-message-content__content-layer2_inner {
  width: clamp(11.25rem, 7.948943662rem + 14.0845070423vw, 20.625rem);
  height: clamp(5rem, 3.6795774648rem + 5.6338028169vw, 8.75rem);
}
.od-message-content .od-layered-image img {
  position: absolute;
  margin: unset;
  width: clamp(20rem, 10.1188380282rem + 42.1596244131vw, 48.0625rem);
  aspect-ratio: 769/512;
  transform: translate(clamp(0rem, -7.3943661972rem + 31.5492957746vw, 21rem), 0);
}
.od-message-content .od-message-image {
  margin-block: clamp(1rem, -0.0563380282rem + 4.5070422535vw, 4rem);
}

.content-tittle {
  width: 100%;
  text-align: center;
  color: #004098;
}
.content-tittle h3 {
  margin: 0 auto;
  font-size: clamp(1.5rem, 1.2876213592rem + 0.9061488673vw, 2.375rem);
}
.content-tittle::after {
  content: "";
  display: block;
  margin: 0 auto;
  height: 4px;
  width: min(450px, 90%);
  background-color: currentColor;
  margin-block: 1.2em;
}

.content-subtitle {
  width: 100%;
  margin-block: clamp(0.25rem, 0.1179577465rem + 0.5633802817vw, 0.625rem);
}
.content-subtitle h4 {
  width: fit-content;
  padding-inline: clamp(0.5rem, 0.411971831rem + 0.3755868545vw, 0.75rem);
  padding-block: clamp(0.125rem, 0.1029929577rem + 0.0938967136vw, 0.1875rem);
  font-size: clamp(1rem, 0.911971831rem + 0.3755868545vw, 1.25rem);
  color: #fff;
  background-color: #004096;
  letter-spacing: 0.1em;
  margin: unset;
}

.content-text {
  font-size: clamp(0.875rem, 0.8143203883rem + 0.2588996764vw, 1.125rem);
  line-height: clamp(1.25rem, 1.1893203883rem + 0.2588996764vw, 1.5rem);
  letter-spacing: clamp(0rem, 0rem + 0vw, 0rem);
  color: #323232;
}

.image-flex {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.image-flex .img-box {
  /* --w の比で幅を配分（比率維持）*/
  flex: var(--w, 1) 1 0; /* grow = 比率, shrink = 1, basis = 0 */
  min-width: 0; /* 画像の固有幅でハミ出さないように */
}
.image-flex .img-box img {
  display: block;
  width: 100%; /* 親の幅に合わせて縮む */
  height: auto; /* 縦横比維持 */
}
@media (width <= 767px) {
  .image-flex {
    flex-wrap: wrap;
  }
  .image-flex .img-box {
    flex: 0 0 100%;
  }
}

.is-sp {
  display: none;
}
@media (width <= 767px) {
  .is-sp {
    display: block;
  }
}

.is-pc {
  display: block;
}
@media (width <= 767px) {
  .is-pc {
    display: none;
  }
}

.content-issue {
  margin-bottom: clamp(1rem, 0.6478873239rem + 1.5023474178vw, 2rem);
}

/* カラーと余白は調整しやすいように変数化 */
:root {
  --accent: #004098; /* 濃い青（文字・縦線） */
  --bg: #EAF3FB; /* 背景の淡い水色 */
  --pad: 24px; /* コンテナ内パディング */
}

/* コンテナ */
.env-block {
  display: grid;
  grid-template-columns: 246px 1fr; /* 左見出し / 右本文 */
  align-items: center;
  background: var(--bg);
  padding: var(--pad);
  border-radius: 6px;
}

/* 見出し（縦書き） */
.env-block > dt {
  color: var(--accent);
  font-size: clamp(1rem, 0.823943662rem + 0.7511737089vw, 1.5rem);
  font-weight: 700;
  text-orientation: upright;
  letter-spacing: 0.08em;
  line-height: 1.7;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* 本文。左に縦の仕切り線（太＋細の2本） */
.env-block > dd {
  position: relative;
  margin: 0; /* UA デフォルトを打ち消し */
  line-height: 1.9;
  font-size: clamp(0.875rem, 0.786971831rem + 0.3755868545vw, 1.125rem);
  color: #333;
  padding-left: 32px; /* 線から本文までの余白 */
}

/* 太い線 */
.env-block > dd::before {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 12px; /* 細線との間隔 */
  width: 4px;
  background: var(--accent);
  border-radius: 2px;
}

/* スマホでは1カラム＋横書きに */
@media (max-width: 640px) {
  .env-block {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .env-block > dt {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    text-align: center;
  }
  .env-block > dd {
    padding-left: 24px; /* 線と本文の距離を少し詰める */
  }
  .env-block > dd::before {
    left: 10px;
  }
  .env-block > dd::after {
    left: 0;
  }
}

/*# sourceMappingURL=style.css.map */
