@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
/* ------------------------------------
// common
------------------------------------ */
.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
img {
  vertical-align: bottom;
}

#contents {
  font-family: "Shippori Mincho", serif;
}

/* ------------------------------------
// .fade_item
------------------------------------ */
.fade_item .image img {
  transition: 0.8s;
  opacity: 0;
  transform: scale(1.05);
}
.fade_item .text {
  transition: 0.6s;
  opacity: 0;
  transform: translateY(20px);
  transition-delay: 0.3s;
}
.fade_item.show .image img {
  opacity: 1;
  transform: scale(1);
}
.fade_item.show .text {
  opacity: 1;
  transform: translateY(0);
}

/* ------------------------------------
// top_mv
------------------------------------ */
@keyframes slideInRight {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-20px);
  }
}
#top_mv {
  padding: 100px 20px 112px;
  max-width: 1240px;
  margin-inline: auto;
  position: relative;
}
#top_mv h1 {
  width: 220px;
  position: absolute;
  right: 0;
  top: 10px;
  z-index: 2;
}
#top_mv .top_mv {
  display: grid;
  grid-template-columns: calc(25% - 20px) 75%;
  grid-template-rows: 1fr max-content;
  gap: 0 20px;
}
#top_mv .top_mv .title {
  grid-column: 1/2;
  grid-row: 1/2;
  display: grid;
  align-items: center;
}
#top_mv .top_mv .title h2 {
  margin-top: -2em;
  font-size: clamp(0rem, 2.6vw, 3.1rem);
  font-weight: 600;
  line-height: 2;
}
#top_mv .top_mv .title h2 span {
  font-size: clamp(0rem, 2.3vw, 2.7rem);
}
#top_mv .top_mv .slides {
  grid-column: 2/3;
  grid-row: 1/span 2;
}
#top_mv .top_mv .slides #top_mv_swiper {
  position: relative;
}
#top_mv .top_mv .slides #top_mv_swiper .swiper-slide {
  overflow: hidden;
}
#top_mv .top_mv .slides #top_mv_swiper .swiper-slide img {
  width: calc(100% + 20px);
  margin-inline-end: -20px;
  max-width: none;
  height: 100%;
  object-fit: cover;
}
#top_mv .top_mv .slides #top_mv_swiper .swiper-slide.swiper-custom-animation img {
  animation-name: slideInRight;
  animation-duration: 5000ms;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
}
#top_mv .top_mv .slides #top_mv_swiper .swiper-slide a:hover img {
  opacity: 1;
}
#top_mv .top_mv .slides #top_mv_swiper *[class^=top_mv_swiper-button] {
  width: 13px;
  aspect-ratio: 26/44;
  background: url(images/feature/radioisotope/icon_arrow_01.png) no-repeat 0 0/100% auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;
}
#top_mv .top_mv .slides #top_mv_swiper *[class^=top_mv_swiper-button].top_mv_swiper-button-next {
  right: 18px;
}
#top_mv .top_mv .slides #top_mv_swiper *[class^=top_mv_swiper-button].top_mv_swiper-button-prev {
  left: 18px;
  transform: translateY(-50%) scale(-1, 1);
}
#top_mv .top_mv .slides #top_mv_swiper .top_mv_swiper-pagination {
  display: none;
}
#top_mv .top_mv .thumb {
  grid-column: 1/2;
  grid-row: 2/3;
}
#top_mv .top_mv .thumb #top_mv_thumb_swiper {
  max-width: 200px;
  margin-left: -12px;
}
#top_mv .top_mv .thumb #top_mv_thumb_swiper .swiper-wrapper {
  flex-wrap: wrap;
}
#top_mv .top_mv .thumb #top_mv_thumb_swiper .swiper-wrapper .swiper-slide {
  padding: 12px;
  cursor: pointer;
}
#top_mv .top_mv .thumb #top_mv_thumb_swiper .swiper-wrapper .swiper-slide.swiper-slide-thumb-active img {
  outline: solid 2px #79c0d1;
}
@media screen and (max-width: 767px) {
  #top_mv {
    padding: 3rem 0;
    position: relative;
  }
  #top_mv h1 {
    width: 15rem;
    right: 1rem;
    top: 0;
  }
  #top_mv .top_mv {
    display: block;
  }
  #top_mv .top_mv .title {
    /*
    display: block;
    position: absolute;
    left: 2rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    h2 {
      font-size: 1.6rem;
      span {
        font-size: 1.4rem;
      }
    }
      */
    display: none;
  }
  #top_mv .top_mv .slides #top_mv_swiper *[class^=top_mv_swiper-button] {
    width: 1rem;
    background-image: url(images/feature/radioisotope/icon_arrow_03.png);
    top: auto;
    bottom: 0;
    transform: none;
  }
  #top_mv .top_mv .slides #top_mv_swiper *[class^=top_mv_swiper-button].top_mv_swiper-button-next {
    right: 2rem;
    z-index: 1001;
  }
  #top_mv .top_mv .slides #top_mv_swiper *[class^=top_mv_swiper-button].top_mv_swiper-button-prev {
    left: 2rem;
    transform: scale(-1, 1);
  }
  #top_mv .top_mv .slides #top_mv_swiper .top_mv_swiper-pagination {
    display: block;
    text-align: center;
    margin-top: 1rem;
  }
  #top_mv .top_mv .slides #top_mv_swiper .top_mv_swiper-pagination > span {
    margin: 0 7px;
    cursor: pointer;
  }
  #top_mv .top_mv .thumb {
    display: none;
  }
}

