@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  word-break: normal;
}

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

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

a:focus, button:focus, input:focus, select:focus, textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

.cmn-btn-bw a {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  font-weight: 500;
  color: #FFFFFF;
  background-color: #615034;
  border: 1px solid #615034;
  border-radius: 100px;
  position: relative;
}
.cmn-btn-bw a::after {
  content: "";
  display: block;
  width: min(11px, 2.9333333333vw);
  height: min(10px, 2.6666666667vw);
  background-image: url("../img/common/arrow_right_white.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: min(10px, 2.6666666667vw);
  transform: translateY(-50%);
  transition: all 300ms;
}
.cmn-btn-bw a:hover {
  opacity: 1;
  color: #615034;
  background-color: #FFFFFF;
}
.cmn-btn-bw a:hover::after {
  background-image: url("../img/common/arrow_right_black.png");
}
@media (max-width: 750px) {
  .cmn-btn-bw a:hover {
    color: #FFFFFF;
    background-color: #615034;
  }
  .cmn-btn-bw a:hover::after {
    background-image: url("../img/common/arrow_right_white.png");
  }
}

.cmn-btn-wb a {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  font-weight: 500;
  color: #615034;
  background-color: #FFFFFF;
  border: 1px solid #615034;
  border-radius: 100px;
  position: relative;
}
.cmn-btn-wb a::after {
  content: "";
  display: block;
  width: min(11px, 2.9333333333vw);
  height: min(10px, 2.6666666667vw);
  background-image: url("../img/common/arrow_right_black.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: min(10px, 2.6666666667vw);
  transform: translateY(-50%);
  transition: all 300ms;
}
.cmn-btn-wb a:hover {
  opacity: 1;
  color: #FFFFFF;
  background-color: #615034;
}
.cmn-btn-wb a:hover::after {
  background-image: url("../img/common/arrow_right_white.png");
}
@media (max-width: 750px) {
  .cmn-btn-wb a:hover {
    color: #615034;
    background-color: #FFFFFF;
  }
  .cmn-btn-wb a:hover::after {
    background-image: url("../img/common/arrow_right_black.png");
  }
}

.cmn-btn-rw a {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  font-weight: 500;
  color: #FFFFFF;
  background-color: #C3552E;
  border: 1px solid #C3552E;
  border-radius: 100px;
  position: relative;
}
.cmn-btn-rw a::after {
  content: "";
  display: block;
  width: min(11px, 2.9333333333vw);
  height: min(10px, 2.6666666667vw);
  background-image: url("../img/common/arrow_right_white.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: min(10px, 2.6666666667vw);
  transform: translateY(-50%);
  transition: all 300ms;
}
.cmn-btn-rw a:hover {
  opacity: 1;
  color: #C3552E;
  background-color: #FFFFFF;
}
.cmn-btn-rw a:hover::after {
  background-image: url("../img/common/arrow_right_red.png");
}
@media (max-width: 750px) {
  .cmn-btn-rw a:hover {
    color: #FFFFFF;
    background-color: #C3552E;
  }
  .cmn-btn-rw a:hover::after {
    background-image: url("../img/common/arrow_right_white.png");
  }
}

.ttl-main {
  width: 100%;
  position: relative;
}
.ttl-main::after {
  content: "";
  display: block;
  width: min(160px, 42.6666666667vw);
  height: min(18px, 4.8vw);
  background-image: url("../img/common/line.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  margin-inline: auto;
}
.ttl-main .ttl-img {
  width: -moz-fit-content;
  width: fit-content;
  height: min(51px, 13.6vw);
  margin-inline: auto;
}
.ttl-main .ttl-img.img-large {
  height: min(61px, 16.2666666667vw);
}
.ttl-main .ttl-img img {
  width: auto;
  height: 100%;
}
@media (max-width: 750px) {
  .ttl-main::after {
    width: min(104px, 27.7333333333vw);
    height: min(18px, 4.8vw);
  }
  .ttl-main .ttl-img {
    height: min(32px, 8.5333333333vw);
  }
  .ttl-main .ttl-img.img-large {
    height: min(32px, 8.5333333333vw);
  }
}

.ttl-sec {
  width: 100%;
  margin-bottom: min(45px, 12vw);
}
.ttl-sec span {
  display: block;
  text-align: center;
  color: #615034;
}
.ttl-sec span.jp {
  font-size: min(34px, 9.0666666667vw);
  font-weight: 600;
  line-height: 1.5;
}
.ttl-sec span.en {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  font-size: min(14px, 3.7333333333vw);
  font-weight: 400;
  letter-spacing: 0.08em;
}
@media (max-width: 750px) {
  .ttl-sec {
    margin-bottom: min(20px, 5.3333333333vw);
  }
  .ttl-sec span.jp {
    font-size: min(24px, 6.4vw);
  }
  .ttl-sec span.en {
    font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
    font-size: min(12px, 3.2vw);
  }
}

.page-ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: min(210px, 56vw);
  font-size: min(34px, 9.0666666667vw);
  font-weight: 600;
  text-align: center;
  color: #615034;
  background-color: #F3F7F4;
  margin-bottom: min(80px, 21.3333333333vw);
  position: relative;
}
.page-ttl::before, .page-ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #D2E6DA;
  position: absolute;
  left: 0;
}
.page-ttl::before {
  top: min(7px, 1.8666666667vw);
}
.page-ttl::after {
  bottom: min(7px, 1.8666666667vw);
}
.page-ttl span {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  display: block;
  font-size: min(14px, 3.7333333333vw);
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1;
}
@media (max-width: 750px) {
  .page-ttl {
    height: min(140px, 37.3333333333vw);
    font-size: min(24px, 6.4vw);
    margin-bottom: min(40px, 10.6666666667vw);
  }
  .page-ttl::before {
    top: min(4px, 1.0666666667vw);
  }
  .page-ttl::after {
    bottom: min(4px, 1.0666666667vw);
  }
  .page-ttl span {
    font-size: min(12px, 3.2vw);
  }
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: min(90px, 24vw);
}
html.fixed {
  overflow: clip;
}
html:has(.pigeon.fly) {
  overflow-x: clip;
}
html:has(.pigeon.fly) .top-contact {
  overflow-x: clip;
}
@media (max-width: 750px) {
  html {
    scroll-padding-top: min(45px, 12vw);
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(16px, 4.2666666667vw);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  color: #2A1809;
  padding-top: min(90px, 24vw);
}
@media (min-width: 891px) and (max-width: 1360px) {
  body {
    padding-top: min(150px, 40vw);
  }
}
@media (max-width: 890px) {
  body {
    padding-top: min(46px, 12.2666666667vw);
  }
}
@media (max-width: 750px) {
  body {
    font-size: min(14px, 3.7333333333vw);
  }
}
body * {
  word-break: break-word;
  line-break: normal;
}

a {
  color: inherit;
  text-decoration: none;
}
button {
  color: #2A1809;
}

a, button {
  transition: all 300ms;
}
a:hover, button:hover {
  opacity: 0.8;
}
@media (max-width: 750px) {
  a, button {
    opacity: 1;
  }
}

ul,
ol {
  list-style: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

@media (max-width: 750px) {
  .pc-only {
    display: none !important;
  }
  .tb-only {
    display: none !important;
  }
  .sp-only {
    display: block !important;
  }
}
@media (min-width: 751px) and (max-width: 1340px) {
  .pc-only {
    display: none !important;
  }
  .sp-only {
    display: none !important;
  }
  .tb-only {
    display: block !important;
  }
}
@media (min-width: 1341px) {
  .tb-only {
    display: none !important;
  }
  .sp-only {
    display: none !important;
  }
  .pc-only {
    display: block !important;
  }
}
@media (max-width: 890px) {
  html:has(.toggle-btn.is-open) {
    overflow: clip;
  }
}

.header {
  width: 100%;
}
.header .toggle-btn {
  display: block;
  width: min(70px, 18.6666666667vw);
  position: fixed;
  top: min(17px, 4.5333333333vw);
  left: min(30px, 8vw);
  z-index: 110;
  transform: translateY(calc(-100% - min(17px, 4.5333333333vw)));
}
.header .toggle-btn .toggle-bg {
  width: 100%;
}
.header .toggle-btn .toggle-icon {
  width: min(22px, 5.8666666667vw);
  height: min(22px, 5.8666666667vw);
  background-image: url("../img/common/toggle_btn_close.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: min(11px, 2.9333333333vw);
  left: 50%;
  transform: translateX(-50%);
  transition: all 300ms;
}
.header .toggle-btn.is-close .toggle-icon {
  width: min(38px, 10.1333333333vw);
  height: min(32px, 8.5333333333vw);
  background-image: url("../img/common/toggle_btn_open.png");
  bottom: min(6px, 1.6vw);
}
.header .toggle-btn.is-show {
  transform: translateY(0);
}
.header .header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background-color: #FFFFFF;
  border-bottom: 1px solid #F0F0F0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  transition: all 300ms;
}
.header .header-inner .header-inner-left {
  width: min(370px, 98.6666666667vw);
}
.header .header-inner .header-inner-center {
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
}
.header .header-inner .header-inner-center .logo {
  width: min(250px, 66.6666666667vw);
  margin-inline: min(55px, 14.6666666667vw);
}
.header .header-inner .header-inner-center .main-menu {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
}
.header .header-inner .header-inner-center .main-menu > div > ul {
  display: flex;
  align-items: center;
  gap: min(55px, 14.6666666667vw);
}
.header .header-inner .header-inner-center .main-menu > div > ul > li {
  position: relative;
}
.header .header-inner .header-inner-center .main-menu > div > ul > li > a {
  display: block;
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
  background-repeat: no-repeat;
  background-position: left top min(5px, 1.3333333333vw);
  background-size: min(25px, 6.6666666667vw) min(25px, 6.6666666667vw);
  padding-left: min(28px, 7.4666666667vw);
  padding-block: min(6px, 1.6vw);
  position: relative;
}
.header .header-inner .header-inner-center .main-menu > div > ul > li > a::after {
  content: "";
  display: block;
  width: 0;
  height: min(1.5px, 0.4vw);
  background-color: #2A1809;
  border-radius: 100px;
  position: absolute;
  bottom: 0;
  right: 0;
  transition: all 300ms;
}
.header .header-inner .header-inner-center .main-menu > div > ul > li > a:hover::after {
  width: 100%;
  left: 0;
}
.header .header-inner .header-inner-center .main-menu > div > ul > li > a:hover + ul {
  opacity: 1;
  pointer-events: auto;
}
.header .header-inner .header-inner-center .main-menu > div > ul > li > a:has(+ ul:hover)::after {
  width: 100%;
  left: 0;
}
.header .header-inner .header-inner-center .main-menu > div > ul > li ul {
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(170px, 45.3333333333vw);
  padding-top: min(26px, 6.9333333333vw);
  position: absolute;
  top: 100%;
  left: max(-3px, -0.8vw);
  opacity: 0;
  pointer-events: none;
  transition: all 300ms;
}
.header .header-inner .header-inner-center .main-menu > div > ul > li ul:hover {
  opacity: 1;
  pointer-events: auto;
}
.header .header-inner .header-inner-center .main-menu > div > ul > li ul li {
  background-color: #FFFFFF;
  padding-inline: min(10px, 2.6666666667vw);
}
.header .header-inner .header-inner-center .main-menu > div > ul > li ul li::after {
  content: "";
  display: block;
  width: 100%;
  height: min(10px, 2.6666666667vw);
  background-image: url("../img/common/line.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
}
.header .header-inner .header-inner-center .main-menu > div > ul > li ul li:first-of-type {
  padding-top: min(10px, 2.6666666667vw);
}
.header .header-inner .header-inner-center .main-menu > div > ul > li ul li:last-of-type {
  padding-bottom: min(10px, 2.6666666667vw);
}
.header .header-inner .header-inner-center .main-menu > div > ul > li ul li:last-of-type::after {
  content: none;
}
.header .header-inner .header-inner-center .main-menu > div > ul > li ul li a {
  display: block;
  font-size: min(13px, 3.4666666667vw);
  padding-inline: min(14px, 3.7333333333vw);
  padding-block: min(5px, 1.3333333333vw);
}
.header .header-inner .header-inner-center .main-menu.menu-left > div > ul > li:nth-of-type(1) > a {
  background-image: url("../img/common/icon_megaphone.png");
}
.header .header-inner .header-inner-center .main-menu.menu-left > div > ul > li:nth-of-type(2) > a {
  background-image: url("../img/common/icon_house.png");
}
.header .header-inner .header-inner-center .main-menu.menu-right > div > ul > li:nth-of-type(1) > a {
  background-image: url("../img/common/icon_shirt.png");
}
.header .header-inner .header-inner-center .main-menu.menu-right > div > ul > li:nth-of-type(2) > a {
  background-image: url("../img/common/icon_paw.png");
}
.header .header-inner .header-inner-right {
  width: min(370px, 98.6666666667vw);
}
.header .header-inner .header-inner-right .sub-menu {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
}
.header .header-inner .header-inner-right .sub-menu > div ul {
  display: flex;
}
.header .header-inner .header-inner-right .sub-menu > div ul li {
  height: min(89px, 23.7333333333vw);
}
.header .header-inner .header-inner-right .sub-menu > div ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: min(13px, 3.4666666667vw);
  font-weight: 500;
}
.header .header-inner .header-inner-right .sub-menu > div ul li a::before {
  content: "";
  display: block;
  width: min(40px, 10.6666666667vw);
  height: min(40px, 10.6666666667vw);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  margin-bottom: max(-2px, -0.5333333333vw);
}
.header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(1) {
  width: min(140px, 37.3333333333vw);
}
.header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(1) a {
  background-color: #9ACCA6;
}
.header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(1) a::before {
  background-image: url("../img/common/icon_business.png");
}
.header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(2) {
  width: min(140px, 37.3333333333vw);
}
.header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(2) a {
  background-color: #E7F4EC;
}
.header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(2) a::before {
  background-image: url("../img/common/icon_cart.png");
}
.header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(3) {
  width: min(90px, 24vw);
}
.header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(3) a {
  color: #FFFFFF;
  background-color: #615034;
}
.header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(3) a::before {
  background-image: url("../img/common/icon_mail.png");
}
.header .header-toggle {
  display: none;
}
.header:has(.toggle-btn.is-close) .header-inner {
  transform: translateY(-100%);
}
@media (min-width: 1361px) and (max-width: 1740px) {
  .header .header-inner .header-inner-left {
    width: min(290px, 77.3333333333vw);
  }
  .header .header-inner .header-inner-center .logo {
    width: min(200px, 53.3333333333vw);
    margin-inline: min(40px, 10.6666666667vw);
  }
  .header .header-inner .header-inner-center .main-menu > div > ul {
    gap: min(30px, 8vw);
  }
  .header .header-inner .header-inner-center .main-menu > div > ul > li > a {
    font-size: min(14px, 3.7333333333vw);
    background-position: left top min(5px, 1.3333333333vw);
    background-size: min(20px, 5.3333333333vw) min(20px, 5.3333333333vw);
    padding-left: min(23px, 6.1333333333vw);
  }
  .header .header-inner .header-inner-center .main-menu > div > ul > li ul {
    padding-top: min(28px, 7.4666666667vw);
  }
  .header .header-inner .header-inner-right {
    width: min(290px, 77.3333333333vw);
  }
  .header .header-inner .header-inner-right .sub-menu > div ul li a {
    font-size: min(12px, 3.2vw);
  }
  .header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(1) {
    width: min(100px, 26.6666666667vw);
  }
  .header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(2) {
    width: min(100px, 26.6666666667vw);
  }
  .header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(3) {
    width: min(90px, 24vw);
  }
}
@media (min-width: 891px) and (max-width: 1360px) {
  .header .header-inner {
    flex-wrap: wrap;
  }
  .header .header-inner .header-inner-left {
    order: 1;
    width: min(290px, 77.3333333333vw);
  }
  .header .header-inner .header-inner-center {
    order: 3;
    gap: min(80px, 21.3333333333vw);
    width: 100%;
    height: min(60px, 16vw);
    border-top: 1px solid #F0F0F0;
  }
  .header .header-inner .header-inner-center .logo {
    width: min(220px, 58.6666666667vw);
    margin-inline: 0;
    position: absolute;
    top: min(32.5px, 8.6666666667vw);
    left: 50%;
    transform: translateX(-50%);
  }
  .header .header-inner .header-inner-center .main-menu > div > ul {
    gap: min(80px, 21.3333333333vw);
  }
  .header .header-inner .header-inner-center .main-menu > div > ul > li ul {
    padding-top: min(11px, 2.9333333333vw);
  }
  .header .header-inner .header-inner-right {
    order: 2;
    width: min(290px, 77.3333333333vw);
  }
  .header .header-inner .header-inner-right .sub-menu > div ul li a {
    font-size: min(12px, 3.2vw);
  }
  .header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(1) {
    width: min(100px, 26.6666666667vw);
  }
  .header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(2) {
    width: min(100px, 26.6666666667vw);
  }
  .header .header-inner .header-inner-right .sub-menu > div ul li:nth-of-type(3) {
    width: min(90px, 24vw);
  }
}
@media (max-width: 890px) {
  .header a:hover, .header button:hover {
    opacity: 1;
  }
  .header .toggle-btn {
    width: min(44px, 11.7333333333vw);
    top: min(6px, 1.6vw);
    left: min(10px, 2.6666666667vw);
    transform: translateY(0);
  }
  .header .toggle-btn .toggle-icon {
    width: min(24px, 6.4vw);
    height: min(20px, 5.3333333333vw);
    background-image: url("../img/common/toggle_btn_open.png");
    bottom: min(4px, 1.0666666667vw);
  }
  .header .toggle-btn.is-open .toggle-icon {
    width: min(14px, 3.7333333333vw);
    height: min(14px, 3.7333333333vw);
    background-image: url("../img/common/toggle_btn_close.png");
    bottom: min(6.6px, 1.76vw);
  }
  .header .header-inner {
    height: min(46px, 12.2666666667vw);
    transform: translateY(0);
  }
  .header .header-inner .header-inner-left {
    width: min(64px, 17.0666666667vw);
  }
  .header .header-inner .header-inner-center {
    width: min(170px, 45.3333333333vw);
  }
  .header .header-inner .header-inner-center .logo {
    width: min(250px, 66.6666666667vw);
    margin-inline: 0 min(20px, 5.3333333333vw);
  }
  .header .header-inner .header-inner-center .main-menu {
    display: none;
  }
  .header .header-inner .header-inner-right {
    display: none;
  }
  .header .header-toggle {
    display: block;
    width: 100%;
    height: 100dvh;
    background-color: #F3F7F4;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 90;
    transition: all 300ms;
    opacity: 0;
    pointer-events: none;
  }
  .header .header-toggle .header-toggle-inner {
    width: 100%;
    height: 100%;
    padding-block: min(82px, 21.8666666667vw) min(100px, 26.6666666667vw);
    padding-inline: min(20px, 5.3333333333vw);
    overflow-y: scroll;
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu {
    font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li {
    border-bottom: 1px solid #D4D8D2;
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a {
    display: block;
    font-size: min(15px, 4vw);
    font-weight: 500;
    letter-spacing: 0.08em;
    background-repeat: no-repeat;
    background-position: left top min(16px, 4.2666666667vw);
    background-size: min(25px, 6.6666666667vw) min(25px, 6.6666666667vw);
    padding-block: min(18px, 4.8vw);
    padding-left: min(30px, 8vw);
    padding-right: min(47px, 12.5333333333vw);
    position: relative;
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a::after {
    content: "";
    display: block;
    width: min(11px, 2.9333333333vw);
    height: min(10px, 2.6666666667vw);
    background-image: url("../img/common/arrow_right_black.png");
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: min(18px, 4.8vw);
    transform: translateY(-50%);
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a:has(+ ul)::before, .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a:has(+ ul)::after {
    content: "";
    display: block;
    width: min(11.5px, 3.0666666667vw);
    height: min(1.5px, 0.4vw);
    background-color: #2A1809;
    border-radius: 100px;
    position: absolute;
    top: 50%;
    right: min(18px, 4.8vw);
    transition: all 300ms;
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a:has(+ ul)::before {
    transform: translateY(-50%);
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a:has(+ ul)::after {
    background-image: none;
    transform: translateY(-50%) rotate(90deg);
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a:has(+ ul[style*=block])::before {
    opacity: 0;
    transform: translateY(-50%) rotate(90deg);
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a:has(+ ul[style*=block])::after {
    background-image: none;
    transform: translateY(-50%) rotate(180deg);
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a + ul {
    display: none;
    padding-left: min(30px, 8vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a + ul li {
    margin-bottom: min(15px, 4vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a + ul li a {
    display: block;
    font-size: min(14px, 3.7333333333vw);
    font-weight: 400;
    padding-right: min(47px, 12.5333333333vw);
    position: relative;
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu > div > ul > li > a + ul li a::after {
    content: "";
    display: block;
    width: min(11px, 2.9333333333vw);
    height: min(10px, 2.6666666667vw);
    background-image: url("../img/common/arrow_right_black.png");
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: min(18px, 4.8vw);
    transform: translateY(-50%);
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu.menu-top > div > ul > li:nth-of-type(1) > a {
    background-image: url("../img/common/icon_megaphone.png");
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu.menu-top > div > ul > li:nth-of-type(2) > a {
    background-image: url("../img/common/icon_house.png");
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu.menu-bottom {
    margin-bottom: min(25px, 6.6666666667vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu.menu-bottom > div > ul > li:nth-of-type(1) > a {
    background-image: url("../img/common/icon_shirt.png");
  }
  .header .header-toggle .header-toggle-inner .toggle-main-menu.menu-bottom > div > ul > li:nth-of-type(2) > a {
    background-image: url("../img/common/icon_paw.png");
  }
  .header .header-toggle .header-toggle-inner .toggle-sub-menu {
    font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
    margin-bottom: min(30px, 8vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-sub-menu div ul {
    display: flex;
    flex-direction: column;
    gap: min(10px, 2.6666666667vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-sub-menu div ul li {
    width: 100%;
    max-width: min(290px, 77.3333333333vw);
    height: min(50px, 13.3333333333vw);
    margin-inline: auto;
  }
  .header .header-toggle .header-toggle-inner .toggle-sub-menu div ul li a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: min(14px, 3.7333333333vw);
    font-weight: 500;
    background-repeat: no-repeat;
    background-position: left min(30px, 8vw) center;
    background-size: min(25px, 6.6666666667vw) min(25px, 6.6666666667vw);
    background-color: #FFFFFF;
    border: 1px solid #615034;
    border-radius: 100px;
    padding-inline: min(60px, 16vw) min(30px, 8vw);
    position: relative;
  }
  .header .header-toggle .header-toggle-inner .toggle-sub-menu div ul li a::after {
    content: "";
    display: block;
    width: min(11px, 2.9333333333vw);
    height: min(10px, 2.6666666667vw);
    background-image: url("../img/common/arrow_right_black.png");
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: min(10px, 2.6666666667vw);
    transform: translateY(-50%);
  }
  .header .header-toggle .header-toggle-inner .toggle-sub-menu div ul li:nth-of-type(1) > a {
    background-image: url("../img/common/icon_business.png");
  }
  .header .header-toggle .header-toggle-inner .toggle-sub-menu div ul li:nth-of-type(2) > a {
    background-image: url("../img/common/icon_box.png");
  }
  .header .header-toggle .header-toggle-inner .toggle-sub-menu div ul li:nth-of-type(3) > a {
    background-image: url("../img/common/icon_cart.png");
  }
  .header .header-toggle .header-toggle-inner .toggle-contact {
    width: 100%;
    height: min(200px, 53.3333333333vw);
    margin-bottom: min(20px, 5.3333333333vw);
    position: relative;
  }
  .header .header-toggle .header-toggle-inner .toggle-contact .contact-bg {
    width: 100%;
    height: 100%;
    background-color: #F8F1E4;
    border-radius: min(20px, 5.3333333333vw);
    position: absolute;
    top: 0;
    left: 0;
    transform: rotate(3deg);
  }
  .header .header-toggle .header-toggle-inner .toggle-contact .contact-content {
    width: 100%;
    height: 100%;
    background-image: url("../img/common/toggle_contact_letter.png");
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    border-radius: min(20px, 5.3333333333vw);
    box-shadow: min(2px, 0.5333333333vw) min(2px, 0.5333333333vw) min(3px, 0.8vw) #E6DDCD;
    padding-top: min(28px, 7.4666666667vw);
    position: relative;
    z-index: 1;
  }
  .header .header-toggle .header-toggle-inner .toggle-contact .contact-content .contact-txt {
    font-weight: min(14px, 3.7333333333vw);
    text-align: center;
    margin-bottom: min(26px, 6.9333333333vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-contact .contact-content .contact-btn {
    width: 100%;
    max-width: min(300px, 80vw);
    height: min(50px, 13.3333333333vw);
    margin-inline: auto;
  }
  .header .header-toggle .header-toggle-inner .toggle-contact .contact-content .contact-btn a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    font-size: min(14px, 3.7333333333vw);
    font-weight: 500;
    color: #FFFFFF;
    background-image: url("../img/common/icon_mail.png");
    background-repeat: no-repeat;
    background-position: left min(37px, 9.8666666667vw) center;
    background-size: min(25px, 6.6666666667vw) min(25px, 6.6666666667vw);
    background-color: #615034;
    border: 1px solid #615034;
    border-radius: 100px;
    padding-inline: min(67px, 17.8666666667vw) 0;
    position: relative;
  }
  .header .header-toggle .header-toggle-inner .toggle-contact .contact-content .contact-btn a::after {
    content: "";
    display: block;
    width: min(11px, 2.9333333333vw);
    height: min(10px, 2.6666666667vw);
    background-image: url("../img/common/arrow_right_white.png");
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: min(10px, 2.6666666667vw);
    transform: translateY(-50%);
  }
  .header .header-toggle .header-toggle-inner .toggle-sns {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: min(259px, 69.0666666667vw);
    margin-inline: auto;
    margin-bottom: min(40px, 10.6666666667vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-sns .sns-img {
    width: min(158px, 42.1333333333vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-sns .sns-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(86px, 22.9333333333vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-sns .sns-list li {
    width: min(40px, 10.6666666667vw);
    height: min(40px, 10.6666666667vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-sns .sns-list li a {
    display: block;
    width: 100%;
    height: 100%;
    background-color: #FFFFFF;
    border: 1px solid #3B2B1D;
    border-radius: 50%;
    padding: min(8px, 2.1333333333vw);
  }
  .header .header-toggle .header-toggle-inner .toggle-close-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: min(200px, 53.3333333333vw);
    height: min(40px, 10.6666666667vw);
    font-size: min(14px, 3.7333333333vw);
    font-weight: 500;
    border: 1px solid #2A1809;
    border-radius: 100px;
    margin-inline: auto;
  }
  .header:has(.toggle-btn.is-open) .header-inner {
    background-color: #F3F7F4;
    border-bottom: 1px solid #F3F7F4;
  }
  .header:has(.toggle-btn.is-open) .header-toggle {
    opacity: 1;
    pointer-events: auto;
  }
}

@keyframes float {
  0% {
    transform: translateY(0) translateX(0);
  }
  25% {
    transform: translateY(-8px) translateX(2px);
  }
  50% {
    transform: translateY(-12px) translateX(-2px);
  }
  75% {
    transform: translateY(-6px) translateX(1px);
  }
  100% {
    transform: translateY(0) translateX(0);
  }
}
.footer {
  width: 100%;
  background-color: #E7F4EC;
  position: relative;
}
.footer::before {
  content: "";
  display: block;
  width: 100%;
  height: min(110px, 29.3333333333vw);
  background-image: url("../img/common/footer_bottom.png");
  background-size: min(1789px, 477.0666666667vw) min(110px, 29.3333333333vw);
  background-position: left bottom;
  background-repeat: repeat-x;
  position: absolute;
  bottom: 0;
  left: 0;
}
.footer .footer-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  max-width: min(1340px, 357.3333333333vw);
  padding-inline: min(30px, 8vw);
  padding-top: min(80px, 21.3333333333vw);
  margin-inline: auto;
  position: relative;
}
.footer .footer-inner::before {
  content: "";
  display: block;
  width: min(165px, 44vw);
  height: min(153px, 40.8vw);
  background-image: url("../img/common/footer_dog_01.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: min(22px, 5.8666666667vw);
  left: min(112px, 29.8666666667vw);
}
.footer .footer-inner::after {
  content: "";
  display: block;
  width: min(279px, 74.4vw);
  height: min(139px, 37.0666666667vw);
  background-image: url("../img/common/footer_dog_02.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: min(24px, 6.4vw);
  left: min(380px, 101.3333333333vw);
}
.footer .footer-inner .footer-corp {
  width: min(266px, 70.9333333333vw);
}
.footer .footer-inner .footer-corp .logo {
  width: 100%;
  margin-bottom: min(30px, 8vw);
}
.footer .footer-inner .footer-corp .txt-blk {
  display: flex;
  flex-direction: column;
  gap: min(2px, 0.5333333333vw);
}
.footer .footer-inner .footer-corp .txt-blk.txt-top {
  margin-bottom: min(10px, 2.6666666667vw);
}
.footer .footer-inner .footer-corp .txt-blk.txt-bottom {
  margin-bottom: min(20px, 5.3333333333vw);
}
.footer .footer-inner .footer-corp .txt-blk p {
  font-size: min(14px, 3.7333333333vw);
  white-space: nowrap;
}
.footer .footer-inner .footer-corp .sns .sns-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(98px, 26.1333333333vw);
}
.footer .footer-inner .footer-corp .sns .sns-list li {
  width: min(45px, 12vw);
  height: min(45px, 12vw);
}
.footer .footer-inner .footer-corp .sns .sns-list li a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  border: 1px solid #3B2B1D;
  border-radius: 50%;
  padding: min(9px, 2.4vw);
}
.footer .footer-inner .footer-menu {
  width: min(430px, 114.6666666667vw);
}
.footer .footer-inner .footer-menu .footer-menu-pc {
  display: flex;
  justify-content: space-between;
}
.footer .footer-inner .footer-menu .footer-menu-pc .footer-menu-blk {
  width: min(190px, 50.6666666667vw);
}
.footer .footer-inner .footer-menu .footer-menu-pc .footer-menu-blk h2 {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  font-size: min(17px, 4.5333333333vw);
  font-weight: 400;
  letter-spacing: 0.08em;
}
.footer .footer-inner .footer-menu .footer-menu-pc .footer-menu-blk h2::after {
  content: "";
  display: block;
  width: 100%;
  height: min(10px, 2.6666666667vw);
  background-image: url("../img/common/line.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  margin-top: min(7px, 1.8666666667vw);
}
.footer .footer-inner .footer-menu .footer-menu-pc .footer-menu-blk > div {
  padding-top: min(8px, 2.1333333333vw);
}
.footer .footer-inner .footer-menu .footer-menu-pc .footer-menu-blk > div ul {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  display: flex;
  flex-direction: column;
  gap: min(8px, 2.1333333333vw);
  padding-left: min(15px, 4vw);
}
.footer .footer-inner .footer-menu .footer-menu-pc .footer-menu-blk > div ul li a {
  font-size: min(14px, 3.7333333333vw);
}
.footer .footer-inner .footer-menu .footer-menu-sp {
  display: none;
}
.footer .footer-inner .footer-sub-menu {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: min(55px, 14.6666666667vw);
  margin-bottom: min(183px, 48.8vw);
}
.footer .footer-inner .footer-sub-menu .contact-btn {
  width: 100%;
  max-width: min(250px, 66.6666666667vw);
  height: min(50px, 13.3333333333vw);
}
.footer .footer-inner .footer-sub-menu .contact-btn a {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
  color: #FFFFFF;
  background-color: #615034;
  border: 1px solid #615034;
  border-radius: 100px;
  padding-left: min(106px, 28.2666666667vw);
  position: relative;
}
.footer .footer-inner .footer-sub-menu .contact-btn a::before {
  content: "";
  display: block;
  width: min(30px, 8vw);
  height: min(30px, 8vw);
  background-image: url("../img/common/icon_mail.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  margin-bottom: max(-2px, -0.5333333333vw);
  position: absolute;
  top: 50%;
  left: min(69px, 18.4vw);
  transform: translateY(-50%);
  transition: all 300ms;
}
.footer .footer-inner .footer-sub-menu .contact-btn a:hover {
  opacity: 1;
  color: #615034;
  background-color: #FFFFFF;
}
.footer .footer-inner .footer-sub-menu .contact-btn a:hover::before {
  background-image: url("../img/common/icon_mail_reverse.png");
}
.footer .footer-inner .footer-sub-menu > div {
  width: min(780px, 208vw);
}
.footer .footer-inner .footer-sub-menu > div ul {
  display: flex;
  gap: min(15px, 4vw);
}
.footer .footer-inner .footer-sub-menu > div ul li {
  width: 100%;
  max-width: min(250px, 66.6666666667vw);
  height: min(50px, 13.3333333333vw);
}
.footer .footer-inner .footer-sub-menu > div ul li a {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
  background-repeat: no-repeat;
  background-size: min(30px, 8vw) min(30px, 8vw);
  background-color: #FFFFFF;
  border: 1px solid #615034;
  border-radius: 100px;
  padding-right: min(30px, 8vw);
  margin-inline: auto;
  position: relative;
}
.footer .footer-inner .footer-sub-menu > div ul li a:hover {
  opacity: 1;
  color: #FFFFFF;
  background-color: #615034;
}
.footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(1) > a {
  background-image: url("../img/common/icon_business.png");
  background-position: left min(59px, 15.7333333333vw) center;
  padding-left: min(96px, 25.6vw);
}
.footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(1) > a:hover {
  background-image: url("../img/common/icon_business_reverse.png");
}
.footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(2) > a {
  background-image: url("../img/common/icon_box.png");
  background-position: left min(39px, 10.4vw) center;
  padding-left: min(76px, 20.2666666667vw);
}
.footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(2) > a:hover {
  background-image: url("../img/common/icon_box_reverse.png");
}
.footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(3) > a {
  background-image: url("../img/common/icon_cart.png");
  background-position: left min(53px, 14.1333333333vw) center;
  padding-left: min(90px, 24vw);
}
.footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(3) > a:hover {
  background-image: url("../img/common/icon_cart_reverse.png");
}
.footer .footer-inner .copyright {
  width: 100%;
  font-size: min(12px, 3.2vw);
  text-align: right;
  color: #FFFFFF;
  padding-bottom: min(15px, 4vw);
  padding-right: min(85px, 22.6666666667vw);
}
@media (min-width: 891px) and (max-width: 1110px) {
  .footer .footer-inner .footer-sub-menu {
    display: block;
  }
  .footer .footer-inner .footer-sub-menu .contact-btn {
    margin-bottom: min(15px, 4vw);
  }
}
@media (max-width: 890px) {
  .footer::before {
    height: min(53px, 14.1333333333vw);
    background-image: url("../img/common/footer_bottom_sp.png");
    background-size: min(375px, 100vw) min(53px, 14.1333333333vw);
  }
  .footer .footer-inner {
    flex-direction: column;
    justify-content: flex-start;
    max-width: 100%;
    padding-inline: min(20px, 5.3333333333vw);
    padding-top: min(40px, 10.6666666667vw);
  }
  .footer .footer-inner::before {
    width: min(103px, 27.4666666667vw);
    height: min(95px, 25.3333333333vw);
    bottom: min(26px, 6.9333333333vw);
    left: min(20px, 5.3333333333vw);
  }
  .footer .footer-inner::after {
    width: min(155px, 41.3333333333vw);
    height: min(77px, 20.5333333333vw);
    bottom: min(34px, 9.0666666667vw);
    left: min(156px, 41.6vw);
  }
  .footer .footer-inner .footer-corp {
    order: 3;
    width: 100%;
    margin-bottom: min(126px, 33.6vw);
  }
  .footer .footer-inner .footer-corp .logo {
    width: min(200px, 53.3333333333vw);
    margin-bottom: min(20px, 5.3333333333vw);
  }
  .footer .footer-inner .footer-corp .txt-blk.txt-bottom {
    margin-bottom: min(15px, 4vw);
  }
  .footer .footer-inner .footer-corp .txt-blk p {
    font-size: min(13px, 3.4666666667vw);
  }
  .footer .footer-inner .footer-corp .sns .sns-list {
    width: min(86px, 22.9333333333vw);
  }
  .footer .footer-inner .footer-corp .sns .sns-list li {
    width: min(40px, 10.6666666667vw);
    height: min(40px, 10.6666666667vw);
  }
  .footer .footer-inner .footer-corp .sns .sns-list li a {
    padding: min(8px, 2.1333333333vw);
  }
  .footer .footer-inner .footer-menu {
    order: 1;
    width: 100%;
  }
  .footer .footer-inner .footer-menu .footer-menu-pc {
    display: none;
  }
  .footer .footer-inner .footer-menu .footer-menu-sp {
    font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
    display: block;
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul {
    border-top: 1px solid #D4D8D2;
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li {
    border-bottom: 1px solid #D4D8D2;
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a {
    display: block;
    font-size: min(15px, 4vw);
    font-weight: 500;
    letter-spacing: 0.08em;
    padding-block: min(15px, 4vw);
    padding-right: min(47px, 12.5333333333vw);
    position: relative;
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a::after {
    content: "";
    display: block;
    width: min(11px, 2.9333333333vw);
    height: min(10px, 2.6666666667vw);
    background-image: url("../img/common/arrow_right_black.png");
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: min(18px, 4.8vw);
    transform: translateY(-50%);
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a:has(+ ul)::before, .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a:has(+ ul)::after {
    content: "";
    display: block;
    width: min(11.5px, 3.0666666667vw);
    height: min(1.5px, 0.4vw);
    background-color: #2A1809;
    border-radius: 100px;
    position: absolute;
    top: 50%;
    right: min(18px, 4.8vw);
    transition: all 300ms;
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a:has(+ ul)::before {
    transform: translateY(-50%);
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a:has(+ ul)::after {
    background-image: none;
    transform: translateY(-50%) rotate(90deg);
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a:has(+ ul[style*=block])::before {
    opacity: 0;
    transform: translateY(-50%) rotate(90deg);
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a:has(+ ul[style*=block])::after {
    background-image: none;
    transform: translateY(-50%) rotate(180deg);
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a + ul {
    display: none;
    padding-left: min(30px, 8vw);
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a + ul li {
    margin-bottom: min(15px, 4vw);
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a + ul li a {
    display: block;
    font-size: min(14px, 3.7333333333vw);
    font-weight: 400;
    padding-right: min(47px, 12.5333333333vw);
    position: relative;
  }
  .footer .footer-inner .footer-menu .footer-menu-sp > div > ul > li > a + ul li a::after {
    content: "";
    display: block;
    width: min(11px, 2.9333333333vw);
    height: min(10px, 2.6666666667vw);
    background-image: url("../img/common/arrow_right_black.png");
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: min(18px, 4.8vw);
    transform: translateY(-50%);
  }
  .footer .footer-inner .footer-sub-menu {
    order: 2;
    flex-direction: column;
    justify-content: flex-start;
    gap: min(10px, 2.6666666667vw);
    margin-top: min(25px, 6.6666666667vw);
    margin-bottom: min(40px, 10.6666666667vw);
  }
  .footer .footer-inner .footer-sub-menu .contact-btn {
    max-width: min(290px, 77.3333333333vw);
    margin-inline: auto;
  }
  .footer .footer-inner .footer-sub-menu .contact-btn a {
    font-size: min(14px, 3.7333333333vw);
    padding-left: min(60px, 16vw);
    padding-right: min(30px, 8vw);
  }
  .footer .footer-inner .footer-sub-menu .contact-btn a::before {
    width: min(25px, 6.6666666667vw);
    height: min(25px, 6.6666666667vw);
    left: min(30px, 8vw);
  }
  .footer .footer-inner .footer-sub-menu .contact-btn a::after {
    content: "";
    display: block;
    width: min(11px, 2.9333333333vw);
    height: min(10px, 2.6666666667vw);
    background-image: url("../img/common/arrow_right_white.png");
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: min(10px, 2.6666666667vw);
    transform: translateY(-50%);
    transition: all 300ms;
  }
  .footer .footer-inner .footer-sub-menu .contact-btn a:hover {
    color: #FFFFFF;
    background-color: #615034;
  }
  .footer .footer-inner .footer-sub-menu .contact-btn a:hover::before {
    background-image: url("../img/common/icon_mail.png");
  }
  .footer .footer-inner .footer-sub-menu > div {
    width: 100%;
  }
  .footer .footer-inner .footer-sub-menu > div ul {
    flex-direction: column;
    gap: min(10px, 2.6666666667vw);
  }
  .footer .footer-inner .footer-sub-menu > div ul li {
    max-width: min(290px, 77.3333333333vw);
    margin-inline: auto;
  }
  .footer .footer-inner .footer-sub-menu > div ul li a {
    font-size: min(14px, 3.7333333333vw);
    background-size: min(25px, 6.6666666667vw) min(25px, 6.6666666667vw);
  }
  .footer .footer-inner .footer-sub-menu > div ul li a::after {
    content: "";
    display: block;
    width: min(11px, 2.9333333333vw);
    height: min(10px, 2.6666666667vw);
    background-image: url("../img/common/arrow_right_black.png");
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: min(10px, 2.6666666667vw);
    transform: translateY(-50%);
    transition: all 300ms;
  }
  .footer .footer-inner .footer-sub-menu > div ul li a:hover {
    color: #615034;
    background-color: #FFFFFF;
  }
  .footer .footer-inner .footer-sub-menu > div ul li a:hover::after {
    background-image: url("../img/common/arrow_right_black.png");
  }
  .footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(1) > a {
    background-position: left min(30px, 8vw) center;
    padding-left: min(60px, 16vw);
  }
  .footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(1) > a:hover {
    background-image: url("../img/common/icon_business.png");
  }
  .footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(2) > a {
    background-position: left min(30px, 8vw) center;
    padding-left: min(60px, 16vw);
  }
  .footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(2) > a:hover {
    background-image: url("../img/common/icon_box.png");
  }
  .footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(3) > a {
    background-position: left min(30px, 8vw) center;
    padding-left: min(60px, 16vw);
  }
  .footer .footer-inner .footer-sub-menu > div ul li:nth-of-type(3) > a:hover {
    background-image: url("../img/common/icon_cart.png");
  }
  .footer .footer-inner .copyright {
    order: 4;
    font-size: min(9px, 2.4vw);
    padding-bottom: min(10px, 2.6666666667vw);
    padding-right: 0;
  }
}

.pagetop {
  width: min(88px, 23.4666666667vw);
  position: fixed;
  bottom: min(12px, 3.2vw);
  right: min(20px, 5.3333333333vw);
  z-index: 10;
  transform: translateY(calc(100% + min(30px, 8vw)));
  transition: all 2000ms;
}
.pagetop img {
  animation: float 4s ease-in-out infinite;
}
.pagetop.is-show {
  transform: translateY(0);
}
@media (max-width: 750px) {
  .pagetop {
    display: none;
  }
}

@keyframes wingClose {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes wingOpen {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes pigeonJump {
  0% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(0, min(8px, 2.1333333333vw)) scaleX(1.08) scaleY(0.9);
  }
  100% {
    transform: translate(0, max(-30px, -8vw)) scaleX(0.95) scaleY(1.1);
  }
}
@keyframes pigeonFly {
  0% {
    transform: translate(0, max(-30px, -8vw)) rotate(0deg) scale(1);
  }
  100% {
    transform: translate(var(--flyX), var(--flyY)) rotate(50deg) scale(0.2);
  }
}
@keyframes pigeonJumpSp {
  0% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(0, min(8px, 2.1333333333vw)) scaleX(1.08) scaleY(0.9);
  }
  100% {
    transform: translate(0, max(-15px, -4vw)) scaleX(0.95) scaleY(1.1);
  }
}
@keyframes pigeonFlySp {
  0% {
    transform: translate(0, max(-15px, -4vw)) rotate(0deg) scale(1);
  }
  100% {
    transform: translate(var(--flyX), var(--flyY)) rotate(50deg) scale(0.2);
  }
}
#top .top-hero .splide {
  padding-bottom: min(24px, 6.4vw);
}
#top .top-hero .splide img {
  width: 100%;
}
#top .top-hero .splide .splide__pagination {
  display: flex;
  gap: min(10px, 2.6666666667vw);
  bottom: 0;
}
#top .top-hero .splide .splide__pagination li {
  display: block;
  width: min(9px, 2.4vw);
  height: min(9px, 2.4vw);
}
#top .top-hero .splide .splide__pagination li button {
  display: block;
  width: 100%;
  height: 100%;
  background-color: transparent;
  background-image: url("../img/common/dot_slider.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  margin: 0;
  opacity: 0.1;
}
#top .top-hero .splide .splide__pagination li button.is-active {
  opacity: 1;
  transform: scale(1);
}
@media (max-width: 750px) {
  #top .top-hero .splide {
    padding-bottom: min(17px, 4.5333333333vw);
  }
  #top .top-hero .splide .splide__pagination {
    gap: min(6px, 1.6vw);
  }
  #top .top-hero .splide .splide__pagination li {
    width: min(7px, 1.8666666667vw);
    height: min(7px, 1.8666666667vw);
  }
}
#top .top-customer {
  width: 100%;
  padding-inline: min(30px, 8vw);
  padding-block: min(100px, 26.6666666667vw) min(80px, 21.3333333333vw);
}
#top .top-customer .top-customer-inner {
  display: flex;
  gap: min(40px, 10.6666666667vw);
  width: 100%;
  max-width: min(1280px, 341.3333333333vw);
  margin-inline: auto;
}
#top .top-customer .top-customer-inner > div {
  width: calc(50% - min(40px, 10.6666666667vw) / 2);
  border-radius: min(20px, 5.3333333333vw);
  padding-block: min(41px, 10.9333333333vw) min(33px, 8.8vw);
}
#top .top-customer .top-customer-inner > div h2 {
  width: -moz-fit-content;
  width: fit-content;
  font-size: min(26px, 6.9333333333vw);
  font-weight: 500;
  color: #FFFFFF;
  margin-inline: auto;
  margin-bottom: min(35px, 9.3333333333vw);
  position: relative;
}
#top .top-customer .top-customer-inner > div h2::before {
  content: "";
  display: block;
  width: min(55px, 14.6666666667vw);
  height: min(55px, 14.6666666667vw);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: max(-70px, -18.6666666667vw);
  transform: translateY(-50%);
}
#top .top-customer .top-customer-inner > div .btn-blk {
  display: flex;
  justify-content: center;
  gap: min(10px, 2.6666666667vw);
}
#top .top-customer .top-customer-inner > div .btn-blk > div {
  width: 100%;
  height: min(50px, 13.3333333333vw);
  position: relative;
}
#top .top-customer .top-customer-inner > div .btn-blk > div a {
  justify-content: center;
  font-size: min(16px, 4.2666666667vw);
  text-align: center;
  background-color: #FDFCF8;
}
#top .top-customer .top-customer-inner > div .btn-blk > div a:hover {
  background-color: #615034;
}
#top .top-customer .top-customer-inner > div .btn-blk > div > span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: min(11px, 2.9333333333vw);
  font-weight: 600;
  color: #FFFFFF;
  white-space: nowrap;
  background-color: #A8924A;
  border: 1px solid #FFFFFF;
  border-radius: 100px;
  padding-inline: min(15px, 4vw);
  position: absolute;
  top: max(-12px, -3.2vw);
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
#top .top-customer .top-customer-inner > div .btn-blk > div > span::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: min(4px, 1.0666666667vw) solid transparent;
  border-right: min(4px, 1.0666666667vw) solid transparent;
  border-top: min(6px, 1.6vw) solid #A8924A;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
}
#top .top-customer .top-customer-inner > div .btn-blk > div > span span {
  font-size: min(13px, 3.4666666667vw);
}
#top .top-customer .top-customer-inner > div .btn-blk > div.business-btn {
  max-width: min(250px, 66.6666666667vw);
}
#top .top-customer .top-customer-inner > div .btn-blk > div.business-btn a {
  border: min(1.5px, 0.4vw) solid #5FA771;
  box-shadow: min(2px, 0.5333333333vw) min(2px, 0.5333333333vw) 0 #5FA771;
}
#top .top-customer .top-customer-inner > div .btn-blk > div.personal-btn {
  max-width: min(320px, 85.3333333333vw);
}
#top .top-customer .top-customer-inner > div .btn-blk > div.personal-btn a {
  border: min(1.5px, 0.4vw) solid #499B95;
  box-shadow: min(2px, 0.5333333333vw) min(2px, 0.5333333333vw) 0 #499B95;
}
#top .top-customer .top-customer-inner > div.customer-business {
  background-color: #6DBA80;
}
#top .top-customer .top-customer-inner > div.customer-business h2::before {
  background-image: url("../img/top/customer_type_icon_business.png");
}
#top .top-customer .top-customer-inner > div.customer-personal {
  background-color: #66B7B0;
}
#top .top-customer .top-customer-inner > div.customer-personal h2::before {
  background-image: url("../img/top/customer_type_icon_personal.png");
}
@media (min-width: 751px) and (max-width: 1340px) {
  #top .top-customer .top-customer-inner {
    flex-direction: column;
    align-items: center;
    gap: min(20px, 5.3333333333vw);
  }
  #top .top-customer .top-customer-inner > div {
    width: 100%;
    max-width: min(620px, 165.3333333333vw);
  }
}
@media (max-width: 750px) {
  #top .top-customer {
    padding-inline: min(20px, 5.3333333333vw);
    padding-block: min(30px, 8vw) min(40px, 10.6666666667vw);
  }
  #top .top-customer .top-customer-inner {
    flex-direction: column;
    align-items: center;
    gap: min(15px, 4vw);
  }
  #top .top-customer .top-customer-inner > div {
    width: 100%;
    max-width: min(335px, 89.3333333333vw);
    padding-block: min(23px, 6.1333333333vw) min(20px, 5.3333333333vw);
  }
  #top .top-customer .top-customer-inner > div h2 {
    font-size: min(18px, 4.8vw);
    margin-bottom: min(14px, 3.7333333333vw);
  }
  #top .top-customer .top-customer-inner > div h2::before {
    width: min(35px, 9.3333333333vw);
    height: min(35px, 9.3333333333vw);
    left: max(-45px, -12vw);
  }
  #top .top-customer .top-customer-inner > div .btn-blk {
    gap: min(8px, 2.1333333333vw);
  }
  #top .top-customer .top-customer-inner > div .btn-blk > div {
    height: min(45px, 12vw);
  }
  #top .top-customer .top-customer-inner > div .btn-blk > div a {
    font-size: min(14px, 3.7333333333vw);
  }
  #top .top-customer .top-customer-inner > div .btn-blk > div a:hover {
    background-color: #FDFCF8;
  }
  #top .top-customer .top-customer-inner > div .btn-blk > div > span {
    font-size: min(10px, 2.6666666667vw);
    padding-inline: min(13px, 3.4666666667vw);
    top: max(-18px, -4.8vw);
  }
  #top .top-customer .top-customer-inner > div .btn-blk > div > span span {
    font-size: min(12px, 3.2vw);
  }
  #top .top-customer .top-customer-inner > div .btn-blk > div.business-btn {
    max-width: min(155px, 41.3333333333vw);
  }
  #top .top-customer .top-customer-inner > div .btn-blk > div.business-btn a {
    font-size: min(12px, 3.2vw);
    line-height: 1.15;
    border: 1px solid #5FA771;
    box-shadow: 1px 1px 0 #5FA771;
  }
  #top .top-customer .top-customer-inner > div .btn-blk > div.personal-btn {
    max-width: min(290px, 77.3333333333vw);
  }
  #top .top-customer .top-customer-inner > div .btn-blk > div.personal-btn a {
    border: 1px solid #499B95;
    box-shadow: 1px 1px 0 #499B95;
  }
  #top .top-customer .top-customer-inner > div.customer-business h2 {
    margin-bottom: min(30px, 8vw);
  }
}
#top .top-news {
  width: 100%;
  background-color: #F3F7F4;
  padding-inline: min(30px, 8vw);
  padding-block: min(88px, 23.4666666667vw) min(80px, 21.3333333333vw);
  overflow: clip;
}
#top .top-news .ttl-main {
  margin-bottom: min(30px, 8vw);
}
#top .top-news .top-news-inner {
  width: 100%;
  max-width: min(1280px, 341.3333333333vw);
  margin-inline: auto;
  position: relative;
}
#top .top-news .top-news-inner::before {
  content: "";
  display: block;
  width: min(162px, 43.2vw);
  height: min(107px, 28.5333333333vw);
  background-image: url("../img/top/news_chr.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: min(160px, 42.6666666667vw);
  transform: translateY(calc(-100% - 1px));
}
#top .top-news .top-news-inner::after {
  content: "";
  display: block;
  width: min(380px, 101.3333333333vw);
  height: min(296px, 78.9333333333vw);
  background-image: url("../img/top/news_deco.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: max(-69px, -18.4vw);
  right: 0;
  transform: translateX(100%);
}
#top .top-news .top-news-inner .news-list {
  width: 100%;
  background-color: #FFFFFF;
  border: 1px dashed #2A1809;
  border-radius: min(60px, 16vw);
  padding-block: min(40px, 10.6666666667vw) min(50px, 13.3333333333vw);
  padding-inline: min(120px, 32vw);
  position: relative;
}
#top .top-news .top-news-inner .news-list li::after {
  content: "";
  display: block;
  width: 100%;
  height: min(18px, 4.8vw);
  background-image: url("../img/common/line.png");
  background-size: min(160px, 42.6666666667vw) min(18px, 4.8vw);
  background-position: left top;
  background-repeat: repeat-x;
}
#top .top-news .top-news-inner .news-list li a {
  display: flex;
  align-items: center;
  padding-block: min(20px, 5.3333333333vw);
}
#top .top-news .top-news-inner .news-list li a .category {
  width: min(152px, 40.5333333333vw);
}
#top .top-news .top-news-inner .news-list li a .category span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  font-size: min(14px, 3.7333333333vw);
  color: #FFFFFF;
  background-color: #6B9374;
  border-radius: 100px;
  padding-inline: min(20px, 5.3333333333vw);
  padding-block: min(2px, 0.5333333333vw);
}
#top .top-news .top-news-inner .news-list li a .category span.news {
  background-color: #6B9374;
}
#top .top-news .top-news-inner .news-list li a .category span.info {
  background-color: #BE8851;
}
#top .top-news .top-news-inner .news-list li a .category span.event {
  background-color: #64798E;
}
#top .top-news .top-news-inner .news-list li a .category span.media {
  background-color: #BC7272;
}
#top .top-news .top-news-inner .news-list li a .category span.exhibition {
  background-color: #A8924A;
}
#top .top-news .top-news-inner .news-list li a .date {
  width: min(116px, 30.9333333333vw);
  padding-left: min(20px, 5.3333333333vw);
}
#top .top-news .top-news-inner .news-list li a .date time {
  display: block;
  font-size: min(16px, 4.2666666667vw);
}
#top .top-news .top-news-inner .news-list li a .ttl {
  width: calc(100% - (min(152px, 40.5333333333vw) + min(116px, 30.9333333333vw)));
}
#top .top-news .top-news-inner .news-list li a .ttl span {
  display: block;
  font-size: min(18px, 4.8vw);
  font-weight: 500;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
