/*
Theme Name: gciホームページ
Theme URI:
Description:
Author:
Tags:
Version: 1.0.0
*/

@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');
/***** 共通 *****/
html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  font-size: 100%;
}
body{
    font-family: "Jost", "Noto Sans JP", sans-serif;
    font-style: normal;
    color:#202128;
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
html, body {
    height: 100%;
}
html{
    margin-top: 0 !important;
}
img{
    width: 100%;
}
.pc{
  display: block;
}
.sp{
  display: none;
}
.main_title{
    font-style: normal;
    font-weight: 700;
    font-size: clamp(2.5rem, 7.3vw, 3.4rem);
    margin: 0;
    color:#055BB7;
}
.main_title_w{
  color: #ffffff;
}
.sub_title{
    display: block;
    font-family: "Jost", sans-serif;
    font-weight: 500;
    font-size: clamp(0.95rem, 3.5vw, 1rem);
    color: #505050;
    position: relative;
    padding-left: 18px;
    margin-bottom: 5px;
}
.sub_title::before{
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 10px;
    height: 10px;
    margin: auto;
    border-radius: 50%;
    background-color: #055BB7;
    content: "";
}
.title_gci{
    font-size: clamp(2.7rem, 8.1vw, 3.8rem);
    font-weight: 600;
}
.common_contets{
    max-width: 1040px;
    margin: auto;
    position: relative;
    z-index: 4;
}
.common_box{
    padding-left: clamp(23px, 5vw, 90px);
    margin-top: clamp(20px, 5vw, 45px);
}
.common_btn{
    display: inline-flex;
    align-items: center;
    font-size: clamp(1rem, 2vw, 1.1rem);
    font-weight: 700;
    transition: .3s;
}
.common_btn:hover{
    color: #055BB7;
}
.common_btn_w{
  color: #ffffff;
}
.common_circle{
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background-color: #202128;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden; /* ← 画像がはみ出すときに必要 */
}
.common_circle_w{
    background-color: #ffffff;
}
.common_circle img{
    max-width: 24px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}

/* ホバー時にアニメーション */
.common_btn:hover .common_circle img {
  animation: arrowMove 0.8s ease-in-out;
}
@keyframes arrowMove {
  0% {
    transform: translate(-50%, -50%);
  }
  40% {
    transform: translate(150%, -50%); /* 右へ抜ける */
  }
  41% {
    transform: translate(-200%, -50%); /* 左に一瞬で戻る */
  }
  100% {
    transform: translate(-50%, -50%); /* 中央に戻る */
  }
}
.common_btn:hover .common_circle{
    background-color: #055BB7;
}
.common_btn_box{
    text-align: right;
    margin-top: 13px;
}
.btn_off{
    display: block;
    transition: .3s;
}
.common_btn_w:hover .btn_off{
    display: none;
}
.btn_on{
    display: none;
    transition: .3s;
}
.common_btn_w:hover .btn_on{
    display: block;
}
.top_content{
    margin-bottom: 90px;
}
.movie-bg,
.wave-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; /* 背景クリックできないように */
    z-index: -1; /* コンテンツより下 */
    overflow: hidden;
}
.movie-bg {
    background: #f7f7f7;
    height: calc(100lvh - 56px);
    position: fixed;
    width: 100%;
}
.movie-bg {
    width: 100%;
    justify-content: flex-start; 
    align-items: center;
    box-sizing: border-box;
}
.movie-bg video {
    object-fit: cover;
    height: 90%;
    width: 100%;
    position: absolute;
    /* left: 0; */
    right: -15%;
}
.video_wrap{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}
.fv_area{
    width: 100%;
    height: 100%;
    position: relative;
}
.top_title_box{
  position: absolute;
  z-index: 5;
  top: 50%; /* ← 上下中央の基準 */
  left: 0;  /* ← 左寄せ */
  transform: translateY(-40%); /* ← 上下中央揃え */
  padding-left: 7%; /* ← 左の余白 */
  text-align: left;
  box-sizing: border-box;
}
/* 新しく追加するCSS */
.top_title_box.hidden {
    opacity: 0; /* 透明にして非表示 */
    pointer-events: none; /* クリック無効化 */
    transition: opacity 0.5s ease; /* スムーズに消えるアニメーション */
}
.wave-bg,.wave-bg_f {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}
.wave-bg.visible {
  opacity: 1;
  transition: 1.5s; /* 出現時のスピード */
}
.wave-bg.bg-blur {
  filter: blur(4px);
}
.wave-bg svg {
  width: 120%;
  height: 100%;
  position: relative;
  left: -9%;
}
.wave-bg path {
  stroke-width: 1;
  opacity: 0.17;
  animation: waveMove 12s ease-in-out infinite alternate;
}
.wave-bg path {
  animation-duration: 10s;
  animation-delay: calc(var(--i, 0) * -0s);
}
.wave-bg path:nth-child(even) {
  animation-duration: 10s;
  animation-delay: calc(var(--i, 0) * -0.05s);
}
.wave-bg .wave_img{
    opacity: 0.17;
    animation: waveMove 5s ease-in-out infinite alternate;
}
.wave-bg .wave_img.wave_img_subpage{
    opacity: 0.1;
}
/* 非表示は display:none を使わずにコントロール */
.wave-bg.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 300ms ease, visibility 300ms;
}

/* 表示状態 */
.wave-bg {
  opacity: 1;
  visibility: visible;
  transition: opacity 300ms ease;
}

/* top_title_box の隠し方（既存の .hidden を使っているなら合わせて調整） */
.top_title_box.hidden {
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
}
.wave-bg.wave-bg_f{
    filter: blur(4px);
    opacity: 0.35;
}

@keyframes waveMove {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(6px) rotate(2deg);
  }
  100% {
    transform: translateY(-6px) rotate(-1deg);
  }
}

#main-contents {
  position: relative;
}
#mv {
  height: 82vh;
  position: relative;
}
#about {
  background: linear-gradient(to right, rgb(236 245 250 / 90%) 0%, rgb(236 245 250 / 80%) 53%, rgb(236 245 250 / 30%) 100%);
  backdrop-filter: blur(3px);
  margin-top: 0;
}
#topics {
  background: #e9eef1;
  padding-right: 0;
  overflow: hidden;
}
#funds {
  background: #87b4c6;
}
#news {
  background: #c2d8e2;
}
#footer {
  background: #f2f7fa;
  padding: 60px 90px 20px;
}


.mc-style {
  position: relative;
  /* height: 100vh; ここは中身が入ったら不要 */
  border-radius: 80px 80px 0 0;
  padding: 90px;
  padding-bottom: 10vh;
  margin-top: -10vh;
  z-index: 1;
}
.mc-st {
  position: sticky;
  /* top: -10vh; */
  top: 0vh; 
}
br.sp_br{
  display: none;
}
/* まだ前のセクションが見終わっていないときは sticky 無効 */
.mc-st.disabled-sticky {
  position: static !important;
}

.wave-deco{
    opacity: 0.3;
}
@media screen and (max-height: 800px) and (min-width: 500px) {
  .mc-st {
    position: inherit !important;
  }
}

@media (max-width: 768px) {
    .mc-style {
      padding: 60px;
      padding-right: clamp(25px, 4.6vw, 60px);
      padding-left: clamp(25px, 4.6vw, 60px);
        border-radius: 40px 40px 0 0;
    }
    .sub_title::before {
      width: 9px;
      height: 9px;
    }
    .sub_title {
      font-size: 1.2rem;
      padding-left: 18px;
      margin-bottom: 5px;
    }
    br.sp{
      display: none;
    }
    .pc{
      display: none;
    }
    .sp{
      display: block;
    }
    br.sp_br{
      display: block;
    }
    .video_wrap {
        position: absolute;
        top: 0;
        width: 100%;
        height: 100%;
    }
    .video_wrap::after {
        content: "";
        background: #F5F5F7;
        background: linear-gradient(0deg, rgba(245, 245, 247, 1) 0%, rgba(245, 245, 247, 0) 50%);
        display: block;
        width: 100%;
        height: 60vh;
        position: absolute;
        top: 0;
    }
    .movie-bg {
        background: #f5f5f7;
    }
    .movie-bg video {
        object-fit: cover;
        height: 55%;
        width: 100%;
        position: absolute;
        left: 0;
        right: 0;
    }

    .top_title_box {
        margin: 0 auto;
        display: block;
        top: 55%;
        left: 50%;
        transform: translate(-50%, -50%);
        padding: 0px 25px;
        bottom: 49%;
        width: 100%;
        white-space: nowrap;
    }
    #mv {
        height: 82vh;
    }
    .main_title {
        font-size: 3rem;
    }
    .wave-bg svg {
        width: 150%;
        left: -19%;
    }
    .wave-bg,.wave-bg_f{
        height: 78vh;
        max-height: 680px;
    }
}

@media (max-width: 480px){
    .top_title_box {
        width: 90%;
        white-space: inherit;
        padding: 0;
        top: 64%;
    }
    #mv {
        height: 82vh;
    }
    .movie-bg video {
        top: 4vh;
    }
    .wave-bg svg {
        width: 270%;
        left: -100%;
    }
    .main_title {
        font-size: 2.55rem;
    }
    .sub_title{
        display: flex;
        align-items: center;
        font-size: 0.95rem;
        padding-left: 14px;
        margin-bottom: 2px;
        line-height: normal;
    }
    .sub_title::before {
        width: 7px;
        height: 7px;
    }
    .wave-bg, .wave-bg_f {
        max-height: 510px;
    }
}
@media (max-width: 375px) {
    #mv {
        height: 86vh
    }
    .wave-bg, .wave-bg_f {
        max-height: 360px;
    }
}

/* メインビジュアル */
.top_title{
    font-size: 4.9rem;
    font-weight: 700;
}
.top_title_emphasis{
    font-size: 5.6rem;
    color: #055BB7;
}
.top_fv_text{
    font-size: 1.13rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 1.1px;
    margin-top: clamp(16px, 3vw, 20px);
}
.top_title_indent {
  display: inline-block;
  margin-left: 2.3em; /* ← ここで「2文字分」右にずらす */
}
.top_wave-deco{
    opacity: 0.6;
}
.top_funds_wave-deco{
    opacity: 0.6;
    mix-blend-mode: multiply;
}
.top_news_wave-deco{
    opacity: 0.6;
}
.top_en_wave-deco {
    opacity: 0.3;
    height: 100%;
    max-height: inherit;
}
@media (max-width: 768px) {
  .top_title {
    font-size: 3.2rem;
    }
    .top_title_emphasis {
        font-size: 3.95rem;
    }
    .top_fv_text {
        font-size: 4.3vw;
        white-space: break-spaces;
    }
}
@media (max-width: 480px) {
    .top_title {
        font-size: 2.4rem;
    }
    .top_title_emphasis {
        font-size: 3.83rem;
    }
    .top_en_wave-deco {
        max-height: 360px;
    }
    .top_title_indent{
        margin-left: 2.11em;
    }
}
@media (max-width: 375px) {
    .top_title_indent {
        margin-left: 1.71em;
    }
}
/* GCIについて */
.body-fixed {
    overflow: hidden;
}
.about_flex{
    display: flex;
    align-items: center;
    width: 100%;
}
.about_text_area {
    width: 45%;
}
.about_text{
    font-weight: 500;
    font-size: clamp(0.95rem, 1.4vw, 1rem);
    line-height: 1.7;
}
.about_youtube{
    padding-right: 4%;
    width: 56%;
}
.youtube-wrapper{
    position: relative;
    width: auto;         /* 必要に応じて調整 or max-width:100% */
    max-width: 100%;
    aspect-ratio: 16/9;
    cursor: pointer;
    overflow: hidden;
    background: #000;
}
.youtube-thumb{
    width:100%;
    height:100%;
    object-fit: cover;
    display:block;
    user-select: none;
    -webkit-user-drag: none;
}
.youtube-play{
    position: absolute;
    left:50%;
    top:50%;
    transform: translate(-50%,-50%);
    width: 70px;
    height: 70px;
    border:0;
    background: url('../images/play_button.png') no-repeat center/contain;
    background-color: transparent;
    pointer-events: none; /* 親のクリックで再生されるように */
}

/* --- ポップアップ全体 --- */
.youtube-popup {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
}

/* --- コンテンツエリア --- */
.youtube-popup-content {
    position: relative;
    width: 90%;
    max-width: 960px;
    background: #000;
    border-radius: 8px;
}

/* iframeを16:9比率で全幅に */
.youtube-iframe-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 比率 */
}
.youtube-iframe-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* ✕ 閉じるボタン */
.youtube-close {
    position: absolute;
    top: -35px;
    right: -25px;
    font-size: 37px;
    color: #fff;
    cursor: pointer;
    line-height: 1;
    z-index: 10;
}

.youtube-close:hover {
    color: #ccc;
}

@media (max-width: 768px) {
    .youtube-popup-content {
        width: 85%;
    }
    .youtube-close {
        font-size: 28px;
        top: -32px;
        right: 0px;
    }
    .youtube-play {
        width: 52px;
        height: 52px;
    }
    .common_circle {
        width: 58px;
        height: 58px;
    }
    .common_circle img {
        max-width: 21px;
    }
    .about_flex {
        flex-direction: column-reverse;
    }
    .about_youtube {
        padding-right: 0;
        width: 100%;
        margin-top: clamp(35px, 7.2vw, 45px);
    }
    .about_text_area {
        width: 100%;
    }
    .about_text {
        font-size: 1rem;
    }
}

/* トピックス */
.topics {
  position: relative;
  padding: 60px 0;
  overflow: hidden;
}
.topics-innner{
    max-width: 1200px;
    margin: 0 auto;
    margin-right: 0;
    overflow: hidden;
    position: relative;
    z-index: 4;
}
.topics-title {
  font-size: 28px;
  color: #1b4ba0;
  margin-left: 40px;
}
.topics-slider {
  width: 100%;
}
.swiper-slide {
    width: 100%;
    height: auto;
    margin-right: 30px;
    display: block;
    /* max-width: 340px; */
    position: relative;
    flex-shrink: 0;
    width: 340px; /* 固定幅で余白ずれを防止 */
    width: auto;
  transition: .3s;
}
.swiper-slide:last-child {
  margin-right: 0; /* 最後の余白をなくす */
}
.swiper-slide:hover .topic-title{
    color: #055BB7;
} 
.topic-card {
  border-radius: 12px;
  overflow: hidden;
  /* max-width: 340px; */
}
.topic-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.topic-content {
    padding: 16px 0 0;
}
.topic-tag {
    display: inline-block;
    color: #fff;
    padding: 7px 10px;
    font-size: 0.7rem;
    font-weight: 700;
    border-radius: 10px 0 10px 0;
    margin-bottom: 8px;
    position: absolute;
    top: 0;
    left: 0;
}
.topic-tag_blue{
    background: #055BB7;
}
.topic-tag_pp{
  background: #8C77E5;
}
.topic-tag_or{
  background: #F4873D;
}
.topic-title {
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 10px;
    line-height: 1.6;
    transition: .3s;
}
.topic-text {
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.6;
    transition: .3s;
}
.swiper-slide:hover .topic-text{
    opacity: 0.7;
} 
.topic-btn {
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    font-size: 1rem;
    text-decoration: none;
    font-weight: 600;
}
.topic-circle {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 10px;
    transition: .3s;
    overflow: hidden;
}
.topic-circle img {
    max-width: 12px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.swiper-slide:hover .topic-circle img {
  animation: arrowMove 0.8s ease-in-out;
}
.swiper-slide:hover .topic-btn {
  color: #055BB7;
}
.swiper-wrapper{
  display: flex;
}
.topic_btn_box{
  text-align: right;
}
.swiper-button-prev, .swiper-button-next {
  color: #055BB7;
}

/* 右端を少し切らす */
.swiper {
  overflow: visible;
  padding-right: 6vw; /* 右を少し見切れさせる量（調整可） */
}
  .swiper-controller {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: left;
    margin-top: 3.2rem;
  }
  .swiper-pagination {
    margin-right: auto;
  }


/* 親ははみ出し許可（必要なら） */
.swiper-button-prev,
.swiper-button-next {
  height: 40px;
  width: 40px;
  background: #fff;
  position: relative;
  border-radius: 50%;
  border: solid 1px;
  overflow: hidden; /* ← 重要：はみ出しを見せたいなら visible に */
  transition: .3s;
}

/* 擬似要素（中央寄せ）*/
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  display: block;
  width: 15px;
  height: 11px;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.6s ease-in-out;
}

