@charset "UTF-8";
/****************************************
Break Point Settings
****************************************/
.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block !important;
  }
}

/*********************************************************

					　　　　初期設定

**********************************************************/
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  line-height: 1.5;
  margin: 0 auto;
  width: 100%;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  color: #333;
  font-style: normal;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

p {
  font-size: min(2.1vw,25px);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  p {
    font-size: min(4.68vw,32px);
  }
}

.eng {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.05em;
}

.readtext {
  font-size: min(1.6vw,18px);
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .readtext {
    font-size: min(4vw,24px);
  }
}
.readtext.small {
  font-size: min(1.64vw,16px);
}
@media screen and (max-width: 767px) {
  .readtext.small {
    font-size: min(3.75vw,16px);
  }
}
.readtext.big {
  font-size: min(2.01vw,20px);
}
@media screen and (max-width: 767px) {
  .readtext.big {
    font-size: min(4.375vw,20px);
  }
}
.readtext.big2 {
  font-size: min(2.41vw,24px);
}

.annotation {
  font-size: min(1.56vw,14px);
  line-height: 1.5;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .annotation {
    font-size: 10px;
  }
}

.subtitle {
  font-size: 28px;
}

h2 {
  font-size: min(4vw,50px);
  font-weight: 400;
  line-height: 1.5;
  margin: 0 auto;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 8vw;
  }
}

h3 {
  font-size: min(3.64vw,40px);
  font-weight: 600;
  line-height: 1.5;
  margin: 0 auto;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  h3 {
    font-size: 5.6vw;
  }
}

h4 {
  font-size: min(3.12vw,35px);
  font-weight: 500;
  line-height: 1.5;
  margin: 0 auto;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

h5 {
  font-size: min(1.95vw,23px);
  font-weight: 500;
  line-height: 1.5;
  margin: 0 auto;
  color: #901826;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.ex {
  -webkit-transform: translateY(5vw);
          transform: translateY(5vw);
  opacity: 0;
  -webkit-transition: ease 0.7s;
  transition: ease 0.7s;
}
.ex.delay {
  -webkit-transition: linear 0.5s 0.15s;
  transition: linear 0.5s 0.15s;
}
@media screen and (max-width: 767px) {
  .ex.delay {
    -webkit-transition: linear 0.5s;
    transition: linear 0.5s;
  }
}
.ex.active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

.splide__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .splide__pagination {
    gap: 10px;
  }
}

.splide__pagination__page {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #3E281C;
  cursor: pointer;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
@media screen and (max-width: 767px) {
  .splide__pagination__page {
    width: 10px;
    height: 10px;
  }
}

.splide__pagination__page.is-active {
  background-color: #3E281C;
}

input[type=checkbox] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  -moz-appearance: auto !important;
  display: inline-block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: initial !important;
}

