/* ====説明（about-page__explanation)==== */
.about-page__explanation {
  padding: 11rem 1rem;
  position: relative;
}

/* 左コンテンツのコンテナ（1200px基準） */
.about-page__container {
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: 24px;
  position: relative;
  z-index: 2; /* 右画像の下に回らないように */
  display: flex;
}

/* 左カラム */
.about-page__explanation-left {
  width: 50%;
  max-width: 600px;
}

.about-page__explanation-title {
  font-size: 48px;
  line-height: 1.3;
  margin: 0 0 24px;
  font-weight: 800;
}

.about-page__explanation-lead {
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 10.5rem;
  margin-bottom: 4rem;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__explanation-text p {
  font-size: 2rem;
  line-height: 2;
  margin-bottom: 4.9rem;
  font-family: "Noto Sans JP", sans-serif;
}

/* 右画像コンテナ（1440px基準） */
.about-page__explanation-art-container {
  max-width: 1440px;
  margin: 0 auto;
}

/* 右画像本体 */
.about-page__explanation-art {
  position: absolute;
  top: 370px;        /* 無理なずらしは使わず上端基準 */
  right: 0;      /* 1440pxコンテナの右端に合わせる */
  width: 44%;
  min-width: 520px; /* 小さすぎ防止 */
}

.about-page__explanation-art img {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 896px) {

  /* 並び替えを管理するコンテナ化 */
  .about-page--older-container {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
  }

  /* 入れ子をフラット化して order を効かせる */
  .about-page--older-container .about-page__explanation-inner,
  .about-page--older-container .about-page__explanation-left {
    display: contents;
  }

  /* 並び順：01(h1+h2) → 02(右画像) → 03(本文) */
  .about-page--older-container .about-page__older-01 { order: 1; }
  .about-page--older-container .about-page__explanation-art-container { order: 3; max-width: none; margin: 0; }
  .about-page--older-container .about-page__older-03 { order: 4; }

  /* 左カラム幅リセット */
  .about-page--older-container .about-page__explanation-left {
    width: 100%;
    max-width: none;
  }

  /* 右画像を通常フローへ戻す */
  .about-page--older-container .about-page__explanation-art {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    min-width: auto;
    margin-top: 2rem;
  }

  /* 右画像の大きな余白対策：photoBox をレスポンシブ化 */
  .about-page--older-container .about-page__explanation-art .photoBox {
    width: min(100%, 720px);
    margin: 0 auto;
    /* 実配置に合わせた器の比率（微調整用） */
    aspect-ratio: 9 / 10; /* まだ下が余るなら 0.92 / 1、切れるなら 0.88 / 1 に調整 */
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .about-page--older-container .about-page__explanation-art .photoBox::before,
  .about-page--older-container .about-page__explanation-art .photoBox::after {
    content: none !important;
  }

  .about-page__explanation-lead {
    font-size: 3rem;
  }

  .about-page__explanation-text {
    /* width:95%; */
    padding: 0 2rem;
    margin: 0 auto;
  }

  .about-page__explanation-text p {
    font-size: 1.8rem;
    margin-bottom: 3rem;
  }
}


/* ===画像=== */
.about-page__explanation-art .photoBox {
  position: relative;
  aspect-ratio: 319 / 395;
  width: 720px;
}
.about-page__explanation-art .photoBox .obj {
  position: absolute;
  aspect-ratio: 1 / 1;
}

.about-page__explanation-art .photoBox.is-animated .obj {
  /*animation: 1s ease both move, 2s ease both blink;*/
}
.about-page__explanation-art .photoBox .obj[class*="photo"] {
  z-index: 1;
}
.about-page__explanation-art .photoBox .photo01 {
  width: 32.9%;
  top: 0;
  left: 336.47px;
}
.about-page__explanation-art .photoBox .photo02 {
  width: 39.5%;
  top: 96.75px;
  left: 83.89px;
  animation-delay: .6s;
}
.about-page__explanation-art .photoBox .photo03 {
  width: 19.6%;
  top: 182px;
  left: 43.47px;
  animation-delay: .1s;
}
.about-page__explanation-art .photoBox .photo04 {
  width: 22.3%;
  top: 350px;
  left: 110.47px;
  animation-delay: .9s;
}
.about-page__explanation-art .photoBox .photo05 {
  width: 26.3%;
  aspect-ratio: 168 / 335;
  top: 349.54px;
  left: 420.42px;
  animation-delay: 1s;
}
.about-page__explanation-art .photoBox .photo06 {
  width: 21.8%;
  top: 546px;
  left: 17.47px;
  animation-delay: .7s;
}
.about-page__explanation-art .photoBox .photo07 {
  width: 30.1%;
  top: 544px;
  left: 252.47px;
  animation-delay: .5s;
}
.about-page__explanation-art .photoBox .triangle1 {
  width: 47%;
  background: #E8131F;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  top: 48.75px;
  left: 336.68px;
  animation-delay: .4s;
}
.about-page__explanation-art .photoBox .triangle2 {
  width: 13.2%;
  background: #B1BDDB;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  top: 265.8px;
  left: 169.2px;
  animation-delay: .6s;
}
.about-page__explanation-art .photoBox .triangle3 {
  width: 13.2%;
  background: #FFD23C;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  top: 349.54px;
  left: 252.94px;
  animation-delay: 1s;
}
.about-page__explanation-art .photoBox .triangle4 {
  width: 13.2%;
  background: #08ADF5;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  top: 349.54px;
  left: 336.67px;
  animation-delay: .8s;
}
.about-page__explanation-art .photoBox .triangle5 {
  width: 39.5%;
  background: #FC7E17;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  top: 389.53px;
  left: 0;
  animation-delay: .9s;
}
.about-page__explanation-art .photoBox .triangle6 {
  width: 13.2%;
  background: #E8131F;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  top: 433.28px;
  left: 252.47px;
  animation-delay: 1s;
}
.about-page__explanation-art .photoBox .triangle7 {
  width: 13.2%;
  background: #009944;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  top: 433.28px;
  left: 504.16px;
  animation-delay: .6s;
}
.about-page__explanation-art .photoBox .triangle8 {
  width: 26.3%;
  background: #AFD505;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  top: 594px;
  left: 122.47px;
  animation-delay: .7s;
}
.about-page__explanation-art .photoBox .triangle9 {
  width: 13.2%;
  background: #0A81DE;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  top: 706.5px;
  left: 420.42px;
  animation-delay: .3s;
}

@keyframes move {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translate(0);
  }
}

/* ==========MVアニメーション追加=========== */
.about-page__explanation-art .photoBox .obj {
  opacity: 0;
  transform: translateY(var(--start-y, 48px));
  will-change: transform, opacity;
  transition:
    transform var(--dur, .8s) cubic-bezier(.22,.61,.36,1),
    opacity   var(--dur, .8s) cubic-bezier(.22,.61,.36,1);
  transition-delay: var(--delay, 0s);
}

.about-page__explanation-art .photoBox.is-animated .obj {
  opacity: 1;
  transform: translateY(0);
}

.about-page__explanation-art .photoBox .obj img {
  display: block;
  width: 100%;
  height: auto;
}

@media (prefers-reduced-motion: reduce) {
  .about-page__explanation-art .photoBox .obj {
    transition: none;
    transform: none;
    opacity: 1;
  }
}

/* ============ レスポンシブ対応 ============ */
@media (max-width: 896px) {

  .about-page__explanation-art .photoBox .photo01 { top: 0%;      left: 46.732%; }
  .about-page__explanation-art .photoBox .photo02 { top: 10.852%; left: 11.651%; }
  .about-page__explanation-art .photoBox .photo03 { top: 20.414%; left: 6.037%;  }
  .about-page__explanation-art .photoBox .photo04 { top: 39.258%; left: 15.343%; }
  .about-page__explanation-art .photoBox .photo05 { top: 39.206%; left: 58.392%; }
  .about-page__explanation-art .photoBox .photo06 { top: 61.243%; left: 2.426%;  }
  .about-page__explanation-art .photoBox .photo07 { top: 61.018%; left: 35.065%; }

  .about-page__explanation-art .photoBox .triangle1 { top: 5.468%;  left: 46.761%; }
  .about-page__explanation-art .photoBox .triangle2 { top: 29.814%; left: 23.500%; }
  .about-page__explanation-art .photoBox .triangle3 { top: 39.206%; left: 35.131%; }
  .about-page__explanation-art .photoBox .triangle4 { top: 39.206%; left: 46.760%; }
  .about-page__explanation-art .photoBox .triangle5 { top: 43.692%; left: 0%;      }
  .about-page__explanation-art .photoBox .triangle6 { top: 48.599%; left: 35.065%; }
  .about-page__explanation-art .photoBox .triangle7 { top: 48.599%; left: 70.022%; }
  .about-page__explanation-art .photoBox .triangle8 { top: 66.627%; left: 17.010%; }
  .about-page__explanation-art .photoBox .triangle9 { top: 79.245%; left: 58.392%; }
}

/* ====名前の由来（about-page__name)==== */
.about-page__name {
  padding: clamp(6rem, 8vw, 10rem) clamp(2rem, 6vw, 6rem);
  font-family: "Raleway", sans-serif;
}

.about-page__name-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(260px, 30%) minmax(0, 70%);
  column-gap: clamp(2rem, 3vw, 4rem);
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__name-wrapper > * { min-width: 0; }

.about-page__name-left {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__name-logo {
  width: 100%;
  margin: 4.2rem auto 0;
}

.about-page__name-logo svg,
.about-page__name-logo img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.about-page__name-brand {
  font-size: 4.8rem;
  font-weight: 700;
  color: #111;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__name-right {
  margin: -6rem 0 0 9.5rem;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__name-heading {
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 10px;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__name-subheading {
  font-size: 22px;
  color: #A5A5A5;
  margin-bottom: 2rem;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__name-text p {
  font-size: 20px;
  line-height: 2.1;
  font-weight: 400;
  margin-bottom: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
}

/* ====== Responsive (～896px)  ====== */
@media (max-width: 896px) {
  .about-page__name {
    padding: 6rem 2rem;
    margin: 150px 0 0;
  }

  .about-page__name-wrapper {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 2.4rem;
  }

  .about-page__name-left {
    margin: 0;
  }

  .about-page__name-right {
    margin: 3rem 0 0;
  }

  .about-page__name-logo {
    width: min(64vw, 36rem);
    margin: 0 auto;
  }

  .about-page__name-heading { font-size: 3rem; margin-bottom: 0.4rem; }
  .about-page__name-subheading { font-size: 1.8rem; margin-bottom: 1.2rem; }
  .about-page__name-text p { font-size: 1.8rem; line-height: 1.9; margin-bottom: 1.2rem; }
}

@media (max-width: 360px) {
  .about-page__name-heading { font-size: 2.6rem; }
  .about-page__name-subheading { font-size: 1.5rem; }
  .about-page__name-text p { font-size: 1.5rem; }
}



/* ====バリュー（about-page__value)==== */
.about-page__value {
  padding: 10rem 1rem;
  font-family: "Raleway", sans-serif;
}

.about-page__value-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__value-title {
  font-size: 4rem;
  font-weight: 700;
}

.about-page__value-subtitle {
  font-size: 2.2rem;
  color: #A5A5A5;
  margin-bottom: 8rem;
}

.about-page__value-list {
  display: flex;
  flex-direction: column;
  gap: 6rem;
}

.about-page__value-item {
  display: flex;
  align-items: flex-start;
  gap: 5rem;
}

.about-page__value-text {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__value-image {
  flex: 1;
}

.about-page__value-image img {
  width: 100%;
  height: auto;
  border-radius: 3rem;
}

.about-page__value-label {
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 1rem;
  margin-bottom: 1.7rem;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__value-label.-green { color: #009944; }
.about-page__value-label.-orange { color: #FC7E17; }
.about-page__value-label.-red { color: #E8131F; }
.about-page__value-label.-blue { color: #08ADF5; }
.about-page__value-label.-navy { color: #303776; }

.about-page__value-heading {
  font-size: 3.8rem;
  font-weight: bold;
  margin-bottom: 4.8rem;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__value-description {
  font-size: 1.8rem;
  line-height: 2.4;
  width: 67.5rem;
  font-family: "Noto Sans JP", sans-serif;
}

/* ===== Responsive (～896px) ===== */
@media (max-width: 896px) {
  .about-page__value {
    padding: 6rem 2rem;
  }

  .about-page__value-title {
    font-size: 3.2rem;
  }

  .about-page__value-subtitle {
    font-size: 1.6rem;
    margin-bottom: 3.6rem;
  }

  .about-page__value-list {
    gap: 3.6rem;
  }

  .about-page__value-item {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 1.8rem;
  }

  .about-page__value-text,
  .about-page__value-image {
    flex: none;
    width: 100%;
  }

  .about-page__value-label {
    font-size: 1.8rem;
    margin: 0 0 0.8rem;
  }

  .about-page__value-heading {
    font-size: 2.4rem;
    margin-bottom: 1.6rem;
  }

  .about-page__value-description {
    width: auto;
    font-size: 1.8rem;
    line-height: 1.9;
  }

  .about-page__value-image img {
    border-radius: 1.6rem;  /* 角丸をやや小さく（任意） */
  }
}


@media (max-width: 360px) {
  .about-page__value-heading { font-size: 2.2rem; }
  .about-page__value-description { font-size: 1.5rem; }
}

/* ====背景画像（about-page__bg)==== */
.about-page__bg {
  width: 100%;
  padding: 0;
  margin: 0;
}

.about-page__bg-wrapper {
  max-width: 100%;
  overflow: hidden;
}

.about-page__bg-wrapper img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ===== Responsive (～896px) ===== */
@media (max-width: 896px) {
  .about-page__bg-wrapper img {
    width: 100%;
    height: 30rem;
    object-fit: cover;
  }
}

@media (max-width: 480px) {
  .about-page__bg-wrapper {
    overflow: hidden;
  }

  .about-page__bg-wrapper img {
    border-radius: 0;
  }
}

/* ====背景画像（about-page__message)==== */
.about-page__message {
  padding: 13rem 3rem;
  font-family: "Noto Sans JP", sans-serif;
}

.about-page__message-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  gap: 6rem;
  align-items: flex-start;
}

.about-page__message-heading {
  flex: 1;
  text-align: left;
}

.about-page__message-title {
  font-size: 4rem;
  font-weight: 700;
  font-family: "Raleway", sans-serif;
  vertical-align: bottom;
}

.about-page__message-subtitle {
  font-size: 2.2rem;
  color: #A5A5A5;
}

.about-page__message-content {
  flex: 2;
}

.about-page__message-lead {
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 2;
  margin-bottom: 3rem;
}

.about-page__message-text p {
  font-size: 1.8rem;
  line-height: 2.4;
  margin-bottom: 4rem;
}
.about-page__message-text p {
  font-size: 1.8rem;
  line-height: 2.4;
  margin-bottom: 4rem;
}

.about-page__message-text p:last-of-type {
  margin-bottom: 8rem;
}

.about-page__message-signer {
  text-align: right;
  font-size: 1.5rem;
}
.about-page__ceo {
  font-size: 2.2rem;
  margin-left: 27px;
}

/* ===== Responsive (～896px) ===== */
@media (max-width: 896px) {
  .about-page__message {
    padding: 6rem 2rem;
  }

  .about-page__message-wrapper {
    flex-direction: column;
    gap: 3rem;
    align-items: stretch;
  }

  .about-page__message-heading,
  .about-page__message-content {
    flex: none;
    width: 100%;
  }

  .about-page__message-title {
    font-size: 3.2rem;
  }
  .about-page__message-subtitle {
    font-size: 1.8rem;
  }

  .about-page__message-lead {
    font-size: 2.6rem;
    line-height: 1.6;
    margin-bottom: 2rem;
  }

  .about-page__message-text p {
    font-size: 1.6rem;
    line-height: 1.9;
    margin-bottom: 2.4rem;
  }

  .about-page__message-text p:last-of-type {
    margin-bottom: 3rem;
  }

  .about-page__message-signer {
    font-size: 1.4rem;
  }
  .about-page__ceo {
    font-size: 2rem;
    margin-left: 1.2rem;
  }
}

@media (max-width: 360px) {
  .about-page__message-title { font-size: 2.8rem; }
  .about-page__message-lead { font-size: 2.2rem; }
  .about-page__message-text p { font-size: 1.5rem; }
}


/* ============= */

/* .mainVisual{
  background:none;
}
.inner{
  margin:0 auto;
  width:100%;
} */
.container-animation{
  width:100%;
  height:100%;
  aspect-ratio:9 / 5;
  position:absolute;
  display:flex;
  justify-content:center;
  align-items:center;
}
.container-animation .inner{
}
.section-animation{
  position:absolute;
  width:100%;
  height:100%;
  z-index:-1;
  display:flex;
  justify-content:center;
  align-items:center;
}
.svg-logo{
  position:absolute;
  width:16%;
  height:auto;
  aspect-ratio:1 / 1;
}
.triangle.stroke{
  stroke-width:1px;
  stroke:#707070;
  fill: white;
}
.triangle{
}
.color-red.paint{
  animation:.3s ease both colorRed;
}
.color-yellow.paint{
  animation:.3s ease both colorYellow;
}
.color-navy.paint{
  animation:.3s ease both colorNavy;
}
.color-lightgreen.paint{
  animation:.3s ease both colorLightgreen;
}
.color-skyblue.paint{
  animation:.3s ease both colorSkyblue;
}
.color-orange.paint{
  animation:.3s ease both colorOrange;
}
.color-green.paint{
  animation:.3s ease both colorGreen;
}

.scene2{
  opacity:0;
  overflow:hidden;
}

.scene2 svg{
  margin:0 -21px;
}

#windmill{
  animation:15s linear infinite rotation;
  transform-box:fill-box;
  transform-origin:center;
}
#sun{
  animation:30s linear infinite rotation;
  transform-box:fill-box;
  transform-origin:center;
}
.arrows.is-active .arrow{
  animation:2s ease infinite blink;
}
.arrows.is-active .center,
.arrows.is-active .middle{
  animation-delay:.4s;
}
.arrows.is-active .right,
.arrows.is-active .top{
  animation-delay:.8s;
}
.arrows.is-active:nth-child(2) .arrow{
  animation-delay:.6s;
}

@keyframes colorRed {
  0% {
    fill: #fff;
  }
  100% {
    fill: #e8131f;
  }
}
@keyframes colorYellow {
  0% {
    fill: #fff;
  }
  100% {
    fill: #ffd23c;
  }
}
@keyframes colorNavy {
  0% {
    fill: #fff;
  }
  100% {
    fill: #2e3488;
  }
}
@keyframes colorLightgreen {
  0% {
    fill: #fff;
  }
  100% {
    fill: #afd505;
  }
}
@keyframes colorSkyblue {
  0% {
    fill: #fff;
  }
  100% {
    fill: #08adf5;
  }
}
@keyframes colorOrange {
  0% {
    fill: #fff;
  }
  100% {
    fill: #fc7e17;
  }
}
@keyframes colorGreen {
  0% {
    fill: #fff;
  }
  100% {
    fill: #094;
  }
}

@keyframes blink {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes sparkles {
  0% {
    opacity: 0;
  }
  50% {
    transform: scale(1.1);
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}
@keyframes rotation {
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}

/*------------------------------------------------------------
	ロゴのアニメーション
------------------------------------------------------------*/

.section-logo-anima {
  position: relative;
  width: 100%;
  max-width: 600px;
}

.logo-anima__container {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 5;
  display: flex;
  justify-content: center;
  align-items: center;
}

.logo-anima__scene1,
.logo-anima__scene2 {
  position: absolute;
  top: -55%;
  left:0;
  width: 100%;
  height: 100%;
}

.logo-anima__scene2 {
  opacity: 0;
  overflow: hidden;
}

.logo-anima__svg {
  width: 80%;
  height: auto;
}

.logo-anima__triangle.stroke {
  stroke-width: 1px;
  stroke: #000;
  fill: transparent;
}

.color-red.paint        { animation: .3s ease both colorRed; }
.color-yellow.paint     { animation: .3s ease both colorYellow; }
.color-navy.paint       { animation: .3s ease both colorNavy; }
.color-lightgreen.paint { animation: .3s ease both colorLightgreen; }
.color-skyblue.paint    { animation: .3s ease both colorSkyblue; }
.color-orange.paint     { animation: .3s ease both colorOrange; }
.color-green.paint      { animation: .3s ease both colorGreen; }

/* 色変化アニメーション（開始色を透明に変更） */
@keyframes colorRed        { 0% { fill: transparent; } 100% { fill: #e8131f; } }
@keyframes colorYellow     { 0% { fill: transparent; } 100% { fill: #ffd23c; } }
@keyframes colorNavy       { 0% { fill: transparent; } 100% { fill: #2e3488; } }
@keyframes colorLightgreen { 0% { fill: transparent; } 100% { fill: #afd505; } }
@keyframes colorSkyblue    { 0% { fill: transparent; } 100% { fill: #08adf5; } }
@keyframes colorOrange     { 0% { fill: transparent; } 100% { fill: #fc7e17; } }
@keyframes colorGreen      { 0% { fill: transparent; } 100% { fill: #009944; } }

/* ============================ */
/* 1380pxより大きい時は改行しない */
.u-about-page-br-1380 {
  display: none;
}

/* 1380px以下でだけ改行させる */
@media (max-width: 1380px) {
  .u-about-page-br-1380 {
    display: block;
  }
}

/*------------------------------------------------------------
	Group History
------------------------------------------------------------*/
.about-history {
  max-width: 1200px;
  margin: 150px auto 106px;
  padding: 60px 20px;
  color: #000;
  font-family: "Noto Sans JP", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.about-history__title {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 6px;
}

.about-history__subtitle {
  font-size: 22px;
  color: #A5A5A5;
  margin: 0 0 24px;
}

.about-history__description {
  font-size: 20px;
  color: #000;
  text-align: right;
  margin: 0 0 32px;
}

.about-history__list {
  margin: 0;
  padding: 0;
  border-top: 1px solid #D8D8D8;
}

.about-history__item {
  display: flex;
  gap: 24px;
  padding: 15px 0;
  border-bottom: 1px solid #D8D8D8;
  align-items: center;
}

.about-history__date {
  display: flex;
  gap: 0.8em;
  width: 120px;
  flex-shrink: 0;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.8;
  align-items: center;
}

.about-history__year,
.about-history__month {
  margin: 0;
}

.about-history__text {
  flex: 1;
  font-size: 18px;
  line-height: 1.9;
  margin: 0;
  position: relative;
  padding-left: 1.1em; /* マーカー分の余白 */
}

/* 全てのテキストの前に「・」を表示 */
.about-history__text::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(.1em);
  color: #8CA4B0;
  font-weight: 700;
}

/* レスポンシブ */
@media (max-width: 640px) {
  .about-history {
    /* padding: 40px 10px; */
    padding: 4rem 1rem;
    margin: 10px auto 40px;
  }

  .about-history__title {
    padding: 0 1rem;
  }

  .about-history__subtitle {
    padding: 0 1rem;
  }

  .about-history__description {
    padding: 0 1rem;
  }

  .about-history__item {
    display: block;
    padding-left: 20px;
  }

  .about-history__date {
    width: auto;
    margin-bottom: 4px;
  }

  .about-history__description {
    font-size: 16px;
    text-align: left;
  }

  .about-history__text {
    font-size: 14px;
    line-height: 2;
    margin-left: 1rem;
  }
}

.br-sm {
  display: none;
}

@media (max-width: 640px) {
  .br-sm {
    display: block;
  }
}


