/*! Writen  by SCSS */
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&family=Noto+Sans+JP:wght@100..900&display=swap");
.gothic {
  font-family: "Noto Sans JP", sans-serif; }

.img_cap {
  position: relative; }
  .img_cap .cap {
    display: block;
    z-index: 1;
    position: absolute;
    right: 5px;
    bottom: 5px;
    font-size: 12px;
    line-height: 1;
    color: #fff;
    text-shadow: black 1px 1px 10px, black -1px 1px 10px, black 1px -1px 10px, black -1px -1px 10px; }

@media screen and (max-width: 1900px) {
  .vpc1900 {
    display: none; } }
@media not screen, screen and (min-width: 1901px) {
  .vsp1900 {
    display: none; } }
@media screen and (max-width: 1800px) {
  .vpc1800 {
    display: none; } }
@media not screen, screen and (min-width: 1801px) {
  .vsp1800 {
    display: none; } }
@media screen and (max-width: 1600px) {
  .vpc1600 {
    display: none; } }
@media not screen, screen and (min-width: 1601px) {
  .vsp1600 {
    display: none; } }
@media screen and (max-width: 1500px) {
  .vpc1500 {
    display: none; } }
@media not screen, screen and (min-width: 1501px) {
  .vsp1500 {
    display: none; } }
@media screen and (max-width: 1400px) {
  .vpc1400 {
    display: none; } }
@media not screen, screen and (min-width: 1401px) {
  .vsp1400 {
    display: none; } }
@media screen and (max-width: 1300px) {
  .vpc1300 {
    display: none; } }
@media not screen, screen and (min-width: 1301px) {
  .vsp1300 {
    display: none; } }
@media screen and (max-width: 1200px) {
  .vpc1200 {
    display: none; } }
@media not screen, screen and (min-width: 1201px) {
  .vsp1200 {
    display: none; } }
@media screen and (max-width: 1024px) {
  .vpc1024 {
    display: none; } }
@media not screen, screen and (min-width: 1025px) {
  .vsp1024 {
    display: none; } }
@media screen and (max-width: 960px) {
  .vpc960 {
    display: none; } }
@media not screen, screen and (min-width: 961px) {
  .vsp960 {
    display: none; } }
@media screen and (max-width: 900px) {
  .vpc900 {
    display: none; } }
@media not screen, screen and (min-width: 901px) {
  .vsp900 {
    display: none; } }
@media screen and (max-width: 768px) {
  .vpc768 {
    display: none; } }
@media not screen, screen and (min-width: 769px) {
  .vsp768 {
    display: none; } }
@media screen and (max-width: 767px) {
  .vpc767 {
    display: none; } }
@media not screen, screen and (min-width: 768px) {
  .vsp767 {
    display: none; } }
@media screen and (max-width: 640px) {
  .vpc640 {
    display: none; } }
@media not screen, screen and (min-width: 641px) {
  .vsp640 {
    display: none; } }
@media screen and (max-width: 480px) {
  .vpc480 {
    display: none; } }
@media not screen, screen and (min-width: 481px) {
  .vsp480 {
    display: none; } }
@media screen and (max-width: 375px) {
  .vpc375 {
    display: none; } }
@media not screen, screen and (min-width: 376px) {
  .vsp375 {
    display: none; } }
@media screen and (max-width: 360px) {
  .vpc360 {
    display: none; } }
@media not screen, screen and (min-width: 361px) {
  .vsp360 {
    display: none; } }
@media screen and (max-width: 320px) {
  .vpc320 {
    display: none; } }
@media not screen, screen and (min-width: 321px) {
  .vsp320 {
    display: none; } }
.mt10 {
  margin-top: 10px; }

header {
  height: 100px;
  display: flex;
  align-items: center; }

body {
  background: #f4ede6;
  overflow-x: hidden; }

