@charset "UTF-8";
/*! Writen  by SCSS */
@keyframes move {
  0% {
    transform: translateY(30px); }
  100% {
    transform: translateY(-30px); } }
@keyframes move_min {
  0% {
    transform: translateY(20px); }
  100% {
    transform: translateY(-20px); } }
@keyframes circle {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(720deg); } }
body {
  background: #FFF;
  color: #333; }

.sec_main {
  position: relative;
  margin-bottom: -10%; }
  @media screen and (max-width: 480px) {
    .sec_main {
      margin-bottom: 0; } }
  .sec_main .main_img {
    position: relative; }
    .sec_main .main_img img {
      width: 100%; }
    .sec_main .main_img::before, .sec_main .main_img::after {
      content: "";
      display: block;
      position: absolute;
      z-index: 1;
      pointer-events: none;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
    .sec_main .main_img::before {
      width: 135.42%;
      padding-top: 135.42%;
      left: -45.15%;
      bottom: 60.65%;
      background-image: url("../images/main_border_left.svg");
      animation: circle 120s linear infinite,move 40s linear infinite alternate-reverse; }
    .sec_main .main_img::after {
      width: 156.25%;
      padding-top: 156.25%;
      left: 30.89%;
      bottom: 5.68%;
      animation: circle 100s linear infinite,move 60s linear infinite alternate;
      background-image: url("../images/main_border_right.svg"); }
    .sec_main .main_img .cap {
      bottom: 20px; }
  .sec_main .page_title_group {
    position: absolute;
    left: 14.07%;
    top: 50.85%;
    display: flex;
    flex-direction: column;
    row-gap: clamp(30px, 3.75vw, 60px); }
    @media screen and (max-width: 820px) {
      .sec_main .page_title_group {
        left: 5%; } }
    @media screen and (max-width: 480px) {
      .sec_main .page_title_group {
        row-gap: 15px; } }
    @media screen and (max-width: 820px) {
      .sec_main .page_title_group .main_head {
        width: 40%; } }
    .sec_main .page_title_group .inner_sub_head {
      font-size: clamp(20px, 2vw, 32px);
      color: #000;
      letter-spacing: 0.03em;
      text-align: left; }
      @media screen and (max-width: 480px) {
        .sec_main .page_title_group .inner_sub_head {
          font-size: 16px; } }

.text_wrap {
  flex-direction: column;
  row-gap: clamp(30px, 4.167vw, 50px);
  margin-bottom: clamp(30px, 5.834vw, 70px); }
  @media screen and (max-width: 820px) {
    .text_wrap {
      row-gap: 30px; } }
  @media screen and (max-width: 480px) {
    .text_wrap {
      row-gap: 15px; } }
  .text_wrap .sec_ttl {
    text-align: left;
    letter-spacing: -0.05em; }

.photo_name {
  margin-top: 5px;
  font-size: clamp(10px, 1vw, 12px);
  line-height: 1.4; }
  @media screen and (max-width: 480px) {
    .photo_name {
      font-size: 11px; } }

.circle_photo {
  max-width: 500px;
  width: 41.67%; }
  @media screen and (max-width: 1600px) {
    .circle_photo {
      width: 35%; } }
  .circle_photo img {
    line-height: 0;
    display: block;
    border-radius: 100%;
    animation: move_min 30s linear infinite alternate-reverse; }
  .circle_photo .cap {
    right: 18%;
    bottom: 20%; }
  .circle_photo::after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    border: 1px solid;
    animation: move_min 40s linear infinite alternate; }

.sec01 {
  position: relative;
  padding: 20% 0 55%; }
  @media screen and (max-width: 820px) {
    .sec01 {
      padding: 25% 0 45%; } }
  .sec01 .sec01_bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1; }
    .sec01 .sec01_bg > img {
      width: 100%; }
    .sec01 .sec01_bg:after {
      /*	黄色の円 足りない高さをカバー	*/ }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_bg:after {
          content: "";
          position: absolute;
          inset: 0;
          top: 40%;
          height: 250vh;
          background: #fff5d7;
          pointer-events: none; } }
  .sec01 .sec_ttl {
    text-align: center; }
  .sec01 .sec01_item01 {
    flex-wrap: wrap;
    gap: 30px 0;
    margin-bottom: clamp(80px, 16.667vw, 200px); }
    @media screen and (max-width: 820px) {
      .sec01 .sec01_item01 {
        margin-bottom: 80px; } }
    @media screen and (max-width: 480px) {
      .sec01 .sec01_item01 {
        row-gap: 20px; } }
    .sec01 .sec01_item01 .shop {
      width: 30%; }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_item01 .shop {
          width: 48%; } }
  .sec01 .sec01_item02 {
    justify-content: flex-end;
    position: relative; }
    @media screen and (max-width: 480px) {
      .sec01 .sec01_item02 {
        flex-direction: column;
        row-gap: 20px; } }
    .sec01 .sec01_item02 .photo {
      position: absolute;
      left: -10.84%;
      top: -35%;
      width: 69.25%; }
      @media screen and (max-width: 820px) {
        .sec01 .sec01_item02 .photo {
          left: -2%;
          top: -15%;
          width: 50%; } }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_item02 .photo {
          position: relative;
          left: auto;
          top: auto;
          width: 100%; } }
      .sec01 .sec01_item02 .photo .image_cap {
        position: absolute; }
        .sec01 .sec01_item02 .photo .image_cap.image_cap_01 {
          left: 18.06%;
          bottom: 21.77%; }
          @media screen and (max-width: 480px) {
            .sec01 .sec01_item02 .photo .image_cap.image_cap_01 {
              left: 10px; } }
        .sec01 .sec01_item02 .photo .image_cap.image_cap_02 {
          bottom: -1em;
          left: 42.72%; }
          @media screen and (max-width: 480px) {
            .sec01 .sec01_item02 .photo .image_cap.image_cap_02 {
              left: 22%;
              bottom: 0; } }
    .sec01 .sec01_item02 .text_wrap {
      width: 55.84%;
      margin-bottom: 0;
      justify-content: flex-end;
      text-align: right; }
      @media screen and (max-width: 480px) {
        .sec01 .sec01_item02 .text_wrap {
          text-align: left;
          width: 100%;
          justify-content: flex-start; } }
      .sec01 .sec01_item02 .text_wrap .sec_ttl {
        text-align: right;
        font-size: clamp(20px, 2.41vw, 30px);
        letter-spacing: 0.2em; }
        @media screen and (max-width: 480px) {
          .sec01 .sec01_item02 .text_wrap .sec_ttl {
            text-align: left; } }
      .sec01 .sec01_item02 .text_wrap .read {
        width: 91.05%;
        margin-left: auto; }
        @media screen and (max-width: 480px) {
          .sec01 .sec01_item02 .text_wrap .read {
            width: 100%; } }
  .sec01 .sec01_item03 {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 79.33%; }
    .sec01 .sec01_item03 .cap {
      right: 45%;
      bottom: 90%; }

