@charset "UTF-8";
/* フォント定設
-----------------------------------------------------------------*/
@font-face {
  font-family: "MyYuGothicM";
  font-weight: normal;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
  /* 游ゴシックMediumが存在しないWindows8.1用 */
}
@font-face {
  font-family: "MyYuGothicM";
  font-weight: bold;
  src: local("YuGothic-Bold"), local("Yu Gothic Bold");
  /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
}
@font-face {
  font-family: "MyYuMinchoM";
  font-weight: normal;
  src: local("YuMincho-Medium"), local("Yu Mincho Medium"), local("YuMincho-Regular");
  /* 游明朝Mediumが存在しないWindows8.1用 */
}
@font-face {
  font-family: "MyYuMinchoM";
  font-weight: bold;
  src: local("YuMincho-Demibold"), local("Yu Mincho");
  /* PostScript Nameを認識できないChrome用にFull Nameを指定 */
}
/* Farm/buy デザイントークン
-----------------------------------------------------------------*/
/* イージング
-----------------------------------------------------------------*/
/* デュレーション
-----------------------------------------------------------------*/
/*!
 * ress.css • v1.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after {
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

/* Remove margin, padding of all elements and set background-no-repeat as default */
* {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements */
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

i {
  font-style: normal;
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* add RIDE */
body,
div,
p,
form,
input,
textarea,
select,
option,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
address,
time {
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  margin: 0;
  padding: 0;
}

ul,
ol {
  list-style-type: none;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

[type=number] {
  width: auto; /* Firefox 36+ */
}

[type=search] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

hr {
  border: none;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Correct the text style of placeholders in Chrome, Edge, and Safari */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  vertical-align: middle;
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Acessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #fff;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #fff;
  text-shadow: none;
}

/* 共通スタイル定設
-----------------------------------------------------------------*/
html,
body {
  font-family: "Zen Kaku Gothic Antique", MyYuGothicM, "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 14px;
  line-height: 1;
  color: #050403;
  letter-spacing: 0.06em;
  overflow-x: clip;
}

body {
  --slider-accent: #ab0033;
}

body[data-theme=eat] {
  --slider-accent: #e87777;
}

body[data-theme=shop] {
  --slider-accent: #c09060;
}

body[data-theme=garden] {
  --slider-accent: #57ac91;
}

body[data-theme=experience] {
  --slider-accent: #6ea8d6;
}

body[data-theme=animals] {
  --slider-accent: #f88c6b;
}

body[data-theme=howto] {
  --slider-accent: #57ac91;
}

body {
  width: 100%;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  body {
    content: "portrait";
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  body {
    content: "landscape";
  }
}
.scrollLock body {
  overflow: hidden;
}

a {
  text-decoration: none;
  color: inherit;
}

button,
input[type=button] {
  cursor: pointer;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.defs {
  height: 0;
  width: 0;
  overflow: hidden;
  position: absolute;
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .dn-portrait {
    display: none !important;
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .dn-landscape {
    display: none !important;
  }
}

.br-sp {
  display: none;
}

.br-pc {
  display: inline;
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .br-sp {
    display: inline;
  }
  .br-pc {
    display: none;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  main {
    overflow-x: hidden;
    overflow-x: clip;
  }
}
.slick-slider * {
  outline: 0;
}

.slick-dots {
  display: block;
  width: 100%;
  padding: 0;
  list-style: none;
  text-align: center;
  margin: 24px 0 0;
  font-size: 0px;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  margin: 0 4px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: 0;
  background: transparent;
}
.slick-dots li button:before {
  font-size: 6px;
  line-height: 6px;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  border-radius: 6px;
  text-align: center;
  color: black;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-list {
  overflow: hidden;
}

.slick-track {
  overflow: hidden;
}

.slick-slide {
  float: left;
}

.slick-prev, .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  z-index: 100;
  display: block;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: 0;
  background: transparent;
}

.slick-prev:hover, .slick-prev:focus {
  color: transparent;
  outline: 0;
}

.slick-next:hover, .slick-next:focus {
  color: transparent;
  outline: 0;
}

.slick-prev:hover:before, .slick-prev:focus:before {
  opacity: 1;
}

.slick-next:hover:before, .slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before, .slick-next:before {
  content: "";
  line-height: 1;
  display: block;
  color: white;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*
  CUSTOM
———————————————–*/
/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
.pswp, .pswp__bg, .pswp__scroll-wrap {
  height: 100%;
  width: 100%;
}

.pswp, .pswp__item, .pswp__scroll-wrap {
  overflow: hidden;
  top: 0;
  position: absolute;
  left: 0;
}

.pswp, .pswp__bg, .pswp__container, .pswp__img--placeholder, .pswp__zoom-wrap {
  -webkit-backface-visibility: hidden;
}

.pswp, .pswp__bg, .pswp__error-msg, .pswp__img, .pswp__item, .pswp__scroll-wrap, .pswp__zoom-wrap {
  position: absolute;
}

.pswp {
  display: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--animate_opacity {
  opacity: 0.001;
  will-change: opacity;
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--open {
  display: block;
}

.pswp--zoom-allowed .pswp__img {
  cursor: zoom-in;
}

.pswp--zoomed-in .pswp__img {
  cursor: grab;
}

.pswp--dragging .pswp__img {
  cursor: grabbing;
}

.pswp__bg {
  left: 0;
  top: 0;
  background: #000;
  opacity: 0;
  transform: translateZ(0);
  will-change: opacity;
}

.pswp__container, .pswp__zoom-wrap {
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.pswp__container, .pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.pswp__zoom-wrap {
  width: 100%;
  transform-origin: left top;
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp__bg {
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--animated-in .pswp__bg, .pswp--animated-in .pswp__zoom-wrap {
  transition: none;
}

.pswp__item {
  right: 0;
  bottom: 0;
}

.pswp__img {
  width: auto;
  height: auto;
  top: 0;
  left: 0;
}

.pswp__img--placeholder--blank {
  background: #222;
}

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0;
}

.pswp__error-msg {
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC;
}

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-scrollbar {
  position: relative;
}

.swiper-scrollbar-drag {
  position: relative;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

/* Farm/buy デザイントークン
-----------------------------------------------------------------*/
/* イージング
-----------------------------------------------------------------*/
/* デュレーション
-----------------------------------------------------------------*/
.header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
}

.header_inner {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  gap: 16px 1.1111111111vw;
  padding: 12px 32px 15px;
  border-radius: 0 0 20px 20px;
  background-color: #ffffff;
}

.headerInfo {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 24px 1.6666666667vw;
  grid-column: 2/3;
  grid-row: 1/2;
}

.headerInfo_today {
  display: flex;
  align-items: center;
  gap: 10px 0.6944444444vw;
}

.headerInfo_todayLabel {
  margin: 0;
  font-size: 12px;
  font-weight: 500;
}

.headerInfo_todayTime {
  display: flex;
  align-items: center;
  gap: 4px 0.2777777778vw;
  margin: 0;
  font-family: "Special Gothic Condensed One", sans-serif;
  font-size: 15px;
}

.headerInfo_todaySep {
  color: #050403;
}

.headerInfo_links {
  display: grid;
  align-items: center;
  gap: 24px 1.6666666667vw;
  grid-auto-flow: column;
  grid-auto-columns: auto;
}

.headerInfo_linksLink {
  display: flex;
  align-items: center;
  gap: 6px 0.4166666667vw;
  font-size: 12px;
  font-weight: 500;
}

.headerInfo_linksIcon {
  flex-shrink: 0;
  margin-top: 2px;
}

.headerInfo_linksIcon-clock {
  width: 17.025px;
  height: 17.034px;
}

.headerInfo_linksIcon-tickets {
  width: 19.564px;
  height: 12.356px;
}

.headerInfo_linksIcon-car {
  width: 20.764px;
  height: 13.391px;
}

.headerInfo_linksIcon-faq {
  width: 17.024px;
  height: 17.035px;
}

.headerInfo_linksIcon-map {
  width: 17.227px;
  height: 15.063px;
}

.header_nav {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-left: auto;
  grid-column: 2/3;
  grid-row: 2/3;
}
.header_inner:not(:has(.headerInfo)) .header_nav {
  grid-row: 1/2;
}

.header_logo {
  display: block;
  flex-shrink: 0;
  grid-column: 1/2;
  grid-row: 1/3;
}
.header_inner:not(:has(.headerInfo)) .header_logo {
  grid-row: 1/2;
}

.header_logoImg {
  width: 141.317px;
  height: 35.4px;
}

.header_navBody {
  display: flex;
  align-items: center;
  gap: 24px 1.6666666667vw;
}

.headerGnav_list {
  display: flex;
  align-items: center;
  gap: 32px 2.2222222222vw;
}

.headerGnav_link {
  font-size: 16px;
  font-weight: 700;
}

.headerUtility {
  display: flex;
  align-items: center;
  gap: 25px 1.7361111111vw;
}

.headerUtility_corp,
.headerUtility_shop {
  display: flex;
  align-items: center;
  gap: 6px 0.4166666667vw;
  font-size: 16px;
  font-weight: 700;
}
.headerUtility_corp:before,
.headerUtility_shop:before {
  display: block;
  width: 1px;
  height: 24px;
  margin-right: 18px;
  background-color: #d9d9d9;
  content: "";
}

.headerUtility_extLink {
  flex-shrink: 0;
  width: 16.117px;
  margin-top: 3px;
  overflow: hidden;
  aspect-ratio: 1;
  fill: currentColor;
}
.headerUtility_extLink > img,
.headerUtility_extLink > svg,
.headerUtility_extLink > iframe,
.headerUtility_extLink > video {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.headerUtility_corp {
  color: #ab0033;
}
.headerUtility_corp svg {
  fill: #ab0033;
}

.headerUtility_shop svg {
  fill: #050403;
}

.headerUtility_menu {
  width: 4.4444444444vw;
  height: 49px;
}

.headerLang,
.headerMenu_todayStatus,
.headerMenu_weather {
  display: none;
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .header_inner {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: 18px 8px;
    padding: 12px 24px 16px;
    border-radius: 0 0 20px 20px;
  }
  .headerInfo {
    justify-content: space-between;
    gap: 0px;
    grid-column: 1/3;
    grid-row: 1;
  }
  .header.is-menuOpen .headerInfo {
    display: none;
  }
  .headerInfo_todayLabel {
    display: none;
  }
  .headerInfo_today {
    gap: 6px;
    padding-right: 16px;
    border-right: 1px solid #d9d9d9;
  }
  .headerInfo_todayTime {
    font-size: 13px;
  }
  .headerInfo_todayTime::before {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    background: url(../images/common/icons/icon-clock.svg) no-repeat center/contain;
    content: "";
  }
  .headerInfo_links {
    gap: 24px;
  }
  .headerInfo_linksItem:nth-child(1),
  .headerInfo_linksItem:nth-child(2) {
    display: none;
  }
  .headerInfo_linksLink {
    gap: 4px;
    font-size: 11px;
  }
  .headerInfo_linksItem:nth-child(5) span {
    display: none;
  }
  .headerInfo_linksSuffix {
    display: none;
  }
  .header_logo {
    align-self: center;
    grid-column: 1;
    grid-row: 2;
  }
  .header.is-menuOpen .header_logo {
    grid-row: 1;
  }
  .header_logoImg {
    width: 101px;
    height: 25.3px;
  }
  .header.is-menuOpen .header_logoImg {
    width: 160px;
    height: 40.1px;
  }
  .header_nav {
    align-items: center;
    grid-column: 2;
    grid-row: 2;
  }
  .header.is-menuOpen .header_nav {
    grid-row: 1;
  }
  .header_navBody {
    gap: 0;
  }
  .headerGnav,
  .headerUtility_corp,
  .headerUtility_shop {
    display: none;
  }
  .headerUtility {
    gap: 0;
  }
  .headerUtility_menu {
    width: 63px;
    height: auto;
  }
}
.header_drawer {
  display: none;
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .header.is-menuOpen .header_inner {
    z-index: 2;
    display: block;
    height: 113px;
    padding: 32px;
    border-radius: 0;
  }
  .header.is-menuOpen .headerInfo {
    display: none;
  }
  .header.is-menuOpen .header_logo {
    position: absolute;
    top: 40px;
    left: 32px;
    grid-column: auto;
    grid-row: auto;
  }
  .header.is-menuOpen .header_logoImg {
    width: 141.317px;
    height: 35.4px;
  }
  .header.is-menuOpen .header_nav {
    position: absolute;
    top: 32px;
    right: 32px;
    display: block;
    margin-left: 0;
  }
  .header.is-menuOpen .header_navBody {
    display: block;
  }
  .header.is-menuOpen .headerGnav,
  .header.is-menuOpen .headerUtility_corp,
  .header.is-menuOpen .headerUtility_shop {
    display: none;
  }
  .header.is-menuOpen .headerUtility {
    display: block;
  }
  .header.is-menuOpen .headerUtility_menu {
    width: 64px;
    height: 49px;
  }
  .headerUtility_menu svg {
    width: 100%;
    height: 100%;
  }
  .header.is-menuOpen .headerLang {
    position: absolute;
    top: 45px;
    right: 121px;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 64px;
    height: 24px;
    padding: 0 13px 0 17px;
    border: 1px solid #d9d9d9;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
  }
  .headerLang::after {
    margin-top: -3px;
    display: block;
    width: 5px;
    border-top: 1px solid #050403;
    border-right: 1px solid #050403;
    content: "";
    aspect-ratio: 1;
    rotate: 135deg;
  }
  .header_drawer {
    position: fixed;
    z-index: 1;
    display: block;
    visibility: hidden;
    background-color: rgba(10, 10, 10, 0.85);
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
    inset: 0;
  }
  .header.is-menuOpen .header_drawer {
    visibility: visible;
    opacity: 1;
  }
  .header_drawerPanel {
    display: grid;
    overflow-y: auto;
    grid-template-columns: minmax(0, 30.1388888889vw) minmax(0, 40.6944444444vw);
    grid-template-rows: auto auto;
    width: 100%;
    max-height: 100vh;
    padding: 156px 8.3333333333vw 72px 14.0277777778vw;
    border-radius: 0 0 20px 20px;
    background-color: #ffffff;
    transform: translateY(-8px);
    transition: transform 0.3s;
    -moz-column-gap: 6.6666666667vw;
    column-gap: 6.6666666667vw;
    row-gap: 52px;
  }
  .header.is-menuOpen .header_drawerPanel {
    transform: translateY(0);
  }
  .header_drawerPanel .footerCat_title,
  .header_drawerPanel .footerLinks_title {
    gap: 12px;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0;
    font-weight: 700;
    line-height: 1.4;
  }
  .header_drawerPanel .footerCat_title {
    font-size: 18px;
  }
  .header_drawerPanel .footerLinks_title {
    font-size: 16px;
  }
  .header_drawerPanel .footerLinks_list {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .header_drawerPanel .footerLinks_link {
    font-size: 15px;
    line-height: 1.55;
    white-space: nowrap;
  }
  .headerMenu_category {
    display: grid;
    align-content: start;
    grid-column: 1;
    grid-row: 1/3;
    row-gap: 27px;
  }
  .header_drawerPanel .footerCat_list {
    display: grid;
    grid-template-columns: repeat(3, 8.1944444444vw);
    gap: 30px 1.9444444444vw;
  }
  .header_drawerPanel .footerCat_link {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
  }
  .header_drawerPanel .footerCat_icon {
    width: 8.1944444444vw;
  }
  .header_drawerPanel .footerCat_label {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
  }
  .headerMenu_guide {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 11.5277777778vw) minmax(0, 10.2777777778vw) minmax(0, 1fr);
    grid-column: 2;
    grid-row: 1;
    -moz-column-gap: 2.6388888889vw;
    column-gap: 2.6388888889vw;
    row-gap: 32px;
  }
  .headerMenu_guide .footerLinks_title {
    grid-column: 1/4;
  }
  .headerMenu_guide .header_guideList {
    display: grid;
    grid-template-columns: repeat(5, 4.8611111111vw);
    gap: 1.9444444444vw;
    grid-column: 1/4;
  }
  .headerMenu_guide .header_guideLink {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    text-align: center;
  }
  .headerMenu_guide .header_guideIcon {
    width: 34px;
    height: 34px;
  }
  .headerMenu_guide .header_guideLabel {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
  }
  .headerMenu_guide .footerLinks_list {
    grid-column: 1;
  }
  .headerMenu_todayStatus {
    display: grid;
    gap: 9px;
    min-height: 82px;
    padding-left: 2.7083333333vw;
    border-left: 1px solid #d9d9d9;
    grid-column: 2;
  }
  .headerMenu_todayStatusLabel {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
  }
  .headerMenu_todayStatusArrow {
    opacity: 0.2;
    display: block;
    width: 5px;
    border-top: 1px solid #050403;
    border-right: 1px solid #050403;
    content: "";
    aspect-ratio: 1;
    rotate: 45deg;
  }
  .headerMenu_todayStatusTime {
    font-family: "Special Gothic Condensed One", sans-serif;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  .headerMenu_weather {
    display: grid;
    gap: 11px;
    padding-top: 18px;
    grid-column: 3;
  }
  .headerMenu_weatherTemp {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-family: "Special Gothic Condensed One", sans-serif;
    font-size: 16px;
    line-height: 1;
  }
  .headerMenu_weatherTemp img {
    width: 21px;
    height: 21px;
  }
  .headerMenu_weatherHigh {
    color: #e87777;
  }
  .headerMenu_weatherSlash {
    color: #d9d9d9;
  }
  .headerMenu_weatherLow {
    color: #6ea8d6;
  }
  .headerMenu_weatherStatus {
    display: flex;
    gap: 8px;
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: #838383;
  }
  .headerMenu_lower {
    display: grid;
    align-items: start;
    grid-template-columns: minmax(0, 11.8055555556vw) minmax(0, 15.2777777778vw);
    grid-column: 2;
    grid-row: 2;
    -moz-column-gap: 4.8611111111vw;
    column-gap: 4.8611111111vw;
  }
  .headerMenu_today {
    display: grid;
    align-content: start;
    width: 11.8055555556vw;
    row-gap: 16px;
  }
  .headerMenu_linkGroups {
    display: grid;
    gap: 8px;
  }
  .headerMenu_contact {
    display: grid;
    align-content: start;
    width: 15.2777777778vw;
    row-gap: 16px;
  }
}
@media screen and (min-width:1024px) and (orientation: landscape) and (min-width:1024px) and (orientation: landscape) and (max-width: 1200px), screen and (min-width:1024px) and (orientation: landscape) and (min-width:1025px) and (max-width: 1200px), screen and (min-width:1025px) and (min-width:1024px) and (orientation: landscape) and (max-width: 1200px), screen and (min-width:1025px) and (min-width:1025px) and (max-width: 1200px) {
  .headerMenu_guide {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: 24px;
    -moz-column-gap: 32px;
    column-gap: 32px;
  }
  .headerMenu_guide .footerLinks_title,
  .headerMenu_guide .header_guideList {
    grid-column: 1/3;
  }
  .headerMenu_guide .header_guideList {
    grid-template-columns: repeat(5, minmax(56px, 1fr));
    gap: 20px;
  }
  .headerMenu_guide .footerLinks_list {
    grid-column: 1;
  }
  .headerMenu_todayStatus {
    padding-left: 0;
    border-left: 0;
    grid-column: 1;
    grid-row: 4;
  }
  .headerMenu_weather {
    padding-top: 0;
    grid-column: 2;
    grid-row: 4;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .header_inner {
    z-index: 2;
  }
  .header_drawer {
    position: fixed;
    z-index: 1;
    display: block;
    visibility: hidden;
    background: rgba(10, 10, 10, 0.35);
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
    inset: 0;
  }
  .header.is-menuOpen .header_drawer {
    visibility: visible;
    opacity: 1;
  }
  .header_drawerPanel {
    display: flex;
    overflow-y: auto;
    flex-direction: column;
    gap: 48px;
    width: 100%;
    max-height: calc(100vh - 24px);
    padding: 96px 24px 40px;
    border-radius: 0 0 20px 20px;
    background: #ffffff;
    transform: translateY(-8px);
    transition: transform 0.3s;
  }
  .header.is-menuOpen .header_drawerPanel {
    transform: translateY(0);
  }
  .header_guideList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px 8px;
    margin-bottom: 24px;
  }
  .header_drawerPanel .footerCat_list {
    gap: 32px;
  }
  .header_drawerPanel .footerCat_link {
    gap: 12px;
  }
  .header_drawerPanel .footerCat_label {
    font-size: 16px;
  }
  .header_guideLink {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    text-align: center;
  }
  .header_guideIcon {
    width: 32px;
    height: 32px;
  }
  .header_guideLabel {
    font-size: 13px;
    line-height: 1.4;
    letter-spacing: 0.02em;
  }
  .headerMenu_lower {
    display: flex;
    flex-direction: column;
    gap: 48px;
  }
  .headerMenu_linkGroups {
    display: grid;
    gap: 24px;
  }
}
/* Farm/buy デザイントークン
-----------------------------------------------------------------*/
/* イージング
-----------------------------------------------------------------*/
/* デュレーション
-----------------------------------------------------------------*/
.footer {
  background-color: #ffffff;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footer {
    border-top: none;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footer {
    border-top: 1px solid #d9d9d9;
  }
}

.footer_inner {
  margin: 0 auto;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footer_inner {
    width: auto;
    max-width: calc(100% - 48px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footer_inner {
    width: calc(100% - 6.6666666667vw * 2);
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footer_inner {
    padding: 56px 0 32px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footer_inner {
    padding: 96px 0 40px;
  }
}

.footer_cols {
  display: grid;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footer_cols {
    grid-template-columns: 1fr;
    gap: 48px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footer_cols {
    -moz-column-gap: 10px;
    column-gap: 10px;
    grid-template-columns: minmax(0, calc(21.7361111111vw - 10px)) minmax(0, calc(21.8055555556vw - 10px)) minmax(0, calc(17.0833333333vw - 10px)) minmax(0, 1fr);
  }
}

.footerCat_title,
.footerLinks_title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px 0.8333333333vw;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
}

.footerCat_title {
  font-size: 18px;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerCat_title {
    margin: 0 0 32px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_title {
    margin: 0 0 24px;
  }
}

.footerLinks_title {
  margin: 0 0 24px;
  font-size: 16px;
}

.footerCat_titleArrow,
.footerLinks_titleArrow {
  display: block;
  width: 10px;
  border-top: 2px solid #050403;
  border-right: 2px solid #050403;
  content: "";
  aspect-ratio: 1;
  rotate: 45deg;
  opacity: 0.2;
}

.footerCat_list {
  display: grid;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerCat_list {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_list {
    gap: 22px 1.5277777778vw;
  }
}

.footerCat_link {
  display: flex;
  align-items: center;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerCat_link {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_link {
    gap: 16px 1.1111111111vw;
  }
}

.footerCat_icon {
  overflow: hidden;
  aspect-ratio: 1.5526315789;
}
.footerCat_icon > img,
.footerCat_icon > svg,
.footerCat_icon > iframe,
.footerCat_icon > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerCat_icon {
    width: 100%;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_icon {
    width: 4.0972222222vw;
  }
}

.footerCat_label {
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerCat_label {
    font-size: 14px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_label {
    font-size: 22px;
  }
}

.footerLinks_list {
  display: grid;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerLinks_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 16px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerLinks_list {
    gap: 10px;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerLinks_list + .footerLinks_list {
    margin-top: 24px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerLinks_list + .footerLinks_list {
    margin-top: 48px;
  }
}

.footerLinks_link {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.footerUtil {
  display: flex;
  border-top: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerUtil {
    flex-wrap: wrap;
    gap: 24px 40px;
    margin-top: 40px;
    padding: 32px 0;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerUtil {
    gap: 64px 4.4444444444vw;
    margin-top: 64px;
    padding: 24px 0;
  }
}

.footerUtil_link {
  display: flex;
  align-items: baseline;
  gap: 8px 0.5555555556vw;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.04em;
}

.footerUtil_icon {
  overflow: hidden;
  aspect-ratio: 1;
  fill: currentColor;
}
.footerUtil_icon > img,
.footerUtil_icon > svg,
.footerUtil_icon > iframe,
.footerUtil_icon > video {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerUtil_icon {
    width: 13px;
    margin-left: 8px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerUtil_icon {
    width: 0.9027777778vw;
  }
}

.footerBottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerBottom {
    flex-direction: column;
    gap: 24px;
    margin-top: 32px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerBottom {
    margin-top: 40px;
  }
}

.footerBottom_logo img {
  height: auto;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerBottom_logo img {
    width: 160px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerBottom_logo img {
    width: 13.0555555556vw;
  }
}

.footerSns {
  display: flex;
  align-items: center;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerSns {
    gap: 20px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerSns {
    gap: 20px 1.3888888889vw;
  }
}

.footerSns_link {
  display: flex;
  align-items: center;
}
.footerSns_link img {
  height: auto;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerSns_link img {
    width: 28px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerSns_link img {
    width: 1.9444444444vw;
  }
}

.footerSns_icon {
  display: inline-block;
  height: 24px;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerSns_icon {
    width: 24px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerSns_icon {
    width: 1.6666666667vw;
  }
}

body:not([data-theme=top]) .c-fv_lead,
body:not([data-theme=top]) .c-listSection,
body:not([data-theme=top]) .c-spot,
body:not([data-theme=top]) .c-guideEnjoy,
body:not([data-theme=top]) .c-newsSection_panel,
body:not([data-theme=top]) .c-topicsSection,
body:not([data-theme=top]) .c-whiteBlock,
body:not([data-theme=top]) .c-farmGuide {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
body:not([data-theme=top]) .c-fv_lead.is-inview,
body:not([data-theme=top]) .c-listSection.is-inview,
body:not([data-theme=top]) .c-spot.is-inview,
body:not([data-theme=top]) .c-guideEnjoy.is-inview,
body:not([data-theme=top]) .c-newsSection_panel.is-inview,
body:not([data-theme=top]) .c-topicsSection.is-inview,
body:not([data-theme=top]) .c-whiteBlock.is-inview,
body:not([data-theme=top]) .c-farmGuide.is-inview {
  opacity: 1;
  transform: translateY(0);
}