@charset "UTF-8";
/* ボックスサイズの基準 */
*, *::before, *::after {
  box-sizing: border-box;
}

/* 代表的な既定マージンの除去 */
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd {
  margin: 0;
}

/* リストのパディングと箇条書きマーカーを除去 */
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* body の基本値 */
html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  line-height: 1.5;
}

/* 見出しはプロジェクト側でサイズ/太さを管理 */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

/* 画像・メディア要素 */
img, svg, video, canvas, audio, iframe {
  display: block;
  max-width: 100%;
}

/* テーブル */
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

th, td {
  padding: 0;
}

/* フォーム要素 */
button, input, textarea, select {
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  outline: 0;
}

button {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

/* リンク */
a {
  color: inherit;
  text-decoration: none;
}

/* blockquote / q の引用符をリセット */
blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after, q::before, q::after {
  content: "";
  content: none;
}

/* hidden 属性の強制非表示 */
[hidden] {
  display: none !important;
}

/**
 * root-scale-plateau
 * 1920px→$base-size を基準に「幅に比例して縮小」し、
 * $plateau-vw 未満はその時点の値で固定（横スクロール前提）
 * 例: @include root-scale-plateau(10px, 1920px, 1200px);
 */
/**
 * root-scale-sp-fluid
 * 375px → 10px を基準に、画面幅に比例して拡大する。
 * 例: 375px = 10px, 750px = 20px, 750px以上はそのまま伸び続ける。
 */
/**
 * font-size-responsive
 * pctablet表示時の最低フォントサイズ14pxを保証するレスポンシブフォントサイズ
 * 例: @include font-size-responsive(1.8rem);  // 通常1.8rem、pctablet時最低14px
 */
.u-mt--10 {
  margin-top: 1rem !important;
}
.u-mt--20 {
  margin-top: 2rem !important;
}
.u-mt--24 {
  margin-top: 2.4rem !important;
}
.u-mt--30 {
  margin-top: 3rem !important;
}
.u-mt--40 {
  margin-top: 4rem !important;
}
.u-mt--50 {
  margin-top: 5rem !important;
}
.u-mt--60 {
  margin-top: 6rem !important;
}
.u-mt--70 {
  margin-top: 7rem !important;
}
.u-mt--80 {
  margin-top: 8rem !important;
}
.u-mt--110 {
  margin-top: 11rem !important;
}

.u-font-number {
  font-family: "Inter", sans-serif;
}

.u-highlighter {
  background: linear-gradient(transparent 70%, #fce629 70%);
}
@media screen and (max-width: 768px) {
  .u-highlighter {
    background: linear-gradient(transparent 80%, #fce629 80%);
  }
}

.c-content-wrapper {
  position: relative;
  padding-bottom: 6rem;
}
.c-content-wrapper::before {
  content: "";
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 0.3rem;
  background: url(../img/content_bottom_line.png) repeat-x center/contain;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .c-content-wrapper {
    padding-bottom: 3.5rem;
  }
}

@media screen and (max-width: 768px) {
  .c-content:not(:last-child) {
    margin-bottom: 1rem;
  }
}
.c-content.--large {
  flex: 0 0 65rem;
  width: 65rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .c-content.--large {
    flex: 0;
  }
}
.c-content.--medium {
  flex: 0 0 51rem;
  width: 51rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .c-content.--medium {
    flex: 0;
    width: 100%;
  }
}
.c-content__title {
  font-size: 2.175rem;
  font-weight: 700;
  color: #f00909;
  margin-bottom: 2.4rem;
}
@media screen and (max-width: 768px) {
  .c-content__title {
    font-size: 1.9rem;
    line-height: 1.2192;
  }
}
.c-content__title--day3 {
  font-size: 2.175rem;
  font-weight: 700;
  color: #fff;
  background: #f00909;
  margin-bottom: 1.6rem;
  padding: 0.3rem 0.6rem;
}
@media screen and (max-width: 768px) {
  .c-content__title--day3 {
    font-size: 1.9rem;
    line-height: 1.2192;
  }
}
.c-content__text {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 768px) {
  .c-content__text {
    margin-bottom: 2rem;
    font-size: 1.5rem;
    line-height: 1.3977;
  }
}
.c-content__image--exlarge {
  flex: 1 0 auto;
  max-width: 79.7rem;
  width: 100%;
}
.c-content__image--large {
  flex: 1 0 auto;
  max-width: 65rem;
  width: 100%;
}
.c-content__image--medium {
  flex: 1 0 auto;
  max-width: 55rem;
  width: 100%;
}
.c-content__image--vertical {
  flex: 1 0 auto;
  max-width: 45rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-content__image--vertical {
    width: 24.1rem;
    margin: 0 auto;
  }
}
.c-content__image--regular {
  flex: 1 0 auto;
  max-width: 38.9rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-content__image--regular {
    width: 24.1rem;
    margin: 0 auto;
  }
}
.c-content__image--smaller-2 {
  flex: 1 0 auto;
  max-width: 32rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-content__image--smaller-2 {
    display: block;
    max-width: 24.1rem;
    margin: 0 auto;
  }
}
.c-content__image--smaller {
  flex: 1 0 auto;
  max-width: 27.2rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-content__image--smaller {
    display: block;
    max-width: 24.1rem;
    margin: 0 auto;
  }
}
.c-content__image--small {
  flex: 1 0 auto;
  max-width: 23.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-content__image--small {
    max-width: 14.75rem;
  }
}
.c-content__image--small-2 {
  flex: 1 0 auto;
  max-width: 25.5rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-content__image--small-2 {
    max-width: 14.75rem;
  }
}
.c-content img {
  width: 100%;
}

.c-sub-content__title {
  font-size: 2.175rem;
  font-weight: 700;
  color: #f00909;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 768px) {
  .c-sub-content__title {
    font-size: 1.9rem;
    line-height: 1.2192;
  }
  .c-sub-content__title br {
    display: none;
  }
}
.c-sub-content__box {
  flex: 1 0 23.5rem;
  width: 23.5rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .c-sub-content__box {
    flex: 0;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 2rem;
    width: 100%;
  }
  .c-sub-content__box .c-sub-content__image--small {
    flex: 1 0 11.2rem;
    width: 11.2rem;
  }
}
.c-sub-content__text {
  flex: 1 1 auto;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: 1.6rem;
}
.c-sub-content__image--medium {
  flex: 1 0 29.3rem;
  max-width: 29.3rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-sub-content__image--medium {
    flex: 0;
    width: 25.35rem;
    margin: 0 auto;
  }
}
.c-sub-content__image--small {
  flex: 1 0 23rem;
  max-width: 23rem;
  width: 100%;
}
.c-sub-content__image--max {
  flex: 1 0;
}
.c-sub-content__image img {
  width: 100%;
  height: auto;
}

.c-detail-desc {
  max-width: 100%;
}
.c-detail-desc__title {
  font-size: 1.612rem;
  font-weight: 700;
  margin-bottom: 2rem;
  padding-left: 1.4rem;
  position: relative;
}
.c-detail-desc__title::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  background-color: #f00909;
  bottom: 0.3rem;
  transform: translateY(-50%);
  left: 0.3rem;
}
@media screen and (max-width: 768px) {
  .c-detail-desc__title::before {
    bottom: 0.2rem;
  }
}
.c-detail-desc__title ruby {
  display: inline-flex;
  flex-direction: column-reverse;
  vertical-align: bottom;
  align-items: start;
  line-height: 1;
}
.c-detail-desc__title ruby > rt > .for-br {
  display: block;
}
@media screen and (max-width: 768px) {
  .c-detail-desc__title {
    margin-bottom: 1.7rem;
  }
}
.c-detail-desc__details {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .c-detail-desc__details {
    align-items: start;
    gap: 0.5rem 2rem;
    margin-bottom: 1.5rem;
  }
  .c-detail-desc__details:last-child {
    margin-bottom: 0;
  }
}
.c-detail-desc__details dt {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.2rem;
  color: #fff;
  background-color: #333333;
  border-radius: 0.2rem;
  padding: 0.2rem 0.4rem;
}
.c-detail-desc__details dd {
  font-size: 1.4rem;
}
.c-detail-desc__details dd > a {
  text-decoration: underline;
  text-underline-offset: 0.6rem;
}
.c-detail-desc__details dd > a:hover {
  opacity: 0.5;
}

.c-image-group__box {
  max-width: 33.3333%;
}
@media screen and (max-width: 768px) {
  .c-image-group__box {
    flex: 0 0 100%;
    max-width: 25rem;
    margin: 0 auto;
  }
  .c-image-group__box.--sp-large {
    max-width: 32.5rem;
  }
}
.c-image-group__image {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-image-group__image {
    display: block;
    flex: 0 0 100%;
    max-width: 100%;
    margin: 0 auto;
  }
}
.c-image-group__list {
  flex: 1 0 37.3rem;
  width: 37.3rem;
  max-width: 100%;
  margin-top: 2.5rem;
}
.c-image-group__list > li {
  position: relative;
  padding-left: 1em;
  font-size: 1.4rem;
  list-style: none;
}
.c-image-group__list > li:before {
  position: absolute;
  left: 0.5em;
  top: 0.65em;
  display: block;
  width: 0.2em;
  height: 0.2em;
  background: #f00;
  border-radius: 0.1em;
  content: "";
}
@media screen and (max-width: 768px) {
  .c-image-group__list {
    margin-top: 1rem;
  }
  .c-image-group__list > li {
    font-size: 1.1275rem;
  }
}
@media screen and (max-width: 768px) {
  .c-image-group .flex-order-sp-3 {
    order: 3;
  }
}

.c-youtube {
  max-width: 100rem;
  margin: 5rem auto 0;
  padding: 3.7rem 0 4.5rem;
  border: 4px solid #f00909;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .c-youtube {
    width: 100%;
    max-width: unset;
    margin: 3.8rem auto 0;
    padding: 2rem 2.5rem 2.2rem;
    border-top: 2px dotted #f00909;
    border-bottom: 2px dotted #f00909;
    border-right: none;
    border-left: none;
  }
}
.c-youtube__top {
  display: flex;
  justify-content: space-between;
  width: 60.7rem;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .c-youtube__top {
    width: 100%;
  }
}
.c-youtube__logo {
  width: 15.7rem;
}
@media screen and (max-width: 768px) {
  .c-youtube__logo {
    width: 7.9rem;
  }
}
.c-youtube__title {
  color: #ff0000;
  font-size: 2.088rem;
}
@media screen and (max-width: 768px) {
  .c-youtube__title {
    font-size: 1.044rem;
  }
}
.c-youtube__embed {
  display: block;
  width: 62.76rem;
  aspect-ratio: 627/353;
  max-width: 100%;
  margin: 3rem auto 0;
}
.c-youtube__embed iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .c-youtube__embed {
    margin: 1.5rem auto 0;
  }
}