/* 画像 */
.swiper-button-prev::after { 
    background-image: url('../images/arrow_blue_prev.png'); 
}
.swiper-button-next::after { 
    background-image: url('../images/arrow_blue_next.png'); 
}
/* Swiper next ボタンのホバー時 */
.swiper-button-next:hover::after {
  animation: nextArrowMove 0.8s ease-in-out;
}
/* 次へ矢印：右に抜けて左から戻るアニメーション */
@keyframes nextArrowMove {
  0% {
    transform: translate(-50%, -50%);
  }
  40% {
    transform: translate(150%, -50%); /* 右へ抜ける */
  }
  41% {
    transform: translate(-200%, -50%); /* 左に瞬間移動（リセット） */
  }
  100% {
    transform: translate(-50%, -50%); /* 真ん中に戻る */
  }
}

/* ホバー時にアニメーション開始 */
.swiper-button-prev:hover::after {
  animation: prevArrowMove 0.8s ease-in-out;
}
@keyframes prevArrowMove {
  0% {
    transform: translate(-50%, -50%);
  }
  40% {
    transform: translate(-150%, -50%); /* 左へ抜ける */
  }
  41% {
    transform: translate(200%, -50%); /* 右へ瞬間移動（リセット） */
  }
  100% {
    transform: translate(-50%, -50%); /* 中央に戻る */
  }
}


/* 画像サイズ調整 */

.swiper-slide img {
  height: auto;
  width: 100%;
  border-radius: 10px;
  aspect-ratio: 340 / 200;
  object-fit: cover;
}
.swiper-button-next svg, .swiper-button-prev svg{
    display: none;
}
.swiper-button_box{
  display: flex;
  gap: 22px;
  align-items: center;
}
.swiper-scrollbar{
  height: 4px !important;
  width: 400px !important;
  background: #D6D6D6;
  bottom: 8px !important;
}
.swiper-scrollbar-drag {
  background: #055BB7;
}
.swiper-scrollbar_box{
    position: relative;
}
.topics_btn_box{
    max-width: 1040px;
    margin-top: 25px !important;
    margin-right: 0;
    transform: translateX(30px);
    margin: auto;
    padding-right: 90px;
    position: relative;
    z-index: 4;
}
#topics .common_contets{
    transform: translateX(-45px);
}
#topics .common_contets.swiper-controller{
    transform: translateX(-19px);
}
@media (min-width: 1366px){
#topics .common_contets.swiper-controller {
    transform: translateX(-45px);
}
}
@media (max-width: 768px) {
  .swiper-scrollbar{
  width: 280px !important;
}
#topics .common_contets {
    transform: translateX(-3px);
}
.topics_btn_box {
    transform: translateX(-4px);
    padding-right: clamp(25px, 4.6vw, 60px);
}
#topics .common_contets.swiper-controller {
    transform: translateX(0px);
}
}

@media (max-width: 480px) {
  .swiper-scrollbar{
  width: 195px !important;
}
.topics-slider {
    padding-right: 15px;
}
#topics .common_contets {
    transform: translateX(0px);
}
.topics_btn_box {
    transform: translateX(0px);
}
}
@media (max-width: 375px) {
  .swiper-scrollbar{
  width: 175px !important;
}
}


/* ファンド/戦略 */
.funds_flex{
  display: flex;
  align-items: center;
  width: 100%;
}
.fund-text{
  color: #ffffff;
  font-weight: 500;
  font-size: clamp(0.95rem, 1.4vw, 1rem);
  line-height: 1.7;

}
.funds_text_area{
  padding-right: 4%;
  width: 56%;
}
.funds_img{
  width: 45%;
}
.funds_box {
    margin-top: 20px
}
.funds_content{
  margin-bottom: 60px;
}
@media (max-width: 768px) {
  .funds_flex {
    flex-direction: column-reverse;
}
.funds_text_area{
    padding-right: 0%;
    width: 100%;
    margin-top: clamp(20px, 4.5vw, 30px);
}
.funds_img{
  width: 100%;
}
}

/* お知らせ　*/
.news_link{
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding-bottom: 10px;
  /* border-bottom: solid 1px #ffffff; */
  transition: .3s;
}
.news_link::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background-color: #ffffff;
}
.news_link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background-color: #055BB7;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.6s ease;
}

.news_link:hover::after {
  transform: scaleX(1);
}


.news_link:hover .news-text{
  color: #055BB7;
}
.news-head{
  display: flex;
  align-items: center;
  transition: .3s;
}
.news-date{
    font-family: "Jost", sans-serif;
    font-weight: 500;
    font-size: clamp(0.75rem, 1.4vw, 0.8rem);
    line-height: normal;
}
.news-label{
    font-weight: 700;
    font-size: clamp(0.7rem, 1.4vw, 0.75rem);
    color: #055BB7;
    border: 1px solid #055BB7;
    background: rgb(255 255 255 / 70%);
    border-radius: 15px;
    padding: 4px 10px;
    text-align: center;
    margin-left: 10px;
    line-height: 1;  
}
.news-text{
    font-weight: 500;
    font-size: clamp(0.95rem, 1.4vw, 1rem);
    margin-bottom: 20px;
    margin-top: 10px;
    line-height: 1.6;
    transition: .3s;
}
.news_link:nth-child(n+2) {
  margin-top: 30px;
}
.news_btn_box{
    margin-top: 20px;
}
.banner_box li a {
    display: block;
    width: 100%;
    height: 100%;
    transition: .3s;
}
.banner_box li a:hover {
    opacity: .8;
}
.banner_box {
  display: flex;
  flex-wrap: wrap;              
  justify-content: center;      
  gap: 25px;                   
  list-style: none;
  padding: 0;
  margin: 0 auto;
}

.banner_box li {
  flex: 1 1 30%;                
  max-width: 296px;             
}

.banner_box li a img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.news_banner{
  margin-top: clamp(30px, 4vw, 40px);
}
@media (max-width: 768px) {
    .banner_box li {
        max-width: none;
        flex: 0 1 calc(50% - 10px);
    }
    .banner_box {
        gap: 17px;
    }
}

@media (max-width: 480px) {
    .news_banner {
        margin: auto;
        margin-top: clamp(30px, 4vw, 40px);
        width: 80%;
    }
    .banner_box {
        flex-direction: column;
        gap: 15px;
    }
}


/* フッター */

.footer-columns {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
  border-bottom: 1px solid rgb(32 33 40 / 40%);
  padding-bottom: 40px;
}
.footer-col {
  width: 33.3%;
  min-width: 190px;
}
.footer_nav_title{
  font-size: 0.9rem;
  font-weight: 700;
  color: #055BB7;
  margin-bottom: 13px;
}
.footer_nav_title a{
  padding-bottom: 3px; /* テキストと下線の間隔 */
  background-image: linear-gradient(#055BB7, #055BB7);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 1px; 
  transition: background-size 0.3s;
}
.footer_nav_title a:hover {
  background-position: bottom left; 
  background-size: 100% 1px;
}
.footer_nav_item a{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    line-height: normal;
    font-size: 0.81rem;
    font-weight: 400;
    transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}
.footer_nav_item a:hover {
    transform: translate(4px);
}
.footer_nav_item a::before {
    display: block;
    content: "";
    width: 7px;
    height: 1px;
    margin-right: 0.5rem;
    background-color: #055BB7;
}
.footer_nav_box{
    padding-left: 10px;
    padding-right: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
}
.footer-sub_area {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 15px;
}
.footer_sub_box {
    width: 33.3%;
    min-width: 190px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
}
.footer_sub_box li a {
    color: #666666;
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: normal;
    transition: .3s;
}
.footer_sub_box li a:hover {
    opacity: .7;
}
.footer_sub_box li{
    padding-right: 20px;
}
.footer_circle{
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #666666;
    position: relative;
    margin-left: 6px;
    transition: .3s;
    display: block;
    overflow: hidden;
    flex-shrink: 0;
}
.footer_circle img {
    max-width: 7px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transition: transform 0.6s ease-in-out;
}
.securities_link:hover .footer_circle img {
  animation: arrowDiagonal 0.8s ease-in-out;
}
@keyframes arrowDiagonal {
  0% {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  40% {
    transform: translate(100%, -150%) rotate(-45deg); /* 右上へ抜ける */
  }
  41% {
    transform: translate(-150%, 100%) rotate(-45deg); /* 左下から戻る */
  }
  100% {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}
.securities_link{
    display: flex;
    align-items: center;
    padding: 11px 10px;
    background: #fff;
    border: 1px solid rgb(32 33 40 / 40%);
}
.footer_securities_btn{
    display: inline-block;
    margin-top: 25px;
}
.footer-company {
    font-size: 0.75rem;
    font-weight: 300;
    color: #666666;
    line-height: 1.6;
    margin-bottom: 20px;
}
.footer_investment_link{
  text-decoration: underline;
  transition: .3s;
}
.footer_investment_link:hover{
  opacity: .7;
}
.footer_sub_box li a.securities_link:hover{
  opacity: 1;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgb(32 33 40 / 40%);
  padding-top: 15px;
}
.footer-logo img {
  max-width: 260px;
}
.copyright {
  font-size: 0.68rem;
  font-weight: 400;
  color: #666666;
  font-family: "Jost", sans-serif;
}
.footer_top_link{
  display: inline-block;
  width: 100%;
}
.footer-col_mt{
    margin-top: 30px;
}
@media screen and (max-width: 768px) {
    #footer {
        padding-right: clamp(25px, 4.6vw, 60px);
        padding-left: clamp(25px, 4.6vw, 60px);
        padding-top: 40px;
        padding-bottom: 20px;
    }
    .footer-sub_area {
        flex-direction: column;
        margin-bottom: 10px;
    }
    .footer_sub_box {
        width: 100%;
        margin-top: 10px;
    }
    .footer_sub_box:first-child {
        margin-top: 0px;
    }
    .footer_sub_box li {
        padding-right: 0px;
    }
    .footer-logo img {
        max-width: 240px;
    }
    .footer-columns {
        flex-direction: column;
        margin-bottom: 25px;
        padding-bottom: 10px;
    }
    .footer_securities_btn {
        display: inline-block;
        margin-top: 15px;
    }
    .footer-col {
        width: 100%;
        margin-bottom: 20px;
    }
    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    .footer_nav_box {
        flex-direction: row;
        padding-right: 0;
        flex-wrap: wrap;
        width: 100%;
        gap: 0;
    }
    .footer_nav_item{
        width: calc(100% / 3 - 10px);
        margin-bottom: 6px;
        margin-right: 10px;
    }
    .footer-col_mt {
        margin-top: 0px;
    }
}

@media screen and (max-width: 480px) {
    .footer_nav_item_topics{
        width: calc(100% / 2 - 10px);
    }
    .footer_nav_title {
        margin-bottom: 9px;
    }
    .footer_nav_item_news{
        width: calc(100% / 2 - 10px);
    }
    .footer_nav_item {
        width: 100%;
        margin-bottom: 8px;
    }
}


/* ヘッダー */
/* === Header Base === */
.header {
    position: fixed;
    top: 20px;
    left: 0;
    width: 100%;
    z-index: 1000;
}

.header_inner {
    margin: 0 20px;
    padding: 8px 13px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: rgb(255 255 255 / 65%);
    border-radius: 100px;
}
.header_logo img {
    max-width: 230px;
    width: auto;
}

/* === Navigation === */
.header_nav{
    display: flex;
    align-items: center ;
    gap: 10px;
}
.font-size_menu{
    font-size: 0.88rem;
    font-weight: 700;
}
.header_nav .header_nav_menu {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
}

/* === Font Size Buttons === */
.font-size {
    display: flex;
    align-items: baseline;
    gap: 4px;
}
.font-size button {
    background: none;
    border: none;
    font-weight: bold;
    cursor: pointer;
    color: #000;
}
.font-size .font-small {
    font-size: 0.88rem;
    font-family: "Jost", sans-serif;
    font-weight: 700;
    margin-right: 4px;
}
/* 選択中のボタン */
.font-btn.active {
    color: #fff;
    background: #202128;
    padding: 2px 5px;
    border-radius: 3px;
    vertical-align: middle;
}
.font-size .font-large {
    font-size: 1rem;
    font-family: "Jost", sans-serif;
    font-weight: 700;
}
.ENGLISH_page {
    font-size: 1rem;
    font-family: "Jost", sans-serif;
    font-weight: 700;
    transition: color 0.6s, background-color 0.6s;
    padding: 7.5px 16px;
    border-radius: 22px;
}
.ENGLISH_page:hover {
    color: #FFF;
    background-color: #055BB7;
}
.top_page_btn {
    font-size: 0.88rem;
    font-family: "Jost", sans-serif;
    font-weight: 700;
    transition: color 0.6s, background-color 0.6s;
    padding: 7.5px 16px;
    border-radius: 22px;
}
.top_page_btn:hover{
    color: #FFF;
    background-color: #055BB7;
}
/* === Menu Button === */
.menu_btn {
    background-color: #202128;
    color: #fff;
    border: none;
    padding: 9.5px 16px;
    border-radius: 22px;
    cursor: pointer;
    font-weight: 700;
    font-size: 0.88rem;
}

@media screen and (max-width: 768px) {
    .font-size_menu,
    .font-size .font-small,
    .font-size .font-large {
      font-size: 1.1rem;
    }
    .header_nav .header_nav_menu_pc{
        display: none;
    }
    .header_logo img {
        max-width: 180px;
    }
    .header_inner {
        margin: 0 12px;
        padding: 8px 8px;
    }
    .header_nav {
        gap: 12px;
    }
    .font-size {
        gap: 6px;
    }
    .menu_logo.sp{
        position: absolute;
        top: 30px;
        margin-top: 0;
        left: 30px;
    }
}
@media screen and (max-width: 480px) {
    .header_logo img {
        max-width: 160px;
    }
    .header_nav {
        gap: 5px;
    }
}

/* bodyにこのクラスがあるとき、ページのスクロールを禁止する */
body.no-scroll {
  overflow: hidden;
}

/* === Fullscreen Menu Base === */
.fullscreen_menu {
position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* 背景色は画像に近い薄い青 */
  background-color: #f0f7ff; 
  /* 背景が透けないように */
  z-index: 10000; 
  /* 初期状態では非表示 */
  opacity: 0; 
  visibility: hidden; 
  transform: translateY(-100%); 
  /* スムーズなアニメーション */
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s; 
  
  /* ↓↓↓ 画面中央に配置するために追加/修正 ↓↓↓ */
  display: flex; /* Flexboxを有効にする */
  align-items: center; /* 垂直方向 (上下) 中央揃え */
  justify-content: center; /* 水平方向 (左右) 中央揃え */
  /* コンテンツが画面高を超えた場合の挙動を調整 */
  overflow-y: auto;
  flex-wrap: wrap;
}

/* メニューが開いた状態のスタイル */
.fullscreen_menu.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* === Close Button === */
.menu_close_btn {
  position: absolute;
  top: 30px; 
  right: 28px;
  background-color: #202128;
  color: #fff;
  border: none;
  padding: 9.5px 16px;
    border-radius: 22px;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
  z-index: 10001;
}

/* === Menu Content Layout === */
.menu_content_inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0px 30px 0px 30px;/* 上部と左右の余白 */
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 0;
  position: relative;
}
.header_sitemap_box{
  width: calc(100% / 3 - 30px);
  margin-right: 30px;
  list-style: none;
}
.menu_logo a{
    display: block;
    width: 100%;
    margin-bottom: 20px;
}
.menu_logo img {
  max-width: 300px;
}
.header_sitemap_box .heeder_sitemap_item{
    border-top: 1px solid rgb(32 33 40 / 40%);
}
.header_sitemap_box .heeder_sitemap_item:last-child{
    border-bottom: 1px solid rgb(32 33 40 / 40%);
}
.menu_column{
  padding: 25px 0;
}
.heeder_nav_menu_box{
    padding-left: 10px;
    padding-right: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none;
}
.heeder_nav_menu_item a{
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    line-height: normal;
    font-size: 0.88rem;
    font-weight: 400;
    transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}
.heeder_nav_menu_item a:hover{
    transform: translate(4px);
}
.heeder_nav_menu_item a::before {
    display: block;
    content: "";
    width: 7px;
    height: 1px;
    margin-right: 0.5rem;
    background-color: #055BB7;
}
.menu_main_mb{
    display: inline-block;
    margin-bottom: 12px;
}
.header_nav_fg{
  display: flex;
  align-items: center;
  gap: 20px;
  list-style: none;
}
.menu_category_main {
  font-size: 1rem;
  font-weight: 700;
  color: #055BB7;
  transition: .3s;
}
.menu_category_main:hover {
  opacity: .6;
}
.menu_logo{
    margin-top: 60px;
}
/* === Copyright === */
.header_copyright {
    font-size: 0.68rem;
    font-weight: 400;
    color: #666666;
    font-family: "Jost", sans-serif;
    position: absolute;
    bottom: 0;
    width: calc(100% / 3 - 30px);
    margin-right: 30px;
}

@media screen and (max-width: 768px) {
    .menu_content_inner {
        flex-direction: column;
        padding-top: 120px;
        padding-bottom: 30px;
    }
    .header_sitemap_box {
        width: 100%;
        margin-right: 0px;
    }
    .header_copyright {
        position: inherit;
        margin-top: 20px;
        width: auto;
        margin-right: 0;
    }
    .menu_sitemap_head{
        padding-bottom: 25px;
        /* margin-top: 50px; */
    }
    .header_sitemap_box_b .heeder_sitemap_item:last-child {
        border-bottom: 1px solid rgb(32 33 40 / 0%);
    }
    .menu_category_main {
        font-size: 1.3rem;
    }
    .heeder_nav_menu_item a {
        font-size: 1rem;
    }
    .heeder_nav_menu_box {
        gap: 11px;
    }
    .menu_main_mb {
        margin-bottom: 16px;
    }
}
@media screen and (max-width: 480px) {
.menu_content_inner {
    flex-direction: column;
    padding-top: 110px;
    padding-bottom: 12vw;
    overflow-y: scroll;
}
.menu_logo img {
    max-width: 220px;
}
.header_nav_fg {
    justify-content: space-between;
}
}


/* cookieポップアップ */
.cookie-consent {
  position: fixed;
  box-sizing: border-box;
  visibility: visible;
  transition: .5s;
  z-index: 500;
  right: 1.5rem;
  left: 1.5rem;
}
.cookie-box{
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding: 0.8rem 1.6rem;
  background-color: #fff;
  border-radius: .5rem;
  box-shadow: 0 0 .3rem -.25rem #6e6e6e;
}
.cookie-consent.is-show {
  bottom: 20px;
}
.cookie-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 6px;
  flex-wrap: wrap;
}
.cookie-text_contens{
  font-size: clamp(0.69rem, 1vw, 0.81rem);
  line-height: 1.4;
}
.cookie-agree {
    color: #ffffff;
    background: #055BB7;
    padding: 0.5em 1.5em;
    margin-left: 20px;
    font-size: 0.88rem;
    font-weight: 500;
    display: block;
    flex-shrink: 0;
    border-radius: 52px;
    line-height: normal;
    border: 1px solid #055BB7;
    transition: .6s;
}
.cookie-agree:hover {
    color: #055BB7;
    background: #ffffff;
    border: 1px solid #055BB7;
}
.cookie-agree:hover {
  cursor: pointer;
}
.cookie-privacy-policy_link{
  text-decoration: underline;
  transition: .3s;
  color: #055BB7;
}
.cookie-privacy-policy_link:hover{
    opacity: .6;
}
/* パッと消える */
.cc-hide1 {
  display: none;
}
/* ゆっくり消える */
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards;
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
/* メディアクエリ */
@media screen and (max-width: 768px) {
.cookie-consent {
    right: 1rem;
    left: 1rem;
}
.cookie-box {
    padding: 0.8rem 1.4rem;
}
.cookie-consent.is-show {
    bottom: 15px;
}
}