#top .top-news .top-news-inner .news-btn {
  max-width: min(320px, 85.3333333333vw);
  height: min(50px, 13.3333333333vw);
  margin-inline: auto;
  margin-top: min(40px, 10.6666666667vw);
}
#top .top-news .top-news-inner .news-btn a {
  justify-content: center;
  font-size: min(16px, 4.2666666667vw);
}
@media (min-width: 751px) and (max-width: 1100px) {
  #top .top-news .top-news-inner::before {
    left: min(60px, 16vw);
  }
  #top .top-news .top-news-inner .news-list {
    padding-inline: min(60px, 16vw);
  }
}
@media (max-width: 750px) {
  #top .top-news {
    padding-inline: min(20px, 5.3333333333vw);
    padding-block: min(40px, 10.6666666667vw);
    overflow: visible;
  }
  #top .top-news .ttl-main {
    margin-bottom: min(15px, 4vw);
  }
  #top .top-news .top-news-inner::before {
    width: min(93px, 24.8vw);
    height: min(86px, 22.9333333333vw);
    background-image: url("../img/top/news_chr_sp.png");
    left: max(-3px, -0.8vw);
    transform: translateY(calc(-100% + min(4px, 1.0666666667vw)));
  }
  #top .top-news .top-news-inner::after {
    width: min(218px, 58.1333333333vw);
    height: min(170px, 45.3333333333vw);
    background-image: url("../img/top/news_deco_sp.png");
    bottom: max(-65px, -17.3333333333vw);
    right: max(-20px, -5.3333333333vw);
    transform: translateX(0);
  }
  #top .top-news .top-news-inner .news-list {
    border-radius: min(30px, 8vw);
    padding-block: min(20px, 5.3333333333vw) min(30px, 8vw);
    padding-inline: min(38px, 10.1333333333vw);
    z-index: 1;
  }
  #top .top-news .top-news-inner .news-list li a {
    flex-wrap: wrap;
    padding-block: min(10px, 2.6666666667vw);
  }
  #top .top-news .top-news-inner .news-list li a .category {
    width: -moz-fit-content;
    width: fit-content;
  }
  #top .top-news .top-news-inner .news-list li a .category span {
    font-size: min(10px, 2.6666666667vw);
    padding-inline: min(12px, 3.2vw);
    padding-block: min(2px, 0.5333333333vw);
  }
  #top .top-news .top-news-inner .news-list li a .date {
    width: -moz-fit-content;
    width: fit-content;
    padding-left: min(5px, 1.3333333333vw);
  }
  #top .top-news .top-news-inner .news-list li a .date time {
    font-size: min(14px, 3.7333333333vw);
  }
  #top .top-news .top-news-inner .news-list li a .ttl {
    width: 100%;
    margin-top: min(5px, 1.3333333333vw);
  }
  #top .top-news .top-news-inner .news-list li a .ttl span {
    display: block;
    font-size: min(14px, 3.7333333333vw);
    font-weight: 500;
    white-space: wrap;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  #top .top-news .top-news-inner .news-btn {
    max-width: min(290px, 77.3333333333vw);
    height: min(45px, 12vw);
    margin-top: min(25px, 6.6666666667vw);
    position: relative;
    z-index: 1;
  }
  #top .top-news .top-news-inner .news-btn a {
    justify-content: center;
    font-size: min(14px, 3.7333333333vw);
  }
}
#top .top-category {
  width: 100%;
  padding-block: min(80px, 21.3333333333vw) min(100px, 26.6666666667vw);
}
#top .top-category .ttl-main {
  margin-bottom: min(40px, 10.6666666667vw);
}
#top .top-category .top-category-inner {
  padding-inline: min(30px, 8vw);
  position: relative;
}
#top .top-category .top-category-inner::before {
  content: "";
  display: block;
  width: 100%;
  height: min(400px, 106.6666666667vw);
  background-color: #FAFAFA;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#top .top-category .top-category-inner .category-list {
  display: flex;
  flex-wrap: wrap;
  gap: min(35px, 9.3333333333vw) min(30px, 8vw);
  width: 100%;
  max-width: min(1284px, 342.4vw);
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
#top .top-category .top-category-inner .category-list li {
  width: calc(33.3333333333% - min(60px, 16vw) / 3);
  box-shadow: min(3px, 0.8vw) min(3px, 0.8vw) min(6px, 1.6vw) rgba(223, 230, 223, 0.5);
  transition: all 700ms;
  opacity: 0;
  transform: translateY(min(20px, 5.3333333333vw));
}
#top .top-category .top-category-inner .category-list li:nth-of-type(1) {
  transition-delay: 0;
}
#top .top-category .top-category-inner .category-list li:nth-of-type(2) {
  transition-delay: 100ms;
}
#top .top-category .top-category-inner .category-list li:nth-of-type(3) {
  transition-delay: 200ms;
}
#top .top-category .top-category-inner .category-list li:nth-of-type(4) {
  transition-delay: 300ms;
}
#top .top-category .top-category-inner .category-list li:nth-of-type(5) {
  transition-delay: 400ms;
}
#top .top-category .top-category-inner .category-list li:nth-of-type(6) {
  transition-delay: 500ms;
}
#top .top-category .top-category-inner .category-list li a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: clip;
  position: relative;
}
#top .top-category .top-category-inner .category-list li a:hover {
  opacity: 1;
}
#top .top-category .top-category-inner .category-list li a:hover .img img {
  transform: scale(1.07);
}
#top .top-category .top-category-inner .category-list li a .img {
  width: 100%;
}
#top .top-category .top-category-inner .category-list li a .img img {
  width: 100%;
  transition: all 700ms;
}
#top .top-category .top-category-inner .category-list li a .ttl {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: min(62px, 16.5333333333vw);
  background-color: rgba(255, 255, 255, 0.9);
  padding: min(12px, 3.2vw) min(10px, 2.6666666667vw);
  position: absolute;
  bottom: 0;
  left: 0;
}
#top .top-category .top-category-inner .category-list li a .ttl .ttl-en {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  height: min(26px, 6.9333333333vw);
}
#top .top-category .top-category-inner .category-list li a .ttl .ttl-en img {
  width: auto;
  height: 100%;
}
#top .top-category .top-category-inner .category-list li a .ttl .ttl-jp {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  font-size: min(14px, 3.7333333333vw);
  letter-spacing: 0.16em;
}
#top .top-category .top-category-inner .category-list li a .ttl .ttl-jp::before {
  content: "";
  display: block;
  width: min(27px, 7.2vw);
  height: min(38px, 10.1333333333vw);
  background-image: url("../img/common/slash.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
}
#top .top-category .top-category-inner .category-list.is-show li {
  opacity: 1;
  transform: translateY(0);
}
@media (min-width: 751px) and (max-width: 1340px) {
  #top .top-category .top-category-inner .category-list {
    max-width: min(846px, 225.6vw);
  }
  #top .top-category .top-category-inner .category-list li {
    width: calc(50% - min(30px, 8vw) / 2);
  }
  #top .top-category .top-category-inner .category-list li a .ttl {
    min-height: min(54px, 14.4vw);
    padding: min(8px, 2.1333333333vw) min(10px, 2.6666666667vw);
  }
  #top .top-category .top-category-inner .category-list li a .ttl .ttl-en {
    height: min(18px, 4.8vw);
  }
  #top .top-category .top-category-inner .category-list li a .ttl .ttl-jp {
    font-size: min(13px, 3.4666666667vw);
  }
}
@media (max-width: 750px) {
  #top .top-category {
    padding-block: min(45px, 12vw) min(40px, 10.6666666667vw);
  }
  #top .top-category .ttl-main {
    margin-bottom: min(15px, 4vw);
  }
  #top .top-category .top-category-inner {
    padding-inline: min(10px, 2.6666666667vw);
  }
  #top .top-category .top-category-inner .category-list {
    gap: min(10px, 2.6666666667vw) min(15px, 4vw);
  }
  #top .top-category .top-category-inner .category-list li {
    width: calc(50% - min(15px, 4vw) / 2);
    box-shadow: min(2px, 0.5333333333vw) min(2px, 0.5333333333vw) min(3px, 0.8vw) rgba(223, 230, 223, 0.5);
    transform: translateY(min(10px, 2.6666666667vw));
  }
  #top .top-category .top-category-inner .category-list li a:hover .img img {
    transform: scale(1);
  }
  #top .top-category .top-category-inner .category-list li a .ttl {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: min(37px, 9.8666666667vw);
    padding: min(5px, 1.3333333333vw) min(10px, 2.6666666667vw) min(2px, 0.5333333333vw);
  }
  #top .top-category .top-category-inner .category-list li a .ttl .ttl-en {
    height: min(14px, 3.7333333333vw);
  }
  #top .top-category .top-category-inner .category-list li a .ttl .ttl-jp {
    font-size: min(10px, 2.6666666667vw);
  }
  #top .top-category .top-category-inner .category-list li a .ttl .ttl-jp::before {
    content: none;
  }
}
#top .top-contact {
  width: 100%;
  background-image: url("../img/top/contact_deco.png"), linear-gradient(#FFFFFF min(30px, 8vw), #FAF6EF 0);
  background-size: min(3000px, 800vw) min(440px, 117.3333333333vw), 100% 100%;
  background-position: calc(50% + min(109px, 29.0666666667vw)) bottom, left top;
  background-repeat: no-repeat, no-repeat;
  padding-bottom: min(79px, 21.0666666667vw);
}
#top .top-contact .ttl-main {
  margin-bottom: min(69px, 18.4vw);
}
#top .top-contact .top-contact-inner {
  padding-inline: min(30px, 8vw);
}
#top .top-contact .top-contact-inner .top-contact-content {
  width: 100%;
  max-width: min(1110px, 296vw);
  height: min(240px, 64vw);
  margin-inline: auto;
  position: relative;
}
#top .top-contact .top-contact-inner .top-contact-content .contact-bg {
  width: 100%;
  height: 100%;
  background-color: #F8F1E4;
  border-radius: min(20px, 5.3333333333vw);
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(3deg);
}
#top .top-contact .top-contact-inner .top-contact-content .contact-content {
  width: 100%;
  height: 100%;
  background-image: url("../img/top/contact_letter.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: min(20px, 5.3333333333vw);
  box-shadow: min(2px, 0.5333333333vw) min(2px, 0.5333333333vw) min(3px, 0.8vw) #E6DDCD;
  padding-top: min(37px, 9.8666666667vw);
  position: relative;
  z-index: 1;
}
#top .top-contact .top-contact-inner .top-contact-content .contact-content .contact-txt {
  font-weight: min(16px, 4.2666666667vw);
  text-align: center;
  margin-bottom: min(65px, 17.3333333333vw);
}
#top .top-contact .top-contact-inner .top-contact-content .contact-content .contact-btn {
  width: 100%;
  max-width: min(380px, 101.3333333333vw);
  height: min(50px, 13.3333333333vw);
  margin-inline: auto;
}
#top .top-contact .top-contact-inner .top-contact-content .contact-content .contact-btn a {
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
  background-image: url("../img/common/icon_mail.png");
  background-repeat: no-repeat;
  background-position: left min(60px, 16vw) center;
  background-size: min(30px, 8vw) min(30px, 8vw);
  padding-inline: min(97px, 25.8666666667vw) 0;
}
#top .top-contact .top-contact-inner .top-contact-content .contact-content .contact-btn a:hover {
  background-image: url("../img/common/icon_mail_reverse.png");
}
#top .top-contact .top-contact-inner .top-contact-content .pigeon {
  width: min(166px, 44.2666666667vw);
  height: min(94px, 25.0666666667vw);
  position: absolute;
  top: max(-79px, -21.0666666667vw);
  right: min(31px, 8.2666666667vw);
  z-index: 1;
  pointer-events: none;
  transform-origin: 50% 70%;
  will-change: transform;
  backface-visibility: hidden;
  contain: layout paint;
}
#top .top-contact .top-contact-inner .top-contact-content .pigeon img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
#top .top-contact .top-contact-inner .top-contact-content .pigeon img.wing-open {
  opacity: 0;
}
#top .top-contact .top-contact-inner .top-contact-content .pigeon.fly {
  animation: pigeonJump 0.6s ease-out forwards, pigeonFly 12s cubic-bezier(0.22, 0.61, 0.36, 1) 0.6s forwards;
}
#top .top-contact .top-contact-inner .top-contact-content .pigeon.fly .wing-close {
  animation: wingClose 0.16s steps(1) infinite;
  animation-delay: 0.6s;
}
#top .top-contact .top-contact-inner .top-contact-content .pigeon.fly .wing-open {
  animation: wingOpen 0.16s steps(1) infinite;
  animation-delay: 0.6s;
}
#top .top-contact .top-contact-inner .top-contact-content .pigeon.fly.start-flap .wing-close {
  animation: wingClose 0.16s infinite;
}
#top .top-contact .top-contact-inner .top-contact-content .pigeon.fly.start-flap .wing-open {
  animation: wingOpen 0.16s infinite;
}
@media (max-width: 750px) {
  #top .top-contact {
    background-image: url("../img/top/contact_deco_sp.png"), linear-gradient(#FFFFFF min(17px, 4.5333333333vw), #FAF6EF 0);
    background-size: min(448px, 119.4666666667vw) min(320px, 85.3333333333vw), 100% 100%;
    background-position: calc(50% + min(37px, 9.8666666667vw)) bottom, left top;
    background-repeat: no-repeat, no-repeat;
    padding-bottom: min(48px, 12.8vw);
  }
  #top .top-contact .ttl-main {
    margin-bottom: min(28px, 7.4666666667vw);
  }
  #top .top-contact .top-contact-inner {
    padding-inline: min(20px, 5.3333333333vw);
  }
  #top .top-contact .top-contact-inner .top-contact-content {
    max-width: 100%;
    height: min(200px, 53.3333333333vw);
  }
  #top .top-contact .top-contact-inner .top-contact-content .contact-content {
    background-image: url("../img/top/contact_letter_sp.png");
    padding-top: min(28px, 7.4666666667vw);
  }
  #top .top-contact .top-contact-inner .top-contact-content .contact-content .contact-txt {
    font-weight: min(14px, 3.7333333333vw);
    margin-bottom: min(26px, 6.9333333333vw);
  }
  #top .top-contact .top-contact-inner .top-contact-content .contact-content .contact-btn {
    max-width: min(300px, 80vw);
  }
  #top .top-contact .top-contact-inner .top-contact-content .contact-content .contact-btn a {
    font-size: min(14px, 3.7333333333vw);
    background-position: left min(37px, 9.8666666667vw) center;
    background-size: min(25px, 6.6666666667vw) min(25px, 6.6666666667vw);
    padding-inline: min(67px, 17.8666666667vw) 0;
  }
  #top .top-contact .top-contact-inner .top-contact-content .contact-content .contact-btn a:hover {
    background-image: url("../img/common/icon_mail.png");
  }
  #top .top-contact .top-contact-inner .top-contact-content .pigeon {
    width: min(99px, 26.4vw);
    height: min(57px, 15.2vw);
    top: max(-47px, -12.5333333333vw);
    right: max(-5px, -1.3333333333vw);
  }
  #top .top-contact .top-contact-inner .top-contact-content .pigeon.fly {
    animation: pigeonJumpSp 0.6s ease-out forwards, pigeonFlySp 12s cubic-bezier(0.22, 0.61, 0.36, 1) 0.6s forwards;
  }
}

