@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600&family=Cinzel:wght@400;500;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/*=======================================================================

 TOP

========================================================================*/
.page-top .heading .ttl + .copy {
  letter-spacing: 0.07em;
  margin-top: 40px;
  margin-bottom: 40px;
}
.page-top .youtube {
  margin-bottom: 10px;
}
.page-top .youtube__wrap {
  max-width: 1040px;
}

/* kv
-------------------------------------------------------*/
.top-kv {
  position: relative;
}

.top-kv__img img {
  width: 100%;
}

.top-kv__txt {
  position: relative;
  z-index: 10;
  max-width: 1475px;
  width: 100%;
  margin: auto;
  margin-top: -50px;
  padding-left: 10px;
  padding-right: 10px;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-kv__txt {
    width: 100%;
    margin-top: -20px;
  }
}
@media screen and (max-width: 767px) {
  .top-kv__txt {
    width: 100%;
    margin-top: -3%;
    padding-left: 0;
    padding-right: 0;
  }
}

.bg_grade {
  position: relative;
}
.bg_grade::before {
  z-index: 2;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  padding-bottom: calc(11% + 75px);
  content: "";
  background-image: url(../../images/main/2306/main_bg.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
@media screen and (min-width: 1600px) {
  .bg_grade::before {
    background-size: 100% 100%;
    padding-bottom: 245px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .bg_grade::before {
    padding-bottom: calc(10% + 170px);
  }
}
@media screen and (min-width: 481px) and (max-width: 767px) {
  .bg_grade::before {
    padding-bottom: calc(36% + 245px);
    background-image: url(../../images/main/2306/main_bg_sp.png);
  }
}
@media screen and (max-width: 480px) {
  .bg_grade::before {
    padding-bottom: calc(29% + 285px);
    background-image: url(../../images/main/2306/main_bg_sp.png);
  }
}

/* meritbox
-------------------------------------------------------*/
.meritbox {
  z-index: 2;
  position: relative;
  max-width: 1600px;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .meritbox {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .meritbox ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
  }
}
.meritbox ul li {
  width: 24.7402597403%;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .meritbox ul li {
    width: calc((100% - 30px) / 2);
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 8px;
  }
}
@media screen and (max-width: 767px) {
  .meritbox ul li {
    width: 90%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  .meritbox ul li + li {
    margin-top: 7px;
  }
}
.meritbox ul li img {
  line-height: 1;
  vertical-align: bottom;
}
@media screen and (max-width: 767px) {
  .meritbox ul li img {
    max-width: 305px;
  }
}
.meritbox__wrap {
  position: relative;
  padding-bottom: 35px;
  /* info */
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .meritbox__wrap {
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .meritbox__wrap {
    padding-top: 5px;
    padding-bottom: 20px;
  }
}
.meritbox__wrap.bg_gold::before {
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(13%, #fff), color-stop(35%, #f8e28e), to(#f8e28e));
  background: linear-gradient(to bottom, #fff, #fff 13%, #f8e28e 35%, #f8e28e);
  opacity: 0.5;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .meritbox__wrap.bg_gold::before {
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(20%, #f8e28e), to(#f8e28e));
    background: linear-gradient(to bottom, #fff, #f8e28e 20%, #f8e28e);
  }
}
@media screen and (max-width: 767px) {
  .meritbox__wrap.bg_gold::before {
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(5%, #f8e28e), to(#f8e28e));
    background: linear-gradient(to bottom, #fff, #f8e28e 5%, #f8e28e);
  }
}
.meritbox__wrap .info01 {
  position: relative;
  width: 100%;
  max-width: 1590px;
  padding-left: 25px;
  padding-right: 25px;
  margin-left: auto;
  margin-right: auto;
  margin-top: -15px;
  text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .meritbox__wrap .info01 {
    margin-top: -10px;
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 767px) {
  .meritbox__wrap .info01 {
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 0;
    margin-bottom: 15px;
  }
}

/* top-hensairei
-------------------------------------------------------*/
.top-hensairei {
  background-color: #003500;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .top-hensairei {
    padding-top: 20px;
    padding-bottom: 0px !important;
  }
}
.top-hensairei .inner {
  max-width: 1160px;
}
@media screen and (max-width: 767px) {
  .top-hensairei .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
.top-hensairei .list .list-item {
  font-size: min(2.5vw, 30px);
  line-height: 1.15;
  width: 32.1428571429%;
  text-align: center;
  padding-top: 9px;
  padding-bottom: 9px;
  vertical-align: baseline;
}
@media screen and (max-width: 767px) {
  .top-hensairei .list .list-item {
    font-size: min(3.4vw, 24px);
    padding-top: 5px;
    padding-bottom: 6px;
  }
}
.top-hensairei .list .list-item span {
  font-size: 125%;
  position: relative;
}
.top-hensairei .--grade_silver {
  background: linear-gradient(-30deg, rgb(220, 221, 221) 0%, rgb(247, 248, 248) 17.2%, rgb(201, 202, 202) 49.78%, rgb(209, 210, 210) 57.72%, rgb(230, 231, 231) 69.76%, rgb(247, 248, 248) 77.68%, rgb(220, 221, 221) 100%);
}
.top-hensairei .img {
  width: 100%;
  max-width: 840px;
  margin-inline: auto;
  background-color: #fff;
}
.top-hensairei .img a {
  display: block;
}

/* information
-------------------------------------------------------*/
.information {
  width: 100%;
  margin-top: 90px;
  margin-bottom: 50px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .information {
    margin-top: 50px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .information {
    margin-top: 40px;
    margin-bottom: 10px;
  }
}
.information .ttl {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
.information .txt {
  line-height: 1.4;
  font-weight: normal;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 767px) {
  .information .txt {
    font-size: min(8.6vw, 38px);
    letter-spacing: 0.1em;
  }
}
.information .txt small {
  font-size: 62%;
  letter-spacing: 0.08em;
}
.information .txt2 {
  line-height: 1.5;
  font-weight: normal;
  letter-spacing: 0.07em;
  font-size: min(5.8vw, 36px);
}
@media screen and (max-width: 767px) {
  .information .txt2 {
    letter-spacing: 0.05em;
  }
}
.information .txt2 small {
  font-size: 70%;
  letter-spacing: 0.08em;
}
.information__btn .inner {
  max-width: 900px;
}
.information__btn .request__btn {
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .information__btn .request__btn {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.information__btn .request__btn .c-button__wrap {
  width: 48%;
  max-width: 400px;
  margin-left: 0;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .information__btn .request__btn .c-button__wrap {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  .information__btn .p__reserve {
    margin-top: 10px;
  }
}
.information .btn {
  width: 80%;
  margin-inline: auto;
}
.information .btn a {
  margin-left: auto;
  margin-right: auto;
}

.information__banner {
  position: relative;
  width: 100%;
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
}
.information__banner a {
  display: block;
}
.information__banner + .information__banner {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .information__banner + .information__banner {
    margin-top: 20px;
  }
}
.information__banner.--new:before {
  z-index: 2;
  content: "NEW";
  position: absolute;
  top: -7px;
  left: 25px;
  margin: auto;
  font-size: 12px;
  color: #fff;
  background-color: #c00;
  padding: 1px 9px 0px 10px;
}
@media screen and (max-width: 767px) {
  .information__banner.--new:before {
    top: -10%;
    left: 3%;
    font-size: 9px;
    font-size: 2.5vw;
    padding: 0px 7px 0px 8px;
  }
}

/* info__event
-------------------------------------------------------*/
.info__event {
  width: 100%;
  max-width: 1010px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.info__event .btn {
  z-index: 2;
  position: absolute;
  bottom: 9.5%;
  left: 0;
  right: 0;
  margin: auto;
  max-width: 400px;
  width: 78%;
}
@media screen and (max-width: 767px) {
  .info__event .btn {
    bottom: 8%;
  }
}
.info__event .btn a {
  position: relative;
  display: block;
  opacity: 1 !important;
}
@media screen and (min-width: 1001px) {
  .info__event .btn a img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}
.info__event .btn a:hover img:first-child {
  opacity: 1 !important;
}
@media screen and (max-width: 767px) {
  .info__event .btn a:hover img:first-child {
    display: none;
  }
}
.info__event .c-button__request {
  padding-top: 11px;
  padding-bottom: 11px;
  color: #fff;
  letter-spacing: 0.07em;
  line-height: 1.35;
}

/* info__touroku
-------------------------------------------------------*/
.info__touroku {
  width: 100%;
  max-width: 1010px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .info__touroku {
    font-size: min(3.2vw, 16px);
  }
}
.info__touroku .list {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
.info__touroku .list li {
  min-width: 380px;
  letter-spacing: 0;
  margin-top: 5px;
  padding-left: 1em;
  text-indent: -1em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .info__touroku .list li {
    margin-top: 3px;
  }
}
.info__touroku .list + p {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .info__touroku .list + p {
    line-height: 1.5;
  }
}

/*=======================================================================

 covid

========================================================================*/
#covid {
  position: relative;
  width: 100%;
  max-width: 700px;
  border-left: 2px solid #b28436;
  border-right: 2px solid #b28436;
  margin-left: auto;
  margin-right: auto;
}
#covid::before, #covid::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(#b28436), color-stop(17%, #e2ca84), color-stop(50%, #ab7721), color-stop(77%, #dcc076), to(#ab7721));
  background: linear-gradient(to right, #b28436 0%, #e2ca84 17%, #ab7721 50%, #dcc076 77%, #ab7721 100%);
}
#covid::before {
  top: 0;
}
#covid::after {
  bottom: 0;
}
#covid__txt {
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
  cursor: pointer;
}
#covid__txt p {
  line-height: 1.5;
}
#covid dl {
  /**/
  display: none;
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  border-top: 1px solid #b28436;
  margin-left: 30px;
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  #covid dl {
    padding-top: 20px;
    padding-bottom: 20px;
    margin-left: 20px;
    margin-right: 20px;
  }
}
#covid dl dt {
  font-size: 1.6rem;
  padding-bottom: 12px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  #covid dl dt {
    padding-bottom: 10px;
    margin-bottom: 12px;
  }
}
#covid dl dd p {
  font-size: 1.4rem;
  font-weight: 300;
  padding-left: 1em;
  text-indent: -1em;
}
#covid dl dd + dt {
  margin-top: 30px;
}

/*=======================================================================

 page

========================================================================*/
/* concept
-------------------------------------------------------*/
.top-concept .kv {
  position: relative;
}
@media screen and (max-width: 1600px) {
  .top-concept .kv__img img {
    height: 870px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-concept .kv__img img {
    height: 65vw;
    min-height: 560px;
  }
}
@media screen and (max-width: 767px) {
  .top-concept .kv__img img {
    height: 85vw;
  }
}
.top-concept .kv .inner {
  z-index: 5;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.top-concept .kv .inner .ttl {
  width: 60%;
  max-width: 400px;
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .top-concept .kv .inner .ttl {
    margin-top: 0;
  }
}
.top-concept .kv .inner .txt {
  line-height: 1.7;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .top-concept .kv .inner .txt {
    text-shadow: 0 0 1px rgb(255, 255, 255), 0 0 3px rgb(255, 255, 255), 0 0 5px rgb(255, 255, 255), 0 0 7px rgb(255, 255, 255);
    margin-top: 20px;
  }
}
.top-concept .contents {
  text-align: center;
}
.top-concept .contents .ttl__eng {
  position: relative;
  font-size: 2.3rem;
  line-height: 1;
  padding-bottom: 60px;
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .top-concept .contents .ttl__eng {
    font-size: 1.8rem;
    padding-bottom: 35px;
    margin-bottom: 15px;
  }
}
.top-concept .contents .ttl__eng::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 1px;
  height: 40px;
  background-color: #7a6338;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .top-concept .contents .ttl__eng::before {
    height: 25px;
  }
}
.top-concept .contents .ttl {
  width: 75%;
  max-width: 735px;
  padding-bottom: 37px;
  margin-bottom: 25px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .top-concept .contents .ttl {
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 15px;
  }
}
.top-concept .contents .txt {
  line-height: 1.9;
}
.top-concept .contents2 {
  text-align: center;
  background: linear-gradient(210deg, rgb(234, 235, 235) 0%, rgb(247, 248, 248) 59.94%, rgb(211, 212, 212) 100%);
  z-index: 2;
  position: relative;
}
.top-concept .contents2::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 2px;
  content: "";
  background: -webkit-gradient(linear, left top, right top, color-stop(0.56%, rgb(240, 193, 49)), color-stop(25.28%, rgb(250, 247, 202)), color-stop(29.28%, rgb(243, 235, 185)), color-stop(37.24%, rgb(225, 204, 140)), color-stop(48.3%, rgb(196, 155, 68)), color-stop(51.11%, rgb(188, 142, 49)), color-stop(72.99%, rgb(231, 208, 133)), color-stop(82.98%, rgb(250, 247, 202)), to(rgb(188, 142, 49)));
  background: linear-gradient(90deg, rgb(240, 193, 49) 0.56%, rgb(250, 247, 202) 25.28%, rgb(243, 235, 185) 29.28%, rgb(225, 204, 140) 37.24%, rgb(196, 155, 68) 48.3%, rgb(188, 142, 49) 51.11%, rgb(231, 208, 133) 72.99%, rgb(250, 247, 202) 82.98%, rgb(188, 142, 49) 100%);
}
.top-concept .contents2 .ttl__eng {
  position: relative;
  font-size: 6rem;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .top-concept .contents2 .ttl__eng {
    font-size: 4rem;
  }
}
.top-concept .contents2 .ttl {
  font-size: 5.2rem;
  line-height: 1.4;
  background: linear-gradient(-30deg, rgb(236, 197, 115) 0%, rgb(171, 132, 78) 28.95%, rgb(222, 181, 67) 69.81%, rgb(236, 197, 115) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-concept .contents2 .ttl {
    font-size: 4rem;
    padding-bottom: 15px !important;
  }
}
@media screen and (max-width: 767px) {
  .top-concept .contents2 .ttl {
    font-size: min(8vw, 40px);
  }
}
.top-concept .contents2 .ttl__sub {
  font-size: 4.2rem;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-concept .contents2 .ttl__sub {
    font-size: 3.2rem;
    padding-bottom: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .top-concept .contents2 .ttl__sub {
    font-size: 3rem;
  }
}
.top-concept .contents2 .txt {
  line-height: 1.9;
  text-align: center;
  margin-top: 30px;
  letter-spacing: 0.07em;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-concept .contents2 .txt {
    font-size: 1.7rem;
    margin-top: 10px;
    letter-spacing: 0.04em;
  }
}
@media screen and (max-width: 767px) {
  .top-concept .contents2 .txt {
    margin-top: 7px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-concept .contents2 .ttl + .txt {
    margin-top: 17px;
  }
}
.top-concept .contents2 .wrap {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .top-concept .contents2 .wrap {
    margin-top: 30px;
    margin-top: 8.3333333333vw;
  }
}
.top-concept .contents2 .wrap .txtArea {
  width: 41.6666666667%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .top-concept .contents2 .wrap .txtArea {
    width: 100% !important;
    padding-bottom: 0;
  }
}
.top-concept .contents2 .wrap .imgArea {
  position: relative;
  width: 57.0833333333%;
}
@media screen and (max-width: 767px) {
  .top-concept .contents2 .wrap .imgArea {
    width: 100% !important;
    margin-top: 10px;
  }
}
.top-concept .contents2 .wrap .imgArea figcaption {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: auto;
}
.top-concept .contents2 .wrap.--concept1 {
  margin-top: 80px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .top-concept .contents2 .wrap.--concept1 {
    margin-top: 40px;
    margin-top: 11.1111111111vw;
    margin-bottom: 40px;
    margin-bottom: 11.1111111111vw;
  }
}
.top-concept .contents2 .wrap.--concept1 .ttl {
  padding-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .top-concept .contents2 .wrap.--concept1 .ttl {
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
}
.top-concept .contents2 .wrap.--concept3 {
  max-width: 1040px;
  margin-left: auto;
  margin-right: 60px;
}
@media screen and (max-width: 767px) {
  .top-concept .contents2 .wrap.--concept3 {
    margin-right: auto;
  }
}
.top-concept .contents2 .wrap.--concept3 .txtArea {
  width: 53.8461538462%;
}
.top-concept .contents2 .wrap.--concept3 .imgArea {
  width: 45.2884615385%;
}
/* position
-------------------------------------------------------*/
.top-position .kv {
  position: relative;
}
.top-position .kv__ttl {
  z-index: 2;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  width: 96%;
  max-width: 1200px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .top-position .kv__ttl {
    top: 10px;
  }
}
.top-position .kv__img {
  margin-left: -20px;
  margin-right: -20px;
}
.top-position .inner .flexL {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 43.8333333333%;
}
@media screen and (max-width: 767px) {
  .top-position .inner .flexL {
    width: 100%;
  }
}
.top-position .inner .flexL .txt__md {
  position: relative;
  line-height: 2.2;
  margin-top: -10px;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-position .inner .flexL .txt__md {
    line-height: 1.9;
    margin-top: -5px;
  }
}
@media screen and (max-width: 767px) {
  .top-position .inner .flexL .txt__md {
    line-height: 1.9;
    margin-top: 0;
  }
}
.top-position .inner .flexR {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .top-position .inner .flexR {
    width: 100%;
    margin-top: 30px;
  }
}
.top-position .inner .flexR .col2 {
  max-width: 250px;
  margin-top: 20px;
}
.top-position .inner.inner__history {
  max-width: 1360px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-position .inner.inner__history {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top-position .inner.inner__history {
    margin-bottom: 15px;
  }
}
.top-position .ttl__history {
  width: 80%;
  max-width: 532px;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-position .ttl__history {
    width: 50vw;
  }
}
/* lifestyle
-------------------------------------------------------*/
#lifestyle {
  overflow: hidden;
}

.top-lifestyle .inner {
  max-width: 1400px;
  padding-left: 0;
  padding-right: 0;
}
.top-lifestyle .inner .ttl {
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  .top-lifestyle .inner .ttl {
    padding-bottom: 20px;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .top-lifestyle .inner .ttl {
    padding-bottom: 15px;
    margin-bottom: 50px;
  }
}
.top-lifestyle .wrap {
  position: relative;
}
.top-lifestyle .wrap::before {
  z-index: -1;
  content: "";
  position: absolute;
  bottom: 0;
  right: 50%;
  width: 51vw;
  height: 16.1vw;
  max-height: 260px;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .top-lifestyle .wrap::before {
    right: 0;
    width: 100vw;
    height: 20vw;
  }
}
.top-lifestyle .wrap .ttl__img {
  z-index: 2;
  position: relative;
  width: 70vw !important;
  max-width: 730px;
  margin-top: -20px;
  margin-left: -11.2903225806%;
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  .top-lifestyle .wrap .ttl__img {
    width: 56vw !important;
    margin-top: -1.5vw;
  }
}
@media screen and (max-width: 767px) {
  .top-lifestyle .wrap .ttl__img {
    position: absolute;
    top: -25px;
    left: 0;
    width: 100% !important;
    margin: auto !important;
  }
}
.top-lifestyle .wrap .copy {
  line-height: 1.6;
  margin-top: 100px;
  margin-bottom: 60px;
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  .top-lifestyle .wrap .copy {
    font-size: 2vw;
    white-space: nowrap;
    margin-top: 25px !important;
    margin-bottom: 30px !important;
  }
}
@media screen and (max-width: 767px) {
  .top-lifestyle .wrap .copy {
    margin-top: 20px !important;
    margin-bottom: 25px !important;
  }
}
.top-lifestyle .wrap .txtArea {
  width: 44.2857142857%;
  padding-left: 7.1428571429%;
}
@media screen and (max-width: 767px) {
  .top-lifestyle .wrap .txtArea {
    width: 100% !important;
    padding: 0 !important;
    margin-left: 15px !important;
    margin-right: 15px !important;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
.top-lifestyle .wrap .txtArea__img {
  position: relative;
}
.top-lifestyle .wrap .imgArea {
  width: 52.8571428571%;
}
@media screen and (max-width: 767px) {
  .top-lifestyle .wrap .imgArea {
    width: 100% !important;
  }
}
@media screen and (min-width: 1001px) {
  .top-lifestyle .wrap .imgArea img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 460px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-lifestyle .wrap .imgArea img {
    -o-object-fit: cover;
       object-fit: cover;
    height: calc(30vw + 100px);
  }
}
.top-lifestyle .wrap.reverse::before {
  left: 50%;
  right: auto;
  background-position: right bottom;
}
@media screen and (max-width: 767px) {
  .top-lifestyle .wrap.reverse::before {
    left: 0;
  }
}
.top-lifestyle .wrap.reverse .txtArea {
  width: 43.3333333333%;
  padding-left: 0;
}
.top-lifestyle .wrap.reverse .imgArea {
  width: 53.3333333333%;
}
.top-lifestyle #city_area::before {
  background-image: url(../../images/top/life_city_bg.png);
}
.top-lifestyle #south_area::before {
  background-image: url(../../images/top/life_south_bg.png);
}
.top-lifestyle #south_area .ttl__img {
  max-width: 785px;
  margin-left: -220px;
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
  .top-lifestyle #south_area .ttl__img {
    margin-left: -20vw;
  }
}
.top-lifestyle #south_area .copy {
  margin-top: 100px;
  margin-bottom: 80px;
  margin-left: 30px;
}
.top-lifestyle #south_area .txtArea__img {
  max-width: 540px;
  margin-right: 15.7142857143%;
}
@media screen and (max-width: 767px) {
  .top-lifestyle #south_area .txtArea__img {
    margin-right: auto;
  }
}
.top-lifestyle #town_area::before {
  background-image: url(../../images/top/life_town_bg.png);
}
.top-lifestyle #town_area .copy {
  letter-spacing: 0.08em;
  margin-bottom: 70px;
  white-space: nowrap;
}
.top-lifestyle #town_area .txtArea__img {
  margin-left: -30px;
}
@media screen and (max-width: 767px) {
  .top-lifestyle #town_area .txtArea__img {
    margin-left: auto;
  }
}

/* modal
-------------------------------------------------------*/
#top-info__banner {
  width: 100%;
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  #top-info__banner {
    margin-bottom: 40px;
  }
}
#top-info__banner a {
  display: block;
}

