body {
  height: 100%;
  overflow-x: hidden;
}

.module-text {
  padding: 0;
}

.soft-double-top {
  padding-top: 0 !important;
}

.wp-text .waseda-weekly-socials {
  background: none !important;
}

.soft-double-top > .container {
  width: 100% !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.soft-double-top > .container #contents {
  background: #eeeeef;
  letter-spacing: 0.01em;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  contain: paint;
}

.sns-area {
  background: #fff;
}
.sns-area a[target=_blank]:after {
  display: none !important;
}

@media (min-width: 769px) {
  .theme-weekly .wp-text .waseda-weekly-socials.-mini {
    padding-top: 1px;
    padding-bottom: 80px;
  }
}
@media (max-width: 768px) {
  .theme-weekly .wp-text .waseda-weekly-socials.-mini {
    padding-top: 15px;
    padding-bottom: 40px;
  }
}

.container-outer {
  overflow-x: hidden !important;
}

#global-footer {
  width: 100%;
  overflow-x: hidden;
}

#contents *, #contents *::before, #contents *::after {
  box-sizing: border-box;
}
#contents a[target=_blank]:after {
  display: none !important;
}
@media (max-width: 768px) {
  #contents .pc-only {
    display: none !important;
  }
}
@media (min-width: 769px) {
  #contents .sp-only {
    display: none !important;
  }
}
#contents h1 {
  margin: 0;
}
#contents h2 {
  border-top: 0;
  margin: 0;
  padding: 0;
}
#contents h2::after {
  content: none;
}
#contents h3 {
  border-left: 0;
  margin: 0;
  padding: 0;
}
#contents h4 {
  background: none;
  margin: 0;
  padding: 0;
}
#contents h5 {
  margin: 0;
  padding: 0;
}
#contents p {
  margin: 0;
}
#contents .is-line {
  position: relative;
}
#contents .is-line::before {
  content: "";
  position: absolute;
  background: #000;
  width: 100%;
  height: 0.1rem;
  left: 0;
  bottom: 0;
  scale: 0 1;
  transform-origin: left center;
  transition: scale 1s ease-in-out;
}
#contents .is-line.is-delay::before {
  transition-delay: 1s !important;
}
#contents .is-marker {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: clip-path 1s ease-in-out;
}
#contents .is-animated .is-line::before {
  scale: 1 1;
}
#contents .is-animated .is-marker {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

