/*! 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; }

.img_c {
  position: relative; }
  .img_c .copy {
    position: absolute;
    inset: 0;
    padding: 40px; }
    @media screen and (max-width: 480px) {
      .img_c .copy {
        padding: 15px; } }
    .img_c .copy .t01 {
      color: #fff;
      font-size: clamp(18px, calc(44vw / 10.8), 44px);
      font-size: clamp(18px, calc(60vw / 10.8), 60px);
      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) {
        .img_c .copy .t01 {
          font-size: calc(23vw / 3.9);
          font-size: calc(28vw / 3.9); } }

.contents_wrap img {
  width: 100%; }

@media screen and (max-width: 480px) {
  .inner_main {
    height: auto; } }
@media screen and (max-width: 480px) {
  .inner_main .img {
    /*width: 1000px;
    max-width: 1000px;
    height: calc(100svh - 60px);
    max-height: calc(100svh - 60px);
    object-fit: revert-rule;
    aspect-ratio: 1920 / 1260;*/ } }

.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%; }

@media screen and (max-width: 480px) {
  .sec01.bg::after {
    background: linear-gradient(0deg, #3f3d3d, rgba(63, 61, 61, 0.8), rgba(63, 61, 61, 0));
    height: 500px; } }
.sec01 .img101 {
  margin-bottom: 10vh; }
  @media screen and (max-width: 480px) {
    .sec01 .img101 {
      margin-bottom: 10vw; } }
.sec01 .img102 {
  margin-bottom: 10vh; }
  @media screen and (max-width: 480px) {
    .sec01 .img102 {
      margin-bottom: 10vw; } }
.sec01 .box01 {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 1200px) {
    .sec01 .box01 {
      flex-wrap: wrap;
      justify-content: center;
      gap: 16px; } }
  @media screen and (max-width: 480px) {
    .sec01 .box01 {
      gap: 16px 0;
      align-items: stretch;
      justify-content: space-between; } }
  .sec01 .box01 .img103 {
    width: calc(257%/8.9); }
    @media screen and (max-width: 480px) {
      .sec01 .box01 .img103 {
        width: 90%; } }
  .sec01 .box01 .img104 {
    width: calc(254%/8.9); }
    .sec01 .box01 .img104 figure {
      box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4); }
    @media screen and (max-width: 480px) {
      .sec01 .box01 .img104 {
        width: 30%; }
        .sec01 .box01 .img104 figure {
          width: 100%;
          height: 100%; }
        .sec01 .box01 .img104 img {
          object-fit: cover;
          width: 100%;
          height: 100%;
          object-position: 72% 50%; } }
  .sec01 .box01 .txts {
    width: calc(285%/8.9); }
    @media screen and (max-width: 1200px) {
      .sec01 .box01 .txts {
        width: 100%; } }
    @media screen and (max-width: 480px) {
      .sec01 .box01 .txts {
        width: 65%; } }
  .sec01 .box01 .t1 {
    color: #fff;
    font-size: clamp(11px, calc(15vw / 10.8), 16px);
    line-height: 2;
    letter-spacing: 0.045em; }
    @media screen and (max-width: 480px) {
      .sec01 .box01 .t1 {
        font-size: calc(12vw / 3.9);
        line-height: 1.65;
        text-align: justify; } }

@media screen and (max-width: 480px) {
  .sp_inn {
    width: calc(100% - 40px);
    margin-inline: auto; } }

@media screen and (max-width: 480px) {
  .sp_wide {
    margin-left: -20px !important;
    margin-right: -20px !important;
    width: calc(100% + 40px) !important; } }

