/*! Writen  by SCSS */
@media screen and (max-width: 1700px) {
  .vpc1700 {
    display: none; } }
@media not screen, screen and (min-width: 1701px) {
  .vsp1700 {
    display: none; } }
div.wrap {
  padding-top: 0 !important; }

.contents_wrap img {
  width: 100%; }

.min_img {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 480px) {
    .min_img {
      flex-direction: column;
      gap: 15px; } }
  .min_img li {
    width: calc(290% / 8.9);
    position: relative; }
    @media screen and (max-width: 480px) {
      .min_img li {
        width: 100%; } }
    .min_img li .txt {
      position: absolute;
      inset: 0;
      padding: 10px 20px;
      display: flex; }
      @media screen and (max-width: 480px) {
        .min_img li .txt {
          padding: 5px 10px; } }
      .min_img li .txt.bt {
        align-items: flex-end; }
      .min_img li .txt p {
        color: #fff;
        font-size: clamp(18px, calc(30vw / 10.8), 30px);
        line-height: 1;
        letter-spacing: 0.04em;
        font-weight: 400;
        text-shadow: 0 0 8px rgba(0, 0, 0, 0.8); }
        @media screen and (max-width: 480px) {
          .min_img li .txt p {
            font-size: calc(24vw / 3.9);
            text-shadow: 0 0 7px black;
            line-height: 1.2; } }
        .min_img li .txt p .s {
          font-size: 90%; }
        .min_img li .txt p .l {
          font-size: 140%; }

.sec .sec_ttl_en,
.sec .sec_ttl_ja {
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.8), 0 0 8px rgba(0, 0, 0, 0.8); }

.sec01 .img120 {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 480px) {
    .sec01 .img120 img {
      width: 500px;
      max-width: 500px; } }
.sec01 .mi_ttl {
  font-size: clamp(10px, calc(12vw / 8.9), 12px);
  font-size: clamp(10px, calc(14vw / 17), 14px);
  line-height: 1;
  letter-spacing: 0.04em;
  font-weight: 600;
  padding-bottom: 0.5em;
  border-bottom: solid 1px #333;
  margin-bottom: 0.8em; }
  @media screen and (max-width: 480px) {
    .sec01 .mi_ttl {
      font-size: calc(13vw / 3.9); } }
