@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;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  html,
  body {
    overflow-x: hidden;
    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;
}

html.scrollLock {
  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%;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .header {
    transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .header.is-hidden {
    transform: translateY(-100%);
  }
  .header.is-menuOpen {
    transform: none;
  }
}

.header_inner {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  background-color: #fff;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .header_inner {
    gap: min(4.2666666667vw, 20.8px) min(4.2666666667vw, 20.8px);
    padding: min(2.1333333333vw, 10.4px) min(8.5333333333vw, 41.6px) min(2.6666666667vw, 13px);
    border-radius: 0 0 min(5.3333333333vw, 26px) min(5.3333333333vw, 26px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .header_inner {
    gap: 1.1111111111vw 1.1111111111vw;
    padding: 0.5555555556vw 2.2222222222vw 0.6944444444vw;
    border-radius: 0 0 1.3888888889vw 1.3888888889vw;
  }
}

.headerInfo {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  grid-column: 2/3;
  grid-row: 1/2;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerInfo {
    gap: min(6.4vw, 31.2px) min(6.4vw, 31.2px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo {
    gap: 1.6666666667vw 1.6666666667vw;
  }
}

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

.headerInfo_todayLabel {
  margin: 0;
  font-weight: 500;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerInfo_todayLabel {
    font-size: min(3.2vw, 15.6px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo_todayLabel {
    font-size: clamp(11.4px, 0.8333333333vw, 18px);
  }
}

.headerInfo_todayTime {
  display: flex;
  align-items: center;
  margin: 0;
  font-family: "Special Gothic Condensed One", sans-serif;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerInfo_todayTime {
    gap: min(1.0666666667vw, 5.2px) min(1.0666666667vw, 5.2px);
    font-size: min(4vw, 19.5px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo_todayTime {
    gap: 0.2777777778vw 0.2777777778vw;
    font-size: clamp(14.25px, 1.0416666667vw, 22.5px);
  }
}

.headerInfo_todaySep {
  color: #050403;
}

.headerInfo_links {
  display: grid;
  align-items: center;
  grid-auto-flow: column;
  grid-auto-columns: auto;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerInfo_links {
    gap: min(6.4vw, 31.2px) min(6.4vw, 31.2px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo_links {
    gap: 1.6666666667vw 1.6666666667vw;
  }
}

.headerInfo_linksLink {
  display: flex;
  align-items: center;
  font-weight: 500;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerInfo_linksLink {
    gap: min(1.6vw, 7.8px) min(1.6vw, 7.8px);
    font-size: min(3.2vw, 15.6px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo_linksLink {
    gap: 0.4166666667vw 0.4166666667vw;
    font-size: clamp(11.4px, 0.8333333333vw, 18px);
  }
}

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

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerInfo_linksIcon-clock {
    width: min(4.54vw, 22.1325px);
    height: min(4.5424vw, 22.1442px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo_linksIcon-clock {
    width: clamp(16.17375px, 1.1822916667vw, 25.5375px);
    height: clamp(16.1823px, 1.1829166667vw, 25.551px);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerInfo_linksIcon-tickets {
    width: min(5.2170666667vw, 25.4332px);
    height: min(3.2949333333vw, 16.0628px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo_linksIcon-tickets {
    width: clamp(18.5858px, 1.3586111111vw, 29.346px);
    height: clamp(11.7382px, 0.8580555556vw, 18.534px);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerInfo_linksIcon-car {
    width: min(5.5370666667vw, 26.9932px);
    height: min(3.5709333333vw, 17.4083px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo_linksIcon-car {
    width: clamp(19.7258px, 1.4419444444vw, 31.146px);
    height: clamp(12.72145px, 0.9299305556vw, 20.0865px);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerInfo_linksIcon-faq {
    width: min(4.5397333333vw, 22.1312px);
    height: min(4.5426666667vw, 22.1455px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo_linksIcon-faq {
    width: clamp(16.1728px, 1.1822222222vw, 25.536px);
    height: clamp(16.18325px, 1.1829861111vw, 25.5525px);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerInfo_linksIcon-map {
    width: min(4.5938666667vw, 22.3951px);
    height: min(4.0168vw, 19.5819px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo_linksIcon-map {
    width: clamp(16.36565px, 1.1963194444vw, 25.8405px);
    height: clamp(14.30985px, 1.0460416667vw, 22.5945px);
  }
}

@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerInfo_linksLink {
    transition: color 0.3s ease;
  }
  .headerInfo_linksLink:hover {
    color: #ab0033;
  }
  .headerInfo_linksText {
    position: relative;
    display: inline-block;
    overflow: hidden;
    vertical-align: middle;
    line-height: 1.4;
  }
  .headerInfo_linksText::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    white-space: nowrap;
    color: #ab0033;
    transform: translateY(100%);
    transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
  }
  .headerInfo_linksReel {
    display: block;
    transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
  }
  .headerInfo_linksLink:hover .headerInfo_linksReel {
    transform: translateY(-100%);
  }
  .headerInfo_linksLink:hover .headerInfo_linksText::after {
    transform: translateY(0);
  }
}
.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;
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .header_logoImg {
    width: min(37.6845333333vw, 183.7121px);
    height: min(9.44vw, 46.02px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .header_logoImg {
    width: clamp(134.25115px, 9.8136805556vw, 211.9755px);
    height: clamp(33.63px, 2.4583333333vw, 53.1px);
  }
}

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

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

.headerGnav_link {
  position: relative;
  font-weight: 700;
  transition: color 0.3s ease;
}
.headerGnav_link::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  background-color: var(--gnav-accent, var(--slider-accent, #ab0033));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s ease;
  height: 2px;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerGnav_link::after {
    bottom: min(-1.6vw, -7.8px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerGnav_link::after {
    bottom: -0.4166666667vw;
  }
}
.headerGnav_link:hover {
  color: var(--gnav-accent, var(--slider-accent, #ab0033));
}
.headerGnav_link:hover::after {
  transform: scaleX(1);
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerGnav_link {
    font-size: min(4.2666666667vw, 20.8px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerGnav_link {
    font-size: clamp(15.2px, 1.1111111111vw, 24px);
  }
}

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

.headerUtility_corp,
.headerUtility_shop {
  display: flex;
  align-items: center;
  font-weight: 700;
}
.headerUtility_corp:before,
.headerUtility_shop:before {
  display: block;
  background-color: #d9d9d9;
  content: "";
  width: 1px;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerUtility_corp:before,
  .headerUtility_shop:before {
    height: min(6.4vw, 31.2px);
    margin-right: min(4.8vw, 23.4px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerUtility_corp:before,
  .headerUtility_shop:before {
    height: 1.6666666667vw;
    margin-right: 1.25vw;
  }
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerUtility_corp,
  .headerUtility_shop {
    gap: min(1.6vw, 7.8px) min(1.6vw, 7.8px);
    font-size: min(4.2666666667vw, 20.8px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerUtility_corp,
  .headerUtility_shop {
    gap: 0.4166666667vw 0.4166666667vw;
    font-size: clamp(15.2px, 1.1111111111vw, 24px);
  }
}

.headerUtility_extLink {
  flex-shrink: 0;
  aspect-ratio: 1;
  overflow: hidden;
  fill: currentColor;
  margin-top: 3px;
}
.headerUtility_extLink > img,
.headerUtility_extLink > svg,
.headerUtility_extLink > iframe,
.headerUtility_extLink > 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) {
  .headerUtility_extLink {
    width: min(4.2978666667vw, 20.9521px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerUtility_extLink {
    width: 1.1192361111vw;
  }
}

.headerUtility_corp {
  color: #ab0033;
  transition: opacity 0.3s ease;
}
.headerUtility_corp svg {
  fill: #ab0033;
}
.headerUtility_corp:hover {
  opacity: 0.6;
}

.headerUtility_shop {
  transition: color 0.3s ease;
}
.headerUtility_shop svg {
  fill: #050403;
  transition: fill 0.3s ease;
}
.headerUtility_shop:hover {
  color: #ab0033;
}
.headerUtility_shop:hover svg {
  fill: #ab0033;
}

.headerUtility_menu svg {
  display: block;
  width: 100%;
  height: 100%;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .headerUtility_menu {
    width: min(14.9333333333vw, 72.8px);
    height: min(11.4666666667vw, 55.9px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .headerUtility_menu {
    width: clamp(53.2px, 3.8888888889vw, 84px);
    height: clamp(40.85px, 2.9861111111vw, 64.5px);
  }
}

.headerLang,
.headerMenu_todayBox,
.headerMenu_todayStatus,
.headerMenu_weather,
.headerMenu_utility {
  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: min(4.8vw, 23.4px) min(2.1333333333vw, 10.4px);
    padding: min(2.1333333333vw, 10.4px) min(6.4vw, 31.2px) min(3.2vw, 15.6px);
    border-radius: 0 0 min(5.3333333333vw, 26px) min(5.3333333333vw, 26px);
  }
  .header.is-menuOpen .header_inner {
    padding-top: min(6.4vw, 31.2px);
  }
  .headerInfo {
    justify-content: space-between;
    gap: 0;
    grid-column: 1/3;
    grid-row: 1;
  }
  .header.is-menuOpen .headerInfo {
    display: none;
  }
  .headerInfo_todayLabel {
    display: none;
  }
  .headerInfo_today {
    gap: min(1.6vw, 7.8px);
    padding-right: min(4.2666666667vw, 20.8px);
    border-right: 1px solid #d9d9d9;
  }
  .headerInfo_todayTime {
    font-size: min(3.4666666667vw, 16.9px);
  }
  .headerInfo_todayTime::before {
    flex-shrink: 0;
    width: min(4vw, 19.5px);
    height: min(4vw, 19.5px);
    background: url(../images/common/icons/icon-clock.svg) no-repeat center/contain;
    content: "";
  }
  .headerInfo_links {
    gap: min(6.4vw, 31.2px);
  }
  .headerInfo_linksItem:nth-child(1),
  .headerInfo_linksItem:nth-child(2) {
    display: none;
  }
  .headerInfo_linksLink {
    gap: min(1.0666666667vw, 5.2px);
    font-size: min(2.9333333333vw, 14.3px);
  }
  .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: min(26.9333333333vw, 131.3px);
    height: min(6.7466666667vw, 32.89px);
  }
  .header.is-menuOpen .header_logoImg {
    width: min(34.1333333333vw, 166.4px);
    height: min(8.56vw, 41.73px);
  }
  .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: min(14.9333333333vw, 72.8px);
    height: auto;
  }
  .header.is-menuOpen .headerUtility_menu {
    background-color: #fff;
  }
  .header.is-menuOpen .headerLang {
    position: relative;
    display: block;
    margin-right: min(21.3333333333vw, 104px);
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: end;
  }
  .headerLang_toggle {
    display: flex;
    align-items: center;
    gap: min(2.1333333333vw, 10.4px);
    min-width: min(17.0666666667vw, 83.2px);
    height: min(6.4vw, 31.2px);
    padding: 0 min(3.4666666667vw, 16.9px) 0 min(4.5333333333vw, 22.1px);
    border: 1px solid #d9d9d9;
    border-radius: min(3.2vw, 15.6px);
    font-size: min(3.2vw, 15.6px);
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
  }
  .headerLang_toggle::after {
    margin-top: -3px;
    content: "";
    display: block;
    width: 5px;
    aspect-ratio: 1;
    border-top: 1px solid #050403;
    border-right: 1px solid #050403;
    rotate: 135deg;
    transition: transform 0.2s ease;
  }
  .headerLang.is-open .headerLang_toggle::after {
    margin-top: 3px;
    transform: rotate(180deg);
  }
  .headerLang_menu {
    position: absolute;
    z-index: 1;
    top: calc(100% + 6px);
    right: 0;
    min-width: min(17.0666666667vw, 83.2px);
    padding: min(1.0666666667vw, 5.2px);
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: min(2.1333333333vw, 10.4px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  }
  .headerLang.is-open .headerLang_menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .headerLang_opt {
    display: block;
    width: 100%;
    padding: min(1.6vw, 7.8px) min(3.2vw, 15.6px);
    border-radius: min(1.3333333333vw, 6.5px);
    font-size: min(3.2vw, 15.6px);
    font-weight: 500;
    line-height: 1;
    text-align: left;
    cursor: pointer;
  }
}
.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: 7.8472222222vw;
    padding: 2.2222222222vw;
    border-radius: 0;
  }
  .header.is-menuOpen .headerInfo {
    display: none;
  }
  .header.is-menuOpen .header_logo {
    position: absolute;
    top: 2.7777777778vw;
    left: 2.2222222222vw;
    grid-column: auto;
    grid-row: auto;
  }
  .header.is-menuOpen .header_logoImg {
    width: clamp(134.25115px, 9.8136805556vw, 211.9755px);
    height: clamp(33.63px, 2.4583333333vw, 53.1px);
  }
  .header.is-menuOpen .header_nav {
    position: absolute;
    top: 2.2222222222vw;
    right: 2.2222222222vw;
    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: clamp(53.2px, 3.8888888889vw, 84px);
    height: clamp(40.85px, 2.9861111111vw, 64.5px);
  }
  .headerUtility_menu svg {
    width: 100%;
    height: 100%;
  }
  .header.is-menuOpen .headerLang {
    position: absolute;
    top: 3.125vw;
    right: 8.4027777778vw;
    display: block;
  }
  .headerLang_toggle {
    display: flex;
    align-items: center;
    gap: 0.5555555556vw;
    min-width: 4.4444444444vw;
    height: 1.6666666667vw;
    padding: 0 0.9027777778vw 0 1.1805555556vw;
    border: 1px solid #d9d9d9;
    border-radius: 0.8333333333vw;
    font-size: clamp(11.4px, 0.8333333333vw, 18px);
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
  }
  .headerLang_toggle::after {
    margin-top: -3px;
    content: "";
    display: block;
    width: 5px;
    aspect-ratio: 1;
    border-top: 1px solid #050403;
    border-right: 1px solid #050403;
    rotate: 135deg;
    transition: transform 0.2s ease;
  }
  .headerLang.is-open .headerLang_toggle::after {
    margin-top: 3px;
    transform: rotate(180deg);
  }
  .headerLang_menu {
    position: absolute;
    z-index: 1;
    top: calc(100% + 6px);
    right: 0;
    min-width: 4.4444444444vw;
    padding: 0.2777777778vw;
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 0.5555555556vw;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  }
  .headerLang.is-open .headerLang_menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .headerLang_opt {
    display: block;
    width: 100%;
    padding: 0.4166666667vw 0.8333333333vw;
    border-radius: 0.3472222222vw;
    font-size: clamp(11.4px, 0.8333333333vw, 18px);
    font-weight: 500;
    line-height: 1;
    text-align: left;
    cursor: pointer;
  }
  .headerLang_opt:hover {
    background-color: #f5f5f4;
  }
  .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: 10.8333333333vw 8.3333333333vw 5vw 14.0277777778vw;
    border-radius: 0 0 1.3888888889vw 1.3888888889vw;
    background-color: #fff;
    transform: translateY(-8px);
    transition: transform 0.3s;
    row-gap: 3.6111111111vw;
    overscroll-behavior-y: none;
    justify-content: space-between;
  }
  .header.is-menuOpen .header_drawerPanel {
    transform: translateY(0);
  }
  .header_drawerPanel .footerCat_title,
  .header_drawerPanel .footerLinks_title {
    gap: 0.8333333333vw;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
  }
  .header_drawerPanel .footerCat_title {
    font-size: clamp(17.1px, 1.25vw, 27px);
  }
  .header_drawerPanel .footerLinks_title {
    font-size: clamp(15.2px, 1.1111111111vw, 24px);
  }
  .header_drawerPanel .footerLinks_list {
    grid-template-columns: 1fr;
    gap: 0.4861111111vw;
  }
  .header_drawerPanel .footerLinks_link {
    font-size: clamp(14.25px, 1.0416666667vw, 22.5px);
    line-height: 1.55;
    white-space: nowrap;
  }
  .headerMenu_category {
    display: grid;
    align-content: start;
    grid-column: 1;
    grid-row: 1/3;
    row-gap: 1.875vw;
  }
  .header_drawerPanel .footerCat_list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 8.1944444444vw));
    gap: 2.0833333333vw 1.9444444444vw;
  }
  .header_drawerPanel .footerCat_link {
    flex-direction: column;
    align-items: center;
    gap: 0.6944444444vw;
    text-align: center;
  }
  .header_drawerPanel .footerCat_icon {
    width: 8.1944444444vw;
  }
  .header_drawerPanel .footerCat_label {
    font-size: 1.25vw;
    font-weight: 500;
    line-height: 1.4;
  }
  .headerMenu_guide {
    display: grid;
    align-items: start;
    grid-template-columns: max-content minmax(0, 10.2777777778vw) minmax(0, 1fr);
    grid-column: 2;
    grid-row: 1;
    -moz-column-gap: 2.6388888889vw;
    column-gap: 2.6388888889vw;
    row-gap: 2.2222222222vw;
  }
  .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: 1.25vw;
    text-align: center;
    transition: opacity 0.3s ease;
  }
  .headerMenu_guide .header_guideLink .header_guideIcon {
    transition: transform 0.3s ease;
  }
  .headerMenu_guide .header_guideLink:hover {
    opacity: 0.6;
  }
  .headerMenu_guide .header_guideLink:hover .header_guideIcon {
    transform: scale(0.9);
  }
  .headerMenu_guide .header_guideIcon {
    width: clamp(32.3px, 2.3611111111vw, 51px);
    height: clamp(32.3px, 2.3611111111vw, 51px);
  }
  .headerMenu_guide .header_guideLabel {
    font-size: clamp(13.3px, 0.9722222222vw, 21px);
    font-weight: 500;
    line-height: 1.35;
  }
  .headerMenu_guide .footerLinks_list {
    grid-column: 1;
  }
  .headerMenu_todayBox {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.6666666667vw;
    padding: 1.5277777778vw 1.3888888889vw;
    border-radius: 0.6944444444vw;
    background-color: #f5f5f4;
    grid-column: 2/4;
    transition: background-color 0.3s ease;
  }
  .headerMenu_todayBox:hover {
    background-color: #ececea;
  }
  .headerMenu_todayStatus {
    display: grid;
    gap: 0.625vw;
  }
  .headerMenu_todayStatusLabel {
    display: inline-flex;
    align-items: center;
    gap: 0.6944444444vw;
    font-size: clamp(13.3px, 0.9722222222vw, 21px);
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
  }
  .headerMenu_todayStatusArrow {
    opacity: 0.5;
    content: "";
    display: block;
    width: 5px;
    aspect-ratio: 1;
    border-top: 1px solid #050403;
    border-right: 1px solid #050403;
    rotate: 45deg;
  }
  .headerMenu_todayStatusTime {
    font-family: "Special Gothic Condensed One", sans-serif;
    font-size: clamp(22.8px, 1.6666666667vw, 36px);
    line-height: 1;
    letter-spacing: 0.04em;
    white-space: nowrap;
  }
  .headerMenu_weather {
    display: grid;
    gap: 0.7638888889vw;
  }
  .headerMenu_weatherTemp {
    display: flex;
    align-items: center;
    gap: 0.5555555556vw;
    margin: 0;
    font-family: "Special Gothic Condensed One", sans-serif;
    font-size: clamp(15.2px, 1.1111111111vw, 24px);
    line-height: 1;
  }
  .headerMenu_weatherTemp img {
    width: clamp(19.95px, 1.4583333333vw, 31.5px);
    height: clamp(19.95px, 1.4583333333vw, 31.5px);
  }
  .headerMenu_weatherHigh {
    color: #e87777;
  }
  .headerMenu_weatherSlash {
    color: #d9d9d9;
  }
  .headerMenu_weatherLow {
    color: #6ea8d6;
  }
  .headerMenu_weatherStatus {
    display: flex;
    gap: 0.5555555556vw;
    margin: 0;
    font-size: clamp(11.4px, 0.8333333333vw, 18px);
    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: 1.1111111111vw;
  }
  .headerMenu_linkGroups {
    display: grid;
    gap: 0.5555555556vw;
  }
  .headerMenu_contact {
    display: grid;
    align-content: start;
    width: 15.2777777778vw;
    row-gap: 1.1111111111vw;
  }
}
@media screen and (min-width:1024px) and (orientation: landscape) and (min-width:1024px) and (orientation: landscape) and (max-width: 1240px), screen and (min-width:1024px) and (orientation: landscape) and (min-width:1025px) and (max-width: 1240px), screen and (min-width:1025px) and (min-width:1024px) and (orientation: landscape) and (max-width: 1240px), screen and (min-width:1025px) and (min-width:1025px) and (max-width: 1240px) {
  .headerMenu_guide {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    row-gap: 1.6666666667vw;
    -moz-column-gap: 2.2222222222vw;
    column-gap: 2.2222222222vw;
  }
  .headerMenu_guide .footerLinks_title,
  .headerMenu_guide .header_guideList {
    grid-column: 1/3;
  }
  .headerMenu_guide .header_guideList {
    grid-template-columns: repeat(5, minmax(3.8888888889vw, 1fr));
    gap: 1.3888888889vw;
  }
  .headerMenu_guide .footerLinks_list {
    grid-column: 1;
  }
  .headerMenu_todayBox {
    grid-column: 1/3;
    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: 0;
    width: 100%;
    min-height: 100vh;
    max-height: 100vh;
    min-height: 100dvh;
    max-height: 100dvh;
    padding: min(32vw, 156px) min(6.4vw, 31.2px) min(12.8vw, 62.4px);
    background: #fff;
    transform: translateY(-8px);
    transition: transform 0.3s;
    overscroll-behavior-y: none;
  }
  .header.is-menuOpen .header_drawerPanel {
    transform: translateY(0);
  }
  .headerMenu_guideTop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: min(3.2vw, 15.6px);
    padding: min(4.2666666667vw, 20.8px) min(5.3333333333vw, 26px);
    border-radius: min(2.1333333333vw, 10.4px);
    background: #f5f5f4;
    font-size: min(3.7333333333vw, 18.2px);
    font-weight: 700;
    transition: color 0.3s ease;
  }
  .headerMenu_guideTopArrow {
    content: "";
    display: block;
    width: 8px;
    aspect-ratio: 1;
    border-top: 2px solid #050403;
    border-right: 2px solid #050403;
    rotate: 45deg;
    flex-shrink: 0;
  }
  .headerMenu_guide .header_guideList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(3.2vw, 15.6px);
    margin-bottom: min(5.3333333333vw, 26px);
  }
  .headerMenu_guide .header_guideLink {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: min(1.6vw, 7.8px);
    height: min(25.6vw, 124.8px);
    padding: min(2.6666666667vw, 13px) min(2.1333333333vw, 10.4px);
    border-radius: min(2.1333333333vw, 10.4px);
    background: #f5f5f4;
    text-align: center;
    transition: color 0.3s ease;
  }
  .headerMenu_guide .header_guideIcon {
    width: min(8.5333333333vw, 41.6px);
    height: min(8.5333333333vw, 41.6px);
  }
  .headerMenu_guide .header_guideLabel {
    font-size: min(3.4666666667vw, 16.9px);
    font-weight: 500;
    line-height: 1.35;
  }
  .footerLinks:not(.is-open) .headerMenu_guideTop,
  .footerLinks:not(.is-open) .header_guideList {
    display: none;
  }
  .headerMenu_todayBox,
  .headerMenu_todayStatus,
  .headerMenu_weather {
    display: none;
  }
  .header_drawerPanel .footerCat {
    margin-bottom: min(8.5333333333vw, 41.6px);
  }
  .header_drawerPanel .footerCat_list {
    gap: min(5.3333333333vw, 26px);
  }
  .header_drawerPanel .footerCat_link {
    gap: min(2.6666666667vw, 13px);
  }
  .header_drawerPanel .footerCat_label {
    font-size: min(3.7333333333vw, 18.2px);
  }
  .headerMenu_lower {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .headerMenu_linkGroups {
    display: grid;
    gap: 0;
  }
  .headerMenu_contact {
    border-bottom: 1px solid #d9d9d9;
  }
  .headerMenu_utility {
    display: flex;
    flex-direction: column;
    gap: min(4.2666666667vw, 20.8px);
    margin-top: min(10.6666666667vw, 52px);
  }
  .headerMenu_utilityBrand,
  .headerMenu_utilityShop {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: min(2.1333333333vw, 10.4px);
    padding: min(4.2666666667vw, 20.8px) min(6.4vw, 31.2px);
    border-radius: 999px;
    color: #fff;
    font-size: min(3.7333333333vw, 18.2px);
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  .headerMenu_utilityBrand {
    background-color: #ab0033;
  }
  .headerMenu_utilityShop {
    background-color: #00763d;
  }
  .headerMenu_utilityExt {
    flex-shrink: 0;
    aspect-ratio: 1;
    overflow: hidden;
    width: min(4.2978666667vw, 20.9521px);
    fill: #fff;
  }
  .headerMenu_utilityExt > img,
  .headerMenu_utilityExt > svg,
  .headerMenu_utilityExt > iframe,
  .headerMenu_utilityExt > video {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
}
/* Farm/buy デザイントークン
-----------------------------------------------------------------*/
/* イージング
-----------------------------------------------------------------*/
/* デュレーション
-----------------------------------------------------------------*/
/*=============================================

	TOPへ戻るボタン（右下固定）

==============================================*/
.footer {
  background-color: #fff;
}
@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: min(14.9333333333vw, 72.8px) 0 min(8.5333333333vw, 41.6px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footer_inner {
    padding: 6.6666666667vw 0 2.7777777778vw;
  }
}

.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: 0;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footer_cols {
    -moz-column-gap: 0.6944444444vw;
    column-gap: 0.6944444444vw;
    grid-template-columns: minmax(0, calc(21.7361111111vw - 10px)) minmax(0, calc(21.8055555556vw - 10px)) minmax(0, calc(17.0833333333vw - 10px)) minmax(0, 1fr);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerCat {
    margin-bottom: min(10.6666666667vw, 52px);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerLinks {
    padding: min(5.8666666667vw, 28.6px) 0;
    border-top: 1px solid #d9d9d9;
  }
  .footerLinks.is-open {
    padding-bottom: min(12.8vw, 62.4px);
  }
}

.footerCat_title,
.footerLinks_title {
  position: relative;
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
  cursor: pointer;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerCat_title,
  .footerLinks_title {
    gap: min(3.2vw, 15.6px) min(3.2vw, 15.6px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_title,
  .footerLinks_title {
    gap: 0.8333333333vw 0.8333333333vw;
    transition: opacity 0.3s ease;
  }
  .footerCat_title .footerCat_titleArrow,
  .footerCat_title .footerLinks_titleArrow,
  .footerLinks_title .footerCat_titleArrow,
  .footerLinks_title .footerLinks_titleArrow {
    transition: translate 0.3s ease, opacity 0.3s ease;
  }
  .footerCat_title:hover,
  .footerLinks_title:hover {
    opacity: 0.6;
  }
  .footerCat_title:hover .footerCat_titleArrow,
  .footerCat_title:hover .footerLinks_titleArrow,
  .footerLinks_title:hover .footerCat_titleArrow,
  .footerLinks_title:hover .footerLinks_titleArrow {
    opacity: 1;
    translate: 4px 0;
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerCat_title {
    font-size: min(4.8vw, 23.4px);
    margin: 0 0 min(8.5333333333vw, 41.6px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_title {
    font-size: clamp(17.1px, 1.25vw, 27px);
    margin: 0 0 1.6666666667vw;
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerLinks_title {
    width: 100%;
    margin: 0;
    font-size: min(4.5333333333vw, 22.1px);
    font-weight: 700;
  }
  .footerLinks.is-open .footerLinks_title {
    margin-bottom: min(5.3333333333vw, 26px);
  }
  .footerLinks_title::before, .footerLinks_title::after {
    position: absolute;
    top: 50%;
    right: min(1.0666666667vw, 5.2px);
    width: min(4vw, 19.5px);
    height: 1px;
    margin-top: -0.5px;
    background-color: #050403;
    content: "";
  }
  .footerLinks_title::before {
    transition: transform 0.3s ease;
    transform: rotate(90deg);
  }
  .footerLinks.is-open .footerLinks_title::before {
    transform: rotate(0deg);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerLinks_title {
    margin: 0 0 1.6666666667vw;
    font-size: clamp(15.2px, 1.1111111111vw, 24px);
  }
}

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

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

.footerCat_titleArrow,
.footerLinks_titleArrow {
  content: "";
  display: block;
  width: 10px;
  aspect-ratio: 1;
  border-top: 2px solid #050403;
  border-right: 2px solid #050403;
  rotate: 45deg;
  opacity: 0.2;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerCat_titleArrow,
  .footerLinks_titleArrow {
    margin-top: 2px;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_titleArrow,
  .footerLinks_titleArrow {
    margin-top: 2px;
  }
}

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

.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: min(6.4vw, 31.2px);
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_list {
    gap: 1.5277777778vw 1.5277777778vw;
  }
}

.footerCat_link {
  display: flex;
  align-items: center;
  transition: opacity 0.3s ease;
}
.footerCat_link:hover {
  opacity: 0.6;
}
@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: min(2.1333333333vw, 10.4px);
    text-align: center;
    max-width: min(42.6666666667vw, 208px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_link {
    gap: 1.1111111111vw 1.1111111111vw;
  }
  .footerCat_link .footerCat_icon img {
    transition: transform 0.3s ease;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape) and (min-width:1024px) and (orientation: landscape), screen and (min-width:1024px) and (orientation: landscape) and (min-width:1025px), screen and (min-width:1025px) and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) and (min-width:1025px) {
  .footerCat_link:hover .footerCat_icon img {
    transform: scale(0.9);
  }
}

.footerCat_icon {
  aspect-ratio: 1.3623188406;
  overflow: hidden;
}
.footerCat_icon > img,
.footerCat_icon > svg,
.footerCat_icon > iframe,
.footerCat_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) {
  .footerCat_icon {
    width: 100%;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_icon {
    width: clamp(56.05px, 4.0972222222vw, 88.5px);
  }
}

.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: min(3.7333333333vw, 18.2px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerCat_label {
    font-size: clamp(20.9px, 1.5277777778vw, 33px);
  }
}

.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: 1fr;
    gap: 0;
    margin-top: min(1.0666666667vw, 5.2px);
  }
  .footerLinks:not(.is-open) .footerLinks_list {
    display: none;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerLinks_list {
    gap: 0.6944444444vw;
  }
}
@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: 0;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerLinks_list + .footerLinks_list {
    margin-top: 3.3333333333vw;
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerLinks_item {
    padding: min(3.7333333333vw, 18.2px) 0;
    border-bottom: 1px dotted #d9d9d9;
  }
}

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

.footerLinks_link {
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1.4;
  transition: opacity 0.3s ease;
}
.footerLinks_link:hover {
  opacity: 0.6;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerLinks_link {
    font-size: min(3.7333333333vw, 18.2px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerLinks_link {
    font-size: clamp(15.2px, 1.1111111111vw, 24px);
  }
}

.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: min(6.4vw, 31.2px) min(10.6666666667vw, 52px);
    margin-top: 0;
    padding: min(10.6666666667vw, 52px) 0;
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerUtil {
    gap: 4.4444444444vw 4.4444444444vw;
    margin-top: 4.4444444444vw;
    padding: 1.6666666667vw 0;
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerUtil_item:nth-child(3) {
    width: 100%;
  }
}

.footerUtil_link {
  display: flex;
  align-items: baseline;
  font-weight: 500;
  letter-spacing: 0.04em;
  transition: opacity 0.3s ease;
}
.footerUtil_link:hover {
  opacity: 0.6;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .footerUtil_link {
    gap: min(2.1333333333vw, 10.4px) min(2.1333333333vw, 10.4px);
    font-size: min(4.2666666667vw, 20.8px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerUtil_link {
    gap: 0.5555555556vw 0.5555555556vw;
    font-size: clamp(15.2px, 1.1111111111vw, 24px);
  }
}

.footerUtil_icon {
  aspect-ratio: 1;
  overflow: hidden;
  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: min(3.4666666667vw, 16.9px);
    margin-left: min(2.1333333333vw, 10.4px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerUtil_icon {
    width: clamp(12.35px, 0.9027777778vw, 19.5px);
  }
}

.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: min(7.4666666667vw, 36.4px);
    margin-top: min(8.5333333333vw, 41.6px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerBottom {
    margin-top: 2.7777777778vw;
  }
}

.footerBottom_logo {
  transition: opacity 0.3s ease;
}
.footerBottom_logo:hover {
  opacity: 0.7;
}
.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: min(50.6666666667vw, 247px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerBottom_logo img {
    width: clamp(178.6px, 13.0555555556vw, 282px);
  }
}

.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: min(5.3333333333vw, 26px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerSns {
    gap: 1.3888888889vw 1.3888888889vw;
  }
}

.footerSns_link {
  display: flex;
  align-items: center;
  transition: opacity 0.3s ease;
}
.footerSns_link:hover {
  opacity: 0.6;
}
.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: min(7.4666666667vw, 36.4px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .footerSns_link img {
    width: clamp(26.6px, 1.9444444444vw, 42px);
  }
}

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

.c-toTop {
  position: fixed;
  z-index: 50;
  transform: translateX(calc(100% + 24px));
  visibility: hidden;
  pointer-events: none;
  transition: transform 0.4s ease, visibility 0.4s;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .c-toTop {
    right: min(6.4vw, 31.2px);
    bottom: 0;
  }
}
.c-toTop.is-show {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
}
.c-toTop.is-hidden {
  transform: translateX(calc(100% + 24px));
  visibility: hidden;
  pointer-events: none;
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .c-toTop {
    right: 1.6666666667vw;
    bottom: 2.7777777778vw;
  }
}

.c-toTop_link {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .c-toTop_link {
    gap: min(1.0666666667vw, 5.2px);
    width: min(25.6vw, 124.8px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .c-toTop_link {
    gap: 0.2777777778vw;
    width: 6.6666666667vw;
  }
}

.c-toTop_image {
  aspect-ratio: 1;
  overflow: hidden;
}
.c-toTop_image > img,
.c-toTop_image > svg,
.c-toTop_image > iframe,
.c-toTop_image > 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) {
  .c-toTop_image {
    width: min(23.4666666667vw, 114.4px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .c-toTop_image {
    width: 6.1111111111vw;
  }
}

.c-toTop_text {
  color: #050403;
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .c-toTop_text {
    font-size: min(3.7333333333vw, 18.2px);
  }
}
@media print, screen and (min-width:1024px) and (orientation: landscape), screen and (min-width:1025px) {
  .c-toTop_text {
    font-size: clamp(13.3px, 0.9722222222vw, 21px);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .c-toTop {
    right: min(4.2666666667vw, 20.8px);
    bottom: min(8.5333333333vw, 41.6px);
    transform: translateX(calc(100% + 16px));
  }
  body:has(.c-guideTab_list) .c-toTop {
    bottom: min(27.7333333333vw, 135.2px);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .c-toTop.is-show {
    transform: translateX(0);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .c-toTop.is-hidden {
    transform: translateX(calc(100% + 16px));
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .c-toTop_link {
    width: min(19.2vw, 93.6px);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .c-toTop_image {
    width: min(25.6vw, 124.8px);
  }
}

@media print, screen and (max-width:1023px), screen and (min-width:1024px) and (max-width:1024px) and (orientation: portrait) {
  .c-toTop_text {
    font-size: min(4vw, 19.5px);
  }
}

body:not([data-theme=top]) .c-fv_lead,
body:not([data-theme=top]) .c-listSection,
body:not([data-theme=top]) .c-spot_panel,
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_panel.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);
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9999;
  background-color: #fff;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.4s ease;
}

body.is-loaded::after {
  opacity: 0;
}

.grecaptcha-badge {
  display: none !important;
}

body[data-theme=contact] .grecaptcha-badge {
  display: block !important;
}

html[lang=en-US] .dn-en {
  display: none !important;
}