@charset "UTF-8";
:root {
  --textblack: #444444;
  --primary-orange: #fe6440;
  --sub-orange: #ffbb56;
  --red: #dc4a27;
}
* {
  -webkit-font-smoothing: antialiased;
}
html,
body {
  overflow-x: hidden;
}

.totsugekitai {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #ffefde;
  a {
    text-decoration: none;
  }
  ul {
    list-style: none;
  }
}
.firstview {
  position: relative;
}

.firstview_badge {
  position: absolute;
  bottom: 6vh;
  left: 9vw;
  width: 14%;
  transform: rotate(-7deg);
}
.firstview_badge img {
  width: 100%;
  vertical-align: top;
}

.firstview_pagetitle {
  position: absolute;
  left: 50%;
  top: 8%;
  transform: translateX(-50%);
  text-align: center;
}
.firstview_pagetitle .fv_subtitle {
  color: var(--primary-orange);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  background-color: #fff;
  padding: 10px 16px;
  margin: 0 auto 16px auto;
  border-radius: 100px;
  max-width: -moz-max-content;
  max-width: max-content;
  letter-spacing: 1.5px;
  text-indent: 1.5px;
}
.firstview_pagetitle .fv_exp {
  color: #000;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 1.5px;
}
.firstview_pagetitle .fv_title {
  width: 85vw;
  max-width: 680px;
  margin: 20px auto 0 auto;
}
.firstview_pagetitle .fv_title img {
  width: 100%;
}

.firstview_image {
  width: 100%;
  height: 85svh;
}
.firstview_image img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  vertical-align: top;
  height: 100%;
}

.marquee {
  --gap: 80px;
  --duration: 45s;
  overflow: hidden;
  background-color: var(--primary-orange);
  padding: 20px 0;
  box-sizing: border-box;
}

/* gap を使うと Safari で transform 中に描画抜けが出ることがあるので margin で代替 */
.marquee__track {
  display: flex; /* inline-flex → flex（幅計算の不安定さ回避） */
  align-items: center;
  white-space: nowrap;
  min-width: -moz-max-content;
  min-width: max-content; /* 内容幅を正しく確保（-50% 移動の基準が安定） */
  will-change: transform;
  animation: marquee-scroll var(--duration) linear infinite;
  transform: translate3d(0, 0, 0); /* 合成レイヤ化 */
  backface-visibility: hidden; /* ちらつき防止 */
  contain: layout paint; /* 再計算の波及を抑制 */
}

.marquee__track img {
  height: 25px;
  width: auto;
  flex: 0 0 auto;
  display: block;
  margin-right: var(--gap); /* ← gap の代わり */
  -o-object-fit: cover;
  object-fit: cover;
  transform: translateZ(0); /* 各要素も合成レイヤに */
  backface-visibility: hidden;
  aspect-ratio: 1489/25;
}

/* 最後の画像だけ余白を消す */
.marquee__track img:last-child {
  margin-right: 0;
}

/* 3D にしてコンポジタを安定化（Safari向け） */
@keyframes marquee-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}
.container {
  max-width: 1080px;
  margin: 0 auto;
  width: 90%;
}

.hide_title {
  display: none;
}

.en_title {
  font-size: 1.7rem;
  text-align: center;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  color: var(--primary-orange);
  line-height: 1;
}

.about_title_text {
  display: flex;
  gap: 0 4px;
  justify-content: center;
  align-items: flex-end;
}
.about_title_text .about_title_logo {
  min-width: 250px;
  width: 50%;
}
.about_title_text .about_title_logo img {
  width: 100%;
}
.about_title_text p {
  font-size: 2.4rem;
  color: var(--primary-orange);
  line-height: 1;
  font-weight: 700;
  margin-bottom: 10px;
}

.about_title .en_title {
  margin-bottom: 18px;
}

.about .about_inner {
  background-color: #fff;
  padding: 130px 5%;
  position: relative;
}
.about .about_inner .about_triangle {
  position: absolute;
  max-width: 190px;
}
.about .about_inner .about_triangle img {
  width: 100%;
  vertical-align: top;
}
.about .about_inner .about_triangle__01 {
  top: 0;
  left: 0;
  transform: rotate(-180deg);
}
.about .about_inner .about_triangle__02 {
  bottom: 0;
  right: 0;
}
.about .about_text {
  font-size: 1.2rem;
  line-height: 1.8;
  margin-top: 20px;
  font-weight: 700;
  color: var(--primary-orange);
  text-align: center;
}
.about .about_title__line {
  margin: 50px auto;
  max-width: 300px;
  width: 50%;
}
.about .about_title__line img {
  width: 100%;
}

.section_title {
  text-align: center;
  color: #fff;
  padding: 40px 0;
  box-sizing: border-box;
}
.section_title .en_title {
  color: #fff;
  margin-bottom: 8px;
}
.section_title .section_title__jp {
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  letter-spacing: 5px;
}

.member_title {
  background-color: var(--primary-orange);
}