.sec01 .min_box {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 1.49%; }
  @media screen and (max-width: 1500px) {
    .sec01 .min_box {
      gap: 20px 2%; } }
  @media screen and (max-width: 480px) {
    .sec01 .min_box {
      gap: 20px 4%; } }
  .sec01 .min_box li {
    width: calc(207% / 8.9);
    width: 23.88%; }
    @media screen and (max-width: 1500px) {
      .sec01 .min_box li {
        width: 32%; } }
    @media screen and (max-width: 480px) {
      .sec01 .min_box li {
        width: 48%; } }
    .sec01 .min_box li .min {
      display: flex;
      align-items: baseline;
      font-size: clamp(9px, calc(11vw / 8.9), 11px);
      font-size: clamp(9px, calc(15vw / 17), 15px);
      font-size: clamp(9px, 0.79vw, 15px);
      line-height: 1.2;
      letter-spacing: 0.03em; }
      @media screen and (max-width: 1500px) {
        .sec01 .min_box li .min {
          font-size: 1.2vw; } }
      @media screen and (max-width: 480px) {
        .sec01 .min_box li .min {
          font-size: calc(11.5vw / 3.9);
          font-size: 2.9vw;
          justify-content: space-between; } }
      .sec01 .min_box li .min::after {
        content: "";
        order: 2;
        display: block;
        flex: 1;
        margin-inline: 5px;
        height: 0.45em;
        border-top: dotted 2px #333; }
        @media screen and (max-width: 1700px) {
          .sec01 .min_box li .min::after {
            border-top: dotted 2px #333;
            height: 0.25em; } }
        @media screen and (max-width: 480px) {
          .sec01 .min_box li .min::after {
            display: none;
            height: 0.45em;
            margin-inline: 3px; } }
      .sec01 .min_box li .min .m1 {
        order: 1; }
        .sec01 .min_box li .min .m1 .l {
          font-size: 125%; }
      .sec01 .min_box li .min .m2 {
        order: 3;
        text-align: right; }
        .sec01 .min_box li .min .m2 .l {
          font-size: 180%; }
        .sec01 .min_box li .min .m2 .c {
          color: #ad061c; }
        .sec01 .min_box li .min .m2 .s2 {
          font-size: 80%; }
    .sec01 .min_box li .min_cap {
      font-size: clamp(8px, calc(13vw / 17), 13px);
      font-size: clamp(8px, calc(12vw / 17), 12px);
      line-height: 1.5;
      margin-top: 0.7em;
      border-top: solid 1px #333;
      padding-top: 0.8em; }
      @media screen and (max-width: 480px) {
        .sec01 .min_box li .min_cap {
          font-size: calc(11vw / 3.9);
          font-size: calc(9.5vw / 3.9); } }

.sec02 .sec_ttl_en {
  font-size: clamp(17px, calc(45vw / 10.8), 45px); }
  @media screen and (max-width: 480px) {
    .sec02 .sec_ttl_en {
      font-size: calc(27vw / 3.9); } }
.sec02 .sec_ttl_ja {
  font-size: clamp(13px, calc(22vw / 10.8), 22px); }
  @media screen and (max-width: 480px) {
    .sec02 .sec_ttl_ja {
      font-size: calc(16vw / 3.9); } }
.sec02 .t3 {
  font-size: clamp(14px, calc(25vw / 10.8), 25px);
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
  font-weight: 600; }
  @media screen and (max-width: 480px) {
    .sec02 .t3 {
      font-size: calc(15vw / 3.9);
      font-size: calc(16vw / 3.9); } }
.sec02 .img3 {
  margin-bottom: 40px;
  display: grid;
  grid-template-columns: calc(525% / 8.9) calc(357% / 8.9);
  grid-template-rows: repeat(2, auto);
  grid-column-gap: calc(8% / 8.9);
  grid-row-gap: 8px; }
  @media screen and (max-width: 480px) {
    .sec02 .img3 {
      margin-bottom: 30px;
      margin-bottom: 50px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 6px; } }
  .sec02 .img3 li {
    position: relative; }
    @media screen and (max-width: 480px) {
      .sec02 .img3 li {
        width: calc(50% - 3px); } }
    .sec02 .img3 li:nth-child(1) {
      grid-row: span 2 / span 2; }
      @media screen and (max-width: 480px) {
        .sec02 .img3 li:nth-child(1) {
          width: 100%; } }
    .sec02 .img3 li .txt {
      position: absolute;
      inset: 0;
      padding: 20px 30px;
      display: flex; }
      @media screen and (max-width: 480px) {
        .sec02 .img3 li .txt {
          padding: 5px 10px; } }
      .sec02 .img3 li .txt.reverse {
        justify-content: flex-end; }
        @media screen and (max-width: 480px) {
          .sec02 .img3 li .txt.reverse {
            justify-content: flex-start; } }
        .sec02 .img3 li .txt.reverse p {
          text-align: end; }
          @media screen and (max-width: 480px) {
            .sec02 .img3 li .txt.reverse p {
              text-align: start; } }
      .sec02 .img3 li .txt p {
        color: #fff;
        font-size: clamp(18px, calc(30vw / 10.8), 30px);
        line-height: 1.3;
        letter-spacing: 0.04em;
        font-weight: 400;
        text-shadow: 0 0 15px black; }
        @media screen and (max-width: 480px) {
          .sec02 .img3 li .txt p {
            font-size: calc(13vw / 3.9);
            text-shadow: 0 0 7px black;
            line-height: 1.2;
            text-shadow: 0px 0px 0px rgba(0, 0, 0, 0.7), 0px 0px 1px rgba(0, 0, 0, 0.7), 0px 0px 2px rgba(0, 0, 0, 0.7), 0px 0px 3px rgba(0, 0, 0, 0.7), 0px 0px 4px rgba(0, 0, 0, 0.7), 0px 0px 5px rgba(0, 0, 0, 0.7), 0px 0px 6px rgba(0, 0, 0, 0.7), 0px 0px 7px rgba(0, 0, 0, 0.7), 0px 0px 8px rgba(0, 0, 0, 0.7), 0px 0px 9px rgba(0, 0, 0, 0.7), 0px 0px 10px rgba(0, 0, 0, 0.7); } }
        .sec02 .img3 li .txt p .s {
          font-size: 78%; }
        .sec02 .img3 li .txt p .l {
          font-size: 140%; }
        .sec02 .img3 li .txt p .xl {
          font-size: 160%;
          display: inline-block;
          line-height: 1.1;
          margin-bottom: 5px; }
        .sec02 .img3 li .txt p .txt_cap {
          display: block;
          font-size: 60%; }
        .sec02 .img3 li .txt p .l span, .sec02 .img3 li .txt p .xl span {
          font-size: 52%; }
@media screen and (max-width: 600px) {
  .sec02 .sp_wide {
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40) px; } }

/*# sourceMappingURL=access.css.map */