/* 会社紹介ページ */
.subpage_movie-bg{
  background: #ffffff;
}
.sub_page_header{
    height: 100%;
    width: 100%;
    position: relative;
}
.subpage_movie-bg video {
    object-fit: cover;
    height: 100%;
    width: 126%;
    position: absolute;
    top: -18%;
    right: -31%;
    opacity: 0.2;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}
.subpage_movie-bg video.hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.sub_page_back_text{
    position: absolute;
    bottom: -6px;
    right: 0;
    font-size: clamp(100px, 7vw, 140px);
    line-height: 0.75;
    color: rgb(233 238 241 / 76%);
    font-family: "Jost", sans-serif;
    font-weight: 600;
    text-align: right;
    z-index: -1;
}
.subpage_header_container {
    padding-left: 12.6%;
    padding-right: 12.6%;
    padding-top: 20vh;
    padding-bottom: 3.5vw;
}
.subpage_header_title{
    font-size: 4rem;
    color: #004894;
    font-weight: 700;
}
.breadcrumbs {
    padding-left: 12.6%;
    padding-bottom: 16px;
}
.subpage_header_nav{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
}
.breadcrumb_item{
    font-size: 0.75rem;
    font-weight: 500;
}
.breadcrumb_link{
    position: relative;
    padding: 0 27px 0 0;
    color: #808080;
}
.breadcrumb_link::before{
    position: absolute;
    top: 50%;
    right: 10px;
    width: 10px;
    height: 1px;
    transform: translateY(-50%);
    background: #808080;
    content: "";
}
.breadcrumb_text{
    padding: 3px 5px;
    background: #F4F4F4;
    display: inline-block;
    border-radius: 18px;
}
#about_gci {
    background: rgb(244 244 244 / 66%);
    margin-top: 0;
}
.at-style{
    position: relative;
    border-radius: 80px 80px 0 0;
    padding: 90px 0;
    padding-bottom: 4vh;
    margin-top: -10vh;
    z-index: 1;
}

.column_grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    padding: 0 0 0 40px;
    /* max-width: 1440px; */
    margin-right: auto;
    margin-left: auto;
}
.column_sidebar {
    display: block;
    position: sticky;
    top: 0;
    height: 100vh;
    top: min(160px, 22.222vw);
}
.column_main {
    padding-right: 0px;
}
.bg_full_01 {
    background-color: rgb(236 245 250 / 60%);
    margin-left: -270px;
    padding-top: 70px;
}
.bg_full_02{
    background-color: rgb(135 180 198 / 55%);
    margin-left: -270px;
}
.bg_full_03{
    background-color: rgb(194 216 226 / 50%);
    margin-left: -270px;
    padding-bottom: 11vh;
    margin-bottom: -1vh;
    padding-top: 70px;
}
.subpage_wave-bg{
    z-index: -1;
    position: fixed;
}
.wave-bg.subpage_wave-bg {
    opacity: 0;
    transition: opacity 0.8s ease, transform 0.8s ease;
    pointer-events: none;
}

.wave-bg.subpage_wave-bg.show {
    opacity: 0.25;
}
.wave-bg.subpage_wave-bg.wave-bg_op.show {
    opacity: 0.4;
}
.bg_full_01 section,section.bg_full_02,.bg_full_03 section{
    padding: 0 0 0 270px;
    padding-right: clamp(20px, 6.2vw, 100px);
}
.label_m {
    display: inline-flex;
    font-weight: 500;
    font-size: 1rem;
    color: #C3C5CF;
    position: relative;
    padding-left: 14px;
}
.label_m::before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 6px;
    height: 6px;
    margin: auto;
    border-radius: 50%;
    background-color: #C3C5CF;
    content: "";
}
.current.label_m {
    color: #202128;
}
.current.label_m::before {
    background-color: #055BB7;
}
.subpage_menu_title{
    font-family: "Jost", sans-serif;
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 20px;
}
.subpage_list{
    display: flex;
    flex-direction: column;
    gap: 15px 0;
    list-style: none;
}
.subpage_wrapper{
    width: min(100%, 912px);
    margin: 0 auto;
}
.subpage_seciton{
      padding-right: clamp(20px, 6.2vw, 100px);
}
.pb_seciton{
    padding-bottom: 70px;
}
.subpage_common_box{
    padding-left: clamp(23px, 4.6vw, 80px);
    margin-top: 30px;
}
.bt_seciton{
    padding-top: 70px;
    padding-bottom: 70px;
    border-top: solid 1px #87B4C6;
}
.btb_seciton{
    padding-top: 70px;
    padding-bottom: 40px;
    border-top: solid 1px #87B4C6;
}
.tb_seciton{
    padding-top: 70px;
    padding-bottom: 70px;
}
@media screen and (max-width: 768px) {
    .column_grid {
        display: block;
        padding-left: clamp(25px, 4.6vw, 60px);
    }
    .column_sidebar {
        display: block;
        position: inherit;
        height: auto;
        padding-right: clamp(25px, 4.6vw, 60px);
    }
    .sub_page_back_text {
        display: none;
    }
    .bg_full_01 section, section.bg_full_02, .bg_full_03 section {
        padding-right: clamp(25px, 4.6vw, 60px);
    }
    .bg_full_03 {
        margin-bottom: -3.8vh;
    }
    .subpage_seciton {
        padding-right: clamp(25px, 4.6vw, 60px);
    }
    .subpage_list{
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding-left: clamp(23px, 4.6vw, 80px);
        gap: 12px;
        padding-bottom: 30px;
        border-bottom: 1px solid rgb(32 33 40 / 40%);
        margin-bottom: 70px;
    }
    .label_m {
        color: #202128;
    }
    .label_m::before {
        background-color: #055BB7;
    }
    .at-style {
        border-radius: 40px 40px 0 0;
        padding: 60px 0;
    }
    .subpage_header_title {
        /* font-size: 3.8rem; */
        font-size: 3.6rem;
    }
    .subpage_header_container {
        padding-left: 8.9%;
        padding-right: 8.9%;
        padding-top: 14vh;
        padding-bottom: 6vh;
    }
    .breadcrumbs {
        padding-left: 8.9%;
        padding-right: 8.9%;
    }
    .subpage_movie-bg video {
        width: 100%;
        height: auto;
        object-fit: contain;
        max-width: 100%;
        max-height: 100%;
        min-height: 770px;
        top: -14%;
        left: auto;
    }
    .subpage_video_wrap{
        top: 0;
        right: 0;
        width: 220%;
        height: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    .subpage_fv_area{
        overflow: hidden;
    }
}
@media screen and (max-width: 480px) {
    .pb_seciton {
        padding-bottom: 50px;
    }
    .bt_seciton {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .bg_full_01 {
        padding-top: 50px;
    }
    .tb_seciton {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .bg_full_03 {
        padding-top: 50px;
    }
    .btb_seciton {
        padding-top: 50px;
        padding-bottom: 10px;
    }
    .subpage_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 50px;
    }
    .label_m {
        font-size: 0.9rem;
    }
    .subpage_menu_title {
        font-size: 1.3rem;
        margin-bottom: 13px;
    }
    .subpage_header_title {
        /* font-size: 3.25rem; */
        font-size: 3rem;
    }
    .breadcrumb_item {
        font-size: 0.7rem;
    }
    .subpage_movie-bg video {
        min-height: 770px;
        top: -198px;
        right: -33%;
        opacity: 0.15;
    }
    .subpage_video_wrap {
        width: 236%;
    }
}
/* 下層ページ共通 */
.subpage_main_title {
    font-style: normal;
    font-weight: 700;
    font-size: 3rem;
    margin: 0;
    color: #055BB7;
}
.subpage_sub_title {
    display: block;
    font-family: "Jost", sans-serif;
    font-weight: 500;
    font-size: 1.2rem;
    color: #202128;
    position: relative;
    padding-left: 18px;
    margin-bottom: 5px;
}
.subpage_sub_title::before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 9px;
    height: 9px;
    margin: auto;
    border-radius: 50%;
    background-color: #055BB7;
    content: "";
}
.subpage_title_indent {
    display: inline-block;
    margin-left: 6.1rem;
}
@media screen and (max-width: 480px) {
  .subpage_main_title {
    font-size: 2.55rem;
}
.subpage_sub_title {
    display: flex;
    align-items: center;
    font-size: 0.95rem;
    padding-left: 14px;
    margin-bottom: 2px;
    line-height: normal;
}
.subpage_sub_title::before {
    width: 7px;
    height: 7px;
}
}
/* 会社紹介コンテンツ */
.vision_fl{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.vision_text{
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 1.2px;
    line-height: 1.4;
    margin-top: 30px;
}
.vision_text_box{
  padding-left: clamp(23px, 5.4vw, 30px);
  margin: 0 0 0 auto;
}
.philosophy_text{
    font-size: 1.13rem;
    font-weight: 500;
    line-height: 1.6;
}
.philosophy_img{
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
.vision_fl {
    justify-content: normal;
    align-items: normal;
    flex-direction: column;
}
.vision_text {
    transform: none;
}
.vision_text_box {
    padding-left: clamp(23px, 4.6vw, 80px);
}
}@media screen and (max-width: 480px) {
  .philosophy_text {
    font-size: 1rem;
}
.vision_text {
    font-size: 1.1rem;
}
}

/* 企業情報 */
#section1 {
  scroll-margin-top: 100px;
}
#section2 {
  scroll-margin-top: 100px;
}
#section3 {
  scroll-margin-top: 100px;
}
.company_data{
    display: flex;
    align-items: baseline;
    padding: 24px 0;
    border-bottom: 1px solid rgb(32 33 40 / 35%);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
}
.company_data:first-child{
    padding-top: 0px;
}
.company_data:last-child{
    border-bottom: none;
    padding-bottom: 0px;
    padding-top: 24px;
}
.company_data_ttl{
  flex-shrink: 0;
  width: 160px;
  font-weight: 700;
}
.company_data dd{
    width: calc(100% - 160px);
}
.company_map iframe{
  height: 390px !important;
}
.company_map{
    width: 100%;
    height: auto;
    overflow: hidden;
    padding-top: 25px;
}
.map_link {
    display: inline-flex;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 500;
}
.map_circle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 6px;
    transition: .3s;
    display: block;
    overflow: hidden;
}
.map_circle img {
    max-width: 7px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transition: transform 0.6s ease-in-out;
}
.map_link:hover .map_circle img  {
  animation: arrowDiagonalmap 0.8s ease-in-out;
}
@keyframes arrowDiagonalmap {
  0% {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  40% {
    transform: translate(100%, -150%) rotate(-45deg); /* 右上へ抜ける */
  }
  41% {
    transform: translate(-150%, 100%) rotate(-45deg); /* 左下から戻る */
  }
  100% {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}
.map_link_box{
  text-align: right;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
.company_data {
    flex-direction: column;
    gap: 12px;
}
.company_data dd {
    width: 100%;
}
.company_map {
    padding-top: 20px;
}
.company_map iframe {
    height: 300px !important;
}
}
@media screen and (max-width: 480px) {
.company_data {
    padding: 20px 0;
    font-size: 0.9rem;
    gap: 10px;
}
#section1 {
    scroll-margin-top: 80px; /* SP */
}
#section2 {
    scroll-margin-top: 60px; /* SP */
}
#section3 {
    scroll-margin-top: 60px; /* SP */
}
}