/*infoエリアをはじめは非表示*/
#info {
  display: none;
}

.modaal-wrapper * {
  caret-color: #7a6338;
}

.modaal__wrap {
  position: relative;
  max-width: 560px;
  max-height: 85vh;
  margin-inline: auto;
}

/*モーダルの横幅を変更したい場合*/
.modaal-container {
  background: transparent !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.modaal-container img {
  display: block;
  margin-inline: auto;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after,
.modaal-close:before {
  background: #ccc;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before {
  background: #666;
}

.modaal-overlay {
  z-index: 2000;
  background-color: rgba(20, 20, 20, 0.8) !important;
}

.modaal-content-container {
  position: relative;
  padding: 0 !important;
}
.modaal-content-container a {
  display: block;
  border-radius: 9px;
}
.modaal-content-container .modaal-close {
  width: 44px;
  height: 44px;
  position: absolute;
  background-color: #fff !important;
  right: -14px;
  top: -14px;
  z-index: 10;
}
.modaal-content-container .modaal-close::before, .modaal-content-container .modaal-close::after {
  left: 20px;
  top: 11px;
}

button.modaal-close {
  display: none !important;
}

/*=======================================================================

 別バリエーション

========================================================================*/
.top-kv__txt.--ver2 {
  margin-top: 0%;
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .top-kv__txt.--ver2 {
    padding-top: 10px;
  }
}
.top-kv__txt.--ver2:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  width: 100vw;
  height: 10px;
  margin-left: calc(50% - 50vw);
  background: -webkit-gradient(linear, left top, left bottom, from(#cfc182), to(#fff4cc));
  background: linear-gradient(to bottom, #cfc182, #fff4cc);
}
@media screen and (max-width: 767px) {
  .top-kv__txt.--ver2:before {
    height: 20px;
    height: 2.5641025641vw;
  }
}

.bg_grade2 {
  background-image: url(../../images/top2/bg_grade.png);
  background-repeat: repeat-y;
  background-position: center center;
  background-size: cover;
}

.top-hensairei.--ver2 {
  padding-top: 40px;
  padding-bottom: 55px;
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .top-hensairei.--ver2 {
    padding-top: 35px;
    padding-top: 5vw;
    padding-bottom: 40px;
    padding-bottom: 5.7142857143vw;
  }
}
.top-hensairei.--ver2 .inner {
  max-width: 1260px;
}
.top-hensairei.--ver2 .list .list-item {
  width: auto;
  font-size: min(2.9vw, 36px);
  font-family: "Cinzel", YakuHanMP, "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", YuMincho, serif;
  font-weight: 500;
  letter-spacing: -0.03em;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-hensairei.--ver2 .list .list-item {
    letter-spacing: -0.04em;
  }
}
@media screen and (max-width: 767px) {
  .top-hensairei.--ver2 .list .list-item {
    width: 100%;
    font-size: 56px;
    font-size: 8vw;
  }
}
.top-hensairei.--ver2 .list .list-item .num {
  color: #a6212e;
  font-size: 200%;
  line-height: 0;
}
@media screen and (max-width: 767px) {
  .top-hensairei.--ver2 .list .list-item .num {
    line-height: 0.8;
  }
}

.top-action {
  padding-top: 45px;
  padding-bottom: 45px;
  color: #5e484d;
  background-color: #f0e9b0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-action {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .top-action .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
.top-action .inner > * {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-optical-sizing: auto;
  line-height: 1.4;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .top-action .inner > * {
    white-space: nowrap;
    letter-spacing: 0em;
  }
}
.top-action .action__txt {
  font-size: 2.8rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .top-action .action__txt {
    font-size: 15px;
    font-size: 4.1095890411vw;
  }
}
.top-action .action__ttl01 {
  color: #db536b;
  font-size: 6rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .top-action .action__ttl01 {
    font-size: 28.5px;
    font-size: 7.8082191781vw;
  }
}
.top-action .action__ttl02 {
  font-size: 5rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .top-action .action__ttl02 {
    font-size: 26px;
    font-size: 7.1232876712vw;
  }
}

@media screen and (max-width: 767px) {
  .top-present {
    padding-top: 0;
  }
}
.top-present .inner {
  width: 100%;
  max-width: 900px;
}
@media screen and (max-width: 767px) {
  .top-present .inner {
    padding-left: 0;
    padding-right: 0;
  }
}
.top-present a {
  display: block;
}

.top-soudankai .inner {
  max-width: 1160px;
}
@media screen and (max-width: 767px) {
  .top-soudankai .inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.top-monaka .monaka {
  position: relative;
  font-family: YakuHanMP, "Shippori Mincho", "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", YuMincho, serif;
}
.top-monaka .monaka::before, .top-monaka .monaka::after {
  z-index: 10;
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 3px;
}
.top-monaka .monaka::before {
  top: 0;
  background: -webkit-gradient(linear, left top, right top, from(#c8bc71), color-stop(#e7e0b2), color-stop(#c8bc71), color-stop(#fff), to(#c8bc71));
  background: linear-gradient(to right, #c8bc71, #e7e0b2, #c8bc71, #fff, #c8bc71);
}
.top-monaka .monaka::after {
  bottom: 0;
  background: -webkit-gradient(linear, right top, left top, from(#c8bc71), color-stop(#e7e0b2), color-stop(#c8bc71), color-stop(#fff), to(#c8bc71));
  background: linear-gradient(to left, #c8bc71, #e7e0b2, #c8bc71, #fff, #c8bc71);
}
.top-monaka .monaka .monaka__img {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .top-monaka .monaka .monaka__img {
    width: 100%;
  }
}
.top-monaka .monaka .monaka__txt {
  width: 50%;
  background: -webkit-gradient(linear, left bottom, right top, from(#eaebeb), color-stop(60%, #f7f8f8), to(#d3d4d4));
  background: linear-gradient(to right top, #eaebeb, #f7f8f8 60%, #d3d4d4);
  padding: 40px 45px;
  letter-spacing: 0.15em;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-monaka .monaka .monaka__txt {
    padding: 4vw 4.5vw;
  }
}
@media screen and (max-width: 767px) {
  .top-monaka .monaka .monaka__txt {
    width: 100%;
    padding: 5vw 5.5vw;
  }
}
.top-monaka .monaka .monaka__txt .copy {
  font-size: 3.2rem;
  line-height: 1.5;
  -webkit-font-smoothing: subpixel-antialiased;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-monaka .monaka .monaka__txt .copy {
    font-size: 32px;
    font-size: 2.9090909091vw;
  }
}
@media screen and (max-width: 767px) {
  .top-monaka .monaka .monaka__txt .copy {
    font-size: 21px;
    font-size: 5.7534246575vw;
  }
}
.top-monaka .monaka .monaka__txt .txt {
  font-size: 2.4rem;
  line-height: 1.6666666667;
  margin-top: 1em;
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .top-monaka .monaka .monaka__txt .txt {
    font-size: 24px;
    font-size: 2.1818181818vw;
  }
}
@media screen and (max-width: 767px) {
  .top-monaka .monaka .monaka__txt .txt {
    font-size: 15px;
    font-size: 4.1095890411vw;
  }
}

.course__wrap {
  width: min(1060px, 100%);
  margin-inline: auto;
  color: #fff;
  background-color: #5e484d;
  background-image: url(../../images/top3/sp/course_bg_sp.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .course__wrap {
    background-image: url(../../images/top3/course_bg.png);
  }
}
.course__wrap .course__title {
  padding-top: 75px;
  padding-top: 9.6153846154vw;
  padding-bottom: 25px;
  padding-bottom: 3.2051282051vw;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .course__wrap .course__title {
    width: 74.0566037736%;
    padding-top: 70px;
    padding-bottom: 50px;
  }
}
.course__wrap .course-list {
  margin-bottom: 50px;
  margin-bottom: 6.4102564103vw;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .course__wrap .course-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: min(1000px, 96%);
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .course__wrap .course-list .course-list__item {
    width: 89.7435897436%;
    margin-inline: auto;
  }
  .course__wrap .course-list .course-list__item + .course-list__item {
    margin-top: 30px;
    margin-top: 3.8461538462vw;
  }
}
@media screen and (min-width: 768px) {
  .course__wrap .course-list .course-list__item {
    width: 32%;
  }
}
.course__wrap .c-button__wrap {
  max-width: 580px;
  margin-bottom: 10px;
  background-color: #fff;
}
.course__wrap .c-button__reserve {
  font-size: 36px;
  font-size: 4.6153846154vw;
  font-family: YakuHanMP, "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", YuMincho, serif;
  width: 100%;
  max-width: 100%;
  height: 92px;
  height: 11.7948717949vw;
}
@media screen and (min-width: 768px) {
  .course__wrap .c-button__reserve {
    font-size: 3.4rem;
    height: 90px;
  }
}
@media (any-hover: hover) {
  .course__wrap .c-button__reserve {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .course__wrap .c-button__reserve:hover {
    opacity: 0.4;
  }
}
.course__wrap .course__text {
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .course__wrap .course__text {
    font-size: 20px;
    font-size: 2.5641025641vw;
  }
}

.top-soudankai .slick .slick-slide {
  margin-left: 20px;
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .top-soudankai .slick .slick-slide {
    margin-left: 40px;
    margin-right: 40px;
  }
}
.top-soudankai .slick .slick-slide a {
  display: block;
}
.top-soudankai .slide-arrow {
  z-index: 99;
  bottom: 0;
  height: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 0;
}
.top-soudankai .prev-arrow {
  border-bottom: 15px solid transparent;
  border-left: 0;
  border-right: 20px solid #a1844f;
  border-top: 15px solid transparent;
  left: -25px;
}
@media screen and (max-width: 767px) {
  .top-soudankai .prev-arrow {
    border-bottom: 12px solid transparent;
    border-right: 15px solid #a1844f;
    border-top: 12px solid transparent;
    left: 13px;
  }
}
.top-soudankai .next-arrow {
  border-bottom: 15px solid transparent;
  border-left: 20px solid #a1844f;
  border-right: 0;
  border-top: 15px solid transparent;
  right: -25px;
}
@media screen and (max-width: 767px) {
  .top-soudankai .next-arrow {
    border-bottom: 12px solid transparent;
    border-left: 15px solid #a1844f;
    border-top: 12px solid transparent;
    right: 13px;
  }
}
.top-soudankai button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
}

/*=======================================================================



========================================================================*/
img {
  caret-color: transparent;
}

.top-meritbox {
  background-color: #1b677c;
}

.top-hensairei__price {
  background-color: #5e484d;
}
.top-hensairei__price .inner {
  width: min(1260px, 100%);
}

.top-hensairei__hensai {
  width: min(850px, 100%);
  padding-top: 30px;
  padding-bottom: 30px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .top-hensairei__hensai {
    padding-top: 30px;
    padding-top: 4.2857142857vw;
    padding-bottom: 30px;
    padding-bottom: 4.2857142857vw;
  }
}

.top-important {
  color: #d00;
  border: 1px solid #d00;
  padding: 10px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-important {
    width: 90%;
    margin-inline: auto;
  }
}/*# sourceMappingURL=page-top.css.map */