#kv {
  position: relative;
  contain: paint;
}
@media (min-width: 769px) {
  #kv {
    padding: 6.945% 0 13.681%;
  }
}
@media (min-width: 1440px) {
  #kv {
    padding: 100px 0 197px;
  }
}
@media (max-width: 768px) {
  #kv {
    padding: 28.975% 0 7.308%;
  }
}
#kv .kv_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
}
#kv .kv_bg img {
  object-fit: contain;
  object-position: center top;
  width: 100%;
  height: 100%;
}
#kv .kv_img_bg {
  position: absolute;
}
@media (min-width: 769px) {
  #kv .kv_img_bg.bg1 {
    width: 23.612%;
    right: calc(50vw + 26.598%);
    top: 3.475%;
  }
}
@media (min-width: 1440px) {
  #kv .kv_img_bg.bg1 {
    width: 340px;
    right: calc(50vw + 38.3rem);
  }
}
@media (max-width: 768px) {
  #kv .kv_img_bg.bg1 {
    width: 35.898%;
    left: -4.871%;
    top: 1.687%;
  }
}
@media (min-width: 769px) {
  #kv .kv_img_bg.bg2 {
    width: 16.667%;
    right: calc(50vw + 22.431%);
    bottom: 9.215%;
  }
}
@media (min-width: 1440px) {
  #kv .kv_img_bg.bg2 {
    width: 240px;
    right: calc(50vw + 32.3rem);
  }
}
@media (max-width: 768px) {
  #kv .kv_img_bg.bg2 {
    width: 28.206%;
    left: 3.334%;
    bottom: 12.997%;
  }
}
@media (min-width: 769px) {
  #kv .kv_img_bg.bg3 {
    width: 23.612%;
    left: calc(50vw + 27.917%);
    top: 41.088%;
  }
}
@media (min-width: 1440px) {
  #kv .kv_img_bg.bg3 {
    width: 340px;
    left: calc(50vw + 40.2rem);
  }
}
@media (max-width: 768px) {
  #kv .kv_img_bg.bg3 {
    width: 35.898%;
    right: -4.743%;
    bottom: 21.231%;
  }
}
#kv .kv_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
#kv .kv_lead {
  position: relative;
  margin: 0;
}
@media (min-width: 769px) {
  #kv .kv_lead {
    width: 30.973%;
    max-width: 446px;
  }
}
@media (max-width: 768px) {
  #kv .kv_lead {
    width: 37.308%;
  }
}
#kv .kv_copy {
  position: relative;
}
@media (min-width: 769px) {
  #kv .kv_copy {
    width: 40.903%;
    margin-top: 2.014%;
  }
}
@media (min-width: 1440px) {
  #kv .kv_copy {
    width: 589px;
    margin-top: 29px;
  }
}
@media (max-width: 768px) {
  #kv .kv_copy {
    width: 77.436%;
    margin-top: 2.693%;
  }
}
@media (min-width: 769px) {
  #kv .kv_copy::before {
    height: 0.209vw;
    max-height: 3px;
  }
}
@media (max-width: 768px) {
  #kv .kv_copy::before {
    height: 0.15rem;
  }
}
#kv .kv_title {
  position: relative;
}
@media (min-width: 769px) {
  #kv .kv_title {
    width: 52.917%;
    margin-top: 1.528%;
  }
}
@media (min-width: 1440px) {
  #kv .kv_title {
    width: 762px;
    margin-top: 22px;
  }
}
@media (max-width: 768px) {
  #kv .kv_title {
    width: 96.154%;
    max-width: 600px;
    margin-top: 3.077%;
  }
}
#kv .kv_title::before {
  transition-delay: 0.5s;
}
@media (min-width: 769px) {
  #kv .kv_title::before {
    height: 0.209vw;
    max-height: 3px;
  }
}
@media (max-width: 768px) {
  #kv .kv_title::before {
    height: 0.15rem;
  }
}
@media (min-width: 769px) {
  #kv .kv_date {
    width: 28.959%;
    margin-top: 2.084%;
  }
}
@media (min-width: 1440px) {
  #kv .kv_date {
    width: 417px;
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  #kv .kv_date {
    width: 34.488%;
    margin-top: 5.129%;
  }
}
#kv .kv_profs {
  display: flex;
  justify-content: center;
}
@media (min-width: 769px) {
  #kv .kv_profs {
    gap: 4.375vw;
    margin-top: 2.431%;
  }
}
@media (min-width: 1440px) {
  #kv .kv_profs {
    gap: 63px;
    margin-top: 35px;
  }
}
@media (max-width: 768px) {
  #kv .kv_profs {
    flex-direction: column;
    gap: 7.052vw;
    margin-top: 3.847%;
  }
}
#kv .kv_prof {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media (min-width: 769px) {
  #kv .kv_prof {
    gap: 0.417vw;
  }
}
@media (min-width: 1440px) {
  #kv .kv_prof {
    gap: 6px;
  }
}
@media (max-width: 768px) {
  #kv .kv_prof {
    gap: 0.77vw;
  }
}
#kv .kv_prof > i {
  position: absolute;
  left: 0;
}
@media (min-width: 769px) {
  #kv .kv_prof > i {
    width: 2.362vw;
    height: 2.362vw;
    bottom: 0.209vw;
  }
}
@media (min-width: 1440px) {
  #kv .kv_prof > i {
    width: 34px;
    height: 34px;
    bottom: 3px;
  }
}
@media (max-width: 768px) {
  #kv .kv_prof > i {
    width: 4.103vw;
    height: 4.103vw;
    right: 0;
    top: -5.769vw;
    margin: 0 auto;
  }
}
#kv .kv_prof.prof1::before {
  display: none;
}
@media (min-width: 769px) {
  #kv .kv_prof.prof1 .kv_prof_job {
    width: 7.223vw;
    max-width: 104px;
  }
}
@media (max-width: 768px) {
  #kv .kv_prof.prof1 .kv_prof_job {
    width: 24.103vw;
  }
}
#kv .kv_prof.prof1 .kv_prof_name {
  transition-delay: 1s;
}
@media (min-width: 769px) {
  #kv .kv_prof.prof1 .kv_prof_name {
    width: 11.459vw;
    max-width: 165px;
  }
}
@media (max-width: 768px) {
  #kv .kv_prof.prof1 .kv_prof_name {
    width: 20vw;
  }
}
@media (min-width: 769px) {
  #kv .kv_prof.prof2 > i {
    translate: -135.294% 0;
  }
}
@media (min-width: 769px) {
  #kv .kv_prof.prof2 .kv_prof_job {
    width: 11.945vw;
    max-width: 172px;
  }
}
@media (max-width: 768px) {
  #kv .kv_prof.prof2 .kv_prof_job {
    width: 28.59vw;
  }
}
#kv .kv_prof.prof2 .kv_prof_name {
  transition-delay: 1.5s;
}
@media (min-width: 769px) {
  #kv .kv_prof.prof2 .kv_prof_name {
    width: 11.459vw;
    max-width: 165px;
  }
}
@media (max-width: 768px) {
  #kv .kv_prof.prof2 .kv_prof_name {
    width: 20vw;
  }
}
@media (min-width: 769px) {
  #kv .kv_prof.prof3 > i {
    translate: -144.117% 0;
  }
}
@media (min-width: 769px) {
  #kv .kv_prof.prof3 .kv_prof_job {
    width: 4.792vw;
    max-width: 69px;
  }
}
@media (max-width: 768px) {
  #kv .kv_prof.prof3 .kv_prof_job {
    width: 15.898vw;
  }
}
#kv .kv_prof.prof3 .kv_prof_name {
  transition-delay: 2s;
}
@media (min-width: 769px) {
  #kv .kv_prof.prof3 .kv_prof_name {
    width: 8.681vw;
    max-width: 125px;
  }
}
@media (max-width: 768px) {
  #kv .kv_prof.prof3 .kv_prof_name {
    width: 15.129vw;
  }
}
#intro {
  position: relative;
  margin-top: -0.2rem;
}
@media (min-width: 769px) {
  #intro {
    padding: 0 0 8rem;
  }
}
@media (max-width: 768px) {
  #intro {
    padding: 7.35rem 0 9.25rem;
  }
}
#intro .intro_bg {
  position: absolute;
  top: 0;
}
@media (min-width: 769px) {
  #intro .intro_bg {
    height: 100%;
    width: 1560px;
    left: 50%;
    translate: -50% 0;
  }
  #intro .intro_bg img {
    object-fit: contain;
    object-position: center top;
    width: 100%;
    height: 100%;
  }
}
@media (max-width: 768px) {
  #intro .intro_bg {
    width: 100%;
    left: 0;
  }
}
@media (min-width: 769px) {
  #intro .intro_bg ~ .intro_bg {
    display: none !important;
  }
}
@media (max-width: 768px) {
  #intro .intro_bg ~ .intro_bg {
    top: auto;
    bottom: 0;
  }
}
#intro .intro_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#intro .intro_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (min-width: 769px) {
  #intro .intro_box {
    gap: 2.6rem;
    width: 82rem;
    height: 82rem;
    padding: 0.9rem 0 0;
  }
}
@media (max-width: 768px) {
  #intro .intro_box {
    gap: 1.85rem;
    width: 100%;
    padding: 12.7rem 2rem 11.85rem;
  }
}
#intro .intro_box_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  text-align: center;
}
@media (min-width: 769px) {
  #intro .intro_box_bg::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid;
    inset: 0;
  }
}
#intro .intro_box_bg img {
  object-fit: cover;
  height: 100%;
}
@media (min-width: 769px) {
  #intro .intro_box_bg img {
    width: 100%;
  }
}
@media (max-width: 768px) {
  #intro .intro_box_bg img {
    width: auto;
  }
}
@media (min-width: 769px) {
  #intro .intro_h2 {
    width: 42.5rem;
  }
}
@media (max-width: 768px) {
  #intro .intro_h2 {
    width: 33.2rem;
    max-width: 98%;
  }
}
#intro .intro_text {
  position: relative;
}
@media (min-width: 769px) {
  #intro .intro_text {
    line-height: 1.75;
    font-size: 16px;
    text-align: center;
  }
}
@media (max-width: 768px) {
  #intro .intro_text {
    max-width: 360px;
    letter-spacing: -0.01em;
    line-height: 1.8;
    font-size: 15px;
  }
}

