@charset "UTF-8";
/* Scss Document */
@media (max-width: 768px) {
  .toggle span {
    background-color: #ffffff !important; }
  .toggle.fixed_index span {
    background-color: #384158 !important; }

  header {
    background-color: inherit !important; }
    header .header_box h1 a {
      color: #fff !important; }
    header .header_menu a {
      color: #fff !important; }
    header.sp_index {
      background-color: #fff !important; }
      header.sp_index .header_box h1 a {
        color: #384158 !important; }
      header.sp_index .header_menu a {
        color: #fff !important; }

  /*header{
    background-color: inherit !important;
    .header_box{
      h1{
        a{
          color: #fff !important;
        }
      }//h1
    }// .header_box{
    .header_menu{
      a{
        color: #fff !important;
      }
    }
    
    &.active_index{
      background-color: #fff !important;
      .header_box{
        h1{
          a{
            color: $main !important;
          }
        }//h1
      }// .header_box{
      .header_menu{
        a{
          color: #fff !important;
        }
      }
    }//&.active_index
    
    &.sp_index{
      background-color: #fff !important;
      .header_box{
        h1{
          a{
            color: $main !important;
          }
        }//h1
      }// .header_box{
      .header_menu{
        a{
          color: #fff !important;
        }
      }
    }//&.sp_index
  }*/ }
/*******************************************************************/
/*******************************************************************/
body {
  position: relative;
  padding: 0 !important; }

.video_area {
  position: fixed;
  z-index: -1;
  /*最背面に設定*/
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden; }
  .video_area #video {
    /*天地中央配置*/
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*縦横幅指定*/
    width: 177.77777778vh;
    /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw;
    /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%; }
  .video_area video {
    width: 100%; }

.video_area_sp {
  display: none; }

/*max-width:768px*/
/*max-width:480px*/
.js-modal-open_box {
  display: block;
  position: absolute;
  bottom: 5%;
  right: 5%;
  width: 275px;
  height: 275px;
  opacity: 0.8; }
  .js-modal-open_box a {
    display: block;
    width: 275px;
    height: 275px;
    border: 1px solid #fff;
    border-radius: 50%;
    position: relative; }
    .js-modal-open_box a p {
      animation: flash 1s linear infinite;
      position: absolute;
      top: auto;
      bottom: 50px;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%);
      color: #fff;
      font: 1.4rem/1.0em 'Noto Serif JP', serif;
      font-weight: 500;
      letter-spacing: 0.07em;
      text-align: center; }
    .js-modal-open_box a:before {
      position: absolute;
      content: "";
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      /* Safari用 */
      transform: translate(-50%, -50%);
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 17px 0 17px 30px;
      border-color: transparent transparent transparent #fff; }

@keyframes flash {
  0%,100% {
    opacity: 1; }
  50% {
    opacity: 0; } }
/* モーダル全体(背景＋本体) */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  z-index: 9999; }

/* モーダル背景 */
.modal-bg {
  position: absolute;
  height: 100vh;
  width: 100%;
  background: rgba(0, 0, 0, 0.8); }

/* モーダル本体 */
.modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 95%;
  padding: 0;
  max-width: 1024px; }

.top_close {
  height: 45px;
  width: 45px;
  display: block;
  margin: 0 0 0 auto;
  position: relative; }
  .top_close span {
    position: absolute;
    top: 50%;
    left: 0%;
    -webkit-transform: translate(0%, -50%);
    /* Safari用 */
    transform: translate(0%, -50%);
    display: block;
    width: 45px;
    height: 1px;
    background-color: #fff; }
    .top_close span:nth-of-type(1) {
      transform: rotate(45deg); }
    .top_close span:nth-of-type(2) {
      transform: rotate(-45deg); }

.modal_video {
  width: 100%;
  padding: 55.5% 0 0;
  position: relative; }
  .modal_video iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    /* Safari用 */
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%; }

body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .js-modal-open_box {
    display: block;
    position: relative;
    order: 2;
    top: auto;
    left: auto;
    bottom: auto;
    right: auto;
    margin: 0 auto;
    width: 200px;
    height: 200px; }
    .js-modal-open_box a {
      width: 200px;
      height: 200px; }

  .modal-content {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 95%;
    padding: 0;
    max-width: 1024px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .js-modal-open_box {
    display: block;
    position: relative;
    order: 2;
    top: auto;
    left: auto;
    bottom: auto;
    right: auto;
    margin: 0 auto;
    width: 150px;
    height: 150px; }
    .js-modal-open_box a {
      width: 150px;
      height: 150px; }
      .js-modal-open_box a p {
        width: 150px;
        bottom: 30px;
        left: 50%;
        font: 1.3rem/1.0em 'Noto Serif JP', serif;
        font-weight: 500;
        letter-spacing: 0.03em; }
      .js-modal-open_box a:before {
        position: absolute;
        content: "";
        top: 48%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        /* Safari用 */
        transform: translate(-50%, -50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 15px 0 15px 25px;
        border-color: transparent transparent transparent #fff; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .js-modal-open_box {
    width: 120px;
    height: 120px;
    margin: 0 auto 50px; }
    .js-modal-open_box a {
      width: 120px;
      height: 120px; }
      .js-modal-open_box a p {
        width: 100px;
        bottom: 20px;
        left: 50%;
        font: 1.0rem/1.0em 'Noto Serif JP', serif;
        font-weight: 500;
        letter-spacing: 0.03em; }
      .js-modal-open_box a:before {
        top: 43%;
        left: 52%;
        -webkit-transform: translate(-50%, -50%);
        /* Safari用 */
        transform: translate(-50%, -50%);
        border-width: 12px 0 12px 22px;
        border-color: transparent transparent transparent #fff; } }
/*max-width:480px*/
/*******************************************************************/
/*******************************************************************/
.top_mv {
  position: relative;
  height: 2000px;
  width: 100%;
  overflow: hidden; }
  .top_mv .top_mv_box {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 7777; }
  .top_mv .logo {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    position: absolute;
    color: #fff;
    z-index: 888;
    top: 50%;
    left: 9%;
    -webkit-transform: translate(0%, -50%);
    /* Safari用 */
    transform: translate(0%, -50%);
    background: url("../images/index/mv_logo_02.png") center center no-repeat;
    background-size: contain;
    width: 618px;
    height: 326px;
    animation: logo 5s linear infinite; }
    .top_mv .logo:before {
      position: absolute;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: url("../images/index/mv_logo_01.png") center center no-repeat;
      background-size: contain;
      opacity: 0.5;
      z-index: 1; }
@keyframes logo {
  0% {
    background: url("../images/index/mv_logo_02.png") center center no-repeat;
    background-size: contain; }
  50% {
    background: url("../images/index/mv_logo_01.png") center center no-repeat;
    background-size: contain; }
  100% {
    background: url("../images/index/mv_logo_02.png") center center no-repeat;
    background-size: contain; } }
  .top_mv .scroll {
    position: absolute;
    writing-mode: vertical-rl;
    color: #fff;
    padding: 0 0 120px;
    font: 1.2rem/1.0em 'Noto Serif JP', serif;
    bottom: 10px;
    left: 13%;
    overflow: hidden; }
    .top_mv .scroll:before {
      opacity: 0.6;
      position: absolute;
      content: "";
      width: 1px;
      height: 100px;
      background-color: #fff;
      display: block;
      top: auto;
      bottom: 10px;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); }
    .top_mv .scroll:after {
      animation: korokoro 3s linear infinite;
      position: absolute;
      content: "";
      width: 6px;
      height: 6px;
      border-radius: 50%;
      display: block;
      background-color: #fff;
      top: 40px;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); }

@keyframes korokoro {
  0% {
    top: 40px; }
  100% {
    top: 110%; } }
@media (max-width: 1024px) {
  .top_mv {
    height: 1500px; }
    .top_mv .top_mv_box {
      height: 100vh;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      align-items: center;
      padding: 100px 0 0; }
    .top_mv .logo {
      order: 1;
      position: relative;
      margin: 0 auto;
      top: auto;
      left: auto;
      -webkit-transform: translate(0%, 0%);
      /* Safari用 */
      transform: translate(0%, 0%);
      width: 618px;
      height: 326px; }
    .top_mv .scroll {
      order: 3;
      position: relative;
      writing-mode: horizontal-tb;
      color: #fff;
      padding: 0 0 120px;
      font: 1.2rem/1.0em 'Noto Serif JP', serif;
      bottom: auto;
      left: auto;
      right: auto;
      top: auto;
      overflow: hidden;
      text-indent: 100%;
      white-space: nowrap; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .top_mv {
    height: 1000px; }
    .top_mv .top_mv_box {
      height: 768px;
      padding: 100px 0 0; }
    .top_mv .logo {
      width: 100%;
      max-width: 480px;
      height: 0;
      padding: 50% 0 0 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .top_mv {
    height: 1000px; }
    .top_mv .top_mv_box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      align-items: center;
      padding: 140px 0 0; }
    .top_mv .logo {
      order: 1;
      position: relative;
      margin: 0 auto 65px;
      top: auto;
      left: auto;
      -webkit-transform: translate(0%, 0%);
      /* Safari用 */
      transform: translate(0%, 0%);
      width: 100%;
      max-width: 320px;
      height: 0;
      padding: 45% 0 0 0; }
    .top_mv .scroll {
      order: 3;
      position: relative;
      writing-mode: horizontal-tb;
      color: #fff;
      transform: scale(1);
      padding: 0 0 90px; }
      .top_mv .scroll:before {
        height: 90px;
        bottom: 0; }
      .top_mv .scroll:after {
        top: 30px; }

  @keyframes korokoro {
    0% {
      top: 30px; }
    100% {
      top: 90px; } } }
/*max-width:480px*/
main {
  position: relative; }

.bg {
  display: block;
  position: fixed;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100vh;
  z-index: 7777; }

/*******************************************************************/
/*******************************************************************/
.index_top {
  padding: 100px 0 100px;
  position: relative;
  z-index: 8888; }

.index_txt {
  max-width: 1210px;
  width: 100%;
  margin: 0 auto 140px;
  position: relative;
  padding: 0 0 300px; }
  .index_txt p {
    max-width: 640px;
    width: calc(100% - 585px);
    font: 2.0rem/3.8em 'Noto Serif JP', serif;
    font-weight: 500;
    color: #fff;
    margin: 0 auto;
    letter-spacing: 0.1em; }
    .index_txt p.mb {
      margin-bottom: 40px; }
    .index_txt p.index_txt_show02-4 span {
      position: relative;
      padding: 0 0 0 150px; }
      .index_txt p.index_txt_show02-4 span:before {
        position: absolute;
        display: block;
        content: "";
        width: 135px;
        height: 1px;
        background-color: #fff;
        left: 10px;
        opacity: 0.6;
        top: 16px; }

.index_txt_pic img {
  position: absolute; }
  .index_txt_pic img.top_pic01 {
    left: 0;
    top: 35%; }
  .index_txt_pic img.top_pic02 {
    right: 0;
    bottom: 20%; }
  .index_txt_pic img.top_pic03 {
    left: 18%;
    bottom: 0; }

.index_top_btm_txt {
  text-align: center;
  position: relative;
  font: 6.8vw/1.0em 'Noto Serif JP', serif;
  font-weight: 300;
  color: #fff; }
  .index_top_btm_txt .opacity {
    opacity: 0.2; }
    .index_top_btm_txt .opacity br {
      display: none; }
  .index_top_btm_txt .block {
    font: 3.4rem/1.0em 'Noto Serif JP', serif;
    font-weight: 400;
    position: absolute;
    opacity: 120;
    letter-spacing: 0.08em;
    top: 0%;
    left: 50%;
    -webkit-transform: translate(-50%, 0%);
    /* Safari用 */
    transform: translate(-50%, 0%); }

.index_txt {
  opacity: 0; }
  .index_txt.show {
    animation: index_txt 1s linear 0s 1 forwards; }

@keyframes index_txt {
  0% {
    opacity: 0; }
  100% {
    opacity: 100; } }
.index_top_btm_txt_show .opacity {
  opacity: 0; }
.index_top_btm_txt_show .block {
  opacity: 0; }
.index_top_btm_txt_show.show .opacity {
  animation: index_top_btm_txt_opacity 1s linear 0.5s 1 forwards; }
.index_top_btm_txt_show.show .block {
  animation: index_top_btm_txt_block 1s linear 0s 1 forwards; }

@keyframes index_top_btm_txt_opacity {
  0% {
    opacity: 0; }
  100% {
    opacity: 0.2; } }
@keyframes index_top_btm_txt_block {
  0% {
    opacity: 0; }
  100% {
    opacity: 1.0; } }
@media (min-width: 1920px) {
  .index_top_btm_txt {
    text-align: center;
    position: relative;
    font: 12.0rem/1.0em 'Noto Serif JP', serif;
    font-weight: 300;
    color: #fff; }
    .index_top_btm_txt .opacity {
      opacity: 0.2; }
      .index_top_btm_txt .opacity br {
        display: none; }
    .index_top_btm_txt .block {
      font: 3.4rem/1.0em 'Noto Serif JP', serif;
      font-weight: 400;
      position: absolute;
      opacity: 120;
      top: 0%;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); } }
@media (max-width: 1280px) {
  .index_txt {
    padding: 0; }
    .index_txt p {
      max-width: 625px;
      width: calc(100% - 40px);
      font: 2.0rem/2.6em 'Noto Serif JP', serif;
      font-weight: 500;
      color: #fff;
      margin: 0 auto; }

  .index_txt_pic {
    max-width: 605px;
    margin: 50px auto 0;
    width: calc(100% - 40px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-end; }
    .index_txt_pic img {
      position: relative; }
      .index_txt_pic img.top_pic01 {
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        width: 40%;
        margin: 0 0 20%;
        max-width: 100%; }
      .index_txt_pic img.top_pic02 {
        width: 50%;
        max-width: 100%;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto;
        margin: 0 0 10%; }
      .index_txt_pic img.top_pic03 {
        max-width: 100%;
        margin: 0 auto;
        left: auto;
        right: auto;
        top: auto;
        bottom: auto; }

  .index_top_btm_txt {
    text-align: center;
    position: relative;
    font: 12.0rem/1.3em 'Noto Serif JP', serif;
    font-weight: 300;
    color: #fff; }
    .index_top_btm_txt .opacity {
      opacity: 0.2; }
      .index_top_btm_txt .opacity br {
        display: block; }
    .index_top_btm_txt .block {
      font: 3.4rem/1.0em 'Noto Serif JP', serif;
      font-weight: 400;
      position: absolute;
      opacity: 120;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .index_txt p {
    max-width: 605px;
    width: calc(100% - 40px);
    font: 2.0rem/2.6em 'Noto Serif JP', serif;
    font-weight: 500;
    color: #fff;
    margin: 0 auto; }

  .index_top_btm_txt {
    text-align: center;
    position: relative;
    font: 10.0rem/1.3em 'Noto Serif JP', serif;
    font-weight: 300;
    color: #fff; }
    .index_top_btm_txt .opacity {
      opacity: 0.2; }
      .index_top_btm_txt .opacity br {
        display: block; }
    .index_top_btm_txt .block {
      font: 3.2rem/1.0em 'Noto Serif JP', serif;
      font-weight: 400;
      position: absolute;
      opacity: 120;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .index_top {
    padding: 100px 0 100px;
    position: relative;
    z-index: 8888; }

  .index_txt {
    max-width: 1210px;
    width: 100%;
    margin: 0 auto 100px;
    position: relative;
    padding: 0; }
    .index_txt p {
      letter-spacing: 0.02em; }

  .index_txt_pic {
    max-width: 480px;
    width: calc(100% - 80px); }
    .index_txt_pic img {
      position: relative; }
      .index_txt_pic img.top_pic01 {
        margin: 0 0 20%;
        max-width: 211px; }
      .index_txt_pic img.top_pic02 {
        width: 50%;
        max-width: 301px;
        margin: 0 0 10%; }
      .index_txt_pic img.top_pic03 {
        max-width: 290px;
        width: 60%; }

  .index_top_btm_txt {
    font: 15vw/1.3em 'Noto Serif JP', serif;
    font-weight: 300; }
    .index_top_btm_txt .block {
      width: 100%;
      font: 5vw/1.0em 'Noto Serif JP', serif;
      font-weight: 400; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .index_top {
    padding: 50px 0 100px;
    position: relative;
    z-index: 8888; }

  .index_txt {
    max-width: 1210px;
    width: 100%;
    margin: 0 auto 100px;
    position: relative;
    padding: 0; }
    .index_txt p {
      max-width: 605px;
      width: calc(100% - 40px);
      font: 1.55rem/2.6em 'Noto Serif JP', serif;
      font-weight: 500;
      color: #fff;
      margin: 0 auto; }
      .index_txt p.mb {
        margin-bottom: 40px; }
      .index_txt p.index_txt_show02-4 span {
        position: relative;
        padding: 0 0 0 120px; }
        .index_txt p.index_txt_show02-4 span:before {
          width: 103px;
          left: 10px;
          top: 12px; }
      .index_txt p.index_txt_show04 span.block, .index_txt p.index_txt_show04-4 span.block {
        display: block; }

  .index_txt_pic {
    max-width: 480px;
    margin: 50px auto 0;
    width: calc(100% - 80px); }
    .index_txt_pic img {
      position: relative; }
      .index_txt_pic img.top_pic01 {
        width: 40%;
        margin: 0 0 20%;
        max-width: 211px; }
      .index_txt_pic img.top_pic02 {
        width: 50%;
        max-width: 301px;
        margin: 0 0 10%; }
      .index_txt_pic img.top_pic03 {
        max-width: 290px;
        width: 60%; }

  .index_top_btm_txt {
    font: 15vw/1.3em 'Noto Serif JP', serif;
    font-weight: 300; }
    .index_top_btm_txt .opacity {
      opacity: 0.2; }
    .index_top_btm_txt .block {
      width: 100%;
      font: 7vw/1.0em 'Noto Serif JP', serif;
      font-weight: 400;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, 0%);
      /* Safari用 */
      transform: translate(-50%, 0%); } }
/*max-width:480px*/
/*******************************************************************/
/*******************************************************************/
.position {
  position: relative;
  z-index: 8888; }

.index_content {
  background: #F7F8F8;
  padding: 150px 0; }

.btn_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1040px;
  width: calc(100% - 40px);
  margin: 0 auto 150px; }
  .btn_list li {
    width: calc((100% - 30px)/2);
    max-width: 500px;
    position: relative; }
    .btn_list li a {
      display: block;
      width: 100%;
      height: 240px;
      position: relative;
      padding: 40px;
      color: #fff; }
      .btn_list li a.center {
        background: url("../images/index/btn_center.jpg") center center no-repeat;
        background-size: cover; }
      .btn_list li a.performance {
        background: url("../images/index/btn_performance.jpg") center center no-repeat;
        background-size: cover; }
      .btn_list li a p {
        letter-spacing: 0.05em;
        font: 2.8rem/1.0em 'Noto Serif JP', serif;
        font-weight: 600; }
      .btn_list li a small {
        margin: 0 0 15px;
        font: 1.6rem/1.0em 'Noto Serif JP', serif;
        font-weight: 400;
        display: block;
        color: #AFB3BC; }
      .btn_list li a:before {
        position: absolute;
        content: "";
        display: block;
        width: calc(100% - 20px);
        height: calc(100% - 20px);
        border: 1px solid #afb3bc;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        /* Safari用 */
        transform: translate(-50%, -50%); }
      .btn_list li a:after {
        position: absolute;
        content: "";
        display: block;
        background: url("../images/common/side_hover.svg") center center no-repeat;
        background-size: contain;
        width: 72px;
        height: 72px;
        right: 20px;
        bottom: 20px; }
      .btn_list li a:hover::after {
        background: url("../images/common/side.svg") center center no-repeat;
        background-size: contain; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .index_content {
    background: #F7F8F8;
    padding: 100px 0; }

  .btn_list {
    margin: 0 auto 100px; }
    .btn_list li {
      width: calc((100% - 20px)/2); } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .btn_list {
    display: block;
    max-width: 480px;
    width: calc(100% - 40px);
    margin: 0 auto 50px; }
    .btn_list li {
      width: 100%;
      max-width: 480px;
      position: relative; }
      .btn_list li a {
        display: block;
        width: 100%; }
        .btn_list li a.center {
          margin: 0 0 30px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .btn_list li a {
    height: 155px;
    padding: 25px; }
    .btn_list li a p {
      font: 2.0rem/1.0em 'Noto Serif JP', serif;
      font-weight: 600; }
    .btn_list li a small {
      margin: 0 0 10px;
      font: 1.4rem/1.0em 'Noto Serif JP', serif;
      font-weight: 500;
      display: block; }
    .btn_list li a:before {
      width: calc(100% - 15px);
      height: calc(100% - 15px); }
    .btn_list li a:after {
      width: 50px;
      height: 50px;
      right: 20px;
      bottom: 20px; } }
/*max-width:480px*/
/*******************************************************************/
/*******************************************************************/
.content_box {
  width: 100%;
  position: relative; }
  .content_box.staff {
    margin-bottom: 110px; }
    .content_box.staff:before {
      right: 0;
      bottom: -50px; }
    .content_box.staff:after {
      right: 0;
      bottom: -50px; }
  .content_box.education:before {
    left: 0; }
  .content_box.education:after {
    left: 0; }
  .content_box:before {
    display: block;
    position: absolute;
    content: "";
    width: 60%;
    height: 400px;
    background-color: #384158;
    z-index: 0;
    bottom: -50px; }
  .content_box:after {
    display: block;
    position: absolute;
    content: "";
    width: 60%;
    border-bottom: 5px solid #c21500;
    border-image: linear-gradient(to right, #0080BF, #18A068);
    border-image-slice: 1;
    z-index: 0;
    bottom: -50px; }

.content_item {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 auto; }
  .content_item.education .content_pic {
    order: 2; }
  .content_item.education .content_txt {
    order: 1; }
    .content_item.education .content_txt div {
      margin: 0 0 0 auto; }

.content_pic {
  width: 790px;
  height: 390px;
  position: relative;
  overflow: hidden; }
  .content_pic.staff:before {
    background: url("../images/index/content_staff.jpg") center center no-repeat;
    background-size: contain; }
  .content_pic.education:before {
    background: url("../images/index/content_education.jpg") center center no-repeat;
    background-size: contain; }

.content_txt {
  color: #fff;
  width: calc(100% - 790px);
  display: block;
  position: relative; }
  .content_txt.staff {
    padding: 30px 0 0 50px; }
  .content_txt.education {
    padding: 30px 20px 0 50px; }
  .content_txt div {
    max-width: 500px;
    position: relative;
    z-index: 2; }
  .content_txt:hover {
    color: #fff; }
    .content_txt:hover p:after {
      background: url("../images/common/side.svg") center center no-repeat;
      background-size: contain; }
  .content_txt h2 {
    font: 2.8rem/1.0em 'Noto Serif JP', serif;
    font-weight: 600;
    margin: 0 0 30px;
    letter-spacing: 0.05em; }
  .content_txt small {
    color: #AFB3BC;
    margin: 0 0 15px;
    font: 1.6rem/1.0em 'Noto Serif JP', serif;
    font-weight: 400;
    display: block; }
  .content_txt p {
    font: 2.0rem/2.0em 'Noto Serif JP', serif;
    font-weight: 500;
    position: relative;
    width: fit-content;
    padding: 0 0 70px 0;
    width: 100%;
    height: 202px;
    max-width: 450px; }
    .content_txt p:after {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/side_hover.svg") center center no-repeat;
      background-size: contain;
      width: 90px;
      height: 90px;
      right: 0;
      bottom: -10px; }

@media (max-width: 1280px) {
  .content_pic {
    width: 600px; }
    .content_pic.staff:before {
      background: url("../images/index/content_staff.jpg") center right no-repeat;
      background-size: cover; }
    .content_pic.education:before {
      background: url("../images/index/content_education.jpg") center center no-repeat;
      background-size: cover; }

  .content_txt {
    color: #fff;
    width: calc(100% - 600px); } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .content_box {
    width: 100%;
    position: relative; }
    .content_box.staff {
      margin-bottom: 110px; }
      .content_box.staff:before {
        right: 0;
        bottom: -50px; }
      .content_box.staff:after {
        right: 0;
        bottom: -50px; }
    .content_box.education:before {
      left: 0; }
    .content_box.education:after {
      left: 0; }
    .content_box:before, .content_box:after {
      display: none; }

  .content_item {
    position: relative;
    z-index: 1;
    max-width: 1400px;
    width: 100%;
    display: block;
    margin: 0 auto; }
    .content_item.education .content_pic {
      order: 2; }
    .content_item.education .content_txt {
      order: 1; }
      .content_item.education .content_txt div {
        margin: 0 0 0 auto; }

  .content_pic {
    width: 100%;
    height: 390px;
    position: relative;
    overflow: hidden; }
    .content_pic.staff:before {
      background: url("../images/index/content_staff.jpg") center center no-repeat;
      background-size: cover; }
    .content_pic.education:before {
      background: url("../images/index/content_education.jpg") center center no-repeat;
      background-size: cover; }

  .content_txt {
    background-color: #384158;
    color: #fff;
    width: 100%;
    display: block;
    position: relative;
    border-bottom: 5px solid #c21500;
    border-image: linear-gradient(to right, #0080BF, #18A068);
    border-image-slice: 1; }
    .content_txt.staff {
      padding: 30px; }
    .content_txt.education {
      padding: 30px; }
    .content_txt div {
      max-width: 500px !important;
      margin: 0 auto !important;
      position: relative; }
    .content_txt p {
      font: 2.0rem/2.0em 'Noto Serif JP', serif;
      font-weight: 500;
      position: relative;
      width: fit-content;
      padding: 0;
      width: 100%;
      height: auto;
      max-width: 450px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .content_box {
    width: 100%;
    position: relative; }
    .content_box.staff {
      margin-bottom: 30px; }
      .content_box.staff:before {
        right: 0;
        bottom: -50px; }
      .content_box.staff:after {
        right: 0;
        bottom: -50px; }
    .content_box.education:before {
      left: 0; }
    .content_box.education:after {
      left: 0; }
    .content_box:before, .content_box:after {
      display: none; }

  .content_pic {
    width: 100%;
    height: 290px; }

  .content_txt.staff {
    padding: 30px 20px 30px 30px; }
  .content_txt.education {
    padding: 30px 20px 30px 30px; }
  .content_txt p:after {
    width: 70px;
    height: 70px;
    right: 0;
    bottom: -10px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .content_pic {
    width: 100%;
    height: 185px; }

  .content_txt {
    padding: 30px 20px !important; }
    .content_txt.staff {
      height: auto; }
    .content_txt.education {
      height: auto; }
    .content_txt h2 {
      font: 2.2rem/1.0em 'Noto Serif JP', serif;
      font-weight: 600;
      margin: 0 0 20px;
      letter-spacing: 0.05em; }
    .content_txt small {
      color: #AFB3BC;
      margin: 0 0 10px;
      font: 1.2rem/1.0em 'Noto Serif JP', serif;
      font-weight: 400;
      display: block; }
    .content_txt p {
      font: 1.5rem/1.8em 'Noto Serif JP', serif;
      font-weight: 500; }
      .content_txt p:after {
        width: 55px;
        height: 55px;
        right: 0;
        bottom: 0; } }
/*max-width:480px*/
/*******************************************************************/
/*******************************************************************/
.index_bnr {
  background-color: #fff;
  padding: 170px 0; }
  .index_bnr .interview {
    max-width: 1000px;
    width: calc(100% - 180px);
    height: 421px;
    margin: 0 auto 60px;
    display: block;
    background: url("../images/index/bnr_interview.jpg") center center no-repeat;
    background-size: contain;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap; }
  .index_bnr .interview2023 {
    max-width: 1000px;
    width: calc(100% - 180px);
    height: 421px;
    margin: 0 auto 60px;
    display: block;
    background: url("../images/index/top-bnr-movie.webp") center center no-repeat;
    background-size: contain;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap; }
  .index_bnr ul {
    max-width: 1000px;
    width: calc(100% - 180px);
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start; }
  .index_bnr li {
    width: calc((100% - 20px)/ 3);
    max-width: 310px; }
    .index_bnr li img {
      width: 100%; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .index_bnr {
    padding: 100px 0; }
    .index_bnr .interview {
      max-width: 640px;
      width: calc(100% - 40px);
      height: 267px;
      margin: 0 auto 40px; }
    .index_bnr ul {
      max-width: 640px;
      width: calc(100% - 40px); }
    .index_bnr li {
      width: calc(100%/ 2);
      max-width: 310px;
      margin: 0 0 15px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .index_bnr {
    padding: 100px 0; }
    .index_bnr .interview {
      max-width: 640px;
      width: calc(100% - 40px);
      height: 0;
      padding: 39.5% 0 0;
      margin: 0 auto 40px;
      background: url("../images/index/sp_bnr_interview.jpg") center center no-repeat;
      background-size: contain; }
    .index_bnr .interview2023 {
      max-width: 640px;
      width: calc(100% - 40px);
      height: 0;
      padding: 39.5% 0 0;
      margin: 0 auto 40px;
      background: url("../images/index/sp-center-bnr-movie.webp") center center no-repeat;
      background-size: contain; }
    .index_bnr ul {
      max-width: 640px;
      width: calc(100% - 40px); }
    .index_bnr li {
      width: calc((100% - 15px)/2);
      max-width: 310px;
      margin: 0 0 15px; }
      .index_bnr li:last-of-type {
        margin: 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .index_bnr {
    padding: 100px 0; }
    .index_bnr .interview,
    .index_bnr .interview2023 {
      max-width: 640px;
      width: calc(100% - 40px);
      height: 0;
      padding: 41.5% 0 0;
      margin: 0 auto 40px; }
    .index_bnr ul {
      max-width: 640px;
      width: calc(100% - 40px); }
    .index_bnr li {
      width: calc((100% - 10px)/2);
      max-width: 310px;
      margin: 0 0 10px; }
      .index_bnr li:last-of-type {
        margin: 0; } }
/*max-width:480px*/
/*******************************************************************/
/*******************************************************************/
.index_news {
  background: #F7F8F8;
  padding: 100px 0; }
  .index_news h2 {
    color: #384158;
    font: 2.8rem/1.0em 'Noto Serif JP', serif;
    font-weight: 600;
    margin: 0 0 30px; }
    .index_news h2 small {
      margin: 0 0 10px;
      font: 1.6rem/1.0em 'Noto Serif JP', serif;
      font-weight: 500;
      display: block; }

.index_news_box {
  max-width: 1200px;
  width: calc(100% - 180px);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }

.news_box {
  width: calc(100% - 450px);
  max-width: 610px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }
  .news_box .news_list {
    width: calc(100% - 130px);
    max-width: 450px; }
  .news_box div {
    width: 100%; }
  .news_box ul {
    width: 100%;
    margin: 0 0 40px; }
  .news_box li {
    padding: 20px 0;
    border-bottom: 1px dashed #384158; }
    .news_box li:last-of-type {
      border-bottom: none; }
    .news_box li a {
      display: block;
      width: 100%;
      font: 1.8rem/1.8em 'Noto Sans JP', sans-serif;
      font-weight: 400;
      color: #384158; }
    .news_box li time {
      font: 1.8rem/1.0em 'Open Sans', sans-serif;
      font-weight: 400;
      display: block; }
    .news_box li span {
      background-color: #6C6C6C;
      font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
      font-weight: 400;
      width: 170px;
      display: block;
      padding: 5px 0 7px;
      border-radius: 50px;
      text-align: center;
      color: #fff;
      margin: 10px 0; }
      .news_box li span.cat_medical {
        background-color: #287FC4; }
      .news_box li span.cat_patient {
        background-color: #5DA56B; }
  .news_box .list_btn {
    font: 1.8rem/60px "Noto Serif JP", serif;
    font-weight: 400;
    display: block;
    border: 1px solid #384158;
    border-radius: 50px;
    max-width: 400px;
    width: 100%;
    background-color: #fff;
    text-align: center;
    position: relative; }
    .news_box .list_btn:before {
      position: absolute;
      content: "";
      display: block;
      background: url("../images/common/arrow_icon.svg") center center no-repeat;
      background-size: contain;
      width: 23px;
      height: 19px;
      right: 45px;
      top: 22px; }
    .news_box .list_btn:hover {
      background-color: #384158;
      color: #fff; }
      .news_box .list_btn:hover:before {
        background: url("../images/common/arrow_icon_white.svg") center center no-repeat;
        background-size: contain; }

.facebook_box {
  width: 430px; }

.fb-page,
.fb-page span,
.facebook_wrap iframe {
  width: 100% !important;
  height: 500px !important; }

/*max-width:1280px*/
@media (max-width: 1024px) {
  .index_news h2 {
    position: relative;
    font: 2.2rem/1em 'Noto Serif JP', serif !important;
    font-weight: 600;
    padding: 5px 0 8px 30px; }
    .index_news h2 small {
      display: block;
      font: 1.4rem/1.0em 'Noto Serif JP', serif;
      font-weight: 500;
      margin: 0 0 15px !important; }
    .index_news h2:before {
      width: 3px;
      height: 100%;
      position: absolute;
      content: "";
      display: block;
      background: linear-gradient(#0080BF, #18A068);
      left: 0;
      top: 0; }

  .index_news h2 {
    color: #384158;
    font: 2.8rem/1.0em 'Noto Serif JP', serif;
    font-weight: 600;
    margin: 0 0 30px; }
    .index_news h2 small {
      margin: 0 0 10px;
      font: 1.6rem/1.0em 'Noto Serif JP', serif;
      font-weight: 500;
      display: block; }

  .index_news_box {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    display: block; }

  .news_box {
    margin: 0 auto 100px;
    max-width: 640px;
    width: calc(100% - 40px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start; }
    .news_box div {
      width: 100%; }
    .news_box .news_list {
      width: 100%; }
    .news_box ul {
      width: 100%;
      margin: 0 0 40px; }
    .news_box li {
      padding: 20px 0;
      border-bottom: 1px dashed #384158; }
      .news_box li:last-of-type {
        border-bottom: none; }
      .news_box li a {
        display: block;
        width: 100%;
        font: 1.8rem/1.8em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        color: #384158; }
      .news_box li time {
        font: 1.8rem/1.0em 'Open Sans', sans-serif;
        font-weight: 400;
        display: block; }
      .news_box li span {
        font: 1.8rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        width: 170px;
        display: block;
        padding: 5px 0 7px;
        border-radius: 50px;
        text-align: center;
        color: #fff;
        margin: 10px 0;
        background-color: #ccc; }
    .news_box .list_btn {
      font: 1.8rem/60px "Noto Serif JP", serif;
      font-weight: 400;
      display: block;
      border: 1px solid #384158;
      border-radius: 50px;
      max-width: 400px;
      width: 90%;
      margin: 0 auto;
      background-color: #fff;
      text-align: center; }

  .facebook_box {
    width: 640px;
    margin: 0 auto; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .news_box {
    margin: 0 auto 100px;
    max-width: 400px; }

  .facebook_box {
    width: 400px;
    margin: 0 auto; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .news_box {
    margin: 0 auto 100px;
    max-width: 350px; }
    .news_box ul {
      margin: 0 auto 20px; }
    .news_box li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      -webkit-justify-content: flex-start;
      justify-content: flex-start;
      align-items: center; }
      .news_box li:last-of-type {
        border-bottom: none; }
      .news_box li a {
        font: 1.6rem/1.8em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        margin: 10px 0 0; }
      .news_box li time {
        font: 1.5rem/1.0em 'Open Sans', sans-serif;
        font-weight: 400; }
      .news_box li span {
        font: 1.4rem/1.0em 'Noto Sans JP', sans-serif;
        font-weight: 400;
        width: 120px;
        display: block;
        margin: 0 0 0 10px; }
    .news_box .list_btn {
      font: 1.6rem/50px "Noto Serif JP", serif;
      font-weight: 400; }
      .news_box .list_btn:before {
        right: 25px;
        top: 15px; }

  .facebook_box {
    overflow: hidden;
    width: 350px;
    margin: 0 auto; }
    .facebook_box h2 {
      margin: 0 auto 30px; } }
/*max-width:480px*/
