@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Mitr:wght@200;300;400;500;600;700&display=swap');

@font-face {
	font-family: 'Sukhumvit';
  src: url('../fonts/sukhumvit-set/SukhumvitSet-Medium.ttf') format('truetype');
}

@font-face {
	font-family: 'Sukhumvit';
  font-weight: bold;
  src: url('../fonts/sukhumvit-set/SukhumvitSet-Bold.ttf') format('truetype');
}

:root {
  --color-theme-primary: 180 36 0;
  --color-theme-primary-thin: 244 237 237;
  --color-theme-accent: 223 0 0;
  --color-text-main: 83 54 54;
  --color-text-sub: 156 156 156;
  --color-placeholder: 142 142 142;
  --color-border: 226 226 226;
  --color-border-primary: 200 164 156;
  --color-border-panel: 217 217 217;
  --color-border-section: 245 245 245;
  --color-ranking-no1: 224 187 42;
  --color-ranking-no2: 190 190 190;
  --color-ranking-no3: 180 113 67;
  --font-family-base: "Sukhumvit", "Noto Sans Thai", YuGothic,
  "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  --site-container-width: 118.6rem;
  --padding-x-base: 2rem;
  --zoom-pic-aspect-ratio: 1 / 1;
  --easing-effect: cubic-bezier(0, .55, .45, 1);
}
@media screen and (max-width: 750px) {
  :root {
    --padding-x-base: 1rem;
  }
}
.searchandfilter .sf-input-text,
.searchandfilter .sf-input-select {
  display: block;
  width: 100%;
  padding: 1.1rem 1.6rem 1.1rem 4rem;
  background-image: var(--form-icon-url);
  background-repeat: no-repeat;
  background-position: 1.6rem 50%;
  background-color: rgb(var(--color-theme-primary-thin));
  background-size: 1.6rem;
  border-radius: var(--form-control-radius, 999.9rem);
  border: 0;
  line-height: 1.4;
  font-size: 1.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: rgb(var(--color-text-main));
}
.searchandfilter .sf-input-text::-moz-placeholder, .searchandfilter .sf-input-select::-moz-placeholder {
  color: rgb(var(--color-placeholder));
  opacity: 1;
}
.searchandfilter .sf-input-text::placeholder,
.searchandfilter .sf-input-select::placeholder {
  color: rgb(var(--color-placeholder));
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .searchandfilter .sf-input-text,
  .searchandfilter .sf-input-select {
    padding: 2.2rem 3.6rem;
    font-size: 3rem;
    padding-left: 8.4rem;
    background-position-x: 3.6rem;
    background-size: 3.2rem;
  }
}
.searchandfilter .sf-input-select {
  background-image: var(--form-icon-url), url(../img/common/ico_arrow_down.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: 1.6rem 50%, calc(100% - 2rem) 50%;
  background-size: 1.6rem, 0.8rem;
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .searchandfilter .sf-input-select {
    background-position-x: 3.6rem, calc(100% - 4rem);
    background-size: 3.2rem, 1.6rem;
  }
}
.searchandfilter .sf-field-submit input[type=submit] {
  --button-padding-block: 1.1rem;
  --button-padding-inline: 1rem;
  --button-font-size: 1.5rem;
  display: inline-flex;
  align-items: center;
  padding-block: var(--button-padding-block);
  padding-inline: var(--button-padding-inline);
  background-color: var(--button-bg-color);
  border-radius: var(--button-radius, 999.9rem);
  border: 0.1rem solid var(--button-bg-color);
  color: var(--button-text-color);
  font-size: var(--button-font-size);
  font-weight: 700;
  line-height: 1.1875;
  text-align: center;
  flex-shrink: 0;
  justify-content: center;
  height: var(--form-button-height);
  width: var(--form-button-width);
  cursor: pointer;
}
@media screen and (max-width: 750px) {
  .searchandfilter .sf-field-submit input[type=submit] {
    --button-padding-block: 2.4rem;
    --button-padding-inline: 2rem;
    --button-font-size: 3rem;
  }
}
.searchandfilter [name="_sf_search[]"] {
  --form-icon-url: url(../img/common/ico_magnifying.svg);
}
.searchandfilter [name="_sfm_food_type[]"] {
  --form-icon-url: url(../img/common/ico_restaurants.svg);
}
.searchandfilter [name="_sfm_area[]"] {
  --form-icon-url: url(../img/common/ico_location.svg);
}
:root {
  --slide-arrow-size: 5.6rem;
  --slide-arrow-position-x: 1rem;
}
@media screen and (max-width: 750px) {
  :root {
    --slide-arrow-size: 11.2rem;
    --slide-arrow-position-x: -3.2rem;
  }
}
.splide--nav {
  margin-top: var(--slide-row-gap);
}
.splide__arrow {
  width: var(--slide-arrow-size);
  height: auto;
  aspect-ratio: 1/1;
  background-color: white;
  border: 0.1rem solid #E0E0E0;
  opacity: 1;
  font-size: 1.6rem;
  overflow: hidden;
  transition-duration: 0.3s;
}
.splide__arrow[disabled] {
  pointer-events: none;
  opacity: 0;
}
.splide__arrow--next {
  --animation-hover-translate-x: 100%;
  right: var(--slide-arrow-position-x);
}
.splide__arrow--prev {
  --animation-hover-translate-x: -100%;
  left: var(--slide-arrow-position-x);
}
.splide__arrow svg {
  fill: rgb(var(--color-theme-primary));
}
@media screen and (min-width: 751px) {
  .splide__arrow:hover {
    background-color: rgb(var(--color-theme-primary-thin));
    border-color: rgb(var(--color-theme-primary));
    color: rgb(var(--color-theme-primary));
  }
  .splide__arrow:hover svg {
    animation: animation-hover-arrow 300ms 100ms var(--easing-effect) forwards;
  }
}
@media screen and (max-width: 750px) {
  .splide__arrow {
    font-size: 3.2rem;
  }
}
.splide__list {
  height: auto;
}
.splide__slide {
  aspect-ratio: var(--slide-aspect-ratio);
  height: auto;
  overflow: hidden;
}
.splide__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: var(--slide-object-fit, cover);
     object-fit: var(--slide-object-fit, cover);
}
.splide__track--nav > .splide__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.3rem;
}
.splide__track--nav > .splide__list > .splide__slide {
  position: relative;
  border: 0;
  width: 100% !important;
  aspect-ratio: 1/1;
}
.splide__track--nav > .splide__list > .splide__slide::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 0.4rem solid rgb(var(--color-theme-primary));
  opacity: 0;
  transition: opacity 150ms ease;
}
.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 0;
}
.splide__track--nav > .splide__list > .splide__slide.is-active::after {
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .splide__track--nav > .splide__list {
    gap: 0.6rem;
  }
  .splide__track--nav > .splide__list > .splide__slide::after {
    border-width: 0.8rem;
  }
}
.wp-caption {
  max-width: 100%;
}
.wp-caption-text {
  margin-top: 1.6rem;
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .wp-caption-text {
    margin-top: 3.2rem;
    font-size: 2.4rem;
  }
}
*,
*:before,
*:after {
  box-sizing: border-box;
}
* {
  margin: 0;
  padding: 0;
  font: inherit;
}
img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
}
input,
select,
textarea {
  background-color: transparent;
  outline: none;
}
button {
  cursor: pointer;
  background-color: transparent;
  outline: none;
  border: 0;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
div,
p {
  word-break: break-all;
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
nav,
picture {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}
ul,
ol,
li {
  margin: 0;
  padding: 0;
  list-style: none;
}
table {
  border-spacing: inherit;
  border-collapse: collapse;
}
figure {
  margin: 0;
  padding: 0;
  line-height: 0;
}
input[type=submit] {
  border: none;
  transition-duration: 0.3s;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  margin: 0;
}
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  font-family: "Sukhumvit";
  scroll-padding-top: 0;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
html:lang(en) .c-txt {
  text-align: left;
}
html:lang(en) * {
  letter-spacing: 0.02em;
}
@media screen and (max-width: 750px) {
  html {
    scroll-padding-top: 11rem;
  }
}
@media (min-width: 751px) and (max-width: 1280px) {
  html {
    font-size: 0.78125vw;
  }
}
@media (max-width: 750px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media screen and (min-width: 781px) {
  .onlySP {
    display: none !important;
  }
}
@media screen and (max-width: 780px) {
  .onlyPC {
    display: none !important;
  }
}
body {
  font-family: var(--font-family-base);
  color: rgb(var(--color-text-main));
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
  overflow-wrap: break-word;
  overflow-x: hidden;
  width: 100%;
}
@media screen and (max-width: 750px) {
  body.overflow {
    overflow: hidden;
  }
}
b {
  font-weight: bold;
  display: inline-block;
}
a {
  color: inherit;
  text-decoration: none;
  transition-duration: 0.3s;
}
a:focus {
  outline: none;
  text-decoration: none;
}
@media screen and (min-width: 751px) {
  a.zoomPic figure {
    overflow: hidden;
  }
  a.zoomPic figure img {
    transition: transform 0.5s ease;
  }
  a.zoomPic:hover figure img {
    transform: scale(1.1);
  }
  a.zoomPic-underline figure {
    overflow: hidden;
  }
  a.zoomPic-underline figure img {
    transition: transform 0.5s ease;
  }
  a.zoomPic-underline .hover-underline {
    transition: -webkit-text-decoration 0.3s ease;
    transition: text-decoration 0.3s ease;
    transition: text-decoration 0.3s ease, -webkit-text-decoration 0.3s ease;
  }
  a.zoomPic-underline:hover figure img {
    transform: scale(1.1);
  }
  a.zoomPic-underline:hover .hover-underline {
    text-decoration: underline;
  }
  a.hover-underline {
    transition: -webkit-text-decoration 0.3s ease;
    transition: text-decoration 0.3s ease;
    transition: text-decoration 0.3s ease, -webkit-text-decoration 0.3s ease;
  }
  a.hover-underline:hover {
    text-decoration: underline;
  }
}
p {
  margin: 0px;
  padding: 0;
  font-size: inherit;
}
p:last-child {
  margin-bottom: 0px;
}
figure {
  line-height: inherit;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
table {
  width: 100%;
  font-size: 1.8rem;
  line-height: 1.2222222222;
  vertical-align: top;
}
table tr {
  border-block: 0.2rem solid rgb(var(--color-border));
}
table th, table td {
  padding: 1.6rem 2rem;
}
table th p, table td p {
  margin-block: 1.6rem;
  font-size: inherit;
}
table th a, table td a {
  color: rgb(var(--color-theme-primary));
  text-decoration: underline;
}
table th a:hover, table td a:hover {
  text-decoration: none;
}
table th {
  background-color: rgb(var(--color-theme-primary-thin));
  font-weight: 700;
  text-align: left;
}
@media screen and (min-width: 751px) {
  table th {
    width: var(--table-term-width);
  }
}
@media screen and (max-width: 750px) {
  table {
    font-size: 2.8rem;
  }
  table tr {
    border-block-width: 0.4rem 0;
  }
  table tr:last-child {
    border-bottom-width: 0.4rem;
  }
  table th, table td {
    padding: 2.4rem 2rem;
  }
  table th p, table td p {
    margin-block: 2rem;
  }
}
/* clearfix (micro) */
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}
@media screen and (min-width: 751px) {
  a[href^=tel] {
    text-decoration: none;
    opacity: 1 !important;
  }
}
.bg-orange {
  --label-bg-color: #f76a18;
  background-color: #f76a18;
}
.bg-babyBlue {
  --label-bg-color: #91cace;
  background-color: #91cace;
}
.m-auto {
  margin: 0 auto;
}
.taC {
  text-align: center;
}
.taR {
  text-align: right;
}
.c-white {
  color: #fff;
}
.fw-bold {
  font-weight: bold;
}
.m00 {
  margin: 0 !important;
}
.fit {
  font-family: "object-fit: cover;";
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-poR {
  position: relative;
}
.c-poA {
  position: absolute;
}
.c-fixed {
  position: fixed;
}
.c-txt {
  font-size: 1.6rem;
  line-height: 1.625;
  color: #000;
  font-weight: 400;
}
@media screen and (max-width: 750px) {
  .c-txt {
    font-size: 2.8rem;
    line-height: 1.7857142857;
  }
}
#wrapper {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 750px) {
  #wrapper {
    overflow: clip;
  }
}
@keyframes animation-hover-arrow {
  0% {
    opacity: 1;
    translate: 0 0;
  }
  50% {
    opacity: 0;
    translate: var(--animation-hover-translate-x) 0;
  }
  50.1% {
    opacity: 0;
    translate: calc(var(--animation-hover-translate-x) * -1) 0;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
.banner {
  margin-block: 4.8rem;
}
@media screen and (max-width: 750px) {
  .banner {
    margin-block: 4rem;
  }
}
.banner-list {
  display: grid;
  row-gap: 2.4rem;
}
@media screen and (min-width: 751px) {
  .banner-list--horizontal {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 1.6rem;
         column-gap: 1.6rem;
  }
}
@media screen and (max-width: 750px) {
  .banner-list {
    row-gap: 3.2rem;
  }
}
.banner-list__link {
  position: relative;
  display: block;
  text-align: center;
  overflow: hidden;
  border-radius: 0.4rem;
  aspect-ratio: var(--banner-aspect-ratio);
}
.banner-list__link::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.3) 50%) no-repeat;
  background-size: 200% 200%;
  z-index: 2;
  transition: background-position 0.3s ease-in-out;
}
.banner-list__link:hover::before {
  background-position: 100% 100%;
}
.banner-list__link img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .banner-list__link {
    border-radius: 0.8rem;
  }
}
:root {
  --button-text-color: white;
  --button-bg-color: rgb(var(--color-theme-primary));
  --button-width: min(100%, 25.6rem);
  --button-padding-block: 1.8rem;
  --button-padding-inline: 2.2rem;
  --button-icon-size: 2.4rem;
  --button-square-text-color: rgb(var(--color-text-main));
  --button-square-bg-color: white;
  --button-square-font-size: 1.3rem;
  --button-square-padding-block: 1rem;
  --button-square-padding-inline: 1rem;
}
@media screen and (max-width: 750px) {
  :root {
    --button-width: min(100%, 56.2rem);
    --button-font-size: 3.2rem;
    --button-padding-block: 2.2rem;
    --button-padding-inline: 2.8rem;
    --button-icon-size: 4.8rem;
    --button-square-font-size: 3rem;
    --button-square-padding-block: 3rem;
    --button-square-padding-inline: 3rem;
  }
}
.button {
  --icon-mask: url(../img/common/ico_arrow_right.svg);
  --icon-color: currentColor;
  --icon-size: 1rem;
  --icon-gap: 0.8rem;
  justify-content: space-between;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  height: var(--button-height);
  width: var(--button-width);
  --icon-size: 1rem;
  --icon-mask: url(../img/common/ico_arrow_right.svg);
  display: inline-flex;
  align-items: center;
  padding-block: var(--button-padding-block);
  padding-inline: var(--button-padding-inline);
  background-color: var(--button-bg-color);
  border-radius: var(--button-radius, 999.9rem);
  border: 0.1rem solid var(--button-bg-color);
  color: var(--button-text-color);
  font-size: var(--button-font-size);
  font-weight: 700;
  line-height: 1.1875;
  text-align: center;
}
.button::before, .button::after {
  content: "";
  display: block;
  width: var(--icon-size);
  aspect-ratio: var(--icon-aspect-ratio);
  -webkit-mask: var(--icon-mask) no-repeat 50% 50%/contain;
          mask: var(--icon-mask) no-repeat 50% 50%/contain;
  background-color: var(--icon-color, currentColor);
}
.button::before {
  scale: -1 1;
  opacity: 0;
}
@media screen and (max-width: 750px) {
  .button {
    --icon-size: 2rem;
  }
}
@media screen and (min-width: 751px) {
  .button:hover {
    background-color: var(--button-hover-bg-color, white);
    color: var(--button-hover-text-color, var(--button-bg-color));
  }
}
.button.icon {
  --icon-size: var(--button-icon-size);
  --button-padding-inline: 1.1rem 2.2rem;
  justify-content: center;
}
.button.icon::after {
  content: none;
}
.button.icon::before {
  scale: 1;
  opacity: 1;
}
.button-square {
  --icon-size: 2.1rem;
  --icon-color: currentColor;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--button-square-width);
  padding-block: var(--button-square-padding-block);
  padding-inline: var(--button-square-padding-inline);
  background-color: var(--button-square-bg-color);
  border-radius: 0.4rem;
  border: 0.1rem solid var(--button-square-border-color, rgb(var(--color-text-main)));
  color: var(--button-square-text-color);
  font-size: var(--button-square-font-size, 1.3rem);
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.2307692308;
  transition-duration: 0.3s;
}
.button-square[href]:hover, [href]:hover .button-square {
  background-color: var(--button-square-text-color);
  color: var(--button-square-bg-color);
}
.button-square--primary {
  --button-square-border-color: rgb(var(--color-theme-primary));
  --button-square-text-color: white;
  --button-square-bg-color: rgb(var(--color-theme-primary));
}
@media screen and (max-width: 750px) {
  .button-square {
    --icon-size: 4.8rem;
    --icon-inset-inline: 2.4rem;
    border-radius: 0.8rem;
  }
}
.card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: white;
  border-radius: 0.4rem;
  overflow: hidden;
  font-size: 1.4rem;
  line-height: 1.2;
}
@media screen and (max-width: 750px) {
  .card {
    border-radius: 0.8rem;
    font-size: 3rem;
  }
}
.card--shadow {
  margin-block: 0.4rem;
  height: calc(100% - 0.8rem);
  box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 750px) {
  .card--shadow {
    margin: 0.8rem;
    box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.25);
  }
}
.card__thumb {
  position: relative;
  aspect-ratio: var(--card-aspect-ratio, 214/140);
  overflow: hidden;
}
.card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.card__thumb--large {
  --card-aspect-ratio: 214 / 200;
}
.card__labels {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0.4rem;
}
@media screen and (max-width: 750px) {
  .card__labels {
    gap: 0.8rem;
  }
  .card__labels--topSP {
    top: 0;
    bottom: auto;
  }
  .card__labels--topSP .card__label {
    border-radius: 0 0 0.8rem 0;
  }
}
.card__label {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 8.4rem;
  padding: 0.4rem 1.2rem;
  border-top-right-radius: 0.4rem;
  text-align: center;
  color: white;
  z-index: 1;
}
.card__label--japanese-sweets {
  background-color: #74007B;
}
.card__label--kushikatsu {
  background-color: #7E5656;
}
.card__label--kushiyaki {
  background-color: #FFAAAA;
  color: rgb(var(--color-text-main));
}
.card__label--onigiri {
  background-color: #E0E0E0;
  color: rgb(var(--color-text-main));
}
.card__label--katsudon-tonkatsu {
  background-color: #F76A18;
}
.card__label--shabu-sukiyaki {
  background-color: #FF80D9;
  color: rgb(var(--color-text-main));
}
.card__label--sushi {
  background-color: #F71F18;
}
.card__label--takoyaki {
  background-color: #000784;
}
.card__label--unagi {
  background-color: #1B31C2;
}
.card__label--yakiniku {
  background-color: #FF5056;
}
.card__label--crab {
  background-color: #FF4D40;
}
.card__label--kappo {
  background-color: #2A1682;
}
.card__label--ramen {
  background-color: #FFA600;
}
.card__label--steak {
  background-color: #AF521C;
}
.card__label--hot-pot {
  background-color: #F7F018;
  color: rgb(var(--color-text-main));
}
.card__label--teishoku {
  background-color: #FF9E62;
  color: rgb(var(--color-text-main));
}
.card__label--yoshoku {
  background-color: #ED0072;
}
.card__label--izakaya {
  background-color: #00A933;
}
.card__label--tempura {
  background-color: #FFF8B1;
  color: rgb(var(--color-text-main));
}
.card__label--bento-delivery {
  background-color: #598EFF;
}
.card__label--japanese-curry {
  background-color: #D7A13D;
  color: rgb(var(--color-text-main));
}
.card__label--soba-udon {
  background-color: white;
  color: rgb(var(--color-text-main));
}
.card__label--oden-nikomi {
  background-color: #603838;
}
.card__label--okonomiyaki {
  background-color: #830000;
}
.card__label--yakitori {
  background-color: #C20000;
}
@media screen and (max-width: 750px) {
  .card__label {
    min-width: 16.8rem;
    padding: 0.8rem 2.4rem;
    border-top-right-radius: 0.8rem;
  }
  .card--shadow .card__label {
    min-width: 6.4rem;
    font-size: 2.4rem;
  }
}
.card__content {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  row-gap: 1.2rem;
  padding: 1.6rem;
}
@media screen and (max-width: 750px) {
  .card__content {
    row-gap: 2rem;
    padding: 3.2rem;
  }
  .card--shadow .card__content {
    padding: 2.4rem;
  }
}
.card__head {
  --icon-size: 1.2rem;
  --icon-gap: 0.2rem;
  display: flex;
  flex-direction: column;
  row-gap: 0.4rem;
  font-size: 1.2rem;
}
.card__head-row {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .card__head {
    --icon-size: 2.4rem;
    --icon-gap: 0.4rem;
    row-gap: 0.8rem;
    font-size: 2.4rem;
  }
}
.card__title {
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .card__title {
    font-size: 2.6rem;
  }
}
.card__text, .card__text-primary {
  font-size: 1.3rem;
}
.card__text-primary {
  color: #1D6DC9;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .card__text, .card__text-primary {
    font-size: 2.6rem;
  }
}
.card__button {
  margin-top: auto;
}
.card__button .button-square {
  --button-square-width: 100%;
}
@media screen and (max-width: 750px) {
  .card__button .button-square {
    --button-square-padding-block: 2rem;
    --button-square-padding-inline: 1rem;
    --button-square-font-size: 2.4rem;
    --icon-size: 0;
  }
}
:root {
  --cassette-aspect-ratio: 296 / 181;
}
.cassette {
  position: relative;
  display: grid;
  font-size: 1.4rem;
  line-height: 1.2;
}
@media screen and (max-width: 750px) {
  .cassette {
    font-size: 2.8rem;
  }
}
.cassette__thumb {
  --zoom-pic-aspect-ratio: var(--cassette-aspect-ratio);
  display: block;
  margin-bottom: initial;
  position: relative;
  border-radius: 0.4rem;
  overflow: hidden;
}
.cassette__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  scale: var(--cassette-thumb-scale);
  transition: scale 200ms ease;
}
.cassette__thumb [href]:hover {
  --cassette-thumb-scale: 1.04;
}
@media screen and (max-width: 750px) {
  .cassette__thumb {
    width: auto;
    margin-bottom: 2rem;
    margin-inline: calc(var(--padding-x-base) * -1);
    aspect-ratio: var(--cassette-aspect-ratio, 329/180);
    border-radius: 0;
  }
}
.cassette__thumb-group .cassette__thumb {
  border-radius: 0;
}
@media screen and (min-width: 751px) {
  .cassette__thumb-group {
    display: grid;
    gap: 0.2rem 0.3rem;
    grid-template-columns: 1fr 1fr;
  }
  .cassette__thumb-group .cassette__thumb:first-child {
    grid-column: 1/span 2;
  }
}
@media screen and (max-width: 750px) {
  .cassette__thumb-group {
    --cassette-aspect-ratio: none;
    display: flex;
    gap: 0;
    margin-bottom: 2.8rem;
  }
  .cassette__thumb-group .cassette__thumb {
    flex: 1;
  }
}
.cassette__meta {
  display: grid;
  grid-template-columns: auto 1fr;
  margin-bottom: 1rem;
  padding-bottom: 0.6rem;
  align-items: center;
  border-bottom: 0.1rem solid rgb(var(--color-border));
}
@media screen and (max-width: 750px) {
  .cassette__meta {
    margin-bottom: 2rem;
    padding-bottom: 2.4rem;
  }
}
.cassette__meta-icon {
  grid-row: 1/span 2;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  width: 4.8rem;
  margin-right: 1.6rem;
}
.cassette__meta-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .cassette__meta-icon {
    width: 9.6rem;
    margin-right: 3rem;
  }
}
.cassette__meta-title {
  grid-column: 2;
  margin-bottom: 0.6rem;
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .cassette__meta-title {
    margin-bottom: 1.2rem;
    font-size: 3.6rem;
  }
}
.cassette__meta-tag {
  --icon-size: 1.2rem;
  grid-column: 2;
  color: rgb(var(--color-text-sub));
  font-size: 1.3rem;
}
@media screen and (max-width: 750px) {
  .cassette__meta-tag {
    --icon-size: 2.4rem;
    font-size: 2.6rem;
  }
}
.cassette__title {
  margin-bottom: 1.2rem;
  font-size: var(--cassette-title-font-size, 2rem);
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .cassette__title {
    margin-bottom: 1rem;
    font-size: var(--cassette-title-font-size, 2.8rem);
  }
}
.cassette__rank {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-content: center;
  width: 4rem;
  aspect-ratio: 1/1;
  background-color: rgb(var(--color-theme-primary));
  border-radius: 0.4rem 0 0.4rem 0;
  color: white;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  z-index: 1;
}
.cassette__rank--no1 {
  background-color: rgb(var(--color-ranking-no1));
}
.cassette__rank--no2 {
  background-color: rgb(var(--color-ranking-no2));
}
.cassette__rank--no3 {
  background-color: rgb(var(--color-ranking-no3));
}
@media screen and (max-width: 750px) {
  .cassette__rank {
    width: 8rem;
    font-size: 4rem;
    border-radius: 0.8rem 0 0.8rem 0;
  }
}
.cassette__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  margin-bottom: 1.3rem;
}
@media screen and (max-width: 750px) {
  .cassette__row {
    margin-bottom: 1.6rem;
  }
}
.cassette__datetime {
  display: block;
  flex-shrink: 0;
}
.cassette__lead {
  --line-clamp-font-size: 1.4rem;
  --line-clamp-line-height: calc(20 / 14);
  --line-clamp-to-show: 4;
  margin-bottom: 0.5rem;
  color: var(--cassette-lead-color);
  font-size: inherit;
  display: block;
  display: -webkit-box;
  max-height: calc(var(--line-clamp-font-size) * var(--line-clamp-line-height) * var(--line-clamp-to-show));
  font-size: var(--line-clamp-font-size);
  line-height: var(--line-clamp-line-height);
  -webkit-line-clamp: var(--line-clamp-to-show);
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 750px) {
  .cassette__lead {
    --line-clamp-font-size: 2.8rem;
    margin-bottom: 1.6rem;
  }
}
.cassette__tags {
  --icon-color: rgb(var(--color-text-sub));
  --icon-margin-inline: 0 0.4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.2rem;
  margin-bottom: 1rem;
  color: rgb(var(--color-text-sub));
  font-size: 1.3rem;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .cassette__tags {
    --line-clamp-font-size: 2.4rem;
    --line-clamp-line-height: 3rem;
    --icon-size: 3rem;
    --icon-margin-inline: 0 0.8rem;
    gap: 2rem 2.4rem;
    margin-bottom: 0.7rem;
    font-size: 2.4rem;
  }
}
.cassette__coupon {
  display: grid;
  grid-template-columns: var(--cassette-coupon-icon-size, 4.8rem) 1fr;
  align-items: center;
  gap: 0.6rem 1.6rem;
  padding: 1.2rem 1.6rem;
  border-radius: 0.4rem;
  border: 0.1rem solid rgb(var(--color-border));
  font-size: 1.4rem;
}
.cassette__coupon[href]:hover {
  background-color: rgb(var(--color-theme-primary-thin));
}
@media screen and (max-width: 750px) {
  .cassette__coupon {
    --cassette-coupon-icon-size: 9.6rem;
    gap: 1.6rem 3rem;
    margin-top: 1rem;
    padding: 2.4rem 2rem;
    border-radius: 0.8rem;
    border-width: 0.2rem;
    font-size: 2.8rem;
  }
}
.cassette__coupon-header {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  justify-content: space-between;
  font-weight: 700;
  font-size: 1.4rem;
}
@media screen and (max-width: 750px) {
  .cassette__coupon-header {
    font-size: 2.8rem;
  }
}
.cassette__coupon-label {
  --zoom-pic-aspect-ratio: contain;
  grid-row: 1/span 2;
}
.cassette__coupon-label img {
  transform: none !important;
}
.cassette__coupon-title {
  font-weight: 700;
}
.cassette__coupon-notes {
  color: #111111;
  font-size: 1.1rem;
}
@media screen and (max-width: 750px) {
  .cassette__coupon-notes {
    font-size: 2.2rem;
  }
}
.cassette__coupon-price {
  flex-shrink: 0;
}
.cassette__coupon-list {
  display: flex;
  flex-direction: column;
  row-gap: 1.2rem;
  margin-bottom: 1.6rem;
}
.cassette__coupon-list:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .cassette__coupon-list {
    margin-bottom: 2rem;
    row-gap: 2.4rem;
  }
}
.cassette__buttons {
  --button-square-font-size: 1.1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.cassette__buttons .button, .cassette__buttons .button-square {
  --icon-size: 1.5rem;
}
@media screen and (max-width: 750px) {
  .cassette__buttons {
    --button-square-padding-block: 1.8rem;
    --button-square-padding-inline: 1.8rem;
    --button-square-font-size: 2.2rem;
    gap: 1.6rem;
  }
  .cassette__buttons .button, .cassette__buttons .button-square {
    --icon-size: 3rem;
  }
}
.cassette__view {
  --view-value-font-size: 1.6rem;
  margin-top: 1.2rem;
}
@media screen and (max-width: 750px) {
  .cassette__view {
    --view-value-font-size: 3rem;
    margin-top: 2.4rem;
  }
}
@media screen and (min-width: 751px) {
  .cassette--horizontal {
    --cassette-coupon-icon-size: 6rem;
    align-items: center;
    grid-template-columns: 28rem 1fr;
  }
  .cassette--horizontal .cassette__content {
    padding: 1rem 0 1rem 1.4rem;
  }
  .cassette--horizontal .cassette__buttons {
    --icon-gap: 1.4rem;
  }
  .cassette--horizontal .cassette__buttons .button, .cassette--horizontal .cassette__buttons .button-square {
    --icon-size: 2.6rem;
  }
}
@media screen and (max-width: 750px) {
  .cassette--horizontal {
    row-gap: 0;
  }
  .cassette--horizontal .cassette__content {
    display: contents;
  }
  .cassette--horizontal .cassette__meta {
    order: -1;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .cassette--horizontal .cassette__thumb-group {
    margin-inline: -2.8rem;
    margin-bottom: 1.4rem;
  }
}
@media screen and (max-width: 750px) {
  .cassette--horizontalSP {
    --cassette-aspect-ratio: 120 / 90;
    --cassette-title-font-size: 3.2rem;
    display: grid;
    grid-template-columns: 24rem 1fr;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
    align-items: center;
  }
  .cassette--horizontalSP .cassette__meta {
    margin-bottom: 1.6rem;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .cassette--horizontalSP .cassette__tags {
    display: flex;
    flex-direction: column;
    row-gap: 0.8rem;
    max-height: -moz-fit-content;
    max-height: fit-content;
    margin-bottom: 0;
    white-space: normal;
  }
  .cassette--horizontalSP .cassette__tags + .cassette__tags {
    margin-top: 0.8rem;
  }
  .cassette--horizontalSP .cassette__tags-item {
    margin-right: 0;
  }
  .cassette--horizontalSP .cassette__lead,
  .cassette--horizontalSP .cassette__coupon-list,
  .cassette--horizontalSP .cassette__buttons,
  .cassette--horizontalSP .cassette__view, .cassette--horizontalSP:has(.cassette__meta) .cassette__title {
    display: none;
  }
  .cassette--horizontalSP .cassette__thumb {
    margin: 0;
  }
}
.cassette--premium, .cassette--standard {
  position: relative;
  background-color: white;
}
.cassette--premium .cassette__meta, .cassette--standard .cassette__meta {
  position: relative;
  padding-right: 3.4rem;
}
.cassette--premium .cassette__meta::after, .cassette--standard .cassette__meta::after {
  --icon-mask: url(../img/common/ico_crown.svg);
  --icon-color: rgb(var(--color-theme-primary));
  --icon-size: 3rem;
  content: "";
  position: absolute;
  top: 0;
  right: 0.2rem;
  overflow: hidden;
  width: var(--icon-size);
  aspect-ratio: var(--icon-aspect-ratio);
  -webkit-mask: var(--icon-mask) no-repeat 50% 50%/contain;
          mask: var(--icon-mask) no-repeat 50% 50%/contain;
  background-color: var(--icon-color, currentColor);
}
@media screen and (max-width: 750px) {
  .cassette--premium, .cassette--standard {
    padding: 0 0.28rem 2.8rem;
    border-width: 2.8rem;
  }
  .cassette--premium .cassette__meta, .cassette--standard .cassette__meta {
    padding-right: 6.8rem;
  }
  .cassette--premium .cassette__meta::after, .cassette--standard .cassette__meta::after {
    --icon-size: 6rem;
    right: 0.4rem;
  }
}
.cassette-list {
  display: grid;
}
@media screen and (min-width: 751px) {
  .cassette-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem 3.6rem;
  }
}
@media screen and (max-width: 750px) {
  .cassette-list {
    row-gap: 2rem;
  }
}
@media screen and (max-width: 750px) {
  .cassette-list__item {
    width: auto;
    margin-inline: calc(var(--padding-x-base) * -1);
    padding-inline: var(--padding-x-base);
  }
  .cassette-list__item:not(:first-child) {
    padding-top: 2rem;
    border-top: 0.2rem solid rgb(var(--color-border));
  }
}
.cassette-list:has(.cassette__thumb-group) {
  grid-template-columns: 1fr;
  row-gap: 2rem;
}
.cassette-list:has(.cassette__thumb-group) .cassette-list__item:not(:first-child) {
  padding-top: 2rem;
  border-top: 0.5rem solid rgb(var(--color-theme-primary-thin));
}
@media screen and (max-width: 750px) {
  .cassette-list:has(.cassette__thumb-group) .cassette-list__item {
    border-top-width: 1rem;
  }
}
@media screen and (min-width: 751px) {
  .cassette-list[data-subgrid-row] .cassette-list__item,
  .cassette-list[data-subgrid-row] .cassette {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span var(--subgrid-row);
    row-gap: 0;
    height: 100%;
  }
  .cassette-list[data-subgrid-row] .cassette__content {
    display: contents;
  }
}
@media screen and (min-width: 751px) {
  .cassette-list[data-subgrid-row="1"] {
    --subgrid-row: 1;
  }
}
@media screen and (min-width: 751px) {
  .cassette-list[data-subgrid-row="2"] {
    --subgrid-row: 2;
  }
}
@media screen and (min-width: 751px) {
  .cassette-list[data-subgrid-row="3"] {
    --subgrid-row: 3;
  }
}
@media screen and (min-width: 751px) {
  .cassette-list[data-subgrid-row="4"] {
    --subgrid-row: 4;
  }
}
@media screen and (min-width: 751px) {
  .cassette-list[data-subgrid-row="5"] {
    --subgrid-row: 5;
  }
}
[data-post-type=relation] {
  --cassette-lead-color: rgb(var(--color-text-sub));
}
@media screen and (max-width: 750px) {
  [data-post-type=relation] {
    --cassette-title-font-size: 4rem;
  }
}
/* カテゴリー一覧 */
.categories__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.categories__header::after {
  --icon-size: 0.8rem;
  --icon-mask: url(../img/common/ico_arrow_down.svg);
  --icon-color: rgb(var(--color-theme-primary));
  content: "";
  flex-shrink: 0;
  display: block;
  width: var(--icon-size);
  aspect-ratio: var(--icon-aspect-ratio);
  -webkit-mask: var(--icon-mask) no-repeat 50% 50%/contain;
          mask: var(--icon-mask) no-repeat 50% 50%/contain;
  background-color: var(--icon-color, currentColor);
}
@media screen and (min-width: 751px) {
  .categories__header {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  .categories__header {
    margin-bottom: 3.2rem;
    -moz-column-gap: 3rem;
         column-gap: 3rem;
  }
  .categories__header::after {
    --icon-size: 1.6rem;
  }
}
.categories-menu {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 1rem;
}
@media screen and (max-width: 750px) {
  .categories-menu {
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem 2rem;
  }
}
.categories-menu__item {
  text-align: center;
}
@media screen and (max-width: 750px) {
  .categories-menu__item:has(.categories__menu-button) {
    grid-column: 1/span 3;
  }
}
.categories-menu__img, .categories-menu__icon {
  margin-bottom: 0.8rem;
  aspect-ratio: 1/1;
  background-color: rgb(var(--color-theme-primary));
  border-radius: 50%;
  color: white;
  overflow: hidden;
  scale: var(--hover-scale);
}
@media screen and (max-width: 750px) {
  .categories-menu__img, .categories-menu__icon {
    margin-bottom: 1.6rem;
  }
}
.categories-menu__img {
  transition: scale 150ms ease;
}
.categories-menu__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.categories-menu__icon {
  display: grid;
  place-content: center;
}
.categories-menu__title {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 750px) {
  .categories-menu__title {
    font-size: 3rem;
  }
}
.categories-menu__link, .categories-menu__button {
  display: block;
  transition: none;
}
.categories-menu__link:hover, .categories-menu__button:hover {
  --hover-scale: 1.04;
}
@media screen and (max-width: 750px) {
  .categories-menu__button {
    --icon-size: 1rem;
    --icon-mask: url(../img/common/ico_arrow_right.svg);
    display: inline-flex;
    align-items: center;
    padding-block: var(--button-padding-block);
    padding-inline: var(--button-padding-inline);
    background-color: var(--button-bg-color);
    border-radius: var(--button-radius, 999.9rem);
    border: 0.1rem solid var(--button-bg-color);
    color: var(--button-text-color);
    font-size: var(--button-font-size);
    font-weight: 700;
    line-height: 1.1875;
    text-align: center;
    justify-content: space-between;
    width: 100%;
  }
  .categories-menu__button::before, .categories-menu__button::after {
    content: "";
    display: block;
    width: var(--icon-size);
    aspect-ratio: var(--icon-aspect-ratio);
    -webkit-mask: var(--icon-mask) no-repeat 50% 50%/contain;
            mask: var(--icon-mask) no-repeat 50% 50%/contain;
    background-color: var(--icon-color, currentColor);
  }
  .categories-menu__button::before {
    scale: -1 1;
    opacity: 0;
  }
}
@media screen and (max-width: 750px) and (max-width: 750px) {
  .categories-menu__button {
    --icon-size: 2rem;
  }
}
@media screen and (max-width: 750px) {
  .categories-menu__button .categories__menu-icon {
    display: none;
  }
  .categories-menu__button .categories__menu-title {
    font-size: inherit;
  }
}
.categories-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.2rem;
}
@media screen and (max-width: 750px) {
  .categories-list {
    gap: 0.4rem;
  }
}
.categories-list__link {
  --icon-mask: url(../img/common/ico_arrow_right.svg);
  --icon-color: rgb(var(--color-theme-primary));
  --icon-size: 1rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
  height: 100%;
  background-color: rgb(var(--color-theme-primary-thin));
  padding: 0.8rem 1.2rem;
  font-size: 1.2rem;
  line-height: 1.2142857143;
}
.categories-list__link::before {
  content: "";
  flex-shrink: 0;
  width: var(--icon-size);
  aspect-ratio: var(--icon-aspect-ratio);
  -webkit-mask: var(--icon-mask) no-repeat 50% 50%/contain;
          mask: var(--icon-mask) no-repeat 50% 50%/contain;
  background-color: var(--icon-color, currentColor);
}
.categories-list__link:hover {
  --icon-color: currentColor;
  background-color: rgb(var(--color-theme-primary));
  color: white;
}
@media screen and (max-width: 750px) {
  .categories-list__link {
    --icon-size: 2rem;
    -moz-column-gap: 1.6rem;
         column-gap: 1.6rem;
    padding: 1.6rem 2.4rem;
    font-size: 2.4rem;
  }
}
.container {
  max-width: var(--container-width, var(--site-container-width));
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .container {
    padding-inline: var(--container-padding-x, var(--padding-x-base));
  }
}
.coupon {
  position: relative;
}
.coupon-list {
  display: flex;
  flex-direction: column;
  row-gap: 1.6rem;
}
.coupon-list:has(.coupon-card) {
  row-gap: 0.2rem;
}
@media screen and (max-width: 750px) {
  .coupon-list {
    row-gap: 2rem;
  }
  .coupon-list:has(.coupon-card) {
    row-gap: 0.4rem;
  }
}
.coupon-panel {
  display: flex;
  flex-direction: column;
  row-gap: 1.6rem;
  padding: 2.4rem;
  background-color: white;
  border-radius: 0.8rem;
  box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.25);
  font-size: 1.5rem;
  line-height: 1.2;
}
@media screen and (max-width: 750px) {
  .coupon-panel {
    row-gap: 2rem;
    padding: 4rem 2rem 2rem;
    border-radius: 1.6rem;
    box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.25);
    font-size: 2.8rem;
  }
}
.coupon-panel__header {
  padding-bottom: 1.2rem;
  border-bottom: 0.1rem solid rgb(var(--color-border-panel));
}
@media screen and (max-width: 750px) {
  .coupon-panel__header {
    padding-bottom: 2rem;
    padding-inline: 0.8rem;
    border-bottom-width: 0.2rem;
  }
}
.coupon-panel__body {
  display: grid;
}
@media screen and (min-width: 751px) {
  .coupon-panel__body {
    grid-template-columns: 1fr 20rem;
    -moz-column-gap: 3.6rem;
         column-gap: 3.6rem;
  }
}
@media screen and (max-width: 750px) {
  .coupon-panel__body {
    row-gap: 4rem;
  }
}
.coupon-panel__title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
@media screen and (max-width: 750px) {
  .coupon-panel__title {
    font-size: 3rem;
  }
}
.coupon-panel__list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.2rem 2rem;
}
.coupon-panel__list strong {
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .coupon-panel__list {
    gap: 2.4rem 4rem;
  }
}
.coupon-panel__list-row {
  position: relative;
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  padding-left: 2rem;
}
.coupon-panel__list-row::before {
  content: "";
  position: absolute;
  top: 0.3rem;
  left: 0;
  display: block;
  width: 1.2rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: rgb(var(--color-theme-primary));
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .coupon-panel__list-row {
    padding-left: 4rem;
  }
  .coupon-panel__list-row::before {
    top: 0.6rem;
    width: 2.4rem;
  }
}
.coupon-panel__list-term {
  font-weight: 700;
}
.coupon-panel__button {
  --button-width: 100%;
  --button-square-width: 100%;
  align-self: flex-end;
}
.coupon-card {
  display: grid;
  align-items: center;
  grid-template-columns: 6.4rem 1fr;
  -moz-column-gap: 1.6rem;
       column-gap: 1.6rem;
  padding: 1.6rem;
  background-color: rgb(var(--color-theme-primary-thin));
  font-size: 1.4rem;
  line-height: 1.2;
}
@media screen and (max-width: 750px) {
  .coupon-card {
    grid-template-columns: 12.8rem 1fr;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    padding: 2rem;
    font-size: 2.8rem;
  }
}
.coupon-card__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.coupon-card__title {
  margin-bottom: 0.4rem;
  font-size: 1.2rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .coupon-card__title {
    margin-bottom: 0.8rem;
    font-size: 3rem;
  }
}
.coupon-card__subtitle {
  color: rgb(var(--color-theme-primary));
  font-weight: 700;
}
.dropdown {
  left: 50%;
  top: 40px;
  transform: translate(-50%, 0%);
  opacity: 0;
  position: absolute;
  visibility: hidden;
  z-index: 99;
  display: flex;
  flex-direction: column;
  background-color: rgb(var(--color-theme-primary-thin));
  color: rgb(var(--color-text-main));
  padding: 1rem;
  border-radius: 1rem;
  min-width: 30rem;
  box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.25);
  transition: 150ms ease-in-out;
}
.dropdown::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 20px;
  top: -20px;
  left: 0;
}
.dropdown li {
  width: 100%;
  border-bottom: 1px solid currentColor;
  text-align: left;
}
.dropdown li:last-child {
  border-bottom: none;
}
.dropdown li a {
  display: block;
  padding: 1.4rem 1rem;
  line-height: 1.2;
  transition: all 0.25s ease;
}
.dropdown li a:hover {
  opacity: 0.7;
}
:root {
  --icon-size: 1.6rem;
  --icon-aspect-ratio: 1 / 1;
  --icon-color: rgb(var(--color-theme-primary));
  --icon-gap: 0.4rem;
}
@media screen and (max-width: 750px) {
  :root {
    --icon-size: 3.2rem;
    --icon-gap: 0.8rem;
  }
}
.icon {
  position: relative;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  -moz-column-gap: var(--icon-gap);
       column-gap: var(--icon-gap);
}
.icon::before {
  content: "";
  flex-shrink: 0;
  display: inline-block;
  vertical-align: -0.1rem;
  margin-inline: var(--icon-margin-inline);
  width: var(--icon-size);
  aspect-ratio: var(--icon-aspect-ratio);
  -webkit-mask: var(--icon-mask) no-repeat 50% 50%/contain;
          mask: var(--icon-mask) no-repeat 50% 50%/contain;
  background-color: var(--icon-color, currentColor);
}
@media screen and (max-width: 750px) {
  .icon::before {
    vertical-align: -0.4rem;
  }
}
.icon--toggle {
  width: 5rem;
  height: 5rem;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.icon--toggle::before, .icon--toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.5rem;
  height: 1px;
  background-color: #000;
  transform: translate(-50%, -50%);
  transition: 0.3s ease-out;
  border: none;
  padding: 0;
  border-radius: 1rem;
}
.icon--toggle::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.is-show .icon--toggle::before {
  transform: translate(-50%, -50%) rotate(0deg);
}
.icon--magnifying {
  --icon-mask: url(../img/common/ico_magnifying.svg);
}
.icon--restaurants {
  --icon-mask: url(../img/common/ico_restaurants.svg);
}
.icon--location {
  --icon-mask: url(../img/common/ico_location.svg);
}
.icon--telephone {
  --icon-mask: url(../img/common/ico_telephone.svg);
}
.icon--access {
  --icon-mask: url(../img/common/ico_access.svg);
}
.icon--time {
  --icon-mask: url(../img/common/ico_time.svg);
}
.icon--price {
  --icon-mask: url(../img/common/ico_price.svg);
}
.icon--coupon {
  --icon-mask: url(../img/common/ico_coupon.svg);
}
.icon--ranking {
  --icon-mask: url(../img/common/ico_ranking.svg);
}
.icon--tags {
  --icon-mask: url(../img/common/ico_tags.svg);
}
.icon--tips {
  --icon-mask: url(../img/common/ico_tips.svg);
}
.icon--blog {
  --icon-mask: url(../img/common/ico_blog.svg);
}
.icon--coupon {
  --icon-aspect-ratio: 24 / 14;
  --button-border-color: rgb(var(--color-theme-accent));
  --button-text-color: white;
  --button-bg-color: rgb(var(--color-theme-accent));
  --button-square-border-color: rgb(var(--color-theme-accent));
  --button-square-text-color: white;
  --button-square-bg-color: rgb(var(--color-theme-accent));
}
.icon--dinner::before {
  -webkit-mask: none;
          mask: none;
  background: url(../img/common/ico_dinner.svg) no-repeat 50% 50%/var(--icon-size);
}
.icon--lunch::before {
  -webkit-mask: none;
          mask: none;
  background: url(../img/common/ico_lunch.svg) no-repeat 50% 50%/var(--icon-size);
}
.icon--line {
  --icon-mask: url(../img/common/ico_line.svg);
  --button-bg-color: var(--social-color-line);
}
.iframe {
  position: relative;
  aspect-ratio: var(--iframe-aspect-ratio);
  line-height: 1;
}
.iframe iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: top;
}
.iframe--map {
  --iframe-aspect-ratio: 392 / 220;
}
:root {
  --label-font-size: 1.5rem;
  --label-bg-color: rgb(var(--color-theme-primary));
  --label-text-color: white;
}
@media screen and (max-width: 750px) {
  :root {
    --label-font-size: 3rem;
  }
}
.label {
  --icon-color: var(--label-text-color);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 2rem;
  background-color: var(--label-bg-color);
  border-radius: 999.9rem;
  font-weight: 500;
  color: var(--label-text-color);
  -moz-column-gap: 0.4rem;
       column-gap: 0.4rem;
  text-align: center;
  font-family: "Mitr", sans-serif;
  font-size: var(--label-font-size);
  letter-spacing: 0;
  line-height: 1.2;
}
.label--small {
  --label-font-size: 1.2rem;
  padding: 0.4rem 1.2rem;
}
@media screen and (max-width: 750px) {
  .label {
    padding: 1.4rem 4rem;
  }
  .label--small {
    --label-font-size: 2.4rem;
    padding: 0.8rem 2.4rem;
  }
}
.c-link {
  --icon-mask: url(../img/common/ico_arrow_right.svg);
  --icon-color: rgb(var(--color-theme-primary));
  --icon-size: 1rem;
  --animation-hover-translate-x: 0.8rem;
  position: relative;
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  font-weight: 700;
}
.c-link::after {
  content: "";
  transition: 150ms ease;
  display: inline-block;
  vertical-align: -0.1rem;
  margin-inline: var(--icon-margin-inline);
  width: var(--icon-size);
  aspect-ratio: var(--icon-aspect-ratio);
  -webkit-mask: var(--icon-mask) no-repeat 50% 50%/contain;
          mask: var(--icon-mask) no-repeat 50% 50%/contain;
  background-color: var(--icon-color, currentColor);
}
.c-link:hover {
  color: rgb(var(--color-theme-primary));
}
.c-link:hover::after {
  animation: animation-hover-arrow 300ms 100ms var(--easing-effect) forwards;
}
@media screen and (max-width: 750px) {
  .c-link {
    --icon-size: 1.5rem;
    --icon-gap: 2rem;
    --animation-hover-translate-x: 1.6rem;
    font-size: 3.2rem;
  }
}
:root {
  --logo-size: 13.2rem;
}
@media screen and (max-width: 750px) {
  :root {
    --logo-size: 15.4rem;
  }
}
.logo {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  color: inherit;
  font-weight: 700;
  font-size: 2.4rem;
}
.logo > img {
  width: var(--logo-size);
}
@media screen and (max-width: 750px) {
  .logo {
    -moz-column-gap: 1.6rem;
         column-gap: 1.6rem;
    font-size: 3.2rem;
  }
}
#menuBtn {
  width: 4.3rem;
  height: 4.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin-left: 3.2rem;
  color: inherit;
  z-index: 999;
}
#menuBtn > span {
  width: 100%;
  height: 0.3rem;
  background: currentColor;
  border-radius: 0.3rem;
  margin: 0.5rem 0;
  transition: 0.4s;
  display: block;
}
#menuBtn.show {
  color: rgb(var(--color-text-main));
}
#menuBtn.show > span:nth-child(1) {
  transform: rotate(45deg) translate(1.2rem, 0.6rem);
}
#menuBtn.show > span:nth-child(2) {
  opacity: 0;
}
#menuBtn.show > span:nth-child(3) {
  transform: rotate(-45deg) translate(1.2rem, -0.6rem);
}
@media screen and (max-width: 750px) {
  #menuBtn {
    width: 4.5rem;
    height: 4.5rem;
    top: 3.3rem;
    right: 4rem;
  }
  #menuBtn > span {
    width: 4rem;
  }
}
.panel {
  --button-square-border-color: rgb(var(--color-border));
  padding: 3.2rem 4rem 4rem;
  background-color: white;
  box-shadow: 0 0 0.8rem rgba(0, 0, 0, 0.25);
  border-radius: 0.8rem;
}
@media screen and (min-width: 751px) {
  .panel {
    --title-font-size: 2.4rem;
    --title-icon-size: 3rem;
    --title-gap: 1rem;
  }
}
@media screen and (max-width: 750px) {
  .panel {
    padding: 4.8rem 2.4rem 3.2rem;
    box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.25);
    border-radius: 1.6rem;
  }
}
.panel__button {
  text-align: center;
}
@media screen and (max-width: 750px) {
  .panel__button {
    --button-square-width: min(100%, 66rem);
    margin-top: 3.6rem;
  }
}
.search-form {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
  width: 67.8rem;
  margin-inline: auto;
  padding: 2.4rem;
  background-color: white;
  border-radius: 0.8rem;
  box-shadow: 0 0 0.8rem 0 rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 750px) {
  .search-form {
    row-gap: 2.4rem;
    margin-bottom: 2rem;
    padding: 3.2rem;
    border-radius: 1.6rem;
    box-shadow: 0 0 1.6rem 0 rgba(0, 0, 0, 0.25);
  }
}
.search-form__row {
  --form-button-width: 7.8rem;
  --form-button-height: 100%;
}
.search-form__row form label {
  display: block;
}
.search-form__row form ul {
  display: flex;
  -moz-column-gap: 1.6rem;
       column-gap: 1.6rem;
}
.search-form__row form ul li {
  flex-grow: 1;
  padding-block: 0;
}
.search-form__row form ul li:has(input[type=submit]) {
  flex-grow: initial;
}
.search-form__row--stick form input[type=submit] {
  --button-radius: 0 99.9rem 99.9rem 0;
}
.search-form__row--stick form input, .search-form__row--stick form select {
  --form-control-radius: 99.9rem 0 0 99.9rem;
}
.search-form__row--stick form ul {
  gap: 0;
}
@media screen and (max-width: 750px) {
  .search-form__row {
    --form-button-width: 100%;
  }
  .search-form__row:not(:last-child) {
    padding-bottom: 3rem;
    border-bottom: 0.2rem solid rgb(var(--color-border-panel));
  }
  .search-form__row form ul {
    row-gap: 2.4rem;
    flex-direction: column;
  }
  .search-form__row--stick {
    --form-button-width: 14.8rem;
  }
  .search-form__row--stick form ul {
    flex-direction: row;
  }
}
.search-categories {
  margin-block: 3rem 6.4rem;
  --title-font-size: 1.8rem;
  --title-icon-size: 2rem;
}
@media screen and (max-width: 750px) {
  .search-categories {
    --title-font-size: 4rem;
    --title-icon-size: 4rem;
  }
}
.search-categories__section + .search-categories__section {
  margin-top: 2.7rem;
}
@media screen and (max-width: 750px) {
  .search-categories__section {
    margin-inline: calc(var(--padding-x-base) * -1);
    padding-inline: var(--padding-x-base);
    border-bottom: 1rem solid rgb(var(--color-theme-primary-thin));
  }
  .search-categories__section + .search-categories__section {
    margin-top: 4.4rem;
  }
}
.search-categories__list {
  font-size: 1.5rem;
}
.search-categories__list [type=radio] {
  position: absolute;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  width: 1px;
  white-space: nowrap;
}
.search-categories__list form ul li {
  padding-block: 0;
}
.search-categories__list form ul li ul {
  display: flex;
  flex-wrap: wrap;
}
.search-categories__list form ul li ul li {
  padding: 0.3rem;
}
.search-categories__list form ul li ul li[aria-hidden=true] {
  display: none;
}
.search-categories__list form ul li ul li:has(input[value=""]) {
  display: none;
}
.search-categories__list form ul li ul label {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 1rem;
  background-color: white;
  border-radius: 0.4rem;
  border: 0.1rem solid rgb(var(--color-border));
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
  cursor: pointer;
  transition-duration: 0.3s;
}
.search-categories__list form ul li ul label > span {
  display: none !important;
}
.search-categories__list form ul li ul label:hover {
  background-color: rgb(var(--color-theme-primary-thin));
  border-color: rgb(var(--color-theme-primary));
}
@media screen and (max-width: 750px) {
  .search-categories__list form ul li ul {
    gap: 0.8rem;
  }
  .search-categories__list form ul li ul li {
    width: calc((100% - 0.8rem) / 2);
    padding: 0;
  }
  .search-categories__list form ul li ul li:nth-child(-n+7) {
    width: calc((100% - 1.6rem) / 3);
  }
  .search-categories__list form ul li ul li:nth-child(-n+7) label {
    position: relative;
    aspect-ratio: 1/1;
    border: 0;
    color: white;
        font-size: 2.6rem;
        z-index: 0;
        padding: 0;
  }
  .search-categories__list form ul li ul li:nth-child(-n+7) label::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgb(var(--color-theme-primary-thin)) var(--term-thumb) no-repeat 50% 50%/cover;
    z-index: -1;
  }
  .search-categories__list form ul li ul label {
    font-size: 3rem;
  }
}
@media screen and (min-width: 751px) {
  .search-categories__list form [data-sf-field-name=_sfm_food_type] ul [data-sf-count]:nth-child(-n+9) {
    width: 12.5%;
    margin-bottom: 2.5rem;
    margin-right: 0;
  }
  .search-categories__list form [data-sf-field-name=_sfm_food_type] ul [data-sf-count]:nth-child(-n+9) label {
    aspect-ratio: 1/1;
    background: rgb(var(--color-theme-primary-thin)) var(--term-thumb) no-repeat 50% 50%/cover;
    border-color: transparent;
    color: white;
    font-size: 2rem;
  }
  .search-categories__list form [data-sf-field-name=_sfm_food_type] ul [data-sf-count]:nth-child(-n+9) label:hover {
    border-color: rgb(var(--color-theme-primary));
  }
  .search-categories__list form [data-sf-field-name=_sfm_food_type] ul [data-sf-count]:nth-child(9) {
    margin-right: 0;
  }
}
@media screen and (min-width: 751px) {
  .search-categories__list form [data-sf-field-name=_sfm_area] ul [data-sf-count]:nth-child(-n+9) {
    width: calc((100% - 3.6rem) / 4);
    margin-right: 1.2rem;
    margin-bottom: 2.5rem;
  }
  .search-categories__list form [data-sf-field-name=_sfm_area] ul [data-sf-count]:nth-child(-n+9) label {
    display: grid;
    grid-template-columns: 8.8rem 1fr;
    align-items: center;
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
    border-radius: 0.4rem;
    font-size: 2rem;
    overflow: hidden;
    padding: 0;
    text-align: left;
  }
  .search-categories__list form [data-sf-field-name=_sfm_area] ul [data-sf-count]:nth-child(-n+9) label::before {
    content: "";
    display: block;
    aspect-ratio: 1/1;
    background: rgb(var(--color-theme-primary-thin)) var(--term-thumb) no-repeat 50% 50%/cover;
  }
  .search-categories__list form [data-sf-field-name=_sfm_area] ul [data-sf-count]:nth-child(5), .search-categories__list form [data-sf-field-name=_sfm_area] ul [data-sf-count]:nth-child(9) {
    margin-right: 0;
  }
  .search-categories__list form [data-sf-field-name=_sfm_area] ul [data-sf-count]:nth-child(-n+5) {
    margin-bottom: 0.7rem;
  }
}
@media screen and (max-width: 750px) {
  .search-categories__list form [data-sf-field-name=_sfm_area] ul li label::before {
    filter: brightness(0.5);
  }
}
@media screen and (max-width: 750px) {
  .search-categories__list {
    margin-inline: calc(var(--padding-x-base) * -1);
  }
}
.search-categories__button {
  --button-square-padding-block: 2rem;
  --button-square-border-color: transparent;
  --button-square-width: 100%;
  margin-top: 2rem;
  margin-inline: calc(var(--padding-x-base) * -1);
  padding-inline: var(--padding-x-base);
  border-top: 0.1rem solid rgb(var(--color-border));
}
.socials {
  display: flex;
  flex-wrap: wrap;
  gap: var(--socials-gap, 1.2rem);
}
.socials__item {
  width: var(--socials-icon-size);
}
.socials-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.8rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .socials-group {
    row-gap: 2.4rem;
  }
}
.socials-group__title {
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .socials-group__title {
    font-size: 3.6rem;
  }
}
:root {
  --title-margin-bottom: 1rem;
  --title-icon-size: 3.2rem;
  --title-font-size: 2.8rem;
  --title-gap: 0.8rem;
}
@media screen and (max-width: 750px) {
  :root {
    --title-margin-bottom: 1rem;
    --title-icon-size: 4rem;
    --title-font-size: 3.2rem;
    --title-gap: 2rem;
  }
}
.c-title {
  display: flex;
  align-items: center;
  gap: var(--title-gap);
  margin-bottom: var(--title-margin-bottom);
}
.c-title:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .c-title {
    gap: 1.6rem;
  }
}
.c-title__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.3rem;
  width: var(--title-icon-size);
  aspect-ratio: 1/1;
}
.c-title__icon img {
  width: 100%;
}
.c-title__name {
  font-size: var(--title-font-size);
  font-weight: 700;
  line-height: 1.4642857143;
}
.c-title__control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--title-margin-bottom);
}
.c-title__control .c-title {
  margin-bottom: 0;
}
@media screen and (max-width: 750px) {
  .c-title__control--centerSP {
    justify-content: center;
  }
}
:root {
  --view-value-font-size: 1.4rem;
}
@media screen and (max-width: 750px) {
  :root {
    --view-value-font-size: 2.8rem;
  }
}
.view {
  position: var(--view-position);
  inset: var(--view-inset);
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  -moz-column-gap: 0.4rem;
       column-gap: 0.4rem;
  color: rgb(var(--color-theme-primary));
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2142857143;
}
.view em {
  font-size: var(--view-value-font-size);
}
@media screen and (max-width: 750px) {
  .view {
    font-size: 2.4rem;
  }
  .view em {
    -moz-column-gap: 0.8rem;
         column-gap: 0.8rem;
  }
}
.fixed {
  --button-padding-block: 0.8rem;
  --button-width: 25rem;
  --button-height: 100%;
  --button-square-padding-block: 0.8rem;
  --button--square-width: 25rem;
  --button--square-height: 100%;
  position: sticky;
  bottom: 0;
  inset-inline: 0;
  background: white;
  box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.25);
  z-index: 90;
}
@media screen and (min-width: 751px) {
  .fixed {
    padding-block: 0.8rem;
  }
}
@media screen and (max-width: 750px) {
  .fixed {
    --button-padding-block: 1.6rem;
    --button-radius: 0;
    --button-width: 100%;
    --button-font-size: 2.6rem;
    --button-square-padding-block: 1.6rem;
    --button-square-radius: 0;
    --button-square-width: 100%;
    --button-square-font-size: 2.6rem;
  }
}
.fixed__menu {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 751px) {
  .fixed__menu {
    gap: 1.6rem;
  }
}
@media screen and (max-width: 750px) {
  .fixed__menu-item {
    flex: 1;
  }
  .fixed__menu-item .button {
    --icon-aspect-ratio: 1 / 1;
    flex-direction: column;
  }
}
:root {
  --social-color-fb: #1877F2;
  --social-color-ins: linear-gradient(90deg, #FF9C4A, #E44C75, #854DB9);
  --social-color-x: black;
  --social-color-line: #06C655;
}
.follow-us {
  margin-top: 4.8rem;
}
@media screen and (max-width: 750px) {
  .follow-us {
    margin-inline: calc(var(--padding-x-base) * -1);
    padding-bottom: 4rem;
    padding-inline: var(--padding-x-base);
    border-bottom: 1rem solid rgb(var(--color-theme-primary-thin));
  }
}
.follow-us .follow-us-title {
  font-family: "Mitr", sans-serif;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: 1rem;
}
@media screen and (max-width: 750px) {
  .follow-us .follow-us-title {
    font-size: 4rem;
    margin-bottom: 2rem;
  }
}
.follow-us .follow-us-list {
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.follow-us .follow-us-list > li {
  width: calc((100% - 2rem) / 3);
}
.follow-us .follow-us-list__button {
  position: relative;
  display: block;
  border-radius: 0.4rem;
  font-weight: 700;
  text-align: center;
  color: white;
  line-height: 1.1875;
  padding: 1rem 3rem;
}
.follow-us .follow-us-list__button::after {
  --icon-mask: url(../img/common/ico_arrow_blank.svg);
  --icon-color: currentColor;
  --icon-size: 2rem;
  content: "";
  position: absolute;
  inset-block: 0;
  margin-block: auto;
  overflow: hidden;
  right: 1rem;
  width: var(--icon-size);
  aspect-ratio: var(--icon-aspect-ratio);
  -webkit-mask: var(--icon-mask) no-repeat 50% 50%/contain;
          mask: var(--icon-mask) no-repeat 50% 50%/contain;
  background-color: var(--icon-color, currentColor);
}
.follow-us .follow-us-list__button:hover {
  opacity: 0.6;
}
.follow-us .follow-us-list__button--fb {
  background: var(--social-color-fb);
}
.follow-us .follow-us-list__button--ins {
  background: var(--social-color-ins);
}
.follow-us .follow-us-list__button--x {
  background: var(--social-color-x);
}
.follow-us .follow-us-list__button--line {
  background: var(--social-color-line);
}
@media screen and (max-width: 750px) {
  .follow-us .follow-us-list__button {
    padding: 2rem;
    font-size: 2.8rem;
  }
}
.nav-local {
  margin-top: 3rem;
  -o-border-image: linear-gradient(180deg, transparent calc(100% - 0.4rem), rgb(var(--color-theme-primary)) calc(100% - 0.4rem), rgb(var(--color-theme-primary))) 0 fill/1/0 50vw;
     border-image: linear-gradient(180deg, transparent calc(100% - 0.4rem), rgb(var(--color-theme-primary)) calc(100% - 0.4rem), rgb(var(--color-theme-primary))) 0 fill/1/0 50vw;
  line-height: 1.2222222222;
}
@media screen and (min-width: 751px) {
  .nav-local {
    grid-column: 1/span 2;
  }
}
@media screen and (max-width: 750px) {
  .nav-local {
    margin-top: 2rem;
    padding-bottom: 4rem;
    -o-border-image: linear-gradient(180deg, transparent calc(100% - 0.8rem), rgb(var(--color-theme-primary)) calc(100% - 0.8rem), rgb(var(--color-theme-primary))) 0 fill/1/0 50vw;
       border-image: linear-gradient(180deg, transparent calc(100% - 0.8rem), rgb(var(--color-theme-primary)) calc(100% - 0.8rem), rgb(var(--color-theme-primary))) 0 fill/1/0 50vw;
  }
}
.nav-local__list {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}
@media screen and (max-width: 750px) {
  .nav-local__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem;
  }
}
.nav-local__list-item {
  flex: 1;
}
@media screen and (min-width: 751px) {
  .nav-local__list-item {
    max-width: 50%;
  }
}
@media screen and (max-width: 750px) {
  .nav-local__list-item--coupon {
    grid-column: 1/span 2;
    order: -1;
  }
}
.nav-local__list-button {
  position: relative;
  display: block;
  text-align: center;
  padding: 1.2rem 3rem 1rem;
  background-color: rgb(var(--color-theme-primary));
  border: 0.1rem solid rgb(var(--color-theme-primary));
  color: white;
  font-weight: 700;
  font-size: 1.8rem;
}
.nav-local__list-button::after {
  content: "";
  display: block;
  position: absolute;
  right: 2rem;
  top: 50%;
  width: 0.9rem;
  aspect-ratio: 1/1;
  border: 0.2rem solid currentColor;
  border-width: 0 0.2rem 0.2rem 0;
  rotate: 45deg;
  translate: 0 -50%;
}
.nav-local__list-button:hover {
  background-color: white;
  color: rgb(var(--color-theme-primary));
  translate: 0 -0.2rem;
}
@media screen and (max-width: 750px) {
  .nav-local__list-button {
    padding: 2.4rem 3rem 2.4rem 1rem;
    font-size: 2.4rem;
  }
  .nav-local__list-button::after {
    right: 3.2rem;
    width: 1.8rem;
    border-width: 0 0.4rem 0.4rem 0;
  }
}
.post {
  font-size: 1.5rem;
}
.post > :is(p, ul, ol, figure, div) {
  margin-block: 3.2rem;
}
.post h3 {
  margin-block: 3.2rem 2rem;
  padding-bottom: 1.2rem;
  border-bottom: 0.2rem solid rgb(var(--color-border-primary));
  font-size: 1.8rem;
}
.post ul {
  margin-left: 2rem;
}
.post ul li {
  list-style: disc;
}
.post ol {
  margin-left: 2rem;
}
.post ol li {
  list-style: decimal;
}
.post strong {
  font-weight: 700;
}
.post em {
  font-style: italic;
}
.post blockquote {
  position: relative;
  padding: 2rem 2rem 2rem 5rem;
  margin-bottom: 1.5rem;
  box-sizing: border-box;
  font-style: italic;
  background: #efefef;
  color: #555555;
}
.post blockquote:before {
  content: "“";
  display: inline-block;
  position: absolute;
  top: 1.5rem;
  left: 1rem;
  vertical-align: middle;
  color: #cfcfcf;
  font-size: 4rem;
  line-height: 1;
}
.post [class*="wp-image-"] {
	width: 100%;
}
@media screen and (max-width: 750px) {
  .post {
    font-size: 3rem;
  }
  .post :is(p, ul, ol, figure, div) {
    margin-block: 6.4rem;
  }
  .post blockquote {
    padding: 4rem 4rem 4rem 8rem;
  }
  .post blockquote::before {
    font-size: 8rem;
    top: 3rem;
    left: 2rem;
  }
  .post [class*="wp-image-"] {
    width: calc(100% + var(--padding-x-base) * 2);
    margin-inline: calc(var(--padding-x-base) * -1);
    max-width: none;
  }
}
/* 特集 */
.feature {
  position: relative;
  margin-bottom: 5.6rem;
}
.feature-list__item {
  margin-top: 1.1rem;
}
.feature-list__item:nth-child(1) {
  margin-top: 1.1rem;
}
.feature-list__item > a {
  overflow: hidden;
  position: relative;
}
.feature-list__item > a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.3) 50%) no-repeat;
  background-size: 200% 200%;
  z-index: 2;
  transition: background-position 0.3s ease-in-out;
}
.feature-list__item > a:hover::before {
  background-position: 100% 100%;
}
.feature-list__item figure {
  width: 100%;
}
@media screen and (max-width: 750px) {
  .feature {
    margin-bottom: 9.7rem;
  }
  .feature-list__item {
    margin-top: 1.4rem;
  }
  .feature-list__item:nth-child(1) {
    margin-top: 0;
  }
}
/* 人気記事ランキング */
.ranking {
  position: relative;
}
.ranking-list {
  display: flex;
  flex-direction: column;
  row-gap: 0.2rem;
  padding: 0 1rem;
}
.ranking-list__item > a {
  --view-position: absolute;
  --view-inset: auto 1.2rem 0.8rem auto;
  position: relative;
  display: grid;
  grid-template-columns: 8rem 1fr;
  align-items: center;
  -moz-column-gap: 1.2rem;
       column-gap: 1.2rem;
  padding: 0.8rem;
  background-color: rgb(var(--color-theme-primary-thin));
}
.ranking-list__item:nth-child(1) .num {
  background-color: rgb(var(--color-ranking-no1));
}
.ranking-list__item:nth-child(2) .num {
  background-color: rgb(var(--color-ranking-no2));
}
.ranking-list__item:nth-child(3) .num {
  background-color: rgb(var(--color-ranking-no3));
}
.ranking-list__item .num {
  position: absolute;
  top: 0;
  left: 0;
  width: 3.2rem;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgb(var(--color-theme-primary));
  color: white;
  font-size: 2rem;
  font-weight: 700;
  overflow: hidden;
  z-index: 1;
}
.ranking-list__item h3 {
  padding-block: 2rem;
  font-size: 1.4rem;
  line-height: 1.2857142857;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .ranking-list {
    row-gap: 0.4rem;
  }
  .ranking-list__item > a {
    --view-inset: auto 2.4rem 1.8rem auto;
    grid-template-columns: 16rem 1fr;
    -moz-column-gap: 2.4rem;
         column-gap: 2.4rem;
    padding: 1.6rem;
  }
  .ranking-list__item .num {
    width: 6.4rem;
    font-size: 4rem;
  }
  .ranking-list__item h3 {
    padding-block: 4rem;
    font-size: 2.8rem;
  }
}
/* 人気タグ */
.tags {
  position: relative;
}
.tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.tags-list__item > a {
  min-height: 3.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.2rem;
       column-gap: 0.2rem;
  padding: 0.7rem 1.2rem 0.6rem 0.8rem;
  border-radius: 0.4rem;
  border: 1px solid rgb(var(--color-border));
  font-size: 1.2rem;
  line-height: 1.2142857143;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.tags-list__item > a::before {
  content: "＃";
  color: rgb(var(--color-theme-primary));
}
@media screen and (min-width: 751px) {
  .tags-list__item > a:hover {
    background-color: rgb(var(--color-theme-primary-thin));
    border-color: rgb(var(--color-theme-primary));
  }
}
@media screen and (max-width: 750px) {
  .tags-list {
    gap: 0.8rem;
  }
  .tags-list__item > a {
    -moz-column-gap: 0.4rem;
         column-gap: 0.4rem;
    padding: 1.4rem 2.4rem 1.2rem 1.6rem;
    border-radius: 0.8rem;
    font-size: 2.4rem;
    border-width: 0.2rem;
  }
}
#breadcrumb {
  padding-block: 1.6rem 1rem;
  background-color: var(--page-header-color);
  -o-border-image: linear-gradient(180deg, var(--page-header-color), var(--page-header-color)) 0 fill/1/0 50vw;
     border-image: linear-gradient(180deg, var(--page-header-color), var(--page-header-color)) 0 fill/1/0 50vw;
  font-size: 1.4rem;
}
#breadcrumb ul {
  display: flex;
  align-items: center;
  overflow-x: auto;
}
#breadcrumb ul > li {
  position: relative;
  flex-shrink: 0;
}
#breadcrumb ul > li::before {
  content: "›";
  position: relative;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 1;
}
#breadcrumb ul > li > a {
  padding-inline: 0.8rem;
  font-weight: 700;
}
#breadcrumb ul > li > a[aria-current=location] {
  font-weight: 500;
  pointer-events: none;
}
#breadcrumb ul > li:first-child::before {
  content: none;
}
#breadcrumb ul > li:first-child > a {
  padding-left: 0;
}
@media screen and (max-width: 750px) {
  #breadcrumb {
    padding-block: 1rem;
    font-size: 2.4rem;
  }
  #breadcrumb ul li > a {
    padding-inline: 1.6rem;
  }
}
.footer {
  position: relative;
  margin-top: 8rem;
  padding-top: 6.4rem;
  background-color: rgb(var(--color-theme-primary-thin));
  font-size: 1.4rem;
  line-height: 1.2142857143;
}
@media screen and (min-width: 751px) {
  .footer {
    padding-inline: var(--padding-x-base);
  }
}
@media screen and (max-width: 750px) {
  .footer {
    margin-top: 9.6rem;
    padding-top: 9.6rem;
    font-size: 2.8rem;
  }
}
.footer-logo {
  flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .footer-logo {
    --logo-size: 32rem;
  }
}
.footer__upper, .footer__lower {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .footer__upper, .footer__lower {
    flex-direction: column;
    row-gap: 6.4rem;
  }
}
.footer__upper {
  align-items: center;
}
.footer__lower {
  margin-top: 6.4rem;
  padding-block: 3.2rem;
  background-color: rgb(var(--color-theme-primary));
  -o-border-image: linear-gradient(180deg, rgb(var(--color-theme-primary)), rgb(var(--color-theme-primary))) 0 fill/1/0 50vw;
     border-image: linear-gradient(180deg, rgb(var(--color-theme-primary)), rgb(var(--color-theme-primary))) 0 fill/1/0 50vw;
  color: white;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 751px) {
  .footer__lower {
    align-items: flex-end;
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 750px) {
  .footer__lower {
    margin-top: 8rem;
    padding-block: 6.4rem 4.8rem;
  }
}
.footer__title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
@media screen and (max-width: 750px) {
  .footer__title {
    font-size: 3.6rem;
  }
}
.footer__socials {
  display: flex;
  align-items: center;
  -moz-column-gap: 3.6rem;
       column-gap: 3.6rem;
  margin-block: 1.6rem;
}
@media screen and (max-width: 750px) {
  .footer__socials {
    flex-direction: column;
    row-gap: 2.4rem;
  }
  .footer__socials .footer__title {
    font-size: 2.8rem;
  }
}
.footer__sitemap {
  margin-top: 4.8rem;
}
@media screen and (max-width: 750px) {
  .footer__sitemap {
    margin-top: 8rem;
  }
}
.footer__sitemap-header {
  --icon-mask: url(../img/common/ico_arrow_right.svg);
  --icon-color: rgb(var(--color-theme-primary));
  --icon-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 1.2rem;
       column-gap: 1.2rem;
  margin-bottom: 1.6rem;
  padding-block: 1.2rem;
  padding-right: 1.8rem;
  border-bottom: 0.1rem solid rgb(var(--color-border-primary));
}
.footer__sitemap-header::after {
  content: "";
  flex-shrink: 0;
  width: var(--icon-size);
  aspect-ratio: var(--icon-aspect-ratio);
  -webkit-mask: var(--icon-mask) no-repeat 50% 50%/contain;
          mask: var(--icon-mask) no-repeat 50% 50%/contain;
  background-color: var(--icon-color, currentColor);
}
@media screen and (max-width: 750px) {
  .footer__sitemap-header {
    --icon-size: 2rem;
    margin-bottom: 3.2rem;
    padding-bottom: 3.2rem;
    padding-right: 3.2rem;
  }
}
.footer__sitemap-menu {
  display: grid;
  gap: 4rem 3.6rem;
}
@media screen and (min-width: 751px) {
  .footer__sitemap-menu {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  }
}
.footer__sitemap-submenu {
  display: grid;
  gap: 1.2rem 2.8rem;
}
@media screen and (max-width: 750px) {
  .footer__sitemap-submenu {
    gap: 2.4rem 5.6rem;
  }
}
.footer__sitemap-submenu--column {
  grid-template-columns: auto auto;
}
.footer__sitemap-subitem a {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 751px) {
  .footer__sitemap-subitem a::before {
    content: "";
    position: absolute;
    background-color: #000;
    bottom: 0;
    display: block;
    height: 1px;
    left: 0;
    transform: scaleX(0);
    transform-origin: top right;
    transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    width: 100%;
  }
  .footer__sitemap-subitem a:hover::before {
    transform: scale(1);
    transform-origin: top left;
  }
}
.footer__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 2.4rem;
}
@media screen and (min-width: 751px) {
  .footer__list {
    align-items: center;
  }
  .footer__list a {
    position: relative;
  }
  .footer__list a::before {
    content: "";
    position: absolute;
    background-color: #fff;
    bottom: 0;
    display: block;
    height: 1px;
    left: 0;
    transform: scaleX(0);
    transform-origin: top right;
    transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    width: 100%;
  }
}
@media screen and (min-width: 751px) and (min-width: 751px) {
  .footer__list a:hover::before {
    transform: scale(1);
    transform-origin: top left;
  }
}
@media screen and (max-width: 750px) {
  .footer__list {
    flex-direction: column;
    gap: 2.4rem 4.8rem;
  }
}
.footer__copyright {
  font-size: inherit;
  text-align: center;
}
.gNavi {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 99;
  background-color: rgb(var(--color-theme-primary-thin));
  color: rgb(var(--color-text-main));
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease-in-out;
}
.gNavi.show {
  opacity: 1;
  pointer-events: auto;
}
.gNavi-heading {
  padding: 1.4rem 3.2rem;
  display: flex;
  align-items: center;
}
.gNavi-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 54.6rem;
  padding: 4rem;
}
.gNavi-nav {
  max-width: 98rem;
  width: 100%;
  margin: 0 auto;
}
.gNavi-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5rem;
}
.gNavi-list__item {
  width: -moz-max-content;
  width: max-content;
}
.gNavi-list__item a {
  font-size: 1.6rem;
  line-height: 1.5625;
  display: inline-block;
  position: relative;
}
.gNavi-list__item > a {
  display: block;
  font-weight: 500;
  margin-bottom: 1.8rem;
}
.gNavi-list__item > a span {
  font-weight: inherit;
}
@media screen and (min-width: 751px) {
  .gNavi-list__item > a {
    width: -moz-fit-content;
    width: fit-content;
  }
  .gNavi-list__item > a::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 0.2rem;
    left: 0;
    bottom: -0.2rem;
    background-color: currentColor;
    z-index: 1;
  }
}
.gNavi-list__item--sub li + li {
  margin-top: 0.6rem;
}
@media screen and (min-width: 751px) {
  .gNavi-list__item--sub a::before {
    content: "";
    position: absolute;
    background-color: currentColor;
    bottom: 0;
    display: block;
    height: 1px;
    left: 0;
    transform: scaleX(0);
    transform-origin: top right;
    transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    width: 100%;
  }
  .gNavi-list__item--sub a:hover::before {
    transform: scale(1);
    transform-origin: top left;
  }
}
@media screen and (max-width: 750px) {
  .gNavi-inner {
    align-items: flex-start;
    overflow-y: scroll;
    height: calc(100% - 11rem);
  }
  .gNavi-heading {
    padding: 1.6rem 3.2rem;
  }
  .gNavi-nav {
    max-width: 100%;
  }
  .gNavi-list {
    display: block;
  }
  .gNavi-list__item {
    width: 100%;
    margin-top: 0;
    border-top: 0.2rem solid currentColor;
  }
  .gNavi-list__item:nth-child(1) {
    border-top: none;
  }
  .gNavi-list__item a {
    font-size: 3.2rem;
  }
  .gNavi-list__item > a {
    display: block;
    margin-bottom: 0;
    line-height: 2;
    padding: 2.5rem 0;
  }
  .gNavi-list__item--sub {
    position: relative;
    z-index: 1;
    pointer-events: inherit;
    max-height: 0;
    transition: max-height 0.3s ease-in-out;
    overflow: hidden;
    margin-top: 0;
    top: 0;
    left: 0;
  }
  .gNavi-list__item--sub li + li {
    margin-top: 0.6rem;
  }
  .gNavi-list__item--sub > li > a {
    font-size: 2.8rem;
    padding-left: 2rem;
    line-height: 2;
  }
}
.header {
  position: relative;
  padding: 1.2rem 3.2rem 1.3rem;
  background-color: rgb(var(--color-theme-primary));
  color: white;
}
@media screen and (max-width: 750px) {
  .header {
    padding: 1.5rem 11rem 1.5rem 4rem;
    position: sticky;
    width: 100%;
    top: 0;
    left: 0;
    padding: 1.6rem 3.2rem;
    transition: background-color 0.3s ease-in-out;
    z-index: 100;
  }
  .header.is-fixed {
    background-color: transparent;
    right: 0;
    left: auto;
  }
  .header.is-fixed .header-logo,
  .header.is-fixed .header__socials {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.header-logo {
  flex-shrink: 0;
}
.header-content {
  display: flex;
  align-items: center;
}
.header__nav {
  display: flex;
  align-items: center;
}
.header__menu {
  display: flex;
}
.header__menu-item {
  position: relative;
}
.header__menu-item:first-child {
  border-left: 0;
}
.header__menu-item:has(.dropdown) .header__menu-title::after {
  --icon-size: 1.2rem;
  --icon-color: currentColor;
  --icon-mask: url(../img/common/ico_arrow_down.svg);
  content: "";
  flex-shrink: 0;
  margin-left: 0.4rem;
  width: var(--icon-size);
  aspect-ratio: var(--icon-aspect-ratio);
  -webkit-mask: var(--icon-mask) no-repeat 50% 50%/contain;
          mask: var(--icon-mask) no-repeat 50% 50%/contain;
  background-color: var(--icon-color, currentColor);
}
.header__menu-item:has(.dropdown):hover .dropdown {
  opacity: 1;
  visibility: visible;
}
.header__menu-item:has(.dropdown):hover .header__menu-title::after {
  scale: 1 -1;
}
.header__menu-title {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.8rem;
       column-gap: 0.8rem;
  padding-inline: 3.2rem;
  color: inherit;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.2222222222;
}
.header__socials {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.4rem 3.2rem;
  border: solid currentColor;
  border-width: 0 0.1rem;
  transition: opacity 0.5s ease-in-out;
  display: none;
}
.header__socials > li {
  max-width: 5rem;
}
@media screen and (min-width: 751px) {
  .header__socials > li > a:hover {
    opacity: 0.7;
  }
}
.pagetop {
  position: sticky;
  right: 3rem;
  bottom: 5.6rem;
  margin-left: auto;
  width: 5.6rem;
  translate: 0 50%;
  z-index: 91;
}
.pagetop ~ .footer {
  margin-top: 0;
}
@media screen and (max-width: 750px) {
  .pagetop {
    right: 3.2rem;
    bottom: 12.4rem;
    width: 11.2rem;
    margin-top: 9.6rem;
  }
  body:has(.fixed) .pagetop {
    translate: 0 -2rem;
  }
}
.pagetop__button {
  display: block;
}
@media screen and (min-width: 751px) {
  .pagetop__button {
    transition-duration: 0.3s;
  }
  .pagetop__button:hover {
    scale: 1.04;
  }
}
/* Main */
.main {
  padding: 0 var(--padding-x-base);
}
@media screen and (max-width: 750px) {
  .main {
    padding: 0;
  }
}
.main-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 3rem;
  margin-top: 2.4rem;
}
.main article {
  align-self: stretch;
  max-width: 80rem;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .main aside {
    width: calc(100% - 83rem);
    position: sticky;
    bottom: 0;
    padding-bottom: 3rem;
  }
}
@media screen and (max-width: 750px) {
  .main-content {
    flex-direction: column;
    padding-inline: var(--padding-x-base);
    row-gap: 4.8rem;
  }
  .main aside {
    width: 100%;
  }
}
/* ==========================================
  article
============================================= */
/* 注目記事 */
.blog {
  position: relative;
  margin-top: 6.4rem;
}
.blog-list {
  display: flex;
  gap: 3.1rem 2rem;
  flex-wrap: wrap;
}
.blog-list__item {
  width: calc(33.3333333333% - 1.3333333333rem);
}
.blog-list__item figure {
  border-radius: 2rem;
  overflow: hidden;
  margin-bottom: 1rem;
}
.blog-list__item--content .cate {
  display: flex;
  gap: 0.9rem;
  flex-wrap: wrap;
  margin-bottom: 1.2rem;
}
.blog-list__item--content .cate li {
  border-radius: 1.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.3rem;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  padding: 1px 1rem;
}
.blog-list__item--content .tit {
  font-size: 1.6rem;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  line-height: 1.5625;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 1.2rem;
  color: #000;
}
.blog-list__item--content .date {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5384615385;
  color: #6b6b6b;
}
@media screen and (max-width: 750px) {
  .blog {
    margin-top: 8rem;
  }
  .blog-list {
    gap: 5.8rem;
  }
  .blog-list__item {
    width: 100%;
  }
  .blog-list__item figure {
    margin-bottom: 2.8rem;
    max-height: 30.5rem;
    border-radius: 2rem;
  }
  .blog-list__item--content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .blog-list__item--content .cate {
    gap: 0.7rem;
    margin-bottom: 1.5rem;
    order: 1;
  }
  .blog-list__item--content .cate li {
    font-size: 2.2rem;
    line-height: 1;
    padding: 0.6rem 1.3rem;
    min-height: 3.3rem;
  }
  .blog-list__item--content .tit {
    order: 3;
    font-size: 2.8rem;
    line-height: 1.25;
    margin-bottom: 0;
  }
  .blog-list__item--content .date {
    order: 2;
    font-size: 2.2rem;
  }
}
/* 観光スポット */
.attractions {
  position: relative;
  margin-bottom: 2.5rem;
}
.attractions-list {
  display: flex;
  gap: 2.3rem 2rem;
  flex-wrap: wrap;
}
.attractions-list__item {
  width: calc(33.3333333333% - 1.3333333333rem);
}
.attractions-list__item figure {
  margin-bottom: 0.9rem;
  position: relative;
}
.attractions-list__item figure::before, .attractions-list__item figure::after {
  content: "";
  position: absolute;
  z-index: 10;
}
.attractions-list__item figure::before {
  width: calc(100% - 1.4rem);
  height: calc(100% - 1.8rem);
  border: 1px solid #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.attractions-list__item figure::after {
  bottom: 0.9rem;
  right: 0.7rem;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 0 3.2rem 3.2rem;
  border-color: transparent transparent #fff transparent;
  transform: rotate(0deg);
}
.attractions-list__item h3 {
  font-size: 1.6rem;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  line-height: 1.5625;
  color: #000;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .attractions-list {
    gap: 4rem 1.3rem;
  }
  .attractions-list__item {
    width: calc(50% - 0.65rem);
  }
  .attractions-list__item figure {
    margin-bottom: 1.2rem;
  }
  .attractions-list__item figure::before {
    height: calc(100% - 2.2rem);
  }
  .attractions-list__item figure::after {
    bottom: 1.1rem;
    border-width: 0 0 4.2rem 4.2rem;
  }
  .attractions-list__item h3 {
    font-size: 2.4rem;
  }
}
/* グルメ・レストラン */
.restaurants {
  position: relative;
  margin-bottom: 2.5rem;
}
.restaurants-list {
  display: flex;
  gap: 2.3rem 2rem;
  flex-wrap: wrap;
}
.restaurants-list.col4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 750px) {
  .restaurants-list.col4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.restaurants-list.col4 .restaurants-list__item {
  width: 100%;
}
.restaurants-list__item {
  width: calc(33.3333333333% - 1.3333333333rem);
}
.restaurants-list__item figure {
  margin-bottom: 0.9rem;
  position: relative;
}
.restaurants-list__item figure::before, .restaurants-list__item figure::after {
  content: "";
  position: absolute;
  z-index: 10;
}
.restaurants-list__item figure::before {
  width: calc(100% - 1.4rem);
  height: calc(100% - 1.8rem);
  border: 1px solid #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.restaurants-list__item figure::after {
  bottom: 0.9rem;
  right: 0.7rem;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 0 3.2rem 3.2rem;
  border-color: transparent transparent #fff transparent;
  transform: rotate(0deg);
}
.restaurants-list__item h3 {
  font-size: 1.6rem;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  line-height: 1.5625;
  color: #000;
  text-align: center;
}
.restaurants-blog {
  margin-top: 2.5rem;
}
.restaurants-blog__item {
  padding: 1.5rem 2rem 1.5rem 0;
  border-top: 0.2rem solid #e8e8e8;
}
.restaurants-blog__item:nth-child(1) {
  border-top: none;
  padding: 0 2rem 1.5rem 0;
}
.restaurants-blog__item figure {
  border-radius: 2rem;
  overflow: hidden;
}
.restaurants-blog__item--link {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.restaurants-blog__item--content .cate {
  display: flex;
  gap: 0.9rem;
  flex-wrap: wrap;
  margin-bottom: 1.2rem;
}
.restaurants-blog__item--content .cate > li {
  border-radius: 1.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.3rem;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  padding: 1px 1rem;
}
.restaurants-blog__item--content .tit {
  font-size: 1.6rem;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  line-height: 1.5625;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 1.2rem;
  color: #000;
}
.restaurants-blog__item--content .date {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5384615385;
  color: #6b6b6b;
}
@media screen and (max-width: 750px) {
  .restaurants-list {
    gap: 4rem 1.3rem;
  }
  .restaurants-list__item {
    width: calc(50% - 0.65rem);
  }
  .restaurants-list__item figure {
    margin-bottom: 1.2rem;
  }
  .restaurants-list__item figure::before {
    height: calc(100% - 2.2rem);
  }
  .restaurants-list__item figure::after {
    bottom: 1.1rem;
    border-width: 0 0 4.2rem 4.2rem;
  }
  .restaurants-list__item h3 {
    font-size: 2.4rem;
  }
  .restaurants-blog {
    margin-top: 7.5rem;
  }
  .restaurants-blog__item {
    padding: 3.1rem 0 3.1rem;
  }
  .restaurants-blog__item:nth-child(1) {
    padding: 0 0 3.1rem;
  }
  .restaurants-blog__item figure {
    width: 21.4rem;
    height: 20.7rem;
    flex: 1 0 auto;
  }
  .restaurants-blog__item figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .restaurants-blog__item--link {
    gap: 2.6rem;
  }
  .restaurants-blog__item--content .cate {
    gap: 0.7rem;
    margin-bottom: 1.7rem;
  }
  .restaurants-blog__item--content .cate > li {
    font-size: 2.2rem;
    line-height: 1;
    padding: 0.6rem 1.4rem;
  }
  .restaurants-blog__item--content .tit {
    font-size: 2.8rem;
    line-height: 1.4285714286;
    margin-bottom: 1.4rem;
  }
  .restaurants-blog__item--content .date {
    font-size: 2.2rem;
    line-height: 1;
  }
}
/* ショッピング */
.shopping {
  position: relative;
}
.shopping-list {
  display: flex;
  gap: 2.3rem 2rem;
  flex-wrap: wrap;
}
.shopping-list__item {
  width: calc(33.3333333333% - 1.3333333333rem);
}
.shopping-list__item figure {
  margin-bottom: 0.9rem;
  position: relative;
}
.shopping-list__item figure::before, .shopping-list__item figure::after {
  content: "";
  position: absolute;
  z-index: 10;
}
.shopping-list__item figure::before {
  width: calc(100% - 1.4rem);
  height: calc(100% - 1.8rem);
  border: 1px solid #fff;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.shopping-list__item figure::after {
  bottom: 0.9rem;
  right: 0.7rem;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 0 3.2rem 3.2rem;
  border-color: transparent transparent #fff transparent;
  transform: rotate(0deg);
}
.shopping-list__item h3 {
  font-size: 1.6rem;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  line-height: 1.5625;
  color: #000;
  text-align: center;
}
.shopping-blog {
  margin-top: 5.4rem;
}
.shopping-blog__item {
  padding: 1.5rem 2rem 1.5rem 0;
  border-top: 0.2rem solid #e8e8e8;
}
.shopping-blog__item:nth-child(1) {
  border-top: none;
  padding: 0 2rem 1.5rem 0;
}
.shopping-blog__item figure {
  border-radius: 2rem;
  overflow: hidden;
}
.shopping-blog__item--link {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.shopping-blog__item--content .cate {
  display: flex;
  gap: 0.9rem;
  flex-wrap: wrap;
  margin-bottom: 1.2rem;
}
.shopping-blog__item--content .cate > li {
  border-radius: 1.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.3rem;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  padding: 1px 1rem;
}
.shopping-blog__item--content .tit {
  font-size: 1.6rem;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  line-height: 1.5625;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 1.2rem;
  color: #000;
}
.shopping-blog__item--content .date {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.5384615385;
  color: #6b6b6b;
}
@media screen and (max-width: 750px) {
  .shopping-list {
    gap: 4rem 1.3rem;
  }
  .shopping-list__item {
    width: calc(50% - 0.65rem);
  }
  .shopping-list__item figure {
    margin-bottom: 1.2rem;
  }
  .shopping-list__item figure::before {
    height: calc(100% - 2.2rem);
  }
  .shopping-list__item figure::after {
    bottom: 1.1rem;
    border-width: 0 0 4.2rem 4.2rem;
  }
  .shopping-list__item h3 {
    font-size: 2.4rem;
  }
  .shopping-blog {
    margin-top: 7.5rem;
  }
  .shopping-blog__item {
    padding: 3.1rem 0 3.1rem;
  }
  .shopping-blog__item:nth-child(1) {
    padding: 0 0 3.1rem;
  }
  .shopping-blog__item figure {
    width: 21.4rem;
    height: 20.7rem;
    flex: 1 0 auto;
  }
  .shopping-blog__item figure img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .shopping-blog__item--link {
    gap: 2.6rem;
  }
  .shopping-blog__item--content .cate {
    gap: 0.7rem;
    margin-bottom: 1.7rem;
  }
  .shopping-blog__item--content .cate > li {
    font-size: 2.2rem;
    line-height: 1;
    padding: 0.6rem 1.4rem;
  }
  .shopping-blog__item--content .tit {
    font-size: 2.8rem;
    line-height: 1.4285714286;
    margin-bottom: 1.4rem;
  }
  .shopping-blog__item--content .date {
    font-size: 2.2rem;
    line-height: 1;
  }
}
/* ==========================================
  aside
============================================= */
/* 観光スポット */
.asideAttractions {
  position: relative;
  margin-bottom: 5.6rem;
  min-height: 44.4rem;
}
.asideAttractions::before {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  pointer-events: none;
  background-image: url(../img/home/deco_map.png);
  width: 18.1rem;
  height: 18.1rem;
  bottom: -4.4rem;
  right: -6rem;
  z-index: 0;
}
.asideAttractions-boxList {
  display: flex;
  gap: 1.7rem;
  flex-wrap: wrap;
  padding: 0 0.8rem;
}
.asideAttractions-list {
  width: calc(50% - 0.85rem);
  display: flex;
  flex-direction: column;
  gap: 1.7rem;
}
.asideAttractions-list__item > a {
  display: flex;
  gap: 1.2rem;
  align-items: center;
}
.asideAttractions-list__item figure {
  position: relative;
  max-width: 5.4rem;
}
.asideAttractions-list__item h3 {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5625;
  color: #000;
  text-align: center;
}
#detail .main-content :is(h1, h2, h3, h4, h5, h6, p, div, figure):last-child {
  margin-bottom: 0;
}
#detail .main-content :is(h2, h3, h4, p, div, figure, ul, ol, section):first-child {
  margin-top: 0;
}
#detail .main-content :is(h2, h3, h4, p, div, figure, ul, ol, section):last-child {
  margin-bottom: 0;
}
#detail .detail__header {
  --detail-pic-height: 33rem;
  --detail-title-font-size: 2.4rem;
  --detail-title-margin-bottom: 0.6rem;
  display: grid;
  margin-bottom: 4rem;
  padding-bottom: 4.8rem;
  background-color: var(--page-header-color);
  -o-border-image: linear-gradient(180deg, var(--page-header-color), var(--page-header-color)) 0 fill/1/0 50vw;
     border-image: linear-gradient(180deg, var(--page-header-color), var(--page-header-color)) 0 fill/1/0 50vw;
  line-height: 1.5;
}
#detail .detail__header:has(.nav-local) {
  padding-bottom: 0;
}
#detail .detail__header .detail_pic {
  aspect-ratio: 46/33;
  margin-bottom: 0;
}
#detail .detail__footer {
  margin-top: 4rem;
}
#detail .detail__inner {
  max-width: 746px;
}
#detail .detail__inner section {
  margin-bottom: 4rem;
  padding: 0;
}
#detail .detail__inner h2 {
  margin-bottom: 1.6rem;
  padding: 1rem 0 1rem 1.6rem;
  border-left: 0.4rem solid rgb(var(--color-theme-primary));
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2083333333;
}
#detail .detail__content + .detail__content {
  margin-top: 5.8rem;
}
#detail .detail__content figure.larg {
  width: 100%;
  margin-top: 3.2rem;
  text-align: center;
}
#detail .detail__content .spot-info-title {
  --icon-size: 1em;
  display: flex;
  font-family: "Mitr", sans-serif;
  margin-top: 3.2rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.25;
  margin-bottom: -2.3rem;
}
@media screen and (max-width: 750px) {
  #detail .detail__content .spot-info-title {
    font-size: 2.8rem;
  }
}
#detail .detail__content .spot-info .c-title {
  padding-bottom: 0;
  border-bottom: 0;
}
#detail .detail__list {
  margin-top: 3.3rem;
  display: grid;
  gap: 2.4rem;
}
#detail .detail__list:first-child {
  margin-top: 0;
}
#detail .detail__list-item figure {
  width: 100%;
  max-height: 23.5rem;
  overflow: hidden;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 750px) {
  #detail .detail__list-item figure {
    height: auto !important;
    max-height: none !important;
  }

  #detail .detail__list-item figure img {
    width: 100%;
  }
}
#detail .detail__list-item h4 {
  margin-bottom: 0.8rem;
  font-size: 1.6rem;
  line-height: 1.5384615385;
  font-weight: 700;
}
#detail .detail__section {
  margin-top: 4.8rem;
  padding-top: 4.8rem;
  border-top: 0.1rem solid rgb(var(--color-border));
}
#detail .detail__section:first-child {
  margin-top: 0;
}
#detail .detail_ttl {
  font-family: var(--detail-title-font-family, "Mitr", sans-serif);
  font-size: var(--detail-title-font-size, 4rem);
  font-weight: 700;
  line-height: 1.4583333333;
  margin-bottom: var(--detail-title-margin-bottom, 1.9rem);
}
#detail .detail_meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 2rem;
  padding-bottom: 1.6rem;
  border-bottom: 0.1rem solid rgb(var(--color-border-primary));
  font-size: 1.5rem;
}
#detail .detail_meta .detail_label {
  margin-bottom: 0;
}
#detail .detail_meta .tel {
  --icon-gap: 0.8rem;
  --icon-size: 1em;
  flex-shrink: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1666666667;
}
#detail .detail_meta--list {
  flex-direction: column;
  align-items: stretch;
  border-bottom: 0;
  padding-bottom: 0;
}
#detail .detail_label {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-bottom: 1.5rem;
}
#detail .detail_label .date {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  color: #8f8f8f;
}
#detail .detail_label .cate {
  display: flex;
  align-items: center;
  gap: 1rem 1.6rem;
  flex-wrap: wrap;
}
#detail .detail_pic {
  width: 100%;
  margin-bottom: 3.3rem;
}
#detail .detail_pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#detail .detail_desc {
  margin-bottom: 2.4rem;
  line-height: 1.5;
}
#detail .detail_list {
  max-width: 59rem;
  margin: 0 auto 3rem;
  border-radius: 1rem;
  border: 1px solid #91cace;
  padding: 2.7rem 2.4rem;
}
#detail .detail_list.showmore {
  max-height: 400px;
  overflow: hidden;
  position: relative;
}
#detail .detail_list.showmore::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 150px;
  background: linear-gradient(to bottom, rgba(255, 254, 251, 0), rgb(255, 254, 251));
}
#detail .detail_list.showmore .btn-more {
  display: flex;
}
#detail .detail_list .btn-more {
  display: none;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 3rem;
  left: 0;
  right: 0;
  z-index: 2;
  margin-left: auto;
  margin-right: auto;
  width: 120px;
  height: 36px;
  border: 1px solid #000;
  background-color: #000;
  border-radius: 18px;
  color: #fff;
  text-align: center;
}
#detail .detail_list .btn-more:hover {
  opacity: 0.8;
}
#detail .detail_list > h3 {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  color: #000;
  margin-top: -1rem;
  margin-bottom: 1rem;
}
#detail .detail_list > ul > li {
  display: flex;
  gap: 2.1rem;
}
@media screen and (min-width: 751px) {
  #detail .detail_list > ul > li a {
    position: relative;
    transition: opacity 0.3s ease-in-out;
  }
  #detail .detail_list > ul > li a:hover {
    opacity: 0.7;
    text-decoration: underline;
  }
}
#detail .detail_list > ul > li .num {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  color: #f76a18;
  white-space: nowrap;
}
#detail .detail_list > ul > li .num > span {
  border-bottom: 0.2rem solid #f76a18;
}
#detail .detail_list > ul > li .text > h4 {
  font-size: 1.6rem;
  line-height: 1.9375;
  font-family: "Mitr", sans-serif;
  font-weight: 500;
  color: #000;
  transition: opacity 0.3s ease;
}
#detail .detail_list > ul > li .text > .sub li {
  font-size: 1.6rem;
  line-height: 1.9375;
  font-weight: 400;
  color: #000;
  position: relative;
  padding-left: 1.4rem;
}
#detail .detail_list > ul > li .text > .sub li::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0.5rem 0 0.5rem 1rem;
  border-color: transparent transparent transparent #ff4532;
  transform: rotate(0deg);
  z-index: 1;
}
#detail .detail_button-block {
  text-align: center;
  margin-top: 2.4rem;
}
#detail .detail_gallery {
  --slide-aspect-ratio: 652 / 420;
  --slide-row-gap: 0.4rem;
}
@media screen and (min-width: 751px) {
  #detail .detail__header {
    grid-template-columns: 1fr 50rem;
    -moz-column-gap: 4rem;
         column-gap: 4rem;
  }
  #detail .detail__inner {
    --table-term-width: 22rem;
  }
  #detail .detail__list {
    grid-template-columns: repeat(2, 1fr);
  }
  #detail .detail__list-item figure {
    height: 100%;
  }
  #detail .detail__list-item figure img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 750px) {
  #detail .detail__header {
    --detail-title-margin-bottom: 0rem;
    margin-bottom: 4rem;
    padding-bottom: 4rem;
    row-gap: 1rem;
    -o-border-image: none;
       border-image: none;
    border-bottom: 0.8rem solid rgb(var(--color-theme-primary));
  }
  #detail .detail__header:has(.nav-local) {
    border-bottom-width: 0;
  }
  #detail .detail__header .detail_pic {
    aspect-ratio: 329/220;
  }
  #detail .detail__header .detail_desc {
    margin-block: 1rem 0;
  }
  #detail .detail__footer {
    margin-top: 4.8rem;
  }
  #detail .detail__inner {
    max-width: 100%;
  }
  #detail .detail__inner section {
    margin-bottom: 2rem;
    margin-inline: calc(var(--padding-x-base) * -1);
    padding-bottom: 4rem;
    padding-inline: var(--padding-x-base);
    border-bottom: 1rem solid rgb(var(--color-theme-primary-thin));
  }
  #detail .detail__inner section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
  }
  #detail .detail__inner h2 {
    margin-bottom: 2rem;
    padding: 0 0 0 3.2rem;
    border-left-width: 0.8rem;
    font-size: 3.5rem;
  }
  #detail .detail__inner table {
    width: auto;
    margin-inline: calc(var(--padding-x-base) * -1);
  }
  #detail .detail__inner table, #detail .detail__inner table thead, #detail .detail__inner table tbody, #detail .detail__inner table tr {
    display: grid;
  }
  #detail .detail__inner table th, #detail .detail__inner table td {
    display: block;
  }
  #detail .detail__content + .detail__content {
    margin-top: 6.5rem;
  }
  #detail .detail__content h3 {
    font-size: 3.2rem;
    line-height: 1.875;
    padding-left: 2rem;
  }
  #detail .detail__content h3::before {
    border-width: 0.8rem 0 0.8rem 1.2rem;
  }
  #detail .detail__content figure.larg {
    width: auto;
    margin-inline: calc(var(--padding-x-base) * -1);
  }
  #detail .detail__list {
    margin-top: 6.2rem;
    gap: 1rem;
  }
  #detail .detail__list-item figure {
    max-height: 20.5rem;
    width: auto;
    margin-bottom: 1rem;
    margin-inline: calc(var(--padding-x-base) * -1);
  }
  #detail .detail__list-item h4 {
    margin-bottom: 0;
    font-size: 3.2rem;
  }
  #detail .detail__section {
    --title-font-size: 4.8rem;
    --icon-size: 5.6rem;
    margin-inline: calc(var(--padding-x-base) * -1);
    padding-top: 4rem;
    padding-inline: var(--padding-x-base);
  }
  #detail .detail_info {
    display: contents;
  }
  #detail .detail_meta:first-child, #detail .detail_ttl, #detail .detail_pic {
    order: -1;
  }
  #detail .detail_meta {
    align-items: stretch;
    flex-direction: column;
    row-gap: 1.2rem;
    margin-bottom: 0;
    padding-bottom: 1.2rem;
    font-size: 2.8rem;
  }
  #detail .detail_meta .tel {
    margin-block: 1rem 0;
    font-size: 5.2rem;
  }
  #detail .detail_meta--list {
    row-gap: 1rem;
    padding-bottom: 0;
  }
  #detail .detail_ttl {
    margin: 1rem;
    font-size: 5rem;
  }
  #detail .detail_label {
    gap: 1.2rem 2rem;
  }
  #detail .detail_label .date {
    font-size: 2.2rem;
  }
  #detail .detail_label .cate_label {
    padding: 0.5rem 1.9rem;
    font-size: 2.2rem;
    line-height: 1.1363636364;
  }
  #detail .detail_pic {
    height: auto;
    width: auto;
    margin-inline: calc(var(--padding-x-base) * -1);
    margin-bottom: 2.1rem;
  }
  #detail .detail_desc {
    margin-bottom: 2rem;
    font-size: 3rem;
  }
  #detail .detail_list {
    max-width: 100%;
    margin: 0 auto 6.8rem;
    padding: 4.3rem 5rem;
  }
  #detail .detail_list > h3 {
    font-size: 2.8rem;
    line-height: 1.0714285714;
  }
  #detail .detail_list > ul > li {
    gap: 1.5rem;
    margin-bottom: 4rem;
  }
  #detail .detail_list > ul > li:last-child {
    margin-bottom: 0;
  }
  #detail .detail_list > ul > li .num {
    font-size: 2.8rem;
    line-height: 1.25;
  }
  #detail .detail_list > ul > li .text > h4 {
    font-size: 2.8rem;
    line-height: 1.1071428571;
    margin-bottom: 1.3rem;
  }
  #detail .detail_list > ul > li .text > .sub li {
    font-size: 2.8rem;
    line-height: 1.1071428571;
    padding-left: 1.8rem;
    margin-bottom: 1.3rem;
  }
  #detail .detail_list > ul > li .text > .sub li:last-child {
    margin-bottom: 0;
  }
  #detail .detail_list > ul > li .text > .sub li::before {
    border-width: 0.8rem 0 0.8rem 1.2rem;
  }
  #detail .detail_button-block {
    margin-top: 2.4rem;
  }
  #detail .detail_gallery {
    --slide-arrow-position-x: var(--padding-x-base);
    --slide-row-gap: 0.8rem;
    margin-inline: calc(var(--padding-x-base) * -1);
  }
  #detail .detail_gallery #detail-main-carousel {
    aspect-ratio: var(--slide-aspect-ratio);
    overflow: hidden;
  }
  #detail .detail_gallery #detail-main-carousel .splide__slide {
    height: 100%;
  }
}
.access .gmap {
  margin-top: 2rem;
}
.access .gmap.hidden {
  display: none;
}
@media screen and (max-width: 750px) {
  .access .gmap {
    margin-top: 4rem;
  }
}
.access .gmap-btn {
  margin-top: 2rem;
  margin-bottom: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 38px;
  border: 1px solid #F76A18;
  border-radius: 20px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 750px) {
  .access .gmap-btn {
    margin-top: 0;
  }
}
.access .gmap-btn.hidden {
  display: none;
}
.access .gmap-btn:hover .text {
  text-decoration: underline;
}
.access .gmap-btn .text {
  font-family: "Mitr", sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .access .gmap-btn .text {
    font-size: 2.2rem;
  }
}
.recom-list {
  margin-top: 30px;
  margin-bottom: 30px;
}
.recom-list .label {
  display: table;
  padding: 5px 16px;
  font-size: 16px;
  line-height: 26px;
  font-weight: 600;
  color: #fff;
  background-color: #F76A18;
}
.recom-list .list + .list {
  margin-top: 15px;
}
.recom-list .list a {
  display: flex;
  align-items: center;
  padding: 15px;
  border: 2px solid #EAB881;
  gap: 20px;
  background-color: #fffefb;
}
@media screen and (max-width: 750px) {
  .recom-list .list a {
    display: block;
  }
}
.recom-list .list a:hover .cover img {
  transform: scale(1.1);
}
.recom-list .list a:hover .brief h5 {
  text-decoration: underline;
}
.recom-list .list a .cover {
  width: 25%;
  overflow: hidden;
  border-radius: 2rem;
}
@media screen and (max-width: 750px) {
  .recom-list .list a .cover {
    width: 100%;
    border-radius: 1rem;
  }
}
.recom-list .list a .cover img {
  width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}
