/* Generated by less 3.11.1 */
/* ここから */
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanjp-noto.min.css');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanmp-noto.min.css');
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v52/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFBEj75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notosansjp/v52/-F6jfjtqLzI2JPCgQBnw7HFyzSD-AsregP8VFPYk75s.ttf) format('truetype');
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notoserifjp/v21/xn7mYHs72GKoTvER4Gn3b5eMXNg.otf) format('opentype');
}
@font-face {
  font-family: 'Noto Serif JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/notoserifjp/v21/xn77YHs72GKoTvER4Gn3b5eMZGKLRkg.otf) format('opentype');
}
html {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", serif;
  -webkit-print-color-adjust: exact;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  background-color: #fff;
}
header {
  padding: 0 20px;
  background-image: url(../img/index_header_bg.jpg);
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  height: 100vh;
  max-height: 930px;
  min-height: 600px;
  color: #fff;
}
header .inner {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  height: 100%;
}
header h1 {
  text-shadow: 0 0 5px #000;
  font-size: 40px;
  font-size: 20px;
  line-height: 1.6em;
  position: absolute;
  top: 50%;
  left: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  white-space: nowrap;
}
@media (min-width: 350px), (min-height: 350px) {
  header h1 {
    font-size: calc(20px  +  20  * ((100vmin -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) and (min-height: 930px) {
  header h1 {
    font-size: 40px;
  }
}
header h1 span {
  font-size: 1.3em;
}
@media (max-width: 480px) {
  header h1 {
    left: 50%;
    top: auto;
    top: 20%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
header .msg {
  text-shadow: 0 0 5px #000;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
          writing-mode: vertical-rl;
  font-size: 76px;
  font-size: 30px;
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  white-space: nowrap;
}
@media (min-width: 350px), (min-height: 350px) {
  header .msg {
    font-size: calc(30px  +  46  * ((100vmin -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) and (min-height: 930px) {
  header .msg {
    font-size: 76px;
  }
}
@media (max-width: 480px) {
  header .msg {
    left: 50%;
    right: auto;
    top: 70%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
section.message {
  padding: 80px 20px;
  text-align: center;
  font-size: 35px;
  font-size: 13px;
  line-height: 1.8em;
}
@media (min-width: 350px) {
  section.message {
    font-size: calc(13px  +  22  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.message {
    font-size: 35px;
  }
}
section.period {
  padding: 80px 20px;
  color: #fff;
  background-color: #988046;
}
section.period h2 {
  font-size: 47px;
  font-size: 28px;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 1em;
}
@media (min-width: 350px) {
  section.period h2 {
    font-size: calc(28px  +  19  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.period h2 {
    font-size: 47px;
  }
}
section.period img {
  max-width: 810px;
  display: block;
  margin: 0 auto;
}
section.reserve {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
}
section.reserve a {
  display: block;
  background-color: #42210B;
  color: #fff;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  text-align: center;
  font-size: 63px;
  font-size: 20px;
  padding: 1em 0;
}
section.reserve a:hover {
  opacity: 0.5;
}
@media (min-width: 350px) {
  section.reserve a {
    font-size: calc(20px  +  43  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.reserve a {
    font-size: 63px;
  }
}
section.message2 {
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/index_reserve_bg.jpg);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/index_reserve_bg.jpg);
  background-position: center 60%;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 160px 20px;
  color: #fff;
  font-size: 35px;
  font-size: 16px;
  line-height: 1.8em;
  text-align: center;
}
@media (min-width: 350px) {
  section.message2 {
    font-size: calc(16px  +  19  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.message2 {
    font-size: 35px;
  }
}
section.winery .ttl {
  padding: 80px 20px;
}
section.winery .ttl h2 {
  max-width: 220px;
  display: block;
  margin: 0 auto;
  margin-bottom: 60px;
}
section.winery .ttl p {
  text-align: center;
  font-size: 35px;
  font-size: 16px;
  line-height: 1.8em;
}
@media (min-width: 350px) {
  section.winery .ttl p {
    font-size: calc(16px  +  19  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.winery .ttl p {
    font-size: 35px;
  }
}
section.winery .content {
  background-color: #988046;
}
section.winery .content ul {
  max-width: 1280px;
  margin: 0 auto;
}
section.winery .content ul li {
  display: grid;
  grid-template-columns: 50% 50%;
}
@media (max-width: 640px) {
  section.winery .content ul li {
    grid-template-columns: 1fr;
  }
}
section.winery .content ul li .img {
  height: 100%;
}
section.winery .content ul li .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
section.winery .content ul li .txt {
  padding: 60px;
  padding: 20px;
  background-color: #1D3E63;
  color: #fff;
}
@media (min-width: 350px) {
  section.winery .content ul li .txt {
    padding: calc(20px  +  40  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.winery .content ul li .txt {
    padding: 60px;
  }
}
section.winery .content ul li .txt .num-area {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: end;
          align-items: flex-end;
  line-height: 1;
  gap: 10px;
  margin-bottom: 30px;
}
section.winery .content ul li .txt .num-area .num {
  font-size: 97px;
  font-size: 30px;
}
@media (min-width: 350px) {
  section.winery .content ul li .txt .num-area .num {
    font-size: calc(30px  +  67  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.winery .content ul li .txt .num-area .num {
    font-size: 97px;
  }
}
section.winery .content ul li .txt .num-area .area {
  font-size: 28px;
  font-size: 16px;
}
@media (min-width: 350px) {
  section.winery .content ul li .txt .num-area .area {
    font-size: calc(16px  +  12  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.winery .content ul li .txt .num-area .area {
    font-size: 28px;
  }
}
section.winery .content ul li .txt h3 {
  font-size: 38px;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4em;
  margin-bottom: 30px;
}
@media (min-width: 350px) {
  section.winery .content ul li .txt h3 {
    font-size: calc(20px  +  18  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.winery .content ul li .txt h3 {
    font-size: 38px;
  }
}
section.winery .content ul li .txt p {
  font-size: 30px;
  font-size: 16px;
  line-height: 1.6em;
  margin-bottom: 20px;
}
@media (min-width: 350px) {
  section.winery .content ul li .txt p {
    font-size: calc(16px  +  14  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.winery .content ul li .txt p {
    font-size: 30px;
  }
}
section.winery .content ul li .txt .link {
  background-color: #fff;
  color: #000;
  letter-spacing: 0.1em;
  font-size: 28px;
  font-size: 16px;
  padding: 0.5em 2.5em;
  display: inline-block;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
@media (min-width: 350px) {
  section.winery .content ul li .txt .link {
    font-size: calc(16px  +  12  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.winery .content ul li .txt .link {
    font-size: 28px;
  }
}
section.winery .content ul li .txt .link:hover {
  opacity: 0.5;
}
section.winery .content ul li:nth-child(2n+1) .img {
  -webkit-box-ordinal-group: 0;
          order: -1;
}
@media (max-width: 640px) {
  section.winery .content ul li:nth-child(2n+1) .img {
    -webkit-box-ordinal-group: 2;
            order: 1;
  }
}
section.winery .content ul li:nth-child(2) .txt {
  background-color: #446380;
}
section.winery .content ul li:nth-child(3) .txt {
  background-color: #055672;
}
section.hotel > .ttl {
  padding: 80px 20px;
}
section.hotel > .ttl h2 {
  max-width: 220px;
  display: block;
  margin: 0 auto;
  margin-bottom: 60px;
}
section.hotel > .ttl h3 {
  text-align: center;
  font-size: 52px;
  font-size: 25px;
  font-weight: bold;
  margin-bottom: 30px;
}
@media (min-width: 350px) {
  section.hotel > .ttl h3 {
    font-size: calc(25px  +  27  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.hotel > .ttl h3 {
    font-size: 52px;
  }
}
section.hotel > .ttl > p {
  text-align: center;
  font-size: 35px;
  font-size: 16px;
  line-height: 1.8em;
  margin-bottom: 40px;
}
@media (min-width: 350px) {
  section.hotel > .ttl > p {
    font-size: calc(16px  +  19  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.hotel > .ttl > p {
    font-size: 35px;
  }
}
section.hotel > .ttl .link {
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
  border: 1px solid #000;
  background-color: #fff;
  color: #000;
  letter-spacing: 0.1em;
  font-size: 28px;
  font-size: 16px;
  padding: 0.5em 2.5em;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  margin-bottom: 60px;
}
@media (min-width: 350px) {
  section.hotel > .ttl .link {
    font-size: calc(16px  +  12  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.hotel > .ttl .link {
    font-size: 28px;
  }
}
section.hotel > .ttl .link:hover {
  opacity: 0.5;
}
section.hotel .inner {
  max-width: 1280px;
  margin: 0 auto;
}
section.hotel .inner .imgs {
  display: grid;
  grid-template-columns: 50% 50%;
  grid-template-rows: 50% 50%;
  margin: 0 -20px;
}
section.hotel .inner .imgs img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16 / 9;
}
section.hotel .inner .imgs img:nth-child(1) {
  grid-row: span 2;
  -o-object-position: 25% 50%;
     object-position: 25% 50%;
}
section.hotel .desc {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 45% 1fr;
  gap: 40px;
  padding: 40px 20px;
}
@media (max-width: 960px) {
  section.hotel .desc {
    grid-template-columns: 1fr;
    padding: 40px 0px;
    gap: 0;
    text-align: center;
  }
}
section.hotel .desc .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 960px) {
  section.hotel .desc .img {
    margin-bottom: 40px;
  }
}
section.hotel .desc .txt {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  -webkit-box-pack: center;
          justify-content: center;
}
section.hotel .desc .txt h4 {
  font-size: 20px;
  margin-bottom: 20px;
}
@media (min-width: 350px) {
  section.hotel .desc .txt h4 {
    font-size: calc(20px  +  7  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.hotel .desc .txt h4 {
    font-size: 27px;
  }
}
section.hotel .desc .txt p {
  font-size: 24px;
  font-size: 16px;
  line-height: 1.8em;
  margin-bottom: 20px;
}
@media (min-width: 350px) {
  section.hotel .desc .txt p {
    font-size: calc(16px  +  8  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.hotel .desc .txt p {
    font-size: 24px;
  }
}
section.hotel .desc .txt .tip {
  font-size: 14px;
  line-height: 1.4em;
}
@media (min-width: 350px) {
  section.hotel .desc .txt .tip {
    font-size: calc(14px  +  2  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.hotel .desc .txt .tip {
    font-size: 16px;
  }
}
section.schedule {
  padding: 80px 20px;
}
section.schedule .inner {
  max-width: 1280px;
  margin: 0 auto;
}
section.schedule h2 {
  font-size: 77px;
  font-size: 28px;
  font-style: italic;
  text-align: center;
  margin-bottom: 20px;
}
@media (min-width: 350px) {
  section.schedule h2 {
    font-size: calc(28px  +  49  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.schedule h2 {
    font-size: 77px;
  }
}
section.schedule h2::before {
  content: "";
  display: block;
  border-top: 3px solid #000;
  border-bottom: 2px solid #000;
  height: 10px;
}
section.schedule h2::after {
  content: "";
  display: block;
  border-top: 2px solid #000;
  border-bottom: 3px solid #000;
  height: 10px;
  margin-top: 10px;
}
section.schedule .tip {
  text-align: right;
  font-size: 13px;
  margin-bottom: 20px;
}
section.schedule .content {
  display: grid;
  grid-template-columns: 55% 1fr;
  gap: 30px;
  margin-bottom: 90px;
}
@media (max-width: 840px) {
  section.schedule .content {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
section.schedule .content > .txt p {
  font-size: 28px;
  font-size: 16px;
  line-height: 1.8em;
  margin-bottom: 30px;
}
@media (min-width: 350px) {
  section.schedule .content > .txt p {
    font-size: calc(16px  +  12  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.schedule .content > .txt p {
    font-size: 28px;
  }
}
section.schedule .content > .txt p span {
  font-size: 0.8em;
  display: block;
  text-align: right;
}
section.schedule .content > .txt .entertainment {
  margin-bottom: 30px;
}
section.schedule .content > .txt .entertainment .ttl {
  border: 1px solid #000;
  border-bottom: none;
  display: inline-block;
  padding: 0.5em;
  font-size: 12px;
}
section.schedule .content > .txt .entertainment .txt {
  background-color: #333333;
  color: #fff;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.5em 1em;
  font-size: 28px;
  font-size: 14px;
  line-height: 1.4em;
}
@media (min-width: 350px) {
  section.schedule .content > .txt .entertainment .txt {
    font-size: calc(14px  +  14  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.schedule .content > .txt .entertainment .txt {
    font-size: 28px;
  }
}
section.schedule .content > .txt .eat {
  text-align: right;
  font-size: 16px;
  margin-bottom: 30px;
}
@media (min-width: 350px) {
  section.schedule .content > .txt .eat {
    font-size: calc(16px  +  12  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.schedule .content > .txt .eat {
    font-size: 28px;
  }
}
section.schedule .content .imgs ul {
  display: grid;
  gap: 40px;
}
section.schedule .content .imgs ul li img {
  aspect-ratio: 3 / 2;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  margin-bottom: 20px;
}
section.schedule .content .imgs ul li .name {
  font-size: 22px;
  font-size: 16px;
}
@media (min-width: 350px) {
  section.schedule .content .imgs ul li .name {
    font-size: calc(16px  +  6  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.schedule .content .imgs ul li .name {
    font-size: 22px;
  }
}
section.schedule .content .imgs ul li .name a {
  display: inline-block;
  background-color: #408088;
  color: #fff;
  font-size: 0.8em;
  padding: 0.25em 1em;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
section.schedule .content .imgs ul li .name a:hover {
  opacity: 0.5;
}
section.schedule h3 {
  text-align: center;
  color: #fff;
  font-size: 28px;
  font-size: 15px;
  background-color: #408088;
  padding: 0.5em;
  font-weight: bold;
  margin-bottom: 2em;
}
@media (min-width: 350px) {
  section.schedule h3 {
    font-size: calc(15px  +  13  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.schedule h3 {
    font-size: 28px;
  }
}
section.schedule .pickup {
  display: grid;
  grid-template-columns: 45% 1fr;
  gap: 30px;
  margin-bottom: 30px;
}
@media (max-width: 840px) {
  section.schedule .pickup {
    grid-template-columns: 1fr;
  }
}
section.schedule .pickup .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 3 / 2;
}
section.schedule .pickup .txt h4 {
  font-size: 22px;
  line-height: 1.4em;
  margin-bottom: 30px;
  font-size: 16px;
}
@media (min-width: 350px) {
  section.schedule .pickup .txt h4 {
    font-size: calc(16px  +  6  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.schedule .pickup .txt h4 {
    font-size: 22px;
  }
}
section.schedule .pickup .txt p {
  font-size: 17px;
  font-size: 16px;
  line-height: 1.8em;
}
@media (min-width: 350px) {
  section.schedule .pickup .txt p {
    font-size: calc(16px  +  1  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.schedule .pickup .txt p {
    font-size: 17px;
  }
}
section.schedule .pickup .txt p a {
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
section.schedule .pickup .txt p a:hover {
  opacity: 0.5;
}
section.course {
  padding: 80px 20px;
}
section.course .inner {
  max-width: 1280px;
  margin: 0 auto;
}
section.course h2 {
  text-align: center;
  font-size: 52px;
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media (min-width: 350px) {
  section.course h2 {
    font-size: calc(30px  +  22  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.course h2 {
    font-size: 52px;
  }
}
section.course .h2-ja {
  text-align: center;
  font-size: 35px;
  font-size: 20px;
  margin-bottom: 20px;
}
@media (min-width: 350px) {
  section.course .h2-ja {
    font-size: calc(20px  +  15  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.course .h2-ja {
    font-size: 35px;
  }
}
section.course .exp {
  text-align: center;
  font-size: 25px;
  font-size: 18px;
  margin-bottom: 80px;
}
@media (min-width: 350px) {
  section.course .exp {
    font-size: calc(18px  +  7  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.course .exp {
    font-size: 25px;
  }
}
section.course .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 960px;
  margin: 0 auto;
  gap: 60px;
}
@media (max-width: 840px) {
  section.course .content {
    grid-template-columns: 1fr;
  }
}
section.course .content .img {
  text-align: center;
}
section.course .content .img img {
  width: 100%;
  max-width: 400px;
}
section.bus {
  padding: 80px 20px;
  background-color: #dcdcdc;
}
section.bus .inner {
  max-width: 1280px;
  margin: 0 auto;
}
section.bus h2 {
  font-size: 52px;
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 60px;
  text-align: center;
}
@media (min-width: 350px) {
  section.bus h2 {
    font-size: calc(30px  +  22  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.bus h2 {
    font-size: 52px;
  }
}
section.bus .content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
@media (max-width: 940px) {
  section.bus .content {
    grid-template-columns: 1fr;
  }
}
section.bus .content .h3-tip {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 30px;
}
section.bus .content .h3-tip h3 {
  background-color: #408088;
  color: #fff;
  font-size: 25px;
  font-size: 18px;
  font-weight: bold;
  padding: 0.5em 2em;
}
@media (min-width: 350px) {
  section.bus .content .h3-tip h3 {
    font-size: calc(18px  +  7  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.bus .content .h3-tip h3 {
    font-size: 25px;
  }
}
section.bus .content .h3-tip .tip {
  font-size: 25px;
  font-size: 14px;
}
@media (min-width: 350px) {
  section.bus .content .h3-tip .tip {
    font-size: calc(14px  +  11  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.bus .content .h3-tip .tip {
    font-size: 25px;
  }
}
section.bus .content p {
  font-size: 24px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.4em;
  margin-bottom: 30px;
}
@media (min-width: 350px) {
  section.bus .content p {
    font-size: calc(16px  +  8  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.bus .content p {
    font-size: 24px;
  }
}
section.bus .content img {
  width: 100%;
  margin-bottom: 20px;
}
section.bus .content iframe {
  width: 100%;
}
section.bus .content .ref {
  text-align: right;
  font-size: 9px;
}
section.bus .content .ref a {
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
section.bus .content .ref a:hover {
  opacity: 0.5;
}
section.information-cautions {
  padding: 80px 20px;
}
section.information-cautions .inner {
  max-width: 1280px;
  margin: 0 auto;
}
section.information-cautions h2 {
  text-align: center;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  font-size: 26px;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 0.5em;
  margin-bottom: 30px;
}
@media (min-width: 350px) {
  section.information-cautions h2 {
    font-size: calc(18px  +  8  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.information-cautions h2 {
    font-size: 26px;
  }
}
section.information-cautions p {
  font-size: 15px;
  font-size: 13px;
  line-height: 1.6em;
  margin-bottom: 40px;
}
@media (min-width: 350px) {
  section.information-cautions p {
    font-size: calc(13px  +  2  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.information-cautions p {
    font-size: 15px;
  }
}
section.information-cautions .terms {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}
@media (max-width: 940px) {
  section.information-cautions .terms {
    grid-template-columns: 1fr;
  }
}
section.information-cautions .terms li a {
  display: block;
  text-align: center;
  background-color: #F4F7F3;
  font-size: 20px;
  font-size: 15px;
  line-height: 1.6em;
  padding: 0.5em;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
@media (min-width: 350px) {
  section.information-cautions .terms li a {
    font-size: calc(15px  +  5  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.information-cautions .terms li a {
    font-size: 20px;
  }
}
section.information-cautions .terms li a:hover {
  opacity: 0.5;
}
section.contact a {
  display: block;
  background-color: #988046;
  color: #fff;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  text-align: center;
  padding: 40px 20px;
  font-size: 40px;
  font-size: 18px;
  font-weight: bold;
}
section.contact a:hover {
  opacity: 0.5;
}
@media (min-width: 350px) {
  section.contact a {
    font-size: calc(18px  +  22  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.contact a {
    font-size: 40px;
  }
}
footer {
  padding: 80px 20px;
  background-color: #1D3E63;
  color: #fff;
}
footer .inner {
  max-width: 1280px;
  margin: 0 auto;
}
footer h2 {
  text-align: center;
  font-size: 34px;
  font-size: 20px;
  margin-bottom: 30px;
}
@media (min-width: 350px) {
  footer h2 {
    font-size: calc(20px  +  14  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  footer h2 {
    font-size: 34px;
  }
}
footer .company {
  display: block;
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 40px;
}
footer p {
  font-size: 22px;
  font-size: 16px;
  line-height: 1.6em;
  margin-bottom: 30px;
}
@media (min-width: 350px) {
  footer p {
    font-size: calc(16px  +  6  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  footer p {
    font-size: 22px;
  }
}
footer p a {
  font-size: 1.2em;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
}
footer p a:hover {
  opacity: 0.5;
}
footer .tip {
  border: 1px solid #fff;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 0.5em;
  line-height: 1.6em;
  font-size: 27px;
  font-size: 12px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 50px;
}
@media (min-width: 350px) {
  footer .tip {
    font-size: calc(12px  +  15  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  footer .tip {
    font-size: 27px;
  }
}
footer .sponsorship {
  text-align: center;
  margin-bottom: 40px;
  font-size: 28px;
  font-size: 16px;
  font-weight: bold;
}
@media (min-width: 350px) {
  footer .sponsorship {
    font-size: calc(16px  +  12  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  footer .sponsorship {
    font-size: 28px;
  }
}
footer small {
  text-align: center;
  display: block;
  font-size: 22px;
  font-size: 12px;
}
@media (min-width: 350px) {
  footer small {
    font-size: calc(12px  +  10  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  footer small {
    font-size: 22px;
  }
}
section.price {
  padding: 80px 20px;
  background-color: #f3f3f3;
}
section.price .inner {
  max-width: 1280px;
  margin: 0 auto;
}
section.price h2 {
  font-size: 20px;
  margin-bottom: 20px;
  text-align: center;
}
@media (min-width: 350px) {
  section.price h2 {
    font-size: calc(20px  +  7  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.price h2 {
    font-size: 27px;
  }
}
section.price p {
  font-size: 16px;
  line-height: 1.8em;
  text-align: center;
  margin-bottom: 30px;
}
@media (min-width: 350px) {
  section.price p {
    font-size: calc(16px  +  8  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.price p {
    font-size: 24px;
  }
}
section.price p span {
  font-size: 1.8em;
  color: #055672;
}
section.price .tip {
  font-size: 14px;
  line-height: 1.4em;
  max-width: 640px;
  margin: 0 auto;
}
@media (min-width: 350px) {
  section.price .tip {
    font-size: calc(14px  +  2  * ((100vw -  350px ) / 930 ));
  }
}
@media (min-width: 1280px) {
  section.price .tip {
    font-size: 16px;
  }
}