/* ------------------------------------
// top_about
------------------------------------ */
#top_about {
  position: relative;
  background: url(images/feature/radioisotope/top_lead_bg.webp) no-repeat center center/200% auto;
}
#top_about::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(121, 192, 209, 0.83);
  z-index: 0;
}
#top_about .top_about {
  padding: 100px 20px 120px;
  max-width: 1240px;
  margin-inline: auto;
  position: relative;
}
#top_about .top_about h2 {
  font-size: 3.6rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 1.5em;
}
#top_about .top_about .text {
  max-width: 800px;
  margin-inline: auto;
}
#top_about .top_about .text p {
  font-size: 2rem;
  line-height: 2;
}
#top_about .top_about .text p + * {
  margin-top: 1.5em;
}
#top_about .top_about .text p.note {
  font-size: 1.5rem;
}
#top_about .top_about .text p.author {
  font-size: 1.5rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  #top_about .top_about {
    padding: 5rem 3.5rem 4.5rem;
  }
  #top_about .top_about h2 {
    font-size: 1.8rem;
    margin-bottom: 1.5em;
  }
  #top_about .top_about .text {
    max-width: none;
  }
  #top_about .top_about .text p {
    font-size: 1.3rem;
  }
  #top_about .top_about .text p.note {
    font-size: 1.1rem;
  }
}

