/*! Writen  by SCSS */
.inner_main {
  background-image: url(../images/main.jpg); }

.sec01 {
  background: #151c39; }
  .sec01 .inner {
    position: relative;
    z-index: 2; }
  .sec01 .sec01_item01 {
    position: relative;
    margin-top: -8%; }
    @media screen and (max-width: 1500px) {
      .sec01 .sec01_item01 {
        margin-top: -5%; } }
    @media screen and (max-width: 480px) {
      .sec01 .sec01_item01 {
        padding-bottom: 40px;
        display: flex;
        flex-direction: column-reverse; } }
    .sec01 .sec01_item01 .view_img {
      width: 70.63%;
      margin-left: auto; }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_item01 .view_img {
          width: 100%;
          margin-top: -20px; } }
    .sec01 .sec01_item01 .text_photo {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_item01 .text_photo {
          position: relative;
          inset: auto;
          width: calc(100% - 40px);
          margin: 40px auto 0; } }
      .sec01 .sec01_item01 .text_photo .text_photo_in {
        margin-top: 80px;
        width: 43.34%; }
        @media screen and (max-width: 820px) {
          .sec01 .sec01_item01 .text_photo .text_photo_in {
            margin-top: 30px; } }
        @media screen and (max-width: 480px) {
          .sec01 .sec01_item01 .text_photo .text_photo_in {
            margin-top: 0;
            width: 100%; } }
        .sec01 .sec01_item01 .text_photo .text_photo_in .item {
          align-items: flex-start; }
          .sec01 .sec01_item01 .text_photo .text_photo_in .item:nth-of-type(1) {
            padding-bottom: 30px;
            margin-bottom: 30px;
            border-bottom: 1px solid rgba(100, 112, 164, 0.4); }
            @media screen and (max-width: 480px) {
              .sec01 .sec01_item01 .text_photo .text_photo_in .item:nth-of-type(1) {
                padding-bottom: 20px;
                margin-bottom: 20px; } }
          .sec01 .sec01_item01 .text_photo .text_photo_in .item .text {
            width: 51.93%; }
            .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group {
              flex-direction: column; }
              @media screen and (max-width: 480px) {
                .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group {
                  margin-top: -6px; } }
              .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group .min_txt {
                font-size: clamp(14px, 2.858vw, 40px);
                color: #FFF;
                line-height: 1.1; }
                @media screen and (max-width: 480px) {
                  .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group .min_txt {
                    font-size: 6.6vw;
                    line-height: 1.3; } }
                .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group .min_txt .sub {
                  font-size: 50%;
                  padding-left: 0.3em; }
                .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group .min_txt.minutes .small {
                  font-size: 80%; }
                .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group .min_txt.minutes .big {
                  display: inline-block;
                  line-height: 1;
                  font-size: 250%; }
                  .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group .min_txt.minutes .big.pink {
                    color: #e47900; }
                  .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group .min_txt.minutes .big.blue {
                    color: #048fc5; }
                  .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group .min_txt.minutes .big.gold {
                    background: linear-gradient(90deg, #f8f6dd 0%, #d5ab52 100%);
                    -webkit-background-clip: text;
                    -webkit-text-fill-color: transparent;
                    font-family: "Cinzel", serif; }
                .sec01 .sec01_item01 .text_photo .text_photo_in .item .text .min_txt_group .min_txt.minutes .small02 {
                  font-size: clamp(10px, 1.167vw, 14px); }
          .sec01 .sec01_item01 .text_photo .text_photo_in .item .photo {
            width: 46.16%; }

.sec02 {
  padding: clamp(50px, 7.5vw, 90px) 0 clamp(50px, 6.667vw, 80px);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../images/bg01.jpg"); }
  .sec02 .sec02_item01 {
    align-items: flex-start;
    flex-direction: row-reverse; }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_item01 {
        flex-direction: column;
        row-gap: 40px; } }
    .sec02 .sec02_item01 .right {
      width: 44.17%; }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_item01 .right {
          width: 100%; } }
    .sec02 .sec02_item01 .left {
      flex-direction: column;
      row-gap: 40px;
      width: 46.67%; }
      @media screen and (max-width: 820px) {
        .sec02 .sec02_item01 .left {
          width: 50%;
          row-gap: 30px; } }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_item01 .left {
          width: 100%; } }
      .sec02 .sec02_item01 .left .left_in {
        flex-wrap: wrap;
        row-gap: 10px; }
        .sec02 .sec02_item01 .left .left_in .station_name {
          width: 100%;
          justify-content: flex-start;
          align-items: center;
          padding-left: 15px;
          border-left: 6px solid #151c39;
          column-gap: 20px; }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_item01 .left .left_in .station_name {
              column-gap: 12px; } }
          .sec02 .sec02_item01 .left .left_in .station_name span {
            flex-shrink: 0;
            font-size: clamp(18px, 2vw, 24px);
            color: #151c39; }
            @media screen and (max-width: 480px) {
              .sec02 .sec02_item01 .left .left_in .station_name span {
                font-size: 5vw; } }
          .sec02 .sec02_item01 .left .left_in .station_name:after {
            content: "";
            height: 1px;
            width: 100%;
            background: #151c39; }
            @media screen and (max-width: 480px) {
              .sec02 .sec02_item01 .left .left_in .station_name:after {
                content: none; } }
        .sec02 .sec02_item01 .left .left_in .photo_group {
          width: 46.43%;
          display: flex;
          flex-direction: column;
          row-gap: 10px; }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_item01 .left .left_in .photo_group {
              row-gap: 8px; } }
          .sec02 .sec02_item01 .left .left_in .photo_group .photo {
            position: relative; }
            .sec02 .sec02_item01 .left .left_in .photo_group .photo .min_group {
              position: absolute;
              inset: 0;
              display: flex;
              flex-direction: column;
              justify-content: center;
              align-items: center;
              color: #FFF;
              text-shadow: 0px 0px 0px rgba(21, 28, 57, 0.5), 0px 0px 1px rgba(21, 28, 57, 0.5), 0px 0px 2px rgba(21, 28, 57, 0.5), 0px 0px 3px rgba(21, 28, 57, 0.5), 0px 0px 4px rgba(21, 28, 57, 0.5), 0px 0px 5px rgba(21, 28, 57, 0.5), 0px 0px 6px rgba(21, 28, 57, 0.5), 0px 0px 7px rgba(21, 28, 57, 0.5), 0px 0px 8px rgba(21, 28, 57, 0.5), 0px 0px 9px rgba(21, 28, 57, 0.5), 0px 0px 10px rgba(21, 28, 57, 0.5); }
              .sec02 .sec02_item01 .left .left_in .photo_group .photo .min_group .m01 {
                font-size: clamp(14px, 1.667vw, 20px);
                padding: 0 clamp(15px, 2.5vw, 30px) 10px;
                margin-bottom: 10px;
                border-bottom: 1px solid #FFF; }
              .sec02 .sec02_item01 .left .left_in .photo_group .photo .min_group .m02 {
                font-size: clamp(20px, 2.5vw, 30px); }
                .sec02 .sec02_item01 .left .left_in .photo_group .photo .min_group .m02 .big {
                  display: inline-block;
                  line-height: 1;
                  font-size: 180%; }
          .sec02 .sec02_item01 .left .left_in .photo_group .minutes {
            font-size: clamp(14px, 2vw, 28px);
            text-align: center; }
            @media screen and (max-width: 820px) {
              .sec02 .sec02_item01 .left .left_in .photo_group .minutes {
                font-size: 1.8vw; } }
            @media screen and (max-width: 480px) {
              .sec02 .sec02_item01 .left .left_in .photo_group .minutes {
                font-size: 4.4vw; } }
            .sec02 .sec02_item01 .left .left_in .photo_group .minutes .big {
              display: inline-block;
              font-size: 160%;
              line-height: 1;
              color: #960808; }
            .sec02 .sec02_item01 .left .left_in .photo_group .minutes .big2 {
              display: inline-block;
              font-size: 100%;
              line-height: 1;
              color: #960808; }
            .sec02 .sec02_item01 .left .left_in .photo_group .minutes .small2 {
              font-size: 85%;
              display: inline-block; }
            .sec02 .sec02_item01 .left .left_in .photo_group .minutes .small {
              font-size: 60%;
              position: relative; }
              .sec02 .sec02_item01 .left .left_in .photo_group .minutes .small sup {
                position: absolute;
                right: 0;
                bottom: 100%; }
              .sec02 .sec02_item01 .left .left_in .photo_group .minutes .small sub {
                position: absolute;
                right: auto;
                bottom: 0;
                font-size: 0.6em; }

.sec03 {
  padding-top: clamp(50px, 8.334vw, 100px);
  padding-bottom: clamp(50px, 8.334vw, 100px);
  background: #f2f2f2; }
  @media screen and (max-width: 480px) {
    .sec03 .inner {
      width: calc(100% - 20px); } }

@media screen and (max-width: 480px) {
  .sec03_wrap {
    flex-direction: column;
    gap: 30px 0; } }
.sec03_wrap .sec03_box {
  width: 48.34%;
  padding: 0.75%;
  border: 1px solid #151c39; }
  @media screen and (max-width: 480px) {
    .sec03_wrap .sec03_box {
      width: 100%;
      padding: 9px; } }
  .sec03_wrap .sec03_box .sec03_box_inner {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: clamp(10px, 1.67vw, 20px) 0;
    position: relative;
    background: rgba(255, 255, 255, 0.7);
    padding-left: 5.35%;
    padding-right: 5.35%;
    padding-bottom: 5.35%; }
    .sec03_wrap .sec03_box .sec03_box_inner::after {
      content: "";
      display: block;
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      border: 1px solid #151c39; }
    .sec03_wrap .sec03_box .sec03_box_inner .text_box .sec03_en_head {
      text-align: center;
      font-size: clamp(30px, 4.83vw, 60px);
      font-weight: 500;
      line-height: 1;
      color: rgba(21, 28, 57, 0.2);
      margin-bottom: 0.4em;
      letter-spacing: 0.1em;
      margin-top: -0.1em; }
      @media screen and (max-width: 480px) {
        .sec03_wrap .sec03_box .sec03_box_inner .text_box .sec03_en_head {
          font-size: 36px; } }
    .sec03_wrap .sec03_box .sec03_box_inner .text_box .sec03_lead {
      font-size: clamp(18px, 2.09vw, 26px);
      line-height: 1.54;
      text-align: center;
      color: #877039;
      margin-bottom: 0.96em; }
      @media screen and (max-width: 480px) {
        .sec03_wrap .sec03_box .sec03_box_inner .text_box .sec03_lead {
          line-height: 1.6; } }
    .sec03_wrap .sec03_box .sec03_box_inner .text_box .read {
      line-height: 2.34;
      letter-spacing: -0.05em; }
      @media screen and (max-width: 480px) {
        .sec03_wrap .sec03_box .sec03_box_inner .text_box .read {
          line-height: 2; } }
    .sec03_wrap .sec03_box .sec03_box_inner .image_box .image {
      max-width: 500px;
      background: #fff;
      cursor: pointer;
      transition: opacity 0.3s ease-in-out;
      position: relative; }
      @media (hover: hover) {
        .sec03_wrap .sec03_box .sec03_box_inner .image_box .image:hover {
          opacity: 0.7; } }
      .sec03_wrap .sec03_box .sec03_box_inner .image_box .image .icon_zoom {
        position: absolute;
        right: 0;
        bottom: 0;
        z-index: 2;
        background: #000;
        display: flex;
        align-items: center;
        justify-content: center;
        max-width: 30px;
        width: 6%;
        padding-top: 1%;
        padding-bottom: 1%; }
        .sec03_wrap .sec03_box .sec03_box_inner .image_box .image .icon_zoom img {
          max-width: 20px;
          width: 66.67%;
          line-height: 0; }
      .sec03_wrap .sec03_box .sec03_box_inner .image_box .image::after {
        content: "";
        display: block;
        position: absolute;
        inset: 0;
        z-index: 1;
        border: 1px solid #cccccc;
        pointer-events: none; }
    .sec03_wrap .sec03_box .sec03_box_inner .image_box .cap_r {
      margin-top: 3px; }

.modal_cont {
  position: fixed;
  inset: 0;
  opacity: 0;
  transition: 0.6s opacity ease-in-out 0s;
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 999; }
  .modal_cont .modal_bg {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.8); }
  body.modal_open .modal_cont {
    opacity: 1;
    pointer-events: all; }
  .modal_cont .modal_inner {
    position: absolute;
    inset: 0;
    max-width: 1200px;
    width: calc(100% - 40px);
    max-height: calc(100vh - 80px);
    margin: auto;
    z-index: 1; }
    @media screen and (max-width: 480px) {
      .modal_cont .modal_inner {
        width: calc(100% - 20px);
        max-height: calc(100vh - 200px); } }
  .modal_cont .modal {
    background: #FFF;
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
    transform: translateY(20px);
    transition: 0.3s opacity ease-in-out 0s,0.3s transform ease-in-out 0s; }
    .modal_cont .modal.active {
      opacity: 1;
      transform: translateY(0);
      pointer-events: all;
      transition: 0.3s opacity ease-in-out 0.3s,0.3s transform ease-in-out 0.3s; }
    .modal_cont .modal .modal_box {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%;
      overflow-y: auto; }
    .modal_cont .modal .modal_image_car {
      max-width: 694px;
      width: 57.84%;
      margin-inline: auto; }
      @media screen and (max-width: 480px) {
        .modal_cont .modal .modal_image_car {
          width: calc(100% - 30px); } }
    .modal_cont .modal .modal_image_bus {
      max-width: 624px;
      width: 52%;
      margin-inline: auto; }
      @media screen and (max-width: 480px) {
        .modal_cont .modal .modal_image_bus {
          width: calc(100% - 30px); } }
  .modal_cont .modal_close {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    color: #FFF;
    line-height: 1;
    background: #000;
    cursor: pointer; }
    @media screen and (max-width: 480px) {
      .modal_cont .modal_close {
        width: 40px;
        height: 40px;
        font-size: 20px; } }