#profile {
  position: relative;
}
@media (min-width: 769px) {
  #profile {
    padding: 4rem 0 0;
  }
}
@media (max-width: 768px) {
  #profile {
    padding: 5rem 0 0;
  }
}
#profile .profile_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 769px) {
  #profile .profile_inner {
    gap: 3rem;
  }
}
@media (max-width: 768px) {
  #profile .profile_inner {
    gap: 1.5rem;
  }
}
@media (min-width: 769px) {
  #profile .profile_h2 {
    width: 22.2rem;
  }
}
@media (max-width: 768px) {
  #profile .profile_h2 {
    width: 17.35rem;
  }
}
#profile .profile_items {
  display: grid;
  position: relative;
  width: 100%;
}
@media (min-width: 769px) {
  #profile .profile_items {
    justify-content: space-between;
    grid-template-columns: repeat(3, 29.546%);
    grid-template-rows: min-content min-content;
    max-width: 880px;
  }
  #profile .profile_items::before {
    content: "";
    display: block;
    grid-column: 1/4;
    grid-row: 2/3;
    position: relative;
    background: linear-gradient(to top, #aaa 24%, rgba(149, 149, 154, 0) 100%);
    width: 100vw;
    height: 100%;
    margin-left: calc(50% - 50vw);
  }
  #profile .profile_items::after {
    content: "";
    display: block;
    grid-column: 1/4;
    grid-row: 2/3;
    position: relative;
    background: rgba(255, 255, 255, 0.8);
    width: 100vw;
    height: 100%;
    margin-left: calc(50% - 50vw);
  }
}
@media (max-width: 768px) {
  #profile .profile_items {
    grid-template-rows: min-content min-content min-content min-content min-content min-content;
    gap: 2rem;
  }
}
#profile .profile_item_thumb {
  position: relative;
  text-align: center;
}
@media (min-width: 769px) {
  #profile .profile_item_thumb {
    grid-row: 1/3;
  }
  #profile .profile_item_thumb:nth-of-type(1) {
    grid-column: 1/2;
  }
  #profile .profile_item_thumb:nth-of-type(2) {
    grid-column: 2/3;
  }
  #profile .profile_item_thumb:nth-of-type(3) {
    grid-column: 3/4;
  }
}
@media (max-width: 768px) {
  #profile .profile_item_thumb {
    grid-column: 1/2;
  }
  #profile .profile_item_thumb:nth-of-type(1) {
    grid-row: 3/5;
  }
  #profile .profile_item_thumb:nth-of-type(2) {
    grid-row: 1/3;
  }
  #profile .profile_item_thumb:nth-of-type(3) {
    grid-row: 5/7;
  }
  #profile .profile_item_thumb img {
    height: 45rem;
  }
}
#profile .profile_item_caption {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media (min-width: 769px) {
  #profile .profile_item_caption {
    grid-row: 2/3;
    gap: 0.6rem;
    min-height: 34rem;
    padding: 2.9rem 5px 1rem;
    z-index: 2;
  }
  #profile .profile_item_caption:nth-of-type(1) {
    grid-column: 1/2;
  }
  #profile .profile_item_caption:nth-of-type(2) {
    grid-column: 2/3;
  }
  #profile .profile_item_caption:nth-of-type(3) {
    grid-column: 3/4;
  }
}
@media (max-width: 768px) {
  #profile .profile_item_caption {
    grid-column: 1/2;
    gap: 1rem;
    background: rgba(255, 255, 255, 0.8);
    padding: 2.5rem 2rem 3rem;
  }
  #profile .profile_item_caption:nth-of-type(1) {
    grid-row: 4/5;
  }
  #profile .profile_item_caption:nth-of-type(2) {
    grid-row: 2/3;
  }
  #profile .profile_item_caption:nth-of-type(3) {
    grid-row: 6/7;
  }
  #profile .profile_item_caption::before {
    content: "";
    position: absolute;
    background: linear-gradient(to top, #aaa 24%, rgba(149, 149, 154, 0) 100%);
    inset: 0;
    z-index: -1;
  }
}
#profile .profile_name {
  font-weight: 700;
  text-align: center;
}
@media (min-width: 769px) {
  #profile .profile_name {
    line-height: 1.445;
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  #profile .profile_name {
    line-height: 1;
    font-size: 18px;
  }
}
#profile .profile_text {
  width: 100%;
  line-height: 1.667;
  font-size: 15px;
  text-align: justify;
}
#profile .profile_text a {
  font-weight: 400;
  text-decoration: underline;
  color: #d70c18;
}

