@charset "UTF-8";
/* CSS Document */
@media (min-width:30em) {} /*480px*/
@media (min-width:48em) {} /*768px*/
@media (min-width:64em) {} /*1024px*/
@media (min-width:75em) {} /*1200px*/
@media (min-width:87.5em) {} /*1400px*/
@media (min-width:100em) {} /*1600px*/


/* Top Page */

.top-image-section {
  margin: 0 auto 0;
}
[class*=swiper]:focus {
  outline: none;
}
.slide-media,
.thumb-media {
  overflow: hidden;
  position: relative;
}
.slide-media img,
.thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.swiper-button-prev, .swiper-button-next {
  display: grid;
  place-content: center;
  width: 6.4rem;
  height: 6.4rem;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.swiper-button-prev::before, .swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
}
.swiper-button-prev::after, .swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid var(--color-gray);
  border-width: 3px 3px 0 0;
}
  .swiper-button-prev::after {
    margin-left: 0.4rem;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
  }
  .swiper-button-next::after {
    margin-right: 0.4rem;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
  }
  .top-slider01 .swiper-fade .swiper-slide {
    -webkit-transition-property: opacity, -webkit-transform !important;
    transition-property: opacity, -webkit-transform !important;
    transition-property: opacity, transform !important;
    transition-property: opacity, transform, -webkit-transform !important;
    pointer-events: none;
  }
  .top-slider01 .swiper-fade .swiper-slide-active {
    pointer-events: auto;
  }
  .top-slider01 .swiper-pagination {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 3.2rem;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
    margin: auto;
  }
  .top-slider01 .swiper-pagination-bullet {
    display: block;
    width: 3px;
    height: 4rem;
    cursor: pointer;
    -webkit-transition: var(--transition);
    transition: var(--transition);
    background-color: rgba(255, 255, 255, 0.8);
  }
  .top-slider01 .swiper-pagination-bullet:not(:first-child) {
    margin-top: 0.8rem;
  }
  .top-slider01 .swiper-pagination-bullet-active {
    background-color: var(--ko-red);
  
  }
  .top-slider01 .slide-media {
    height: 80vh;
  }
  .top-slider01 .slide-media img {
    -webkit-transition: 7s 1s ease-out;
    transition: 7s 1s ease-out;
  }
  .top-slider01 .slide-title {
    position: absolute;
    right: 5%;
    bottom: 10%;
    max-width: 80%;
  }
  .top-slider01 .slide-title .title {
    font-size: clamp(20px, calc(16.364px + 1.136vw), 30px);
    font-weight: 700;
    line-height: 1.6;
    text-align: right;
    color: #fff;
    text-shadow: 0 0 10px rgba(0,0,0,0.3);
  }
  .top-slider01 .slide-title .slide-btn {
    margin-left: auto;
    margin-top: 1em;
  }
  .top-slider01 .swiper-slide[class*=-active] .slide-media img {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .top-slider01 .swiper-slide[class*=-active] .slide-title {
    -webkit-animation: top-slider01-fadeIn 2s 0.5s var(--easing) both;
            animation: top-slider01-fadeIn 2s 0.5s var(--easing) both;
  }
@media (min-width: 48em) {
.top-slider01 .slide-title {
  max-width: 60%;
}
}
@media only screen and (min-width: 64em) {
.swiper-button-prev::before, .swiper-button-next::before {
  -webkit-transition: var(--transition);
  transition: var(--transition);
}
.swiper-button-prev:hover::before, .swiper-button-next:hover::before {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
}

  @-webkit-keyframes top-slider01-fadeIn {
    0% {
      -webkit-transform: scale(0.5);
              transform: scale(0.5);
      opacity: 0;
      -webkit-filter: blur(300px);
              filter: blur(300px);
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
      opacity: 1;
      -webkit-filter: blur(0);
              filter: blur(0);
    }
  }

  @keyframes top-slider01-fadeIn {
    0% {
      -webkit-transform: scale(0.5);
              transform: scale(0.5);
      opacity: 0;
      -webkit-filter: blur(300px);
              filter: blur(300px);
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
      opacity: 1;
      -webkit-filter: blur(0);
              filter: blur(0);
    }
  }

@media only screen and (max-width: 64em) {
html {
　　-webkit-text-size-adjust: 100%;
}
.top-slider01 .slide-media {
  height: max(60vh, 60vw);
  height: 640px;
}
}


.top-main-copy {
  font-weight: 700;
  text-align: center;
}
.top-about-img-btn-01 { background-image: url("../images/q6tn0441.jpg"); }
.top-about-img-btn-02 { background-image: url("../images/AdobeStock_262506429_Preview.jpeg"); }
.top-about-img-btn-03 { background-image: url("../images/q6tn0202.jpg"); }

/* 全体のレイアウト（左右を並べ、天地を揃える） */
    .top-about-container {
      display: flex;
      gap: var(--layout-gap); /* 左右の間隔 */
      max-width: 100%;
      margin: 0 auto;
      align-items: stretch; /* 左右の高さを揃える */
    }

    /* 左側のボックス設定（角丸・影） */
    .top-about-left-box {
      flex: 1.2;
      background-color: #f7f8f9;
      border-radius: var(--radius-1);
      box-shadow: var(--box-shadow);
      padding: 80px;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      justify-content: center; /* 垂直方向中央寄せ */
      text-align: center; /* 必要に応じて left に変更してください */
    }

    .top-about-catchphrase {
      font-size: var(--h1);
      font-weight: bold;
      line-height: var(--lh3);
      margin-top: 0;
      margin-bottom: 30px;
    }

    .top-about-lead-text {
      font-size: var(--h3);
      line-height: var(lh5);
      font-weight: 700;
      margin: 0;
    }

    /* 右側のボタンエリア */
    .top-about-right-buttons {
      flex: 1;
      display: flex;
      flex-direction: column;
      /* space-betweenの代わりにgapを使用し、ボタン同士の間隔を左側の間隔と完全に一致させる */
      justify-content: space-between; 
      gap: var(--layout-gap);
    }

    /* 各ボタン（それぞれが独立した角丸・影のボックス） */
    .top-about-btn-item {
      flex: 1; /* 3つのボタンが右側の高さを均等に分割するように設定 */
      display: flex;
      align-items: center;
      padding: 50px 40px;
      background-color: #ffffff;
      border-radius: var(--radius-1); /* 左側と合わせた角丸 */
      text-decoration: none;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); /* 左側と合わせたシャドウ */
      box-sizing: border-box;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
      
      /* 背景画像を設定する場合の設定（将来的に画像パスを指定してください） */
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }
    .top-about-btn-item-01 { background-image: url("../images/q6tn0441.jpg"); }
.top-about-btn-item-02 { background-image: url("../images/AdobeStock_907791936_Preview.jpeg"); }
.top-about-btn-item-03 { background-image: url("../images/q6tn0202.jpg"); }

    /* ホバー時の浮き上がりエフェクト */
    .top-about-btn-item:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
    }

    /* ボタン内のテキストスタイル */
    .top-about-btn-content {
      display: flex;
      flex-direction: column;
    }

    .top-about-btn-title {
      font-size: 1.15rem;
      font-weight: bold;
      color: #0b1f3a;
      margin-bottom: 4px;
    }

    .top-about-btn-subtitle {
      font-size: 0.85rem;
      color: #555;
    }

    /* レスポンシブ対応（画面幅が狭いときは縦並びにする場合） */
    @media (max-width: 48em) {
      .top-about-container {
        flex-direction: column;
      }
    }

