.header {
  padding: 12px 0 8px;
  width: 100%;
  background: #fff;
  position: fixed;
  top: 0;
  z-index: 10;
}

@media not screen and (min-width: 576px) {
  .header {
    padding: 9px 0 6px;
  }
}

.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 50px;
}

@media (max-width: 1170px) {
  .header__inner {
    padding: 0 40px;
  }
}

@media not screen and (min-width: 576px) {
  .header__inner {
    padding: 0 5.3%;
  }
}

.header__logo {
  width: 159px;
}

@media not screen and (min-width: 576px) {
  .header__logo {
    width: 120px;
  }
}

.header .g-nav {
  margin: 0 30px 0 auto;
}

@media (max-width: 1170px) {
  .header .g-nav {
    margin: 0 15px 0 auto;
  }
}

@media (max-width: 1170px) {
  .header .g-nav {
    margin: 0 10px 0 auto;
  }
}

@media not screen and (min-width: 992px) {
  .header .g-nav {
    display: none;
  }
}

.header .g-nav__list {
  display: flex;
  justify-content: flex-end;
  gap: 0 30px;
}

@media (max-width: 1260px) {
  .header .g-nav__list {
    gap: 0 15px;
  }
}

@media (max-width: 1170px) {
  .header .g-nav__list {
    gap: 0 10px;
  }
}

.header .g-nav__item {
  font-weight: 500;
  font-size: 1.6rem;
  position: relative;
  transition: color 0.5s;
}

@media (max-width: 1170px) {
  .header .g-nav__item {
    font-size: 1.4rem;
  }
}

.header .g-nav__item:before {
  content: "";
  width: 36.5px;
  height: 2.5px;
  background: #38b8ef;
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: ease-in 0.5s;
}

@media not screen and (min-width: 992px) {
  .header .g-nav__item:before {
    display: none;
  }
}

.header .g-nav__item:hover,
.header .g-nav__item:focus {
  color: #38b8ef;
  transition: color 0.5s;
}

.header .g-nav__item:hover:before,
.header .g-nav__item:focus:before {
  bottom: -6px;
  opacity: 1;
  transition: ease-in 0.5s;
}

.header__btn {
  padding: 14.5px 0 13.2px;
  width: 160px;
  font-weight: 400;
  font-size: 1.6rem;
  text-align: center;
  background: #ef3838;
  color: #fff;
  border-radius: 50px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

@media not screen and (min-width: 992px) {
  .header__btn {
    display: none;
  }
}

.header__btn::before {
  content: "";
  display: inline-block;
  width: 120%;
  height: 120%;
  background: #2a3f51;
  border-radius: 50px;
  position: absolute;
  top: 50%;
  left: -120%;
  transform: translateY(-50%);
  z-index: -1;
  transition: left ease-in 0.25s;
}

.header__btn:hover::before {
  left: 0;
  transition: left ease-in 0.25s;
}

.header .toggle-btn {
  display: none;
}

@media not screen and (min-width: 992px) {
  .header .toggle-btn {
    display: block;
    width: 27.21px;
    height: 22.35px;
    position: relative;
    z-index: 10;
  }
}

.header .toggle-btn span {
  display: inline-block;
  width: 100%;
  height: 2px;
  background: #38b8ef;
  position: absolute;
}

.header .toggle-btn span:nth-child(1) {
  top: 0;
  left: 0;
  transition: ease-in 0.5s;
}

.header .toggle-btn span:nth-child(2) {
  top: 50%;
  opacity: 1;
  transition: opacity 0.5s;
}

.header .toggle-btn span:nth-child(3) {
  top: 100%;
  left: 0;
  transition: ease-in 0.5s;
}

.header .toggle-btn.is-active span {
  background: #fff;
}

.header .toggle-btn.is-active span:nth-child(1) {
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(35deg);
  transition: ease-in 0.5s;
}

.header .toggle-btn.is-active span:nth-child(2) {
  opacity: 0;
  transition: opacity 0.5s;
}

.header .toggle-btn.is-active span:nth-child(3) {
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-35deg);
  transition: ease-in 0.5s;
}

.header .slide-menu {
  display: none;
}

@media not screen and (min-width: 992px) {
  .header .slide-menu {
    display: flex;
    flex-direction: column;
    width: 100vw;
    height: 100%;
    position: fixed;
    top: 0;
    right: -100vw;
    background: #2d3d50;
    transition: 0.5s;
    touch-action: none;
  }
}

.header .slide-menu.is-show {
  right: 0;
  transition: 0.5s;
}

.header .slide-menu__head {
  padding: 12.4px 5.3%;
  border-bottom: 1px solid #818181;
}

@media not screen and (min-width: 576px) {
  .header .slide-menu__head {
    padding: 9px 5.3% 6px;
  }
}

.header .slide-menu__head .logo-sp {
  display: block;
  width: 159px;
}

@media not screen and (min-width: 576px) {
  .header .slide-menu__head .logo-sp {
    width: 120px;
  }
}