footer.footer-container {
  padding-bottom: 50px;
  background: none;
  position: relative; }
  footer.footer-container .bg_07 {
    position: absolute;
    right: 0;
    bottom: 0;
    width: calc(456%/16);
    pointer-events: none; }
    footer.footer-container .bg_07 img {
      max-width: 100%; }
  footer.footer-container .gnav_wraps {
    position: relative;
    z-index: 2; }
    @media screen and (max-width: 480px) {
      footer.footer-container .gnav_wraps {
        padding-top: 0; } }

main {
  max-width: 100%; }
  main img {
    max-width: 100%;
    height: auto;
    display: block; }

.cap_l {
  font-size: clamp(10px, 1vw, 12px);
  line-height: 1.2; }

.ta_c {
  text-align: center; }

@media screen and (max-width: 480px) {
  .sp_cap_l {
    text-align: left; } }

.town-mv {
  position: relative; }
  @media screen and (max-width: 480px) {
    .town-mv figure {
      aspect-ratio: 480 / 500;
      overflow: hidden; }
      .town-mv figure img.fit-img {
        object-fit: cover;
        width: 100%;
        height: 100%; } }
  .town-mv .main_txt {
    position: absolute;
    inset: 0;
    margin: auto;
    max-width: 530px;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 1400px) {
      .town-mv .main_txt {
        width: calc(530%/14); } }
    @media screen and (max-width: 480px) {
      .town-mv .main_txt {
        max-width: 400px;
        width: calc(100% - 80px); } }
  .town-mv .cap {
    font-size: clamp(10px, 1.16vw, 14px);
    padding: 5px; }
    .town-mv .cap .l {
      font-size: 160%; }
  .town-mv .cap1 {
    left: 0;
    right: auto; }

.inner {
  max-width: 1100px;
  width: calc(100% - 40px);
  margin: 0 auto; }

.read {
  font-size: clamp(14px, 1.66vw, 20px); }

.sec02 {
  position: relative; }
  .sec02 > div {
    position: relative;
    z-index: 3; }
  .sec02 .bg_01 {
    position: absolute;
    top: 30px;
    right: 0;
    width: calc(456%/16); }
  .sec02 .bg_02 {
    position: absolute;
    top: 22vw;
    left: 0;
    width: calc(867%/16); }
  .sec02 .bg_03 {
    position: absolute;
    bottom: 33vw;
    right: 0;
    width: calc(519%/16); }
  .sec02 .bg_04 {
    position: absolute;
    bottom: -33vw;
    left: 0;
    width: calc(371%/16); }

.sec03 {
  position: relative;
  z-index: 3; }
  .sec03 .bg_wrap {
    overflow: hidden;
    position: relative; }
    .sec03 .bg_wrap > div {
      position: relative;
      z-index: 3; }
  .sec03 .bg_05 {
    position: absolute;
    top: -8vw;
    right: 0;
    width: calc(554%/16); }
  .sec03 .bg_06 {
    position: absolute;
    top: 10vw;
    left: 0;
    width: calc(867%/16); }