.sec02 {
  position: relative;
  margin-top: -10%; }
  .sec02 .sec_ttl {
    font-size: clamp(20px, 2.41vw, 30px);
    letter-spacing: 0.1em; }
    @media screen and (max-width: 480px) {
      .sec02 .sec_ttl {
        letter-spacing: 0; } }
  .sec02 .sec02_bg > img {
    width: 100%; }
  .sec02 .white_bg {
    position: relative;
    background: #FFF;
    padding: clamp(80px, 10.834vw, 130px) 0 clamp(100px, 15vw, 180px);
    margin-top: -2px; }
    @media screen and (max-width: 820px) {
      .sec02 .white_bg {
        padding: 80px 0 clamp(100px, 15vw, 180px); } }
    @media screen and (max-width: 480px) {
      .sec02 .white_bg {
        padding: 0px 0 100px; } }
    .sec02 .white_bg .sec02_item01 {
      position: relative;
      margin-bottom: clamp(100px, 20.834vw, 250px); }
      @media screen and (max-width: 820px) {
        .sec02 .white_bg .sec02_item01 {
          margin-bottom: 100px; } }
      @media screen and (max-width: 480px) {
        .sec02 .white_bg .sec02_item01 {
          flex-direction: column;
          row-gap: 20px; } }
      .sec02 .white_bg .sec02_item01 .sec02_item01_photo {
        position: absolute;
        left: -16.67%;
        top: -10%; }
        @media screen and (max-width: 1500px) {
          .sec02 .white_bg .sec02_item01 .sec02_item01_photo {
            left: -3%;
            top: -4%; } }
        @media screen and (max-width: 480px) {
          .sec02 .white_bg .sec02_item01 .sec02_item01_photo {
            position: relative;
            left: auto;
            top: auto;
            width: 90%;
            margin: 0 auto; } }
        .sec02 .white_bg .sec02_item01 .sec02_item01_photo img {
          box-shadow: 5px 5px 10px rgba(86, 46, 0, 0.4); }
        .sec02 .white_bg .sec02_item01 .sec02_item01_photo::after {
          border-color: #f1bc6d;
          top: 6%;
          left: 6%; }
      .sec02 .white_bg .sec02_item01 .sec02_item01_in {
        width: 93.34%;
        margin-left: auto;
        flex-wrap: wrap; }
        @media screen and (max-width: 480px) {
          .sec02 .white_bg .sec02_item01 .sec02_item01_in {
            width: 100%; } }
        .sec02 .white_bg .sec02_item01 .sec02_item01_in .text_wrap {
          width: 66.08%;
          margin-left: auto; }
          @media screen and (max-width: 480px) {
            .sec02 .white_bg .sec02_item01 .sec02_item01_in .text_wrap {
              width: 100%;
              margin-bottom: 50px; } }
          .sec02 .white_bg .sec02_item01 .sec02_item01_in .text_wrap .sec_ttl {
            text-align: left; }
        .sec02 .white_bg .sec02_item01 .sec02_item01_in .sec02_item01_photo_group {
          flex-wrap: wrap;
          justify-content: flex-start;
          gap: 20px 1.775%;
          position: relative; }
          @media screen and (max-width: 480px) {
            .sec02 .white_bg .sec02_item01 .sec02_item01_in .sec02_item01_photo_group {
              gap: 20px 4%; } }
          .sec02 .white_bg .sec02_item01 .sec02_item01_in .sec02_item01_photo_group:before {
            content: "";
            display: block;
            width: 32.15%; }
            @media screen and (max-width: 480px) {
              .sec02 .white_bg .sec02_item01 .sec02_item01_in .sec02_item01_photo_group:before {
                content: none; } }
          .sec02 .white_bg .sec02_item01 .sec02_item01_in .sec02_item01_photo_group .photo {
            width: 32.15%; }
            @media screen and (max-width: 480px) {
              .sec02 .white_bg .sec02_item01 .sec02_item01_in .sec02_item01_photo_group .photo {
                width: 48%; } }
          .sec02 .white_bg .sec02_item01 .sec02_item01_in .sec02_item01_photo_group .en_img01 {
            position: absolute;
            right: -17.85%;
            bottom: -6.5%;
            width: 48.13%; }
            @media screen and (max-width: 1600px) {
              .sec02 .white_bg .sec02_item01 .sec02_item01_in .sec02_item01_photo_group .en_img01 {
                right: 0;
                bottom: -4%;
                width: 32%; } }
            @media screen and (max-width: 480px) {
              .sec02 .white_bg .sec02_item01 .sec02_item01_in .sec02_item01_photo_group .en_img01 {
                position: relative;
                inset: auto;
                width: 100%;
                margin-bottom: 10px; } }
    .sec02 .white_bg .sec02_item02 {
      width: 93.34%;
      margin-left: auto;
      position: relative;
      margin-bottom: clamp(100px, 20.834vw, 250px); }
      @media screen and (max-width: 820px) {
        .sec02 .white_bg .sec02_item02 {
          margin-bottom: 100px; } }
      @media screen and (max-width: 480px) {
        .sec02 .white_bg .sec02_item02 {
          width: 100%;
          flex-direction: column;
          row-gap: 20px;
          margin-bottom: 80px; } }
      .sec02 .white_bg .sec02_item02 .sec02_item02_photo {
        position: absolute;
        right: -24.16%;
        top: -10%; }
        @media screen and (max-width: 1600px) {
          .sec02 .white_bg .sec02_item02 .sec02_item02_photo {
            right: -5%;
            top: 5%; } }
        @media screen and (max-width: 480px) {
          .sec02 .white_bg .sec02_item02 .sec02_item02_photo {
            position: relative;
            right: auto;
            top: auto;
            width: 90%;
            margin: 0 auto; } }
        .sec02 .white_bg .sec02_item02 .sec02_item02_photo img {
          box-shadow: -5px 5px 10px rgba(31, 42, 70, 0.4); }
        .sec02 .white_bg .sec02_item02 .sec02_item02_photo::after {
          border-color: #85b1df;
          top: 4%;
          left: -6%; }
      .sec02 .white_bg .sec02_item02 .sec02_item02_in {
        flex-wrap: wrap; }
        .sec02 .white_bg .sec02_item02 .sec02_item02_in .text_wrap {
          width: 80.84%; }
          @media screen and (max-width: 480px) {
            .sec02 .white_bg .sec02_item02 .sec02_item02_in .text_wrap {
              width: 100%;
              margin-bottom: 50px; } }
          .sec02 .white_bg .sec02_item02 .sec02_item02_in .text_wrap .read {
            width: 76.29%; }
            @media screen and (max-width: 480px) {
              .sec02 .white_bg .sec02_item02 .sec02_item02_in .text_wrap .read {
                width: 100%; } }
        .sec02 .white_bg .sec02_item02 .sec02_item02_in .en_img02 {
          position: absolute;
          left: -15%;
          bottom: 3%;
          width: 43.22%; }
          @media screen and (max-width: 1600px) {
            .sec02 .white_bg .sec02_item02 .sec02_item02_in .en_img02 {
              left: 0;
              width: 30%; } }
          @media screen and (max-width: 480px) {
            .sec02 .white_bg .sec02_item02 .sec02_item02_in .en_img02 {
              position: relative;
              left: auto;
              bottom: auto;
              width: 100%;
              margin-bottom: 30px; } }
        .sec02 .white_bg .sec02_item02 .sec02_item02_in .sec02_item02_photo_group {
          flex-wrap: wrap;
          justify-content: flex-start;
          gap: 20px 1.775%;
          position: relative; }
          @media screen and (max-width: 480px) {
            .sec02 .white_bg .sec02_item02 .sec02_item02_in .sec02_item02_photo_group {
              gap: 20px 4%; } }
          .sec02 .white_bg .sec02_item02 .sec02_item02_in .sec02_item02_photo_group .photo {
            width: 32.15%; }
            @media screen and (max-width: 480px) {
              .sec02 .white_bg .sec02_item02 .sec02_item02_in .sec02_item02_photo_group .photo {
                width: 48%; } }
            .sec02 .white_bg .sec02_item02 .sec02_item02_in .sec02_item02_photo_group .photo.hidden {
              visibility: hidden; }
              @media screen and (max-width: 480px) {
                .sec02 .white_bg .sec02_item02 .sec02_item02_in .sec02_item02_photo_group .photo.hidden {
                  display: none; } }
    .sec02 .white_bg .sec02_item03 {
      position: relative; }
      .sec02 .white_bg .sec02_item03 .sec02_item03_photo {
        position: absolute;
        left: -19.16%;
        top: 0; }
        @media screen and (max-width: 1600px) {
          .sec02 .white_bg .sec02_item03 .sec02_item03_photo {
            left: -3%; } }
        @media screen and (max-width: 480px) {
          .sec02 .white_bg .sec02_item03 .sec02_item03_photo {
            position: relative;
            left: auto;
            top: auto;
            width: 90%;
            margin: 0 auto 30px; } }
        .sec02 .white_bg .sec02_item03 .sec02_item03_photo img {
          box-shadow: 5px 5px 10px rgba(55, 72, 11, 0.2); }
        .sec02 .white_bg .sec02_item03 .sec02_item03_photo::after {
          border-color: #339b61;
          top: -4%;
          left: 8%; }
      .sec02 .white_bg .sec02_item03 .sec02_item03_in {
        width: 61.67%;
        margin-left: auto;
        flex-wrap: wrap; }
        @media screen and (max-width: 480px) {
          .sec02 .white_bg .sec02_item03 .sec02_item03_in {
            width: 100%; } }
        .sec02 .white_bg .sec02_item03 .sec02_item03_in .text_wrap {
          width: 100%; }
          @media screen and (max-width: 480px) {
            .sec02 .white_bg .sec02_item03 .sec02_item03_in .text_wrap {
              margin-bottom: 50px; } }
        .sec02 .white_bg .sec02_item03 .sec02_item03_in .en_img03 {
          position: absolute;
          left: -5.84%;
          bottom: 3%;
          width: 41.09%; }
          @media screen and (max-width: 1600px) {
            .sec02 .white_bg .sec02_item03 .sec02_item03_in .en_img03 {
              left: 3%;
              width: 32%; } }
          @media screen and (max-width: 480px) {
            .sec02 .white_bg .sec02_item03 .sec02_item03_in .en_img03 {
              position: relative;
              left: auto;
              bottom: auto;
              width: 100%;
              margin-bottom: 30px; } }
        .sec02 .white_bg .sec02_item03 .sec02_item03_in .sec02_item03_photo_group {
          flex-wrap: wrap;
          justify-content: flex-start;
          gap: 20px 1.775%;
          position: relative; }
          .sec02 .white_bg .sec02_item03 .sec02_item03_in .sec02_item03_photo_group .photo {
            width: 48.65%; }

.sec03 {
  position: relative; }
  .sec03 .sec03_main {
    position: relative;
    width: 100%;
    height: 450px;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../images/sec03_main_bg.jpg"); }
    @media screen and (max-width: 820px) {
      .sec03 .sec03_main {
        height: 300px; } }
    @media screen and (max-width: 480px) {
      .sec03 .sec03_main {
        height: 150px; } }
    .sec03 .sec03_main .life_ttl {
      position: absolute;
      inset: 0;
      display: flex;
      justify-content: center;
      align-items: center; }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_main .life_ttl {
          width: 40%;
          margin: 0 auto; } }
    .sec03 .sec03_main .cap {
      right: 5%; }
      @media screen and (max-width: 480px) {
        .sec03 .sec03_main .cap {
          right: 5px; } }
  .sec03 .map_life_wrap {
    background: #595757;
    padding: 200px 0; }
    .sec03 .map_life_wrap .dummy_txt {
      font-size: clamp(20px, 2.5vw, 30px);
      color: #FFF;
      text-align: center; }

.caption_area .cap_inner p {
  color: #FFF; }

/*# sourceMappingURL=style.css.map */