.article_title {
  background-color: var(--sub-orange);
}

.member_list {
  background-image: url(https://inter-edu.s3.amazonaws.com/special/wp-content/uploads/sites/2/member_bg.jpg);
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  padding: 180px 0 120px 0;
  box-sizing: border-box;
  z-index: -5;
}

.member_flex {
  display: flex;
  gap: 160px 8%;
  justify-content: center;
  max-width: 750px;
  margin: 0 auto;
  width: 90%;
  flex-wrap: wrap;
}
.member_flex .member_item {
  width: 46%;
  position: relative;
  z-index: 10;
}
.member_flex .member_item .member_item__inner {
  background-color: #fff;
  padding: 1px 30px 40px 30px;
  border-radius: 30px;
  box-sizing: border-box;
  height: 100%;
}
.member_flex .member_item .member_item__bg {
  position: absolute;
  top: 20px;
  left: 20px;
  height: 100%;
  width: 100%;
  border-radius: 30px;
  z-index: -1;
}
.member_flex .member_item .member_item_bg__01 {
  background-color: var(--red);
}
.member_flex .member_item .member_item_bg__02 {
  background-color: #2bc0c8;
}
.member_flex .member_item .member_item_bg__03 {
  background-color: #ff58a9;
}
.member_flex .member_item .member_item_image {
  width: 180px;
  margin: -80px auto 20px auto;
}
.member_flex .member_item .member_item_image img {
  width: 100%;
}
.member_flex .member_item .member_name {
  font-size: 2.4rem;
  line-height: 1;
  text-align: center;
  font-weight: 700;
  letter-spacing: 2px;
}
.member_flex .member_item .member_name span {
  font-size: 1.6rem;
}
.member_flex .member_item .member_name__01 {
  color: var(--primary-orange);
}
.member_flex .member_item .member_name__02 {
  color: #2bc0c8;
}
.member_flex .member_item .member_name__03 {
  color: #ff58a9;
}
.member_flex .member_item .member_info {
  font-size: 1rem;
  line-height: 1.6;
}
.member_flex .member_item .member_line {
  max-width: 300px;
  width: 90%;
  margin: 15px auto;
}
.member_flex .member_item .member_line img {
  width: 100%;
}

.ad_section {
  margin: 80px 0;
}

.article_content {
  background-color: var(--primary-orange);
  padding: 80px 0 100px 0;
  position: relative;
  z-index: 10;
}
.article_content .article_block {
  max-width: 750px;
  width: 90%;
  margin: 0 auto;
  margin-bottom: 100px;
}
.article_content .article_block .article_block__title {
  font-size: 1.2rem;
  color: var(--primary-orange);
  font-weight: 700;
  background-color: #fff;
  padding: 14px 24px;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
  border-radius: 100px;
  margin-bottom: 34px;
}
.article_content .article_block:last-child {
  margin-bottom: 0;
}
.article_content .article_block_item {
  background-color: #fff;
  border-radius: 10px;
  border: 3px solid #fff;
  overflow: hidden;
  margin-bottom: 30px;
}
.article_content .article_block_item a {
  display: flex;
}
.article_content .article_block_item a .article_block_item__image {
  width: 35%;
  aspect-ratio: 4/3;
}
.article_content .article_block_item a .article_block_item__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  vertical-align: top;
}
.article_content .article_block_item a .article_block_item__textblock {
  display: flex;
  flex: 1;
}
.article_content .article_block_item a .article_block_item__text {
  flex: 1;
  padding: 20px 25px 20px 25px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.article_content .article_block_item a .article_block__item_btn {
  width: 6%;
  min-width: 28px;
  background-color: var(--sub-orange);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
.article_content .article_block_item a .article_block__item_btn img {
  width: 10px;
}
.article_content .article_block_item a .article_block_item__subtitle {
  font-size: 1rem;
  text-align: left;
  font-weight: 700;
  color: var(--primary-orange);
}
.article_content .article_block_item a .article_block_item__title {
  font-size: 1.2rem;
  text-align: left;
  font-weight: 700;
  color: var(--textblack);
  margin-top: 4px;
  margin-bottom: 10px;
  display: -webkit-box; /* 必須 */
  -webkit-box-orient: vertical; /* 必須 */
  -webkit-line-clamp: 2; /* 行数を制限 */
  overflow: hidden; /* はみ出た部分を非表示 */
}
.article_content .article_block_item a .article_block_item__date {
  font-size: 0.875rem;
  text-align: left;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  color: #767676;
}
.article_content .article_block_item a .article_block_item__tag {
  display: flex;
  gap: 6px 8px;
  margin-top: 5px;
  flex-wrap: wrap;
}
.article_content .article_block_item a .article_block_item__tag p {
  color: #fff;
  background-color: var(--sub-orange);
  padding: 4px 10px;
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: bold;
  white-space: nowrap;
}
.article_content .article_block_item a .article_arrow__02 {
  background-color: #2bc0c8;
}
.article_content .article_block_item a .article_arrow__03 {
  background-color: #ff58a9;
}
.article_content .article_block_item a .tag_02 p {
  background-color: #2bc0c8;
}
.article_content .article_block_item a .tag_03 p {
  background-color: #ff58a9;
}
.article_content .article_comment {
  display: flex;
  gap: 10px 20px;
  align-items: center;
}
.article_content .article_comment .article_comment__img {
  width: 18%;
}
.article_content .article_comment .article_comment__img img {
  width: 100%;
}
.article_content .article_comment .article_comment_info {
  flex: 1;
  padding: 25px 30px 25px 30px;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 20px;
  border-bottom-left-radius: 0;
}
.article_content
  .article_comment
  .article_comment_info
  .article_comment_info__title {
  font-size: 0.75rem;
  color: var(--primary-orange);
  border: 1px solid var(--primary-orange);
  padding: 6px 10px;
  width: -moz-max-content;
  width: max-content;
  font-weight: 700;
  margin-bottom: 10px;
}
.article_content
  .article_comment
  .article_comment_info
  .article_comment_info__text {
  font-size: 1rem;
  line-height: 1.6;
}
.article_content .article_bgarrow {
  position: absolute;
  width: 800px;
  z-index: -1;
}
.article_content .article_bgarrow img {
  width: 100%;
}
.article_content .bg_arrow__01 {
  top: -50px;
  right: -15%;
}
.article_content .bg_arrow__02 {
  top: 840px;
  left: -15%;
}

.br_forsp {
  display: none;
}

.mark1 {
  background: linear-gradient(transparent 0%, #2bc0c8 0%);
  padding: 0 4px;
  color: #fff;
}

.mark2 {
  background: linear-gradient(transparent 0%, #ff58a9 0%);
  padding: 0 4px;
  color: #fff;
}

@media screen and (max-width: 1024px) {
  .container {
    width: 100%;
  }
  .article_bgarrow {
    display: none;
  }
  .firstview_image {
    height: 55svh;
  }
  .firstview_badge {
    left: 5vw;
    bottom: 16vh;
  }
}
@media screen and (max-width: 599px) {
  .about_title_text p {
    font-size: 1.4rem;
    margin-bottom: 5px;
  }
  .about .about_inner .about_triangle {
    width: 120px;
  }
  .about .about_text {
    font-size: 1rem;
  }
  .about .about_title__line {
    margin: 30px auto;
  }
  .en_title {
    font-size: 1.4rem;
  }
  .section_title .section_title__jp {
    font-size: 2rem;
  }
  .member_flex .member_item {
    width: 90%;
  }
  .member_flex .member_item .member_info {
    font-size: 1rem;
  }
  .member_flex .member_item .member_name {
    font-size: 2rem;
  }
  .member_flex .member_item .member_name span {
    font-size: 1.2rem;
  }
  .article_content .article_block_item a {
    flex-wrap: wrap;
  }
  .article_content .article_block_item a .article_block_item__image {
    width: 100%;
    height: 200px;
  }
  .article_content .article_block_item a .article_block_item__text {
    padding: 20px 20px 20px 20px;
  }
  .article_content .article_comment {
    flex-wrap: wrap;
  }
  .article_content .article_comment .article_comment_info {
    width: 100%;
    flex: auto;
    border-bottom-left-radius: 20px;
    border-top-left-radius: 0;
  }
  .article_content .article_comment .article_comment__img {
    width: 25%;
  }
  .br_forsp {
    display: block;
  }
  .br_hiddenforsp {
    display: none;
  }
  .about .about_inner {
    padding: 100px 5%;
  }
  .member_flex {
    gap: 150px 8%;
  }
  .member_flex .member_item .member_item_image {
    width: 160px;
  }
  .firstview_badge {
    right: 4vw;
    left: auto;
    bottom: 3vh;
    width: 28%;
    transform: rotate(7deg);
  }
  .firstview_pagetitle {
    top: 8%;
  }
  .firstview_pagetitle .fv_subtitle {
    font-size: 1.5rem;
    padding: 7px 13px;
    margin-bottom: 12px;
  }
  .firstview_pagetitle .fv_exp {
    font-size: 1.5rem;
  }
  .firstview_pagetitle .fv_title {
    margin-top: 14px;
  }
  .section_title {
    padding: 28px 0;
  }
  .marquee {
    --gap: 50px;
    --duration: 50s;
    padding: 16px 0;
  }
  .marquee__track img {
    height: 18px;
  }
  .article_content .article_block_item a .article_block_item__title {
    font-size: 1.2rem;
  }
  .article_content .article_block_item a .article_block_item__subtitle {
    font-size: 0.875rem;
  }
  .article_content .article_block_item a .article_block_item__date {
    font-size: 0.75rem;
  }
  .article_content .article_block .article_block__title {
    font-size: 1.2rem;
  }
  .firstview_image {
    height: 65svh;
    min-height: 550px;
  }
}