.sec01 {
  padding: 10px 0 45px;
  background: url("../images/bg01.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .sec01 .item_wrap {
    position: relative;
    margin: 70px auto 30px; }
    @media screen and (max-width: 480px) {
      .sec01 .item_wrap {
        margin: 40px auto 20px; } }
    .sec01 .item_wrap .txt_001 {
      width: calc(822%/11);
      margin: 0 auto; }
      @media screen and (max-width: 480px) {
        .sec01 .item_wrap .txt_001 {
          width: 100%; } }
  .sec01 .img001 {
    width: calc(640%/11);
    margin: 0 auto 20px; }
    @media screen and (max-width: 768px) {
      .sec01 .img001 {
        width: 100%; } }
  .sec01 .txt_002 {
    width: calc(616%/11);
    margin: 0 auto 40px; }
    @media screen and (max-width: 480px) {
      .sec01 .txt_002 {
        width: 100%; } }

.sec02 {
  padding: 130px 0 85px; }
  @media screen and (max-width: 768px) {
    .sec02 {
      padding: 50px 0 45px; } }
  .sec02 .txt_003 {
    width: calc(756%/11);
    margin: 0 auto; }
    @media screen and (max-width: 480px) {
      .sec02 .txt_003 {
        width: 100%; } }
  .sec02 .box01 {
    margin-bottom: 210px; }
    @media screen and (max-width: 1000px) {
      .sec02 .box01 {
        margin-bottom: calc(150%/10); } }
    .sec02 .box01 .txt_003 {
      margin-bottom: 65px; }
      @media screen and (max-width: 768px) {
        .sec02 .box01 .txt_003 {
          margin-bottom: 30px; } }
    .sec02 .box01 .read {
      letter-spacing: 0.15em;
      line-height: 2.15;
      position: relative;
      z-index: 3; }
    .sec02 .box01 .inner {
      position: relative;
      z-index: 3; }
    .sec02 .box01 .illustr1 {
      width: calc(176%/11);
      position: absolute;
      top: 4vw;
      left: calc(-12%/11); }
      @media screen and (max-width: 1200px) {
        .sec02 .box01 .illustr1 {
          left: 0; } }
      @media screen and (max-width: 768px) {
        .sec02 .box01 .illustr1 {
          opacity: 0.7; } }
    .sec02 .box01 .illustr2 {
      width: calc(303%/11);
      position: absolute;
      bottom: -6vw;
      right: calc(-86%/11); }
      @media screen and (max-width: 1200px) {
        .sec02 .box01 .illustr2 {
          right: -10px;
          bottom: -10vw; } }
      @media screen and (max-width: 768px) {
        .sec02 .box01 .illustr2 {
          opacity: 0.7; } }
  .sec02 .box02 {
    margin-bottom: 165px; }
    @media screen and (max-width: 1000px) {
      .sec02 .box02 {
        margin-bottom: calc(165%/10); } }
    @media screen and (max-width: 480px) {
      .sec02 .box02 {
        margin-bottom: 80px; } }
    .sec02 .box02 .txt_004 {
      max-width: 1600px;
      width: 100%;
      margin: 0 auto 70px; }
      @media screen and (max-width: 768px) {
        .sec02 .box02 .txt_004 {
          margin-bottom: 25px; } }
      .sec02 .box02 .txt_004 img {
        width: calc(323%/16);
        padding-right: calc(48%/16);
        margin-left: auto; }
        @media screen and (max-width: 480px) {
          .sec02 .box02 .txt_004 img {
            width: 100%; } }
    .sec02 .box02 .in_item {
      display: flex;
      justify-content: center; }
      @media screen and (max-width: 480px) {
        .sec02 .box02 .in_item {
          flex-direction: column;
          gap: 60px 0; } }
      .sec02 .box02 .in_item .imgs {
        width: calc(400%/11); }
        @media screen and (max-width: 768px) {
          .sec02 .box02 .in_item .imgs {
            width: calc(400%/7); } }
        @media screen and (max-width: 480px) {
          .sec02 .box02 .in_item .imgs {
            width: 80%;
            margin: 0 auto;
            max-width: 400px; } }
        .sec02 .box02 .in_item .imgs.img201 {
          margin-right: calc(157%/11); }
          @media screen and (max-width: 768px) {
            .sec02 .box02 .in_item .imgs.img201 {
              margin-right: calc(60%/11); } }
          @media screen and (max-width: 480px) {
            .sec02 .box02 .in_item .imgs.img201 {
              margin: 0 auto; } }
  .sec02 .box03 {
    margin-bottom: 100px; }
    @media screen and (max-width: 1000px) {
      .sec02 .box03 {
        margin-bottom: calc(100%/10); } }
    .sec02 .box03 .txt_004 {
      max-width: 1600px;
      width: 100%;
      margin: 0 auto 70px; }
      @media screen and (max-width: 768px) {
        .sec02 .box03 .txt_004 {
          margin-bottom: 25px; } }
      .sec02 .box03 .txt_004 img {
        width: calc(323%/16);
        padding-left: calc(48%/16);
        margin-right: auto; }
        @media screen and (max-width: 480px) {
          .sec02 .box03 .txt_004 img {
            width: 100%;
            padding: 0; } }
    .sec02 .box03 .in_item {
      display: flex;
      justify-content: center; }
      @media screen and (max-width: 480px) {
        .sec02 .box03 .in_item {
          flex-direction: column;
          gap: 60px 0; } }
      .sec02 .box03 .in_item .imgs {
        width: calc(418%/11); }
        @media screen and (max-width: 768px) {
          .sec02 .box03 .in_item .imgs {
            width: calc(418%/7); } }
        @media screen and (max-width: 480px) {
          .sec02 .box03 .in_item .imgs {
            width: 80%;
            margin: 0 auto;
            max-width: 418px; } }
        .sec02 .box03 .in_item .imgs.img203 {
          margin-right: calc(100%/11); }
          @media screen and (max-width: 480px) {
            .sec02 .box03 .in_item .imgs.img203 {
              margin: 0 auto; } }
  .sec02 .txt_005 {
    width: calc(671%/11);
    margin: 0 auto; }
    @media screen and (max-width: 480px) {
      .sec02 .txt_005 {
        width: 100%; } }

.sec03 .inner01 {
  padding: 170px 0 140px; }
  @media screen and (max-width: 768px) {
    .sec03 .inner01 {
      padding: calc(140%/7.68) 0; } }
  .sec03 .inner01 .txt_006 {
    width: calc(691%/11);
    margin: 0 auto; }
    @media screen and (max-width: 480px) {
      .sec03 .inner01 .txt_006 {
        width: 100%; } }
.sec03 .txt_box {
  background: #fff;
  position: relative;
  margin-bottom: 140px; }
  @media screen and (max-width: 768px) {
    .sec03 .txt_box {
      margin-bottom: calc(140%/7.68); } }
  .sec03 .txt_box::before {
    content: "";
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
    width: 100%;
    background-image: url("../images/line_bottom.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: auto 100%;
    padding-top: 50px; }
    @media screen and (max-width: 768px) {
      .sec03 .txt_box::before {
        padding-top: 30px;
        top: -30px; } }
  .sec03 .txt_box::after {
    content: "";
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    width: 100%;
    background-image: url("../images/line_top.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 100%;
    padding-top: 50px; }
    @media screen and (max-width: 768px) {
      .sec03 .txt_box::after {
        padding-top: 30px;
        bottom: -30px; } }
  .sec03 .txt_box .inner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 340px;
    position: relative; }
    @media screen and (max-width: 768px) {
      .sec03 .txt_box .inner {
        height: auto;
        padding: 40px 0; } }
    .sec03 .txt_box .inner .illustr3 {
      width: calc(194%/11);
      position: absolute;
      left: 0;
      top: -2vw;
      z-index: 2; }
      @media screen and (max-width: 480px) {
        .sec03 .txt_box .inner .illustr3 {
          left: -10px;
          opacity: 0.7; } }
    .sec03 .txt_box .inner .illustr4 {
      width: calc(196%/11);
      position: absolute;
      right: 0;
      bottom: 0;
      z-index: 2; }
      @media screen and (max-width: 480px) {
        .sec03 .txt_box .inner .illustr4 {
          right: -10px;
          opacity: 0.7; } }
  .sec03 .txt_box .txts {
    display: flex;
    flex-direction: column;
    gap: 30px 0; }
    .sec03 .txt_box .txts .txt {
      display: flex;
      align-items: center;
      gap: 0 15px; }
      .sec03 .txt_box .txts .txt img {
        width: 39px;
        height: 30px; }
      .sec03 .txt_box .txts .txt p {
        font-size: clamp(14px, 2vw, 22px); }
.sec03 .box04 .txt_007 {
  width: calc(454%/11);
  margin: 0 auto 70px; }
  @media screen and (max-width: 768px) {
    .sec03 .box04 .txt_007 {
      margin-bottom: calc(70%/7.68); } }
  @media screen and (max-width: 480px) {
    .sec03 .box04 .txt_007 {
      width: 100%; } }
.sec03 .box04 .txts {
  color: #5a4f4a;
  display: flex;
  justify-content: space-between;
  margin-bottom: 70px; }
  @media screen and (max-width: 768px) {
    .sec03 .box04 .txts {
      flex-direction: column;
      gap: 60px 0; } }
  .sec03 .box04 .txts > div {
    text-align: center; }
  .sec03 .box04 .txts .txt_box1 .line2 {
    margin: 22px auto 30px;
    display: block;
    width: 49px; }
  .sec03 .box04 .txts .txt_box1 p {
    font-weight: bold; }
  .sec03 .box04 .txts .txt_box1 .txt1 {
    font-size: clamp(16px, 2.9vw, 32px);
    margin-bottom: 1em;
    line-height: 1;
    letter-spacing: 0; }
  .sec03 .box04 .txts .txt_box1 .txt2 {
    font-size: clamp(14px, 2vw, 22px);
    line-height: 1.59;
    letter-spacing: 0; }
  .sec03 .box04 .txts .txt_box2 {
    display: flex;
    flex-direction: column;
    gap: 4em 0; }
    @media screen and (max-width: 768px) {
      .sec03 .box04 .txts .txt_box2 {
        gap: 1em; } }
    .sec03 .box04 .txts .txt_box2 p {
      font-size: clamp(12px, 1.81vw, 20px); }
      .sec03 .box04 .txts .txt_box2 p.bg_txt {
        width: 5em;
        display: inline-block;
        color: #fff;
        padding: 0.3em;
        border-radius: 1em;
        background: #5a4f4a;
        margin-bottom: 0.3em; }
      .sec03 .box04 .txts .txt_box2 p.bg_txt_copy {
        line-height: 1.59; }

.upper-nav {
  max-width: 480px;
  width: 100%;
  margin: 0 auto; }
  @media screen and (max-width: 900px) {
    .upper-nav {
      max-width: 360px; } }
  .upper-nav .entry a {
    text-align: left;
    display: flex;
    align-items: center;
    height: auto;
    background: #5a4f4a;
    color: #fff;
    border-radius: 40px;
    padding: 20px 25px; }
    @media screen and (max-width: 680px) {
      .upper-nav .entry a {
        padding: 10px 20px; } }
    .upper-nav .entry a .ico.ico_req {
      width: 40px;
      margin-right: 20px; }
      @media screen and (max-width: 900px) {
        .upper-nav .entry a .ico.ico_req {
          width: calc(40%/3.03);
          margin-right: calc(20%/3.03); } }
      @media screen and (max-width: 480px) {
        .upper-nav .entry a .ico.ico_req {
          width: calc(35%/3.03);
          margin-right: calc(15%/3.03); } }
    .upper-nav .entry a .ico.ico_res {
      width: 37px;
      margin-right: 23px; }
      @media screen and (max-width: 900px) {
        .upper-nav .entry a .ico.ico_res {
          width: calc(40%/3.03);
          margin-right: calc(23%/3.03); } }
      @media screen and (max-width: 480px) {
        .upper-nav .entry a .ico.ico_res {
          width: calc(35%/3.03);
          margin-right: calc(15%/3.03); } }
    .upper-nav .entry a .ico img {
      width: 100%;
      max-width: auto; }
    .upper-nav .entry a .ico_arrow {
      margin-left: auto;
      width: 25px; }
      @media screen and (max-width: 900px) {
        .upper-nav .entry a .ico_arrow {
          width: calc(25%/3.03); } }
      .upper-nav .entry a .ico_arrow img {
        width: 100%;
        max-width: auto; }
    .upper-nav .entry a .txt {
      font-size: 20px;
      letter-spacing: 0.15em;
      display: flex;
      flex-direction: column;
      margin-right: 20px; }
      @media screen and (max-width: 900px) {
        .upper-nav .entry a .txt {
          margin-right: calc(23%/3.03); } }
      @media screen and (max-width: 680px) {
        .upper-nav .entry a .txt {
          font-size: 13px; } }
      .upper-nav .entry a .txt .en {
        margin-top: 0.5em;
        font-size: 13px;
        font-family: "Jost", sans-serif;
        font-weight: 400;
        letter-spacing: 0.29em; }
        @media screen and (max-width: 680px) {
          .upper-nav .entry a .txt .en {
            font-size: 10px; } }

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