@charset "UTF-8";
/*! Writen  by SCSS */
video {
  width: 100%;
  display: block;
  height: 100%;
  object-fit: cover; }

body {
  color: #fff;
  letter-spacing: 0.1em; }

.inner {
  max-width: 1000px; }

.lead_big {
  font-size: clamp(16px, 2.4vw, 24px);
  margin-bottom: 1em;
  letter-spacing: 0.1em; }

.lead {
  font-size: clamp(16px, 2vw, 20px);
  margin-bottom: 1em;
  letter-spacing: 0.1em; }
  .lead.ls {
    letter-spacing: 0.3em;
    color: #ce9c5b; }

/*.lead {
	font-size: clamp_gm(16,1000,24);
}*/
.lead_min {
  font-size: clamp(14px, 1.6vw, 16px);
  letter-spacing: 0.1em; }

.read {
  font-size: clamp(12px, 1.167vw, 14px);
  line-height: 2;
  letter-spacing: 0.1em; }
  .read.flex {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    row-gap: 1em; }

.icon_txt {
  position: relative;
  width: 100%;
  max-width: 200px;
  background: #866539;
  margin-inline: auto;
  font-size: clamp(14px, 1.334vw, 16px);
  line-height: 1;
  padding: .5em 0;
  margin-bottom: clamp(30px, 3.334vw, 40px); }
  @media screen and (max-width: 480px) {
    .icon_txt {
      width: 150px; } }
  .icon_txt.border::after {
    content: '';
    position: absolute;
    inset: -4px;
    border: 1px solid #866539;
    pointer-events: none; }

.sec01 {
  position: relative;
  padding-top: 30px;
  background: url("../images/top/bg.jpg") center center/cover no-repeat; }
  .sec01::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 66.63%;
    mix-blend-mode: multiply;
    background: url("../images/top/bg01.png") center center/cover no-repeat;
    aspect-ratio: 1279/700;
    pointer-events: none; }
  .sec01 .inner {
    position: relative; }
    @media screen and (max-width: 480px) {
      .sec01 .inner {
        width: 100%; } }
  .sec01 .icon01 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    transform: translateY(-50%); }
    @media screen and (max-width: 480px) {
      .sec01 .icon01 {
        width: 100px;
        transform: translateY(0%);
        right: 10px;
        top: auto;
        bottom: calc(100% + 40px); } }
  .sec01 .sec01_wrap {
    margin-bottom: clamp(40px, 3.75vw, 45px); }
    @media screen and (max-width: 480px) {
      .sec01 .sec01_wrap {
        margin-bottom: 50px; } }
    .sec01 .sec01_wrap .ttl_img {
      margin-bottom: 30px; }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_wrap .ttl_img {
          width: 80%;
          margin-inline: auto;
          transform: translate(5px, 0px); } }
  .sec01 .bg_wrap {
    position: relative;
    padding: clamp(50px, 5vw, 60px) 20px clamp(80px, 12.5vw, 150px); }
    .sec01 .bg_wrap .bg_in {
      display: flex;
      flex-direction: column;
      row-gap: 50px; }
    .sec01 .bg_wrap::before {
      content: '';
      position: absolute;
      inset: 0;
      background: #fff;
      mix-blend-mode: overlay;
      pointer-events: none; }
    .sec01 .bg_wrap .inner {
      max-width: 770px; }
    .sec01 .bg_wrap .ttl_wrap {
      text-align: center;
      line-height: 1; }
      .sec01 .bg_wrap .ttl_wrap .en_ttl {
        font-size: clamp(30px, 3.667vw, 44px);
        margin-bottom: 0.5em; }
    .sec01 .bg_wrap .wrap01 {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      row-gap: 25px; }
      .sec01 .bg_wrap .wrap01 .ttl {
        border: 1px solid #fff;
        line-height: 1;
        padding: 10px;
        text-align: center;
        width: 100%;
        letter-spacing: 0.3em; }
        @media screen and (max-width: 480px) {
          .sec01 .bg_wrap .wrap01 .ttl {
            line-height: 1.4; } }
      .sec01 .bg_wrap .wrap01 .img {
        width: 61.95%; }
        @media screen and (max-width: 480px) {
          .sec01 .bg_wrap .wrap01 .img {
            width: 100%; } }
      .sec01 .bg_wrap .wrap01 .text_wrap {
        width: 36.37%;
        flex-direction: column;
        row-gap: 20px; }
        @media screen and (max-width: 480px) {
          .sec01 .bg_wrap .wrap01 .text_wrap {
            width: 100%;
            text-align: center;
            row-gap: 20px; } }
        .sec01 .bg_wrap .wrap01 .text_wrap .txt_img {
          display: flex;
          flex-direction: column;
          row-gap: clamp(10px, 1.667vw, 20px); }
          @media screen and (max-width: 480px) {
            .sec01 .bg_wrap .wrap01 .text_wrap .txt_img {
              row-gap: 30px;
              align-items: center; } }
          .sec01 .bg_wrap .wrap01 .text_wrap .txt_img a {
            display: block;
            width: fit-content;
            margin-inline: auto; }
          .sec01 .bg_wrap .wrap01 .text_wrap .txt_img img {
            width: fit-content; }
        .sec01 .bg_wrap .wrap01 .text_wrap .cap_l {
          font-size: 10px;
          letter-spacing: -0.04em; }
          @media screen and (max-width: 480px) {
            .sec01 .bg_wrap .wrap01 .text_wrap .cap_l {
              max-width: 280px;
              margin-inline: auto; } }
    @media screen and (max-width: 480px) {
      .sec01 .bg_wrap .wrap02 {
        flex-direction: column;
        row-gap: 20px; } }
    .sec01 .bg_wrap .wrap02 .text_wrap {
      width: 37.67%; }
      @media screen and (max-width: 480px) {
        .sec01 .bg_wrap .wrap02 .text_wrap {
          width: 100%;
          text-align: center; } }
      .sec01 .bg_wrap .wrap02 .text_wrap .read {
        display: flex;
        flex-direction: column;
        row-gap: 1em;
        margin-right: -21.3%; }
        @media screen and (max-width: 480px) {
          .sec01 .bg_wrap .wrap02 .text_wrap .read {
            margin-right: 0; } }
    .sec01 .bg_wrap .wrap02 .icon_wrap {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      align-items: flex-start;
      align-content: flex-start;
      width: 61.56%;
      column-gap: 4.22%;
      row-gap: 15px; }
      @media screen and (max-width: 480px) {
        .sec01 .bg_wrap .wrap02 .icon_wrap {
          width: 100%; } }
      .sec01 .bg_wrap .wrap02 .icon_wrap .icon {
        position: relative;
        width: 30.38%;
        text-align: center;
        line-height: 1.38;
        aspect-ratio: 1;
        display: grid;
        place-items: center; }
        .sec01 .bg_wrap .wrap02 .icon_wrap .icon::after {
          content: '';
          position: absolute;
          inset: 0;
          border: 20px solid #e1ffa0;
          mix-blend-mode: overlay;
          pointer-events: none;
          border-radius: 50%; }
        .sec01 .bg_wrap .wrap02 .icon_wrap .icon:nth-child(4)::after {
          border-color: #f0c9ff; }
        .sec01 .bg_wrap .wrap02 .icon_wrap .icon:nth-child(5)::after {
          border-color: #ffd18a; }
    .sec01 .bg_wrap .wrap03 {
      display: flex;
      flex-direction: column; }
      .sec01 .bg_wrap .wrap03 .item {
        display: flex;
        column-gap: 3.9%;
        justify-content: flex-end;
        padding-bottom: 40px;
        overflow: hidden; }
        @media screen and (max-width: 480px) {
          .sec01 .bg_wrap .wrap03 .item {
            flex-direction: column; } }
        .sec01 .bg_wrap .wrap03 .item:nth-last-child(1) {
          padding-bottom: 0; }
        @media screen and (min-width: 960px) {
          .sec01 .bg_wrap .wrap03 .item:nth-child(2n) {
            flex-direction: row-reverse; } }
        .sec01 .bg_wrap .wrap03 .item:nth-child(2) .lead {
          line-height: 4; }
          @media screen and (max-width: 480px) {
            .sec01 .bg_wrap .wrap03 .item:nth-child(2) .lead {
              line-height: 1; } }
          .sec01 .bg_wrap .wrap03 .item:nth-child(2) .lead::after {
            left: 50%; }
        .sec01 .bg_wrap .wrap03 .item .ttl {
          letter-spacing: 0.3em;
          line-height: 2;
          position: relative;
          margin-bottom: 0; }
          @media screen and (min-width: 960px) {
            .sec01 .bg_wrap .wrap03 .item .ttl {
              -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl; } }
          @media screen and (max-width: 480px) {
            .sec01 .bg_wrap .wrap03 .item .ttl {
              display: flex;
              justify-content: space-between;
              column-gap: 5px;
              align-items: center;
              line-height: 1;
              margin-bottom: 1em;
              letter-spacing: 0.1em; } }
          .sec01 .bg_wrap .wrap03 .item .ttl::after {
            content: '';
            width: 1px;
            height: 100%;
            background: #fff;
            pointer-events: none;
            position: absolute;
            left: 25%;
            transform: translate(0, 15px);
            display: inline-block; }
            @media screen and (max-width: 480px) {
              .sec01 .bg_wrap .wrap03 .item .ttl::after {
                width: 100%;
                height: 1px;
                position: revert;
                transform: translate(0, 0); } }
          @media screen and (max-width: 480px) {
            .sec01 .bg_wrap .wrap03 .item .ttl span {
              flex-shrink: 0; } }
        .sec01 .bg_wrap .wrap03 .item .img_wrap {
          width: 80.52%; }
          @media screen and (max-width: 480px) {
            .sec01 .bg_wrap .wrap03 .item .img_wrap {
              width: 100%; } }
          .sec01 .bg_wrap .wrap03 .item .img_wrap .txt {
            color: #ce9c5b;
            line-height: 1;
            margin-top: 1em; }
        .sec01 .bg_wrap .wrap03 .item.item03 .ttl {
          max-height: 270px;
          max-height: 390px;
          overflow: hidden; }
        @media screen and (max-width: 480px) {
          .sec01 .bg_wrap .wrap03 .item.item03 .ta_r {
            text-align: left; } }
        .sec01 .bg_wrap .wrap03 .item.item03 .txt03 {
          position: relative;
          font-size: clamp(14px, 1.8vw, 18px);
          padding: clamp(20px, 2.084vw, 25px) 10px;
          color: #ce9c5b; }
          .sec01 .bg_wrap .wrap03 .item.item03 .txt03 span {
            position: relative; }
          .sec01 .bg_wrap .wrap03 .item.item03 .txt03::before {
            content: '';
            position: absolute;
            inset: 0;
            background: #929293;
            pointer-events: none;
            mix-blend-mode: multiply; }

.sec02 {
  position: relative;
  color: #000;
  background: url("../images/top/bg02.jpg") right bottom/cover no-repeat; }
  .sec02 .sec02_inner {
    background: #fff;
    padding-bottom: clamp(30px, 3.334vw, 40px); }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_inner {
        width: 100%;
        background: rgba(255, 255, 255, 0.85);
        padding-bottom: 0; } }
  .sec02 .sec02_wrap {
    max-width: 840px;
    margin-inline: auto; }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_wrap {
        width: calc(100% - 40px);
        margin-inline: auto; } }
  .sec02 .sec02_wrap01 {
    padding-top: 15px; }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_wrap01 {
        padding-top: 50px; } }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_wrap01 .wrap01 {
        flex-direction: column; } }
    .sec02 .sec02_wrap01 .wrap01 .text_wrap {
      width: 41.2%;
      margin-right: -20%;
      margin-top: clamp(30px, 5.834vw, 70px);
      display: flex;
      flex-direction: column;
      row-gap: clamp(13px, 1.667vw, 20px); }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap01 .wrap01 .text_wrap {
          width: 100%;
          margin-right: 0;
          margin-top: 0;
          text-align: center; } }
    .sec02 .sec02_wrap01 .wrap01 .img {
      pointer-events: none;
      width: 74.53%;
      max-width: 626px;
      margin-left: -30%; }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap01 .wrap01 .img {
          width: 100%;
          margin-left: 0;
          margin-top: -15px; } }
    .sec02 .sec02_wrap01 .sec02_list .ttl {
      text-align: center; }
      .sec02 .sec02_wrap01 .sec02_list .ttl .small {
        font-size: 70%;
        vertical-align: baseline; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap01 .sec02_list .ttl .small {
            display: block; } }
      .sec02 .sec02_wrap01 .sec02_list .ttl .orange {
        color: #f5a400; }
      .sec02 .sec02_wrap01 .sec02_list .ttl .blue {
        color: #00a0e9; }
    .sec02 .sec02_wrap01 .sec02_list .item_wrap {
      justify-content: center;
      column-gap: 2.85%; }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap01 .sec02_list .item_wrap {
          column-gap: 0;
          flex-wrap: wrap;
          row-gap: 20px;
          justify-content: space-between; } }
      .sec02 .sec02_wrap01 .sec02_list .item_wrap .item {
        width: 22.86%; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap01 .sec02_list .item_wrap .item {
            width: 48%; } }
        .sec02 .sec02_wrap01 .sec02_list .item_wrap .item .img {
          position: relative;
          margin-bottom: clamp(10px, 1.25vw, 15px); }
          .sec02 .sec02_wrap01 .sec02_list .item_wrap .item .img::after {
            content: '';
            position: absolute;
            right: -5px;
            bottom: -5px;
            width: 100%;
            height: 100%;
            border-right: 2px solid;
            border-bottom: 2px solid;
            pointer-events: none; }
        .sec02 .sec02_wrap01 .sec02_list .item_wrap .item .read {
          text-align: center;
          line-height: 1.4; }
          .sec02 .sec02_wrap01 .sec02_list .item_wrap .item .read .small {
            display: block;
            font-size: 80%; }
      .sec02 .sec02_wrap01 .sec02_list .item_wrap.orange .item .img::after {
        border-color: #f5a400; }
      .sec02 .sec02_wrap01 .sec02_list .item_wrap.blue .item .img::after {
        border-color: #00a0e9; }
    .sec02 .sec02_wrap01 .sec02_list01 {
      margin-top: clamp(-80px, -9.52%, -10px); }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap01 .sec02_list01 {
          margin-top: 0; } }
  .sec02 .sec02_wrap02 {
    margin-bottom: clamp(50px, 7.084vw, 85px); }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_wrap02 {
        width: calc(100% - 40px);
        margin-inline: auto; } }
    .sec02 .sec02_wrap02 .ttl_wrap01 {
      margin-bottom: clamp(40px, 5vw, 60px); }
      .sec02 .sec02_wrap02 .ttl_wrap01 .en_ttl {
        font-size: clamp(20px, 2.834vw, 34px);
        line-height: 1;
        margin-bottom: 0.75em; }
      .sec02 .sec02_wrap02 .ttl_wrap01 .lead {
        line-height: 1;
        letter-spacing: 0.2em; }
    .sec02 .sec02_wrap02 .item_cont .item {
      display: grid;
      align-items: flex-start;
      align-content: start;
      grid-auto-flow: dense;
      margin-bottom: clamp(50px, 8.334vw, 100px); }
      .sec02 .sec02_wrap02 .item_cont .item:nth-last-child(1) {
        margin-bottom: 0; }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap02 .item_cont .item {
          row-gap: 20px; } }
      .sec02 .sec02_wrap02 .item_cont .item .main_img {
        /*cursor: pointer;
        transition: opacity 0.3s ease-in-out 0s;
        @include hover{
        	opacity: .8;	
        }*/ }
      .sec02 .sec02_wrap02 .item_cont .item .icon {
        font-size: 0;
        line-height: 1;
        display: inline-block; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item .icon {
            display: none; } }
      .sec02 .sec02_wrap02 .item_cont .item .text_wrap {
        text-align: center;
        line-height: 2.23;
        display: flex;
        flex-direction: column;
        row-gap: clamp(15px, 2.5vw, 30px);
        align-items: center; }
        .sec02 .sec02_wrap02 .item_cont .item .text_wrap .ttl_img {
          position: relative;
          display: flex;
          flex-direction: column;
          row-gap: 5px;
          margin-inline: auto; }
          .sec02 .sec02_wrap02 .item_cont .item .text_wrap .ttl_img .ja {
            display: block;
            line-height: 1;
            font-size: clamp(11px, 1vw, 12px); }
      .sec02 .sec02_wrap02 .item_cont .item .lead_min {
        line-height: 1.1; }
        .sec02 .sec02_wrap02 .item_cont .item .lead_min .small {
          font-size: 75%;
          display: inline-block; }
    .sec02 .sec02_wrap02 .item_cont .item01 {
      column-gap: 7.5%;
      grid-template-columns: 27.2% 56.6%;
      justify-content: flex-end;
      row-gap: clamp(20px, 3.334vw, 40px);
      margin-bottom: 0; }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap02 .item_cont .item01 {
          grid-template-columns: 1fr;
          margin-bottom: 50px; } }
      .sec02 .sec02_wrap02 .item_cont .item01 .text_wrap .ttl_img {
        width: 72.06%;
        margin-inline: auto; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item01 .text_wrap .ttl_img {
            width: 49%; } }
      .sec02 .sec02_wrap02 .item_cont .item01 .text_wrap .obj {
        display: block;
        position: relative;
        width: 1px;
        height: 48px;
        background: #000; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item01 .text_wrap .obj {
            display: none; } }
      .sec02 .sec02_wrap02 .item_cont .item01 .img01 {
        grid-row: span 2; }
        .sec02 .sec02_wrap02 .item_cont .item01 .img01 .movie01 {
          position: relative;
          aspect-ratio: 566/380; }
          .sec02 .sec02_wrap02 .item_cont .item01 .img01 .movie01::after {
            content: '';
            width: 50.69%;
            aspect-ratio: 294/30;
            position: absolute;
            right: 0;
            top: 0;
            background: #fff;
            pointer-events: none; }
        .sec02 .sec02_wrap02 .item_cont .item01 .img01 .txt_img {
          display: inline-block;
          margin-top: clamp(15px, 2.084vw, 25px); }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .item_cont .item01 .img01 .txt_img {
              display: none; } }
      .sec02 .sec02_wrap02 .item_cont .item01 .img02 {
        display: flex;
        align-items: center;
        flex-direction: column;
        row-gap: clamp(20px, 2.5vw, 30px); }
    .sec02 .sec02_wrap02 .item_cont .item02 {
      grid-template-columns: 60% 30.6%;
      column-gap: 0.84%;
      align-items: flex-end;
      margin-top: clamp(-85px, -7.08%, -10px); }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap02 .item_cont .item02 {
          margin-top: 0;
          grid-template-columns: 1fr; } }
      .sec02 .sec02_wrap02 .item_cont .item02 .text_wrap {
        align-items: flex-end;
        text-align: right;
        margin-bottom: clamp(20px, 2.5vw, 30px); }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item02 .text_wrap {
            text-align: center;
            align-items: center;
            margin-bottom: 0; } }
        .sec02 .sec02_wrap02 .item_cont .item02 .text_wrap .ttl_img {
          margin-inline: 0; }
      .sec02 .sec02_wrap02 .item_cont .item02 .img01 {
        grid-column: 1/2;
        grid-row: 1/4;
        position: relative;
        aspect-ratio: 600/340; }
        .sec02 .sec02_wrap02 .item_cont .item02 .img01::after {
          content: '';
          width: 61.67%;
          aspect-ratio: 370/30;
          position: absolute;
          right: 0;
          top: 0;
          background: #fff;
          pointer-events: none; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item02 .img01 {
            grid-column: span 1;
            grid-row: span 1; } }
      .sec02 .sec02_wrap02 .item_cont .item02 .img02 {
        display: flex;
        flex-direction: column;
        row-gap: clamp(15px, 2.084vw, 25px);
        margin-bottom: clamp(30px, 3.75vw, 45px); }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item02 .img02 {
            margin-bottom: 0; } }
        .sec02 .sec02_wrap02 .item_cont .item02 .img02 .icon {
          padding-left: 6.54%; }
      .sec02 .sec02_wrap02 .item_cont .item02 .txt_img {
        line-height: 1;
        font-size: 0;
        text-align: right;
        margin-left: auto;
        margin-right: 0; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item02 .txt_img {
            display: none; } }
    .sec02 .sec02_wrap02 .item_cont .item03 {
      position: relative;
      max-width: 805px;
      margin-left: 8%;
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between; }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap02 .item_cont .item03 {
          flex-direction: column;
          margin-left: 0; } }
      .sec02 .sec02_wrap02 .item_cont .item03::after {
        content: '';
        width: 83px;
        aspect-ratio: 83/12;
        position: absolute;
        bottom: 0;
        right: 19.88%;
        background: url("../images/top/loc_icon04.svg") center center/cover no-repeat; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item03::after {
            display: none; } }
      .sec02 .sec02_wrap02 .item_cont .item03 .text_wrap {
        width: 22.99%;
        margin-top: clamp(30px, 4.584vw, 55px); }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item03 .text_wrap {
            width: 100%;
            margin-top: 0; } }
      .sec02 .sec02_wrap02 .item_cont .item03 .in_box {
        width: 72.3%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item03 .in_box {
            width: 100%; } }
        .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in .lead_min {
          margin-top: 10px; }
          .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in .lead_min .small {
            font-size: 75%;
            display: inline-block; }
        .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in01 {
          width: 23.03%;
          margin-top: 4.3%; }
        .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in02 {
          width: 74.92%; }
          .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in02 .img {
            position: relative;
            aspect-ratio: 436/268; }
            .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in02 .img::after {
              content: '';
              width: 137px;
              aspect-ratio: 137/12;
              position: absolute;
              top: 0;
              left: 17.89%;
              background: url("../images/top/loc_icon03.svg") center center/cover no-repeat; }
              @media screen and (max-width: 480px) {
                .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in02 .img::after {
                  display: none; } }
            .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in02 .img::before {
              content: '';
              width: 54.59%;
              aspect-ratio: 238/30;
              position: absolute;
              left: 0;
              top: 0;
              background: #fff;
              pointer-events: none; }
        .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in03 {
          width: 100%;
          display: flex;
          column-gap: 10px;
          align-items: flex-end;
          margin-top: clamp(-85px, -14.6%, -10px); }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in03 {
              margin-top: -35px; } }
          .sec02 .sec02_wrap02 .item_cont .item03 .in_box .item_in03 .img {
            width: 46.74%; }
    .sec02 .sec02_wrap02 .item_cont .item04 {
      grid-template-columns: 45.4% 45.5%;
      column-gap: 0.92%;
      margin-bottom: clamp(50px, 5vw, 60px); }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap02 .item_cont .item04 {
          grid-template-columns: 1fr; } }
      .sec02 .sec02_wrap02 .item_cont .item04 .text_wrap {
        margin-top: -25%;
        margin-inline: 0;
        align-items: flex-end;
        grid-row: 3/4;
        grid-column: 2/3;
        text-align: right; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item04 .text_wrap {
            grid-row: span 1;
            grid-column: span 1;
            margin-top: 0;
            text-align: center;
            align-items: center; } }
        .sec02 .sec02_wrap02 .item_cont .item04 .text_wrap .ttl_img {
          margin: 0; }
          @media screen and (min-width: 960px) {
            .sec02 .sec02_wrap02 .item_cont .item04 .text_wrap .ttl_img {
              align-items: flex-end; } }
      .sec02 .sec02_wrap02 .item_cont .item04 .item04_01 {
        max-width: 840px;
        width: 100%;
        margin-left: auto;
        margin-right: 0;
        grid-column: span 2;
        margin-bottom: -8.5%; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item04 .item04_01 {
            margin-bottom: 0;
            grid-column: span 1;
            flex-direction: column-reverse; } }
        .sec02 .sec02_wrap02 .item_cont .item04 .item04_01 .txt_img {
          width: 25.72%; }
        .sec02 .sec02_wrap02 .item_cont .item04 .item04_01 .txt_in {
          width: 19.17%;
          display: flex;
          flex-direction: column;
          row-gap: clamp(10px, 2.381vw, 20px); }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .item_cont .item04 .item04_01 .txt_in {
              width: 100%;
              align-items: flex-end;
              margin-top: -23%;
              flex-direction: row;
              justify-content: space-between; } }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .item_cont .item04 .item04_01 .txt_in .icon {
              display: block;
              width: 33%;
              position: relative;
              z-index: 1; } }
        .sec02 .sec02_wrap02 .item_cont .item04 .item04_01 .img {
          position: relative;
          width: 51.43%; }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .item_cont .item04 .item04_01 .img {
              width: 100%; } }
          .sec02 .sec02_wrap02 .item_cont .item04 .item04_01 .img .icon {
            position: absolute;
            right: 5px;
            top: 0; }
      .sec02 .sec02_wrap02 .item_cont .item04 .item04_02 .read, .sec02 .sec02_wrap02 .item_cont .item04 .item04_03 .read {
        line-height: 1.72; }
      .sec02 .sec02_wrap02 .item_cont .item04 .item04_02 .txt_in {
        width: fit-content;
        margin-left: auto;
        margin-right: 0;
        display: flex;
        flex-direction: column;
        row-gap: clamp(10px, 1.25vw, 15px); }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item04 .item04_02 .txt_in {
            margin-left: 0;
            width: 100%;
            text-align: right; } }
      .sec02 .sec02_wrap02 .item_cont .item04 .item04_03 {
        margin-top: 28.1%; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item04 .item04_03 {
            margin-top: 0;
            flex-direction: column;
            max-width: 272px;
            margin-inline: auto; } }
        .sec02 .sec02_wrap02 .item_cont .item04 .item04_03 .txt_in {
          display: flex;
          flex-direction: column;
          row-gap: 10px;
          align-items: flex-start; }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .item_cont .item04 .item04_03 .txt_in {
              margin-top: 15px;
              row-gap: 10px; } }
    .sec02 .sec02_wrap02 .item_cont .item05 {
      display: flex;
      justify-content: space-between;
      max-width: 840px;
      margin-inline: auto;
      align-items: center;
      flex-wrap: wrap; }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap02 .item_cont .item05 {
          flex-direction: column;
          row-gap: 20px; } }
      .sec02 .sec02_wrap02 .item_cont .item05 .in_box {
        width: 56.67%; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item05 .in_box {
            width: 100%; } }
        .sec02 .sec02_wrap02 .item_cont .item05 .in_box .text_wrap {
          margin-left: 3.16%;
          width: fit-content; }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .item_cont .item05 .in_box .text_wrap {
              margin-left: 0;
              margin-inline: auto; } }
          .sec02 .sec02_wrap02 .item_cont .item05 .in_box .text_wrap .ttl_img {
            margin-inline: 0; }
        .sec02 .sec02_wrap02 .item_cont .item05 .in_box .img01 {
          margin-top: clamp(-40px, -8.4%, -10px); }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .item_cont .item05 .in_box .img01 {
              margin-top: 0; } }
      .sec02 .sec02_wrap02 .item_cont .item05 .img {
        width: 42.86%; }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item05 .img {
            width: 70%;
            margin-inline: auto;
            margin-top: 4px; } }
        .sec02 .sec02_wrap02 .item_cont .item05 .img .icon {
          display: block;
          margin-top: clamp(20px, 2.917vw, 35px);
          margin-left: clamp(20px, 2.917vw, 35px); }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .item_cont .item05 .img .icon {
              display: none; } }
      .sec02 .sec02_wrap02 .item_cont .item05 .list {
        margin-left: auto;
        justify-content: space-between;
        width: 84.53%;
        flex-wrap: wrap;
        row-gap: clamp(20px, 3.334vw, 40px);
        margin-top: clamp(-30px, -3.57%, -10px); }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap02 .item_cont .item05 .list {
            flex-direction: column;
            margin-left: 0;
            width: fit-content;
            margin-top: 0; } }
        .sec02 .sec02_wrap02 .item_cont .item05 .list li {
          width: 36.62%;
          width: 32%;
          display: flex;
          column-gap: 10px;
          letter-spacing: -0.05em;
          align-items: baseline;
          line-height: 1.72; }
          @media screen and (max-width: 480px) {
            .sec02 .sec02_wrap02 .item_cont .item05 .list li {
              width: 100%; } }
          .sec02 .sec02_wrap02 .item_cont .item05 .list li:nth-child(1), .sec02 .sec02_wrap02 .item_cont .item05 .list li:nth-child(2) {
            height: 100%;
            position: relative;
            opacity: 0; }
            @media screen and (max-width: 480px) {
              .sec02 .sec02_wrap02 .item_cont .item05 .list li:nth-child(1), .sec02 .sec02_wrap02 .item_cont .item05 .list li:nth-child(2) {
                display: none; } }
            .sec02 .sec02_wrap02 .item_cont .item05 .list li:nth-child(1)::after, .sec02 .sec02_wrap02 .item_cont .item05 .list li:nth-child(2)::after {
              content: '';
              display: block;
              width: 100%;
              height: 100%;
              position: absolute;
              inset: 0;
              background-color: aqua; }
          .sec02 .sec02_wrap02 .item_cont .item05 .list li span {
            flex-shrink: 0;
            font-size: 14px;
            display: grid;
            place-items: center;
            line-height: 1;
            width: 20px;
            height: 20px;
            color: #fff;
            background-color: #231815;
            letter-spacing: 0.1em; }
  .sec02 .sec02_wrap03 {
    background: #eff0eb;
    padding-bottom: 30px; }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_wrap03 {
        width: 100%;
        padding-inline: 20px;
        padding-bottom: 50px; } }
    .sec02 .sec02_wrap03 .main_img {
      margin-bottom: 30px; }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap03 .main_img {
          margin-inline: -20px; } }
    .sec02 .sec02_wrap03 .text_wrap {
      margin-bottom: clamp(30px, 5vw, 60px); }
    .sec02 .sec02_wrap03 .item_wrap {
      flex-wrap: wrap;
      padding-inline: 30px;
      row-gap: clamp(30px, 4.584vw, 55px); }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap03 .item_wrap {
          padding-inline: 0; } }
      .sec02 .sec02_wrap03 .item_wrap .item {
        width: 47.54%;
        display: flex;
        flex-direction: column;
        row-gap: clamp(10px, 1vw, 12px); }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap03 .item_wrap .item {
            width: 100%; } }
        .sec02 .sec02_wrap03 .item_wrap .item .ttl {
          background: #989895;
          text-align: center;
          color: #fff;
          line-height: 1;
          margin-bottom: 0;
          padding: 0.5em 0; }
        .sec02 .sec02_wrap03 .item_wrap .item .read {
          line-height: 1.43; }
      .sec02 .sec02_wrap03 .item_wrap .item02 .in_box {
        display: flex;
        flex-wrap: wrap; }
        .sec02 .sec02_wrap03 .item_wrap .item02 .in_box .img {
          width: 50%; }
        .sec02 .sec02_wrap03 .item_wrap .item02 .in_box .read {
          width: 45.88%; }
      .sec02 .sec02_wrap03 .item_wrap .item04 {
        margin-top: clamp(-45px, -5.84%, -10px); }
        @media screen and (max-width: 480px) {
          .sec02 .sec02_wrap03 .item_wrap .item04 {
            margin-top: 0; } }
    .sec02 .sec02_wrap03 .cap_r {
      text-align: right;
      margin-left: auto;
      margin-right: 0;
      padding-right: 20px;
      margin-top: 30px; }
      @media screen and (max-width: 480px) {
        .sec02 .sec02_wrap03 .cap_r {
          margin-top: 10px;
          padding-right: 0; } }