.c-podcast-bnr {
  display: block;
  width: 100rem;
  margin: 8rem auto 0;
}
@media screen and (max-width: 768px) {
  .c-podcast-bnr {
    width: 32.5rem;
    max-width: 100%;
    margin: 2.9rem auto 0;
  }
}

.c-report-bnr {
  display: block;
  width: 100rem;
  margin: 11.2rem auto 0;
}
@media screen and (max-width: 768px) {
  .c-report-bnr {
    width: 32.5rem;
    max-width: 100%;
    margin: 2.7em auto 0;
  }
}

.c-top-btn {
  display: block;
  width: 24.6rem;
  margin: 9.2rem auto 11rem;
}
@media screen and (max-width: 768px) {
  .c-top-btn {
    width: 12.3rem;
    margin: 2.7rem auto 4.8rem;
  }
}
.c-top-btn img {
  width: 100%;
  height: auto;
}

.subpage .leadText__flexBox {
  gap: 0 4rem;
}
@media screen and (max-width: 768px) {
  .subpage .leadText__flexBox {
    gap: 7.4667vw;
    flex-flow: column;
  }
}
.subpage .leadText__heading {
  font-size: 3.175rem;
  color: #fff;
  margin-bottom: 5.4rem;
  padding: 3.2rem 0 2.8rem 0;
  position: relative;
}
.subpage .leadText__heading::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 100vw;
  height: 100%;
  background-color: #f00909;
  right: 0;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .subpage .leadText__heading {
    margin-bottom: 7.4667vw;
    padding: 4.5333vw 0 5.6vw;
    font-size: 5.2653vw;
    line-height: 1.2801;
  }
}
@media screen and (max-width: 768px) {
  .subpage .leadText__text {
    font-size: 1.5rem;
    line-height: 1.6;
  }
}
.subpage .leadText__textBox {
  max-width: 56rem;
  display: block;
}
@media screen and (max-width: 768px) {
  .subpage .leadText__textBox {
    max-width: unset;
  }
}
.subpage .leadText__youtube-thumbnail {
  width: 60.5rem;
}
@media screen and (max-width: 768px) {
  .subpage .leadText__youtube-thumbnail {
    display: block;
    width: 78.4vw;
    max-width: 100%;
    margin: 0 auto;
  }
}
.subpage .leadText__youtube-thumbnail iframe {
  width: 100%;
  aspect-ratio: 590/332;
}
@media screen and (max-width: 768px) {
  .subpage .leadText__youtube-thumbnail iframe {
    aspect-ratio: 484/273;
  }
}