#index {
  position: relative;
}
@media (min-width: 769px) {
  #index {
    padding: 7rem 0 10rem;
  }
}
@media (max-width: 768px) {
  #index {
    padding: 7.5rem 0 16.5rem;
  }
}
#index .index_h2 {
  margin: 0 auto;
}
@media (min-width: 769px) {
  #index .index_h2 {
    width: 16.4rem;
  }
}
@media (max-width: 768px) {
  #index .index_h2 {
    width: 12.85rem;
  }
}
#index .index_anchors {
  display: flex;
  justify-content: center;
}
@media (min-width: 769px) {
  #index .index_anchors {
    gap: 2rem;
    padding: 4rem 0 7rem;
  }
}
@media (max-width: 768px) {
  #index .index_anchors {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    padding: 2.5rem 0 7.5rem;
  }
}
#index .index_anchor {
  display: flex;
  justify-content: space-between;
  border: 1px solid;
  border-radius: 16rem;
  overflow: hidden;
  color: #000;
}
@media (min-width: 769px) {
  #index .index_anchor {
    flex-direction: column;
    align-items: center;
    gap: 1.4rem;
    width: 16rem;
    padding: 0 0 2.3rem;
  }
}
@media (max-width: 768px) {
  #index .index_anchor {
    align-items: stretch;
    width: 89.744%;
    padding: 0 1.35rem 0 0;
  }
}
#index .index_anchor > i {
  display: flex;
}
@media (min-width: 769px) {
  #index .index_anchor > i {
    width: 3.2rem;
  }
}
@media (max-width: 768px) {
  #index .index_anchor > i {
    align-items: center;
    width: 1.8rem;
  }
}
#index .index_anchor > * {
  pointer-events: none;
}
#index .index_anchor.block1 .index_anchor_number {
  background: #d70c18;
}
#index .index_anchor.block2 .index_anchor_number {
  background: #2660ac;
}
#index .index_anchor.block3 .index_anchor_number {
  background: #e95529;
}
#index .index_anchor.block4 .index_anchor_number {
  background: #00a895;
}
#index .index_anchor_number {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  text-align: center;
}
@media (min-width: 769px) {
  #index .index_anchor_number {
    padding: 2.3rem 0 1.6rem;
  }
}
@media (max-width: 768px) {
  #index .index_anchor_number {
    flex-shrink: 0;
    width: 5rem;
    padding: 2.65rem 0 2.65rem 0.6rem;
  }
}
@media (min-width: 769px) {
  #index .index_anchor_number p {
    height: 4rem;
  }
}
@media (max-width: 768px) {
  #index .index_anchor_number p {
    height: 2.7rem;
  }
}
#index .index_anchor_number p img {
  height: 100%;
}
#index .index_anchor_text {
  display: flex;
  align-items: center;
  width: 100%;
  font-weight: 700;
}
@media (min-width: 769px) {
  #index .index_anchor_text {
    justify-content: center;
  }
}
@media (max-width: 768px) {
  #index .index_anchor_text {
    padding: 0 0 0 1.15rem;
  }
}
@media (min-width: 769px) {
  #index .index_anchor_text p {
    line-height: 1.715;
    font-size: 14px;
    text-align: center;
  }
}
@media (max-width: 768px) {
  #index .index_anchor_text p {
    line-height: 1.5;
    font-size: 16px;
  }
}
#index .index_block {
  width: 100%;
}
#index .index_block.block1 .index_block_head h3 span {
  background: #d70c18;
}
#index .index_block.block1 .index_block_subline, #index .index_block.block1 .index_comment_text a {
  color: #d70c18;
}
#index .index_block.block2 .index_block_head h3 span {
  background: #2660ac;
}
#index .index_block.block2 .index_block_subline, #index .index_block.block2 .index_comment_text a {
  color: #2660ac;
}
#index .index_block.block3 .index_block_head h3 span {
  background: #e95529;
}
#index .index_block.block3 .index_block_subline, #index .index_block.block3 .index_comment_text a {
  color: #e95529;
}
#index .index_block.block4 .index_block_head h3 span {
  background: #00a895;
}
#index .index_block.block4 .index_block_subline, #index .index_block.block4 .index_comment_text a {
  color: #00a895;
}
@media (min-width: 769px) {
  #index .index_block + .index_block {
    margin-top: 10rem;
  }
}
@media (max-width: 768px) {
  #index .index_block + .index_block {
    margin-top: 7.5rem;
  }
}
#index .index_block_head {
  position: relative;
}
@media (min-width: 769px) {
  #index .index_block_head figure {
    height: 32.639vw;
    min-height: 400px;
    max-height: 470px;
  }
}
@media (max-width: 768px) {
  #index .index_block_head figure {
    height: 29rem;
  }
}
#index .index_block_head figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (min-width: 769px) {
  #index .index_block_head figure img[src*=block4] {
    object-position: center top;
  }
}
@media (max-width: 768px) {
  #index .index_block_head figure img {
    object-position: center top;
  }
  #index .index_block_head figure img[src*=block1] {
    object-position: center;
  }
}
#index .index_block_head h3 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: absolute;
  width: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-weight: 400;
  color: #fff;
}
@media (min-width: 769px) {
  #index .index_block_head h3 {
    gap: 0.267em;
    max-width: 880px;
    letter-spacing: 0.3em;
    bottom: 1.067em;
    letter-spacing: 0.3em;
    line-height: 1;
    font-size: 30px;
  }
}
@media (max-width: 768px) {
  #index .index_block_head h3 {
    gap: 0.5rem;
    max-width: calc(100% - 2rem);
    left: 1rem;
    bottom: 2.5rem;
    letter-spacing: 0.27em;
    line-height: 1;
    font-size: 18px;
    white-space: nowrap;
  }
}
#index .index_block_head h3 span {
  padding: 0.167em 0 0.3em 0.3em;
}
#index .index_block_head h3 span:nth-of-type(2) {
  transition-delay: 0.5s;
}
#index .index_block_head h3 span:nth-of-type(3) {
  transition-delay: 1s;
}
#index .index_block_body {
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 769px) {
  #index .index_block_body {
    max-width: 880px;
    margin-top: 4rem;
  }
}
@media (max-width: 768px) {
  #index .index_block_body {
    width: 89.744%;
    margin-top: 3rem;
  }
}
#index .index_block_subline {
  font-weight: 700;
}
@media (min-width: 769px) {
  #index .index_block_subline {
    line-height: 2;
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  #index .index_block_subline {
    line-height: 1.556;
    font-size: 18px;
  }
}
@media (min-width: 769px) {
  #index .index_block_subline + .index_comment {
    margin-top: 2rem;
  }
}
@media (max-width: 768px) {
  #index .index_block_subline + .index_comment {
    margin-top: 2.5rem;
  }
}
@media (min-width: 769px) {
  #index .index_block_subline + .index_question {
    margin-top: 2rem;
  }
}
@media (max-width: 768px) {
  #index .index_block_subline + .index_question {
    margin-top: 3rem;
  }
}
@media (min-width: 769px) {
  #index .index_block_image + .index_comment {
    margin-top: 4rem;
  }
}
@media (max-width: 768px) {
  #index .index_block_image + .index_comment {
    margin-top: 5rem;
  }
}
@media (min-width: 769px) {
  #index .index_block_image + .index_question {
    margin-top: 7rem;
  }
}
@media (max-width: 768px) {
  #index .index_block_image + .index_question {
    margin-top: 5rem;
  }
}
#index .index_comment {
  position: relative;
  background: #fff;
  border-radius: 10px;
}
@media (min-width: 769px) {
  #index .index_comment {
    min-height: 18rem;
    margin-left: 5.682%;
    padding: 2.4rem 0.4rem 2.4rem 7rem;
  }
  #index .index_comment::after {
    content: "";
    display: block;
    clear: both;
  }
  #index .index_comment.middle {
    display: flex;
    align-items: center;
  }
}
@media (max-width: 768px) {
  #index .index_comment {
    display: flex;
    flex-direction: column;
    min-height: 15rem;
    margin-left: 10.715%;
    padding: 2rem 1.5rem 2.5rem 15%;
  }
  #index .index_comment:not(:has(.index_comment_image)) {
    justify-content: center;
  }
}
@media (min-width: 769px) {
  #index .index_comment + .index_block_subline {
    margin-top: 7rem;
  }
}
@media (max-width: 768px) {
  #index .index_comment + .index_block_subline {
    margin-top: 4.5rem;
  }
}
#index .index_comment + .index_block_image {
  margin-top: 4rem;
}
#index .index_comment + .index_comment {
  margin-top: 2rem;
}
#index .index_comment + .index_column {
  margin-top: 5rem;
}
@media (min-width: 769px) {
  #index .index_comment + .index_question {
    margin-top: 7rem;
  }
}
@media (max-width: 768px) {
  #index .index_comment + .index_question {
    margin-top: 5rem;
  }
}
#index .index_comment_avatar {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  left: 0;
  top: 50%;
  translate: -50% -50%;
  text-align: center;
}
@media (min-width: 769px) {
  #index .index_comment_avatar {
    gap: 0.5rem;
    width: 12.049%;
  }
}
@media (max-width: 768px) {
  #index .index_comment_avatar {
    gap: 0.55rem;
    width: 24%;
    max-width: 130px;
  }
}
#index .index_comment_avatar figure {
  clip-path: inset(0px round 50%);
}
#index .index_comment_avatar p {
  background: #fff;
  border: 2px solid;
  font-weight: bold;
}
@media (min-width: 769px) {
  #index .index_comment_avatar p {
    border-radius: 3.572em;
    padding: 0.215em 1rem 0.358em;
    line-height: 1;
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  #index .index_comment_avatar p {
    border-radius: 3.6rem;
    padding: 0.182em 0.546em 0.273em;
    line-height: 1;
    font-size: 11px;
  }
}
#index .index_comment_avatar.col1 figure {
  background: #c72e8a;
}
#index .index_comment_avatar.col1 p {
  color: #c72e8a;
}
#index .index_comment_avatar.col2 figure {
  background: #2b95c9;
}
#index .index_comment_avatar.col2 p {
  color: #2b95c9;
}
#index .index_comment_avatar.col3 figure {
  background: #a6b339;
}
#index .index_comment_avatar.col3 p {
  color: #a6b339;
}
#index .index_comment_text {
  width: 100%;
  text-align: justify;
}
@media (min-width: 769px) {
  #index .index_comment_text {
    padding-right: 2rem;
  }
}
@media (min-width: 769px) {
  #index .index_comment_text p {
    line-height: 1.75;
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  #index .index_comment_text p {
    line-height: 1.563;
    font-size: 16px;
  }
}
#index .index_comment_text p a {
  font-weight: 400;
  text-decoration: underline;
}
#index .index_comment_image.img1 {
  flex-shrink: 0;
}
@media (min-width: 769px) {
  #index .index_comment_image.img1 {
    width: 21.316%;
    margin-right: -6.447%;
  }
}
@media (max-width: 768px) {
  #index .index_comment_image.img1 {
    width: 14.1rem;
    margin: 1.5rem auto 0;
  }
}
#index .index_comment_image.img2 {
  position: absolute;
}
@media (min-width: 769px) {
  #index .index_comment_image.img2 {
    width: 19.639%;
    left: -28.554%;
    bottom: -10.7rem;
  }
}
@media (max-width: 768px) {
  #index .index_comment_image.img2 {
    width: 8.65rem;
    left: -4.95rem;
    bottom: -2.3rem;
  }
}
@media (min-width: 769px) {
  #index .index_comment_image.img3 {
    float: right;
    width: 20.132%;
    margin-top: -0.6rem;
    margin-right: -4.736%;
  }
}
@media (max-width: 768px) {
  #index .index_comment_image.img3 {
    order: 5;
    width: 12.65rem;
    margin: 1.5rem auto 0;
  }
}
@media (min-width: 769px) {
  #index .index_comment_image.img3 + .index_comment_text {
    margin-top: 3rem;
    padding-right: calc(15.395% + 2rem);
  }
}
@media (max-width: 768px) {
  #index .index_comment_image.img3 + .index_comment_text {
    margin-top: 2.5rem;
  }
}
#index .index_comment_image.img4 {
  position: absolute;
  z-index: 2;
}
@media (min-width: 769px) {
  #index .index_comment_image.img4 {
    width: 9.88%;
    right: -2.771%;
    bottom: -7.3rem;
  }
}
@media (max-width: 768px) {
  #index .index_comment_image.img4 {
    width: 4.75rem;
    right: 1.25rem;
    bottom: -6.7rem;
  }
}
@media (min-width: 769px) {
  #index .index_comment_image.img4 + .index_comment_text {
    padding-right: 7rem;
  }
}
#index .index_comment_image.img5 {
  position: absolute;
}
@media (min-width: 769px) {
  #index .index_comment_image.img5 {
    width: 14.699%;
    left: -26.144%;
    top: 24.3rem;
  }
}
@media (max-width: 768px) {
  #index .index_comment_image.img5 {
    width: 8.6rem;
    left: -12.307vw;
    bottom: -14.23vw;
  }
}
#index .index_comment_image.img6 {
  position: absolute;
}
@media (min-width: 769px) {
  #index .index_comment_image.img6 {
    width: 19.519%;
    right: -12.891%;
    top: -8rem;
  }
}
@media (max-width: 768px) {
  #index .index_comment_image.img6 {
    width: 9.1rem;
    left: -13.333vw;
    top: -4.4rem;
  }
}
#index .index_comment_image.img7 {
  position: absolute;
}
@media (min-width: 769px) {
  #index .index_comment_image.img7 {
    width: 15.417%;
    left: 81.875%;
    top: 0;
    translate: 0 -77.205%;
  }
}
@media (min-width: 1440px) {
  #index .index_comment_image.img7 {
    width: 222px;
    left: calc(50% + 45.9rem);
  }
}
@media (max-width: 768px) {
  #index .index_comment_image.img7 {
    width: 12.15rem;
    right: 0.65rem;
    top: -5.85rem;
  }
}
#index .index_column {
  position: relative;
  margin: 0 auto;
  cursor: pointer;
  perspective: 2000px;
}
@media (min-width: 769px) {
  #index .index_column {
    width: 668px;
  }
}
@media (max-width: 768px) {
  #index .index_column {
    width: 100%;
  }
}
#index .index_column.col1 .column_card_back, #index .index_column.col1 .column_card_front {
  background: #2c95c9;
}
#index .index_column.col1 .column_card_number {
  color: #2c95c9;
}
#index .index_column.col2 .column_card_back, #index .index_column.col2 .column_card_front {
  background: #c72e8a;
}
#index .index_column.col2 .column_card_number {
  color: #c72e8a;
}
#index .index_column.col3 .column_card_back, #index .index_column.col3 .column_card_front {
  background: #a6b339;
}
#index .index_column.col3 .column_card_number {
  color: #a6b339;
}
@media (min-width: 769px) {
  #index .index_column + .index_block_subline {
    margin-top: 6rem;
  }
}
@media (max-width: 768px) {
  #index .index_column + .index_block_subline {
    margin-top: 4.5rem;
  }
}
#index .column_card {
  position: relative;
  width: 100%;
  transform-style: preserve-3d;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