/* グループ概要 */
.subpage_group_box{
    margin-top: 15px;
    list-style: none;
}
.jost{
    font-family: "Jost", sans-serif;
}
.group_btn {
    display: flex;
    align-items: center;
    font-size: 1rem;
    font-weight: 700;
    transition: .3s;
    padding: 15px 0;
    width: 100%;
    justify-content: space-between;
    position: relative;
    line-height: 1.3;
}
.group_btn:hover{
    color: #055BB7;
}
.group_item{
    border-bottom: solid 1px #202128;
    max-width: 400px;
}
.group_circle {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden;
    flex-shrink: 0;
}
.group_circle img {
    max-width: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.group_box{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    gap: 20px 25px;
    list-style: none;
}
.group_btn:hover .group_circle img  {
  animation: arrowMove 0.8s ease-in-out;
}

@media screen and (max-width: 480px) {
    .group_box {
        gap: 15px 20px;
    }
    .group_btn {
    font-size: 0.88rem;
}
.group_circle {
    width: 25px;
    height: 25px;
    margin-left: 15px;
}
.group_circle img {
    max-width: 10px;
}
}

/* CSR */
.title_csr {
    font-weight: 500;
    font-size: 3.65rem;
}
.csr_link_btn{
    padding: 20px 30px;
    display: block;
    width: 100%;
    background: #fff;
    border-radius: 10px;
    max-width: 400px;
    height: 100%;
}
.csr_flex{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.subpage_csr_title{
    font-weight: 700;
    font-size: 1.25rem;
    margin: 0;
    color: #055BB7;
    line-height: 1.4;
}
.subpage_csr_sub_title {
    display: block;
    font-family: "Jost", sans-serif;
    font-weight: 500;
    font-size: 0.88rem;
    color: #202128;
    position: relative;
    padding-left: 12px;
    margin-bottom: 2px;
}
.subpage_csr_sub_title::before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    height: 5px;
    margin: auto;
    border-radius: 50%;
    background-color: #055BB7;
    content: "";
}
.csr_rink_text{
    font-size: 0.88rem;
    font-weight: 400;
    margin-top: 20px;
    line-height: 1.5;
}
.csr_circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden;
    flex-shrink: 0;
}
.csr_circle img {
    max-width: 15px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.csr_link_btn:hover .csr_circle img {
  animation: arrowMove 0.8s ease-in-out;
}
.csr_box{
    display: grid;
    gap: 20px 25px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    list-style: none;
}
@media screen and (max-width: 768px){
.csr_box {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-auto-rows: auto;
}
.csr_link_btn {
    max-width: 100%;
}
}
@media screen and (max-width: 480px){
.title_csr {
    font-size: 2.9rem;
}
.csr_link_btn {
    padding: 20px 25px;
}
.subpage_csr_title {
    font-size: 1.13rem;
}
.subpage_csr_sub_title {
    font-size: 0.7rem;
    padding-left: 10px;
    margin-bottom: 2px;
}
.csr_rink_text {
    font-size: 0.8rem;
    margin-top: 16px;
}
.csr_circle {
    width: 40px;
    height: 40px;
}
.csr_circle img {
    max-width: 14px;
}
}

/* 電子公告・財務状況等 */
.pdf_wrap{
    list-style: none;
}
.pdf_wrap .pdf_item:first-child{
    padding-top: 0px;
}
.pdf_item{
    padding: 20px 0;
    display: flex;
    align-items: baseline;
    border-bottom: 1px solid rgb(32 33 40 / 40%);
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.3;
}
.pdf_date{
  display: block;
  width: 192px;
  flex-shrink: 0;
}
.pdf_link{
    display: flex;
    text-decoration: none;
    transition: .3s;
}
.pdf_link:hover{
    color: #055BB7;
}
.pdf_link img{
    margin: 0 8px;
    transition: .3s;
    flex-shrink: 0;
    height: 1.2rem;
    width: auto;
}
.financial_text{
    font-size: 0.94rem;
    line-height: 1.7;
    margin-bottom: 30px;
}
.pdf_link:hover .btn_off{
    display: none;
}
.pdf_link:hover .btn_on{
    display: block;
    transition: .3s;
}
@media screen and (max-width: 768px){
  .pdf_date {
    width: 170px;
}
}

@media screen and (max-width: 480px){
  .pdf_item {
    flex-direction: column;
    font-size: 0.95rem;
    gap: 10px;
}
    .pdf_date {
        width: auto;
    }
    .pdf_link img {
    max-width: 0.9rem;
    margin: 0 5px;
}
.financial_text {
    font-size: 0.88rem;
}
}

/* 採用情報 */
.recruit_text{
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.6;
}
.recruit_text_box{
  padding-left: clamp(23px, 6.8vw, 107px);
  margin-top: clamp(30px, 3.2vw, 60px);
}
.recruit_fl {
    display: flex;
    justify-content: left;
    align-items: start;
    flex-wrap: wrap;
}

.subpage_btn_box{
    margin: 0 0 0 auto;
    margin-top: 20px;
}
@media screen and (max-width: 768px){
.recruit_text_box{
  padding-left: clamp(23px, 4.6vw, 80px);
}
}
@media screen and (max-width: 480px){
.recruit_text {
    font-size: 1rem;
}
}

/* 取締役会 */
.member_name_box{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.member_position{
  display: block;
  font-size: 0.88rem;
  font-weight: 400;
  margin-bottom: 7px;
  line-height: 1.2;
}
.member_name{
  font-size: 1.5rem;
  font-weight: 700;
}
.member_name_link{
    padding: 20px 20px 20px 30px;
    border-radius: 10px;
    background: #ffffff;
    display: block;
    max-width: 400px;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}
.member_fl{
    display: grid;
    align-items: stretch;
    gap: 20px 25px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
}
.member_circle {
    width: 47px;
    height: 47px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden;
    flex-shrink: 0;
}
.member_circle img {
    max-width: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.member_name_link:hover .member_circle img {
    transform: translate(-50%, -50%) rotate(180deg);
}
@media screen and (max-width: 768px){
  .member_fl {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.member_name_link {
    max-width: 100%;
}
}
@media screen and (max-width: 480px){
  .member_name {
    font-size: 1.3rem;
}
.member_position {
    font-size: 0.8rem;
}
.member_name_link {
    padding: 20px;
}
.member_circle {
    width: 40px;
    height: 40px;
}
.member_circle img {
    max-width: 17px;
}
}

/* 取締役会のポップアップ */
.popup_inner {
  background: #FBFBFB;
  max-width: 820px;
  width: 90%;
  max-height: 90%;
  overflow-y: auto;
  padding: 50px 50px 20px 50px;
  border-radius: 20px;
  position: relative;
  clip-path: inset(0 round 20px);
}
.pop_up_member_name {
    font-style: normal;
    font-weight: 700;
    font-size: 2rem;
    margin: 0;
}
.member_name_en {
    display: flex;
    font-family: "Jost", sans-serif;
    font-weight: 500;
    font-size: 0.8rem;
    color: #202128;
    position: relative;
    padding-left: 10px;
    margin-bottom: 5px;
}
.member_name_en::before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    height: 5px;
    margin: auto;
    border-radius: 50%;
    background-color: #055BB7;
    content: "";
}
.pop_up_member_position{
    font-size: 0.95rem;
    font-weight: 400;
    display: block;
    margin-top: 20px;
}
.member_b_box{
    padding: 30px 0;
    border-bottom: 1px solid rgb(32 33 40 / 40%);
}
.popup_inner .member_b_box:first-of-type{
  padding-top: 0;
}
.timeline {
    display: flex;
    align-items: baseline;
    padding-bottom: 20px;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    gap: 20px;
}
.timeline:last-child{
    padding-bottom: 0px;
}
.timeline_y{
    color: #055BB7;
    width: 60px;
    flex-shrink: 0;
}
.main_publications{
    display: flex;
    font-weight: 500;
    font-size: 1.15rem;
    position: relative;
    padding-left: 13px;
    margin-bottom: 20px;
}
.main_publications::before {
    display: block;
    position: absolute;
    top: 0px;
    bottom: 0;
    left: 0;
    width: 6px;
    height: 6px;
    margin: auto;
    border-radius: 50%;
    background-color: #055BB7;
    content: "";
}
.books_title{
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
}
.books_box{
  padding-left: 23px;
}
.a_background{
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    display: block;
    text-align: right;
    margin-top: 15px;
}
.member_popup {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  backdrop-filter: blur(4px);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.member_popup.active {
  display: flex;
}

.popup_close {
  position: absolute;
  top: 15px;
  right: 20px;
  background: #0066cc;
  color: #fff;
  font-size: 24px;
  border: none;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  cursor: pointer;
}

.popup_close:hover {
  background: #004a99;
}

body.popup_open {
  overflow: hidden;
}
.member_pop_up_circle {
    width: 47px;
    height: 47px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    display: block;
    position: absolute;
    top: 16px;
    right: 19px;
    cursor: pointer;
}
.member_pop_up_circle img {
    max-width: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    transition: transform 0.6s ease-in-out;
}
.member_pop_up_circle:hover img {
    transform: translate(-50%, -50%) rotate(225deg);
}

@media screen and (max-width: 480px){
  .popup_inner {
    overflow-y: auto;
    padding: 30px 25px 20px 25px;
    border-radius: 20px;
}
.pop_up_member_name {
    font-size: 1.7rem;
}
.member_name_en {
    font-size: 0.75rem;
}
.pop_up_member_position {
    font-size: 0.85rem;
    margin-top: 15px;
}
.member_b_box {
    padding: 25px 0;
}
.timeline {
    padding-bottom: 15px;
    font-size: 0.85rem;
}
.books_title {
    font-size: 0.85rem;
}
.main_publications {
    margin-bottom: 12px;
    font-size: 1rem;
}
.books_box {
    padding-left: 18px;
}
.a_background {
    font-size: 0.85rem;
    margin-top: 15px;
}
.member_pop_up_circle {
    width: 40px;
    height: 40px;
    top: 13px;
    right: 13px;
}
.member_pop_up_circle img {
    max-width: 17px;
}
}



/* 電子公告・財務状況等一覧ページ */
#kokoku,#zaimu {
    background: rgb(244 244 244 / 66%);
    margin-top: 0;
    padding: 90px;
    padding-bottom: 10vh;
}
.pdf_contents{
    max-width: 900px;
    margin: auto;
    padding-bottom: 10vh;
}
.pdf_contents .financial_text {
    margin-bottom: 70px;
}
@media screen and (max-width: 768px){
    #kokoku,#zaimu {
        padding-right: clamp(25px, 6vw, 60px);
        padding-left: clamp(25px, 6vw, 60px);
        padding-top: 60px;
    }
}
@media screen and (max-width: 480px){
    .pdf_contents .financial_text {
    margin-bottom: 40px;
}
}


/* page.php */
.page_p{
    background: rgb(244 244 244 / 66%);
    margin-top: 0;
    padding: 90px;
    padding-bottom: 10vh;
}
.page_p_contents{
    max-width: 900px;
    margin: auto;
    padding-bottom: 7vh;
}
@media screen and (max-width: 768px){
    .page_p {
        padding-right: clamp(25px, 6vw, 60px);
        padding-left: clamp(25px, 6vw, 60px);
        padding-top: 60px;
    }
}

ul, ol {
    list-style-position: inside;
}



/* 採用情報ページ */
.recruit_contents p,
.subpage_recruit_text{
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
}
.recruit_contents a {
    color: rgb(5, 91, 183);
    transition: 0.3s;
}
.recruit_contents .subpage_title_text{
    font-style: normal;
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 15px;
    line-height: 1.3;
    color: #055BB7;
}
.recruit_date,
.recruit_contents dl{
    display: flex;
    align-items: baseline;
    padding: 24px 0;
    border-bottom: 1px solid rgb(32 33 40 / 35%);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    font-family: "Noto Sans JP", sans-serif;
}
.subpage_common_box .recruit_date:first-of-type {
    padding-top: 0px;
}
.recruit_date_ttl,
.recruit_contents dt{
    flex-shrink: 0;
    width: 180px;
    font-weight: 700;
    padding-right: 20px;
}
.recruit_date dd,
.recruit_contents dd{
    width: calc(100% - 180px);
}
.recruit_date:last-child,
.recruit_contents dl:last-child{
    border-bottom: none;
    padding-bottom: 0px;
    padding-top: 24px;
}
.recruit_list{
  list-style: none;
}
.recruit_list li {
    display: flex;
    position: relative;
    padding-left: 14px;
}
.recruit_list li::before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 6px;
    height: 6px;
    margin: auto;
    border-radius: 50%;
    background-color: #055BB7;
    content: "";
}
.subpage_text_link{
  color: #055BB7;
  transition: .3s;
}
.subpage_text_link:hover{
  opacity: 0.7;
}
.recruitment_text{
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 20px;
}
.recruit_date_text_mb{
  margin-bottom: 15px;
}
.recruit_title,
.recruit_contents h3{
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.3;
    color: #055BB7;
}
.recruit_mail_img{
  display: block;
  max-width: 29px;
  margin-right: 10px;
}
.recruit_mail_fx{
    display: flex;
    align-items: center;
    font-size: 1.25rem;
    font-weight: 700;
    padding-top: 60px;
    border-top: solid 1px #87B4C6;
    justify-content: center;
}
.recruit_mail{
  display: block;
  color: #055BB7;
  padding-right: 35px;
}
.recruit_mail_box{
  padding-left: 35px;
  border-left: 1px solid rgb(32 33 40 / 40%);
}
.recruit_mail_link{
  display: flex;
  align-items: center;
  transition: .3s;
}
.recruit_mail_link:hover{
  color: #055BB7;
}
.company_data:first-child {
    padding-top: 0px;
}
.recruit_contents .recruit_mail_box a {
    color: #202128;
}
.recruit_contents .recruit_mail_box a:hover {
    color: #055BB7;
}
@media screen and (max-width: 768px) {
    .recruit_date,.recruit_contents dl {
        flex-direction: column;
        gap: 12px;
    }
    .recruit_date_ttl,.recruit_contents dt {
        flex-shrink: 0;
        width: 100%;
        font-weight: 700;
        padding-right: 0px;
    }
    .recruit_date dd,.recruit_contents dd  {
        width: 100%;
    }
    .subpage_title_text {
    font-size: 1.25rem;
}
.recruit_title,.recruit_contents h3 {
    font-size: 1.65rem;
}
.recruit_mail_fx {
    font-size: 1rem;
}
.recruit_mail_img {
    max-width: 22px;
}
.recruit_mail {
    padding-right: clamp(25px, 5.2vw, 35px);
}
.recruit_mail_box {
    padding-left: clamp(25px, 5.2vw, 35px);
}
}

@media screen and (max-width: 480px) {
    .recruit_date,.recruit_contents dl {
        padding: 20px 0;
        font-size: 0.9rem;
        gap: 10px;
    }
    .recruitment_text {
    font-size: 0.9rem;
}
.recruit_contents p, .subpage_recruit_text {
    font-size: 0.95rem;
}
    .recruit_mail_fx {
        flex-direction: column;
        padding-top: 50px;
    }
    .recruit_mail {
    padding-right: 0;
    padding-bottom: 15px;
}
.recruit_mail_box {
    padding-left: 0;
    border-left: none;
    width: 100%;
    padding-top: 15px;
    position: relative;
}
.recruit_mail_box::before{
    display: block;
    content: "";
    width: 40px;
    height: 1px;
    background-color: rgb(32 33 40 / 40%);
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
}
.recruit_mail_link {
    justify-content: center;
}
}
 
/* トピックス一覧 */
.page_topics_contents {
    max-width: 1070px;
    margin: auto;
    padding-bottom: 10vh;
    box-sizing: border-box;
}
.topics-box {
    width: 100%;
    height: auto;
    display: block;
    max-width: 340px;
    position: relative;
    flex-shrink: 0;
    transition: .3s;
}
.subpage_topics{
    width: 100%;
    gap: 40px 25px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.topics-box img {
    height: auto;
    width: 100%;
    border-radius: 10px;
    aspect-ratio: 17 / 10;
}
.topics-box:hover .topic-title{
    color: #055BB7;
} 
.topics-box:hover .topic-text{
    opacity: 0.7;
} 
.topics-box:hover .topic-circle img {
  animation: arrowMove 0.8s ease-in-out;
}
.topics-box:hover .topic-btn {
  color: #055BB7;
}
.topic-tag_topic{
  background: #F4873D;
}
.topic-tag_endowment-lab{
    background: #8C77E5;
}
.topic-tag_alternative-anatomy{
  background: #055BB7;
}
.topic-tag_market-flash {
    background: #15c100;
}
.topic-tag_column {
    background: #f5a1d8;
}
.topics-box .topic-circle img {
    aspect-ratio: inherit;
}
@media screen and (max-width: 768px) {
  .subpage_topics {
    gap: 40px 25px;
    grid-template-columns: repeat(2, 1fr);
}
.topics-box .topic-title {
    font-size: 1rem;
}
.topics-box .topic-text {
    font-size: 0.88em;
    line-height: 1.4;
}
.topics-box .topic-btn {
    font-size: 0.9rem;
}
.topics-box .topic-circle {
    width: 30px;
    height: 30px;
}
.topics-box .topic-circle img {
    max-width: 10px;
}
.topics-box .topic-tag {
    font-size: 0.66rem;
}
}
@media screen and (max-width: 480px) {
    .subpage_topics {
        grid-template-columns: repeat(1, 1fr);
    }
    .topics-box .topic-tag {
        font-size: 0.7rem;
    }
    .topics-box .topic-title {
        font-size: 1.1rem;
    }
    .topics-box .topic-text {
        font-size: 0.9em;
        line-height: 1.6;
    }
    .topics-box .topic-btn {
        font-size: 1rem;
    }
    .topics-box .topic-circle {
        width: 34px;
        height: 34px;
    }
    .topics-box .topic-circle img {
        max-width: 12px;
    }
}




/* ページャー */
.pager{
  margin-top: 50px;
}
.pager .pagination {
  text-align: center;
  display: flex;
  justify-content: center;
}

.pager .pagination li {
  display: inline;
  margin: 0 2px;
  padding: 0;
  display: inline-block;
  width: 40px;
  height: 40px;
  text-align: center;
  position: relative;
  border-radius: 50px;
}
.pager .pagination li.pre,.pager .pagination li.next {
  margin: 0 3px;
}
.pager .pagination li.pre{
  margin-left: 0;
}
.pager .pagination li.next{
  margin-right: 0;
}
.pager .pagination .pre a img,.pager .pagination .next a img{
    max-width: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.pager .pagination .pre .disabled img,.pager .pagination .next .disabled img{
    max-width: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.pager .pagination .pre .disabled,.pager .pagination .next .disabled{
    background: #fff;
    color: #fff;
    border: 1px solid #055BB7;
    position: relative;
    border-radius: 50%;
    display: block;
    text-align: center;
    width: 40px;
    height: 40px;
    opacity: 0.6;
}
.pager .pagination li.pre a,
.pager .pagination li.next a{
  background: #fff;
  color: #fff;
  border: 1px solid #055BB7;
  position: relative;
}

.pager .pagination li a{
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display:table;
  text-decoration: none;
  border-radius: 50%;
  transition: .3s;
}

.pager .pagination li.pre a,
.pager .pagination li.next a{
  color: #fff;
}

.pager .pagination li a span{
  display:table-cell;
  vertical-align:middle;
}
.pager .pagination li a:hover,
.pager .pagination li a.active{
  color: #ffffff;
  background: #055BB7;
  border-radius: 10px;
  border-radius: 50px;
  border-radius: 50%;
}
.common_btn_box{
    text-align: right;
    margin-top: 13px;
}
.btn_off{
  display: block;
  transition: .3s;
}
.pager .pagination li.pre a:hover .btn_off,.pager .pagination li.next a:hover .btn_off{
  display: none;
}
.pager .pagination li.pre a:hover .btn_on,.pager .pagination li.next a:hover .btn_on{
  display: block;
}
/* PC のページネーションのみ表示 */
.pager-pc {
  display: block;
}
.pager .pagination li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;   /* 数字の丸と同じ */
  height: 40px;  /* 数字の丸と同じ */
  border-radius: 50%;
}
@media screen and (max-width: 480px){
.pager .pagination li {
    width: 35px;
    height: 35px;
}
.pager .pagination .pre a img, .pager .pagination .next a img {
    max-width: 13px;
}
.pager .pagination li span {
    width: 35px;
    height: 35px;
}
.pager .pagination .pre .disabled,.pager .pagination .next .disabled{
    width: 35px;
    height: 35px;
}
}

/* お知らせ一覧ページ */
.page_news_contents {
    max-width: 1040px;
    margin: auto;
    padding-bottom: 10vh;
    box-sizing: border-box;
}
.subpage_topics .topics-box {
    max-width: 100%;
}
.page_news_link {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding-bottom: 10px;
    transition: .3s;
}
.news-text_link {
    font-weight: 500;
    font-size: 1rem;
    margin-bottom: 20px;
    margin-top: 10px;
    line-height: 1.6;
    transition: .3s;
    display: block;
}
.news-text_link:hover {
    color: #055BB7;
}
.news-label{
  transition: .3s;
}
.news-label:hover{
    opacity: 0.7;
}
.page_news_link::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 100%;
    background-color: rgb(32 33 40 / 40%);
}
.page_news_link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 1px;
    width: 100%;
    background-color: #055BB7;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.6s ease;
}
.page_news_link:hover::after {
    transform: scaleX(1);
}
.page_news_link:nth-child(n+2) {
    margin-top: 30px;
}
@media screen and (max-width: 768px){
  .news-text_link {
    font-size: 0.95rem;
    margin-bottom: 15px;
}
}


/* パンくず */
#breadcrumbs{
  font-size: 0.75rem;
  font-weight: 500;
  color: #808080;
}
#breadcrumbs a{
  padding: 0 4px;
}
#breadcrumbs .breadcrumb_last{
    padding: 5px 10px;
    background: #F4F4F4;
    display: inline-block;
    border-radius: 100px;
    color: #202128;
    line-height: 1.2;
}
#breadcrumbs span{
    margin: 7px 0;
}
@media screen and (max-width: 480px){
    #breadcrumbs{
        font-size: 0.68rem;
    }
}