.single-list {}

.single-list ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.single-list ul li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  width: 100%;
}
.single-list ul li a {
  display: flex;
  flex-direction: row;
  padding: 0;
  gap: 20px;
  align-items: flex-start;
  width: 100%;
  background-color: #f7f8f9;
}
.single-list ul li a .image {
  width: calc(100% / 12 * 5);
  aspect-ratio: 1 / 1;
  max-width: 200px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.single-list ul li a .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: var(--box-shadow);
}
/* ホバー時のエフェクト */
.single-list ul li a:hover .image {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}
.single-list ul li a .text {
  width: calc(100% / 12 * 7);
}
.single-list ul li a .text .date {
  font-size: var(--h4);
  padding-bottom: var(--tpb2);
}
.single-list ul li a .text .title {
  font-size: var(--h4);
}
@media (min-width: 48em) {
.single-list ul {
  grid-template-columns: 1fr 1fr;
}
.single-list ul li {
}
.single-list ul li a {
  gap: 30px;
}
}
@media (min-width: 64em) {

.single-list ul li {
}
}
@media (min-width: 75em) {
.single-list ul {
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
}

.button-container {
  display: grid;
  gap: 20px;
  width: 100%;
}
.button-2, .button-3 {grid-template-columns: 1fr;}

.image-btn {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center; /* 下部基準で配置 */
  align-items: center;
  height: 240px;
  border-radius: var(--radius-1);
  overflow: hidden;
  text-decoration: none;
  box-shadow: var(--box-shadow);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
            
  /* 後から背景画像を入れる場所（現在は仮の背景色） */
  background-color: #333;
  background-size: cover;
  background-position: center;
  /* background-image: url('your-image.jpg'); */
}
/* ホバー時のエフェクト */
  .image-btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}