#index .column_card.is-flipped {
  transform: rotateY(180deg);
}
#index .column_card_back {
  display: flex;
  justify-content: space-between;
  position: relative;
  border-radius: 10px;
  width: 100%;
  transform: rotateY(180deg);
  backface-visibility: hidden;
}
@media (min-width: 769px) {
  #index .column_card_back {
    padding: 1rem 1rem 7rem;
  }
}
@media (max-width: 768px) {
  #index .column_card_back {
    padding: 1rem 1rem 5.5rem;
  }
}
#index .column_card_flex {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 10px;
  width: 100%;
}
@media (min-width: 769px) {
  #index .column_card_flex {
    padding: 2.4rem 1.8rem 2.4rem 0;
  }
}
@media (max-width: 768px) {
  #index .column_card_flex {
    flex-direction: column;
    gap: 1.45rem;
    padding: 2rem;
  }
}
#index .column_card_image {
  width: 100%;
}
@media (min-width: 769px) {
  #index .column_card_image.img1 {
    padding: 0 5.4rem;
  }
}
@media (max-width: 768px) {
  #index .column_card_image.img1 {
    order: 5;
    max-width: 300px;
    padding: 0 7.7rem;
  }
}
@media (min-width: 769px) {
  #index .column_card_image.img2 {
    padding: 0 5.8rem;
  }
}
@media (max-width: 768px) {
  #index .column_card_image.img2 {
    order: 5;
    max-width: 300px;
    padding: 0 8.075rem;
  }
}
@media (min-width: 769px) {
  #index .column_card_image.img3 {
    padding: 0 2.4rem 0 2.5rem;
  }
}
#index .column_card_text {
  flex-shrink: 0;
  text-align: justify;
}
@media (min-width: 769px) {
  #index .column_card_text {
    width: 38rem;
    line-height: 1.75;
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  #index .column_card_text {
    letter-spacing: -0.01em;
    line-height: 1.847;
    font-size: 13px;
  }
}
#index .column_card_front {
  position: absolute;
  border-radius: 10px;
  width: 100%;
  height: 100%;
  inset: 0;
  color: #fff;
  backface-visibility: hidden;
}
#index .column_card_bg {
  height: 100%;
}
#index .column_card_bg img {
  object-fit: contain;
  object-position: right bottom;
  width: 100%;
  height: 100%;
}
#index .column_card_number {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  background: #fff;
  left: 3rem;
  line-height: 1;
  font-size: 20px;
  font-weight: 700;
}
@media (min-width: 769px) {
  #index .column_card_number {
    border-radius: 1.65em;
    width: 5.1em;
    height: 1.65em;
    top: 4rem;
  }
}
@media (max-width: 768px) {
  #index .column_card_number {
    border-radius: 1.55em;
    width: 5.25em;
    height: 1.55em;
    top: 2.5rem;
  }
}
#index .column_card_head {
  position: absolute;
  left: 3rem;
  font-weight: 700;
  color: #fff;
}
@media (min-width: 769px) {
  #index .column_card_head {
    top: 8.3rem;
    line-height: 1.375;
    font-size: 32px;
  }
}
@media (max-width: 768px) {
  #index .column_card_head {
    top: 7.6rem;
    line-height: 1.443;
    font-size: 26px;
  }
}
#index .column_card_open, #index .column_card_close {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  position: absolute;
  right: 0;
  font-weight: 700;
}
@media (min-width: 769px) {
  #index .column_card_open, #index .column_card_close {
    border-radius: 1.75em 0 0 1.75em;
    width: 5.834em;
    height: 1.75em;
    bottom: 1.5rem;
    padding-right: 0.084em;
    line-height: 1;
    font-size: 24px;
  }
}
@media (max-width: 768px) {
  #index .column_card_open, #index .column_card_close {
    border-radius: 1.667em 0 0 1.667em;
    width: 5.715em;
    height: 1.667em;
    bottom: 1rem;
    line-height: 1;
    font-size: 21px;
  }
}
#index .column_card_open > i, #index .column_card_close > i {
  position: relative;
  background: #fff;
  border-radius: 50%;
  width: 1.25em;
  height: 1.25em;
}
#index .column_card_open > i::before, #index .column_card_open > i::after, #index .column_card_close > i::before, #index .column_card_close > i::after {
  content: "";
  position: absolute;
  background: #000;
  width: 53.334%;
  height: 6.667%;
  inset: 0;
  margin: auto;
}
#index .column_card_open > i::after, #index .column_card_close > i::after {
  rotate: 90deg;
}
#index .column_card_open span, #index .column_card_close span {
  translate: 0 -5%;
}
@media (min-width: 769px) {
  #index .column_card_open {
    background: #000;
  }
}
@media (max-width: 768px) {
  #index .column_card_open {
    background: #fff;
    color: #000;
  }
  #index .column_card_open > i {
    background: #000;
  }
  #index .column_card_open > i::before, #index .column_card_open > i::after {
    background: #fff;
  }
}
#index .column_card_close {
  color: #fff;
}
#index .column_card_close > i::after {
  display: none;
}
#index .index_question {
  position: relative;
  background: #000;
  color: #fff;
}
@media (min-width: 769px) {
  #index .index_question {
    padding: 2.3rem;
  }
}
@media (max-width: 768px) {
  #index .index_question {
    padding: 1.625rem 0;
  }
}
#index .index_question::before {
  content: "";
  position: absolute;
  background: #000;
  left: 50%;
  top: calc(100% - 0.1rem);
  transform: 0 -50%;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}