.sec03 {
  position: relative;
  color: #000;
  background: url("../images/top/bg03.jpg") right bottom/cover no-repeat; }
  @media screen and (max-width: 480px) {
    .sec03 .inner {
      width: 100%; } }
  .sec03 .bg_wrap {
    background-color: rgba(255, 255, 255, 0.5);
    padding: 80px;
    padding-bottom: 0; }
    @media screen and (max-width: 480px) {
      .sec03 .bg_wrap {
        padding-top: 50px;
        padding-inline: 20px; } }
    .sec03 .bg_wrap .sec03_wrap01 {
      margin-bottom: clamp(50px, 8.334vw, 100px); }
      .sec03 .bg_wrap .sec03_wrap01 .img {
        text-align: center;
        margin-bottom: clamp(30px, 2.917vw, 35px); }
      .sec03 .bg_wrap .sec03_wrap01 a {
        display: block;
        width: fit-content;
        margin-inline: auto; }
    .sec03 .bg_wrap .sec03_wrap02 {
      align-items: center; }
      @media screen and (max-width: 480px) {
        .sec03 .bg_wrap .sec03_wrap02 {
          display: flex;
          flex-direction: column; } }
      .sec03 .bg_wrap .sec03_wrap02 .ttl_wrap {
        text-align: center;
        display: flex;
        align-items: center;
        flex-direction: column;
        line-height: 1;
        row-gap: 12px; }
        @media screen and (max-width: 480px) {
          .sec03 .bg_wrap .sec03_wrap02 .ttl_wrap {
            margin-bottom: 30px;
            width: 100%; } }
        .sec03 .bg_wrap .sec03_wrap02 .ttl_wrap .en_ttl {
          font-size: clamp(22px, 2.167vw, 26px); }
        .sec03 .bg_wrap .sec03_wrap02 .ttl_wrap .txt_img {
          font-size: 0; }
      .sec03 .bg_wrap .sec03_wrap02 .in_box {
        width: 74.41%;
        flex-wrap: wrap;
        row-gap: clamp(20px, 2.084vw, 25px); }
        @media screen and (max-width: 480px) {
          .sec03 .bg_wrap .sec03_wrap02 .in_box {
            width: 100%;
            justify-content: center;
            column-gap: 15px; } }
        .sec03 .bg_wrap .sec03_wrap02 .in_box .ttl {
          position: relative;
          display: flex;
          column-gap: 10px;
          align-items: center;
          line-height: 1;
          width: 100%; }
          .sec03 .bg_wrap .sec03_wrap02 .in_box .ttl::after {
            content: '';
            width: 100%;
            height: 1px;
            background: #000; }
          .sec03 .bg_wrap .sec03_wrap02 .in_box .ttl span {
            flex-shrink: 0; }
        .sec03 .bg_wrap .sec03_wrap02 .in_box .img {
          width: 17.92%; }
          @media screen and (max-width: 480px) {
            .sec03 .bg_wrap .sec03_wrap02 .in_box .img {
              width: 48%;
              max-width: 112px; } }
          .sec03 .bg_wrap .sec03_wrap02 .in_box .img .name {
            line-height: 1.2;
            margin-top: 10px; }
            .sec03 .bg_wrap .sec03_wrap02 .in_box .img .name .small {
              display: block;
              font-size: 80%;
              letter-spacing: -0.05em; }
              .sec03 .bg_wrap .sec03_wrap02 .in_box .img .name .small .in {
                font-size: 10px; }
        .sec03 .bg_wrap .sec03_wrap02 .in_box .txt {
          position: relative;
          width: 56.01%;
          line-height: 1.43;
          letter-spacing: 0; }
          @media screen and (max-width: 480px) {
            .sec03 .bg_wrap .sec03_wrap02 .in_box .txt {
              width: 100%;
              padding-bottom: 20px; } }
          .sec03 .bg_wrap .sec03_wrap02 .in_box .txt::after {
            content: '';
            position: absolute;
            inset: 0;
            border-bottom: 1px solid #000;
            pointer-events: none; }
    @media screen and (max-width: 480px) {
      .sec03 .bg_wrap .sec03_wrap03 {
        margin-inline: -20px;
        display: flex;
        flex-direction: column-reverse; } }
    .sec03 .bg_wrap .sec03_wrap03 .wrap03_bg {
      background: #fff;
      padding: 40px 35px;
      flex-wrap: wrap;
      row-gap: clamp(15px, 2.084vw, 25px); }
      @media screen and (max-width: 480px) {
        .sec03 .bg_wrap .sec03_wrap03 .wrap03_bg {
          padding: 15px 20px 50px; } }
    .sec03 .bg_wrap .sec03_wrap03 .text_wrap {
      width: 32.86%; }
      @media screen and (max-width: 480px) {
        .sec03 .bg_wrap .sec03_wrap03 .text_wrap {
          width: 100%; } }
      .sec03 .bg_wrap .sec03_wrap03 .text_wrap .lead {
        text-align: center; }
        @media screen and (max-width: 480px) {
          .sec03 .bg_wrap .sec03_wrap03 .text_wrap .lead {
            text-align: left; } }
      .sec03 .bg_wrap .sec03_wrap03 .text_wrap .read {
        letter-spacing: 0;
        line-height: 1.5; }
    .sec03 .bg_wrap .sec03_wrap03 .img01 {
      width: 65.07%; }
      @media screen and (max-width: 480px) {
        .sec03 .bg_wrap .sec03_wrap03 .img01 {
          width: 100%; } }
    .sec03 .bg_wrap .sec03_wrap03 .item_wrap {
      width: 100%; }
      @media screen and (max-width: 480px) {
        .sec03 .bg_wrap .sec03_wrap03 .item_wrap {
          flex-wrap: wrap;
          row-gap: 20px; } }
      .sec03 .bg_wrap .sec03_wrap03 .item_wrap .item {
        width: 23.38%; }
        @media screen and (max-width: 480px) {
          .sec03 .bg_wrap .sec03_wrap03 .item_wrap .item {
            width: 48%; } }
        .sec03 .bg_wrap .sec03_wrap03 .item_wrap .item .txt {
          line-height: 1;
          margin-top: 0.5em;
          display: flex;
          flex-wrap: wrap;
          column-gap: 0.25em;
          letter-spacing: -0.02em; }
          .sec03 .bg_wrap .sec03_wrap03 .item_wrap .item .txt .icon {
            display: grid;
            place-items: center;
            width: 18px;
            aspect-ratio: 1;
            height: 100%;
            background: #000;
            color: #fff; }
          .sec03 .bg_wrap .sec03_wrap03 .item_wrap .item .txt .cap_l {
            display: inline-block;
            width: 100%; }
    .sec03 .bg_wrap .sec03_wrap03 .txt_img02 {
      padding: 0 35px 20px;
      display: flex;
      align-items: center;
      font-size: 0;
      line-height: 1;
      column-gap: 15px;
      background: #fff;
      max-width: 600px; }
      @media screen and (max-width: 480px) {
        .sec03 .bg_wrap .sec03_wrap03 .txt_img02 {
          padding-bottom: 0;
          padding-top: 50px;
          padding-inline: 20px; } }
    .sec03 .bg_wrap .map_wrap {
      margin-bottom: clamp(50px, 5.417vw, 65px);
      text-align: center; }
      @media screen and (max-width: 480px) {
        .sec03 .bg_wrap .map_wrap {
          margin-bottom: 50px; } }
      .sec03 .bg_wrap .map_wrap .ttl {
        margin-bottom: 1em;
        line-height: 1; }
      .sec03 .bg_wrap .map_wrap .text_wrap .read {
        line-height: 1.58; }
    .sec03 .bg_wrap .sec03_wrap04 .main_img {
      margin-inline: -80px;
      margin-bottom: clamp(30px, 5vw, 60px); }
    .sec03 .bg_wrap .sec03_wrap05 {
      margin-bottom: clamp(80px, 8.334vw, 100px); }
      .sec03 .bg_wrap .sec03_wrap05 .in_box {
        max-width: 720px;
        margin-inline: auto; }
        .sec03 .bg_wrap .sec03_wrap05 .in_box .ttl01 {
          position: relative;
          display: flex;
          align-items: center;
          column-gap: 0.84%;
          line-height: 1;
          margin-bottom: clamp(20px, 2.084vw, 25px); }
          .sec03 .bg_wrap .sec03_wrap05 .in_box .ttl01 span {
            flex-shrink: 0; }
          .sec03 .bg_wrap .sec03_wrap05 .in_box .ttl01::after, .sec03 .bg_wrap .sec03_wrap05 .in_box .ttl01::before {
            content: '';
            width: 100%;
            height: 1px;
            background: #000; }
        @media screen and (max-width: 480px) {
          .sec03 .bg_wrap .sec03_wrap05 .in_box .item_wrap {
            flex-wrap: wrap;
            row-gap: 20px; } }
        .sec03 .bg_wrap .sec03_wrap05 .in_box .item_wrap .item {
          width: 31.95%; }
          @media screen and (max-width: 480px) {
            .sec03 .bg_wrap .sec03_wrap05 .in_box .item_wrap .item {
              width: 48%; } }
          .sec03 .bg_wrap .sec03_wrap05 .in_box .item_wrap .item .read {
            margin-top: 0.5em;
            line-height: 1.43; }

.cap_wrap {
  padding-bottom: 25px;
  font-size: 12px;
  line-height: 1.34; }
  @media screen and (max-width: 480px) {
    .cap_wrap {
      font-size: 10px; } }

.ls04 {
  letter-spacing: -0.04em !important; }

/*	モーダルmp4	*/
.movie_wrap {
  position: relative; }
  .movie_wrap:before {
    content: "";
    display: block;
    padding-bottom: 56.25%;
    pointer-events: none; }
  .movie_wrap video, .movie_wrap iframe {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    height: fit-content; }
    @media screen and (max-width: 480px) {
      .movie_wrap video, .movie_wrap iframe {
        height: 100%; } }

/*	モーダル	*/
.modal_cont {
  display: none; }

.iziModal {
  background: none !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important; }

.modal_box {
  margin: 0 auto;
  padding: 0 70px;
  position: relative;
  max-width: 1100px; }
  @media screen and (max-width: 768px) {
    .modal_box {
      padding: 30px 20px; } }
  .modal_box .m_box {
    border: 3px solid #060;
    padding: 22px 17px;
    position: relative;
    background: #FFF;
    border-radius: 10px;
    flex-direction: row-reverse; }
    @media screen and (max-width: 768px) {
      .modal_box .m_box {
        flex-wrap: wrap;
        padding: 20px 17px; } }
    .modal_box .m_box p {
      font-size: 15px;
      line-height: 2.2;
      color: #060; }
      @media screen and (max-width: 960px) {
        .modal_box .m_box p {
          font-size: 13px; } }
      @media screen and (max-width: 768px) {
        .modal_box .m_box p {
          font-size: 15px; } }
      @media screen and (max-width: 480px) {
        .modal_box .m_box p {
          font-size: 13px; } }
  .modal_box a.close {
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    border: none;
    width: auto;
    height: auto;
    background: none;
    cursor: pointer; }
    .modal_box a.close span {
      font-size: 40px;
      color: #FFF;
      display: block;
      line-height: 1;
      transform-origin: center;
      transition: 0.6s all ease-in-out 0s;
      opacity: 1; }
      @media (hover: hover) {
        .modal_box a.close span:hover {
          opacity: .7; } }
  .modal_box .controls {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0; }
    @media screen and (max-width: 768px) {
      .modal_box .controls {
        position: relative;
        max-width: 120px;
        margin: 20px auto 0;
        display: flex;
        justify-content: space-between; } }
    .modal_box .controls li {
      position: absolute;
      top: 50%;
      margin-top: -35px;
      cursor: pointer;
      width: 50px;
      height: 50px;
      border: 1px solid #FFF;
      border-radius: 100px; }
      @media screen and (max-width: 768px) {
        .modal_box .controls li {
          position: static;
          margin-top: 0; } }
      .modal_box .controls li span {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 0;
        height: 0;
        border: 8px solid transparent; }
      .modal_box .controls li.prev {
        left: 10px; }
        .modal_box .controls li.prev span {
          margin-left: 8px;
          border-right: 14px solid #FFF; }
      .modal_box .controls li.next {
        right: 10px; }
        .modal_box .controls li.next span {
          margin-right: 8px;
          border-left: 14px solid #FFF; }

html.iziModal-isAttached, html.iziModal-isOverflow {
  overflow: visible !important; }

body {
  overflow: visible !important; }

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