@keyframes heartbeat {
  0% {
    transform: scale(1);
  }
  15% {
    transform: scale(1.15);
  }
  30% {
    transform: scale(1);
  }
  45% {
    transform: scale(1.1);
  }
  60% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes shake {
  0% {
    transform: translateX(0) rotate(0deg);
  }
  10% {
    transform: translateX(-5px) rotate(-2deg);
  }
  20% {
    transform: translateX(5px) rotate(2deg);
  }
  30% {
    transform: translateX(-4px) rotate(-1.5deg);
  }
  40% {
    transform: translateX(4px) rotate(1.5deg);
  }
  50% {
    transform: translateX(0) rotate(0deg);
  }
  100% {
    transform: translateX(0) rotate(0deg);
  }
}
@keyframes arrow-bounce {
  0% {
    transform: translateY(-50%) translateY(0);
  }
  15% {
    transform: translateY(-50%) translateY(6px);
  }
  30% {
    transform: translateY(-50%) translateY(0);
  }
  45% {
    transform: translateY(-50%) translateY(4px);
  }
  60% {
    transform: translateY(-50%) translateY(0);
  }
  100% {
    transform: translateY(-50%) translateY(0);
  }
}
body:has(.wasabi-modal.is-visible) {
  overflow: hidden;
}

#page-wasabi-machi {
  width: 100%;
  background-color: #FAF6EF;
}
#page-wasabi-machi .wasabi-lead {
  width: 100%;
  padding-inline: min(30px, 8vw);
  padding-block: min(75px, 20vw) min(40px, 10.6666666667vw);
}
#page-wasabi-machi .wasabi-lead .wasabi-lead-inner {
  width: 100%;
  max-width: min(1280px, 341.3333333333vw);
  margin-inline: auto;
}
#page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl {
  width: 100%;
  text-align: center;
  margin-bottom: min(30px, 8vw);
}
#page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span {
  display: block;
  text-align: center;
}
#page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span.jp {
  width: -moz-fit-content;
  width: fit-content;
  font-size: min(34px, 9.0666666667vw);
  font-weight: 600;
  line-height: 1.5;
  color: #C45530;
  padding-inline: min(30px, 8vw);
  margin-inline: auto;
  position: relative;
}
#page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span.jp::before, #page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span.jp::after {
  content: "";
  display: block;
  width: min(12px, 3.2vw);
  height: min(12px, 3.2vw);
  background-color: #C45530;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