/* 上から下へ濃くなるグラデーションオーバーレイ */
.image-btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
  z-index: 1;
        }
/* 文字を配置するラッパー（中央揃え、下から約10%の位置） */
.image-btn-content {
  position: relative;
  z-index: 2;
  width: 100%;
  text-align: center;
  padding-bottom: 0;
  color: #ffffff;
  padding-left: 8px;
  padding-right: 8px;
}
/* メインタイトル（狭い幅でも折り返しやすいようにサイズを微調整） */
.image-btn-title {
  margin: 0;
  font-size: var(--h3);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
/* サブタイトル */
.image-btn-subtitle {
  margin: 0;
  font-size: var(--h4);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
@media (min-width: 48em) {
.image-btn{ height: 400px; }
.button-2 { grid-template-columns: repeat(2, 1fr); }
.button-3 { grid-template-columns: repeat(3, 1fr); }
.image-btn {
  justify-content: flex-end;
}
.image-btn-content {
  padding-bottom: 10%;
}
}
@media (min-width: 64em) {
.button-container { gap: 40px; }
}
@media (min-width: 75em) {
.image-btn{ height: 480px; }
.image-btn-content {
  padding-bottom: 12.5%;
}
}

/* About Us */

.about-hero-section {
  position: relative;
  width: 100%;
  min-height: 70vh;
  background-color: #8C8C8C;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-bottom: 0;
  background-image: url("../images/about_main01.jpg")
}
.about-main-title-box {
  position: relative;
  width: calc(100% / 16 * 14);
  max-width: 980px;
  padding: 40px 2em 40px;
  margin-top: 50%;
  border-radius: 30px 30px 0 0;
  text-align: center;
  z-index: 2;
}
.about-main-title {
  font-size: clamp(24px, calc(16.296px + 2.407vw), 50px);
  line-height: clamp(36px, calc(27.704px + 2.593vw), 64px);
  font-weight: bold;
  margin-bottom: 0.65em;
}
.about-main-title span.highlight {
  color: #0066cc;
}
.about-main-text {
  font-size: clamp(16px, calc(13.091px + 0.909vw), 24px);
  line-height: clamp(24px, calc(16.727px + 2.273vw), 44px);
  text-align: center;
  font-weight: 700;
}
.about-main-dot-line {
  position: absolute;
  bottom: -110px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 120px;
  border-left: 2px dotted #888888;
  z-index: 1;
}
@media (min-width: 48em) {
.about-main-title-box {
  padding: 80px 4em 100px;
  margin-top: 25%;
  border-radius: 60px 60px 0 0;
}
.about-main-dot-line {
  bottom: -60px;
}
}

.about-top-content-box {
  position: relative;
  width: calc(100% / 16 * 14);
  max-width: 980px;
  padding: 40px 1em 40px;
}
.about-top-content-box.line-col {
  padding-top: 100px;
  padding-bottom: 40px;
  margin-top: 40px;
  margin-bottom: 80px;
}
.about-top-content-box.line-col-top {
  padding-top: 60px;
}
.about-top-content-box.line-col-bottom {
  padding-bottom: 0;
}
.about-top-content-box.text-col {
}
.about-top-content-title {
  font-size: clamp(24px, calc(18.182px + 1.818vw), 40px);
  line-height: clamp(36px, calc(28.727px + 2.273vw), 56px);
  font-weight: bold;
  text-align: center;
}
.about-top-content-text {
  font-size: clamp(16px, calc(13.091px + 0.909vw), 24px);
  line-height: clamp(24px, calc(16.727px + 2.273vw), 44px);
  text-align: center;
  font-weight: 700;
  margin-top: 0.5em;
}
.about-content-sub-title {
  font-size: clamp(20px, calc(16.364px + 1.136vw), 30px);
  line-height: clamp(30px, calc(26.364px + 1.136vw), 40px);
  text-align: center;
  font-weight: 700;
}
.about-content-sub-title.end {
  padding-top: clamp(30px, calc(20px + 3.125vw), 44px);
}
.life-circle-box {
  padding: clamp(30px, calc(20px + 3.125vw), 44px) 0;
}
.life-circle {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
}
.life-circle li {
  width: 45%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(14px, calc(12.571px + 0.446vw), 16px);
  font-weight: 700;
  text-align: center;
  border-radius: 9999px;
  background-color: #ccc;
  position: relative;
}
.life-circle li.bg-1 { background-color: #f3c9de; }
.life-circle li.bg-2 { background-color: #d9e021; }
.life-circle li.bg-3 { background-color: #c4e8f7; }
.life-circle li::after {
  content: '';
  position: absolute;
  top: 5px;
  right: 5px;
  width: clamp(30px, calc(19.091px + 3.409vw), 60px);
  aspect-ratio: 1 / 1;
  background-image: url("../images/life-circle.svg");
  background-size: contain;
}

@media (min-width: 48em) {
.about-top-content-box {
  padding: 40px 4em 40px;
}
.about-top-content-box.line-col {
  padding-top: 60px;
  padding-bottom: 100px;
  margin-top: 40px;
  margin-bottom: 40px;
}
.life-circle {
  flex-wrap: nowrap;
}
.life-circle li {
  width: 30%;
}
}

.about-top-middle-box {
  position: relative;
  /*padding: 40px 2em 40px;*/
  padding: 40px 0 40px;
  width: calc(100% / 16 * 14);
}
.about-top-middle-box.end {
  margin-bottom: 100px;
}
.about-top-middle-box.last {
  padding-bottom: 0;
}
/*
.about-top-middle-box.bg-1 { background-color: #e7f4f0; }
.about-top-middle-box.bg-2 { background-color: #e8f3fa; }
.about-top-middle-box.bg-3 { background-color: #fbeaea; }
.about-top-middle-box.bg-4 { background-color: #fff6e9; }
*/

.about-top-middle-title {
  font-size: clamp(22px, calc(17.455px + 1.42vw), 32px);
  line-height: clamp(34px, calc(30.364px + 1.136vw), 42px);
  font-weight: bold;
  text-align: center;
}
.about-top-middle-title-in {
  font-size: clamp(20px, calc(18.182px + 0.568vw), 24px);
}
.about-top-middle-text {
  font-size: clamp(16px, calc(13.273px + 0.852vw), 22px);
  margin-top: clamp(20px, calc(15.455px + 1.42vw), 30px);
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.about-top-middle-text.image {
  margin-top: 1.5em;
}
.about-top-middle-text-in {
  font-size: clamp(16px, calc(14.182px + 0.568vw), 20px);
}
.about-top-middle-text-box {
  padding: 1.2em;
  border: solid 1px var(--ko-red);
  background-color: var(--bg-color-1);
  margin-top: 0.8em;
  border-radius: 0.6em;
}
.about-top-middle-image-box {
  margin-top: 2em;
  margin-left: -1em;
  margin-right: -1em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.about-top-middle-image-box img {
  max-width: 720px;
}
@media (min-width: 30em) {
.about-top-middle-box {
  /*width: calc(100% / 16 * 14);
  padding: 50px 3em 50px;*/
  max-width: 1100px;
  /*border-radius: var(--radius-1);
  box-shadow: var(--box-shadow);*/
}
}
@media (min-width: 48em) {
.about-top-middle-box {
  /*padding: 60px 4em 60px;*/
  padding: 60px 0 60px;
}
.about-top-middle-box.end {
  padding-bottom: 110px;
  margin-bottom: 40px;
}
.about-top-middle-text {
  margin-top: 2em;
}
.about-top-middle-text-box {
  padding: 1.5em;
  margin-top: 1.6em;
  border-radius: 1em;
}
.about-top-middle-image-box {
  margin-top: 3em;
  margin-left: 0;
  margin-right: 0;
}
}
@media (min-width: 75em) {
.about-top-middle-box {
  /*padding: 80px 6em 80px;*/
  padding: 80px 2em 80px;
}
}
.about-hikaku {
  display: flex;
  flex-direction: column;
  gap: 1em;
  margin: 1.5em 0 1em;
  width: 100%;
}
.about-hikaku-1 {
  background-color: #edfaff;
  border: solid 1px #336699;
}
.about-hikaku-2 {
  background-color: var(--bg-color-1);
  border: solid 1px #f15a24;
}
.about-hikaku-1,
.about-hikaku-2 {
  display: flex;
  flex-direction: column;
  padding: 1em;
  border-radius: 1em;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0,0,0,0.05);
  
}
.about-hikaku-1 li,
.about-hikaku-2 li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5em 1em;
  text-align: center;
  font-weight: 500;
  border-bottom: 1px dashed #999;
}
.about-hikaku-1 li:last-child,
.about-hikaku-2 li:last-child {
  border-bottom: none;
}
.about-hikaku-1 li.title,
.about-hikaku-2 li.title {
  padding: 1.2em 1em 1em;
  font-weight: 700;
  margin: -1em -1em 0;
  color: #fff;
  font-size: clamp(20px, calc(18.182px + 0.568vw), 24px);
}
.about-hikaku-1 li.title { background-color: #336699; }
.about-hikaku-2 li.title { background-color: #f15a24; }
.about-hikaku-1 li p,
.about-hikaku-2 li p {
  font-weight: 500;
  font-size: clamp(16px, calc(14.182px + 0.568vw), 20px);
  line-height: var(--lh3);
}
.about-hikaku-1 li p span.zoom,
.about-hikaku-2 li p span.zoom {
  font-size: 120%;
}
.about-hikaku-1 li p.margin,
.about-hikaku-2 li p.margin {
  margin-bottom: 0.5em;
}
@media (min-width: 48em) {
.about-hikaku {
  flex-direction: row;
  gap: 1em;
}
.about-hikaku-1 {
  width: 40%;
}
.about-hikaku-2 {
  width: calc(60% - 1em);
}
.about-hikaku-1 li p,
.about-hikaku-2 li p {
  font-weight: 500;
}
}

.about-details {
  display: grid;
  gap: 1em;
  width: 100%;
  grid-template-columns: 1fr;
  margin-top: 1.5em;
}

.about-details .inner {
  width: 100%;
  background-color: var(--bg-color-1);
  padding: 1.5em;
  border-radius: 1em;
  box-shadow: 0 0 20px rgba(0,0,0,0.05);
}
.about-details .inner02 {
  width: 100%;
  background-color: var(--bg-color-1);
  border-radius: 1em;
  box-shadow: 0 0 20px rgba(0,0,0,0.05);
}
.about-details .inner02 .content-box {
  padding: 1.5em;
}
.about-details .image-box {
  width: 100%;
  max-width: 100%;
}
.about-details .image-box img {
  object-fit: cover;
  border-radius: 1em 1em 0 0;
}
.about-details .about-details-logo {
  padding: 1em 0 2em;
  margin: 0.5em auto 0.5em;
  width: 100%;
  max-width: 240px;
}
.about-details .icon {
  max-width: 40%;
  margin: 0 auto;
}
.about-details .inner.bd-college { border: solid 1px var(--ko-blue); }
.about-details .inner.bd-yakusyo { border: solid 1px #3fa9f5; }
.about-details .inner.bd-office { border: solid 1px #ff7bac; }

.about-details-list {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.about-details-list li {
  border-top: 1px dashed #999;
  padding: 1em 0 0;
}
@media (min-width: 48em) {
.about-details {
  grid-template-columns: 1fr;
  margin-top: 2em;
}
.about-details.col2 {
  grid-template-columns: 1fr 1fr;
}
.about-details.col3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.about-details-list.col2 {
  flex-direction: row;
  gap: 2em;
}
.about-details-list.col2 li {
  width: 50%;
  align-items: flex-start;
}

.about-details .icon {
  max-width: 60%;
}
}
@media (min-width: 64em) {
.about-details .inner {
  padding: 1.5em;
}
}
@media (min-width: 75em) {
.about-details .inner {
  padding: 2em;
}
}
.about-shihyo-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex-wrap: wrap;
  gap: 1em;
  padding: 1.5em 0 0;
  align-items: stretch;
}
.about-shihyo-box li {
  width: 100%;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  justify-content: center;
  align-self: center;
  border-radius: 1em;
}
.about-shihyo-box li .image img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}
.about-shihyo-box li.s-red { background-color: var(--s-color-1);}
.about-shihyo-box li.s-brown { background-color: var(--s-color-2);}
.about-shihyo-box li.s-blue { background-color: var(--s-color-3);}
.about-shihyo-box li.s-lightgreen { background-color: var(--s-color-4);}
.about-shihyo-box li.s-orange { background-color: var(--s-color-5);}
.about-shihyo-box li.s-green { background-color: var(--s-color-6);}
.about-shihyo-box li.s-purple { background-color: var(--s-color-7);}

.about-shihyo-box li .text-box {
  padding: 0 1em 1.5em;
  color: #fff;
  text-align: center;
}
.about-shihyo-box li .text-box .title {
  font-size: clamp(16px, calc(12.364px + 1.136vw), 24px);
  line-height: var(--lh2);
  font-weight: 700;
  padding-bottom: 0.2em;
}
.about-shihyo-box li .text-box .txt {
  line-height: var(--lh3);
  font-size: var(--h6);
}
@media (min-width: 48em) {
.about-shihyo-box {
  grid-template-columns: 1fr 1fr 1fr;
}
}
@media (min-width: 64em) {
.about-shihyo-box {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
}
.about-yoko {
  width: 100%;
  background-color: #fff;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /*background-image: url("../images/back_sky.jpg");
  margin-top: 2em;*/
}
.about-yoko-box {
  width: calc(100% / 16 * 14);
  max-width: 1100px;
  padding: 4em 0;
}
.about-yoko-sanka {
  margin: 1.5em 0 3em;
  padding: 2.5em 2em;
  background-color: var(--bg-color-1);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1em;
  border-radius: var(--radius-1);
  border: solid 1px #ccc;
}
.about-yoko-sanka .list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.2em;
}
@media (min-width: 48em) {
.about-yoko-sanka {
  margin: 2em 0;
  padding: 3em 4em;
  gap: 2em;
}
}
@media (min-width: 64em) {
.about-yoko-sanka {
  margin: 2em 0 4em;
  padding: 3em 4em;
  gap: 2em;
}
}
@media (min-width: 75em) {
.about-yoko-box {
  padding: 6em 2em;
}
}

.kmap-steps {
  text-align: center;
}
.steps-container {
  display: flex;
  gap: 20px;
  margin: 2em auto;
  flex-wrap: wrap;
}
.step-card {
  background: var(--bg-color-1);
  border-radius: 12px;
  padding: 30px 20px;
  flex: 1;
  min-width: 280px;
  border: solid 1px #ccc;
  position: relative;
  text-align: left;
}
.step-number {
  font-size: 2rem;
  font-weight: bold;
  color: var(--ko-blue);
  margin-bottom: 10px;
}
.step-content h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
  color: #333;
}
.step-content p {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.6;
}
.step-cta {
  margin-top: 40px;
}
@media (min-width: 64em) {
.steps-container {
  margin: 2em auto 4em;
}
}

/* Page Title */

.page-header {
  padding-top:    clamp(50px, calc(20px + 8.333vw), 120px); /*320px_1200px*/
  padding-bottom: clamp(50px, calc(20px + 8.333vw), 120px); /*320px_1200px*/
}
.page-header .page-title {
  font-size: clamp(20px, calc(12.727px + 2.273vw), 40px); /*320px_1200px*/
}

/* Member */

.m-list {
  display: flex;
  flex-direction: column;
  margin-bottom: 1em;
  width: 100%;
  padding: 1em 1.5em;
  background-color: #fff;
  border-radius: var(--radius-1);
}
.m-list .m-post {
  font-size: clamp(18px, calc(16.182px + 0.568vw), 22px);
  line-height: var(--lh3);
  font-weight: 700;
  padding: 0.5em 0;
  display: flex;
  align-items: center;
  border-bottom: dashed 1px #ccc;
  margin-bottom: 0.25em;
}
.m-list .m-name {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 0.5em 0;
}
.m-list .m-name div {
  padding: 0.5em 0;
}
.mname, .madd2 {
  font-size: clamp(18px, calc(16.182px + 0.568vw), 22px);
  line-height: var(--lh4);
  font-weight: 700;
}
.madd, .mname2 {
  font-size: var(--h4);
  line-height: var(--lh3);
  font-weight: 400;
}


@media (min-width: 48em) {
.m-list {
  flex-direction: row;
  padding: 1em 2em;
}
.m-list .m-post {
  width: 100%;
  max-width: 240px;
  margin-right: 2%;
  border-bottom: none;
  margin-bottom: 0;
}
.m-list .m-name {
  justify-content: center;
  width: 100%;
}
}
@media (min-width: 64em) {
.m-list .m-name > .inner {
  flex-wrap: wrap;
  display: flex;
  width: 100%;
}
.m-list .m-name > .inner div {
  width: 45%;
}
.m-list .m-name > .inner div:nth-child(2n+1) {
  margin-right: 5%;
}
}
@media (min-width: 75em) {
.m-list .m-post {
  max-width: 350px;
  margin-right: 2em;
}
}

/* Team Page */

.teams-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, calc(23.636px + 1.364vw), 40px);
}
.teams-member {
  display: flex;
  flex-direction: column;
  background-color: var(--bg-color-1);
  border-radius: var(--radius-1);
  gap: clamp(28px, calc(23.636px + 1.364vw), 40px);
  width: 100%;
}
.teams-member .pics {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  width: 100%;
}
.teams-member .pics img {
  object-fit: cover;
  border-radius: var(--radius-1) var(--radius-1) 0 0;
}
.teams-member > .text {
  padding: 0 clamp(28px, calc(23.636px + 1.364vw), 40px) clamp(28px, calc(23.636px + 1.364vw), 40px);
  width: 100%;
}
.teams-name {
  font-size: clamp(20px, calc(17.091px + 0.909vw), 28px);
  font-weight: 700;
}
.teams-add {
  font-size: clamp(14px, calc(13.273px + 0.227vw), 16px);
  line-height: var(--lh3);
}
.teams-chiken {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #336699;
  height: 30px;
  border-radius: 15px;
  color: #fff;
  font-size: 14px;
  margin: 1em 0;
}
.teams-chiken-in {
  font-size: clamp(16px, calc(14.545px + 0.455vw), 20px);
  line-height: var(--lh3);
  font-weight: 700;
  padding-bottom: 0.4em;
}
@media (min-width: 37.5em) {
.teams-list {
  grid-template-columns: 1fr 1fr;
}
.teams-member {
  align-items: center;
  padding: clamp(28px, calc(23.636px + 1.364vw), 40px)
}
.teams-member .pics img {
  border-radius: var(--radius-2);
}
.teams-member > .text {
  padding: 0;
}
}
@media (min-width: 64em) {
.teams-list {
  grid-template-columns: 1fr 1fr 1fr;
}
.teams-name {
  padding-bottom: 0.2em;
}
}

/* Indicators Page */

.indicators-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(28px, calc(23.636px + 1.364vw), 40px);
}
.indicators-detail {
  display: flex;
  flex-direction: column;
  background-color: var(--bg-color-1);
  border-radius: var(--radius-1);
  /*gap: clamp(28px, calc(23.636px + 1.364vw), 40px);*/
  width: 100%;
  color: #fff;
}
.indicators-detail.s-red { background-color: var(--s-color-1);}
.indicators-detail.s-brown { background-color: var(--s-color-2);}
.indicators-detail.s-blue { background-color: var(--s-color-3);}
.indicators-detail.s-lightgreen { background-color: var(--s-color-4);}
.indicators-detail.s-orange { background-color: var(--s-color-5);}
.indicators-detail.s-green { background-color: var(--s-color-6);}
.indicators-detail.s-purple { background-color: var(--s-color-7);}

.indicators-detail .pics {
  overflow: hidden;
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 70%;
  margin: 0 auto;
}
.indicators-detail .pics img {
  object-fit: cover;
}
.indicators-detail > .text {
  padding: 0 clamp(28px, calc(23.636px + 1.364vw), 40px) clamp(28px, calc(23.636px + 1.364vw), 40px);
  width: 100%;
}
.indicators-name {
  font-size: clamp(24px, calc(17.143px + 1.905vw), 40px);
  font-weight: 700;
}
.indicators-add {
  font-size: clamp(14px, calc(13.273px + 0.227vw), 16px);
}
.indicators-copy {
  padding-top: 1.5em;
}
@media (min-width: 64em) {
.indicators-list  {
  grid-template-columns: 1fr 1fr;
}
}
@media (min-width: 75em) {
.indicators-list  {
  grid-template-columns: 1fr 1fr 1fr;
}
}