/*トピックス、お知らせ詳細ページ  */
.topics_detail_title,.news_detail_title{
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 30px;    
}
.topics_detail_information,.news_detail_information{
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.topics_detail_category{
    font-weight: 700;
    font-size: 0.75rem;
    color: #ffffff;
    border-radius: 3px;
    padding: 4px 10px;
    text-align: center;
    margin-left: 10px;
    line-height: 1;
}
.topics_detail_date{
    font-weight: 500;
    font-size: 0.8rem;
    color: #808080;
}
.topics_column_grid,.news_column_grid{
    display: grid;
    justify-content: space-between;
    margin-right: auto;
    margin-left: auto;
    grid-template-columns: 1fr 200px;
    gap: clamp(30px, 5.4vw, 60px);
}
.topics_column_main{
    padding-right: 0px;
}
.topics_side {
    display: block;
}
.topics_side_inner{
    position: sticky;
    top: 0;
    /* height: 100vh; */
    top: min(160px, 22.222vw);
}
.news_side {
    display: block;
}
.news_side_inner{
    position: sticky;
    top: 0;
    /* height: 100vh; */
    top: min(160px, 22.222vw);
}
.topics_eye-catching{
    width: 100%;
    object-fit: cover;
    max-inline-size: 100%;
    max-block-size: 100%;
    border-radius: 20px;
    aspect-ratio: 17 / 10;
}
.detail_text_area{
    margin-top: 30px;
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
}
.detail_text_area p{
    font-size: 1rem;
    margin: 24px 0px 0px 0px;
}
.detail_text_area a{
    color: #055BB7;
    text-decoration: underline;
    transition: .3s;
}
.detail_text_area a:hover{
    opacity: .7;
}
.detail_text_area h1{
    font-size: 1.7rem;
    color: #055BB7;
    font-weight: 700;
    margin: 40px auto 20px;
}
.detail_text_area h2{
    font-size: 1.5rem;
    font-weight: 600;
    padding-left: 20px;
    margin: 40px auto 20px;
    text-align: justify;
    position: relative;
}
.detail_text_area h2:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 6px;
    border-radius: 10px;
    background-color: #055BB7;
}
.detail_text_area h3{
    font-size: 1.4rem;
    font-weight: 600;
    padding-bottom: 6px;
    border-bottom: solid 2px #055BB7;
    margin: 30px auto 20px;
}
.detail_text_area h4{
    font-size: 1.3rem;
    font-weight: 700;
    margin: 10px 0;
}
.detail_text_area h5{
    font-size: 1.1rem;
    font-weight: 600;
    margin: 10px 0;
}
.detail_text_area h6{
    font-size: 1rem;
    font-weight: 600;
    margin: 10px 0;
}
.detail_text_area img{
    height: auto;
    max-width: 100%;
}
.detail_text_area li{
    margin: 10px 0;
}
.detail_text_area table{
    border: 1px solid #202128;
    border-spacing: unset;
    margin: 20px 0;
    table-layout: auto;
}
.detail_text_area table tr td, .detail_text_area table tr th {
    border: 1px solid #202128;
    padding: 12px;
}
.entrypager{
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
    margin-top: 50px;
    border-top: 1px solid rgb(32 33 40 / 60%);
    padding-top: 20px;
}
.entrypager_circle {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background-color: #202128;
    position: relative;
    transition: .3s;
}
.entrypager_pre .entrypager_circle {
  margin-right: 12px;
}
.entrypager_next .entrypager_circle {
  margin-left: 12px;
}
.entrypager_circle img {
    max-width: 16px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.entrypager_btn {
    display: inline-flex;
    align-items: center;
    font-size: 1rem;
    font-weight: 700;
    transition: .3s;
}
.entrypager_btn:hover {
    color: #055BB7;
}
.entrypager_btn:hover .entrypager_circle{
    background-color: #055BB7;
}
.entrypager_btn.disabled {
    opacity: 0.4;
    pointer-events: none;
}
.topics_menu_title {
    font-family: "Jost", sans-serif;
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 20px;
}
.news_menu_title {
    font-family: "Jost", sans-serif;
    font-weight: 600;
    font-size: 1.4rem;
    margin-bottom: 20px;
}
.topics_menu_list {
    display: flex;
    flex-direction: column;
    gap: 20px 0;
    list-style: none;
}
.news_menu_list {
    display: flex;
    flex-direction: column;
    gap: 20px 0;
    list-style: none;
}
.topics_menu_item{
    border-bottom: 1px solid rgb(32 33 40 / 40%);
}
.topics_menu_item a{
    display: block;
    padding-bottom: 15px;
    font-size: 1rem;
    font-weight: 500;
    transition: .3s;
}
.topics_menu_item a:hover{
    color: #055BB7;
}
.news_menu_item {
    border-bottom: 1px solid rgb(32 33 40 / 40%);
}
.news_menu_item a{
    display: block;
    padding-bottom: 15px;
    font-size: 1rem;
    font-weight: 500;
    transition: .3s;
}
.news_menu_item a:hover{
    color: #055BB7;
}
.side_topic-title{
    font-weight: 700;
    font-size: 0.9rem;
    margin-bottom: 10px;
    margin-top: 6px;
    line-height: 1.4;
    transition: .3s;
}
.side_topic-link{
    width: 100%;
    height: auto;
    display: block;
    position: relative;
    flex-shrink: 0;
    width: auto;
    transition: .3s;
}
.side_topic-card img {
    object-fit: cover;
    height: auto;
    width: 100%;
    border-radius: 10px;
    aspect-ratio: 17 / 10;
}
.side_topic-box{
  display: grid;
  gap: 10px;
}
.side_topic-box .topic-tag {
    padding: 6px 7px;
    font-size: 0.6rem;
}
.single_topics_category{
  margin-top: 40px;
}
.single_news-label {
    font-weight: 700;
    font-size: clamp(0.7rem, 1.4vw, 0.75rem);
    color: #055BB7;
    border: 1px solid #055BB7;
    background: rgb(255 255 255 / 70%);
    border-radius: 15px;
    padding: 4px 10px;
    text-align: center;
    margin-left: 10px;
    line-height: 1;
    transition: .3s;
}
.single_news-label:hover{
    opacity: 0.7;
}
@media (min-width: 769px) {
    .side_topic-link:nth-of-type(4) {
        display: none;
    }
}
@media screen and (max-width: 768px){
  .single_page_topics_contents {
    padding-bottom: 10vh;
}
  .topics_column_grid,.news_column_grid {
    width: 100%;
    display: block;
}
.topics_column_main,.news_column_main {
    width: 100%;
}
.topics_side {
    height: auto;
    width: 100%;
    margin-top: 50px;
}
.topics_side_inner{
    position: inherit;
}
.news_side {
    width: 100%;
    margin-top: 50px;
}
.news_side_inner{
    position: inherit;
    height: auto;
}
.side_topic-box {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 20px;
}
.single_topics_category{
    margin-top: 35px;
}
.single_news_category{
    margin-top: 35px;
}
}
@media screen and (max-width: 480px){
  .topics_detail_title,.news_detail_title {
    font-size: 1.4rem;
}
.detail_text_area {
    font-size: 0.9rem;
}
.detail_text_area p {
    font-size: 0.9rem;
}
.detail_text_area h1 {
    font-size: 1.55rem;
}
.detail_text_area h2 {
    font-size: 1.35rem;
    padding-left: 18px;
    margin: 30px auto 20px;
}
.detail_text_area h2:before {
    width: 5px;
    height: 38px;
}
.detail_text_area h3 {
    font-size: 1.3rem;
}
.detail_text_area h4 {
    font-size: 1.25rem;
}
.entrypager_circle {
    width: 30px;
    height: 30px;
}
.entrypager_circle img {
    max-width: 14px;
}
.entrypager_pre .entrypager_circle {
    margin-right: 10px;
}
.entrypager_next .entrypager_circle {
    margin-left: 10px;
}
.entrypager_btn {
    font-size: 0.9rem;
}
.topics_menu_list {
    gap: 17px 0;
}
.news_menu_list {
    gap: 17px 0;
}
.topics_menu_item a {
    font-size: 0.9rem;
}
.news_menu_item a {
    font-size: 0.9rem;
}
.side_topic-box {
    gap: 20px 13px;
}
.side_topic-title {
    font-size: 0.88rem;
}
.side_topic-box .topic-tag {
    padding: 6px 7px;
    font-size: 0.58rem;
}
}


/* ファンド情報一覧ページ */
.page_fs_p {
    background: rgb(244 244 244 / 66%);
    margin-top: 0;
    padding: 90px;
    overflow: hidden;
    padding-bottom: 0vh;
}
.page_fs_contents{
    max-width: 1040px;
    margin: auto;
}
.funds_box_pl{
    padding-left: clamp(23px, 4.6vw, 86px);
    margin-top: 30px;
}
.funds_box_fx{
  display: flex;
  align-items: center;
  width: 100%;
  gap: 6%;
  margin-bottom: 30px;
}
.funds_box_value{
  padding: 30px;
  background: #ffffff;
  border-radius: 8px;
  max-width: 420px;
  width: 43%;
}
.funds_box_data{
  width: 51%;
}
.subpage_funds_box .funds_title {
    font-style: normal;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.2;
    margin: 0;
    color: #055BB7;
}
.funds_date {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    border-bottom: 1px solid rgb(32 33 40 / 40%);
    gap: 20px;
}
.funds_date_ttl{
    font-size: 1rem;
    font-weight: 500;
}
.funds_date_value{
  font-size: 1.8rem;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
}
.funds_date_value .yen{
  font-size: 1rem;
  font-weight: 500;
  padding-left: 5px;
}
.funds_date_rate{
  font-size: 1rem;
  font-weight: 500;
  display: block;
  margin-top: 4px;
}
.funds_date_time{
  font-size: 1rem;
  font-weight: 500;
  margin-top: 12px; 
  display: block;
  text-align: right;
  font-family: "Noto Sans JP", sans-serif;
}
.funds_date_value.funds_date_value_cl{
  color: #055BB7;
}
.funds_links_box {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    gap: 15px 30px;
    list-style: none;
}
.funds_item {
    border-bottom: solid 1px #202128;
}
.funds_btn {
    display: flex;
    align-items: center;
    font-size: 0.95rem;
    font-weight: 500;
    transition: .3s;
    padding: 15px 0;
    width: 100%;
    justify-content: space-between;
    position: relative;
    line-height: 1.3;
    height: 100%;
}
.funds_circle {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden;
    flex-shrink: 0;
}
.funds_circle img {
    max-width: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.funds_btn:hover .funds_circle img  {
  animation: arrowMove 0.8s ease-in-out;
}
.funds_btn:hover{
  color: #055BB7;
}
.funds_btn_sub{
  font-size: 0.7rem;
  display: block;
  margin-top: 1px;
}
.funds_date:first-child {
  padding-top: 0px;
}
.funds_supplement{
  display: flex;
  margin-top: 15px;
}
.funds_supplement_text{
  font-size: 0.8rem;
  font-weight: 400;
  display: inline-block;
  margin-left: auto;
  line-height: 1.4;
  color: #666666;
}
.subpage_funds_box{
  margin-bottom: 70px;
}
.funds_date_value_pre{
  text-align: right;
  display: block;
}
.funds_introduction_fx{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: clamp(35px, 4.7vw, 70px);
}
.funds_introduction_ttl{
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: #055BB7;
  margin-top: 23px;
}
.funds_introduction_sub{
  font-size: 0.88rem;
  font-weight: 500;
  display: block;
}
.funds_introduction_text{
  font-size: 0.95rem;
  line-height: 1.5;
  margin-top: 8px;
  transition: .3s;
}
.funds_introduction_link:hover .funds_introduction_text{
  opacity: 0.7;
}
.funds_introduction_img{
  border-radius: 10px;
  aspect-ratio: 88 / 57;
  object-fit: cover;
  max-width: 100%;
}
.funds_introduction_btn_box {
    text-align: right;
    margin-top: 13px;
}
.funds_introduction_btn {
    display: inline-flex;
    align-items: center;
    font-size: 1rem;
    font-weight: 700;
    transition: .3s;
}
.funds_introduction_link {
    display: block;
    transition: .3s;
}
.funds_introduction_circle {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: #202128;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden;
}
.funds_introduction_circle img {
    max-width: 19px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.funds_introduction_link:hover .funds_introduction_btn {
    color: #055BB7;
}
.funds_introduction_link:hover .funds_introduction_circle {
    background-color: #055BB7;
}
.funds_introduction_link:hover .funds_introduction_circle img {
    animation: arrowMove 0.8s ease-in-out;
}
.introduction_funds_contents{
    background: rgb(194 216 226 / 50%);
    margin: 0 calc(50% - 50vw);
    padding: 80px calc(50vw - 50% + 8px);
    width: 100vw;
    padding-bottom: 20vh;
}
.subpage_funds_contents{
  padding-bottom: 80px;
}
.subpage_funds_box:last-child{
  margin-bottom: 0px;
}
.funds_contact_area{
  margin-top: 70px;
  padding-top: 70px;
  border-top: solid 1px #87B4C6;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.funds_contact_ttl{
  font-size: 1.25rem;
  font-weight: 700;
  color: #055BB7;
  line-height: 1.2;
}
.funds_tel_link{
  font-size: 1.5rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  transition: .3s;
}
.funds_tel_link:hover{
  color: #055BB7;
}
.funds_tel_img{
  max-width: 29px;
  margin-right: 7px;
}
.funds_mail_img{
  max-width: 29px;
  margin-right: 11px;
}
.funds_tel_text{
  font-size: 0.88rem;
  font-weight: 400;
  line-height: 1.3;
  display: block;
  margin-top: 2px;
  color: #666666;
}
.funds_mail_link{
  font-size: 1.25rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  transition: .3s;
}
.funds_mail_link:hover{
  color: #055BB7;
}
.funds_contact_box{
  display: flex;
  align-items: center;
}
.funds_tel_box{
  padding-right: clamp(20px, 2.7vw, 36px);
  border-right: 1px solid rgb(32 33 40 / 40%);
}
.funds_mail_box{
  padding-left: clamp(20px, 2.7vw, 36px);
  padding-right: clamp(20px, 2.7vw, 36px);
}
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}
@media screen and (max-width: 768px){
  .page_fs_p {
    padding: 60px;
    padding-right: clamp(25px, 4.6vw, 60px);
    padding-left: clamp(25px, 4.6vw, 60px);
    padding-bottom: 0vh;
}
.subpage_funds_contents {
    padding-bottom: 60px;
}
.introduction_funds_contents{
    padding: 60px calc(50vw - 50% + 8px);
    padding-right: clamp(25px, 4.6vw, 60px);
    padding-left: clamp(25px, 4.6vw, 60px);
    padding-bottom: 17vh;
}
.funds_box_fx {
    flex-direction: column;
}
.funds_box_value {
    max-width: 100%;
    width: 100%;
    margin-bottom: 30px;
}
.funds_box_data {
    width: 100%;
}
.funds_introduction_fx {
    gap: clamp(35px, 6.1vw, 50px);
    flex-direction: column;
}
.funds_contact_area {
    margin-top: 60px;
    padding-top: 60px;
    align-items: baseline;
    flex-direction: column;
}
.funds_mail_box {
    padding-right: 0;
}
.funds_contact_ttl {
    font-size: 1rem;
}
.funds_mail_link {
    font-size: 1rem;
}
.funds_mail_img {
    margin-right: 10px;
    max-width: 22px;
}
.funds_tel_img {
    max-width: 22px;
}
.funds_tel_text {
    font-size: 0.8rem;
}
.funds_tel_link {
    font-size: 1.4rem;
}
}
@media screen and (max-width: 480px){
.subpage_funds_box .funds_title {
    font-size: 1.8rem;
}
.funds_date_ttl {
    font-size: 0.95rem;
}
.funds_date_value {
    font-size: 1.65rem;
}
.funds_date_value .yen {
    font-size: 0.95rem;
}
.funds_date_rate {
    font-size: 0.95rem;
}
.funds_date_time {
    font-size: 0.95rem;
}
.funds_links_box {
    gap: 15px 20px;
}
.funds_circle {
    width: 25px;
    height: 25px;
    margin-left: 15px;
}
.funds_circle img {
    max-width: 10px;
}
.funds_btn {
    font-size: 0.9rem;
}
.funds_supplement_text {
    font-size: 0.75rem;
}
.funds_introduction_ttl {
    font-size: 1.4rem;
    margin-top: 16px;
}
.funds_introduction_sub {
    font-size: 0.8rem;
    margin-top: 3px;
}
.funds_introduction_text {
    font-size: 0.9rem;
}
.funds_introduction_btn {
    font-size: 0.95rem;
}
.funds_introduction_circle {
    width: 50px;
    height: 50px;
    margin-left: 13px;
}
.funds_introduction_circle img {
    max-width: 18px;
}
.funds_contact_box {
    flex-direction: column;
    width: 100%;
    text-align: center;
}
.funds_tel_box {
    padding-right: 0;
    border-bottom: 1px solid rgb(32 33 40 / 40%);
    padding-bottom: 15px;
    border-right: 0;
    width: 100%;
}
.funds_mail_box {
    padding-top: 15px;
    padding-left: 0;
}
.funds_contact_area {
    padding-top: 50px;
    gap: 15px;
}
.funds_contact_ttl {
    margin: auto;
}
}

/* 販売会社一覧アコーディオン */
.panel {
    border-radius: 8px;
    background: #ffffff;
}
.panel-header {
    width: 100%;
    padding: 15px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 500;
    text-align: left;
    border-radius: 8px;
    position: relative;
}
.panel-header::before,
.panel-header::after{
  position:absolute;
  content:'';
  top:1px;
  right: 20px;
  bottom: 0;
  width: 20px;
  height: 2px;
  margin: auto;
  background: #055BB7;
  border-radius: 6px;
}
.panel-header::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
.panel-header.active::after{
  transform:rotate(0deg);
}

.panel-content {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out;
}
.panel-body {
    padding: 0px 40px;
    background: #ffffff;
    border-radius: 8px;
}
.sales_company_box{
  list-style: none;
  border-top: 1px solid rgb(32 33 40 / 40%);
  padding: 30px 0;
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
}
.sales_company_list {
    display: inline-flex;
    font-weight: 400;
    font-size: 0.9rem;
    position: relative;
    padding-left: 12px;
    transition: .3s;
    line-height: 1.5;
}
.sales_company_list:hover {
    opacity: 0.7;
}
.sales_company_list::before {
    display: block;
    position: absolute;
    top: 9px;
    bottom: 0;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #055BB7;
    content: "";
}
@media screen and (max-width: 480px){
.panel-body {
    padding: 0px 30px;
}
.sales_company_list {
    font-size: 0.88rem;
}
.sales_company_box {
    padding: 25px 0;
}
.panel-header {
    font-size: 0.95rem;
}
.panel-header::before, .panel-header::after {
    right: 17px;
    width: 17px;
}
}

/* 運用戦略ページ */
.page_strategies_contents {
    max-width: 1040px;
    margin: auto;
    padding-bottom: 10vh;
}
.strategies_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(35px, 4.7vw, 64px);
  width: 100%;
  margin-bottom: 70px;
  padding-bottom: 70px;
  border-bottom: solid 1px #87B4C6;
}
.strategies_text{
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}
.strategies_img{
  width: 45%;
  min-width: 220px;
}
.strategies_text_box{
  padding-left: clamp(23px, 7.3vw, 94px);
  padding-top: clamp(20px, 4.5vw, 50px);
}
.strategies_figure_flex{
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: clamp(35px, 4.7vw, 60px);
  width: 100%;
}
.strategies_figure_img{
  width: 109%;
  min-width: 320px;
}
.strategies_figure_text{
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 768px){
.strategies_flex {
    flex-direction: column-reverse;
}
.strategies_text {
    font-size: 0.95rem;
}
.strategies_img {
    width: 80%;
}
.strategies_flex {
    gap: 30px;
    margin-bottom: 60px;
    padding-bottom: 60px;
}
.strategies_figure_flex {
    flex-direction: column;
}
.strategies_figure_img {
    width: 100%;
    padding-left: clamp(23px, 5vw, 90px);
}
.strategies_text_box {
    padding-top: clamp(20px, 5vw, 45px);
    padding-left: clamp(23px, 5vw, 90px);
}
.strategies_figure_text{
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
}
}
@media screen and (max-width: 480px){
    .strategies_text {
        font-size: 0.9rem;
    }
    .strategies_flex {
        gap: 23px;
    }
    .strategies_img {
        width: 90%;
    }
}

/* ファンド/運用戦略扉ページ */
.page_funds-strategies_contents {
    max-width: 1040px;
    margin: auto;
    padding-bottom: 10vh;
}
.funds-strategies_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(35px, 6.2vw, 90px);
    width: 100%;
}
.funds-strategies_flex:first-child{
    margin-bottom: 70px;
    padding-bottom: 70px;
    border-bottom: solid 1px #87B4C6;
}
.funds-strategies_text {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
}
.funds-strategies_text_box {
    padding-left: clamp(23px, 5vw, 90px);
    padding-top: clamp(20px, 3.8vw, 42px);
}
.funds-strategies_btn_box{
    text-align: right;
    margin-top: 13px;
}
.funds-strategies_btn {
    display: inline-flex;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 700;
    transition: .3s;
}
.funds-strategies_btn:hover {
    color: #055BB7;
}
.funds-strategies_circle {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background-color: #202128;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden;
}
.funds-strategies_btn:hover .funds-strategies_circle {
    background-color: #055BB7;
}
.funds-strategies_circle img {
    max-width: 24px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.funds-strategies_btn:hover .funds-strategies_circle img {
    animation: arrowMove 0.8s ease-in-out;
}
.funds-strategies_img{
    max-width: 372px;
    min-width: 235px;
    padding-right: clamp(20px, 2.6vw, 42px);
}
@media screen and (max-width: 768px){
  .funds-strategies_text {
    font-size: 0.95rem;
    line-height: 1.7;
}
.funds-strategies_btn {
    font-size: 1rem;
}
.funds-strategies_circle {
    width: 58px;
    height: 58px;
}
.funds-strategies_circle img {
    max-width: 21px;
}
.funds-strategies_img_box{
    padding-left: clamp(23px, 5vw, 90px);
    margin-top: clamp(20px, 5vw, 45px);
}
.funds-strategies_img {
    padding-right: 0;
    margin: auto;
    width: 80%;
}
.funds-strategies_flex:first-child{
    margin-bottom: 60px;
    padding-bottom: 60px;
}
}
@media screen and (max-width: 480px){
.funds-strategies_img {
    width: 90%;
}
}

/* CSR・社会的責任 */
.csr_timeline{
    display: flex;
    align-items: baseline;
    padding-bottom: 20px;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    gap: 30px;
}
.csr_timeline:first-child{
    padding-top: 3px;
}
.csr_timeline:last-child{
    padding-bottom: 5px;
}
.csr_timeline_y{
    color: #055BB7;
    font-weight: 700;
    width: 65px;
    flex-shrink: 0;
}
.csr_timeline dd a{
    color: #055BB7;
    transition: .3s;
}
.csr_timeline dd a:hover{
    opacity: .7;
}
.page_csr {
    background: rgb(244 244 244 / 66%);
    margin-top: 0;
    padding-bottom: 10vh;
}
.column_grid_csr {
    display: grid;
    grid-template-columns: 250px 1fr;
    padding: 0 0 0 40px;
    margin-right: auto;
    margin-left: auto;
}
.csrpage_title{
    font-style: normal;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.3;
    margin: 0;
    color: #055BB7;
}
.csrpage_sub_text{
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
}
.csrpage_text{
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.5;
}
.csrpage_sub_box{
    /* padding-left: clamp(23px, 4.6vw, 80px); */
    padding-top: 15px;
}
.csrpage_wrapper {
    width: min(100%, 880px);
    margin: 0 auto;
}
.csrpage_box{
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid rgb(32 33 40 / 40%);
}
.csrpage_seciton{
    padding-right: clamp(20px, 6.2vw, 100px);
}
.csrpage_seciton:last-child{
    padding-bottom: 10vh;
}
.csrpage_box_mt{
    margin-top: 30px;
}
.bt_csrpage_seciton {
    padding-top: 70px;
    border-top: solid 1px #87B4C6;
}
.pb_csr_seciton {
    padding-bottom: 70px;
}
@media screen and (max-width: 768px){
  .column_grid_csr{
    display: block;
    padding-left: clamp(25px, 4.6vw, 60px);
  }
  .column_grid_csr .subpage_list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .csrpage_seciton{
    padding-right: clamp(25px, 4.6vw, 60px);
  }
}
@media screen and (max-width: 480px){
  .column_grid_csr .subpage_list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .pb_csr_seciton {
      padding-bottom: 50px;
  }
  .bt_csrpage_seciton {
      padding-top: 50px;
  }
  .csr_timeline {
      font-size: 0.88rem;
      gap: 20px;
      padding-bottom: 15px;
  }
  .csrpage_title {
    font-size: 1.3rem;
}
.csrpage_text {
    font-size: 0.95rem;
}
.csrpage_box_mt {
    margin-top: 23px;
}
.csrpage_sub_text {
    font-size: 0.88rem;
}
}

/* サイトマップページ */
.sitemap_item_head_mt{
  margin-top: 60px;
}
.page_sitemap_contents {
  margin: auto;
  padding-bottom: 10vh;
  max-width: 1080px;
}
.subpage_sitemap_content_inner {
  margin: 0 auto;
  width: 100%;
  gap: 0;
  position: relative;
  gap: clamp(30px, 4.2vw, 45px);
  box-sizing: border-box;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.subpage_sitemap_box{
  list-style: none;
}
.sitemap_item_head {
    border-bottom: solid 1px #202128;
}
.sitemap_item_head_btn {
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 700;
    transition: .3s;
    padding: 15px 0;
    width: 100%;
    justify-content: space-between;
    position: relative;
    line-height: 1.3;
    color: #055bb7;
}
.sitemap_item_head_btn:hover {
    color: #202128;
}
.sitemap_item_head_circle {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden;
    flex-shrink: 0;
}
.sitemap_item_head_circle img {
    max-width: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.sitemap_item_head_btn:hover .sitemap_item_head_circle img {
    animation: arrowMove 0.8s ease-in-out;
}
.sitemap_nav_menu_box {
    padding-left: 10px;
    padding-right: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    list-style: none;
    margin-top: 23px;
}
.sitemap_item_sub_btn {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    text-decoration: none;
    line-height: normal;
    font-size: 0.95rem;
    font-weight: 400;
    transition: transform .6s cubic-bezier(.16, 1, .3, 1);
}
.sitemap_nav_menu_box .sitemap_item_sub_btn::before {
    display: block;
    content: "";
    width: 7px;
    height: 1px;
    margin-right: 0.5rem;
    background-color: #055BB7;
}
.sitemap_item_sub_btn:hover {
    transform: translate(4px);
}
.sitemap_item_sub_circle {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 9px;
    transition: .3s;
    overflow: hidden;
    flex-shrink: 0;
    display: none;
}
.sitemap_item_sub_btn:hover .sitemap_item_sub_circle {
    background-color: #055BB7;
}
.sitemap_item_sub_circle img {
    max-width: 9px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.sitemap_item_sub_btn:hover .sitemap_item_sub_circle img {
    animation: arrowMove 0.8s ease-in-out;
}
.sitemap_item_head_ttl {
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 700;
    padding: 15px 0;
    width: 100%;
    line-height: 1.3;
}
#footer_nav.subpage_sitemap_content_inner a {
    display: inline-flex;
    align-items: center;
    font-size: 0.85rem;
    font-weight: 400;
    transition: .3s;
    justify-content: left;
    position: relative;
    line-height: 1.4;
    color: #666666;
}
#footer_nav.subpage_sitemap_content_inner a:hover {
    opacity: 0.6;
}

@media screen and (max-width: 768px){
    .subpage_sitemap_content_inner {
        grid-template-columns: repeat(1, 1fr);
    }
    .sitemap_nav_menu_box {
        margin-top: 20px;
    }
    .sitemap_item_head_mt {
        margin-top: 35px;
    }
    .subpage_sitemap_content_inner_g{
        gap: 0;
    }
    .subpage_sitemap_box_mt {
        margin-top: 15px;
    }
    .sitemap_nav_menu_box_mt {
        margin-top: 0px;
    }
}

/* その他ページ */
.materialpolicy .subpage_header_title {
    font-size: 2.4rem;
    line-height: 1.3;
}
.policy .subpage_header_title,
.derivative .subpage_header_title,
.opinion .subpage_header_title,
.policyofblanketorder .subpage_header_title {
    font-size: 3.2rem;
}
.stewardshipcode .subpage_header_title {
    font-size: 3rem;
    line-height: 1.2;
}
.page_contents_box p {
    font-size: 0.95rem;
    line-height: 1.7;
    font-weight: 400;
    margin: 12px 0px 12px 0px;
}
.page_contents_box .numlist{
    list-style: none;
    padding-left: 0;
}
.page_contents_box h3{
    font-size: 1.4rem;
    font-weight: 600;
    padding-bottom: 6px;
    border-bottom: solid 2px #055BB7;
    margin: 30px auto 20px;
    line-height: 1.3;
}
.page_contents_box h4{
    font-size: 1.3rem;
    font-weight: 700;
    margin: 20px 0 10px 0;
}
.page_contents_box h2{
    font-size: 1.5rem;
    font-weight: 600;
    padding-left: 20px;
    margin: 0px auto 30px;
    text-align: justify;
    position: relative;
}
.page_contents_box h2:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 6px;
    border-radius: 10px;
    background-color: #055BB7;
}
.page_contents_box .comTitle{
    font-size: 1.25rem;
    font-weight: 700;
    margin: 20px 0 0px 0;
}
.stewardshipcode .page_contents_box .numlist > li:first-child > .comTitle{
    margin: 10px 0 0px 0;
}
.page_contents_box .comText{
    margin: 5px 0px 25px 0px;
}
.page_contents_box table {
    line-height: 1.5;
}
.page_contents_box ol li{
    font-size: 0.95rem;
    margin-bottom: 10px;
}
.page_contents_box ol{
    margin-bottom: 20px;
    padding-left: 20px;
    list-style-position: outside;
}
.page_contents_box strong {
    font-weight: 700;
    font-size: 1rem;
}
.page_contents_box a {
    padding-bottom: 1px;
    background-image: linear-gradient(#055BB7, #055BB7);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 0 1px;
    transition: background-size 0.3s;
    color: #055BB7;
}
.page_contents_box a:hover {
    background-position: bottom left;
    background-size: 100% 1px;
}
.page_contents_box address{
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.5;
}
.page_contents_box ol.numlist li {
    padding-bottom: 5px;
}
.page_contents_box ol.numlist li li {
    padding-bottom: 0;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.6;
}
.page_contents_box .subpage_common_btn {
    display: inline-flex;
    align-items: center;
    font-size: 1rem;
    font-weight: 600;
    transition: .3s;
    color: #202128;
    background-image: none;
}
.page_contents_box .subpage_common_btn:hover {
    color: #055BB7;
}
.page_contents_box .subpage_common_circle {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #202128;
    position: relative;
    margin-left: 11px;
    transition: .3s;
    overflow: hidden;
}
.page_contents_box .subpage_common_btn:hover .subpage_common_circle {
    background-color: #055BB7;
}
.page_contents_box .subpage_common_circle img {
    max-width: 13px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.page_contents_box .subpage_common_btn:hover .subpage_common_circle img {
    animation: arrowMove 0.8s ease-in-out;
}
.page_contents_box ul.numlist li li {
    padding-bottom: 0;
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.5;
}
.page_contents_box ul{
    list-style-type: disc;
    padding-left: 20px;
    list-style-position: outside;
}

.policyofblanketorder .page_contents_box .numlist > li:first-child > h3,.feesandrisk .page_contents_box .numlist > li:first-child > h3,.cs_policy .page_contents_box .numlist > li:first-child > h3,.product-governance .page_contents_box .numlist > li:first-child > h3 {
    margin: 0px auto 20px;
}
.page_contents_box ol.tabletypem0 {
    counter-reset: number1;
    list-style: none;
    margin: 3em 0;
    padding: 0;
    width: 100%;
    gap: 25px 25px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.page_contents_box ol.tabletypem0 li {
    padding: 20px 40px 30px;
    margin: -1px 0 -1px -1px;
    box-sizing: border-box;
    display: block;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    text-align: center;
    background: #ffffff;
    border-radius: 10px;
    text-align: left;
    line-height: 1.5;
}
.page_contents_box ol.tabletypem0 li:before {
    counter-increment: number1;
    content: counter(number1)".";
    color: #055BB7;
    font-size: 2rem;
    font-weight: 600;
    display: block;
    text-align: center;
}
.site_policy .site_policy_link a{
    pointer-events: none;
    cursor: default;
    opacity: 0.4; 
}
.sns_policy .sns_policy_link a{
    pointer-events: none;
    cursor: default;
    opacity: 0.4;
}
.page_contents_box .sub_page_select_box {
    list-style: none;
    padding-left: 0;
    margin-bottom: 60px;
}
.page_contents_box .sub_page_select_item {
    border-bottom: solid 1px #202128;
    margin: auto;
    width: 50%;
}
.site_policy .page_contents_box .site_policy_link{
    border-bottom: 1px solid rgb(32 33 40 / 40%);
    width: 50%;
    margin: auto;
}
.sns_policy .page_contents_box .sns_policy_link{
    border-bottom: 1px solid rgb(32 33 40 / 40%);
    width: 50%;
    margin: auto;
}
.page_contents_box .sub_page_select_btn {
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    font-weight: 700;
    transition: .3s;
    padding: 15px 0;
    width: 100%;
    justify-content: space-between;
    position: relative;
    line-height: 1.3;
    background-image: none;
    color: #202128;
}
.page_contents_box .sub_page_select_btn:hover {
    color: #055BB7;
}
.sub_page_select_circle {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden;
    flex-shrink: 0;
}
.sub_page_select_circle img {
    max-width: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.page_contents_box .sub_page_select_btn:hover .sub_page_select_circle img{
    animation: arrowMove 0.8s ease-in-out;
}
.giketuken .page_contents_box strong {
    font-size: 0.95rem;
}
.page_contents_box table th,td{
    border:1px solid rgb(32 33 40 / 100%);
    padding: 10px 15px;
    vertical-align: middle;
}
.page_contents_box table{
    border-collapse: collapse;
}
@media screen and (max-width: 768px){
    .materialpolicy .subpage_header_title {
        font-size: 1.9rem;
        line-height: 1.4;
    }
    .opinion .subpage_header_title,
    .derivative .subpage_header_title,
    .cs_policy .subpage_header_title,
    .product-governance .subpage_header_title,
    .site_policy .subpage_header_title,
    .sns_policy .subpage_header_title,
    .policy .subpage_header_title,
    .policyofblanketorder .subpage_header_title {
        font-size: 2.7rem;
    }
    .stewardshipcode .subpage_header_title {
        font-size: 2.5rem;
    }
    .page_contents_box .sub_page_select_item {
        width: 100%;
    }
}
@media screen and (max-width: 480px){
    .materialpolicy .subpage_header_title {
        font-size: 1.55rem;
    }
    .opinion .subpage_header_title,
    .policy .subpage_header_title,
    .derivative .subpage_header_title,
    .cs_policy .subpage_header_title,
    .product-governance .subpage_header_title,
    .site_policy .subpage_header_title,
    .sns_policy .subpage_header_title,
    .policyofblanketorder .subpage_header_title {
        font-size: 2.2rem;
    }
    .stewardshipcode .subpage_header_title {
        font-size: 2rem;
    }
    .page_contents_box p {
        font-size: 0.9rem;
    }
    .page_contents_box ol li{
        font-size: 0.9rem;
    }
    .page_contents_box ol.numlist li li {
        font-size: 0.9rem;
    }
    .page_contents_box address{
        font-size: 0.9rem;
    }
    .page_contents_box h3 {
        font-size: 1.3rem;
        margin: 25px auto 20px;
        line-height: 1.5;
    }
    .page_contents_box h4 {
        font-size: 1.25rem;
    }
    .page_contents_box .subpage_common_btn {
        font-size: 0.9rem;
    }
    .page_contents_box .subpage_common_circle {
        width: 28px;
        height: 28px;
        margin-left: 9px;
    }
    .page_contents_box .subpage_common_circle img {
        max-width: 11px;
    }
    .page_contents_box strong {
        font-size: 0.95rem;
    }
    .page_contents_box .comTitle {
        font-size: 1.2rem;
    }
    .page_contents_box .sub_page_select_btn {
        font-size: 1rem;
        padding: 13px 0;
    }
    .page_contents_box .sub_page_select_box {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 20px;
        margin-bottom: 50px;
    }
    .sub_page_select_circle {
        width: 34px;
        height: 34px;
    }
    .sub_page_select_circle img {
        max-width: 13px;
    }
    .giketuken .page_contents_box strong {
        font-size: 0.9rem;
    }
    .page_contents_box ol.tabletypem0 {
        gap: 20px 25px;
        grid-template-columns: repeat(1, 1fr);
    }
    .page_contents_box ol.tabletypem0 li {
        padding: 15px 30px 20px;
    }
    .page_contents_box ol.tabletypem0 li:before {
        font-size: 1.8rem;
    }
    .page_contents_box table th, td {
        padding: 10px 10px;
    }
}

/* 404ページ */
.notpage_p_contents{
    max-width: 900px;
    margin: auto;
    padding-bottom: 10vh;
}
.notpage_header_title{
    font-size: 3.2rem;
}
.not_found_box{
    text-align: center;
}
.not_found_box p{
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 500;
}
.not_found_btn_box{
    text-align: center;
    margin-top: 13px;
    margin-top: 20px; 
}
.not_found_box .not_found_title{
    font-size: 9.3rem;
    line-height: 1;
    margin-bottom: 30px;
}
@media screen and (max-width: 768px){
    .notpage_header_title {
        font-size: 2.7rem;
    }
    .not_found_box p {
        font-size: 0.95rem;
    }
}
@media screen and (max-width: 480px){
    .notpage_header_title {
        font-size: 2.2rem;
    }
    .not_found_box .not_found_title {
        font-size: 8rem;
        margin-bottom: 20px;
        text-align: center;
    }
    .not_found_box p {
        font-size: 0.9rem;
        text-align: left;
    }
}

#lang-contents{
    height: 100%;
    position: relative;
    background: linear-gradient(145deg, #C2D8E2, #FFFFFF);
    /* min-height: 100vh; 
    height: 100vh;*/
    overflow: hidden;
}
.lang_selection_bg{
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: clamp(30px, 8.6vw, 85px);
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
}
.lang_selection_fx{
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    max-width: 950px;
    background: rgb(255 255 255 / 80%);
    border-radius: 20px;
    padding: clamp(40px, 5.2vw, 70px);
    width: 100%;
    gap: clamp(40px, 5.3vw, 72px);
    margin: auto;
}
.lang_selection_btn_area{
    width: 50%;
}
.lang_selection_item {
    border-bottom: solid 1px #202128;
    width: 100%;
}
.lang_selection_box {
    display: flex;
    flex-direction: column;
    gap: 20px 30px;
    list-style: none;
}
.lang_selection_btn {
    display: flex;
    align-items: center;
    font-size: 1rem;
    font-weight: 700;
    transition: .3s;
    padding: 14px 0;
    width: 100%;
    justify-content: space-between;
    position: relative;
    line-height: 1.3;
}
.lang_selection_btn:hover {
    color: #055BB7;
}
.lang_selection_circle {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden;
    flex-shrink: 0;
}
.lang_selection_circle img {
    max-width: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.lang_selection_btn:hover .lang_selection_circle img {
    animation: arrowMove 0.8s ease-in-out;
}
.lang_selection_text_area p{
    font-size: 0.88rem;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 12px;
}
.lang_selection_text_area p:last-child{
    margin-bottom: 0px;
}
.lang_selection_link{
    display: block;
    width: 35%;
    height: auto;
}

@media screen and (max-width: 768px){
    .lang_selection_bg {
        padding-left: clamp(25px, 4.6vw, 60px);
        padding-right: clamp(25px, 4.6vw, 60px);
    }
    .lang_selection_btn_area{
        width: 100%;
        max-width: 100%;
    }
    .lang_selection_link {
        width: 80%;
        margin: auto;
    }
}
@media screen and (max-width: 480px){
    .lang_selection_fx {
        padding: clamp(30px, 5.2vw, 35px);
        display: block;
    }
    .lang_selection_box {
        gap: 20px;
        width: 100%;
        flex-direction: column;
        margin-top: 20px;
    }
    .lang_selection_text_area p {
        font-size: 0.85rem;
        margin-bottom: 11px;
    }
    .lang_selection_btn {
        font-size: 0.95rem;
    }
    .lang_selection_circle {
        width: 32px;
        height: 32px;
    }
}

/* ローディング */
.loading_area {
    background: #ffffff;
    position: fixed;
    width: 100%;
    height: 100vh;
    z-index: 10000;
    opacity: 0.8;
}
.loading_area .loading_text_box {
    position: absolute;
    margin: auto;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}
.loading_area .loading_text {
    font-family: "Jost", sans-serif;
    font-weight: 500;
    font-size: clamp(40px, 6.4vw, 70px);
    text-align: center;
    white-space: nowrap;
    line-height: 1.3;
    position: relative;
}
.loading_area .display_pc { display: block; }
.loading_area .display_sp { display: none; }

.loading_area .blue_text{ color: #055BB7; }
.loading_area .line {
  position: relative;
  display: inline-block;
  margin-bottom: clamp(11px, 1.1vw, 15px);
  margin-top: clamp(11px, 1.1vw, 15px);
}

.loading_area .line_wrap {
  display: inline-block;  
  opacity: 0;
}
.loading_area .line:after {
  content: "";
  position: absolute;
  z-index: 999;
  width: 0%;
  height: 100%;
  opacity: 1;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  background-color: #055BB7;
}

.loading_area .line_wrap {
  display: inline-block;  
  opacity: 0;
}


/*アニメーション設定*/
.loading_area.op-start .line::after { animation: band-animation 4s ease-in-out forwards; }
@keyframes band-animation {
  0%   {
    left: 0;
    right: auto;
    width: 0;
  }
  8%  {
    left: 0;
    right: auto;
    width: 100%;
  }
  12%  {
    left: auto;
    right: 0;
    width: 100%;
  }
  20% {
    width: 0;
    left: auto;
    right: 0;
  }
  100% {
    width: 0;
    left: auto;
    right: 0;
  }
}
/* lineごとのアニメーション遅延（上から順に遅延） */
.loading_area.op-start .display_pc .line:nth-of-type(1)::after { animation-delay: 0ms; }
.loading_area.op-start .display_pc .line:nth-of-type(2)::after { animation-delay: 100ms; }

.loading_area.op-start .display_sp .line:nth-of-type(1)::after { animation-delay: 0ms; }
.loading_area.op-start .display_sp .line:nth-of-type(2)::after { animation-delay: 100ms; }
.loading_area.op-start .display_sp .line:nth-of-type(3)::after { animation-delay: 200ms; }
.loading_area.op-start .display_sp .line:nth-of-type(4)::after { animation-delay: 300ms; }

/*.loading_area.op-start .line_wrap { animation: text-fade 4s linear forwards, text-blur 4s linear forwards; }*/
.loading_area.op-start .line_wrap { animation: text-fade 4s linear forwards; }
@keyframes text-fade {
  0%   {
    opacity: 0; 
  }
  10%  {
    opacity: 0; 
  }
  11%  {
    opacity: 1; 
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
/* lineごとのアニメーション遅延（上から順に遅延） */
.loading_area.op-start .display_pc .line:nth-of-type(1) .line_wrap { animation-delay: 0ms; }
.loading_area.op-start .display_pc .line:nth-of-type(2) .line_wrap { animation-delay: 100ms; }

.loading_area.op-start .display_sp .line:nth-of-type(1) .line_wrap { animation-delay: 0ms; }
.loading_area.op-start .display_sp .line:nth-of-type(2) .line_wrap { animation-delay: 100ms; }
.loading_area.op-start .display_sp .line:nth-of-type(3) .line_wrap { animation-delay: 200ms; }
.loading_area.op-start .display_sp .line:nth-of-type(4) .line_wrap { animation-delay: 300ms; }

.loading_area.op-start .loading_text { animation: text-blur 4s linear forwards; }
@keyframes text-blur {
  0%   {
    -ms-filter: blur(0);
    filter: blur(0);
  }
  40%  {
    -ms-filter: blur(0);
    filter: blur(0);
  }
  100% {
    -ms-filter: blur(50px);
    filter: blur(50px);
  }
}

.loading_area.op-start { animation: hide-area 4s linear forwards }
@keyframes hide-area {
  0%   {
    opacity: 1;
  }
  50%  {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


@media screen and (max-width: 768px){
  .loading_area .loading_text {
      font-size: clamp(42px, 9.6vw, 70px);
  }
  .loading_area .display_pc { display: none; }
  .loading_area .display_sp { display: block; }

  .loading_area .line {
    margin-bottom: clamp(9px, 2.1vw, 15px);
    margin-top: clamp(9px, 2.1vw, 15px);
  }
}

/* 英語ページ */
body.en{
    font-family: "Jost", sans-serif;
}
.en-st{
    top: inherit; 
}
#en_group {
    background: #c2d8e2;
}
.en_top_title_box {
    padding-right: 7%;
}
.en_top_title_emphasis {
    color: #055BB7;
}
.en_top_title_box .top_title .top_title_indent {
    margin-left: 0.75em;
}
.en_top_title_box .top_title .top_title_indent.second {
    margin-left: 1em;
}
.en_top_title_box .top_title {
    font-size: clamp(2.8rem, 5.1vw, 5.1rem);
    font-weight: 600;
}
.en_top_title_box .top_fv_text {
    font-size: clamp(1rem, 1.9vw, 1.13rem);
}
.en_main_title {
    font-weight: 600;
}
.en_company_box {
    margin-top: 50px;
}
.en_company_data:first-child {
    padding-top: 0px;
}
.en_company_data:last-child {
    border-bottom: none;
    padding-bottom: 0px;
    padding-top: 24px;
}
.en_company_data {
    display: flex;
    align-items: baseline;
    padding: 24px 0;
    border-bottom: 1px solid rgb(32 33 40 / 35%);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
}
.en_company_data_ttl {
    flex-shrink: 0;
    width: 220px;
    font-weight: 700;
    padding-right: 20px;
}
.en_company_data dd {
    width: calc(100% - 220px);
}
.en_group_box{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    display: grid;
    gap: 30px 30px;
    list-style: none;
}
.en_group_item {
    border-bottom: solid 1px #202128;
}
.en_group_btn {
    display: flex;
    align-items: center;
    font-size: 1rem;
    font-weight: 700;
    transition: .3s;
    padding: 15px 0;
    width: 100%;
    justify-content: space-between;
    position: relative;
    line-height: 1.3;
}
.en_group_btn:hover {
    color: #055BB7;
}
.en_group_circle {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #055BB7;
    position: relative;
    margin-left: 16px;
    transition: .3s;
    overflow: hidden;
    flex-shrink: 0;
}
.en_group_circle img {
    max-width: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transition: transform 0.6s ease-in-out;
}
.en_group_btn:hover .en_group_circle img {
    animation: arrowMove 0.8s ease-in-out;
}
 .br_pc {
    display: none;
}
.br_s{
    display: none;
}
.top_title_indent_pc{
    margin-left: 0.55em;
}
@media screen and (max-width: 768px){
    .top_title_indent_pc{
        margin-left: 0em;
    }
    .en_top_title_box .top_title .top_title_indent {
        margin-left: 0;
    }
    .en_top_title_box .top_title .top_title_indent.third {
        margin-left: 0.75em;
    }
    .en_top_title_box .top_title .top_title_indent.fourth {
        margin-left: 1.3em;
    }
    .en_top_title_box .top_title {
        line-height: 1.1;
    }
    .en_top_title_box .top_title {
        font-size: clamp(2.25rem, 7.2vw, 5rem);
    }
    .en_top_title_box .top_fv_text {
        font-size: clamp(0.9rem, 2.3vw, 1.13rem);
    }
    .en #mv {
        height: clamp(75vh, 120vw, 84vh);
    }
    .en_company_data{
        flex-direction: column;
        gap: 12px;
    }
    .en_company_data_ttl {
        width: 100%;
        padding-right: 0px;
    }
    .en_company_data dd {
        width: 100%;
    }
    .en_top_title_box .top_title .top_title_indent.second {
        margin-left: 0;
    }
    .en_top_title_box {
        padding-right: 25px;
    }
    .en_company_box {
        margin-top: 40px;
    }
    .br_pc{
        display: none;
    }
}
@media screen and (max-width: 480px){
    .en .video_wrap::after {
        height: 59vh;
    }
    .en #mv {
        height: clamp(83vh, 120vw, 84vh);
    }
    .en_top_title_box .top_title {
        font-size: clamp(2rem, 8.9vw, 5rem);
    }
    .en_top_title_box .top_fv_text {
        font-size: 1.05rem;
    }
    .br_s{
        display: inline-block;
    }
    .en_top_title_box .top_title .top_title_indent.fourth {
        margin-left: 0;
        display: inline;
    }
    .br_sn{
        display: none;
    }
    .top_title_indent_third_sp{
        margin-left: 1.3em;
    }
    .top_title_indent_fourth_sp{
        margin-left: 1.95em;   
    }
    .en_top_title_box {
        /*width: auto;*/
        padding-right: 0;
    }
    .en_company_data {
        padding: 20px 0;
        font-size: 0.95rem;
        gap: 10px;
    }
    .en_company_box {
        margin-top: 40px;
    }
    .en_group_box {
        gap: 15px 20px;
    }
    .en_group_btn {
        font-size: 0.9rem;
    }
    .en_group_circle {
        width: 30px;
        height: 30px;
        margin-left: 15px;
    }
    .en_group_circle img {
        max-width: 11px;
    }
}
@media screen and (max-width: 375px){
    .en #mv {
        height: clamp(75vh, 172vw, 87vh);
    }
}


/* なみなみ */
canvas{
    display:block;
}