.recom-list .list a .brief {
  width: 75%;
}
@media screen and (max-width: 750px) {
  .recom-list .list a .brief {
    width: 100%;
    margin-top: 10px;
  }
}
.recom-list .list a .brief h5 {
  font-size: 16px;
  line-height: 26px;
  color: #000;
  margin-bottom: 8px;
}
.recom-list .list a .brief h5.color-orange {
  color: #F76A18;
}
.recom-list .list a .brief p {
  font-size: 12px !important;
  line-height: 22px !important;
  color: #5F5F5F !important;
}
[data-post-type=restaurant] {
  --page-header-color: rgb(var(--color-theme-primary-thin));
}
.home-blog-kol {
  --banner-aspect-ratio: 208 / 120;
  position: relative;
}
@media screen and (min-width: 751px) {
  .home-blog-kol {
    margin-top: 6rem;
    --section-padding-block: 4rem;
    background-color: rgb(var(--color-theme-primary-thin));
    -o-border-image: linear-gradient(180deg, rgb(var(--color-theme-primary-thin)), rgb(var(--color-theme-primary-thin))) 0 fill/1/0 50vw;
       border-image: linear-gradient(180deg, rgb(var(--color-theme-primary-thin)), rgb(var(--color-theme-primary-thin))) 0 fill/1/0 50vw;
  }
}
.home-blog-kol__container {
  display: grid;
  position: static;
}
@media screen and (min-width: 751px) {
  .home-blog-kol__container {
    grid-template-columns: auto 1fr;
    align-items: center;
    -moz-column-gap: 4.4rem;
         column-gap: 4.4rem;
  }
}
@media screen and (max-width: 750px) {
  .home-blog-kol__container {
    row-gap: 1.8rem;
  }
}
.home-blog-kol__title {
  position: absolute;
  inset-inline: 0;
  top: 0;
  display: flex;
  justify-content: center;
  translate: 0 -50%;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .home-blog-kol__title {
    --title-font-size: 4rem;
    --title-icon-size: 4rem;
  }
}
.home-blog-kol__subtitle {
  display: flex;
  flex-direction: column;
  row-gap: 0.9rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
.home-blog-kol__subtitle-label {
  color: rgb(var(--color-theme-primary));
  font-size: 1.5rem;
  font-weight: 500;
}
@media screen and (max-width: 750px) {
  .home-blog-kol__subtitle {
    font-size: 4rem;
    margin-inline: var(--padding-x-base);
	  margin-top: 14px;
  }
  .home-blog-kol__subtitle-label {
    font-size: 3rem;
  }
}
.home-categories {
  padding-block: 3rem 6rem;
}
.home-categories + .home-section {
  margin-top: 0;
}
.home-section {
  margin-top: 6.4rem;
}
.home-section:first-child {
  margin-top: 0;
}
.home-section:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 751px) {
  .home-section--bg {
    padding-block: var(--section-padding-block, 6.4rem);
    background-color: rgb(var(--color-theme-primary-thin));
    -o-border-image: linear-gradient(180deg, rgb(var(--color-theme-primary-thin)), rgb(var(--color-theme-primary-thin))) 0 fill/1/0 50vw;
       border-image: linear-gradient(180deg, rgb(var(--color-theme-primary-thin)), rgb(var(--color-theme-primary-thin))) 0 fill/1/0 50vw;
  }
}
@media screen and (max-width: 750px) {
  .home-section {
    position: relative;
    margin-block: 4rem;
    margin-inline: calc(var(--padding-x-base) * -1);
    padding-inline: var(--padding-x-base);
    padding-bottom: 4rem;
  }
  .home-section::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    translate: -50% 0;
    width: 100vw;
    border-bottom: 1rem solid rgb(var(--color-theme-primary-thin));
  }
}
.home-section__button {
  margin-top: 5rem;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .home-section__button {
    margin-top: 4rem;
  }
}
/* MainVisual */
.home-fv {
  --fv-height: 35.6rem;
  position: relative;
  display: flex;
}
@media screen and (min-width: 751px) {
  .home-fv {
    min-height: var(--fv-height);
  }
}
@media screen and (max-width: 750px) {
  .home-fv {
    --fv-height: 51.6rem;
    flex-direction: column;
  }
}
.home-fv__image ul li {
  width: 100%;
  height: var(--fv-height);
  overflow: hidden;
}
.home-fv__image picture {
  height: 100%;
}
.home-fv__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 751px) {
  .home-fv__image {
    align-self: stretch;
    margin-inline: calc(var(--padding-x-base) * -1);
  }
}
@media screen and (max-width: 750px) {
  .home-fv:has(.home-fv__title) .home-fv__image {
    filter: brightness(0.6);
  }
}
.home-fv__container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 751px) {
  .home-fv__container {
    position: absolute;
    inset: 0;
    padding-block: 4.8rem;
  }
}
@media screen and (max-width: 750px) {
  .home-fv__container {
    margin-top: -11.6rem;
    padding-inline: var(--padding-x-base);
  }
}
@media screen and (max-width: 750px) {
  .home-fv__title {
	  font-size: 4.8rem;
        font-weight: bold;
        text-align: center;
        line-height: 1.2;
  }
}
@media screen and (min-width: 751px) {
  .home-fv__title-wrapper {
    position: absolute;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    padding: 0;
    width: 1px;
    white-space: nowrap;
  }
}
@media screen and (max-width: 750px) {
  .home-fv__title-wrapper {
    position: absolute;
    inset: 0 var(--padding-x-base);
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: var(--fv-height);
    padding-block: 3rem 14.6rem;
    text-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.6);
    color: white;
  }
}
.home-recommend-coupon {
  --slide-arrow-position-x: calc((var(--slide-arrow-size) + 1.6rem) * -1);
  position: relative;
}
@media screen and (min-width: 751px) {
  .home-recommend-coupon {
    margin-top: -8.5rem;
  }
}
@media screen and (max-width: 750px) {
  .home-recommend-coupon {
    --slide-arrow-position-x: calc(var(--slide-arrow-size) / 2 * -1);
    margin-inline: 3.2rem;
  }
  .home-recommend-coupon .splide__arrow {
    translate: 0 -4rem;
  }
}
.home-recommend-restaurant {
  --container-width: 104rem;
  --slide-arrow-position-x: calc((var(--slide-arrow-size) + 1.6rem) * -1);
  position: relative;
  padding-bottom: 13.3rem;
}
@media screen and (max-width: 750px) {
  .home-recommend-restaurant {
    --slide-arrow-position-x: var(--padding-x-base);
    padding-bottom: 0;
  }
}
.home-recommend-restaurant__slider {
  margin-inline: calc(var(--padding-x-base) * -1);
}