
/*** The new CSS Reset - version 1.3.1 (last updated 28.10.2021) ***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
 */
*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove list styles (bullets/numbers) */
ol, ul {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-width: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

:root {
  --base-color: #2B2B2B;
  --dark-color: #666666;
  --gray-color: #8C8C8C;
  --icon-color: #B3B3B3;
  --border-color: #D9D9D9;
  --bg-color: #F2F2F2;
  --link-color: #4A90E2;
  --red-color: #EC4D3D;
  --blue-color: #205896;
  --orange-color: #F5A623;
  --green-color: #95C709;
  --gold-bg-color: #FEFEE3;
}

.hidden {
  display: none !important;
}

@media (max-width: 640px) {
  .hidden-sp {
    display: none !important;
  }
}

@media (min-width: 640px) {
  .hidden-pc {
    display: none !important;
  }
}

.inline-block {
  display: inline-block !important;
}

.flex-center {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.flex-start {
  display: flex !important;
  justify-content: start !important;
  align-items: center !important;
}

.max-content {
  min-width: max-content;
}

.mw-50px {
  max-width: 50px !important;
}

.mw-100px {
  max-width: 100px !important;
}

.mw-200px {
  max-width: 200px !important;
}

.mw-300px {
  max-width: 300px !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-2px {
  margin-top: 2px !important;
}

.mt-4px {
  margin-top: 4px !important;
}

.mt-8px {
  margin-top: 8px !important;
}

.mt-12px {
  margin-top: 12px !important;
}

.mt-16px {
  margin-top: 16px !important;
}

.mt-24px {
  margin-top: 24px !important;
}

.mt-32px {
  margin-top: 32px !important;
}

.mt-48px {
  margin-top: 48px !important;
}

.mt-64px {
  margin-top: 64px !important;
}

.mt--2px {
  margin-top: -2px !important;
}

.mt--4px {
  margin-top: -4px !important;
}

.mt--8px {
  margin-top: -8px !important;
}

.mt--12px {
  margin-top: -12px !important;
}

.mt--16px {
  margin-top: -16px !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-2px {
  margin-bottom: 2px !important;
}

.mb-4px {
  margin-bottom: 4px !important;
}

.mb-8px {
  margin-bottom: 8px !important;
}

.mb-12px {
  margin-bottom: 12px !important;
}

.mb-16px {
  margin-bottom: 16px !important;
}

.mb-24px {
  margin-bottom: 24px !important;
}

.mb-32px {
  margin-bottom: 32px !important;
}

.mb-48px {
  margin-bottom: 48px !important;
}

.mb-64px {
  margin-bottom: 64px !important;
}

.mb--2px {
  margin-bottom: -2px !important;
}

.mb--4px {
  margin-bottom: -4px !important;
}

.mb--8px {
  margin-bottom: -8px !important;
}

.mb--12px {
  margin-bottom: -12px !important;
}

.mb--16px {
  margin-bottom: -16px !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-2px {
  margin-left: 2px !important;
}

.ml-4px {
  margin-left: 4px !important;
}

.ml-8px {
  margin-left: 8px !important;
}

.ml-12px {
  margin-left: 12px !important;
}

.ml-16px {
  margin-left: 16px !important;
}

.ml-24px {
  margin-left: 24px !important;
}

.ml-32px {
  margin-left: 32px !important;
}

.ml-48px {
  margin-left: 48px !important;
}

.ml-64px {
  margin-left: 64px !important;
}

.ml--2px {
  margin-left: -2px !important;
}

.ml--4px {
  margin-left: -4px !important;
}

.ml--8px {
  margin-left: -8px !important;
}

.ml--12px {
  margin-left: -12px !important;
}

.ml--16px {
  margin-left: -16px !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mr-2px {
  margin-right: 2px !important;
}

.mr-4px {
  margin-right: 4px !important;
}

.mr-8px {
  margin-right: 8px !important;
}

.mr-12px {
  margin-right: 12px !important;
}

.mr-16px {
  margin-right: 16px !important;
}

.mr-24px {
  margin-right: 24px !important;
}

.mr-32px {
  margin-right: 32px !important;
}

.mr-48px {
  margin-right: 48px !important;
}

.mr-64px {
  margin-right: 64px !important;
}

.mr--2px {
  margin-right: -2px !important;
}

.mr--4px {
  margin-right: -4px !important;
}

.mr--8px {
  margin-right: -8px !important;
}

.mr--12px {
  margin-right: -12px !important;
}

.mr--16px {
  margin-right: -16px !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-2px {
  padding-top: 2px !important;
}

.pt-4px {
  padding-top: 4px !important;
}

.pt-8px {
  padding-top: 8px !important;
}

.pt-12px {
  padding-top: 12px !important;
}

.pt-16px {
  padding-top: 16px !important;
}

.pt-24px {
  padding-top: 24px !important;
}

.pt-32px {
  padding-top: 32px !important;
}

.pt-48px {
  padding-top: 48px !important;
}

.pt-64px {
  padding-top: 64px !important;
}

.pt--2px {
  padding-top: -2px !important;
}

.pt--4px {
  padding-top: -4px !important;
}

.pt--8px {
  padding-top: -8px !important;
}

.pt--12px {
  padding-top: -12px !important;
}

.pt--16px {
  padding-top: -16px !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-2px {
  padding-bottom: 2px !important;
}

.pb-4px {
  padding-bottom: 4px !important;
}

.pb-8px {
  padding-bottom: 8px !important;
}

.pb-12px {
  padding-bottom: 12px !important;
}

.pb-16px {
  padding-bottom: 16px !important;
}

.pb-24px {
  padding-bottom: 24px !important;
}

.pb-32px {
  padding-bottom: 32px !important;
}

.pb-48px {
  padding-bottom: 48px !important;
}

.pb-64px {
  padding-bottom: 64px !important;
}

.pb--2px {
  padding-bottom: -2px !important;
}

.pb--4px {
  padding-bottom: -4px !important;
}

.pb--8px {
  padding-bottom: -8px !important;
}

.pb--12px {
  padding-bottom: -12px !important;
}

.pb--16px {
  padding-bottom: -16px !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pl-2px {
  padding-left: 2px !important;
}

.pl-4px {
  padding-left: 4px !important;
}

.pl-8px {
  padding-left: 8px !important;
}

.pl-12px {
  padding-left: 12px !important;
}

.pl-16px {
  padding-left: 16px !important;
}

.pl-24px {
  padding-left: 24px !important;
}

.pl-32px {
  padding-left: 32px !important;
}

.pl-48px {
  padding-left: 48px !important;
}

.pl-64px {
  padding-left: 64px !important;
}

.pl--2px {
  padding-left: -2px !important;
}

.pl--4px {
  padding-left: -4px !important;
}

.pl--8px {
  padding-left: -8px !important;
}

.pl--12px {
  padding-left: -12px !important;
}

.pl--16px {
  padding-left: -16px !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pr-2px {
  padding-right: 2px !important;
}

.pr-4px {
  padding-right: 4px !important;
}

.pr-8px {
  padding-right: 8px !important;
}

.pr-12px {
  padding-right: 12px !important;
}

.pr-16px {
  padding-right: 16px !important;
}

.pr-24px {
  padding-right: 24px !important;
}

.pr-32px {
  padding-right: 32px !important;
}

.pr-48px {
  padding-right: 48px !important;
}

.pr-64px {
  padding-right: 64px !important;
}

.pr--2px {
  padding-right: -2px !important;
}

.pr--4px {
  padding-right: -4px !important;
}

.pr--8px {
  padding-right: -8px !important;
}

.pr--12px {
  padding-right: -12px !important;
}

.pr--16px {
  padding-right: -16px !important;
}

b,
strong,
.bold,
.strong {
  font-weight: bold !important;
}

small,
.small {
  font-size: max(87%, 11px) !important;
  font-weight: normal !important;
}

.x-small {
  font-size: max(76%, 11px) !important;
  font-weight: normal !important;
}

.large {
  font-size: 115% !important;
}

.x-large {
  font-size: 132% !important;
}

.xx-large {
  font-size: 152% !important;
}

.xxx-large {
  font-size: 175% !important;
}

.gray,
.color-gray {
  color: #8C8C8C !important;
}

.white,
.color-white {
  color: white !important;
}

.red,
.color-red {
  color: #EC4D3D !important;
}

.blue,
.color-blue {
  color: #205896 !important;
}

.color-main {
  color: var(--main-color) !important;
}

.color-accent {
  color: var(--accent-color) !important;
}

.marker {
  background: linear-gradient(transparent 50%, #FBF06E 50%) !important;
}

.bg-gray {
  background-color: #F2F2F2 !important;
}

.bg-gold {
  background-color: #FEFEE3 !important;
}

.bg-main {
  background-color: var(--main-color) !important;
}

.bg-main-bg {
  background-color: var(--main-bg-color) !important;
}

.bg-accent {
  background-color: var(--accent-color) !important;
}

.bg-accent-bg {
  background-color: var(--accent-bg-color) !important;
}

.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.letter-spacing-1px {
  letter-spacing: 1px !important;
}

.letter-spacing-2px {
  letter-spacing: 2px !important;
}

.letter-spacing-4px {
  letter-spacing: 4px !important;
}

.line-through {
  text-decoration: line-through !important;
}

.line-clamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--line-clamp, 1);
  overflow: hidden;
}

.btn-kirakira,
.btn-kirakira-speedy {
  position: relative;
  overflow: hidden;
}
.btn-kirakira::before,
.btn-kirakira-speedy::before {
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
  content: "";
}

.btn-kirakira::before {
  animation: kirakira 3s linear infinite;
}

.btn-kirakira-speedy::before {
  animation: kirakira-speedy 3s linear infinite;
}

.btn-dokidoki {
  animation: dokidoki 1.5s linear 0.75s infinite;
}

@keyframes kirakira {
  0% {
    left: -100%;
  }
  20% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
@keyframes kirakira-speedy {
  0% {
    left: -100%;
  }
  10% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}
@keyframes dokidoki {
  0% {
    transform: scale(1);
  }
  10% {
    transform: scale(1.05);
  }
  20% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}
.itemable {
  /* Reset */
  color: #2B2B2B;
  font-size: 14px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
  line-height: 1.4;
  /* Itemables */
  /* Heading Components */
}
.itemable h1,
.itemable h2,
.itemable h3,
.itemable h4,
.itemable h5,
.itemable h6 {
  margin: unset;
  font-size: 14px;
  font-weight: unset;
  line-height: 1.4;
}
.itemable p {
  margin: unset;
}
.itemable ol,
.itemable ul {
  list-style: none;
  margin: unset;
  padding: unset;
}
.itemable img {
  max-width: 100%;
  vertical-align: bottom;
}
.itemable a {
  color: #4A90E2;
  text-decoration: underline;
  cursor: pointer;
}
.itemable hr {
  opacity: unset;
}
.itemable input,
.itemable select,
.itemable button {
  all: unset;
  display: revert;
  box-sizing: border-box;
}
.itemable.item-text > p {
  font-size: 16px;
  line-height: 1.6;
}
.itemable.item-text > p:not(:first-child) {
  margin-top: 24px;
}
.itemable.item-image {
  text-align: center;
}
.itemable.item-image img {
  max-width: min(100%, 450px);
}
.itemable.item-video {
  text-align: center;
}
.itemable.item-video video {
  max-width: min(100%, 450px);
}
.itemable.item-list {
  font-size: 15px;
}
.itemable.item-list .item-list-title {
  padding: 8px 16px;
  border-radius: 4px 4px 0 0;
  background-color: var(--main-color);
  color: white;
  font-weight: bold;
  text-align: center;
}
.itemable.item-list .item-list-title + .item-list-rows {
  border-top: none;
  border-radius: 0 0 4px 4px;
}
.itemable.item-list .item-list-rows {
  padding: 16px 16px 16px 32px;
  border: 2px solid var(--main-border-color);
  border-radius: 4px;
}
.itemable.item-list .item-list-rows > li:not(:first-child) {
  margin-top: 12px;
}
.itemable.item-list ul.item-list-rows > li {
  list-style-type: disc;
}
.itemable.item-list ol.item-list-rows > li {
  list-style-type: decimal;
}
.itemable.item-review {
  padding: 16px;
  border: 1px solid #D9D9D9;
  border-radius: 4px;
  background-color: white;
}
.itemable.item-review .item-review-header {
  display: flex;
  align-items: center;
}
.itemable.item-review .item-review-header .item-review-avatar {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}
.itemable.item-review .item-review-header .item-review-info {
  margin-left: 12px;
}
.itemable.item-review .item-review-header .item-review-info .item-review-nickname {
  margin-bottom: 6px;
  font-size: 13px;
}
.itemable.item-review .item-review-header .item-review-info .item-review-stars {
  display: flex;
  gap: 1px;
}
.itemable.item-review .item-review-header .item-review-info .item-review-stars > img {
  width: 14px;
  height: 14px;
}
.itemable.item-review .item-review-content {
  margin-top: 16px;
}
.itemable.item-review .item-review-content .item-review-image {
  margin-bottom: 16px;
  text-align: center;
}
.itemable.item-review .item-review-content .item-review-image img {
  max-width: min(100%, 450px);
}
.itemable.item-review .item-review-content .item-review-review > p {
  font-size: 15px;
  line-height: 1.6;
}
.itemable.item-review .item-review-content .item-review-review > p:not(:first-child) {
  margin-top: 12px;
}
.itemable.item-link .item-link-button .item-link-copy {
  margin-bottom: 8px;
  font-weight: bold;
  text-align: center;
}
.itemable.item-link .item-link-button a {
  display: block;
  padding: 16px;
  border-radius: 4px;
  background-color: var(--accent-color);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  color: white;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
.itemable.item-link .item-link-text .item-link-icon {
  position: relative;
  top: 1px;
  font-size: 18px;
}
.itemable.item-link .item-link-text a {
  font-size: 16px;
  font-weight: bold;
}
.itemable.item-link .item-link-banner {
  text-align: center;
}
.itemable.item-link .item-link-banner img {
  max-width: min(100%, 450px);
}
.itemable.item-section {
  padding: 32px 8px 48px;
}
.itemable.item-section .item-section-heading {
  margin-bottom: 24px;
  padding: 0 8px;
}
.itemable.item-section .item-section-content {
  padding-top: 32px;
  padding-bottom: 48px;
  background-color: white;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}
.itemable.item-frame .item-frame-title {
  padding: 12px 16px;
  border-radius: 4px 4px 0 0;
  background-color: var(--main-color);
  color: white;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
.itemable.item-frame .item-frame-title + .item-frame-content {
  border-top: none;
  border-radius: 0 0 4px 4px;
}
.itemable.item-frame .item-frame-content {
  padding-top: 24px;
  padding-bottom: 32px;
  border: 2px solid var(--main-border-color);
  border-radius: 4px;
}
.itemable.item-frame .item-frame-content .item-text > p {
  font-size: 15px;
}
.itemable.item-frame .item-frame-content .item-text > p:not(:first-child) {
  margin-top: 16px;
}
.itemable .heading-default {
  font-weight: bold;
}
.itemable .heading-default.heading-default-h2 .heading-heading {
  padding: 12px 16px;
  border-left: 4px solid var(--main-color);
  background-color: #F2F2F2;
  font-size: 20px;
}
.itemable .heading-default.heading-default-h3 .heading-heading {
  padding-bottom: 8px;
  border-bottom: 2px solid var(--main-color);
  font-size: 18px;
}
.itemable .heading-default.heading-default-h4 .heading-heading {
  font-size: 16px;
}
.itemable .heading-default.heading-default-h4 .heading-heading::before {
  margin-right: 8px;
  color: var(--main-color);
  content: "■";
}
.itemable .heading-plane {
  text-align: center;
}
.itemable .heading-plane .heading-subtext {
  margin-bottom: 4px;
}
.itemable .heading-plane .heading-heading {
  font-size: 20px;
  font-weight: bold;
}
.itemable .heading-plane.heading-plane-h3 .heading-subtext {
  font-size: 13px;
}
.itemable .heading-plane.heading-plane-h3 .heading-heading {
  font-size: 18px;
}
.itemable .heading-balloon {
  text-align: center;
}
.itemable .heading-balloon .heading-heading {
  display: inline-block;
  position: relative;
  min-width: 160px;
  padding: 12px 16px;
  border-radius: 4px;
  background-color: #2B2B2B;
  color: white;
  font-size: 18px;
  font-weight: bold;
}
.itemable .heading-balloon .heading-heading::before {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -8px;
  border: 8px solid transparent;
  border-top-color: #2B2B2B;
  content: "";
}
.itemable .heading-balloon.heading-balloon-h3 .heading-heading {
  font-size: 16px;
}
.itemable .heading-full-size {
  position: relative;
  padding: 20px 0;
  background-color: var(--main-color);
  font-weight: bold;
  text-align: center;
}
.itemable .heading-full-size::before {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -12px;
  border: 12px solid transparent;
  border-top-color: var(--main-color);
  content: "";
}
.itemable .heading-full-size .heading-subtext {
  display: inline-block;
  position: relative;
  margin-bottom: 8px;
  padding: 4px 14px;
  background-color: white;
  color: var(--main-color);
  line-height: 1;
  letter-spacing: 1px;
}
.itemable .heading-full-size .heading-subtext::before, .itemable .heading-full-size .heading-subtext::after {
  position: absolute;
  content: "";
}
.itemable .heading-full-size .heading-subtext::before {
  top: 0;
  left: 0;
  border: transparent solid;
  border-width: 11px 0 11px 6px;
  border-left-color: var(--main-color);
}
.itemable .heading-full-size .heading-subtext::after {
  top: 0;
  right: 0;
  border: transparent solid;
  border-width: 11px 6px 11px 0;
  border-right-color: var(--main-color);
}
.itemable .heading-full-size .heading-heading {
  color: white;
  font-size: 20px;
}
.itemable .heading-product {
  display: flex;
}
.itemable .heading-product .heading-medal {
  flex-shrink: 0;
  width: 48px;
  margin-right: 12px;
}
.itemable .heading-product .heading-right .heading-catchcopy {
  margin-bottom: 2px;
  font-weight: bold;
}
.itemable .heading-product .heading-right .heading-product-name {
  font-size: 22px;
  font-weight: bold;
}
.itemable .heading-product .heading-right .heading-stars {
  display: flex;
  align-items: center;
  margin-top: 4px;
}
.itemable .heading-product .heading-right .heading-stars .heading-stars-stars {
  display: flex;
  gap: 2px;
}
.itemable .heading-product .heading-right .heading-stars .heading-stars-stars > img {
  width: 16px;
  height: 16px;
}
.itemable .heading-product .heading-right .heading-stars .heading-stars-score {
  margin-left: 8px;
  color: #EC4D3D;
  font-size: 16px;
  font-weight: bold;
}

.itemables {
  padding-left: 16px;
  padding-right: 16px;
}
.itemables > *:first-child {
  margin-top: 0 !important;
}
.itemables .item-heading.item-heading-h1 {
  margin-top: 64px;
  margin-left: -16px;
  margin-right: -16px;
}
.itemables .item-heading.item-heading-h2 {
  margin-top: 48px;
}
.itemables .item-heading.item-heading-h3 {
  margin-top: 40px;
}
.itemables .item-heading.item-heading-h4 {
  margin-top: 32px;
}
.itemables .item-text {
  margin-top: 32px;
}
.itemables .item-text + .item-text {
  margin-top: 48px;
}
.itemables .item-image {
  margin-top: 32px;
}
.itemables .item-video {
  margin-top: 32px;
}
.itemables .item-table {
  margin-top: 32px;
  margin-left: -8px;
  margin-right: -8px;
}
.itemables .item-table + .item-table {
  margin-top: 16px;
}
.itemables .item-list {
  margin-top: 32px;
}
.itemables .item-link {
  margin-top: 32px;
}
.itemables .item-link + .item-link {
  margin-top: 16px;
}
.itemables .item-review {
  margin-top: 32px;
}
.itemables .item-review + .item-review {
  margin-top: 16px;
}
.itemables .item-product-heading {
  margin-top: 48px;
}
.itemables .item-html {
  margin-top: 32px;
}
.itemables .item-search-panel {
  margin-top: 32px;
}
.itemables .item-shop-list {
  margin-top: 32px;
}
.itemables .item-section {
  margin-top: 48px;
  margin-left: -16px;
  margin-right: -16px;
}
.itemables .item-section + .item-section {
  margin-top: 0;
}
.itemables .item-partial {
  margin-top: 48px;
}
.itemables .item-frame {
  margin-top: 32px;
}
.itemables.partial-itemables {
  padding-left: 0;
  padding-right: 0;
}
.itemables.frame-itemables .item-text {
  margin-top: 24px;
}
.itemables.frame-itemables .item-text + .item-text {
  margin-top: 32px;
}
.itemables.frame-itemables .item-image {
  margin-top: 24px;
}
.itemables.frame-itemables .item-video {
  margin-top: 24px;
}
.itemables.frame-itemables .item-table {
  margin-top: 24px;
}
.itemables.frame-itemables .item-table + .item-table {
  margin-top: 12px;
}
.itemables.frame-itemables .item-list {
  margin-top: 24px;
}
.itemables.frame-itemables .item-link {
  margin-top: 24px;
}
.itemables.frame-itemables .item-link + .item-link {
  margin-top: 12px;
}
.itemables.frame-itemables .item-review {
  margin-top: 24px;
}
.itemables.frame-itemables .item-review + .item-review {
  margin-top: 12px;
}
.itemables.frame-itemables .item-html {
  margin-top: 24px;
}

.custom-table .table-scroll-text {
  margin-bottom: 8px;
  color: #8C8C8C;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}
@media (max-width: 640px) {
  .custom-table .table-scroll.scroll-sp {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (min-width: 640px) {
  .custom-table .table-scroll.scroll-pc {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 640px) {
  .custom-table .table-scroll.negative-left-sp {
    margin-left: -8px;
    padding-left: 8px;
  }
}
@media (min-width: 640px) {
  .custom-table .table-scroll.negative-left-pc {
    margin-left: -8px;
    padding-left: 8px;
  }
}
@media (max-width: 640px) {
  .custom-table .table-scroll.negative-right-sp {
    margin-right: -8px;
    padding-right: 8px;
  }
}
@media (min-width: 640px) {
  .custom-table .table-scroll.negative-right-pc {
    margin-right: -8px;
    padding-right: 8px;
  }
}
.custom-table table {
  width: var(--whole-width);
  margin: 0 auto;
}
@media (min-width: 640px) {
  .custom-table table {
    width: var(--whole-width-for-pc);
  }
}
.custom-table table th,
.custom-table table td {
  width: var(--width);
  padding: 12px 8px;
  border: 1px solid #D9D9D9;
  text-align: center;
  vertical-align: middle;
  word-break: break-all;
}
.custom-table table th a,
.custom-table table td a {
  color: #4A90E2;
  text-decoration: underline;
}
.custom-table table th hr,
.custom-table table td hr {
  margin: 12px 0;
  border-top: 1px dashed #D9D9D9;
}
.custom-table table th hr.nb,
.custom-table table td hr.nb {
  margin-bottom: 0;
  border-top: none;
}
.custom-table table th {
  background-color: var(--main-bg-color);
  font-weight: bold;
}
.custom-table table td {
  position: relative;
  background-color: white;
}
.custom-table table.align-left th,
.custom-table table.align-left td {
  padding-left: 12px;
  padding-right: 12px;
  text-align: left;
}
.custom-table table.align-left.font-small th,
.custom-table table.align-left.font-small td {
  padding-left: 8px;
  padding-right: 8px;
}
.custom-table table.row-fixed tr:first-child th,
.custom-table table.row-fixed tr:first-child td {
  position: sticky;
  top: 0;
  z-index: 1;
}
.custom-table table.col-fixed th:first-child,
.custom-table table.col-fixed td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
}
.custom-table table.font-small th,
.custom-table table.font-small td {
  font-size: 12px;
}
@media (max-width: 640px) {
  .custom-table table.font-small th,
  .custom-table table.font-small td {
    padding-left: 4px;
    padding-right: 4px;
  }
}
.custom-table table .table-component.table-logo {
  display: block;
  text-align: center;
}
.custom-table table .table-component.table-logo .table-logo-image {
  padding: 0 4px;
}
.custom-table table .table-component.table-logo .table-logo-image img {
  width: 100%;
  max-width: 96px;
}
.custom-table table .table-component.table-logo .table-logo-image img.logo-small {
  max-width: 48px;
}
.custom-table table .table-component.table-logo .table-logo-name {
  margin-top: 8px;
  font-size: 12px;
  font-weight: bold;
}
.custom-table table .table-component.table-image img {
  width: 100%;
}
.custom-table table .table-component.table-image img.image-small {
  max-width: 96px;
}
.custom-table table .table-component.table-btn {
  display: block;
  padding: 12px 0;
  border-radius: 4px;
  background-color: var(--accent-color);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  color: white;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}
.custom-table table .table-component.table-btn.custom {
  background-color: var(--main-color);
}
.custom-table table .table-component.table-badge {
  text-align: center;
}
.custom-table table .table-component.table-badge img {
  width: 32px;
  height: 32px;
}
.custom-table table .table-component.table-ribbon {
  position: absolute;
  top: 0;
  left: 0;
}
.custom-table table .table-component.table-ribbon img {
  width: 48px;
  height: 48px;
}
.custom-table table .table-component.table-eval {
  text-align: center;
}
.custom-table table .table-component.table-eval img {
  width: 28px;
  height: 28px;
}
.custom-table table .table-component.table-stars {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1px;
}
.custom-table table .table-component.table-stars img {
  width: 14px;
  height: 14px;
}
.custom-table .table-notes {
  margin-top: 8px;
}
.custom-table .table-notes > li {
  color: #8C8C8C;
  font-size: 11px;
}
.custom-table .table-notes > li:not(:first-child) {
  margin-top: 4px;
}

.search-panel .search-panel-expand {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 8px;
  border: 1px solid #D9D9D9;
  border-radius: 4px;
  background-color: white;
  color: #8C8C8C;
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
}
.search-panel .search-panel-expand .expand-icon {
  position: absolute;
  right: 8px;
  font-size: 16px;
}
.search-panel .search-panel-expand + .search-panel-form {
  margin-top: 16px;
}
.search-panel .search-panel-form table {
  width: 100%;
  margin-bottom: 16px;
}
.search-panel .search-panel-form table th,
.search-panel .search-panel-form table td {
  padding: 16px 12px;
  border: 1px solid #D9D9D9;
  vertical-align: middle;
}
.search-panel .search-panel-form table th {
  width: 30%;
  background-color: var(--main-bg-color);
  font-weight: bold;
  text-align: center;
}
.search-panel .search-panel-form table td {
  background-color: white;
  text-align: left;
}
.search-panel .search-panel-form table .search-select.select {
  position: relative;
  border: 1px solid #D9D9D9;
}
.search-panel .search-panel-form table .search-select.select select {
  width: 100%;
  padding: 8px 36px 8px 12px;
  font-size: 16px;
  white-space: nowrap;
}
.search-panel .search-panel-form table .search-select.select::before {
  position: absolute;
  top: 16px;
  right: 12px;
  border: 6px solid;
  border-color: var(--main-color) transparent transparent;
  content: "";
  pointer-events: none;
}
.search-panel .search-panel-form table .search-select.radios {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
.search-panel .search-panel-form table .search-select.radios > .radio input {
  display: none;
}
.search-panel .search-panel-form table .search-select.radios > .radio input:checked + label::before {
  border-width: 6px;
  border-color: #4A90E2;
}
.search-panel .search-panel-form table .search-select.radios > .radio label {
  display: flex;
  align-items: center;
  cursor: default;
}
.search-panel .search-panel-form table .search-select.radios > .radio label::before {
  width: 18px;
  height: 18px;
  margin-right: 4px;
  border: 1px solid #B3B3B3;
  border-radius: 99px;
  background-color: white;
  content: "";
}
.search-panel .search-panel-form table .search-select.checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
.search-panel .search-panel-form table .search-select.checks > .check input {
  display: none;
}
.search-panel .search-panel-form table .search-select.checks > .check input:checked + label::before {
  border-color: #4A90E2;
  background-color: #4A90E2;
}
.search-panel .search-panel-form table .search-select.checks > .check label {
  display: flex;
  align-items: center;
  position: relative;
  cursor: default;
}
.search-panel .search-panel-form table .search-select.checks > .check label::before {
  width: 18px;
  height: 18px;
  margin-right: 4px;
  border: 1px solid #B3B3B3;
  border-radius: 2px;
  background-color: white;
  content: "";
}
.search-panel .search-panel-form table .search-select.checks > .check label::after {
  position: absolute;
  top: 6px;
  left: 4px;
  border: 2px solid white;
  border-top: none;
  border-right: none;
  height: 6px;
  width: 10px;
  transform: rotate(-45deg);
  content: "";
}
.search-panel .search-panel-form .search-panel-btn {
  width: 100%;
  padding: 12px;
  border-radius: 4px;
  background-color: var(--main-color);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  color: white;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.search-panel .search-panel-form .search-panel-btn .btn-icon {
  position: relative;
  top: 1px;
  font-size: 16px;
}

.shops > .shop {
  display: flex;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid #2B2B2B;
}
.shops > .shop:not(:first-child) {
  margin-top: 16px;
}
.shops > .shop .shop-image {
  flex-shrink: 0;
  width: 72px;
  height: 48px;
  margin-right: 12px;
  background-color: #F2F2F2;
}
@media (max-width: 640px) {
  .shops > .shop .shop-image {
    width: 48px;
  }
}
.shops > .shop .shop-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shops > .shop .shop-info {
  margin-right: 8px;
}
.shops > .shop .shop-info .shop-name a {
  font-weight: bold;
  text-decoration: none;
}
.shops > .shop .shop-info .shop-address {
  margin-top: 2px;
  font-size: 12px;
}
.shops > .shop .shop-map-btn {
  margin-left: auto;
  padding: 8px 10px 8px 8px;
  border-radius: 2px;
  background-color: #EC4D3D;
  color: white;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.shop-expand-btn {
  display: block;
  margin-top: 16px;
  padding: 12px;
  border: 1px solid #4A90E2;
  border-radius: 2px;
  background-color: white;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  text-decoration: none !important;
}

.no-shops {
  text-align: center;
}

body {
  background-image: url(/assets/bg-0e580c15061573e3d0d1efe606dc466df274ad54be52d84e48288098a34a3a77.jpg);
  background-repeat: repeat;
  background-attachment: fixed;
}

#container {
  position: relative;
  max-width: 640px;
  min-height: 100vh;
  margin: 0 auto;
  background-color: white;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

#footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 32px 16px;
  background-color: #2B2B2B;
  color: white;
}
#footer .footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 16px;
  margin-bottom: 16px;
  font-size: 13px;
}
#footer .footer-copyright {
  font-size: 12px;
  letter-spacing: 1px;
  text-align: center;
}

.scroll-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 99;
  width: 64px;
  height: 64px;
  border-radius: 99px;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  font-size: 32px;
}

.lp-article .article-eyecatch {
  position: relative;
}
.lp-article .article-eyecatch .article-eyecatch-img img {
  width: 100%;
}
.lp-article .article-eyecatch .article-eyecatch-ad {
  position: absolute;
  top: 0;
  right: 0;
  padding: 2px 4px;
  background-color: #F2F2F2;
  font-size: 11px;
  line-height: 1;
}
@media (min-width: 640px) {
  .lp-article .article-eyecatch .article-eyecatch-ad {
    padding: 4px 8px;
    font-size: 16px;
  }
}
.lp-article .article-title {
  padding: 32px 16px 0;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}
.lp-article .article-title + .article-ad {
  padding-top: 0;
}
.lp-article .article-ad {
  padding: 8px 16px 0;
  color: #8C8C8C;
  font-size: 12px;
  text-align: right;
}
.lp-article .article-ad + .article-content {
  padding-top: 8px;
}
.lp-article .article-content {
  padding-top: 32px;
}

.lp-search {
  padding: 32px 16px 0;
}
.lp-search .search-title {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
}
.lp-search .custom-table {
  margin-top: 32px;
  margin-left: -8px;
  margin-right: -8px;
}
.lp-search .custom-table .search-sort-btn {
  display: inline-block;
  margin-top: 4px;
  padding: 4px 8px;
  border-radius: 99px;
  background-color: var(--accent-color);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  color: white;
  text-decoration: none;
}
.lp-search .search-panel-heading {
  margin: 64px 0 24px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.map-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.map-modal .map-modal-inner {
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
  padding: 16px;
  overflow-y: auto;
}
.map-modal .map-modal-inner .map-modal-body {
  padding: 16px;
  border-radius: 4px;
  background-color: white;
}
.map-modal .map-modal-inner .map-modal-body .map-modal-header {
  display: flex;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 1px solid #D9D9D9;
}
.map-modal .map-modal-inner .map-modal-body .map-modal-header .map-modal-name {
  font-size: 16px;
  font-weight: bold;
}
.map-modal .map-modal-inner .map-modal-body .map-modal-header .map-modal-close {
  width: 24px;
  margin-left: auto;
  color: inherit;
  font-size: 24px;
  line-height: 1;
  text-align: center;
}
.map-modal .map-modal-inner .map-modal-body .map-modal-content {
  margin-top: 16px;
}
.map-modal .map-modal-inner .map-modal-body .map-modal-content .map-modal-map iframe {
  width: 100%;
  height: 250px;
}
.map-modal .map-modal-inner .map-modal-body .map-modal-content .map-modal-table {
  width: 100%;
  margin-top: 16px;
}
.map-modal .map-modal-inner .map-modal-body .map-modal-content .map-modal-table th,
.map-modal .map-modal-inner .map-modal-body .map-modal-content .map-modal-table td {
  padding: 12px;
  border: 1px solid #D9D9D9;
  font-size: 12px;
  vertical-align: middle;
}
.map-modal .map-modal-inner .map-modal-body .map-modal-content .map-modal-table th {
  width: 30%;
  background-color: #F2F2F2;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.map-modal .map-modal-inner .map-modal-body .map-modal-content .map-modal-table td {
  text-align: left;
}
.map-modal .map-modal-inner .map-modal-body .map-modal-content .map-modal-btn {
  display: block;
  margin-top: 16px;
  padding: 16px;
  border-radius: 4px;
  background-color: var(--accent-color);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  color: white;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

body {
  color: #2B2B2B;
  font-size: 14px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
  line-height: 1.4;
}

img {
  vertical-align: bottom;
}

a {
  cursor: pointer;
}