/* ------------------------------------
// top_interview
------------------------------------ */
#top_interview {
  max-width: 1260px;
  margin: 0 auto;
  padding: 150px 30px;
  display: grid;
  grid-template-columns: minmax(70px, 1fr) minmax(0, 900px) minmax(70px, 1fr);
}
#top_interview h2 {
  grid-column: 1/2;
  padding-right: 20px;
}
#top_interview h2 span {
  display: inline-block;
  max-width: 75px;
  position: sticky;
  top: 10px;
}
#top_interview .top_interview {
  grid-column: 2/3;
}
#top_interview .top_interview > * a {
  display: flex;
  color: #000;
  transition: 0.3s;
}
#top_interview .top_interview > * a > * {
  width: 50%;
}
#top_interview .top_interview > * a .image {
  overflow: hidden;
}
#top_interview .top_interview > * a .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#top_interview .top_interview > * a .text {
  padding: 0 clamp(8px, 6.7vw, 80px) 0 clamp(2px, 1.7vw, 20px);
  align-self: center;
}
#top_interview .top_interview > * a .text h3 {
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 0.7em;
}
#top_interview .top_interview > * a .text p {
  font-size: 1.6rem;
  font-weight: 400;
}
#top_interview .top_interview > * a .text p.sub {
  margin-bottom: 1em;
}
#top_interview .top_interview > * a .text p.position {
  font-size: 1.7rem;
}
#top_interview .top_interview > * a .text p.name {
  margin-top: 1em;
  font-size: 2rem;
}
#top_interview .top_interview > * a .text p.name .honorific {
  font-size: 60%;
}
#top_interview .top_interview > * a .text p.date {
  margin-top: 0.5em;
  font-size: 1.3rem;
  color: #808080;
}
#top_interview .top_interview > * a:hover {
  opacity: 0.8;
}
#top_interview .top_interview > * a:hover img {
  opacity: 1;
  transform: scale(1.05);
}
#top_interview .top_interview > *:nth-child(even) a {
  flex-direction: row-reverse;
}
#top_interview .top_interview > *:nth-child(even) a .text {
  justify-self: end;
  padding: 0 clamp(2px, 1.7vw, 20px) 0 clamp(8px, 6.7vw, 80px);
}
@media screen and (max-width: 1024px) {
  #top_interview .top_interview > * a {
    display: flex;
    color: #000;
    transition: 0.3s;
  }
  #top_interview .top_interview > * a .text {
    padding: 0 0 0 clamp(2px, 1.7vw, 20px);
  }
  #top_interview .top_interview > *:nth-child(even) a .text {
    padding: 0 clamp(2px, 1.7vw, 20px) 0 0;
  }
}
@media screen and (max-width: 767px) {
  #top_interview {
    padding: 7rem 0;
    grid-template-columns: 1fr 25rem 1fr;
  }
  #top_interview h2 {
    padding-right: 0;
  }
  #top_interview h2 span {
    max-width: 4rem;
    top: 5rem;
  }
  #top_interview .top_interview > * + * {
    margin-top: 5rem;
  }
  #top_interview .top_interview > * a {
    display: block;
  }
  #top_interview .top_interview > * a > * {
    width: auto;
  }
  #top_interview .top_interview > * a .text {
    padding: 0;
    margin-top: 1.5rem;
  }
  #top_interview .top_interview > * a .text h3 {
    font-size: 1.5rem;
    margin-bottom: 1em;
  }
  #top_interview .top_interview > * a .text p {
    font-size: 1.3rem;
  }
  #top_interview .top_interview > * a .text p.name {
    font-size: 1.4rem;
  }
  #top_interview .top_interview > * a .text p.position {
    font-size: 1.4rem;
  }
  #top_interview .top_interview > * a .text p.date {
    margin-top: 1em;
    font-size: 1.1rem;
  }
  #top_interview .top_interview > *:nth-child(even) a .text {
    justify-self: start;
    padding: 0;
  }
}

/* ------------------------------------
// page_logo
------------------------------------ */
#contents {
  position: relative;
}
#contents > .page_logo {
  position: fixed;
  z-index: 1;
  left: clamp(0px, 50% - 600px, 100%);
  width: clamp(50px, 6.3vw, 75px);
  margin: 130px 0 0 20px;
}
#contents > .page_logo.stuck {
  position: absolute;
  margin-top: 0;
  bottom: 50px;
}
#contents.ri_flow {
  background: #f2f2f2;
}
@media screen and (max-width: 767px) {
  #contents > .page_logo {
    left: 0.5rem;
    width: 3rem;
    margin: 2rem 0 0 0;
  }
  #contents > .page_logo.stuck {
    bottom: 2.5rem;
  }
  #contents:has(#interview_footer) > .page_logo {
    display: none;
  }
}