.header .slide-menu__btn {
  margin: 5% auto 0;
  padding: 14.5px 0 13.2px;
  width: 160px;
  font-weight: 400;
  font-size: 1.6rem;
  text-align: center;
  background: #ef3838;
  color: #fff;
  border-radius: 50px;
  overflow: hidden;
  position: relative;
}

.header .slide-menu__btn::before {
  content: "";
  display: inline-block;
  width: 120%;
  height: 120%;
  background: #2a3f51;
  border-radius: 50px;
  position: absolute;
  top: 50%;
  left: -120%;
  transform: translateY(-50%);
  z-index: -1;
  transition: left ease-in 0.25s;
}

.header .slide-menu__btn:hover::before {
  left: 0;
  transition: left ease-in 0.25s;
}

.header .g-nav-sp .g-nav__list {
  display: flex;
  flex-direction: column;
  padding: 0 5.3%;
}

.header .g-nav-sp .g-nav__item {
  padding: 4% 0;
  font-weight: 300;
  font-size: 1.7rem;
  line-height: 2.6;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #818181;
  color: #f7f7f7;
}

.contact {
  padding: 65px 0;
  background: #f2f2f2;
}

.contact-ttl {
  display: flex;
  flex-direction: column;
  color: #000;
}

.contact-ttl-ruby {
  font-weight: 700;
  font-size: 1.4rem;
  color: #38b8ef;
}

.contact__body {
  margin: 75px auto 0;
  max-width: 540px;
  width: 100%;
  text-align: center;
}

@media not screen and (min-width: 576px) {
  .contact__body {
    margin: 40px 0 0;
  }
}

.contact__body-desc {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 2;
}

@media not screen and (min-width: 576px) {
  .contact__body-desc {
    margin: 0 0 30px;
  }
}

.contact__body-detail {
  display: block;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
}

.contact__body-detail a {
  margin: 0 5px;
}

@media not screen and (min-width: 576px) {
  .contact__body-detail a {
    margin: 0;
  }
}

.footer {
  padding: 65px 0 21px;
}

.footer__inner {
  display: flex;
}

@media not screen and (min-width: 576px) {
  .footer__inner {
    align-items: center;
    flex-direction: column;
  }
}

.footer__logo {
  width: 159.04px;
}

.footer .f-nav__list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 auto;
  width: 50%;
}

@media not screen and (min-width: 576px) {
  .footer .f-nav__list {
    margin: 40px 0 0;
    width: 100%;
  }
}

.footer .f-nav__item {
  display: flex;
  align-items: center;
  gap: 0 4.5px;
  width: 50%;
  font-weight: 500;
  font-size: 1.6rem;
  color: #222222;
}

.footer .f-nav__item:not(:first-child, :nth-child(2)) {
  margin: 16px 0 0;
}

.footer .f-nav__item:before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 1.5px;
  background: #38b8ef;
}

.footer__copy {
  margin: 74.9px 0 0;
  font-weight: 100;
  font-size: 1.2rem;
  text-align: center;
}

.inteview-post {
  padding: 100px 0 0;
  position: relative;
  overflow-x: hidden;
}

.inteview-post-ttl {
  display: flex;
  justify-content: flex-end;
  flex-direction: column-reverse;
  font-family: "Unbounded", cursive;
  font-size: 6rem;
  color: #2e2e2e;
}

@media not screen and (min-width: 576px) {
  .inteview-post-ttl {
    font-size: 2.8rem;
  }
}

.inteview-post-ruby {
  display: flex;
  align-items: center;
  gap: 0 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 1.4rem;
}

.inteview-post-ruby::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #38b8ef;
  border-radius: 50%;
}

.inteview-post .post {
  padding: 85px 0 130px;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post {
    padding: 40px 0;
  }
}

.inteview-post .post__head-ttl {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.5;
  color: #38b8ef;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post__head-ttl {
    font-size: 1.8rem;
  }
}

.inteview-post .post__head-thumb {
  width: 100vw;
  margin: 46.2px calc(50% - 50vw);
  position: relative;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post__head-thumb {
    margin: 20px calc(50% - 50vw);
    height: 366px;
  }
}

@media not screen and (min-width: 576px) {
  .inteview-post .post__head-thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

.inteview-post .post__head-label {
  padding: 33px 52px 32px 10%;
  background: #f2f2f2;
  position: absolute;
  bottom: -20px;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post__head-label {
    padding: 18px 24px 18px 30px;
    bottom: auto;
  }
}

.inteview-post .post .talk {
  margin: 55px 0 0;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post .talk {
    margin: 30px 0 0;
  }
}

.inteview-post .post .talk01 {
  margin: 8rem 0 0;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post .talk01 {
    margin: 6rem 0 0;
  }
}

.inteview-post .post .talk-ttl {
  font-weight: 500;
  font-size: 2.4rem;
  color: #2e2e2e;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post .talk-ttl {
    font-size: 1.8rem;
    line-height: 1.5;
    text-indent: -18px;
    margin-left: 18px;
  }
}

.inteview-post .post .talk__answer {
  margin: 25px 0 0;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post .talk__answer {
    margin: 20px 0 0;
  }
}