.sec02 {
  padding-bottom: 0 !important; }
  .sec02::after {
    display: none !important; }
  .sec02 .img105 .cap {
    top: calc(342% / 6.75);
    top: calc(520% / 6.75);
    right: calc(42% / 10.57);
    bottom: auto;
    text-align: right;
    text-shadow: none; }
    @media screen and (max-width: 480px) {
      .sec02 .img105 .cap {
        top: auto;
        right: 1%;
        bottom: 1%;
        font-size: 6px; } }
    .sec02 .img105 .cap .img105_houi {
      max-width: 49px;
      margin-left: auto;
      margin-bottom: 5px;
      display: block; }
      @media screen and (max-width: 1200px) {
        .sec02 .img105 .cap .img105_houi {
          width: 30px; } }
      @media screen and (max-width: 480px) {
        .sec02 .img105 .cap .img105_houi {
          width: 20px; } }
  .sec02 .items01 {
    margin-top: 10vh;
    background: #e3ddc0;
    padding: 3vw 0;
    padding: 2.5vw 0; }
    @media screen and (max-width: 480px) {
      .sec02 .items01 {
        margin-top: 10vw;
        padding: 10vw 0;
        padding: 7vw 0; } }
    .sec02 .items01 .sec_ttl_ja2 {
      margin-bottom: 2.5vw;
      font-size: clamp(14px, calc(29vw / 10.8), 29px); }
      @media screen and (max-width: 480px) {
        .sec02 .items01 .sec_ttl_ja2 {
          font-size: calc(18vw / 3.9);
          margin-bottom: 7vw; } }
    .sec02 .items01 .items {
      width: calc(100% - 6vw);
      margin: 0 auto;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      @media screen and (max-width: 600px) {
        .sec02 .items01 .items {
          flex-direction: column;
          gap: 15px 0;
          gap: 25px 0; } }
      @media screen and (max-width: 480px) {
        .sec02 .items01 .items {
          width: calc(100% - 40px); } }
      .sec02 .items01 .items .item {
        width: calc(480%/9.8);
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        margin-top: calc(20%/9.8); }
        @media screen and (max-width: 600px) {
          .sec02 .items01 .items .item {
            width: 100%;
            margin-top: 0; } }
        .sec02 .items01 .items .item .imgs {
          width: calc(234%/4.8); }
          .sec02 .items01 .items .item .imgs .cap {
            text-shadow: none;
            padding: 7px 10px; }
        .sec02 .items01 .items .item .txts {
          width: calc(224%/4.8);
          display: flex;
          justify-content: center;
          align-items: center;
          background: #f8f6ef; }
          @media screen and (max-width: 600px) {
            .sec02 .items01 .items .item .txts {
              width: calc(229%/4.8); } }
          .sec02 .items01 .items .item .txts p {
            text-align: center;
            line-height: 1.555;
            font-size: calc(18vw/16);
            letter-spacing: 0.06em; }
            @media screen and (max-width: 768px) {
              .sec02 .items01 .items .item .txts p {
                font-size: calc(11vw/7); } }
            @media screen and (max-width: 600px) {
              .sec02 .items01 .items .item .txts p {
                font-size: calc(12vw/3.9); } }
        .sec02 .items01 .items .item:nth-child(1), .sec02 .items01 .items .item:nth-child(2) {
          margin-top: 0; }
        @media screen and (min-width: 601px) {
          .sec02 .items01 .items .item:nth-child(3), .sec02 .items01 .items .item:nth-child(4) {
            flex-direction: row-reverse; } }

.sec03 {
  padding-bottom: 0 !important;
  padding-top: 85px !important; }
  @media screen and (max-width: 480px) {
    .sec03 {
      padding-top: 50px !important; } }
  .sec03::after {
    display: none !important; }
  .sec03 .img401 .cap_r {
    margin-top: 5px; }
  .sec03 .cap401 {
    margin-top: 5px; }
  .sec03 .txt_box {
    padding: 42px 0 60px; }
    @media screen and (max-width: 480px) {
      .sec03 .txt_box {
        padding: 15px 0 30px; } }
    .sec03 .txt_box p {
      color: #363333;
      text-shadow: none; }
  .sec03 .item_imgs {
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .sec03 .item_imgs {
        flex-direction: column;
        gap: 16px 0; } }
    .sec03 .item_imgs.v2 {
      display: none; }
      @media screen and (max-width: 480px) {
        .sec03 .item_imgs.v2 {
          display: flex; } }
    .sec03 .item_imgs .img_cap .cap {
      padding: 7px 10px; }
    .sec03 .item_imgs .l_cnt {
      width: calc(430%/8.9); }
      @media screen and (max-width: 480px) {
        .sec03 .item_imgs .l_cnt {
          width: 100%; } }
    .sec03 .item_imgs .r_cnt {
      width: calc(446%/8.9);
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      flex-wrap: wrap; }
      @media screen and (max-width: 480px) {
        .sec03 .item_imgs .r_cnt {
          width: 100%;
          gap: 16px; } }
      .sec03 .item_imgs .r_cnt .in_img {
        width: calc(216%/4.46); }
        @media screen and (max-width: 480px) {
          .sec03 .item_imgs .r_cnt .in_img {
            width: calc(50% - 8px); } }
        .sec03 .item_imgs .r_cnt .in_img.in_img3, .sec03 .item_imgs .r_cnt .in_img.in_img4 {
          margin-top: auto; }
      .sec03 .item_imgs .r_cnt .cap {
        font-size: 13px; }
        @media screen and (max-width: 480px) {
          .sec03 .item_imgs .r_cnt .cap {
            font-size: 11px; } }