/*********************************************************

					　　　　header

**********************************************************/
.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 20;
}
.header .inner {
  width: calc(100% - 20px);
  margin-left: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .header .inner {
    height: 10vw;
    max-height: 70px;
    min-height: 50px;
    width: calc(100% - 10px);
    margin-left: 10px;
  }
}
.header .inner a {
  height: 48px;
  width: auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .header .inner a {
    height: 70%;
  }
}
.header .inner a .logo {
  height: 100%;
  width: auto;
}
.header .inner a:hover {
  opacity: 0.6;
}
.header .inner .sp-menu {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
  height: 100%;
  aspect-ratio: 1/1;
  background: #1D1C21;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .header .inner .sp-menu {
    display: block;
  }
  .header .inner .sp-menu span {
    font-size: min(2.3vw,12px);
    position: relative;
    width: 40%;
    height: 2px;
    background: #fff;
    display: block;
    margin-left: 30%;
    margin-top: calc(50% - 1px);
    -webkit-transition: ease 0.3s;
    transition: ease 0.3s;
  }
  .header .inner .sp-menu span::before, .header .inner .sp-menu span::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform-origin: center;
            transform-origin: center;
    display: block;
    background: #fff;
    -webkit-transition: ease 0.3s;
    transition: ease 0.3s;
  }
  .header .inner .sp-menu span::before {
    -webkit-transform: translateY(1em);
            transform: translateY(1em);
  }
  .header .inner .sp-menu span::after {
    -webkit-transform: translateY(-1em);
            transform: translateY(-1em);
  }
  .header .inner .sp-menu:hover span {
    background: transparent;
  }
  .header .inner .sp-menu:hover span::before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .header .inner .sp-menu:hover span::after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .header .inner #menu-open {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: translateX(101%);
            transform: translateX(101%);
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: -1;
  }
  .header .inner #menu-open.active {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .header .inner #menu-open .sp-menuback {
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
    z-index: -1;
  }
}
.header .inner .menu {
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .header .inner .menu {
    position: absolute;
    top: 20%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 2;
    width: 80%;
    max-width: 400px;
    display: block;
  }
}
.header .inner .menu li {
  font-size: min(1.6vw,18px);
  line-height: 1.4;
  height: auto;
  width: 14vw;
  max-width: 14em;
  -ms-flex-line-pack: center;
      align-content: center;
  display: grid;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .header .inner .menu li {
    width: 100%;
    font-size: min(4.375vw,18px);
    max-width: none;
    height: 3.3em;
  }
}
.header .inner .menu li span {
  display: inline-block;
}
.header .inner .menu li:first-of-type {
  font-size: min(1.56vw,14px);
  text-align: right;
  margin-right: 1em;
  color: #333;
  width: auto;
}
@media screen and (max-width: 767px) {
  .header .inner .menu li:first-of-type {
    width: 100%;
    font-size: 4.375vw;
    margin-right: 0;
    text-align: center;
    height: auto;
  }
}
.header .inner .menu li:nth-of-type(2) {
  background: #4DA634;
  color: white;
  position: relative;
}
.header .inner .menu li:nth-of-type(3) {
  background: #EB8795;
}
.header .inner .menu li:nth-of-type(4) {
  background: #704C01;
}
.header .inner .menu li:nth-of-type(5) {
  background: #B2C327;
}
.header .inner .menu li a {
  width: 100%;
  height: 70px;
  display: block;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-transition: ease 0.5s;
  transition: ease 0.5s;
}
.header .inner .menu li a.textlink {
  height: auto;
}
@media screen and (max-width: 767px) {
  .header .inner .menu li a.textlink {
    margin-bottom: 0.5em;
    text-decoration: underline;
  }
}
.header .inner .menu li a:hover {
  opacity: 0.6;
}
.header .inner .menu li.menu2 ul li {
  font-size: min(4.375vw,18px);
  background: #333;
  color: #fff;
  height: 3.3em;
  border-bottom: 1px solid #fff;
}
.header .inner .menu li.menu2 ul li:last-of-type {
  border: 0;
}
.header .inner h1 {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-200%);
          transform: translateY(-200%);
}
.header .sub-menu {
  width: 100%;
  background: #1D1C21;
}
.header .sub-menu .inner2 {
  width: calc(100% - 20px);
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .header .sub-menu .inner2 {
    height: 10vw;
    max-height: 70px;
    min-height: 50px;
    width: calc(100% - 10px);
    margin-left: 10px;
  }
}
.header .sub-menu .inner2 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
.header .sub-menu .inner2 ul li {
  width: 25%;
  height: 70px;
  text-align: center;
  font-size: min(1.6vw, 18px);
  color: #fff;
  line-height: 1.1;
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
}
.header .sub-menu .inner2 ul li span {
  font-size: min(1.3vw, 12px);
}
.header .sub-menu .inner2 ul li a {
  width: 100%;
  height: 100%;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
.header .sub-menu .inner2 ul li a:hover {
  opacity: 0.6;
}

/*********************************************************

					　　　　main

**********************************************************/
.main {
  width: 100%;
  height: auto;
  margin: 0 auto;
  overflow: hidden;
}
.main .notice {
  margin-top: 140px;
}
@media screen and (max-width: 767px) {
  .main .notice {
    margin-top: clamp(50px,10vw,70px);
  }
}
.main .notice .inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
.main .notice .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .notice .flex {
    display: block;
  }
}
.main .notice .flex p {
  font-size: min(1.45vw, 16px);
  line-height: 1.8;
  width: calc(100% - 8em);
  padding: 0.5em 1em 0.6em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .main .notice .flex p {
    width: 100%;
    font-size: min(3.75vw, 14px);
    line-height: 1.5;
  }
}
.main .notice .flex p.box {
  display: block;
  font-size: 19px;
  font-weight: 600;
  line-height: 2;
  background: #F39C12;
  color: #fff;
  width: 8em;
  text-align: center;
  -ms-flex-line-pack: center;
      align-content: center;
  padding: 0 0 0.1em 0;
}
@media screen and (max-width: 767px) {
  .main .notice .flex p.box {
    font-size: min(5vw, 19px);
    width: 100%;
    line-height: 1.2;
    padding: 0.2em 0;
  }
}
.main #top {
  position: relative;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .main #top {
    margin-top: 0;
  }
}
.main #top li .imgbox {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  display: block;
}
@media screen and (max-width: 767px) {
  .main #top li .imgbox {
    aspect-ratio: 750/991;
  }
}
.main #top li .imgbox.i1 {
  background: url(../img/top-slide01.webp) no-repeat center top/cover;
}
@media screen and (max-width: 767px) {
  .main #top li .imgbox.i1 {
    background: url(../img/top-slide01-sp.webp) no-repeat center/cover;
  }
}
.main #top li .imgbox.i2 {
  background: url(../img/top-slide02.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .main #top li .imgbox.i2 {
    background: url(../img/top-slide02-sp.webp) no-repeat center/cover;
  }
}
.main #top li .imgbox.i3 {
  background: url(../img/top-slide03.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .main #top li .imgbox.i3 {
    background: url(../img/top-slide03-sp.webp) no-repeat center/cover;
  }
}
.main #top li .imgbox.i4 {
  background: url(../img/top-slide04.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .main #top li .imgbox.i4 {
    background: url(../img/top-slide04-sp.webp) no-repeat center/cover;
  }
}
.main #top li .imgbox.i5 {
  background: url(../img/top-slide05.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .main #top li .imgbox.i5 {
    background: url(../img/top-slide05-sp.webp) no-repeat center/cover;
  }
}
.main #top h2 {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 93%;
  -webkit-transform: translateX(-40%);
          transform: translateX(-40%);
  max-width: 1600px;
  height: auto;
  opacity: 0;
  -webkit-transition: ease 2s;
  transition: ease 2s;
  mix-blend-mode: lighten;
}
.main #top h2 img {
  width: 100%;
  height: auto;
}
.main #top h2.loaded {
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0.8;
}
.main .sec01 {
  width: 100%;
}
.main .sec01 .wrap01 {
  padding: min(7.2vw,90px) 0;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap01 {
    padding: 9.33vw 0;
  }
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap01 .inner {
    width: 100%;
    max-width: none;
  }
}
.main .sec01 .wrap01 .eng {
  text-align: center;
  line-height: 1;
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap01 .eng {
    font-size: min(5.33vw,40px);
    margin-bottom: 1em;
  }
}
.main .sec01 .wrap01 .splide__pagination {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap01 .splide__pagination {
    margin-top: 6.5vw;
  }
}
.main .sec01 .wrap01 .list2 li {
  width: 30%;
}
.main .sec01 .wrap01 .list2 li a {
  width: 100%;
  height: auto;
  display: block;
}
.main .sec01 .wrap01 .list2 li a img {
  width: 100%;
  height: auto;
  padding: 0 4%;
}
.main .sec01 .wrap02 {
  padding: min(7.2vw,90px) 0;
  background: #1D1C21;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 {
    padding: 9.33vw 0 0;
  }
}
.main .sec01 .wrap02 .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex {
    display: block;
  }
}
.main .sec01 .wrap02 .flex .flex-wrap01 {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap01 {
    width: 100%;
  }
}
.main .sec01 .wrap02 .flex .flex-wrap01 .eng {
  text-align: left;
  margin-top: 0;
  margin-bottom: 0.5em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap01 .eng {
    font-size: min(5.33vw,40px);
  }
}
.main .sec01 .wrap02 .flex .flex-wrap01 table {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap01 table {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
}
.main .sec01 .wrap02 .flex .flex-wrap01 table tr:first-of-type {
  border-top: 1px solid #fff;
}
.main .sec01 .wrap02 .flex .flex-wrap01 table tr:first-of-type th, .main .sec01 .wrap02 .flex .flex-wrap01 table tr:first-of-type td {
  padding-top: 0.9em;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap01 table tr:first-of-type {
    border: 0;
  }
  .main .sec01 .wrap02 .flex .flex-wrap01 table tr:first-of-type td {
    padding-top: 0;
  }
}
.main .sec01 .wrap02 .flex .flex-wrap01 table tr:last-of-type {
  border-bottom: 1px solid #fff;
}
.main .sec01 .wrap02 .flex .flex-wrap01 table tr:last-of-type th, .main .sec01 .wrap02 .flex .flex-wrap01 table tr:last-of-type td {
  padding-bottom: 0.9em;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap01 table tr:last-of-type th {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap01 table tr:nth-of-type(4) td {
    padding-bottom: 0.9em;
  }
  .main .sec01 .wrap02 .flex .flex-wrap01 table tr:nth-of-type(5) {
    display: none;
  }
}
.main .sec01 .wrap02 .flex .flex-wrap01 table tr th, .main .sec01 .wrap02 .flex .flex-wrap01 table tr td {
  padding: 0.2em 0;
  font-size: min(1.30vw,15px);
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap01 table tr th, .main .sec01 .wrap02 .flex .flex-wrap01 table tr td {
    font-size: min(3.75vw,20px);
    display: block;
  }
}
.main .sec01 .wrap02 .flex .flex-wrap01 table tr td {
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap01 table tr td {
    padding-left: 0;
  }
}
.main .sec01 .wrap02 .flex .flex-wrap02 {
  width: 50%;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap02 {
    width: 100%;
    padding: 13.33vw 0;
    text-align: center;
  }
}
.main .sec01 .wrap02 .flex .flex-wrap02 div {
  text-align: center;
  display: inline-grid;
}
.main .sec01 .wrap02 .flex .flex-wrap02 div p {
  line-height: 1;
  margin-top: 0.9em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap02 div p {
    margin-top: 0.6em;
  }
}
.main .sec01 .wrap02 .flex .flex-wrap02 div .readtext {
  margin-top: 1.1em;
  line-height: 1;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap02 div .readtext {
    margin-top: 0.7em;
  }
}
.main .sec01 .wrap02 .flex .flex-wrap02 div .readtext.time {
  margin-top: 0;
}
.main .sec01 .wrap02 .flex .flex-wrap02 div .readtext:first-of-type {
  margin-top: 0;
}
.main .sec01 .wrap02 .flex .flex-wrap02 div .tel {
  position: relative;
  font-size: min(4.68vw,60px);
  padding-left: 1.3em;
  display: inline-block;
  line-height: 1;
  margin-top: 0.4em;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .main .sec01 .wrap02 .flex .flex-wrap02 div .tel {
    font-size: min(10.66vw,80px);
  }
}
.main .sec01 .wrap02 .flex .flex-wrap02 div .tel::before {
  content: "";
  width: 1.1em;
  height: auto;
  aspect-ratio: 66/43;
  background: url(../img/tel.webp) no-repeat center/contain;
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-40%);
          transform: translateY(-40%);
}
.main .sec01 .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .sec01 .inner {
    width: calc(100% - 20px);
    max-width: 650px;
  }
}
.main .sec02 {
  position: relative;
  width: 100%;
  padding: 0 0 min(6.25vw,100px) 0;
}
@media screen and (max-width: 767px) {
  .main .sec02 {
    padding: 0 0 14.66vw;
  }
}
.main .sec02 .wrap01 {
  width: 100vw;
  background: #F7F7F7 url(../img/section02_back01.webp) no-repeat center/contain;
  padding-top: min(6.25vw,100px);
  margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap01 {
    background: #F7F7F7 url(../img/section02_back01-sp.webp) no-repeat center top/cover;
    padding-top: 11vw;
  }
}
.main .sec02 .wrap01 h2 {
  position: relative;
  font-size: min(8.75vw, 140px);
  color: #B7AA81;
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1;
}
.main .sec02 .wrap01 .readtext {
  text-align: center;
  line-height: 2;
  margin-top: 1.5em;
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap01 .readtext {
    margin-top: 7vw;
    margin-bottom: 11vw;
  }
}
.main .sec02 .wrap01 .movie-box {
  position: relative;
  width: 60%;
  max-width: 1024px;
  height: auto;
  aspect-ratio: 32/9;
  margin: 0 auto;
  display: block;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap01 .movie-box {
    width: 90%;
    max-width: 650px;
  }
}
.main .sec02 .wrap01 .movie-box video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  display: block;
  background: #ccc;
}
.main .sec02 .wrap01 .movie-box {
  /*
                  &::before{
                      content: '';
                      position: absolute;
                      left: 50%;
                      top: 100%;
                      transform: translate(-50%,-50%);
                      width: 13.5%;
                      height: auto;
                      aspect-ratio: 1 / 1;
                      background: rgba($color: #fff, $alpha: 0.6);
                      border-radius: 50%;
                      z-index: 2;
                  }

                  &::after{
                      content: '';
                      position: absolute;
                      left: 50%;
                      top: 100%;
                      transform: translate(-50%,-50%);
                      width: 4.5%;
                      height: auto;
                      aspect-ratio: 1 / 1;
                      background: url(../img/icon-play.webp)no-repeat center / contain;
                      z-index: 3;

                  }
                */
}
.main .sec02 .sakura01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 18vw;
  max-width: 300px;
  height: auto;
  -webkit-transform: translate(-22%, 80%);
          transform: translate(-22%, 80%);
}
@media screen and (max-width: 767px) {
  .main .sec02 .sakura01 {
    width: 30%;
    -webkit-transform: translate(-17%, 82%);
            transform: translate(-17%, 82%);
  }
}
.main .sec02 .wrap02 {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 {
    overflow: hidden;
  }
}
.main .sec02 .wrap02 .movie-box {
  position: relative;
  width: 60%;
  max-width: 1024px;
  height: auto;
  aspect-ratio: 32/9;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .movie-box {
    width: 90%;
    max-width: 650px;
  }
}
.main .sec02 .wrap02 .line {
  width: 100%;
  height: auto;
  aspect-ratio: 1600/137;
  margin-top: 1em;
  margin-bottom: 5em;
  background: url(../img/line01.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .line {
    margin-bottom: 11vw;
    aspect-ratio: 750/137;
  }
}
.main .sec02 .wrap02 .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .inner {
    width: calc(100% - 20px);
    max-width: 650px;
  }
}
.main .sec02 .wrap02 .inner .tate-title-eng-sp {
  height: 5vw;
  width: auto;
  margin: 0 auto 11vw;
}
.main .sec02 .wrap02 .inner .flex {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  font-size: min(1.6vw,18px);
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .inner .flex {
    padding-bottom: 29vw;
  }
}
.main .sec02 .wrap02 .inner .flex .tate-title01 {
  width: 5%;
  margin-left: 3%;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .inner .flex .tate-title01 {
    width: 9.3%;
    margin-left: 0;
  }
}
.main .sec02 .wrap02 .inner .flex .tate-title-eng {
  width: 2.4%;
  margin-left: 3%;
}
.main .sec02 .wrap02 .inner .flex p {
  font-size: min(1.6vw,18px);
  line-height: 2.2;
  border-left: 1px solid #F0A7AF;
  padding-left: 4%;
  padding-bottom: 0.5em;
  margin-left: 4%;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .inner .flex p {
    font-size: min(3.2vw,24px);
    padding-left: 6%;
    margin-left: 6%;
    padding-bottom: 0;
  }
}
.main .sec02 .wrap02 .inner .flex .sub-img01 {
  position: absolute;
  top: 0;
  left: calc(21.4% + 37em);
  width: 22.7%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .inner .flex .sub-img01 {
    left: auto;
    right: 0;
    top: 24em;
    width: 28vw;
    -webkit-transform: translateX(5vw);
            transform: translateX(5vw);
  }
}
.main .sec02 .wrap02 .inner .flex .sub-img02 {
  position: absolute;
  top: 50%;
  left: calc(21.4% + 45em);
  width: 18.2%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .inner .flex .sub-img02 {
    width: 30%;
    left: 50%;
    top: auto;
    bottom: 7vw;
  }
}
.main .sec02 .wrap02 .inner .flex .sub-img03 {
  position: absolute;
  bottom: 2vw;
  left: calc(21.4% + 28em);
  width: 22.7%;
  height: auto;
  -webkit-transform: translateY(37%);
          transform: translateY(37%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .inner .flex .sub-img03 {
    width: 39%;
    left: 0;
    -webkit-transform: translateX(-5vw);
            transform: translateX(-5vw);
  }
}
.main .sec02 .wrap02 .inner .img01 {
  width: 90%;
  margin: 0 auto;
  display: block;
  margin-top: min(6.25vw,100px);
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .inner .img01 {
    width: 100%;
    margin: 0 auto;
  }
}
.main .sec02 .wrap02 .inner .annotation {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  width: 85%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .sec02 .wrap02 .inner .annotation {
    width: 100%;
    margin: 0 auto;
    font-size: min(3.2vw,18px);
  }
}
.main .leaf-wrap {
  position: relative;
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
.main .leaf-wrap .laef01 {
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translate(23%, -16%);
          transform: translate(23%, -16%);
  width: 24%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .main .leaf-wrap .laef01 {
    top: 70vw;
    right: 5vw;
  }
}
.main .sec03 {
  position: relative;
  width: 100%;
  background: #1D1C21;
  padding-bottom: min(7.5vw,120px);
}
@media screen and (max-width: 767px) {
  .main .sec03 {
    padding: 14.66vw 0;
  }
}
.main .sec03 .sakura-wrap {
  position: absolute;
  top: 0;
  right: 0;
  width: 20%;
  max-width: 320px;
  height: auto;
  -webkit-transform: translateY(-7%);
          transform: translateY(-7%);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .sec03 .sakura-wrap {
    width: 100%;
    max-width: none;
  }
}
.main .sec03 .sakura-wrap .sakura {
  width: 100%;
  height: auto;
  -webkit-transform: translateX(2%);
          transform: translateX(2%);
}
@media screen and (max-width: 767px) {
  .main .sec03 .sakura-wrap .sakura {
    -webkit-transform: none;
            transform: none;
  }
}
.main .sec03 .text01b-sp {
  height: 5vw;
  width: auto;
  margin: 0 auto 11vw;
}
.main .sec03 .flex01 {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .main .sec03 .flex01 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.main .sec03 .flex01 .imgbox {
  width: 58.75%;
  height: auto;
  background: url(../img/section03-img03.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .main .sec03 .flex01 .imgbox {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }
}
.main .sec03 .flex01 .title {
  width: 17.25%;
  max-width: 300px;
  border-left: 1px solid #F0A7AF;
  padding-top: min(7.5vw,120px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-right: 17%;
}
@media screen and (max-width: 767px) {
  .main .sec03 .flex01 .title {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    max-width: none;
    border: 0;
    margin: 0 auto 11vw;
    padding-top: 0;
  }
}
.main .sec03 .flex01 .title .text01a {
  width: 45%;
  margin-right: 14%;
  margin-left: 22%;
}
@media screen and (max-width: 767px) {
  .main .sec03 .flex01 .title .text01a {
    width: 20%;
    margin: 0 auto;
  }
}
.main .sec03 .flex01 .title .text01b {
  width: 9%;
}
.main .sec03 .overflow-wrap {
  width: 100%;
  overflow: hidden;
}
.main .sec03 .overflow-wrap .flex02 {
  position: relative;
  width: 90%;
  max-width: 1100px;
  margin: min(6.25vw,100px) auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex02 {
    width: calc(100% - 40px);
    max-width: 600px;
    margin: 11vw auto 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.main .sec03 .overflow-wrap .flex02 div {
  width: 63%;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex02 div {
    width: 100%;
  }
}
.main .sec03 .overflow-wrap .flex02 p {
  font-size: min(1.6vw,18px);
  line-height: 2.2;
  text-align: justify;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex02 p {
    width: 100%;
    font-size: min(3.56vw,24px);
    text-indent: 1em;
  }
  .main .sec03 .overflow-wrap .flex02 p.sp-mb {
    margin-bottom: 1.5em;
  }
}
.main .sec03 .overflow-wrap .flex02 .img01a {
  width: 27%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex02 .img01a {
    width: 50%;
    margin-bottom: 42vw;
  }
}
.main .sec03 .overflow-wrap .flex02 .img01b {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 33%;
  height: auto;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex02 .img01b {
    width: 60%;
    -webkit-transform: none;
            transform: none;
  }
}
.main .sec03 .overflow-wrap .line {
  content: "";
  width: 100%;
  height: auto;
  aspect-ratio: 1600/137;
  background: url(../img/line02.webp) no-repeat center/cover;
  z-index: 2;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .line {
    aspect-ratio: 750/137;
  }
}
.main .sec03 .overflow-wrap .flex03 {
  position: relative;
  width: 90%;
  max-width: 1100px;
  margin: 40px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex03 {
    width: calc(100% - 40px);
    max-width: 600px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 9vw;
  }
}
.main .sec03 .overflow-wrap .flex03 .img02a {
  position: absolute;
  top: min(18.64vw,140px);
  left: 0;
  width: 33%;
  height: auto;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex03 .img02a {
    margin-left: calc(50% - 50vw);
    width: 50vw;
    bottom: 0;
    top: auto;
    -webkit-transform: translateY(-80%);
            transform: translateY(-80%);
  }
}
.main .sec03 .overflow-wrap .flex03 .img02b {
  width: 20%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex03 .img02b {
    position: absolute;
    left: 60vw;
    bottom: 0;
    width: 40vw;
    margin-left: calc(50% - 50vw);
  }
}
.main .sec03 .overflow-wrap .flex03 .wrap01 {
  width: 70%;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex03 .wrap01 {
    width: 100%;
    padding-bottom: 66vw;
  }
}
.main .sec03 .overflow-wrap .flex03 .wrap01 h3 {
  font-size: min(3.376vw,35px);
  color: #fff;
  line-height: 1.5;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex03 .wrap01 h3 {
    font-size: min(5.312vw,35px);
  }
}
.main .sec03 .overflow-wrap .flex03 .wrap01 table {
  width: 100%;
}
.main .sec03 .overflow-wrap .flex03 .wrap01 table th {
  position: relative;
  font-size: min(1.626vw,16px);
  color: #fff;
  width: 10.5em;
  line-height: 2.2;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex03 .wrap01 table th {
    font-size: min(3.56vw,24px);
    display: inline-block;
    width: auto;
    padding-right: 0.5em;
  }
}
.main .sec03 .overflow-wrap .flex03 .wrap01 table th::after {
  content: "";
  position: absolute;
  top: 0.6em;
  right: 0;
  width: 1px;
  height: 1em;
  background: #F0A7AF;
}
.main .sec03 .overflow-wrap .flex03 .wrap01 table td {
  font-size: min(1.626vw,16px);
  color: #fff;
  padding-left: 1.5em;
  line-height: 2.2;
  text-align: justify;
}
.main .sec03 .overflow-wrap .flex03 .wrap01 table td .font {
  font-family: serif;
}
@media screen and (max-width: 767px) {
  .main .sec03 .overflow-wrap .flex03 .wrap01 table td {
    font-size: min(3.56vw,24px);
    display: block;
    padding-left: 0;
  }
}
.main .sec03 .banner-wrap {
  width: 90%;
  max-width: 1100px;
  margin: min(7.5vw,120px) auto 0;
  font-size: min(1.626vw,16px);
}
@media screen and (max-width: 767px) {
  .main .sec03 .banner-wrap {
    font-size: min(2.13vw,16px);
  }
}
@media screen and (max-width: 480px) {
  .main .sec03 .banner-wrap {
    font-size: min(3.75vw,16px);
  }
}
.main .sec03 .banner-wrap .flex {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: url(../img/section03-img04.webp) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .main .sec03 .banner-wrap .flex {
    background: url(../img/section03-img04-sp.webp) no-repeat center/cover;
  }
}
@media screen and (max-width: 480px) {
  .main .sec03 .banner-wrap .flex {
    display: block;
    background: url(../img/section03-img04-sp2.webp) no-repeat center top/contain;
  }
}
.main .sec03 .banner-wrap .flex .banner-left {
  position: relative;
  width: 45.5%;
}
@media screen and (max-width: 767px) {
  .main .sec03 .banner-wrap .flex .banner-left {
    width: 41.5%;
  }
}
@media screen and (max-width: 480px) {
  .main .sec03 .banner-wrap .flex .banner-left {
    width: 100%;
    height: 37vw;
  }
}
.main .sec03 .banner-wrap .flex .banner-left p {
  position: absolute;
  bottom: 1em;
  left: 1em;
  font-size: 1em;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .main .sec03 .banner-wrap .flex .banner-left p {
    left: 0;
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 480px) {
  .main .sec03 .banner-wrap .flex .banner-left p {
    text-align: right;
    padding-right: 1em;
  }
}
.main .sec03 .banner-wrap .flex .banner-left p::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  width: calc(100% - 16em);
  height: 1px;
  background: #fff;
  display: block;
}
@media screen and (max-width: 767px) {
  .main .sec03 .banner-wrap .flex .banner-left p::after {
    content: none;
  }
}
.main .sec03 .banner-wrap .flex .banner-right {
  width: 54.5%;
  background: rgba(255, 255, 255, 0.8);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .sec03 .banner-wrap .flex .banner-right {
    width: 58.5%;
  }
}
@media screen and (max-width: 480px) {
  .main .sec03 .banner-wrap .flex .banner-right {
    width: 100%;
    background: #fff;
  }
}
.main .sec03 .banner-wrap .flex .banner-right .border {
  font-size: 1em;
  color: #865F0A;
  border-top: 1px solid #865F0A;
  border-bottom: 1px solid #865F0A;
  display: inline-block;
  line-height: 1;
  padding: 0.3em 2em 0.4em;
  margin-top: 1.2em;
  margin-bottom: 0.8em;
}
.main .sec03 .banner-wrap .flex .banner-right h3 {
  color: #67070F;
  font-size: 2.625em;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .main .sec03 .banner-wrap .flex .banner-right h3 {
    font-size: 2.3em;
  }
}
.main .sec03 .banner-wrap .flex .banner-right h3 span {
  letter-spacing: 0.1em;
}
.main .sec03 .banner-wrap .flex .banner-right .obi {
  font-size: 1em;
  background: #fff;
  color: #67070F;
  margin-top: 0.8em;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 767px) {
  .main .sec03 .banner-wrap .flex .banner-right .obi {
    display: inline;
    text-align: left;
    float: left;
    background: none;
  }
  .main .sec03 .banner-wrap .flex .banner-right .obi span {
    background: #fff;
    padding: 0.2em 0.8em;
    line-height: 2.5;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }
}
@media screen and (max-width: 480px) {
  .main .sec03 .banner-wrap .flex .banner-right .obi {
    text-align: center;
    width: 100%;
  }
  .main .sec03 .banner-wrap .flex .banner-right .obi span {
    background: none;
    line-height: 1;
  }
}
.main .sec03 .banner-wrap .flex .banner-right .icon {
  display: block;
  margin-left: auto;
  width: 150px;
}
@media screen and (max-width: 767px) {
  .main .sec03 .banner-wrap .flex .banner-right .icon {
    width: 50%;
  }
}
.main .sec04 {
  position: relative;
  width: 100%;
  background: #F5F5F5;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .main .sec04 {
    padding: 14.66vw 0 0;
  }
}
.main .sec04 .section04-text01b-sp {
  height: 5vw;
  width: auto;
  margin: 0 auto 3vw;
  display: block;
}
.main .sec04 .line.sp {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 750/137;
  margin-bottom: 3vw;
}
.main .sec04 .line.sp.sp:after {
  content: none;
}
.main .sec04 .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .sec04 .inner {
    width: calc(100% - 20px);
    max-width: 650px;
  }
}
.main .sec04 .inner .flex {
  position: relative;
  z-index: 4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .main .sec04 .inner .flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.main .sec04 .inner .flex .wrap01 {
  width: 26%;
}
@media screen and (max-width: 767px) {
  .main .sec04 .inner .flex .wrap01 {
    position: relative;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.main .sec04 .inner .flex .wrap01 .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-right: 1px solid #F0A7AF;
  padding-right: 23%;
  padding-top: min(7.5vw,120px);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .main .sec04 .inner .flex .wrap01 .title {
    padding-top: 0;
    padding-bottom: 11vw;
    padding-right: 8%;
    margin-right: 8%;
    width: 23%;
  }
}
.main .sec04 .inner .flex .wrap01 .title img:nth-of-type(1) {
  width: 67%;
}
@media screen and (max-width: 767px) {
  .main .sec04 .inner .flex .wrap01 .title img:nth-of-type(1) {
    width: 100%;
  }
}
.main .sec04 .inner .flex .wrap01 .title img:nth-of-type(2) {
  width: 13.5%;
}
.main .sec04 .inner .flex .wrap01 p {
  font-size: min(1.6vw,18px);
  line-height: 2.2;
  margin-top: 3em;
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  .main .sec04 .inner .flex .wrap01 p {
    font-size: min(3.56vw,24px);
    margin-top: 0;
    margin-bottom: 0;
  }
}
.main .sec04 .inner .flex .wrap01 .sakura02.sp {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 45%;
  -webkit-transform: translateX(20%);
          transform: translateX(20%);
}
.main .sec04 .inner .flex .map-wrap {
  position: relative;
  width: 65%;
  margin-left: 9%;
  padding-top: min(7.5vw,120px);
}
@media screen and (max-width: 767px) {
  .main .sec04 .inner .flex .map-wrap {
    width: 100%;
    margin-left: 0;
  }
}
.main .sec04 .inner .flex .map-wrap .map {
  width: 100%;
  height: auto;
}
.main .sec04 .inner .flex .map-wrap .sakura02 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 50%;
  height: auto;
  -webkit-transform: translate(62%, 16%);
          transform: translate(62%, 16%);
  z-index: 3;
}
.main .sec04 .inner .busmap {
  width: 100%;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .main .sec04 .inner .busmap {
    margin-top: 8vw;
  }
}
.main .sec04 .line {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1600/137;
}
@media screen and (max-width: 767px) {
  .main .sec04 .line {
    margin-top: 5vw;
    aspect-ratio: 750/137;
  }
}
.main .sec04 .line.sp:after {
  content: none;
}
.main .sec04 .line::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/line02.webp) no-repeat center/cover;
  z-index: 2;
}
.main .sec04 .line::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background: -webkit-gradient(linear, left top, left bottom, from(#F5F5F5), to(#ffffff));
  background: linear-gradient(to bottom, #F5F5F5, #ffffff);
  z-index: 1;
}
.main .sec04 .img01 {
  width: 100%;
  height: auto;
}
.main .sec04 .wrap02 {
  width: 100%;
  background: #fff;
  padding-top: min(6.25vw,100px);
  padding-bottom: min(6.25vw,100px);
}
@media screen and (max-width: 767px) {
  .main .sec04 .wrap02 {
    overflow: hidden;
    padding: 11vw 0 14.66vw;
  }
}
.main .sec04 .wrap02 .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .sec04 .wrap02 .inner {
    width: calc(100% - 40px);
    max-width: 550px;
  }
}
.main .sec04 .wrap02 .inner .flex {
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .main .sec04 .wrap02 .inner .flex {
    gap: 11vw;
  }
}
.main .sec04 .wrap02 .inner .flex .wrap02a {
  width: 45.5%;
}
@media screen and (max-width: 767px) {
  .main .sec04 .wrap02 .inner .flex .wrap02a {
    width: 100%;
  }
}
.main .sec04 .wrap02 .inner .flex .wrap02a img {
  width: 100%;
}
.main .sec04 .wrap02 .inner .flex .wrap02a p {
  font-size: min(1.6vw,18px);
  line-height: 2.2;
  margin-top: 2em;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .main .sec04 .wrap02 .inner .flex .wrap02a p {
    font-size: min(3.56vw,24px);
    margin-top: 1em;
  }
}
.main .sec04 .wrap02 .inner .flex .wrap02a a {
  position: relative;
  font-size: min(1.6vw,18px);
  text-align: right;
  display: block;
  text-decoration: underline;
  color: #008DF5;
  line-height: 2.2;
  padding-right: 2em;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
@media screen and (max-width: 767px) {
  .main .sec04 .wrap02 .inner .flex .wrap02a a {
    font-size: min(3.56vw,24px);
  }
}
.main .sec04 .wrap02 .inner .flex .wrap02a a::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.1em;
  height: 1.1em;
  background: url(../img/icon-arrow01b.webp) no-repeat center/contain;
}
.main .sec04 .wrap02 .inner .flex .wrap02a a:hover {
  opacity: 0.6;
}
.main .sec05 {
  width: 100%;
  background: #F5F5F5;
  padding-bottom: min(6.25vw,100px);
}
@media screen and (max-width: 767px) {
  .main .sec05 {
    padding: 14.66vw 0;
  }
}
.main .sec05 .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner {
    width: calc(100% - 20px);
    max-width: 650px;
  }
}
.main .sec05 .inner .sec05-text01b-sp {
  height: 5vw;
  width: auto;
  margin: 0 auto 3vw;
}
.main .sec05 .inner .flex01 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex01 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.main .sec05 .inner .flex01 .title {
  padding-top: min(6.25vw,100px);
  padding-bottom: min(2.5vw,40px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 38.5%;
  padding-right: 5.45%;
  border-right: 1px solid #F0A7AF;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex01 .title {
    width: 100%;
    border: 0;
    padding-right: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.main .sec05 .inner .flex01 .title img:nth-of-type(1) {
  width: 80%;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex01 .title img:nth-of-type(1) {
    width: 40%;
  }
}
.main .sec05 .inner .flex01 .title img:nth-of-type(2) {
  width: 7%;
}
.main .sec05 .inner .flex01 .imgarea {
  padding-top: min(6.25vw,100px);
  width: 50%;
  height: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex01 .imgarea {
    width: 100%;
  }
}
.main .sec05 .inner .flex01 .imgarea .map {
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}
.main .sec05 .inner .flex01 .imgarea .annotation {
  font-size: 11px;
  margin-top: 1em;
  text-align: left;
  display: inline-block;
}
.main .sec05 .inner .flex02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: min(3.125vw,50px);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex02 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 8vw;
  }
}
.main .sec05 .inner .flex02 .imgarea {
  width: 45%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex02 .imgarea {
    width: 100%;
  }
}
.main .sec05 .inner .flex02 .imgarea img {
  width: 100%;
}
.main .sec05 .inner .flex02 .imgarea .annotation {
  font-size: 11px;
  line-height: 1.5;
  display: inline-block;
  width: auto;
  margin-top: 1em;
}
.main .sec05 .inner .flex02 p {
  width: 50%;
  font-size: min(1.6vw,18px);
  text-align: justify;
  line-height: 2.2;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex02 p {
    width: 100%;
    margin-top: 1em;
    font-size: min(3.56vw,24px);
  }
}
.main .sec05 .inner .flex03 {
  margin-top: min(6.25vw,100px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex03 {
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.main .sec05 .inner .flex03 .wrap01 {
  width: 30.5%;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex03 .wrap01 {
    width: 100%;
    margin-top: 8vw;
  }
}
.main .sec05 .inner .flex03 .wrap01 img {
  width: 100%;
}
.main .sec05 .inner .flex03 .wrap01 h4 {
  font-size: min(3.05vw,30px);
  text-align: center;
  line-height: 1;
  margin-top: 0.9em;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex03 .wrap01 h4 {
    font-size: min(5.333vw,40px);
  }
}
.main .sec05 .inner .flex03 .wrap01 p {
  font-size: min(1.6vw,17px);
  text-align: justify;
  line-height: 2;
  margin-top: 0.9em;
}
@media screen and (max-width: 767px) {
  .main .sec05 .inner .flex03 .wrap01 p {
    font-size: min(3.56vw,24px);
  }
}
.main .sec06 {
  width: 100%;
  padding: min(6.25vw,100px) 0;
}
@media screen and (max-width: 767px) {
  .main .sec06 {
    padding: 14.66vw 0;
  }
}
.main .sec06 .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .sec06 .inner {
    width: calc(100% - 40px);
    max-width: 600px;
    margin: 0 auto;
  }
}
.main .sec06 .inner h4 {
  text-align: center;
  font-size: min(3.05vw,30px);
  line-height: 1;
  margin-bottom: 1.3em;
}
@media screen and (max-width: 767px) {
  .main .sec06 .inner h4 {
    font-size: min(4.66vw,35px);
  }
}
.main .sec06 .inner .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .main .sec06 .inner .flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.main .sec06 .inner .flex table {
  width: 48%;
  margin: 0;
  font-size: min(1.6vw,18px);
}
@media screen and (max-width: 767px) {
  .main .sec06 .inner .flex table {
    width: 100%;
  }
  .main .sec06 .inner .flex table:last-of-type tr:last-of-type th, .main .sec06 .inner .flex table:last-of-type tr:last-of-type td {
    border-bottom: 1px solid #333333;
  }
}
.main .sec06 .inner .flex table th, .main .sec06 .inner .flex table td {
  position: relative;
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
  padding: 1em 0.7em;
}
@media screen and (max-width: 767px) {
  .main .sec06 .inner .flex table th, .main .sec06 .inner .flex table td {
    font-size: min(3.56vw,24px);
    border-bottom: 0;
    padding: 1em 0;
  }
}
@media screen and (max-width: 767px) {
  .main .sec06 .inner .flex table th {
    padding: 1em 0.5em 1em 0;
  }
}
@media screen and (max-width: 767px) {
  .main .sec06 .inner .flex table td:first-of-type {
    padding: 1em 0 1em 0.5em;
  }
}
.main .sec06 .inner .flex table th::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  height: 1.4em;
  width: 1px;
  background: #333;
}
.main .sec07 {
  padding-top: min(10vw,160px);
  padding-bottom: min(5vw,80px);
  width: 100%;
  background: #1D1C21 url(../img/section07-img01.webp) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .main .sec07 {
    padding-top: 14.66vw;
    padding-bottom: 9vw;
    background: #1D1C21 url(../img/section07-img01-sp.webp) no-repeat center top/contain;
  }
}
.main .sec07 .title {
  width: 90%;
  max-width: 810px;
  display: block;
  background: rgba(51, 51, 51, 0.6);
  margin: 0 auto min(10vw,160px);
  opacity: 0;
  pointer-events: none;
}
.main .sec07 .title img {
  width: 100%;
  height: auto;
}
.main .sec07 .wrap01 {
  width: 90%;
  max-width: 810px;
  margin: 0 auto;
}
.main .sec07 .wrap01 .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.main .sec07 .wrap01 .flex img {
  width: calc(50% - 5px);
}
.main .sec07 .wrap01 p {
  text-align: right;
  color: #fff;
  font-size: min(1.56vw,14px);
  margin-top: 0.7em;
}
@media screen and (max-width: 767px) {
  .main .sec07 .wrap01 p {
    font-size: min(3.43vw,18px);
  }
}
.main .sec07 .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .sec07 .inner {
    width: calc(100% - 20px);
    max-width: 650px;
  }
}
.main .sec07 .inner h4 {
  color: #fff;
  text-align: center;
  font-size: min(2.7vw,30px);
  margin-top: 2em;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .main .sec07 .inner h4 {
    font-size: min(4.68vw,30px);
  }
}
.main .sec07 .inner .readtext {
  color: #fff;
  text-align: center;
  margin: 2em auto;
  line-height: 2.2;
}
.main .sec07 .inner .subtitle {
  font-size: min(2.18vw,24px);
  color: #fff;
  text-align: center;
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .main .sec07 .inner .subtitle {
    font-size: min(4.375vw,28px);
  }
}
.main .sec07 .banner-wrap {
  width: 100%;
  max-width: 1600px;
  margin: min(6.25vw,100px) auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .main .sec07 .banner-wrap {
    margin: 14.66vw auto 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.main .sec07 .banner-wrap a {
  width: 100%;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
.main .sec07 .banner-wrap a img {
  width: 100%;
  height: auto;
}
.main .sec07 .banner-wrap a:hover {
  opacity: 0.6;
}
.main .sec07 .linkbtn {
  position: relative;
  font-size: min(2.27vw,25px);
  color: #fff;
  background: #704C01;
  text-align: center;
  margin: min(5vw,80px) auto 0;
  display: block;
  width: 90%;
  max-width: 800px;
  padding: 1.25em;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
@media screen and (max-width: 767px) {
  .main .sec07 .linkbtn {
    font-size: min(3.33vw,25px);
    max-width: 650px;
    width: calc(100% - 40px);
    margin: 9vw auto 0;
  }
}
.main .sec07 .linkbtn span {
  font-size: 1.8em;
}
.main .sec07 .linkbtn::after {
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.4em;
  height: 1.4em;
  background: url(../img/icon-arrow01a.webp) no-repeat center/contain;
}
.main .sec07 .linkbtn:hover {
  opacity: 0.6;
}
.main .sec08 {
  width: 100%;
  padding: min(6.25vw,100px) 0;
}
@media screen and (max-width: 767px) {
  .main .sec08 {
    padding: 9vw 0;
  }
}
.main .sec08 .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main .sec08 .inner {
    width: calc(100% - 40px);
    max-width: 650px;
  }
}
.main .sec08 .inner .wrap {
  position: relative;
  width: 100%;
}
.main .sec08 .inner .wrap a {
  opacity: 1;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
.main .sec08 .inner .wrap a:hover {
  opacity: 0.7;
}
.main .sec08 .inner .wrap img {
  width: 100%;
  height: auto;
}
.main .sec08 .inner .wrap .btn {
  position: relative;
  background: #fff;
  position: absolute;
  bottom: 3em;
  right: 2em;
  font-size: min(1.626vw,16px);
  padding: 0.6em 2.5em 0.6em;
  border-radius: 1.5em;
}
@media screen and (max-width: 767px) {
  .main .sec08 .inner .wrap .btn {
    font-size: min(3.2vw,24px);
    right: auto;
    left: 50%;
    bottom: 1.5em;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.main .sec08 .inner .wrap .btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.7em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.8em;
  height: 0.8em;
  background: url(../img/icon-arrow01c.webp) no-repeat center/contain;
}

/*********************************************************

					　　　　footer

**********************************************************/
.gototop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 80px;
  height: 80px;
  background: rgba(255, 255, 255, 0.8);
  border: solid 2px #1D1C21;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 5px;
  display: block;
  z-index: 20;
  -webkit-transition: 0.1s;
  transition: 0.1s;
  opacity: 0;
  -webkit-transform: translateY(-20%);
          transform: translateY(-20%);
}
@media screen and (max-width: 767px) {
  .gototop {
    width: 60px;
    height: 60px;
    bottom: calc(16vw + 10px);
  }
}
.gototop.active {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.gototop:hover {
  background: #eb8795;
}
.gototop img {
  width: 100%;
  height: 100%;
}

.footer {
  position: relative;
  z-index: 11;
  width: 100%;
  text-align: center;
}
.footer .bg {
  width: 100%;
  height: auto;
  background: #1D1C21;
  padding: min(5.625vw,90px) 0 min(4vw,65px);
}
@media screen and (max-width: 767px) {
  .footer .bg {
    padding: 16vw 0;
  }
}
.footer .bg .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .footer .bg .inner {
    width: calc(100% - 20px);
    max-width: 650px;
  }
}
.footer .bg .inner .banner {
  position: relative;
  background: #B2C327;
  color: #fff;
  width: 90%;
  max-width: 400px;
  margin: 0 auto;
  display: block;
  font-size: 14px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  padding: 1.5em 0;
  margin-bottom: 4em;
}
.footer .bg .inner .banner::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.3em;
  height: 1.3em;
  display: block;
  background: url(../img/icon-arrow01a.webp) no-repeat center/contain;
}
.footer .bg .inner .banner:hover {
  opacity: 0.6;
}
.footer .bg .inner .banner span {
  font-size: 1.8em;
}
.footer .bg .inner .bg_logo {
  margin: 0 auto;
  width: 24%;
  max-width: 180px;
  height: auto;
}
@media screen and (max-width: 767px) {
  .footer .bg .inner .bg_logo {
    width: 100%;
    max-width: none;
    margin-bottom: 16vw;
  }
}
.footer .bg .inner .bg_logo a {
  display: block;
}
.footer .bg .inner .bg_logo a img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .footer .bg .inner .bg_logo a img {
    width: 41vw;
  }
}
.footer .bg .inner .inquiry {
  color: #fff;
  padding-top: min(2.5vw,40px);
}
@media screen and (max-width: 767px) {
  .footer .bg .inner .inquiry {
    padding-top: 0;
  }
}
.footer .bg .inner .inquiry .inq01 {
  font-size: min(1.83vw,18px);
  padding-bottom: 20px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .footer .bg .inner .inquiry .inq01 {
    font-size: min(4.06vw,24px);
    padding-bottom: 3vw;
  }
}
.footer .bg .inner .inquiry .inq02 {
  font-size: min(2.6vw,24px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .footer .bg .inner .inquiry .inq02 {
    font-size: 32px;
    font-size: min(5vw,32px);
    padding-bottom: 3vw;
  }
}
.footer .bg .inner .inquiry .inq03 {
  font-size: min(1.56vw,16px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .footer .bg .inner .inquiry .inq03 {
    font-size: 20px;
    font-size: min(3.75vw,20px);
  }
}
.footer .bg .inner .inquiry .tel {
  position: relative;
  display: inline-block;
  font-size: min(5.2vw,60px);
  line-height: 1;
  letter-spacing: 0.2rem;
  margin-bottom: 0.5em;
  margin-top: 0.4em;
  padding-left: 1.5em;
}
.footer .bg .inner .inquiry .tel::before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-40%);
          transform: translateY(-40%);
  content: "";
  background: url(../img/tel2.webp) no-repeat center/contain;
  aspect-ratio: 7/4;
  display: block;
  height: 0.8em;
  width: auto;
}
@media screen and (max-width: 767px) {
  .footer .bg .inner .inquiry .tel {
    font-size: 80px;
    font-size: min(11vw,80px);
    margin-bottom: 4vw;
    letter-spacing: 0;
    margin-top: 0;
  }
}
.footer .copy {
  font-size: 14px;
  font-size: min(1.56vw,14px);
  margin: 1em auto;
}
@media screen and (max-width: 767px) {
  .footer .copy {
    font-size: 12px;
    font-size: min(3.15vw,12px);
    margin: 2em auto;
  }
}
@media screen and (max-width: 767px) {
  .footer .sp-dammy {
    height: 16vw;
    background: #fff;
  }
}
.footer .sp_banner {
  display: none;
}
@media screen and (max-width: 767px) {
  .footer .sp_banner {
    position: fixed;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    bottom: 0;
    left: 0;
    height: min(25vw,110px);
    width: 100%;
    height: 16vw;
    z-index: 10;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-transform: translateY(101%);
            transform: translateY(101%);
    background-color: #fff;
  }
  .footer .sp_banner.active {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .footer .sp_banner .banner_blue {
    position: relative;
    display: block;
    width: 100%;
    -ms-flex-line-pack: center;
        align-content: center;
    background: #B2C327;
    color: #fff;
    opacity: 1;
  }
  .footer .sp_banner .banner_blue p {
    line-height: 1;
    font-size: min(4.66vw,35px);
  }
  .footer .sp_banner .banner_blue p span {
    font-size: min(3.4vw,20px);
    line-height: 1;
  }
  .footer .sp_banner .banner_blue p::after {
    position: absolute;
    content: "";
    top: 50%;
    right: 10%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0.75em;
    height: 0.75em;
    background: url(../img/icon-arrow01a.webp) no-repeat center/contain;
  }
  .footer .sp_banner .banner_blue:hover {
    opacity: 0.6;
  }
  .footer .sp_banner .banner_green {
    position: relative;
    display: block;
    width: 50%;
    -ms-flex-line-pack: center;
        align-content: center;
    color: #fff;
    background: #03AA9B;
  }
  .footer .sp_banner .banner_green p {
    line-height: 1;
    font-size: min(4.66vw,35px);
  }
  .footer .sp_banner .banner_green p span {
    font-size: min(3.4vw,20px);
    line-height: 1;
  }
  .footer .sp_banner .banner_green p::after {
    position: absolute;
    content: "";
    top: 50%;
    right: 10%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0.75em;
    height: 0.75em;
    background: url(../img/icon-arrow01a.webp) no-repeat center/contain;
  }
  .footer .sp_banner .banner_green:hover {
    opacity: 0.6;
  }
}

/*********************************************************

					　　　　outline

**********************************************************/
.outline p {
  font-size: 16px;
  line-height: 1.8;
}
.outline {
  width: 100%;
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .outline {
    margin-top: clamp(50px, 10vw, 70px);
  }
}
.outline .outlineList .estate_detail_outline_body_title {
  margin: 20px auto;
  font-weight: 500;
  font-size: 18px;
}
.outline .outlineList .estate_detail_outline_body_title P {
  font-size: 18px;
}
.outline .sec {
  width: 100%;
  font-size: 16px;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
  padding: min(7.2vw, 90px) 0;
}
@media screen and (max-width: 767px) {
  .outline .sec {
    font-size: min(4vw,16px);
    padding: 9.33vw 0;
  }
}
.outline .sec .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
.outline .sec .inner table {
  border-collapse: collapse;
}
.outline .sec .inner table caption {
  font-size: 18px;
  font-weight: 500;
  margin-top: 2em;
  margin-bottom: 1em;
}
.outline .sec .inner table th {
  background: #ebeced;
  font-weight: 400;
  padding: 1em;
  line-height: 1.8;
  border: 1px solid #dddedf;
  width: 20%;
}
@media screen and (max-width: 767px) {
  .outline .sec .inner table th {
    width: 6em;
    padding: 0.7em;
  }
}
.outline .sec .inner table td {
  font-weight: 400;
  padding: 1em;
  line-height: 1.8;
  border: 1px solid #dddedf;
  width: 80%;
}
@media screen and (max-width: 767px) {
  .outline .sec .inner table td {
    width: calc(100% - 6em);
    padding: 0.7em;
  }
}
.outline .sec .inner table td .notice {
  font-size: 0.8em;
}
.outline .sec .inner table td a {
  text-decoration: underline;
}
.outline .sec .inner table td a:hover {
  text-decoration: none;
}
.outline .sec .inner table td .table__addressButtonWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .outline .sec .inner table td .table__addressButtonWrap {
    display: block;
  }
}
.outline .sec .inner table td .table__addressButton {
  position: relative;
  font-size: 0.7em;
  line-height: 1;
  display: inline-block;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #111;
  background-color: #ebeced;
  -webkit-box-shadow: 0 1px 0 #ebeced, inset 0 -1px 0 #dddedf;
          box-shadow: 0 1px 0 #ebeced, inset 0 -1px 0 #dddedf;
  border-radius: 0.2em;
  font-weight: 500;
  text-decoration: none;
  padding: 0.55em 2em 0.5em 0.7em;
  margin-left: 0.5em;
}
.outline .sec .inner table td .table__addressButton:hover {
  color: #4ca535;
}
.outline .sec .inner table td .table__addressButton::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.5em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: block;
  width: 1em;
  height: 1em;
  background: url(../img/map.svg) no-repeat center/contain;
  margin-left: 0.11rem;
}

/*概要_敷地面積の"～"*/
.tableSiteArea__item + .tableSiteArea__item::before {
  content: "〜";
  display: block;
}

/*********************************************************

					　　　location

**********************************************************/
.location {
  width: 100%;
  margin-top: 140px;
}
@media screen and (max-width: 767px) {
  .location {
    margin-top: clamp(50px, 10vw, 70px);
  }
}
.location .sec {
  width: 100%;
  font-size: 16px;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
  padding: min(7.2vw, 90px) 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .location .sec {
    font-size: min(4vw,16px);
    padding: 9.33vw 0;
  }
}
.location .sec .inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
.location .sec .inner h2 {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .location .sec .inner h2 {
    font-size: 17px;
  }
}
.location .sec .inner .readtext {
  font-size: 16px;
  margin-bottom: 1.7em;
}
@media screen and (max-width: 767px) {
  .location .sec .inner .readtext {
    font-size: 14px;
  }
}
.location .sec .inner .gmap-wrap {
  width: 100vw;
  height: auto;
  max-height: 650px;
  aspect-ratio: 14/6.5;
  margin-left: calc(50% - 50vw);
}
.location .sec .inner .gmap-wrap iframe {
  width: 100%;
  height: 100%;
}
.location .sec .inner .obitext {
  background: #F7F5F3;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  font-size: 16px;
  line-height: 1;
  padding: 1em 0;
}
@media screen and (max-width: 767px) {
  .location .sec .inner .obitext {
    font-size: 14px;
  }
}
.location .sec .inner .subtitle {
  background: #925A5B;
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  padding: 1em 0;
  margin-top: 4em;
}
@media screen and (max-width: 767px) {
  .location .sec .inner .subtitle {
    font-size: 14px;
  }
}
.location .sec .inner .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .location .sec .inner .flex {
    margin-top: 0;
  }
}
.location .sec .inner .flex .wrap {
  width: calc(25% - 15px);
  height: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .location .sec .inner .flex .wrap {
    width: calc(50% - 1.7vw);
    margin-top: 3.4vw;
  }
}
.location .sec .inner .flex .wrap02 {
  width: calc(20% - 16px);
  height: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .location .sec .inner .flex .wrap {
    width: calc(50% - 1.7vw);
    margin-top: 3.4vw;
  }
}
.location .sec .inner .flex .wrap .imgbox {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
}
.location .sec .inner .flex .wrap .imgbox.i1a {
  background: url(../img/location-img01a.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i1b {
  background: url(../img/location-img01b.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i1c {
  background: url(../img/location-img01c.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i1d {
  background: url(../img/location-img01d.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i2a {
  background: url(../img/location-img02a.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i2b {
  background: url(../img/location-img02b.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i2c {
  background: url(../img/location-img02c.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i2d {
  background: url(../img/location-img02d.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i3a {
  background: url(../img/location-img03a.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i3b {
  background: url(../img/location-img03b.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i3c {
  background: url(../img/location-img03c.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i3d {
  background: url(../img/location-img03d.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i4a {
  background: url(../img/location-img04a.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i4b {
  background: url(../img/location-img04b.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i4c {
  background: url(../img/location-img04c.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i4d {
  background: url(../img/location-img04d.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .imgbox.i4d {
  background: url(../img/location-img04d.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap02 .imgbox.i4e {
  background: url(../img/location-img04e.webp) no-repeat center/cover;
}
.location .sec .inner .flex .wrap .name {
  font-size: 14px;
  line-height: 1.3;
  font-weight: 500;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .location .sec .inner .flex .wrap .name {
    font-size: min(3.75vw, 14px);
  }
}
.location .sec .inner .flex .wrap .name span {
  display: inline-block;
}
.location .sec .inner .flex .wrap .location {
  font-size: 13px;
  line-height: 1.3;
  margin-top: 0.5em;
}
@media screen and (max-width: 767px) {
  .location .sec .inner .flex .wrap .location {
    font-size: min(3.75vw, 13px);
  }
}
.location .sec .inner .flex .wrap .location span {
  display: inline-block;
}
.location .cgc-wrap {
  position: relative;
  width: 100%;
  text-align: center;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.location .cgc-wrap .linkbtn {
  font-size: min(4vw,24px);
  color: #333;
  text-decoration: underline;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
  display: inline-block;
  margin-bottom: 5vw;
}
.location .cgc-wrap .linkbtn:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .location .cgc-wrap .linkbtn {
    margin-bottom: 3em;
  }
}
.location .cgc-wrap .bg_img02 {
  width: 20%;
  max-width: 200px;
  display: block;
  margin: 0 auto 8vw;
}
@media screen and (max-width: 767px) {
  .location .cgc-wrap .bg_img02 {
    width: 35%;
  }
}

/*********************************************************

					　　　　form

**********************************************************/
.form {
  position: relative;
  margin-top: 140px;
}
@media screen and (max-width: 767px) {
  .form {
    margin-top: clamp(50px, 10vw, 70px);
  }
}
.form .ch {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.form .ch .title-wrap {
  width: 100%;
  height: auto;
  aspect-ratio: 11/5;
  max-height: 600px;
  background: #F5F5F5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .form .ch .title-wrap {
    aspect-ratio: 1/1;
    max-height: none;
  }
}
.form .ch .title-wrap .form-title {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  display: block;
}
.form .ch .title-wrap p {
  font-size: min(1.83vw,18px);
  text-align: center;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .form .ch .title-wrap p {
    font-size: min(4vw,24px);
  }
}
.form .ch .title-wrap p span {
  display: inline-block;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}
.form .ch .sakura03 {
  position: absolute;
  top: 0;
  right: 0;
  width: 41%;
  max-width: 500px;
  height: auto;
  -webkit-transform: translate(10%, 12%);
          transform: translate(10%, 12%);
}
@media screen and (max-width: 767px) {
  .form .ch .sakura03 {
    -webkit-transform: translate(7%, 24%);
            transform: translate(7%, 24%);
  }
}
.form .ch .wrap {
  width: 100%;
  height: auto;
  background: #1D1C21;
  padding: min(6.5vw, 80px) 0;
}
@media screen and (max-width: 767px) {
  .form .ch .wrap {
    padding: 11vw 0;
  }
}
.form .ch .wrap .contents {
  position: relative;
  width: 90%;
  max-width: 900px;
  height: auto;
  margin: 0 auto;
  border: solid 1px #A28A49;
  font-size: min(1.83vw,18px);
  padding: 2em;
}
@media screen and (max-width: 767px) {
  .form .ch .wrap .contents {
    max-width: 650px;
    font-size: min(3.75vw,24px);
  }
}
.form .ch .wrap .contents h2 {
  font-size: min(3.05vw,30px);
  color: #A28A49;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -60%);
          transform: translate(-50%, -60%);
  background: #1D1C21;
  padding: 0 0.5em 0 1em;
}
@media screen and (max-width: 767px) {
  .form .ch .wrap .contents h2 {
    font-size: min(4vw,30px);
    width: 11.5em;
  }
}
.form .ch .wrap .contents h2 span {
  display: inline-block;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}
.form .ch .wrap .contents li {
  position: relative;
  color: #fff;
  line-height: 2.2;
  padding-left: 1.5em;
}
.form .ch .wrap .contents li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  background: #A28A49;
}
.form.confirm {
  overflow: hidden;
}
.form.confirm .title-wrap {
  width: 100%;
  height: auto;
  aspect-ratio: 11/3.75;
  max-height: 450px;
}
@media screen and (max-width: 767px) {
  .form.confirm .title-wrap {
    aspect-ratio: 3/2;
  }
}
.form.confirm .sakura03 {
  position: absolute;
  top: 0;
  right: 0;
  width: 41%;
  max-width: 500px;
  height: auto;
  -webkit-transform: translate(10%, 4%);
          transform: translate(10%, 4%);
}
@media screen and (max-width: 767px) {
  .form.confirm .sakura03 {
    -webkit-transform: translate(7%, 26%);
            transform: translate(7%, 26%);
    width: 32%;
  }
}
.form.confirm .error-wrap h4 {
  font-size: min(4vw,30px);
  margin-bottom: 1em;
}
.form.confirm .error-wrap .error_messe {
  font-size: min(4vw,24px);
  color: #F19CA7;
}
.form.confirm .error-wrap input {
  background: #F19CA7;
  color: #fff;
  font-size: min(2.01vw,20px);
  line-height: 1;
  font-weight: 500;
  width: 90%;
  max-width: 450px;
  text-align: center;
  margin: 2.5em auto 0;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
  padding: 1em;
}
@media screen and (max-width: 767px) {
  .form.confirm .error-wrap input {
    font-size: min(4vw,30px);
    max-width: 550px;
  }
}
.form.thanks {
  overflow: hidden;
}
.form.thanks .title-wrap {
  width: 100%;
  height: auto;
  aspect-ratio: 16/7;
  max-height: 900px;
}
@media screen and (max-width: 767px) {
  .form.thanks .title-wrap {
    aspect-ratio: 10/16;
    max-height: none;
  }
}
.form.thanks .title-wrap p {
  font-size: min(4vw,30px);
}
.form.thanks .title-wrap .c-btn-main {
  background: #F19CA7;
  color: #fff;
  font-size: min(2.01vw,20px);
  line-height: 1;
  font-weight: 500;
  width: 90%;
  max-width: 350px;
  text-align: center;
  margin: 2.5em auto 0;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
@media screen and (max-width: 767px) {
  .form.thanks .title-wrap .c-btn-main {
    font-size: min(4vw,30px);
    max-width: 550px;
    margin-top: 1.5em;
  }
}
.form.thanks .title-wrap .c-btn-main a {
  padding: 1em 0 1em;
  display: block;
  text-align: center;
  width: 100%;
}
.form.thanks .title-wrap .c-btn-main:hover {
  opacity: 0.6;
}
.form .p-form-contents {
  width: 100%;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}
.form .p-form-contents .l-container--small {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
  padding: min(6.5vw, 80px) 0 min(13vw, 160px);
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small {
    padding: 11vw 0 16vw;
    max-width: 650px;
  }
}
.form .p-form-contents .l-container--small .c-ttl-lv2 {
  font-size: min(4vw,24px);
  font-weight: 700;
  border-left: #A28A49 solid 3px;
  padding-left: 0.8em;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .c-ttl-lv2 {
    font-size: min(5vw,32px);
    margin-bottom: 1em;
  }
}
.form .p-form-contents .l-container--small .p-form-table {
  width: 100%;
  margin-bottom: 3em;
}
.form .p-form-contents .l-container--small .p-form-table th {
  font-size: min(1.83vw,18px);
  font-weight: 500;
  padding: 0.55em 1em 0 0;
  width: 14.5em;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .p-form-table th {
    display: block;
    font-size: min(4vw,24px);
    padding: 0.55em 1em 0.55em 0;
    width: 100%;
  }
}
.form .p-form-contents .l-container--small .p-form-table th .required {
  font-size: 0.7em;
  font-weight: normal;
  line-height: 1;
  color: #fff;
  background: #A28A49;
  padding: 0.2em 0.5em 0.25em 0.5em;
  display: inline-block;
  -webkit-transform: translateY(-10%);
          transform: translateY(-10%);
  margin-left: 1em;
  border-radius: 0.2em;
}
.form .p-form-contents .l-container--small .p-form-table th .required.r2 {
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .p-form-table th .required.r2 {
    margin-left: 1em;
  }
}
.form .p-form-contents .l-container--small .p-form-table th .no-required {
  font-size: 0.7em;
  font-weight: normal;
  line-height: 1;
  color: #A28A49;
  background: #fff;
  border: solid 1px #A28A49;
  padding: 0.2em 0.5em 0.25em 0.5em;
  display: inline-block;
  -webkit-transform: translateY(-10%);
          transform: translateY(-10%);
  margin-left: 1em;
  border-radius: 0.2em;
}
.form .p-form-contents .l-container--small .p-form-table td {
  font-size: min(1.64vw,16px);
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .p-form-table td {
    display: block;
    font-size: min(4vw,24px);
  }
}
.form .p-form-contents .l-container--small .p-form-table td .p-form-input-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2em;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .p-form-table td .p-form-input-name {
    gap: 0 1em;
  }
}
.form .p-form-contents .l-container--small .p-form-table td .p-form-input-name div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.form .p-form-contents .l-container--small .p-form-table td .p-form-input-name div .title {
  margin-right: 0.8em;
  margin-bottom: 1em;
}
.form .p-form-contents .l-container--small .p-form-table td input, .form .p-form-contents .l-container--small .p-form-table td select, .form .p-form-contents .l-container--small .p-form-table td textarea {
  background: rgba(162, 138, 73, 0.1);
  border: solid 1px #969696;
  line-height: 1;
  border-radius: 0.3em;
  padding: 0.6em 1em 0.7em 1em;
  width: 100%;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .p-form-table td input, .form .p-form-contents .l-container--small .p-form-table td select, .form .p-form-contents .l-container--small .p-form-table td textarea {
    padding: 0.5em 0.7em 0.6em 0.7em;
  }
}
.form .p-form-contents .l-container--small .p-form-table td input::-webkit-input-placeholder, .form .p-form-contents .l-container--small .p-form-table td select::-webkit-input-placeholder, .form .p-form-contents .l-container--small .p-form-table td textarea::-webkit-input-placeholder {
  color: #959595;
  line-height: 1;
}
.form .p-form-contents .l-container--small .p-form-table td input::-moz-placeholder, .form .p-form-contents .l-container--small .p-form-table td select::-moz-placeholder, .form .p-form-contents .l-container--small .p-form-table td textarea::-moz-placeholder {
  color: #959595;
  line-height: 1;
}
.form .p-form-contents .l-container--small .p-form-table td input:-ms-input-placeholder, .form .p-form-contents .l-container--small .p-form-table td select:-ms-input-placeholder, .form .p-form-contents .l-container--small .p-form-table td textarea:-ms-input-placeholder {
  color: #959595;
  line-height: 1;
}
.form .p-form-contents .l-container--small .p-form-table td input::-ms-input-placeholder, .form .p-form-contents .l-container--small .p-form-table td select::-ms-input-placeholder, .form .p-form-contents .l-container--small .p-form-table td textarea::-ms-input-placeholder {
  color: #959595;
  line-height: 1;
}
.form .p-form-contents .l-container--small .p-form-table td input::placeholder, .form .p-form-contents .l-container--small .p-form-table td select::placeholder, .form .p-form-contents .l-container--small .p-form-table td textarea::placeholder {
  color: #959595;
  line-height: 1;
}
.form .p-form-contents .l-container--small .p-form-table td select {
  position: relative;
  line-height: 1.5;
}
.form .p-form-contents .l-container--small .p-form-table td .select {
  position: relative;
}
.form .p-form-contents .l-container--small .p-form-table td .select::after {
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  -webkit-transform: translateY(-80%);
          transform: translateY(-80%);
  width: 0.8em;
  height: 0.8em;
  background: url(../img/icon-arrow02a.webp) no-repeat center/contain;
  display: block;
  pointer-events: none;
}
.form .p-form-contents .l-container--small .p-form-table td .yubin {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1em;
}
.form .p-form-contents .l-container--small .p-form-table td .yubin input {
  width: 50%;
}
.form .p-form-contents .l-container--small .p-form-table td .yubin .yubin-linkbtn {
  background: #6F6E6D;
  color: #fff;
  line-height: 1;
  padding: 0.6em 0.8em 0.7em;
  border-radius: 0.3em;
  margin-bottom: 1em;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
.form .p-form-contents .l-container--small .p-form-table td .yubin .yubin-linkbtn:hover {
  opacity: 0.6;
}
.form .p-form-contents .l-container--small .check {
  width: 100%;
  display: block;
  margin-bottom: 1em;
  margin-left: 0.5em;
}
.form .p-form-contents .l-container--small .check input[type=checkbox] {
  -webkit-transform: translate(-50%, -10%);
          transform: translate(-50%, -10%);
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .check input[type=checkbox] {
    width: 1em !important;
    height: 1em !important;
  }
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .check {
    font-size: min(3.43vw,24px);
    margin-bottom: 0.7em;
  }
}
.form .p-form-contents .l-container--small p {
  font-size: min(1.64vw,16px);
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small p {
    font-size: min(3.43vw,18px);
  }
}
.form .p-form-contents .l-container--small .p-form-note {
  font-size: min(1.56vw, 14px);
  margin-top: 3em;
}
.form .p-form-contents .l-container--small .p-form-note.mt {
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .p-form-note {
    font-size: min(3.43vw,20px);
  }
}
.form .p-form-contents .l-container--small .p-form-note span {
  font-size: min(1.64vw,16px);
  display: block;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .p-form-note span {
    font-size: min(4vw,26px);
  }
}
.form .p-form-contents .l-container--small .c-btn-main {
  background: #F19CA7;
  color: #fff;
  font-size: min(2.01vw,20px);
  line-height: 1;
  font-weight: 500;
  width: 90%;
  max-width: 450px;
  text-align: center;
  margin: 2.5em auto 0;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .c-btn-main {
    font-size: min(4vw,30px);
    max-width: 550px;
  }
}
.form .p-form-contents .l-container--small .c-btn-main button {
  padding: 1em 0 1em;
  display: block;
  text-align: center;
  width: 100%;
}
.form .p-form-contents .l-container--small .c-btn-main:hover {
  opacity: 0.6;
}
.form .p-form-contents .l-container--small .c-btn-main.c-btn-main--form {
  margin-top: 3.5em;
}
.form .p-form-contents .l-container--small .c-btn-main.c-btn-main--back {
  margin-top: 2em;
  color: #959595;
  background: #fff;
  border: solid 1px #959595;
  max-width: 250px;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .c-btn-main.c-btn-main--back {
    font-size: min(4vw,24px);
    width: 70%;
  }
}
.form .p-form-contents .l-container--small .p-confirm-table {
  width: 100%;
  margin-bottom: 3em;
  border-collapse: collapse;
}
.form .p-form-contents .l-container--small .p-confirm-table th {
  font-size: min(1.83vw,18px);
  font-weight: 500;
  padding: 1.5em 1.5em 0.5em 0;
  width: 14.5em;
  border-bottom: 1px solid #969696;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .p-confirm-table th {
    font-size: min(4vw,24px);
    display: block;
    width: 100%;
    border: 0;
  }
}
.form .p-form-contents .l-container--small .p-confirm-table td {
  font-size: min(1.64vw,16px);
  border-bottom: 1px solid #969696;
  padding: 1.8em 1.5em 0.6em 0;
}
@media screen and (max-width: 767px) {
  .form .p-form-contents .l-container--small .p-confirm-table td {
    font-size: min(4vw,24px);
    display: block;
    padding: 0.6em 1.5em 0.6em 0;
  }
}

.form-footer p {
  font-size: min(1.56vw, 14px);
  padding: 1em 0;
  color: #fff;
  background: #1D1C21;
  text-align: center;
}

/* ============================================================
2026.07.28 CUSTOM
============================================================ */
.table_right {
  text-align: right;
  padding-right: 1.5rem;
}

@media screen and (max-width: 767px) {
  .table_right {
    text-align: left;
    padding-right: 0;
  }
}
/* ----------------------------------------------------------- */
#Coming {
  width: 100%;
  height: auto;
  margin: 6vh auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #605E65;
  padding: 10vh;
}
@media screen and (max-width: 767px) {
  #Coming {
    padding: 4vh;
    margin: 4vh auto;
  }
}
#Coming p {
  color: #fff;
  font-weight: 400;
  font-size: 2.5rem;
  font-family: "Bebas Neue", sans-serif !important;
}
@media screen and (max-width: 767px) {
  #Coming p {
    font-size: clamp(32px, 5.201vw, 40px);
  }
}

/* 周辺環境
/* ----------------------------------------------------------- */
#parkDetail {
  width: 100%;
  height: auto;
  max-width: 1100px;
  margin: 2rem auto 0 !important;
  padding-top: 3rem !important;
  border-top: 1px solid #F0A7AF;
}
@media screen and (max-width: 767px) {
  #parkDetail {
    margin: 2.5rem auto 1.5rem !important;
    padding-top: 3rem !important;
  }
}
#parkDetail .imgarea {
  width: 100%;
  height: auto;
  margin: 0 auto !important;
}
#parkDetail .imgarea img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 0.8rem;
}
#parkDetail p:not(.annotation) {
  font-size: min(1.6vw,18px);
  line-height: 2.2;
}
@media screen and (max-width: 767px) {
  #parkDetail p:not(.annotation) {
    font-size: min(3.56vw,24px);
  }
}
#parkDetail p.annotation {
  text-align: right;
}
@media screen and (max-width: 767px) {
  #parkDetail p.annotation {
    text-align: center;
  }
}
#parkDetail h4 {
  font-size: min(3.05vw,30px);
  text-align: center;
  line-height: 1;
  margin: 0.9em 0;
}
@media screen and (max-width: 767px) {
  #parkDetail h4 {
    font-size: min(5.333vw,40px);
  }
}

/* ----------------------------------------------------------- */
#imageCap {
  width: 100%;
  margin: 2rem auto 0;
}
#imageCap p {
  font-size: min(1.6vw,18px);
  line-height: 2.2;
}
@media screen and (max-width: 767px) {
  #imageCap p {
    font-size: min(3.56vw,24px);
  }
}

/* ----------------------------------------------------------- */
#parkThumb.flex03 .wrap01 {
  width: 45%;
}
@media screen and (max-width: 767px) {
  #parkThumb.flex03 .wrap01 {
    width: 100%;
  }
}

/* ----------------------------------------------------------- */
.link_btn_location {
  position: relative;
  z-index: 1;
  background: #F5F5F5;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .link_btn_location {
    font-size: min(3.33vw,25px);
  }
}
.link_btn_location a {
  position: relative;
  z-index: 1;
  width: 60%;
  max-width: 450px;
  margin: 0 auto;
  font-size: min(2.27vw,25px);
  color: #fff;
  background: #704C01;
  text-align: center;
  display: block;
  padding: 1.25em;
  -webkit-transition: ease 0.3s;
  transition: ease 0.3s;
}
@media screen and (max-width: 767px) {
  .link_btn_location a {
    font-size: min(3.33vw,25px);
  }
}
.link_btn_location a span {
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  .link_btn_location a span {
    font-size: 1.1rem;
  }
}
.link_btn_location a:after {
  content: "";
  position: absolute;
  right: 1em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1.4em;
  height: 1.4em;
  background: url(../img/icon-arrow01a.webp) no-repeat center/contain;
}
.link_btn_location a:hover {
  opacity: 0.6;
}