@media (min-width: 769px) {
  #index .index_question::before {
    width: 1.8rem;
    height: 1.9rem;
  }
}
@media (max-width: 768px) {
  #index .index_question::before {
    width: 1.35rem;
    height: 1.2rem;
  }
}
@media (min-width: 769px) {
  #index .index_question + .index_comment {
    margin-top: 4rem;
  }
}
@media (max-width: 768px) {
  #index .index_question + .index_comment {
    margin-top: 2.5rem;
  }
}
#index .index_question_text {
  font-weight: 700;
  text-align: center;
}
@media (min-width: 769px) {
  #index .index_question_text {
    line-height: 1.445;
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  #index .index_question_text {
    line-height: 1.389;
    font-size: 18px;
  }
}
#index .index_question_image {
  position: absolute;
}
@media (min-width: 769px) {
  #index .index_question_image.img1 {
    width: 7rem;
    left: -4.1rem;
    top: -1.7rem;
  }
}
@media (max-width: 768px) {
  #index .index_question_image.img1 {
    width: 4.5rem;
    left: -1.6rem;
    top: -1.2rem;
  }
}
@media (min-width: 769px) {
  #index .index_question_image.img2 {
    width: 6rem;
    right: -3rem;
    bottom: -1.3rem;
  }
}
@media (max-width: 768px) {
  #index .index_question_image.img2 {
    width: 4rem;
    right: -1.6rem;
    bottom: -1.2rem;
  }
}
@media (min-width: 769px) {
  #index .index_question_image.img3 {
    width: 23.2rem;
    left: -11.3rem;
    top: 1.8rem;
  }
}
@media (max-width: 768px) {
  #index .index_question_image.img3 {
    width: 9.1rem;
    left: -1.65rem;
    top: -2.75rem;
  }
}

