@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Racing+Sans+One&family=Roboto:wght@500;700&display=swap");
/***********************
研究開発
***********************/
#rd .sp-mv {
  position: relative;
  width: 100%;
  height: 0;
  margin-top: 20px;
  padding-top: 142.8134556575%;
  background: url(../images/mv-sp-bg.jpg) center center/cover no-repeat; }
  #rd .sp-mv::before {
    position: absolute;
    content: "";
    top: 10px;
    left: 10px;
    width: 180px;
    height: 40px;
    background: url(../images/rd-note.png) center/contain no-repeat; }
  #rd .sp-mv .popup-link {
    position: absolute;
    width: 44%; }
    #rd .sp-mv .popup-link.electric-link {
      top: 15%;
      left: 50%;
      transform: translateX(-50%); }
    #rd .sp-mv .popup-link.beam-link {
      top: 33.5%;
      left: 1.5%; }
    #rd .sp-mv .popup-link.material-link {
      top: 33.5%;
      right: 1.5%; }
    #rd .sp-mv .popup-link.technology-link {
      bottom: 20.5%;
      left: 50%;
      transform: translateX(-50%); }
#rd .mfp-content {
  height: 100svh; }
#rd .mfp-close {
  top: 10px;
  right: 0px;
  padding: 0; }
#rd .mfp-bg.mfp-ready {
  opacity: 0.82;
  background: #000; }
#rd .popup-box {
  height: 100svh;
  display: grid;
  place-items: center;
  padding: 45px;
  overflow: hidden; }
  #rd .popup-box .popup-wrap {
    width: 100%; }
  #rd .popup-box .popup-ttl {
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 75px;
    font-size: 24px;
    font-size: calc($size / 16)rem;
    font-weight: 600;
    color: #fff;
    text-align: center;
    line-height: 1.2; }
    #rd .popup-box .popup-ttl::before {
      position: absolute;
      content: "";
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 60px;
      height: 60px;
      background: center center / contain no-repeat; }
  #rd .popup-box .popup-category {
    max-width: 210px;
    width: 90%;
    margin-inline: auto; }
    #rd .popup-box .popup-category a:hover img {
      opacity: 1; }
  #rd .popup-box .popup-topics-btn {
    margin-top: 30px;
    text-align: center; }
    #rd .popup-box .popup-topics-btn a {
      width: 60%;
      display: inline-block;
      margin-inline: auto;
      padding: 10px 35px;
      font-size: 15px;
      font-size: calc($size / 16)rem;
      font-weight: 600;
      text-align: center;
      color: #fff;
      border: solid 1px;
      border-radius: 50px; }
      #rd .popup-box .popup-topics-btn a:hover {
        text-decoration: none; }
  #rd .popup-box .mfp-close {
    color: #fff;
    font-size: 40px;
    font-size: calc($size / 16)rem;
    font-family: sans-serif;
    opacity: 1; }
  #rd .popup-box#electric-popup .popup-ttl::before {
    background-image: url(../images/electric-icon-sp.png); }
  #rd .popup-box#beam-popup .popup-ttl::before {
    background-image: url(../images/beam-icon-sp.png); }
  #rd .popup-box#material-popup .popup-ttl::before {
    background-image: url(../images/material-icon-sp.png); }
  #rd .popup-box#technology-popup .popup-ttl::before {
    background-image: url(../images/technology-icon-sp.png); }
#rd .m-pagehead {
  background-image: url(../images/pagehead_bg.jpg); }
  #rd .m-pagehead-top {
    height: 350px; }
    @media screen and (max-width: 640px) {
      #rd .m-pagehead-top {
        height: 150px; } }
#rd .rd-menus {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3%;
  padding-top: 50px; }
  @media screen and (max-width: 640px) {
    #rd .rd-menus {
      flex-direction: column;
      gap: 20px;
      padding-top: 30px; } }
  #rd .rd-menus__button {
    width: 48.5%;
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 2.5%;
    aspect-ratio: 1160/600;
    color: #fff;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: center;
    transition: background .2s; }
    @media screen and (max-width: 640px) {
      #rd .rd-menus__button {
        flex: unset;
        width: 100%;
        padding: 25px; } }
    #rd .rd-menus__button.--organization {
      background-image: url(../images/menu-organization.jpg); }
    #rd .rd-menus__button.--technical {
      background-image: url(../images/menu-technical.jpg); }
    #rd .rd-menus__button:hover {
      text-decoration: none;
      background-size: 105% auto; }
  #rd .rd-menus__arrow {
    display: inline-flex;
    vertical-align: middle;
    justify-content: center;
    align-items: center;
    width: 27px;
    aspect-ratio: 1;
    border: 1px solid #fff;
    border-radius: 50%;
    margin-bottom: 3px;
    margin-left: 10px;
    position: relative; }
    @media screen and (max-width: 768px) {
      #rd .rd-menus__arrow {
        width: 20px; } }
    #rd .rd-menus__arrow::before {
      content: '';
      display: block;
      width: 6px;
      aspect-ratio: 1;
      border-top: 1px solid #fff;
      border-right: 1px solid #fff;
      transform: rotate(45deg); }
      @media screen and (max-width: 768px) {
        #rd .rd-menus__arrow::before {
          width: 4px; } }
  #rd .rd-menus__title {
    font-size: 22px;
    font-size: calc($size / 16)rem;
    font-weight: 600;
    margin-top: auto; }
    @media screen and (max-width: 768px) {
      #rd .rd-menus__title {
        font-size: 18px;
        font-size: calc($size / 16)rem; } }
    @media screen and (max-width: 640px) {
      #rd .rd-menus__title {
        font-size: 20px;
        font-size: calc($size / 16)rem; } }
  #rd .rd-menus__text {
    font-size: 14px;
    font-size: calc($size / 16)rem;
    line-height: 1.4; }
    @media screen and (max-width: 640px) {
      #rd .rd-menus__text {
        font-size: 13px;
        font-size: calc($size / 16)rem; } }
#rd .rd-technical {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 55px;
  padding-top: 60px; }
  @media screen and (max-width: 640px) {
    #rd .rd-technical {
      padding-top: 30px; } }
  #rd .rd-technical .m-btn-wrap {
    justify-content: flex-start; }
  #rd .rd-technical .m-btn-ellipse--medium {
    width: min(255px, 100%); }
    @media screen and (max-width: 640px) {
      #rd .rd-technical .m-btn-ellipse--medium {
        width: min(245px, 100%); } }
