/*! Writen  by SCSS */
.main .main_img {
  position: relative;
  aspect-ratio: 1920/1080; }
  @media screen and (max-width: 480px) {
    .main .main_img {
      aspect-ratio: 48/60; } }
  .main .main_img.s1 .img02 {
    opacity: 1; }
  .main .main_img.s2 .img03 {
    opacity: 1; }
  .main .main_img.main_end .img04 {
    opacity: 1; }
  .main .main_img .img {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: all 1.25s ease-in-out 0s; }
    .main .main_img .img.img01 {
      opacity: 1; }
.main .main_swiper {
  position: relative; }
.main .swiper-pagination-bullet-active {
  background: #526e9d !important;
  opacity: 1 !important; }
.main .main_txt {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: baseline;
  background: #526e9d;
  color: #fff;
  padding: 25px 20px 20px; }
  @media screen and (max-width: 480px) {
    .main .main_txt {
      padding: 20px; } }
  .main .main_txt .item {
    position: relative;
    padding: 0 clamp(10px, 1vw, 20px); }
    @media screen and (max-width: 480px) {
      .main .main_txt .item {
        border-bottom: 1px solid #fff;
        padding-bottom: 15px;
        margin-bottom: 20px;
        width: 100%;
        text-align: center; } }
    @media screen and (max-width: 820px) {
      .main .main_txt .item:not(:first-child) {
        width: 45%; } }
    @media screen and (max-width: 480px) {
      .main .main_txt .item:not(:first-child) {
        width: 100%; } }
    .main .main_txt .item:not(.item01, .item05) {
      border-right: 1px solid #fff; }
      @media screen and (max-width: 480px) {
        .main .main_txt .item:not(.item01, .item05) {
          border-right: none; } }
    @media screen and (max-width: 820px) {
      .main .main_txt .item.item03 {
        border-right: none; } }
    .main .main_txt .item:nth-last-child(1) {
      margin-bottom: 0;
      border-bottom: none;
      padding-bottom: 0; }
    .main .main_txt .item .merit_ttl {
      font-size: clamp(18px, 1.701vw, 34px);
      text-align: center; }
      @media screen and (max-width: 820px) {
        .main .main_txt .item .merit_ttl {
          font-size: 3.4vw; } }
      @media screen and (max-width: 480px) {
        .main .main_txt .item .merit_ttl {
          font-size: 5.4vw;
          line-height: 1.6; } }
    .main .main_txt .item .text {
      position: relative;
      font-size: clamp(18px, 1.5vw, 30px);
      line-height: 1; }
      @media screen and (max-width: 820px) {
        .main .main_txt .item .text {
          width: fit-content;
          margin: 0 auto; } }
      .main .main_txt .item .text span {
        display: inline-block;
        line-height: 1; }
        .main .main_txt .item .text span.big {
          font-size: 250%;
          line-height: 1.2;
          transform: translateY(3px); }
          @media screen and (max-width: 480px) {
            .main .main_txt .item .text span.big {
              font-size: 180%;
              transform: translateY(0); } }
        .main .main_txt .item .text span.big02 {
          font-size: 135%; }
        .main .main_txt .item .text span.min {
          font-size: 85%; }
        .main .main_txt .item .text span.min02 {
          font-size: 65%;
          position: absolute;
          left: 0;
          top: 4px;
          letter-spacing: -0.025em; }
          @media screen and (max-width: 820px) {
            .main .main_txt .item .text span.min02 {
              font-size: 70%; } }
          @media screen and (max-width: 480px) {
            .main .main_txt .item .text span.min02 {
              top: -7px; } }
    .main .main_txt .item.item01 {
      width: 100%;
      padding-bottom: 15px;
      margin-bottom: 15px;
      text-align: center;
      border-bottom: 1px solid #fff;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 480px) {
        .main .main_txt .item.item01 {
          margin-bottom: 20px; } }
    .main .main_txt .item.item04 .text span.cen {
      font-size: 120%;
      vertical-align: super;
      display: inline-block;
      transform: translateX(-3px); }
    @media screen and (max-width: 480px) {
      .main .main_txt .item.item05 {
        margin-top: -5px; } }
    .main .main_txt .item.item05 .text {
      font-size: clamp(20px, 1.6vw, 32px); }
      @media screen and (max-width: 480px) {
        .main .main_txt .item.item05 .text span.min02 {
          top: -2px; } }

.info {
  padding: 80px 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  row-gap: clamp(30px, 3.334vw, 40px); }
  @media screen and (max-width: 480px) {
    .info {
      padding: 50px 0;
      row-gap: 25px; } }
  .info .item_en {
    font-size: clamp(30px, 2.5vw, 50px);
    letter-spacing: 0.1em;
    line-height: 1; }
  .info .txt {
    font-size: clamp(24px, 3.334vw, 40px); }
    .info .txt .min {
      font-size: 50%;
      display: block; }
  .info .btn {
    display: block;
    width: fit-content;
    padding: 0px 30px;
    color: #fff;
    font-size: clamp(16px, 2vw, 24px);
    letter-spacing: 0.1em;
    margin-inline: auto;
    background: #99935a;
    line-height: 1;
    padding: 10px 30px; }

.bg {
  background: url("../images/top/bg.jpg") center center/cover no-repeat; }

.sec_concept {
  padding: clamp(100px, 13.334vw, 160px) 0 0;
  margin-bottom: clamp(80px, 25vw, 300px);
  color: #fff;
  letter-spacing: 0.1em; }
  .sec_concept .inner_1400 {
    max-width: 1400px; }
  .sec_concept .item_en {
    font-size: clamp(24px, 2vw, 40px);
    margin-bottom: clamp(20px, 11.667vw, 140px);
    letter-spacing: 0.15em; }
    @media screen and (max-width: 480px) {
      .sec_concept .item_en {
        margin-bottom: 50px; } }
  .sec_concept .text_wrap {
    display: flex;
    flex-direction: column;
    row-gap: clamp(30px, 5.834vw, 70px); }
    .sec_concept .text_wrap :not(.txt) {
      line-height: 1; }
    .sec_concept .text_wrap .ttl_en {
      font-size: clamp(40px, 13.834vw, 166px); }
      @media screen and (max-width: 480px) {
        .sec_concept .text_wrap .ttl_en {
          font-size: 50px; } }
    .sec_concept .text_wrap .ttl {
      font-size: clamp(20px, 2vw, 40px); }
    .sec_concept .text_wrap .txt {
      font-size: clamp(14px, 1.5vw, 30px);
      line-height: 2.67; }
      @media screen and (max-width: 480px) {
        .sec_concept .text_wrap .txt {
          line-height: 1.8;
          line-height: 2.2;
          margin-inline: -20px; } }

.sec_cont {
  display: flex;
  flex-direction: column;
  row-gap: clamp(80px, 20vw, 240px); }
  .sec_cont .sec {
    position: relative;
    display: flex;
    align-items: flex-start;
    column-gap: 6.25%; }
    @media screen and (max-width: 480px) {
      .sec_cont .sec {
        flex-direction: column !important;
        width: calc(100% - 40px);
        margin-inline: auto;
        row-gap: 30px; } }
    .sec_cont .sec.rr {
      flex-direction: row-reverse; }
    @media screen and (max-width: 480px) {
      .sec_cont .sec .img_wrap {
        width: 100% !important; } }
    .sec_cont .sec .text_group {
      width: fit-content;
      margin-top: clamp(60px, 8.5vw, 170px); }
      @media screen and (max-width: 480px) {
        .sec_cont .sec .text_group {
          margin-top: 0;
          text-align: left; } }
      body:not(.mobile) .sec_cont .sec .text_group:hover .view_more:before {
        transform-origin: left top;
        transform: scale(1, 1); }
      body:not(.mobile) .sec_cont .sec .text_group:hover .view_more::after {
        transform: skewX(45deg) translate(5px, 0px); }
      .sec_cont .sec .text_group .ttl {
        font-size: clamp(24px, 2.211vw, 42px);
        line-height: 1.67;
        margin-bottom: 0.75em; }
        @media screen and (max-width: 820px) {
          .sec_cont .sec .text_group .ttl {
            font-size: 2.5vw; } }
        @media screen and (max-width: 480px) {
          .sec_cont .sec .text_group .ttl {
            font-size: 5.4vw; } }
      .sec_cont .sec .text_group .view_more {
        display: block;
        position: relative;
        width: fit-content;
        letter-spacing: 0.2em;
        font-size: clamp(14px, 1.313vw, 21px);
        display: flex;
        column-gap: 3px;
        align-items: center; }
        @media screen and (max-width: 480px) {
          .sec_cont .sec .text_group .view_more {
            margin-left: 0 !important;
            margin-right: 0 !important; } }
        .sec_cont .sec .text_group .view_more.right {
          margin-left: auto;
          margin-right: 5px; }
        .sec_cont .sec .text_group .view_more:before {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          bottom: -5px;
          width: calc(100% + 10px);
          background: #000;
          height: 1px;
          transform: scale(0, 1);
          transform-origin: right top;
          transition: transform .3s ease-in-out 0s; }
        .sec_cont .sec .text_group .view_more::after {
          content: "";
          display: block;
          margin: 0;
          padding: 0;
          border: none;
          border-bottom: solid 1px #000;
          border-right: solid 1px #000;
          margin-top: -4px;
          height: 6px;
          width: 30px;
          transform: skewX(45deg);
          transition: 0.3s all ease-in-out 0s; }
    .sec_cont .sec .head_en {
      position: absolute;
      font-size: clamp(60px, 10.527vw, 200px);
      color: #b6cdeb;
      color: #6E9DD4;
      line-height: 0.7; }
      @media screen and (max-width: 480px) {
        .sec_cont .sec .head_en {
          position: relative;
          order: -1; } }
  .sec_cont .sec_loc {
    justify-content: flex-end;
    align-items: flex-start; }
    .sec_cont .sec_loc .text_group {
      width: 22.4%; }
      @media screen and (max-width: 820px) {
        .sec_cont .sec_loc .text_group {
          width: 25%; } }
      @media screen and (max-width: 480px) {
        .sec_cont .sec_loc .text_group {
          width: 100%; } }
    .sec_cont .sec_loc .img_wrap {
      width: 64.07%;
      display: grid;
      grid-template-columns: 36.83% 62.12%;
      align-items: flex-start;
      align-content: start;
      justify-content: space-between;
      grid-auto-flow: dense;
      row-gap: 11px; }
      @media screen and (max-width: 480px) {
        .sec_cont .sec_loc .img_wrap {
          width: 100%;
          gap: 4px; } }
      .sec_cont .sec_loc .img_wrap .img01 {
        grid-row: span 2; }
      .sec_cont .sec_loc .img_wrap .img03 {
        width: 82.6%; }
    .sec_cont .sec_loc .head_en {
      left: 7.82%;
      bottom: 0;
      color: #fff; }
      @media screen and (max-width: 480px) {
        .sec_cont .sec_loc .head_en {
          left: 0; } }
  .sec_cont .sec_acc {
    justify-content: flex-end;
    column-gap: 11.98%; }
    .sec_cont .sec_acc .img_wrap {
      width: 61.98%; }
      .sec_cont .sec_acc .img_wrap .img {
        width: 49%; }
    .sec_cont .sec_acc .head_en {
      right: 5.21%;
      bottom: 0; }
      @media screen and (max-width: 480px) {
        .sec_cont .sec_acc .head_en {
          right: 0;
          color: #fff; } }
  .sec_cont .sec_pla {
    width: fit-content;
    margin-left: auto;
    flex-direction: column;
    width: 91.05%;
    row-gap: clamp(30px, 6.667vw, 80px); }
    @media screen and (max-width: 820px) {
      .sec_cont .sec_pla {
        row-gap: 30px; } }
    .sec_cont .sec_pla .img_wrap .img {
      width: 91.05%;
      width: 76%;
      margin-left: auto; }
      @media screen and (max-width: 480px) {
        .sec_cont .sec_pla .img_wrap .img {
          margin-right: -20px;
          width: calc(70% + 20px);
          aspect-ratio: 1400/900; }
          .sec_cont .sec_pla .img_wrap .img img {
            width: 100%;
            height: 100%;
            object-fit: cover; } }
    .sec_cont .sec_pla .img_wrap .head_en {
      left: 0;
      bottom: 0; }
      @media screen and (max-width: 480px) {
        .sec_cont .sec_pla .img_wrap .head_en {
          position: absolute; } }
    .sec_cont .sec_pla .text_group {
      margin-top: 0; }
  .sec_cont .sec_qua {
    max-width: 1650px;
    justify-content: space-between;
    column-gap: 0;
    margin-bottom: clamp(60px, 8.334vw, 100px); }
    @media screen and (max-width: 480px) {
      .sec_cont .sec_qua {
        margin-bottom: 0; } }
    .sec_cont .sec_qua .img_wrap {
      width: 65.88%;
      /*.img {
      	width: cal_per(1087,536);
      }*/ }
    .sec_cont .sec_qua .head_en {
      left: 0;
      bottom: 0; }

.caption_area {
  max-width: 1500px;
  margin-inline: auto;
  border-bottom: 1px solid #000;
  padding-bottom: clamp(30px, 5vw, 60px); }

/*# sourceMappingURL=top.css.map */