/* ------------------------------------
// page_header
------------------------------------ */
#page_header {
  background: #cccccc;
  position: relative;
}
#page_header .page_header {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
#page_header .page_header .title {
  position: absolute;
  top: 10px;
  right: 20px;
  width: clamp(22px, 18.6vw, 223px);
  aspect-ratio: 446/254;
  z-index: 1;
}
#page_header .page_header .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page_header .page_header .text {
  display: grid;
  align-content: center;
  padding: clamp(13px, 10.8vw, 130px) 0 clamp(3px, 2.1vw, 25px);
}
#page_header .page_header .text h1 {
  font-size: clamp(0rem, 3.1vw, 3.7rem);
  font-weight: 600;
  line-height: 1.3;
  background: #fff;
  text-align: center;
  margin: 0 clamp(3px, 2.1vw, 25px) 1.5em clamp(3px, 2.1vw, 25px);
  padding: 0.3em 0.3em 0.1em;
}
#page_header .page_header .text .data {
  padding: 0 clamp(6px, 5vw, 60px);
}
#page_header .page_header .text .data p + p {
  margin-top: 1.5em;
}
#page_header .page_header .text .data .sub {
  font-size: clamp(0rem, 1.8vw, 2.2rem);
}
#page_header .page_header .text .data .position {
  font-weight: 600;
  font-size: clamp(0rem, 1.8vw, 2.2rem);
}
#page_header .page_header .text .data .position + .name {
  margin-top: 0.2em;
}
#page_header .page_header .text .data .name {
  font-weight: 600;
  font-size: clamp(0rem, 3.4vw, 4.1rem);
}
#page_header .page_header .text .data .name .honorific {
  font-size: 50%;
}
#page_header .page_header .text .data .date {
  font-size: 1.4rem;
  margin-top: clamp(4px, 3.3vw, 40px);
  text-align: right;
  color: #808080;
}
#page_header .page_header .text .data .date + .author {
  margin-top: 0.4em;
  font-size: 1.4rem;
  text-align: right;
  color: #808080;
}
#page_header .page_header .text .shareaholic-canvas {
  margin: 20px clamp(6px, 5vw, 60px) 0 0;
}
#page_header[class^=ri_flow] .page_header .image {
  position: relative;
}
#page_header[class^=ri_flow] .page_header .image .num {
  font-size: 12rem;
  font-weight: 400;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 20%;
  transform: translate(-50%, 0);
  z-index: 1;
}
#page_header[class^=ri_flow] .page_header .text {
  padding: 0 clamp(5px, 4.2vw, 50px);
}
#page_header[class^=ri_flow] .page_header .text h1 {
  font-size: 3.4rem;
}
#page_header[class^=ri_flow].ri_flow_02 .page_header .image .num {
  color: #666666;
}
@media screen and (max-width: 1024px) {
  #page_header .page_header .text h1 {
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  #page_header .page_header {
    display: block;
  }
  #page_header .page_header .title {
    display: none;
  }
  #page_header .page_header .text {
    padding: 0 0 2rem 0;
  }
  #page_header .page_header .text h1,
  #page_header .page_header .text .position,
  #page_header .page_header .text .name {
    display: none;
  }
  #page_header .page_header .text .data {
    padding: 2rem 3.8rem 0;
  }
  #page_header .page_header .text .data .sub {
    font-size: 1.3rem;
    line-height: 2;
  }
  #page_header .page_header .text .data .date {
    margin-top: 0.5rem;
    font-size: 1.2rem;
    line-height: 1.5;
  }
  #page_header .page_header .text .data .date + .author {
    font-size: 1.2rem;
    line-height: 1.5;
  }
  #page_header .page_header .text .shareaholic-canvas {
    margin: 2rem 3.8rem 0 0;
  }
  #page_header[class^=ri_flow] .page_header .title {
    display: block;
    width: 14rem;
  }
  #page_header[class^=ri_flow] .page_header .image .num {
    font-size: 7.5rem;
    top: 50%;
    transform: translate(-50%, -150%);
  }
  #page_header[class^=ri_flow] .page_header .text {
    display: block;
    position: absolute;
    width: 100%;
    left: 0;
    top: 50%;
    text-align: center;
    transform: translateY(-50%);
  }
  #page_header[class^=ri_flow] .page_header .text h1 {
    display: block;
    font-size: 2.2rem;
  }
  #page_header[class^=ri_flow] .page_header:has(picture) .title,
  #page_header[class^=ri_flow] .page_header:has(picture) .text {
    display: none;
  }
  #page_header[class^=ri_flow] .page_header:has(picture) .image .num {
    display: none;
  }
}