.l-flex {
  display: flex;
}
.l-flex--jc-center {
  justify-content: center;
}
.l-flex--jc-space-between {
  justify-content: space-between;
}
.l-flex--ai-center {
  align-items: center;
}
.l-flex--ai-end {
  align-items: end;
}
.l-flex--column {
  flex-direction: column;
}
.l-flex--row-reverse {
  flex-direction: row-reverse;
}
.l-flex--column-pc {
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .l-flex--column-pc {
    flex-direction: row;
  }
}
@media screen and (max-width: 768px) {
  .l-flex--column-sp {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .l-flex--column-reverse-sp {
    flex-direction: column-reverse;
  }
}

.l-gap--40 {
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .l-gap-sp--10 {
    gap: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .l-gap-sp--10 {
    gap: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .l-gap-sp--20 {
    gap: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .l-gap-sp--30 {
    gap: 3rem;
  }
}

.u-mt--120 {
  margin-top: 12rem;
}
@media screen and (max-width: 768px) {
  .u-mt-sp--0 {
    margin-top: 0 !important;
  }
}
@media screen and (max-width: 768px) {
  .u-mt-sp--10 {
    margin-top: 1rem !important;
  }
}
@media screen and (max-width: 768px) {
  .u-mt-sp--20 {
    margin-top: 2rem !important;
  }
}
@media screen and (max-width: 768px) {
  .u-mt-sp--35 {
    margin-top: 3.5rem !important;
  }
}
@media screen and (max-width: 768px) {
  .u-mt-sp--30 {
    margin-top: 3rem !important;
  }
}

@media screen and (max-width: 768px) {
  .u-mb-sp--0 {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 768px) {
  .u-width-sp--257 {
    display: block;
    width: 25.7rem;
    margin: 0 auto;
  }
}

.u-display--pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .u-display--pc {
    display: none;
  }
}

.u-display--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-display--sp {
    display: block;
  }
}/*# sourceMappingURL=sub_page.css.map */