#page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span.jp::before {
  left: 0;
}
#page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span.jp::after {
  right: 0;
}
#page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span.en {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  font-size: min(14px, 3.7333333333vw);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #313131;
}
#page-wasabi-machi .wasabi-lead .wasabi-lead-inner .lead-txt {
  font-size: min(16px, 4.2666666667vw);
  line-height: 1.8;
  text-align: center;
  color: #313131;
}
@media (max-width: 750px) {
  #page-wasabi-machi .wasabi-lead {
    padding-inline: min(20px, 5.3333333333vw);
    padding-block: min(40px, 10.6666666667vw) min(30px, 8vw);
  }
  #page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl {
    margin-bottom: min(15px, 4vw);
  }
  #page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span.jp {
    font-size: min(24px, 6.4vw);
    padding-inline: min(28px, 7.4666666667vw);
  }
  #page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span.jp::before, #page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span.jp::after {
    width: min(10px, 2.6666666667vw);
    height: min(10px, 2.6666666667vw);
  }
  #page-wasabi-machi .wasabi-lead .wasabi-lead-inner .ttl span.en {
    font-size: min(12px, 3.2vw);
  }
  #page-wasabi-machi .wasabi-lead .wasabi-lead-inner .lead-txt {
    font-size: min(14px, 3.7333333333vw);
    line-height: 1.6;
  }
}
#page-wasabi-machi .wasabi-map {
  width: 100%;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner {
  width: 100%;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .tip {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(530px, 141.3333333333vw);
  height: min(55px, 14.6666666667vw);
  font-size: min(15px, 4vw);
  font-weight: 600;
  color: #FFFFFF;
  background-color: #615034;
  border-radius: 100px;
  margin-inline: auto;
  margin-bottom: max(-27px, -7.2vw);
  position: relative;
  z-index: 1;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .tip span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  padding-inline: min(27px, 7.2vw);
  position: relative;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .tip span::before, #page-wasabi-machi .wasabi-map .wasabi-map-inner .tip span::after {
  content: "";
  display: block;
  width: min(17px, 4.5333333333vw);
  height: min(10px, 2.6666666667vw);
  background-image: url("../img/wasabi_machi/map_arrow_down.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  animation: arrow-bounce 1.6s infinite;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .tip span::before {
  left: 0;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .tip span::after {
  right: 0;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container {
  width: 100%;
  position: relative;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .os-scrollbar-horizontal {
  width: calc(100% - min(120px, 32vw));
  height: min(8px, 2.1333333333vw);
  padding: 0;
  margin-inline: auto;
  position: absolute;
  bottom: min(120px, 32vw);
  left: 0;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .os-scrollbar-horizontal .os-scrollbar-track {
  background-color: #FAF6EF;
  border-radius: 100px;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .os-scrollbar-horizontal .os-scrollbar-handle {
  width: min(46px, 12.2666666667vw);
  max-width: 100%;
  min-width: 0;
  height: min(23px, 6.1333333333vw);
  background-color: transparent;
  background-image: url("../img/wasabi_machi/map_scroll_icon.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  border-radius: 0;
  bottom: max(-4px, -1.0666666667vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap {
  display: flex;
  width: 100%;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap::before, #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap::after {
  content: "";
  flex-shrink: 0;
  display: block;
  width: min(30px, 8vw);
  height: 1px;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content {
  flex-shrink: 0;
  width: min(1280px, 341.3333333333vw);
  background-color: #FFFFFF;
  border-radius: min(20px, 5.3333333333vw);
  border: min(4px, 1.0666666667vw) solid #F4EBDB;
  padding: min(58px, 15.4666666667vw) min(53px, 14.1333333333vw) min(99px, 26.4vw) min(24px, 6.4vw);
  margin-inline: auto;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner {
  position: relative;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-bg {
  width: 100%;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-bg img {
  width: 100%;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk {
  position: absolute;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk:has(button:hover) .char-img {
  animation: shake 1.4s infinite;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk .char-img {
  width: 100%;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk .char-img img {
  width: 100%;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk button {
  display: block;
  width: min(50px, 13.3333333333vw);
  position: absolute;
  animation: heartbeat 1.7s infinite;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-shibata {
  width: min(60px, 16vw);
  top: min(320px, 85.3333333333vw);
  left: min(689px, 183.7333333333vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-shibata button {
  top: min(8px, 2.1333333333vw);
  left: min(59px, 15.7333333333vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-komajiro {
  width: min(53px, 14.1333333333vw);
  top: min(50px, 13.3333333333vw);
  left: min(565px, 150.6666666667vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-komajiro button {
  top: max(-38px, -10.1333333333vw);
  left: min(61px, 16.2666666667vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-kuroyanagi {
  width: min(56px, 14.9333333333vw);
  top: min(275px, 73.3333333333vw);
  left: min(432px, 115.2vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-kuroyanagi button {
  top: max(-38px, -10.1333333333vw);
  left: min(43px, 11.4666666667vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-miyake {
  width: min(58px, 15.4666666667vw);
  top: min(88px, 23.4666666667vw);
  left: min(776px, 206.9333333333vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-miyake button {
  top: min(57px, 15.2vw);
  left: min(54px, 14.4vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-sakura-bunta {
  width: min(62px, 16.5333333333vw);
  top: min(429px, 114.4vw);
  left: min(603px, 160.8vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-sakura-bunta button {
  top: min(24px, 6.4vw);
  left: min(7px, 1.8666666667vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-shiraishi {
  width: min(62px, 16.5333333333vw);
  top: min(573px, 152.8vw);
  left: min(629px, 167.7333333333vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-shiraishi button {
  top: max(-44px, -11.7333333333vw);
  left: min(62px, 16.5333333333vw);
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-btn {
  width: 100%;
  max-width: min(380px, 101.3333333333vw);
  height: min(60px, 16vw);
  margin-inline: auto;
  margin-top: max(-30px, -8vw);
  position: relative;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-btn::before, #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-btn::after {
  content: "";
  display: block;
  width: min(165px, 44vw);
  height: min(86px, 22.9333333333vw);
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: max(-75px, -20vw);
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-btn::before {
  background-image: url("../img/wasabi_machi/map_btn_dog.png");
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-btn::after {
  background-image: url("../img/wasabi_machi/map_btn_dog_legs.png");
  z-index: 1;
}
#page-wasabi-machi .wasabi-map .wasabi-map-inner .map-btn a {
  font-family: "Noto Sans JP", sans-serif;
  justify-content: center;
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
}
@media (min-width: 751px) and (max-width: 1340px) {
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content {
    padding: min(58px, 15.4666666667vw) min(53px, 14.1333333333vw) min(120px, 32vw) min(24px, 6.4vw);
  }
}
@media (max-width: 750px) {
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .tip {
    width: min(300px, 80vw);
    font-size: min(13px, 3.4666666667vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .tip span {
    padding-inline: min(24px, 6.4vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .tip span::before, #page-wasabi-machi .wasabi-map .wasabi-map-inner .tip span::after {
    width: min(14px, 3.7333333333vw);
    height: min(9px, 2.4vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .os-scrollbar-horizontal {
    width: calc(100% - min(88px, 23.4666666667vw));
    bottom: min(88px, 23.4666666667vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap::before, #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap::after {
    width: min(20px, 5.3333333333vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content {
    width: min(713px, 190.1333333333vw);
    border: none;
    padding: min(46px, 12.2666666667vw) min(17px, 4.5333333333vw) min(99px, 26.4vw) min(14px, 3.7333333333vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk button {
    width: min(40px, 10.6666666667vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-shibata {
    width: min(42px, 11.2vw);
    top: min(162px, 43.2vw);
    left: min(394px, 105.0666666667vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-shibata button {
    top: max(-4px, -1.0666666667vw);
    left: min(25px, 6.6666666667vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-komajiro {
    width: min(38px, 10.1333333333vw);
    top: min(21px, 5.6vw);
    left: min(316px, 84.2666666667vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-komajiro button {
    top: min(4px, 1.0666666667vw);
    left: max(-29px, -7.7333333333vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-kuroyanagi {
    width: min(36px, 9.6vw);
    top: min(150px, 40vw);
    left: min(244px, 65.0666666667vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-kuroyanagi button {
    top: max(-11px, -2.9333333333vw);
    left: min(26px, 6.9333333333vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-miyake {
    width: min(48px, 12.8vw);
    top: min(50px, 13.3333333333vw);
    left: min(443px, 118.1333333333vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-miyake button {
    top: min(29px, 7.7333333333vw);
    left: max(-40px, -10.6666666667vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-sakura-bunta {
    width: min(55px, 14.6666666667vw);
    top: min(243px, 64.8vw);
    left: min(344px, 91.7333333333vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-sakura-bunta button {
    top: min(4px, 1.0666666667vw);
    left: min(59px, 15.7333333333vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-shiraishi {
    width: min(44px, 11.7333333333vw);
    top: min(324px, 86.4vw);
    left: min(352px, 93.8666666667vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-container .map-wrap .map-content .map-inner .map-char .char-blk.char-shiraishi button {
    top: max(-15px, -4vw);
    left: min(45px, 12vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-btn {
    max-width: min(290px, 77.3333333333vw);
    height: min(45px, 12vw);
    margin-top: max(-24px, -6.4vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-btn::before, #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-btn::after {
    width: min(110px, 29.3333333333vw);
    height: min(57px, 15.2vw);
    top: max(-49px, -13.0666666667vw);
  }
  #page-wasabi-machi .wasabi-map .wasabi-map-inner .map-btn a {
    font-size: min(14px, 3.7333333333vw);
  }
}
#page-wasabi-machi .wasabi-sns {
  width: 100%;
  padding-inline: min(30px, 8vw);
  padding-block: min(70px, 18.6666666667vw) min(160px, 42.6666666667vw);
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner {
  display: flex;
  align-items: center;
  gap: min(70px, 18.6666666667vw);
  width: 100%;
  max-width: min(915px, 244vw);
  margin-inline: auto;
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .anniversary-blk {
  width: calc(100% - min(530px, 141.3333333333vw));
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .anniversary-blk .img {
  width: 100%;
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .anniversary-blk .img img {
  width: 100%;
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk {
  width: min(460px, 122.6666666667vw);
  margin-top: min(14px, 3.7333333333vw);
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: min(35px, 9.3333333333vw);
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  background-color: #6B9555;
  border-radius: 100px;
  margin-bottom: min(25px, 6.6666666667vw);
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-txt {
  width: min(292px, 77.8666666667vw);
  margin-inline: auto;
  margin-bottom: min(15px, 4vw);
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-txt img {
  width: 100%;
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list {
  display: flex;
  gap: min(38px, 10.1333333333vw);
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li {
  width: min(122px, 32.5333333333vw);
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a {
  display: block;
  width: 100%;
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a .img-blk {
  width: 100%;
  margin-bottom: min(6px, 1.6vw);
  position: relative;
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a .img-blk .img {
  width: 100%;
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a .img-blk .img img {
  width: 100%;
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a .img-blk .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(46px, 12.2666666667vw);
  height: min(46px, 12.2666666667vw);
  background-color: #FFFFFF;
  border: 1px solid #3B2B1D;
  border-radius: 50%;
  position: absolute;
  bottom: 0;
  right: max(-18px, -4.8vw);
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a .img-blk .icon img {
  width: min(30px, 8vw);
}
#page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a .txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 2.7em;
  font-size: min(14px, 3.7333333333vw);
  line-height: 1.35;
  text-align: center;
}
@media (min-width: 751px) and (max-width: 860px) {
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner {
    display: block;
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .anniversary-blk {
    width: min(300px, 80vw);
    margin-inline: auto;
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk {
    margin-top: min(40px, 10.6666666667vw);
    margin-inline: auto;
  }
}
@media (max-width: 750px) {
  #page-wasabi-machi .wasabi-sns {
    padding-inline: min(20px, 5.3333333333vw);
    padding-block: min(40px, 10.6666666667vw) min(63px, 16.8vw);
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner {
    display: block;
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .anniversary-blk {
    width: min(250px, 66.6666666667vw);
    margin-inline: auto;
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk {
    width: 100%;
    max-width: min(460px, 122.6666666667vw);
    margin-top: min(30px, 8vw);
    margin-inline: auto;
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-ttl {
    height: min(30px, 8vw);
    font-size: min(13px, 3.4666666667vw);
    margin-bottom: min(15px, 4vw);
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-txt {
    width: min(226px, 60.2666666667vw);
    margin-bottom: min(10px, 2.6666666667vw);
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list {
    gap: 7.7611940299%;
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li {
    width: 26.8656716418%;
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a .img-blk {
    margin-bottom: min(3px, 0.8vw);
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a .img-blk .icon {
    width: min(33px, 8.8vw);
    height: min(33px, 8.8vw);
    right: max(-12px, -3.2vw);
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a .img-blk .icon img {
    width: min(21px, 5.6vw);
  }
  #page-wasabi-machi .wasabi-sns .wasabi-sns-inner .sns-blk .sns-list li a .txt {
    height: 2.8em;
    font-size: min(10px, 2.6666666667vw);
    line-height: 1.4;
  }
}
#page-wasabi-machi .wasabi-character {
  width: 100%;
  background-color: #FFFFFF;
  padding-inline: min(30px, 8vw);
  padding-block: min(70px, 18.6666666667vw) min(80px, 21.3333333333vw);
  position: relative;
}
#page-wasabi-machi .wasabi-character::before {
  content: "";
  display: block;
  width: 100%;
  height: min(100px, 26.6666666667vw);
  background-image: url("../img/wasabi_machi/divider_cloud_pc.png");
  background-size: min(294px, 78.4vw) 100%;
  background-position: center top;
  background-repeat: repeat-x;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(calc(-100% + 1px));
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner {
  width: 100%;
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-txt {
  width: 100%;
  max-width: min(413px, 110.1333333333vw);
  margin-inline: auto;
  margin-bottom: min(25px, 6.6666666667vw);
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap {
  width: 100%;
  position: relative;
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap::before {
  content: "";
  display: block;
  width: calc(100% + min(60px, 16vw));
  height: 47.9166666667vw;
  max-height: min(920px, 245.3333333333vw);
  background-color: #F3F7F4;
  position: absolute;
  top: 50%;
  left: max(-30px, -8vw);
  transform: translateY(-50%);
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap .char-list {
  display: flex;
  flex-wrap: wrap;
  gap: min(42px, 11.2vw);
  width: 100%;
  max-width: min(1280px, 341.3333333333vw);
  margin-inline: auto;
  margin-bottom: min(40px, 10.6666666667vw);
  position: relative;
  z-index: 1;
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap .char-list .char-blk {
  width: calc(50% - min(42px, 11.2vw) / 2);
  border-radius: min(20px, 5.3333333333vw);
  overflow: clip;
  box-shadow: min(3px, 0.8vw) min(3px, 0.8vw) min(6px, 1.6vw) rgba(223, 230, 223, 0.5);
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap .char-list .char-blk:last-of-type {
  width: 100%;
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap .char-list .char-blk button {
  display: block;
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap .char-list .char-blk button:hover {
  opacity: 1;
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap .char-list .char-blk button:hover img {
  transform: scale(1.07);
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap .char-list .char-blk button img {
  width: 100%;
  transition: all 700ms;
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-btn {
  width: 100%;
  max-width: min(320px, 85.3333333333vw);
  height: min(50px, 13.3333333333vw);
  margin-inline: auto;
}
#page-wasabi-machi .wasabi-character .wasabi-character-inner .char-btn a {
  font-family: "Noto Sans JP", sans-serif;
  justify-content: center;
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
}
@media (max-width: 750px) {
  #page-wasabi-machi .wasabi-character {
    padding-inline: min(20px, 5.3333333333vw);
    padding-block: min(36px, 9.6vw) min(40px, 10.6666666667vw);
  }
  #page-wasabi-machi .wasabi-character::before {
    height: min(25px, 6.6666666667vw);
    background-image: url("../img/wasabi_machi/divider_cloud_sp.png");
    background-size: min(108px, 28.8vw) 100%;
  }
  #page-wasabi-machi .wasabi-character .wasabi-character-inner .char-txt {
    max-width: min(327px, 87.2vw);
    margin-bottom: min(10px, 2.6666666667vw);
  }
  #page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap::before {
    width: calc(100% + min(40px, 10.6666666667vw));
    height: 238.6666666667vw;
    max-height: 100%;
    left: max(-20px, -5.3333333333vw);
  }
  #page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap .char-list {
    flex-direction: column;
    gap: min(15px, 4vw);
    margin-bottom: min(25px, 6.6666666667vw);
  }
  #page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap .char-list .char-blk {
    width: 100%;
    box-shadow: min(2px, 0.5333333333vw) min(2px, 0.5333333333vw) min(3px, 0.8vw) rgba(223, 230, 223, 0.5);
  }
  #page-wasabi-machi .wasabi-character .wasabi-character-inner .char-list-wrap .char-list .char-blk button:hover img {
    transform: scale(1);
  }
  #page-wasabi-machi .wasabi-character .wasabi-character-inner .char-btn {
    max-width: min(290px, 77.3333333333vw);
    height: min(45px, 12vw);
  }
  #page-wasabi-machi .wasabi-character .wasabi-character-inner .char-btn a {
    font-size: min(14px, 3.7333333333vw);
  }
}
#page-wasabi-machi .wasabi-licensee {
  width: 100%;
  background-color: #FAFAFA;
  padding-inline: min(30px, 8vw);
  padding-block: min(80px, 21.3333333333vw);
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner {
  width: 100%;
  max-width: min(915px, 244vw);
  margin-inline: auto;
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .img-blk {
  width: 100%;
  margin-bottom: min(34px, 9.0666666667vw);
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .img-blk .img {
  width: 100%;
  max-width: min(600px, 160vw);
  margin-inline: auto;
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .img-blk .img img {
  width: 100%;
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .txt-blk {
  display: flex;
  flex-direction: column;
  gap: min(22px, 5.8666666667vw);
  margin-bottom: min(40px, 10.6666666667vw);
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .txt-blk p {
  text-align: center;
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .txt-blk p.txt {
  font-size: min(16px, 4.2666666667vw);
  line-height: 1.6;
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .txt-blk p.txt-small {
  font-size: min(14px, 3.7333333333vw);
  line-height: 1.86;
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .btn-blk {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .btn-blk::before {
  content: "";
  display: block;
  width: min(130px, 34.6666666667vw);
  height: min(118px, 31.4666666667vw);
  background-image: url("../img/wasabi_machi/licensee_char_pc.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  bottom: max(-23px, -6.1333333333vw);
  right: max(-148px, -39.4666666667vw);
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .btn-blk .licensee-btn {
  width: min(420px, 112vw);
  height: min(50px, 13.3333333333vw);
  margin-inline: auto;
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .btn-blk .licensee-btn a {
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
  background-image: url("../img/common/icon_mail.png");
  background-repeat: no-repeat;
  background-position: left min(54px, 14.4vw) center;
  background-size: min(30px, 8vw) min(30px, 8vw);
  padding-inline: min(90px, 24vw) 0;
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .btn-blk .licensee-btn a:hover {
  background-image: url("../img/common/icon_mail_reverse.png");
}
#page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .btn-blk .note {
  font-size: min(10px, 2.6666666667vw);
  text-align: center;
  margin-top: min(10px, 2.6666666667vw);
}
@media (max-width: 750px) {
  #page-wasabi-machi .wasabi-licensee {
    padding-inline: min(20px, 5.3333333333vw);
    padding-block: min(40px, 10.6666666667vw);
  }
  #page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .img-blk {
    margin-bottom: min(15px, 4vw);
  }
  #page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .img-blk .img {
    max-width: min(285px, 76vw);
  }
  #page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .txt-blk {
    gap: min(23px, 6.1333333333vw);
    margin-bottom: min(10px, 2.6666666667vw);
  }
  #page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .txt-blk p {
    text-align: left;
  }
  #page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .txt-blk p.txt {
    font-size: min(14px, 3.7333333333vw);
    line-height: 1.72;
  }
  #page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .txt-blk p.txt-small {
    font-size: min(13px, 3.4666666667vw);
  }
  #page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .btn-blk::before {
    width: min(164px, 43.7333333333vw);
    height: min(84px, 22.4vw);
    background-image: url("../img/wasabi_machi/licensee_char_sp.png");
    position: static;
    margin-inline: auto;
    margin-bottom: min(10px, 2.6666666667vw);
  }
  #page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .btn-blk .licensee-btn {
    width: min(335px, 89.3333333333vw);
    height: min(45px, 12vw);
  }
  #page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .btn-blk .licensee-btn a {
    font-size: min(14px, 3.7333333333vw);
    background-position: left min(30px, 8vw) center;
    background-size: min(25px, 6.6666666667vw) min(25px, 6.6666666667vw);
    padding-inline: min(60px, 16vw) 0;
  }
  #page-wasabi-machi .wasabi-licensee .wasabi-licensee-inner .btn-blk .licensee-btn a:hover {
    background-image: url("../img/common/icon_mail.png");
  }
}
#page-wasabi-machi .wasabi-modal {
  width: 100%;
  height: 100dvh;
  background-color: rgba(243, 247, 244, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: all 300ms;
}
#page-wasabi-machi .wasabi-modal.is-visible {
  opacity: 1;
  pointer-events: auto;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-block: min(60px, 16vw);
  padding-inline: min(40px, 10.6666666667vw);
  overflow-y: scroll;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner {
  width: 100%;
  max-width: min(600px, 160vw);
  margin-block: auto;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .close-icon {
  width: min(30px, 8vw);
  height: min(30px, 8vw);
  margin-bottom: min(9px, 2.4vw);
  margin-left: auto;
  transform: translateX(100%);
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .close-icon button {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .close-icon button::before, #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .close-icon button::after {
  content: "";
  display: block;
  width: 100%;
  height: min(2px, 0.5333333333vw);
  background-color: #2A1809;
  border-radius: 100px;
  position: absolute;
  top: 50%;
  left: 50%;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .close-icon button::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .close-icon button::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content {
  width: 100%;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk {
  width: 100%;
  display: none;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk.is-visible {
  display: block;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-img {
  width: 100%;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-img img {
  width: 100%;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns {
  width: 100%;
  border-radius: 0 0 min(30px, 8vw) min(30px, 8vw);
  padding-block: min(53px, 14.1333333333vw) min(30px, 8vw);
  padding-inline: min(30px, 8vw);
  position: relative;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns::before {
  content: "";
  display: block;
  width: calc(100% - min(60px, 16vw));
  height: min(18px, 4.8vw);
  background-image: url("../img/common/line.png");
  background-size: min(160px, 42.6666666667vw) min(18px, 4.8vw);
  background-position: left top;
  background-repeat: repeat-x;
  position: absolute;
  top: min(20px, 5.3333333333vw);
  left: min(30px, 8vw);
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a {
  display: flex;
  align-items: center;
  gap: min(33px, 8.8vw);
  width: min(277px, 73.8666666667vw);
  margin-inline: auto;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a .img-blk {
  width: min(122px, 32.5333333333vw);
  position: relative;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a .img-blk .img {
  width: 100%;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a .img-blk .img img {
  width: 100%;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a .img-blk .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(46px, 12.2666666667vw);
  height: min(46px, 12.2666666667vw);
  background-color: #FFFFFF;
  border: 1px solid #3B2B1D;
  border-radius: 50%;
  position: absolute;
  bottom: 0;
  right: max(-18px, -4.8vw);
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a .img-blk .icon img {
  width: min(30px, 8vw);
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a .txt {
  width: calc(100% - min(155px, 41.3333333333vw));
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk#modal-nekomanju .modal-sns {
  background-color: #E3E0D7;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk#modal-taachan .modal-sns {
  background-color: #F2E0DE;
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .close-btn {
  width: min(200px, 53.3333333333vw);
  height: min(40px, 10.6666666667vw);
  margin-inline: auto;
  margin-top: min(30px, 8vw);
}
#page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .close-btn button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  border: 1px solid #2A1809;
  border-radius: 100px;
  font-size: min(14px, 3.7333333333vw);
  font-weight: 500;
}
@media (max-width: 750px) {
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap {
    padding-block: min(65px, 17.3333333333vw);
    padding-inline: min(10px, 2.6666666667vw);
    overflow-y: scroll;
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .close-icon {
    width: min(28px, 7.4666666667vw);
    height: min(28px, 7.4666666667vw);
    margin-bottom: min(11px, 2.9333333333vw);
    transform: translateX(0);
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content {
    width: 100%;
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk {
    width: 100%;
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-img {
    width: 100%;
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-img img {
    width: 100%;
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns {
    padding-block: min(48px, 12.8vw) min(30px, 8vw);
    padding-inline: min(28px, 7.4666666667vw);
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns::before {
    width: calc(100% - min(56px, 14.9333333333vw));
    left: min(28px, 7.4666666667vw);
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a {
    gap: min(27px, 7.2vw);
    width: min(231px, 61.6vw);
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a .img-blk {
    width: min(90px, 24vw);
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a .img-blk .icon {
    width: min(33px, 8.8vw);
    height: min(33px, 8.8vw);
    right: max(-12px, -3.2vw);
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a .img-blk .icon img {
    width: min(21px, 5.6vw);
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .modal-content .modal-blk .modal-sns a .txt {
    width: calc(100% - min(117px, 31.2vw));
    font-size: min(15px, 4vw);
  }
  #page-wasabi-machi .wasabi-modal .wasabi-modal-wrap .wasabi-modal-inner .close-btn {
    margin-top: min(20px, 5.3333333333vw);
  }
}

#page-privacy-policy {
  width: 100%;
  max-width: min(975px, 260vw);
  padding-inline: min(30px, 8vw);
  margin-inline: auto;
  margin-bottom: min(100px, 26.6666666667vw);
}
@media (max-width: 750px) {
  #page-privacy-policy {
    max-width: 100%;
    padding-inline: min(20px, 5.3333333333vw);
    margin-bottom: min(60px, 16vw);
  }
}
#page-privacy-policy .privecy-policy {
  display: flex;
  flex-direction: column;
  gap: min(60px, 16vw);
}
#page-privacy-policy .privecy-policy .privacy-policy-blk {
  width: 100%;
}
#page-privacy-policy .privecy-policy .privacy-policy-blk h2 {
  width: 100%;
  font-size: min(20px, 5.3333333333vw);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #313131;
  background-color: #F3F7F4;
  padding-inline: min(20px, 5.3333333333vw);
  padding-block: min(10px, 2.6666666667vw);
  margin-bottom: min(15px, 4vw);
}
#page-privacy-policy .privecy-policy .privacy-policy-blk h3 {
  width: 100%;
  font-size: min(18px, 4.8vw);
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #313131;
  margin-block: min(30px, 8vw) min(10px, 2.6666666667vw);
}
#page-privacy-policy .privecy-policy .privacy-policy-blk p {
  font-size: min(16px, 4.2666666667vw);
  line-height: 1.6;
}
#page-privacy-policy .privecy-policy .privacy-policy-blk p a {
  text-decoration: underline;
}
#page-privacy-policy .privecy-policy .privacy-policy-blk ul.list-num {
  padding-left: 2.5em;
}
#page-privacy-policy .privecy-policy .privacy-policy-blk ul.list-num li {
  text-indent: -2.5em;
  font-size: min(16px, 4.2666666667vw);
  line-height: 1.6;
}
#page-privacy-policy .privecy-policy .privacy-policy-blk ul.list-disc {
  padding-left: 1em;
}
#page-privacy-policy .privecy-policy .privacy-policy-blk ul.list-disc li {
  list-style: disc;
  font-size: min(16px, 4.2666666667vw);
  line-height: 1.6;
}
@media (max-width: 750px) {
  #page-privacy-policy .privecy-policy {
    gap: min(30px, 8vw);
  }
  #page-privacy-policy .privecy-policy .privacy-policy-blk h2 {
    font-size: min(18px, 4.8vw);
    padding-inline: min(10px, 2.6666666667vw);
    padding-block: min(7px, 1.8666666667vw);
    margin-bottom: min(12px, 3.2vw);
  }
  #page-privacy-policy .privecy-policy .privacy-policy-blk h3 {
    font-size: min(16px, 4.2666666667vw);
    margin-block: min(20px, 5.3333333333vw) min(10px, 2.6666666667vw);
  }
  #page-privacy-policy .privecy-policy .privacy-policy-blk p {
    font-size: min(14px, 3.7333333333vw);
  }
  #page-privacy-policy .privecy-policy .privacy-policy-blk ul.list-num li {
    font-size: min(14px, 3.7333333333vw);
  }
  #page-privacy-policy .privecy-policy .privacy-policy-blk ul.list-disc li {
    font-size: min(14px, 3.7333333333vw);
  }
}

#post-detail .page-content {
  width: 100%;
  max-width: min(975px, 260vw);
  padding-inline: min(30px, 8vw);
  margin-inline: auto;
  margin-bottom: min(60px, 16vw);
}
@media (max-width: 750px) {
  #post-detail .page-content {
    max-width: 100%;
    padding-inline: min(20px, 5.3333333333vw);
    margin-bottom: min(35px, 9.3333333333vw);
  }
}
#post-detail .page-content .dynamic-content {
  margin-bottom: min(30px, 8vw);
}
#post-detail .page-content .dynamic-content .post-category {
  display: flex;
  flex-wrap: wrap;
  gap: min(5px, 1.3333333333vw);
  margin-bottom: min(15px, 4vw);
}
#post-detail .page-content .dynamic-content .post-category a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: min(14px, 3.7333333333vw);
  font-weight: 500;
  line-height: 1.4;
  color: #FFFFFF;
  background-color: #6B9374;
  border-radius: 100px;
  padding-block: min(4px, 1.0666666667vw);
  padding-inline: min(20px, 5.3333333333vw);
}
#post-detail .page-content .dynamic-content .post-category a.news {
  background-color: #6B9374;
}
#post-detail .page-content .dynamic-content .post-category a.info {
  background-color: #BE8851;
}
#post-detail .page-content .dynamic-content .post-category a.event {
  background-color: #64798E;
}
#post-detail .page-content .dynamic-content .post-category a.media {
  background-color: #BC7272;
}
#post-detail .page-content .dynamic-content .post-category a.exhibition {
  background-color: #A8924A;
}
#post-detail .page-content .dynamic-content .post-date {
  display: block;
  font-size: min(14px, 3.7333333333vw);
}
#post-detail .page-content .dynamic-content .post-ttl {
  font-size: min(24px, 6.4vw);
  font-weight: 500;
  margin-bottom: min(20px, 5.3333333333vw);
}
#post-detail .page-content .dynamic-content .post-thumbnail {
  width: 100%;
}
#post-detail .page-content .dynamic-content .post-thumbnail img {
  width: 100%;
}
@media (max-width: 750px) {
  #post-detail .page-content .dynamic-content {
    margin-bottom: min(20px, 5.3333333333vw);
  }
  #post-detail .page-content .dynamic-content .post-category {
    margin-bottom: min(12px, 3.2vw);
  }
  #post-detail .page-content .dynamic-content .post-category a {
    font-size: min(11px, 2.9333333333vw);
    padding-block: min(1px, 0.2666666667vw) min(3px, 0.8vw);
    padding-inline: min(12px, 3.2vw);
  }
  #post-detail .page-content .dynamic-content .post-date {
    font-size: min(12px, 3.2vw);
    margin-bottom: min(2px, 0.5333333333vw);
  }
  #post-detail .page-content .dynamic-content .post-ttl {
    font-size: min(20px, 5.3333333333vw);
    line-height: 1.4;
    margin-bottom: min(15px, 4vw);
  }
}
#post-detail .page-content .post-content p {
  font-size: min(16px, 4.2666666667vw);
  margin-block: min(30px, 8vw);
}
#post-detail .page-content .post-content .wp-block-heading {
  font-weight: 500;
}
#post-detail .page-content .post-content h2 {
  font-size: min(20px, 5.3333333333vw);
  margin-block: min(60px, 16vw) min(30px, 8vw);
}
#post-detail .page-content .post-content h3 {
  font-size: min(18px, 4.8vw);
  margin-block: min(30px, 8vw);
}
#post-detail .page-content .post-content .wp-block-image {
  max-width: min(795px, 212vw);
  margin-inline: auto;
}
#post-detail .page-content .post-content .wp-block-image img {
  margin-inline: auto;
}
#post-detail .page-content .post-content .wp-block-buttons {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: min(20px, 5.3333333333vw);
  margin-block: min(30px, 8vw);
}
#post-detail .page-content .post-content .wp-block-buttons .wp-block-button {
  display: block;
}
#post-detail .page-content .post-content .wp-block-buttons .wp-block-button a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  font-size: min(18px, 4.8vw);
  font-weight: 500;
  color: #615034;
  background-color: transparent;
  border-bottom: 1px solid #615034;
  border-radius: 0;
  padding: 0 min(23px, 6.1333333333vw) 0 0;
  position: relative;
}
#post-detail .page-content .post-content .wp-block-buttons .wp-block-button a::after {
  content: "";
  display: block;
  width: min(13px, 3.4666666667vw);
  height: min(12px, 3.2vw);
  background-image: url("../img/common/arrow_right_brown.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(50% + min(1px, 0.2666666667vw));
  right: 0;
  transform: translateY(-50%);
}
@media (max-width: 750px) {
  #post-detail .page-content .post-content p {
    font-size: min(14px, 3.7333333333vw);
    margin-block: min(20px, 5.3333333333vw);
  }
  #post-detail .page-content .post-content h2 {
    font-size: min(16px, 4.2666666667vw);
    margin-block: min(40px, 10.6666666667vw) min(20px, 5.3333333333vw);
  }
  #post-detail .page-content .post-content h3 {
    font-size: min(14px, 3.7333333333vw);
    margin-block: min(20px, 5.3333333333vw);
  }
  #post-detail .page-content .post-content .wp-block-image {
    max-width: 100%;
    padding-inline: min(25px, 6.6666666667vw);
  }
  #post-detail .page-content .post-content .wp-block-buttons {
    gap: min(15px, 4vw);
    margin-block: min(25px, 6.6666666667vw);
  }
  #post-detail .page-content .post-content .wp-block-buttons .wp-block-button a {
    font-size: min(16px, 4.2666666667vw);
    padding: 0 min(21px, 5.6vw) 0 0;
  }
  #post-detail .page-content .post-content .wp-block-buttons .wp-block-button a::after {
    width: min(11px, 2.9333333333vw);
    height: min(10px, 2.6666666667vw);
  }
}
#post-detail .post-back-btn {
  width: 100%;
  max-width: min(320px, 85.3333333333vw);
  height: min(50px, 13.3333333333vw);
  margin-inline: auto;
  margin-bottom: min(80px, 21.3333333333vw);
}
#post-detail .post-back-btn a {
  justify-content: center;
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
}
#post-detail .post-back-btn a::after {
  right: auto;
  left: min(12px, 3.2vw);
  transform: translateY(-50%) rotate(180deg);
}
@media (max-width: 750px) {
  #post-detail .post-back-btn {
    max-width: min(290px, 77.3333333333vw);
    height: min(45px, 12vw);
    margin-bottom: min(40px, 10.6666666667vw);
  }
  #post-detail .post-back-btn a {
    font-size: min(14px, 3.7333333333vw);
  }
  #post-detail .post-back-btn a::after {
    left: min(14px, 3.7333333333vw);
  }
}

.related-posts {
  width: 100%;
  max-width: min(975px, 260vw);
  padding-inline: min(30px, 8vw);
  margin-inline: auto;
  margin-bottom: min(100px, 26.6666666667vw);
}
.related-posts .related-posts-ttl {
  width: 100%;
  font-size: min(20px, 5.3333333333vw);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #313131;
  background-color: #F3F7F4;
  padding-inline: min(20px, 5.3333333333vw);
  padding-block: min(10px, 2.6666666667vw);
  margin-bottom: min(20px, 5.3333333333vw);
}
.related-posts .related-posts-list {
  display: flex;
  flex-wrap: wrap;
  gap: min(20px, 5.3333333333vw) min(29px, 7.7333333333vw);
  width: 100%;
}
.related-posts .related-posts-list .related-item {
  width: calc(50% - min(29px, 7.7333333333vw) / 2);
}
.related-posts .related-posts-list .related-item a {
  display: flex;
  align-items: center;
  gap: 4.5146726862%;
}
.related-posts .related-posts-list .related-item a .img-blk {
  width: 34.5372460497%;
  aspect-ratio: 153/102;
  overflow: hidden;
}
.related-posts .related-posts-list .related-item a .img-blk img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.related-posts .related-posts-list .related-item a .txt-blk {
  width: 60.9480812641%;
}
.related-posts .related-posts-list .related-item a .txt-blk time {
  display: block;
  font-size: min(14px, 3.7333333333vw);
  margin-bottom: min(3px, 0.8vw);
}
.related-posts .related-posts-list .related-item a .txt-blk p {
  font-size: min(15px, 4vw);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 750px) {
  .related-posts {
    max-width: 100%;
    padding-inline: min(20px, 5.3333333333vw);
    margin-bottom: min(60px, 16vw);
  }
  .related-posts .related-posts-ttl {
    font-size: min(18px, 4.8vw);
    padding-inline: min(10px, 2.6666666667vw);
    padding-block: min(7px, 1.8666666667vw);
    margin-bottom: min(15px, 4vw);
  }
  .related-posts .related-posts-list {
    flex-direction: column;
    gap: min(15px, 4vw);
  }
  .related-posts .related-posts-list .related-item {
    width: 100%;
  }
  .related-posts .related-posts-list .related-item a {
    gap: 4.4776119403%;
  }
  .related-posts .related-posts-list .related-item a .img-blk {
    width: 40.2985074627%;
  }
  .related-posts .related-posts-list .related-item a .txt-blk {
    width: 55.223880597%;
  }
  .related-posts .related-posts-list .related-item a .txt-blk time {
    font-size: min(14px, 3.7333333333vw);
    margin-bottom: min(2px, 0.5333333333vw);
  }
  .related-posts .related-posts-list .related-item a .txt-blk p {
    font-size: min(13px, 3.4666666667vw);
    -webkit-line-clamp: 2;
  }
}

#post-list .page-content {
  width: 100%;
  max-width: min(1340px, 357.3333333333vw);
  padding-inline: min(30px, 8vw);
  margin-inline: auto;
  margin-bottom: min(100px, 26.6666666667vw);
}
@media (max-width: 750px) {
  #post-list .page-content {
    max-width: 100%;
    padding-inline: min(20px, 5.3333333333vw);
    margin-bottom: min(60px, 16vw);
  }
}
#post-list .page-content .post-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(15px, 4vw);
  margin-bottom: min(60px, 16vw);
}
#post-list .page-content .post-filter a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: min(14px, 3.7333333333vw);
  font-weight: 500;
  line-height: 1.4;
  color: #969696;
  background-color: #FFFFFF;
  border: 1px solid #969696;
  border-radius: 100px;
  padding-block: min(4px, 1.0666666667vw);
  padding-inline: min(20px, 5.3333333333vw);
}
#post-list .page-content .post-filter a.is-active {
  color: #FFFFFF;
}
#post-list .page-content .post-filter a.is-active.news {
  background-color: #6B9374;
  border: 1px solid #6B9374;
}
#post-list .page-content .post-filter a.is-active.info {
  background-color: #BE8851;
  border: 1px solid #BE8851;
}
#post-list .page-content .post-filter a.is-active.event {
  background-color: #64798E;
  border: 1px solid #64798E;
}
#post-list .page-content .post-filter a.is-active.media {
  background-color: #BC7272;
  border: 1px solid #BC7272;
}
#post-list .page-content .post-filter a.is-active.exhibition {
  background-color: #A8924A;
  border: 1px solid #A8924A;
}
@media (max-width: 750px) {
  #post-list .page-content .post-filter {
    gap: min(10px, 2.6666666667vw);
    margin-bottom: min(30px, 8vw);
  }
}
#post-list .page-content .post-list {
  width: 100%;
  margin-bottom: min(60px, 16vw);
}
#post-list .page-content .post-list .list-item {
  width: 100%;
}
#post-list .page-content .post-list .list-item::after {
  content: "";
  display: block;
  width: 100%;
  height: min(18px, 4.8vw);
  background-image: url("../img/common/line.png");
  background-size: min(160px, 42.6666666667vw) min(18px, 4.8vw);
  background-position: left top;
  background-repeat: repeat-x;
}
#post-list .page-content .post-list .list-item:first-of-type::before {
  content: "";
  display: block;
  width: 100%;
  height: min(18px, 4.8vw);
  background-image: url("../img/common/line.png");
  background-size: min(160px, 42.6666666667vw) min(18px, 4.8vw);
  background-position: left top;
  background-repeat: repeat-x;
}
#post-list .page-content .post-list .list-item a {
  display: block;
  width: 100%;
  padding-inline: min(40px, 10.6666666667vw) min(53px, 14.1333333333vw);
  padding-block: min(25px, 6.6666666667vw);
  position: relative;
}
#post-list .page-content .post-list .list-item a::after {
  content: "";
  display: block;
  width: min(13px, 3.4666666667vw);
  height: min(12px, 3.2vw);
  background-image: url("../img/common/arrow_right_brown.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: min(20px, 5.3333333333vw);
  transform: translateY(-50%);
}
#post-list .page-content .post-list .list-item a .post-info {
  display: flex;
  align-items: center;
  gap: min(15px, 4vw);
  margin-bottom: min(10px, 2.6666666667vw);
}
#post-list .page-content .post-list .list-item a .post-info .post-category {
  display: flex;
  flex-wrap: wrap;
  gap: min(5px, 1.3333333333vw);
}
#post-list .page-content .post-list .list-item a .post-info .post-category li {
  width: -moz-fit-content;
  width: fit-content;
  font-size: min(14px, 3.7333333333vw);
  font-weight: 500;
  line-height: 1.4;
  color: #FFFFFF;
  background-color: #6B9374;
  border-radius: 100px;
  padding-block: min(4px, 1.0666666667vw);
  padding-inline: min(20px, 5.3333333333vw);
}
#post-list .page-content .post-list .list-item a .post-info .post-category li.news {
  background-color: #6B9374;
}
#post-list .page-content .post-list .list-item a .post-info .post-category li.info {
  background-color: #BE8851;
}
#post-list .page-content .post-list .list-item a .post-info .post-category li.event {
  background-color: #64798E;
}
#post-list .page-content .post-list .list-item a .post-info .post-category li.media {
  background-color: #BC7272;
}
#post-list .page-content .post-list .list-item a .post-info .post-category li.exhibition {
  background-color: #A8924A;
}
#post-list .page-content .post-list .list-item a .post-info .post-date {
  display: block;
  font-size: min(16px, 4.2666666667vw);
}
#post-list .page-content .post-list .list-item a .post-ttl {
  font-size: min(18px, 4.8vw);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 750px) {
  #post-list .page-content .post-list {
    margin-bottom: min(40px, 10.6666666667vw);
  }
  #post-list .page-content .post-list .list-item a {
    padding-inline: 0 min(35px, 9.3333333333vw);
    padding-block: min(10px, 2.6666666667vw);
  }
  #post-list .page-content .post-list .list-item a::after {
    width: min(11px, 2.9333333333vw);
    height: min(10px, 2.6666666667vw);
    right: 0;
  }
  #post-list .page-content .post-list .list-item a .post-info {
    gap: min(5px, 1.3333333333vw);
    margin-bottom: min(8px, 2.1333333333vw);
  }
  #post-list .page-content .post-list .list-item a .post-info .post-category li {
    font-size: min(10px, 2.6666666667vw);
    padding-block: min(3px, 0.8vw);
    padding-inline: min(12px, 3.2vw);
  }
  #post-list .page-content .post-list .list-item a .post-info .post-date {
    font-size: min(14px, 3.7333333333vw);
  }
  #post-list .page-content .post-list .list-item a .post-ttl {
    font-size: min(14px, 3.7333333333vw);
    white-space: wrap;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
#post-list .page-content .pagination {
  display: flex;
  justify-content: center;
  gap: min(10px, 2.6666666667vw);
}
#post-list .page-content .pagination a,
#post-list .page-content .pagination span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: min(18px, 4.8vw);
  padding-inline: min(6px, 1.6vw);
}
#post-list .page-content .pagination a.current,
#post-list .page-content .pagination span.current {
  font-weight: 500;
}
#post-list .page-content .pagination a.prev,
#post-list .page-content .pagination span.prev {
  padding-left: min(17px, 4.5333333333vw);
  position: relative;
}
#post-list .page-content .pagination a.prev::before,
#post-list .page-content .pagination span.prev::before {
  content: "";
  display: block;
  width: min(9px, 2.4vw);
  height: min(16px, 4.2666666667vw);
  background-image: url("../img/common/arrow_right_single_black.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(50% + min(2px, 0.5333333333vw));
  left: 0;
  transform: translateY(-50%) rotate(180deg);
}
#post-list .page-content .pagination a.next,
#post-list .page-content .pagination span.next {
  padding-right: min(17px, 4.5333333333vw);
  position: relative;
}
#post-list .page-content .pagination a.next::before,
#post-list .page-content .pagination span.next::before {
  content: "";
  display: block;
  width: min(9px, 2.4vw);
  height: min(16px, 4.2666666667vw);
  background-image: url("../img/common/arrow_right_single_black.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: calc(50% + min(2px, 0.5333333333vw));
  right: 0;
  transform: translateY(-50%);
}
@media (max-width: 750px) {
  #post-list .page-content .pagination {
    gap: min(10px, 2.6666666667vw);
  }
  #post-list .page-content .pagination a,
  #post-list .page-content .pagination span {
    font-size: min(16px, 4.2666666667vw);
    padding-inline: min(5px, 1.3333333333vw);
  }
  #post-list .page-content .pagination a.prev::before,
  #post-list .page-content .pagination span.prev::before {
    top: calc(50% + min(1px, 0.2666666667vw));
  }
  #post-list .page-content .pagination a.next::before,
  #post-list .page-content .pagination span.next::before {
    top: calc(50% + min(1px, 0.2666666667vw));
  }
}

#page-contact {
  width: 100%;
  max-width: min(975px, 260vw);
  padding-inline: min(30px, 8vw);
  margin-inline: auto;
  margin-bottom: min(30px, 8vw);
}
@media (max-width: 750px) {
  #page-contact {
    max-width: 100%;
    padding-inline: min(20px, 5.3333333333vw);
    margin-bottom: min(25px, 6.6666666667vw);
  }
}
#page-contact .time {
  font-size: min(18px, 4.8vw);
}
@media (max-width: 750px) {
  #page-contact .time {
    font-size: min(16px, 4.2666666667vw);
  }
}
#page-contact .note {
  font-size: min(14px, 3.7333333333vw);
}
@media (max-width: 750px) {
  #page-contact .note {
    font-size: min(13px, 3.4666666667vw);
  }
}
#page-contact .txt {
  font-size: min(16px, 4.2666666667vw);
  margin-top: 1.6em;
}
@media (max-width: 750px) {
  #page-contact .txt {
    font-size: min(14px, 3.7333333333vw);
  }
}
#page-contact .red {
  font-weight: 600;
  color: #C3552E;
}

.snow-monkey-form {
  width: 100%;
  max-width: min(975px, 260vw);
  padding-inline: min(30px, 8vw);
  margin-inline: auto;
  margin-bottom: min(100px, 26.6666666667vw);
}
@media (max-width: 750px) {
  .snow-monkey-form {
    max-width: 100%;
    padding-inline: min(20px, 5.3333333333vw);
    margin-bottom: min(60px, 16vw);
  }
}
.snow-monkey-form .smf-form:has(input[value=法人]:checked) .smf-item:has(.company-only) {
  display: block;
}
.snow-monkey-form .smf-form .smf-item {
  margin-bottom: min(60px, 16vw);
}
.snow-monkey-form .smf-form .smf-item:has(.company-only) {
  display: none;
}
.snow-monkey-form .smf-form .smf-item .smf-item__col--label .smf-item__label {
  display: block;
  width: 100%;
  font-size: min(20px, 5.3333333333vw);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #313131;
  background-color: #F3F7F4;
  padding-inline: min(20px, 5.3333333333vw);
  padding-block: min(10px, 2.6666666667vw);
  margin-bottom: min(15px, 4vw);
}
.snow-monkey-form .smf-form .smf-item .smf-item__col--label .smf-item__label .smf-item__label__text {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.snow-monkey-form .smf-form .smf-item .smf-item__col--label:has(+ .smf-item__col--controls *[data-validations*=required]) .smf-item__label .smf-item__label__text::after {
  content: "必須";
  display: inline-block;
  font-size: 0.6em;
  line-height: 1;
  color: #FFFFFF;
  background-color: #C3552E;
  border-radius: min(2px, 0.5333333333vw);
  padding: 0.3em 0.5em;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) translateX(calc(100% + 0.8em));
}
.snow-monkey-form .smf-form .smf-item .smf-item__col--controls .smf-item__controls input[type=text], .snow-monkey-form .smf-form .smf-item .smf-item__col--controls .smf-item__controls input[type=email], .snow-monkey-form .smf-form .smf-item .smf-item__col--controls .smf-item__controls input[type=tel] {
  width: 100%;
  height: min(50px, 13.3333333333vw);
  border: 1px solid #C4C4C4;
  border-radius: min(10px, 2.6666666667vw);
  padding: 0 1em;
}
.snow-monkey-form .smf-form .smf-item .smf-item__col--controls .smf-item__controls textarea {
  width: 100%;
  min-height: min(50px, 13.3333333333vw);
  border: 1px solid #C4C4C4;
  border-radius: min(10px, 2.6666666667vw);
  padding: 0.75em 1em;
}
.snow-monkey-form .smf-form .smf-item .smf-item__col--controls .smf-item__controls .smf-control-description {
  font-size: min(16px, 4.2666666667vw);
  margin-top: min(15px, 4vw);
}
@media (max-width: 750px) {
  .snow-monkey-form .smf-form .smf-item {
    margin-bottom: min(30px, 8vw);
  }
  .snow-monkey-form .smf-form .smf-item .smf-item__col--label .smf-item__label {
    font-size: min(18px, 4.8vw);
    padding-inline: min(10px, 2.6666666667vw);
    padding-block: min(7px, 1.8666666667vw);
    margin-bottom: min(12px, 3.2vw);
  }
  .snow-monkey-form .smf-form .smf-item .smf-item__col--controls .smf-item__controls input[type=text], .snow-monkey-form .smf-form .smf-item .smf-item__col--controls .smf-item__controls input[type=email], .snow-monkey-form .smf-form .smf-item .smf-item__col--controls .smf-item__controls input[type=tel] {
    height: min(45px, 12vw);
  }
  .snow-monkey-form .smf-form .smf-item .smf-item__col--controls .smf-item__controls textarea {
    min-height: min(45px, 12vw);
  }
  .snow-monkey-form .smf-form .smf-item .smf-item__col--controls .smf-item__controls .smf-control-description {
    font-size: min(14px, 3.7333333333vw);
    margin-top: min(12px, 3.2vw);
  }
}
.snow-monkey-form .smf-action .smf-button-control {
  display: block;
  width: min(320px, 85.3333333333vw);
  height: min(50px, 13.3333333333vw);
  margin-inline: auto;
}
.snow-monkey-form .smf-action .smf-button-control .smf-button-control__control {
  font-family: "Roboto Slab", "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: min(16px, 4.2666666667vw);
  font-weight: 500;
  color: #FFFFFF;
  background-image: none;
  background-color: #615034;
  border: 1px solid #615034;
  border-radius: 100px;
  padding: 0;
  position: relative;
  transition: all 300ms;
}
.snow-monkey-form .smf-action .smf-button-control .smf-button-control__control::after {
  content: "";
  display: block;
  width: min(11px, 2.9333333333vw);
  height: min(10px, 2.6666666667vw);
  background-image: url("../img/common/arrow_right_white.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: min(10px, 2.6666666667vw);
  transform: translateY(-50%);
  transition: all 300ms;
}
.snow-monkey-form .smf-action .smf-button-control .smf-button-control__control:hover {
  opacity: 1;
  color: #615034;
  background-color: #FFFFFF;
}
.snow-monkey-form .smf-action .smf-button-control .smf-button-control__control:hover::after {
  background-image: url("../img/common/arrow_right_black.png");
}
@media (max-width: 750px) {
  .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control {
    font-size: min(14px, 3.7333333333vw);
  }
  .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control:hover {
    color: #FFFFFF;
    background-color: #615034;
  }
  .snow-monkey-form .smf-action .smf-button-control .smf-button-control__control:hover::after {
    background-image: url("../img/common/arrow_right_white.png");
  }
}
@media (max-width: 750px) {
  .snow-monkey-form .smf-action .smf-button-control {
    max-width: min(290px, 77.3333333333vw);
    height: min(45px, 12vw);
  }
}
.snow-monkey-form[data-screen=confirm] .smf-form .smf-item:has(input[name=contact_affiliation][value=個人]) ~ .smf-item:has(input[name=contact_company]), .snow-monkey-form[data-screen=confirm] .smf-form .smf-item:has(input[name=contact_affiliation][value=個人]) ~ .smf-item:has(input[name=contact_company_url]) {
  display: none;
}
.snow-monkey-form[data-screen=confirm] .smf-form .smf-item .smf-item__col--label:has(+ .smf-item__col--controls *[data-validations*=required]) .smf-item__label .smf-item__label__text::after {
  content: none;
}
.snow-monkey-form[data-screen=confirm] .smf-action {
  display: flex;
  justify-content: center;
  gap: min(30px, 8vw);
}
.snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control {
  margin-inline: 0;
}
.snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control button[data-action=back]::after {
  right: auto;
  left: min(10px, 2.6666666667vw);
  transform: translateY(-50%) rotate(180deg);
}
.snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control button[data-action=complete] {
  background-color: #C3552E;
  border: 1px solid #C3552E;
}
.snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control button[data-action=complete]:hover {
  color: #C3552E;
  background-color: #FFFFFF;
}
.snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control button[data-action=complete]:hover::after {
  background-image: url("../img/common/arrow_right_red.png");
}
@media (max-width: 750px) {
  .snow-monkey-form[data-screen=confirm] .smf-action {
    flex-direction: column;
    justify-content: flex-start;
    gap: min(30px, 8vw);
  }
  .snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control {
    margin-inline: auto;
  }
  .snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control button[data-action=complete]:hover {
    color: #FFFFFF;
    background-color: #C3552E;
  }
  .snow-monkey-form[data-screen=confirm] .smf-action .smf-button-control button[data-action=complete]:hover::after {
    background-image: url("../img/common/arrow_right_white.png");
  }
}

.page-content:has(*[data-screen*=complete]) #page-contact {
  display: none;
}
.page-content:has(*[data-screen*=complete]) .snow-monkey-form .smf-form .smf-complete-content {
  display: flex;
  flex-direction: column;
  gap: 1.6em;
}/*# sourceMappingURL=style.css.map */