/* ------------------------------------
// main
------------------------------------ */
main {
  max-width: 1240px;
  margin: 0 auto;
  padding: 100px 20px 100px;
  display: grid;
  grid-template-columns: minmax(70px, 1fr) minmax(0, 600px) minmax(70px, 1fr);
}
main .page_logo {
  grid-column: 1/2;
  padding-left: 30px;
}
main .page_logo span {
  display: inline-block;
  max-width: 60px;
  position: sticky;
  top: 15px;
}
main article {
  grid-column: 2/3;
}
main article a {
  color: #fff;
}
main article .movie {
  margin-bottom: 60px;
}
main article .movie a {
  display: block;
  position: relative;
  transition: 0.3s;
}
main article .movie a img {
  width: 100%;
}
main article .movie a:hover {
  opacity: 0.8;
}
main article .movie a:hover img {
  opacity: 1;
}
main article .movie a::before {
  content: "";
  width: 60px;
  height: 42px;
  background: url(images/common/icon_play.webp) no-repeat 0 0/100% auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
main article .movie .notice {
  max-width: 370px;
  margin: 20px auto 0;
}
main article .page {
  margin-bottom: 60px;
  transition: opacity 1s;
}
main article .page:last-child {
  margin-bottom: 0;
}
main article .page + .page {
  padding-top: 0;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-100%, 0);
}
main article .page.show {
  opacity: 1;
  visibility: visible;
  position: static;
  transform: none;
}
main article section + * {
  margin-top: 60px;
}
main article h2 {
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 1em;
}
main article h2.large {
  text-align: center;
  font-size: 3.3rem;
  margin-bottom: 2em;
}
main article p {
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 2;
}
main article p + * {
  margin-top: 2em;
}
main article p.question {
  color: #0a6a9a;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 1.5em;
}
main article p.question span,
main article p.question .q {
  font-size: 2.5rem;
  font-family: "Shippori Mincho", serif;
  display: block;
  font-weight: 600;
}
main article p.person {
  color: #0a6a9a;
  font-weight: 500;
}
main article p.person + * {
  margin-top: 0;
}
main article p.note {
  font-size: 1.3rem;
  line-height: 1.5;
}
main article .image {
  margin: 2em 0;
}
main article .image .caption {
  text-align: right;
  font-size: 1.4rem;
  margin-top: 10px;
}
main article a.pop {
  max-width: none;
}
main article .wp-caption:has(img) {
  margin: 2em 0;
}
main article .wp-caption .wp-caption-text {
  text-align: right;
  font-size: 1.4rem;
  margin-top: 10px;
}
main article .nextbox {
  text-align: center;
}
main article .nextbox.hide {
  display: none;
}
main article .nextbox:hover {
  opacity: 0.8;
}
main article .nextbox > * {
  display: grid;
  place-content: center;
  place-items: center;
  letter-spacing: 0.2em;
  font-family: "Noto Sans JP", sans-serif;
  cursor: pointer;
  background: #79c0d1;
  padding: 15px 0 15px;
}
main article .nextbox > * .page_count {
  font-size: 1.7rem;
}
main article .nextbox > * .page_count .num {
  font-size: 1.9rem;
  color: #fff;
  margin-left: 0.5em;
}
main article .nextbox > * .title {
  margin-top: 0;
  font-size: 1.6rem;
  font-weight: 600;
  font-family: "Shippori Mincho", serif;
  line-height: 1.5;
}
main article .nextbox > *::after {
  content: "";
  aspect-ratio: 44/26;
  width: 22px;
  background: url(images/feature/radioisotope/icon_arrow_05.png) no-repeat 0 0/100% auto;
  display: block;
  margin: 10px auto 0;
}
main article *:has(> iframe) {
  width: 100%;
  aspect-ratio: 16/9;
}
main article *:has(> iframe) iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1024px) {
  main .page_logo {
    padding: 0 30px 0 0;
  }
}
@media screen and (max-width: 767px) {
  main {
    max-width: none;
    padding: 5rem 3.8rem;
    display: block;
  }
  main .page_logo {
    display: none;
  }
  main article .movie {
    margin-bottom: 4rem;
  }
  main article .movie .notice {
    max-width: 22rem;
    margin-top: 1.5rem;
  }
  main article section + * {
    margin-top: 5rem;
  }
  main article h2 {
    font-size: 1.5rem;
    margin-bottom: 1em;
  }
  main article h2.large {
    font-size: 1.8rem;
  }
  main article p {
    font-size: 1.2rem;
  }
  main article p + * {
    margin-top: 2em;
  }
  main article p.question span,
  main article p.question .q {
    font-size: 1.5rem;
  }
  main article p.note {
    font-size: 1.1rem;
  }
  main article .image {
    margin: 2em 0;
  }
  main article .image .caption {
    font-size: 1.1rem;
    margin-top: 0.5rem;
  }
  main article .wp-caption .wp-caption-text {
    text-align: left;
    font-size: 1.1rem;
  }
  main article .nextbox > * {
    padding: 1.5rem;
  }
  main article .nextbox > * .page_count {
    font-size: 1.2rem;
  }
  main article .nextbox > * .page_count .num {
    font-size: 1.4rem;
  }
  main article .nextbox > * .title {
    font-size: 1.4rem;
  }
}