#credit {
  background: #fff;
}
@media (min-width: 769px) {
  #credit {
    padding: 7rem 0 0;
  }
}
@media (max-width: 768px) {
  #credit {
    padding: 4.5rem 0 0;
  }
}
#credit .credit_inner {
  margin: 0 auto;
}
@media (min-width: 769px) {
  #credit .credit_inner {
    max-width: 880px;
  }
}
@media (max-width: 768px) {
  #credit .credit_inner {
    width: 89.744%;
  }
}
@media (min-width: 769px) {
  #credit .credit_inner p {
    line-height: 1.75;
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  #credit .credit_inner p {
    line-height: 1.482;
    font-size: 13.5px;
  }
}

.pagetop_anchor {
  position: fixed;
  transition: opacity 0.4s linear;
  z-index: 2;
}
@media (min-width: 769px) {
  .pagetop_anchor {
    width: 7.223%;
    left: 90.348%;
    bottom: 6.8rem;
  }
}
@media (min-width: 1440px) {
  .pagetop_anchor {
    width: 104px;
    left: calc(50% + 58.1rem);
  }
}
@media (max-width: 768px) {
  .pagetop_anchor {
    width: 13.334%;
    right: 8.206%;
    bottom: 5.7rem;
  }
}
.pagetop_anchor > i {
  position: absolute;
  width: 98.077%;
  height: 66.234%;
  top: 12.533%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.pagetop_anchor > i #mh, .pagetop_anchor > i #hh {
  content: "";
  position: absolute;
  background: #000;
}
.pagetop_anchor > i #hh {
  height: 50.981%;
  bottom: 24.51%;
}
@media (min-width: 769px) {
  .pagetop_anchor > i #hh {
    clip-path: inset(0px 0px calc(50% - 6px) 0px round 3px);
    width: 7.844%;
    left: 46.079%;
  }
}
@media (max-width: 768px) {
  .pagetop_anchor > i #hh {
    clip-path: inset(0px 0px calc(50% - 4px) 0px round 3px);
    width: 8.824%;
    left: 45.589%;
  }
}
@media (min-width: 769px) {
  .pagetop_anchor > i #mh {
    clip-path: inset(0px 0px calc(50% - 6px) 0px round 3px);
    width: 5.883%;
    height: 78.432%;
    left: 47.059%;
    bottom: 10.785%;
  }
}
@media (max-width: 768px) {
  .pagetop_anchor > i #mh {
    clip-path: inset(0px 0px calc(50% - 4px) 0px round 3px);
    width: 6.863%;
    height: 74.51%;
    left: 46.569%;
    bottom: 12.746%;
  }
}
.pagetop_anchor:not(.is-visible) {
  opacity: 0;
  pointer-events: none;
}