.inteview-post .post .talk__item {
  gap: 0 15px;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post .talk__item {
    gap: 0 7px;
  }
}

.inteview-post .post .talk__item-name {
  width: 50px;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 2;
  color: #ef8538;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post .talk__item-name {
    font-size: 1.5rem;
  }
}

.inteview-post .post .talk__item:first-child .talk__item-name {
  color: #ef8538;
}

.inteview-post .post .talk__item:nth-child(2) {
  margin: 25px 0 0;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post .talk__item:nth-child(2) {
    margin: 15px 0 0;
  }
}

.inteview-post .post .talk__item:nth-child(2) .talk__item-name {
  color: #0759db;
}

.inteview-post .post .talk__item-desc {
  width: calc(100% - 15px);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  color: #2e2e2e;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post .talk__item-desc {
    font-size: 1.5rem;
  }
}

.inteview-post .post .talk02,
.inteview-post .post .talk03 {
  display: flex;
  flex-direction: column-reverse;
}

.inteview-post .post .talk02 .talk__body,
.inteview-post .post .talk03 .talk__body {
  margin: 24px 0 0;
}

/* リッチエディター用CSS */

.talk__body {
  margin: 24px 0 0;
}

.talk__body h2 {
  font-weight: 500;
  font-size: 2.4rem;
  color: #2e2e2e;
}

@media not screen and (min-width: 576px) {
  .talk__body h2 {
    font-size: 1.8rem;
    line-height: 1.5;
    text-indent: -18px;
    margin-left: 18px;
  }
}

.talk__body p {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2;
  color: #2e2e2e;
}

@media not screen and (min-width: 576px) {
  .talk__body p {
    font-size: 1.5rem;
  }
}

.talk__body img {
  margin: 1rem 0;
  width: 100%;
}

.talk__body p img {
  margin: 1rem 0;
  width: 100%;
}

/* 改修250609 */

.post__head-list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 2rem;
}

.post__head-list .post__head-label {
  padding: 33px 52px 32px 10%;
  background: #f2f2f2;
  position: relative;
  bottom: -20px;
}

@media not screen and (min-width: 576px) {
  .post__head-list .post__head-label {
    width: 100%;
  }
}

.inteview-post .post__head-division {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.75;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post__head-division {
    font-size: 1.2rem;
  }
}

.inteview-post .post__head-name {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.75;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post__head-name {
    font-size: 1.6rem;
  }
}

.inteview-post .post__head-en {
  padding-left: 22px;
  font-weight: 500;
  font-size: 1.4rem;
  color: #797979;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post__head-en {
    font-size: 0.8rem;
  }
}

.inteview-post .post__head-join {
  font-weight: 500;
  font-size: 1.4rem;
  color: #797979;
}

@media not screen and (min-width: 576px) {
  .inteview-post .post__head-join {
    font-size: 1.2rem;
  }
}

.post__head-thumb img {
  width: 100%;
}

/* タイトル */
.talk-ttl {
  font-size: 1.75rem; /* 大きめのフォントサイズ */
  font-weight: bold; /* 太字 */
  color: #333; /* タイトルの文字色 */
  margin: 40px 0 20px; /* 上下にスペース */
  text-align: left; /* 左寄せ */
}

/* 画像 */
.alignnone {
  display: block;
  margin: 0 auto; /* 画像を中央に配置 */
  border-radius: 8px; /* 角を丸く */
  margin-bottom: 20px; /* 下にスペース */
}

.size-medium {
  max-width: 100%; /* 最大幅を親要素に合わせる */
  height: auto; /* 高さは自動調整 */
}

/* トークセクション */
.talk {
  margin-bottom: 40px; /* 下にスペース */
}

.talk__body {
  padding: 20px; /* 内側の余白 */
  background-color: #f9f9f9; /* 背景色 */
  border-radius: 10px; /* 角を丸く */
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* 影を付けて浮き上がらせる */
}

/* 各トークアイテム */
.talk__item {
  margin-bottom: 25px; /* 下にスペース */
}

.talk__item-name {
  font-size: 1.25rem; /* 名前の文字サイズ */
  font-weight: bold; /* 名前を太字 */
  color: #007bff; /* 名前の文字色 */
  margin-bottom: 10px; /* 下にスペース */
}

.talk__item-desc {
  font-size: 1rem; /* 説明文の文字サイズ */
  color: #555; /* 説明文の文字色 */
  line-height: 1.6; /* 行間 */
  margin-bottom: 10px; /* 下にスペース */
}

/* 画像の追加 */
.talk__item img {
  width: 100%; /* 画像の横幅を100%に */
  height: auto; /* 高さは自動調整 */
  border-radius: 8px; /* 画像の角を丸く */
  margin-top: 15px; /* 上にスペース */
}

/* 課題文と回答のセクション */
.talk__answer {
  margin-top: 30px; /* 上にスペース */
}

.talk__answer .talk__item {
  margin-bottom: 30px; /* 下にスペース */
}

/* 改行 */
&:nbsp; {
  display: block;
  height: 10px; /* 改行の高さ */
}