/* ------------------------------------
// interview_footer
------------------------------------ */
#interview_footer {
  background: #cccccc;
  padding: 20px 20px 100px;
}
#interview_footer:has(.interview_footer) {
  padding-top: 190px;
}
#interview_footer .interview_footer {
  max-width: 800px;
  margin: 0 auto;
}
#interview_footer .interview_footer > section + * {
  margin-top: 50px;
}
#interview_footer .interview_footer > section a {
  display: flex;
  gap: 0 35px;
  color: #000;
}
#interview_footer .interview_footer > section a .image {
  width: 42%;
}
#interview_footer .interview_footer > section a .text {
  flex: 1;
  align-self: center;
}
#interview_footer .interview_footer > section a .text h3 {
  font-size: 2.2rem;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 0.7em;
}
#interview_footer .interview_footer > section a .text p {
  font-size: 1.6rem;
}
#interview_footer .interview_footer > section a .text p.sub {
  margin-bottom: 1em;
}
#interview_footer .interview_footer > section a .text p.position {
  font-size: 1.7rem;
}
#interview_footer .interview_footer > section a .text p.name {
  margin-top: 1em;
  font-size: 2rem;
}
#interview_footer .interview_footer > section a .text p.name .honorific {
  font-size: 60%;
}
#interview_footer .interview_footer > section a .text p.date {
  margin-top: 0.5em;
  font-size: 1.3rem;
  color: #808080;
}
@media screen and (max-width: 767px) {
  #interview_footer {
    padding: 1rem 3.8rem 5rem;
  }
  #interview_footer:has(.interview_footer) {
    padding-top: 7rem;
  }
  #interview_footer .interview_footer > section + * {
    margin-top: 2.5rem;
  }
  #interview_footer .interview_footer > section a {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 0 2rem;
  }
  #interview_footer .interview_footer > section a .image {
    width: auto;
  }
  #interview_footer .interview_footer > section a .text {
    align-self: auto;
  }
  #interview_footer .interview_footer > section a .text h3 {
    font-size: 1.3rem;
    margin-bottom: 0;
  }
  #interview_footer .interview_footer > section a .text p {
    font-size: 1.3rem;
  }
  #interview_footer .interview_footer > section a .text p.name {
    font-size: 1.4rem;
  }
  #interview_footer .interview_footer > section a .text p.position {
    font-size: 1.4rem;
  }
  #interview_footer .interview_footer > section a .text p.date {
    margin-top: 1em;
    font-size: 1.1rem;
  }
}

/* ------------------------------------
// ri_flow
------------------------------------ */
#ri_flow {
  background: #f2f2f2;
  padding: 110px 0 80px;
  overflow: hidden;
}
#ri_flow h2 {
  max-width: 1200px;
  margin: 0 auto 50px;
  padding: 0 20px 0 90px;
  font-size: 3.6rem;
  font-weight: 600;
}
#ri_flow #ri_flow_swiper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 0 90px;
}
#ri_flow #ri_flow_swiper .swiper-slide {
  width: 360px;
  margin-right: 50px;
}
#ri_flow #ri_flow_swiper .swiper-slide a {
  display: block;
  color: #000;
  position: relative;
  transition: 0.3s;
}
#ri_flow #ri_flow_swiper .swiper-slide a:hover {
  opacity: 0.8;
}
#ri_flow #ri_flow_swiper .swiper-slide a:hover img {
  opacity: 1;
}
#ri_flow #ri_flow_swiper .swiper-slide a .num {
  font-size: 7.2rem;
  font-weight: 400;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 20%;
  transform: translate(-50%, 0);
  z-index: 1;
}
#ri_flow #ri_flow_swiper .swiper-slide a p:not(.num) {
  margin-top: 1em;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
}
#ri_flow #ri_flow_swiper .swiper-slide.ri_flow_02 a .num {
  color: #666666;
}
#ri_flow .ri_flow_nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 80px;
  margin-top: 75px;
}
#ri_flow .ri_flow_nav > * {
  cursor: pointer;
  width: 44px;
  aspect-ratio: 88/48;
  background: url(images/feature/radioisotope/icon_arrow_02.png) no-repeat 0 0/100% auto;
}
#ri_flow .ri_flow_nav > *:first-child {
  transform: scale(-1, 1);
}
@media screen and (max-width: 767px) {
  #ri_flow {
    padding: 5rem 0 4rem;
  }
  #ri_flow h2 {
    margin: 0 auto 3rem;
    padding: 0;
    font-size: 1.8rem;
    text-align: center;
  }
  #ri_flow #ri_flow_swiper {
    padding: 0;
  }
  #ri_flow #ri_flow_swiper .swiper-slide {
    width: auto;
    margin-right: 0;
  }
  #ri_flow #ri_flow_swiper .swiper-slide a {
    color: #fff;
  }
  #ri_flow #ri_flow_swiper .swiper-slide a .image {
    aspect-ratio: 500/600;
  }
  #ri_flow #ri_flow_swiper .swiper-slide a .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #ri_flow #ri_flow_swiper .swiper-slide a .num {
    font-size: 5rem;
    top: 50%;
    transform: translate(-50%, -150%);
  }
  #ri_flow #ri_flow_swiper .swiper-slide a p:not(.num) {
    margin-top: 0;
    font-size: 1.5rem;
    position: absolute;
    width: 100%;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #ri_flow .ri_flow_nav {
    gap: 0 4rem;
    margin-top: 4rem;
  }
  #ri_flow .ri_flow_nav > * {
    width: 2.2rem;
  }
}

/* ------------------------------------
// backtop
------------------------------------ */
.backtop {
  text-align: center;
  margin-top: 100px;
}
.backtop a {
  color: #808080;
  font-size: 2rem;
  font-weight: 900;
}
.backtop a span {
  font-size: 2.2rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .backtop {
    margin-top: 5rem;
  }
  .backtop a {
    font-size: 1rem;
  }
  .backtop a span {
    font-size: 1.2rem;
  }
}

/* ------------------------------------
// pagetop
------------------------------------ */
.pagetop {
  text-align: right;
  position: fixed;
  bottom: 20px;
  right: 10px;
  width: 20px;
  cursor: pointer;
  transition: 0.3s;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}
.pagetop.show {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 767px) {
  .pagetop {
    width: 1.5rem;
    right: 0.8rem;
    bottom: 2rem;
  }
}

/* ------------------------------------
// dot-pulse
------------------------------------ */
.dot-container {
  position: fixed;
  top: 0;
  right: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1000;
}
.dot-container .dot {
  width: 7px;
  height: 7px;
  margin: 5px 0;
  border-radius: 50%;
  transform: scale(0);
  animation: dotScale 1.5s infinite ease-in-out;
}
@media screen and (max-width: 767px) {
  .dot-container {
    right: 2.5rem;
  }
  .dot-container .dot {
    width: 0.7rem;
    height: 0.7rem;
    margin: 0.7rem 0;
  }
}

@keyframes dotScale {
  0% {
    transform: scale(0);
  }
  30% {
    transform: scale(1.5);
  }
  60%, 100% {
    transform: scale(0);
  }
}