@charset "UTF-8";
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,
button {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}

q,
blockquote {
  quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

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

img {
  width: 100%;
  vertical-align: bottom;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

input,
button {
  -webkit-appearance: none;
     -moz-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-box-shadow: none;
          appearance: none;
  border: none;
  outline: none;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
}
input:focus,
button:focus {
  outline: none;
}
input:focus-visible,
button:focus-visible {
  outline: none;
}

*,
*::after,
*::before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:root {
  --color-primary-950: #533e23;
  --color-primary-900: #66522e;
  --color-primary-700: #80663a;
  --color-primary-500: #9a7f3b;
  --color-text: #333333;
  --color-text-muted: #80663a;
  --color-error: #c0392b;
  --color-bg: #f5f1e8;
  --color-bg-surface: #faf8f4;
  --color-bg-warm: #ece4d2;
  --color-footer: #dddad1;
  --color-border: #e6e0d8;
  --color-border-warm: #d5cdc0;
  --color-border-tan: #c9bda0;
  --color-border-light: #d9d1c4;
  --color-border-gray: #a7a7a7;
  --color-white: #ffffff;
  --color-accent-yellow: #d1bb83;
  --color-accent-pink: #cda2a1;
  --color-accent-blue: #8ea9b3;
  --color-worry-yellow: #9a7f3b;
  --color-worry-pink: #af6f6e;
  --color-worry-blue: #65818c;
  --color-brand-nihondo: #81663a;
  --color-brand-kagae: #7b6f66;
  --color-accent-pink-bg: #fceef1;
  --color-accent-blue-mid: #7d9ca8;
  --color-accent-blue-bg: #eef5f6;
  --color-gozo-kan: #6a8f5f;
  --color-gozo-shin: #b56e5e;
  --color-gozo-hi: #b89040;
  --color-gozo-hai: #7a8b95;
  --color-gozo-jin: #7a7057;
  --color-gozo-food: #5c4e3a;
  --color-gozo-line: #ede8df;
  --color-primary-mid: #a69475;
  --color-bg-letter: #d5bbc4;
  --color-bg-line: #bbd5bf;
  --color-olive: #8a8a57;
  --color-bg-olive: #e4e4ce;
  --color-text-sub: #666666;
  --color-text-meta: #888888;
  --color-text-dark: #2b2219;
  --color-text-faint: #8f877d;
  --color-placeholder: #757575;
  --color-cta-online: #be5c13;
  --color-store-boutique: #81663a;
  --color-store-kagae: #7b6f66;
  --color-store-pharmacy: #533e23;
  --font-mincho: "Shippori Mincho", serif;
  --font-gothic: "Zen Kaku Gothic New", sans-serif;
  --font-display: "Playfair Display", serif;
  --weight-regular: 400;
  --weight-medium: 500;
  --radius-md: 0;
  --radius-lg: 0;
  --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.06);
  --shadow-md: 8px 8px 8px rgba(0, 0, 0, 0.08);
  --color-overlay: rgba(0, 0, 0, 0.35);
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  overflow-x: clip;
  color: var(--color-text);
  font-weight: 400;
  line-height: 1.7;
  font-family: var(--font-gothic);
  letter-spacing: 0;
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
}
body {
  overflow-x: clip;
  background-color: var(--color-bg);
}

body.is-active {
  overflow: hidden;
}

main {
  display: block;
}

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

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

.company-breadcrumb__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 14px 20px 16px;
}
.company-breadcrumb__list {
  -ms-flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          align-items: center;
  margin: 0;
  padding: 0;
  color: var(--color-text-muted);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  list-style: none;
}
.company-breadcrumb__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
}
.company-breadcrumb__item:not(:last-child)::after {
  content: "/";
  color: var(--color-text-muted);
}
.company-breadcrumb__link {
  color: var(--color-text-muted);
  text-decoration: none;
}
.company-breadcrumb__current {
  color: var(--color-primary-mid);
}

.btn {
  -ms-grid-columns: 1fr auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: background-color 0.3s ease-in, color 0.3s ease-in, border-color 0.3s ease-in;
  display: -ms-inline-grid;
  display: inline-grid;
  -ms-grid-columns: 1fr auto 1fr;
  grid-template-columns: 1fr auto 1fr;
          align-items: center;
  min-width: 200px;
  padding: 14px 24px;
  gap: 12px;
  border: 1px solid var(--color-text);
  background: transparent;
  color: var(--color-text);
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  font-family: var(--font-mincho);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease-in, color 0.3s ease-in, border-color 0.3s ease-in;
}
.btn__text {
  -ms-grid-column: 2;
  grid-column: 2;
  min-width: 0;
}
.btn__icon {
  -ms-grid-column: 3;
  -ms-grid-column-align: end;
  grid-column: 3;
      justify-self: end;
  color: currentColor;
  font-size: 24px;
  line-height: 0;
}
.btn__icon:is(svg) {
  fill: currentColor;
  display: block;
  width: 1em;
  height: 1em;
}
.btn--outline-dark {
  border: 1px solid var(--color-text);
  background: transparent;
  color: var(--color-text);
}
.btn--outline-white {
  border: 1px solid var(--color-white);
  background: transparent;
  color: var(--color-white);
}
.btn--solid-brown {
  border: 1px solid var(--color-primary-500);
  background: var(--color-primary-500);
  color: var(--color-white);
}
.btn--solid-yellow {
  border: 1px solid var(--color-accent-yellow);
  background: var(--color-accent-yellow);
  color: var(--color-white);
}
.btn--solid-pink {
  border: 1px solid var(--color-accent-pink);
  background: var(--color-accent-pink);
  color: var(--color-white);
}
.btn--solid-blue {
  border: 1px solid var(--color-accent-blue);
  background: var(--color-accent-blue);
  color: var(--color-white);
}
.btn--solid-brown-dark {
  border: 1px solid var(--color-primary-900);
  background: var(--color-primary-900);
  color: var(--color-white);
}
.btn--icon-left .btn__icon {
  -ms-grid-column: 1;
  -ms-grid-column-align: start;
  grid-column: 1;
      justify-self: start;
}

.def-inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
}
.def-inline:not(:first-child) {
  margin-top: 40px;
}
.def-inline__term {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  white-space: nowrap;
}
.def-inline__desc {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  min-width: 0;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}

.detail {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}
.detail > * {
  margin: 0;
}
.detail > * + * {
  margin-top: 12px;
}
.detail__list {
  padding-left: 24px;
  list-style: none;
}

.figure {
  max-width: 1200px;
  margin: 24px auto 64px;
}
.figure:first-child {
  margin-bottom: 6.4rem;
}
.figure > img,
.figure > svg {
  display: block;
  width: 100%;
  height: auto;
}
.figure--banner, .figure--4to3, .figure--3to4 {
  overflow: hidden;
}
.figure--banner > img, .figure--4to3 > img, .figure--3to4 > img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.figure--banner {
  aspect-ratio: 12/5;
}
.figure--4to3 {
  aspect-ratio: 4/3;
}
.figure--3to4 {
  aspect-ratio: 3/4;
}

.c-icon {
  -ms-flex-negative: 0;
  -webkit-mask: var(--c-icon) no-repeat center/contain;
  display: inline-block;
      flex-shrink: 0;
  width: 1em;
  height: 1em;
  background-color: currentColor;
  vertical-align: -0.125em;
  -webkit-mask: var(--c-icon) no-repeat center/contain;
          mask: var(--c-icon) no-repeat center/contain;
}

.c-icon--arrow-forward {
  --c-icon: url("../img/common/icons/arrow-forward.svg");
}

.c-icon--arrow-back {
  --c-icon: url("../img/common/icons/arrow-back.svg");
}

.c-icon--north-east {
  --c-icon: url("../img/common/icons/north-east.svg");
}

.c-icon--chevron-right {
  --c-icon: url("../img/common/icons/chevron-right.svg");
}

.c-icon--keyboard-arrow-down {
  --c-icon: url("../img/common/icons/keyboard-arrow-down.svg");
}

.c-icon--add {
  --c-icon: url("../img/common/icons/add.svg");
}

.c-icon--close {
  --c-icon: url("../img/common/icons/close.svg");
}

.c-icon--check {
  --c-icon: url("../img/common/icons/check.svg");
}

.c-icon--location-on {
  --c-icon: url("../img/common/icons/location-on.svg");
}

.c-icon--image {
  --c-icon: url("../img/common/icons/image.svg");
}

.c-icon--directions-subway {
  --c-icon: url("../img/common/icons/directions-subway.svg");
}

.c-icon--briefcase {
  --c-icon: url("../img/common/icons/briefcase.svg");
}

.c-icon--videocam {
  --c-icon: url("../img/common/icons/videocam.svg");
}

.c-icon--spa {
  --c-icon: url("../img/common/icons/spa.svg");
}

.c-icon--mail {
  --c-icon: url("../img/common/icons/mail.svg");
}

.c-icon--local-shipping {
  --c-icon: url("../img/common/icons/local-shipping.svg");
}

.c-icon--groups {
  --c-icon: url("../img/common/icons/groups.svg");
}

.c-icon--favorite {
  --c-icon: url("../img/common/icons/favorite.svg");
}

.c-icon--edit-calendar {
  --c-icon: url("../img/common/icons/edit-calendar.svg");
}

.c-icon--eco {
  --c-icon: url("../img/common/icons/eco.svg");
}

.c-icon--target-pharmacist {
  --c-icon: url("../img/common/icons/target-pharmacist.svg");
}

.c-icon--target-seller {
  --c-icon: url("../img/common/icons/target-seller.svg");
}

.c-icon--forum {
  --c-icon: url("../img/common/icons/forum.svg");
}

.c-icon--science {
  --c-icon: url("../img/common/icons/science.svg");
}

.c-icon--factory {
  --c-icon: url("../img/common/icons/factory.svg");
}

.c-icon--package {
  --c-icon: url("../img/common/icons/package.svg");
}

.c-icon--train {
  --c-icon: url("../img/common/icons/train.svg");
}

.c-icon--service-clock {
  --c-icon: url("../img/common/icons/service-clock.svg");
}

.c-icon--service-online {
  --c-icon: url("../img/common/icons/service-online.svg");
}

.c-icon--service-store {
  --c-icon: url("../img/common/icons/service-store.svg");
}

.c-icon--service-phone {
  --c-icon: url("../img/common/icons/service-phone.svg");
}

.c-icon--contact-personal {
  --c-icon: url("../img/common/icons/contact-personal.svg");
}

.c-icon--contact-corporate {
  --c-icon: url("../img/common/icons/contact-corporate.svg");
}

.c-icon--contact-press {
  --c-icon: url("../img/common/icons/contact-press.svg");
}

.page-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  margin-top: 64px;
  margin-bottom: 64px;
  gap: 12px;
  text-align: center;
}
.page-head__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 40px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.page-head__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.page-head--sm .page-head__title {
  font-size: 36px;
}
.page-head--boutique .page-head__title, .page-head--pharmacy .page-head__title {
  color: var(--color-white);
}
.page-head--boutique .page-head__title {
  background: var(--color-store-boutique);
}
.page-head--pharmacy .page-head__title {
  background: var(--color-store-pharmacy);
}

.prose {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.prose > p {
  margin: 0;
}
.prose:not(:first-child) {
  margin-top: 24px;
}
.prose + .prose {
  margin-top: 32px;
}
.section-head + .prose {
  margin-top: 0;
}
.prose--center {
  text-align: center;
}

.region-head {
  margin: 0;
  padding: 14px 16px;
  border-left: 2px solid var(--color-primary-700);
  background: var(--color-border);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
}

.section-head {
  margin-bottom: 40px;
  text-align: center;
}
.section-head__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.section-head__lead {
  margin: 8px 0 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.section-head--left {
  text-align: left;
}
.section-head--brown .section-head__title {
  color: var(--color-primary-900);
}
.section-head--brown-700 .section-head__title {
  color: var(--color-primary-700);
}
.section-head--brown-left {
  text-align: left;
}
.section-head--brown-left .section-head__title {
  color: var(--color-primary-700);
}

.section-title {
  color: var(--color-text);
  font-weight: 500;
  font-size: 40px;
  line-height: 1.2;
  font-family: var(--font-mincho);
  text-align: center;
}
.section-title--light {
  color: var(--color-white);
}

.signature {
  margin-top: 86px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  text-align: right;
}

.l-footer {
  background-color: var(--color-footer);
}
.l-footer__inner {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  padding: 64px 32px 0;
}
.l-footer__nav {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          align-items: center;
          justify-content: center;
  margin: 0;
  padding: 0;
  gap: 24px;
  list-style: none;
}
.l-footer__nav a {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  text-decoration: none;
}
.l-footer__copyright {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  padding: 24px 10px;
}
.l-footer__copyright p {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  text-align: center;
}

.l-header {
  z-index: 100;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.l-header__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: space-between;
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px 40px;
}
.l-header__logo {
  -ms-flex-negative: 0;
  display: block;
      flex-shrink: 0;
  width: 195px;
}
.l-header__logo img {
  display: block;
}
.l-header__logo-mark {
  width: 195px;
  height: auto;
}
.l-header__logo-text {
  width: 145px;
  height: auto;
  margin: 5px auto 0;
}
.l-header__navs {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
  display: none;
          flex-direction: column;
          align-items: flex-end;
  gap: 16px;
  color: var(--color-white);
  font-size: 16px;
  line-height: 1.7;
}
.l-header__nav-sub, .l-header__nav-main {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-header__nav-sub a, .l-header__nav-main a {
  color: var(--color-white);
  font-weight: 400;
  font-family: var(--font-gothic);
  text-decoration: none;
  white-space: nowrap;
}
.l-header__nav-sub {
  gap: 20px;
}
.l-header__nav-main {
  gap: 40px;
}
.l-header__hamburger {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-transition: -webkit-transform 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 102;
  position: relative;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  gap: 6px;
  border: none;
  background: none;
  cursor: pointer;
  transition: -webkit-transform 0.3s ease-in;
  transition: transform 0.3s ease-in;
  transition: transform 0.3s ease-in, -webkit-transform 0.3s ease-in;
}
.l-header__hamburger.is-active {
  position: fixed;
  top: 32px;
  right: 40px;
}
.l-header__hamburger.is-active .l-header__hamburger-bar {
  background-color: var(--color-text);
}
.l-header__hamburger.is-active .l-header__hamburger-bar:nth-child(1) {
  -webkit-transform: translateY(8px) rotate(45deg);
          transform: translateY(8px) rotate(45deg);
}
.l-header__hamburger.is-active .l-header__hamburger-bar:nth-child(2) {
  opacity: 0;
}
.l-header__hamburger.is-active .l-header__hamburger-bar:nth-child(3) {
  -webkit-transform: translateY(-8px) rotate(-45deg);
          transform: translateY(-8px) rotate(-45deg);
}
.l-header__hamburger-bar {
  -webkit-transition: opacity 0.3s ease-in, background-color 0.3s ease-in, -webkit-transform 0.3s ease-in;
  display: block;
  width: 20px;
  height: 2px;
  background-color: var(--color-white);
  transition: opacity 0.3s ease-in, background-color 0.3s ease-in, -webkit-transform 0.3s ease-in;
  transition: transform 0.3s ease-in, opacity 0.3s ease-in, background-color 0.3s ease-in;
  transition: transform 0.3s ease-in, opacity 0.3s ease-in, background-color 0.3s ease-in, -webkit-transform 0.3s ease-in;
}
.l-header__nav-drawer {
  -webkit-transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.3s ease-in;
  z-index: 99;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
          transform: translateX(100%);
  background: color-mix(in srgb, var(--color-white) 96%, transparent);
  transition: -webkit-transform 0.3s ease-in;
  transition: transform 0.3s ease-in;
  transition: transform 0.3s ease-in, -webkit-transform 0.3s ease-in;
}
.l-header__nav-drawer.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.l-header__nav-drawer-inner {
  padding: 8rem 2.4rem 4rem;
}
.l-header__nav-drawer-inner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-header__nav-drawer-inner li {
  border-bottom: 1px solid var(--color-primary-mid);
}
.l-header__nav-drawer-inner li a {
  display: block;
  padding: 1.6rem 0;
  color: var(--color-text);
  font-weight: 500;
  font-size: 1.8rem;
  font-family: var(--font-mincho);
}

body:not(.page-top) .l-header {
  position: relative;
}
body:not(.page-top) .l-header__navs,
body:not(.page-top) .l-header__nav-sub a,
body:not(.page-top) .l-header__nav-main a {
  color: var(--color-text);
}
body:not(.page-top) .l-header__hamburger-bar {
  background-color: var(--color-text);
}

.l-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px 80px;
}

.l-narrow {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

.l-section {
  margin-top: 64px;
}
.l-section:first-child {
  margin-top: 0;
}

.l-stack {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 40px;
}
.l-stack--gap-lg {
  gap: 64px;
}
.l-stack > .section-head,
.l-stack > .figure,
.l-stack > .prose {
  margin-top: 0;
  margin-bottom: 0;
}
.l-stack > .page-head {
  margin-bottom: 0;
}
.l-stack > .prose,
.l-stack > .figure,
.l-stack > .l-stack {
  width: 100%;
}

.l-warm {
  width: 100%;
  padding: 80px 0;
  background: var(--color-bg-warm);
}
.l-warm + .l-warm {
  padding-top: 0;
}
.l-warm--plain {
  background: transparent;
}

.l-wide {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
}

.anchor-nav {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin: 0;
  padding: 0;
  gap: 8px;
  list-style: none;
}
.anchor-nav__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-transition: background-color 0.3s ease-in, color 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  padding: 16px 12px;
  gap: 8px;
  border: 1px solid var(--color-primary-700);
  background: var(--color-white);
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 15px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-decoration: none;
  transition: background-color 0.3s ease-in, color 0.3s ease-in;
}
.anchor-nav__link > .c-icon {
  -ms-flex-negative: 0;
  -webkit-transition: color 0.3s ease-in;
      flex-shrink: 0;
  color: var(--color-primary-700);
  font-size: 20px;
  line-height: 0;
  transition: color 0.3s ease-in;
}
.anchor-nav__link:hover > .c-icon {
  color: var(--color-white);
}

.area-nav {
  margin: 56px 0;
  padding: 16px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.area-nav__groups {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}
.area-nav__group {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: baseline;
  gap: 16px;
}
.area-nav__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 88px;
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  letter-spacing: 0.04em;
}
.area-nav__links {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
}
.area-nav__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  padding: 7px 8px;
  gap: 4px;
  color: var(--color-primary-900);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  text-decoration: none;
}
.area-nav__link > .c-icon {
  color: currentColor;
  font-size: 16px;
  line-height: 0;
  opacity: 0.4;
}

.store-area {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 20px;
}
.store-area:not(:first-child) {
  margin-top: 32px;
}

.book-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  height: 100%;
  background: var(--color-bg-surface);
}
.book-card__media {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          align-items: center;
          justify-content: center;
  min-height: 190px;
  padding: 20px;
}
.book-card__image {
  -o-object-fit: contain;
  max-width: 100%;
  max-height: 150px;
     object-fit: contain;
}
.book-card__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 16px;
  gap: 4px;
}
.book-card__publisher {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.4;
  font-family: var(--font-gothic);
}
.book-card__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-gothic);
}

.brand-badge {
  display: inline-block;
  padding: 4px 12px;
  background: var(--color-primary-950);
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1.5;
  font-family: var(--font-gothic);
  letter-spacing: 0.05em;
}
.brand-badge--nihondo {
  background: var(--color-brand-nihondo);
}
.brand-badge--kagae {
  background: var(--color-brand-kagae);
}
.brand-badge--pharmacy {
  background: var(--color-primary-950);
}
.brand-badge--sis {
  border: 1px solid var(--color-primary-950);
  background: var(--color-white);
  color: var(--color-primary-950);
}

.brand-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  height: 100%;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  color: var(--color-text);
  text-decoration: none;
}
.brand-card__media {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--color-border);
}
.brand-card__media > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.brand-card__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
          align-items: flex-start;
  padding: 20px;
  gap: 16px;
}
.brand-card__desc {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.brand-card__more {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  width: 100%;
  margin-top: auto;
  padding: 12px;
  gap: 8px;
  border: 1px solid var(--color-text);
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1;
  font-family: var(--font-mincho);
}
.brand-card__more > .c-icon {
  color: currentColor;
  font-size: 20px;
  line-height: 0;
}
.brand-card--note {
  border-color: transparent;
}

.card-grid {
  -ms-grid-columns: (minmax(0, 1fr))[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[3];
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  gap: 16px;
  list-style: none;
}
.card-grid--cols-2 {
  -ms-grid-columns: (minmax(0, 1fr))[2];
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.card-grid--cols-4 {
  -ms-grid-columns: (minmax(0, 1fr))[4];
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.card-grid--brand {
  -ms-grid-columns: (minmax(0, 1fr))[4];
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.card-grid--gap-lg {
  gap: 40px;
}
.card-grid--align-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.card-grid__item {
  min-width: 0;
}

.card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-transition: -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  color: var(--color-text);
  text-decoration: none;
  transition: -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  transition: transform 0.3s ease-in, box-shadow 0.3s ease-in;
  transition: transform 0.3s ease-in, box-shadow 0.3s ease-in, -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
}
.card__media {
  aspect-ratio: 4/3;
  width: 100%;
  overflow: hidden;
  background: var(--color-bg-surface);
}
.card__image {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.card__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          align-items: center;
          justify-content: space-between;
  padding: 24px 16px 24px 24px;
  gap: 16px;
}
.card__text {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  min-width: 0;
  gap: 8px;
}
.card__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.7;
  font-family: var(--font-mincho);
}
.card__desc, .card__sub {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.card__icon {
  -ms-flex-negative: 0;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      flex-shrink: 0;
      align-self: center;
  color: currentColor;
  font-size: 20px;
  line-height: 0;
}
.card--horizontal {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          flex-direction: row;
          align-items: stretch;
  height: 100%;
}
.card--horizontal .card__media {
  -ms-flex-negative: 0;
  aspect-ratio: auto;
      flex-shrink: 0;
  width: 200px;
}
.card--horizontal .card__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          flex-direction: column;
          align-items: flex-start;
          justify-content: center;
  min-width: 0;
  padding: 24px;
  gap: 8px;
}
.card--horizontal .card__sub {
  font-size: 14px;
}
.card--horizontal .card__title {
  font-size: 18px;
}

.case-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  height: 100%;
  background: var(--color-white);
}
.case-card__media {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  aspect-ratio: 4/3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  padding: 24px;
  background: var(--color-white);
}
.case-card__image {
  -o-object-fit: contain;
  display: block;
  max-width: 100%;
  max-height: 100%;
     object-fit: contain;
}
.case-card__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  padding: 24px;
}
.case-card__company {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.case-card__title {
  margin: 16px 0 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.case-card__title:first-child {
  margin-top: 0;
}
.case-card__desc {
  margin: 16px 0 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.case-card__action {
  margin-top: auto;
  padding-top: 24px;
  text-align: center;
}
.case-card--cover .case-card__media {
  padding: 0;
}
.case-card--cover .case-card__image {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

.circle-grid {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 16px;
  list-style: none;
}
.circle-grid__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 120px;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 0 1 120px;
          align-items: center;
          justify-content: center;
  border: 1px solid var(--color-primary-700);
  border-radius: 50%;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  text-align: center;
}

.compare-table {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  max-width: 800px;
  gap: 1px;
  border: 1px solid var(--color-border);
  background: var(--color-border);
}
.compare-table__cell {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  padding: 14px 12px;
  background: var(--color-white);
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-gothic);
  text-align: center;
}
.compare-table__cell--head {
  background: var(--color-bg-surface);
  font-weight: var(--weight-medium);
}

.consultant-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  height: 100%;
  gap: 12px;
  border: 1px solid var(--color-border);
  background: var(--color-bg-surface);
}
.consultant-card__photo {
  aspect-ratio: 5/4;
  width: 100%;
  overflow: hidden;
  background: var(--color-bg-warm);
}
.consultant-card__photo > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.consultant-card__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 4px 16px 16px;
  gap: 4px;
}
.consultant-card__role {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 11px;
  font-family: var(--font-gothic);
  letter-spacing: 0.06em;
}
.consultant-card__name {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  letter-spacing: 0.06em;
}
.consultant-card__bio {
  margin: 4px 0 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}

.contact-split {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.contact-split--single {
  -ms-grid-columns: minmax(0, 580px);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -ms-grid-columns: minmax(0, 580px);
  grid-template-columns: minmax(0, 580px);
          justify-content: center;
}
.contact-split__panel {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  padding: 32px 48px;
  gap: 16px;
  text-align: center;
}
.contact-split__panel--mail {
  background: var(--color-white);
}
.contact-split__panel--tel {
  background: var(--color-bg-surface);
}
.contact-split__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.contact-split__tel {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  gap: 12px;
}
.contact-split__dept {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.contact-split__number {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.contact-split__note {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}

.dl-card {
  margin: 0;
  padding: 40px;
  background: var(--color-bg-surface);
}
.dl-card__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 24px 0;
  gap: 16px;
  border-bottom: 1px solid var(--color-border);
}
.dl-card__row:last-child {
  border-bottom: 0;
}
.dl-card__term {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 150px;
  margin: 0;
  padding-left: 8px;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.dl-card__desc {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.dl-card__desc > p {
  margin: 0 0 8px;
}
.dl-card__desc > p:last-child {
  margin-bottom: 0;
}
.dl-card__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.dl-card__list li {
  margin-bottom: 4px;
}
.dl-card__list li:last-child {
  margin-bottom: 0;
}
.dl-card__map {
  aspect-ratio: 570/250;
  width: 100%;
  max-width: 570px;
  margin-top: 16px;
}
.dl-card__map iframe,
.dl-card__map img {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.episode-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 24px;
  gap: 16px;
  border: 1px solid var(--color-border);
  background: var(--color-bg-surface);
}
.episode-card__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 8px;
}
.episode-card__tag {
  padding: 4px 12px;
  border-radius: 2px;
  background: var(--color-bg-warm);
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  letter-spacing: 0.06em;
}
.episode-card__person {
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  font-family: var(--font-gothic);
  letter-spacing: 0.05em;
}
.episode-card__result {
  margin: 0;
  padding: 0 0 0 15px;
  border-left: 3px solid var(--color-primary-500);
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.episode-card__body {
  -webkit-box-orient: vertical;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  margin: 0;
  overflow: hidden;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}
.episode-card.is-open .episode-card__body {
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}
.episode-card.is-open .episode-card__more-icon {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.episode-card__more {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  margin-top: auto;
  padding: 0;
  gap: 2px;
  border: 0;
  background: transparent;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 11px;
  font-family: var(--font-gothic);
  cursor: pointer;
}
.episode-card__more-icon {
  -webkit-transition: -webkit-transform 0.3s ease-in;
  color: currentColor;
  font-size: 13px;
  line-height: 0;
  transition: -webkit-transform 0.3s ease-in;
  transition: transform 0.3s ease-in;
  transition: transform 0.3s ease-in, -webkit-transform 0.3s ease-in;
}

.faq {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 0;
  background: var(--color-white);
  list-style: none;
}
.faq > li {
  border-bottom: 1px solid var(--color-border);
}
.faq > li:last-child {
  border-bottom: none;
}
.faq__item[open] .faq__icon {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.faq__q {
  -ms-grid-columns: auto 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr auto;
  grid-template-columns: auto 1fr auto;
          align-items: center;
  padding: 24px 32px;
  gap: 16px;
  list-style: none;
  cursor: pointer;
}
.faq__q::-webkit-details-marker {
  display: none;
}
.faq__q-mark {
  color: var(--color-primary-500);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1;
  font-family: var(--font-display);
}
.faq__q-text {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.faq__icon {
  -webkit-transition: -webkit-transform 0.3s ease-out;
  color: var(--color-primary-700);
  font-size: 24px;
  line-height: 0;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.faq__a {
  padding: 0 32px 24px 72px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 15px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}

.flow:not(:first-child) {
  margin-top: 40px;
}
.flow__banner {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.flow__banner-item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 20px 24px;
  gap: 4px;
  border-radius: 8px 8px 0 0;
  background: var(--color-bg-warm);
  text-align: center;
}
.flow__banner-item--active {
  background: var(--color-olive);
}
.flow__banner-caption {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.5;
  font-family: var(--font-gothic);
}
.flow__banner-item--active .flow__banner-caption {
  color: var(--color-white);
}
.flow__banner-label {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.flow__banner-item--active .flow__banner-label {
  color: var(--color-white);
}
.flow__steps {
  -ms-grid-columns: (minmax(0, 1fr))[4];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[4];
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 40px 0 0;
  padding: 0;
  gap: 24px;
  list-style: none;
}
.flow__step {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 12px;
}
.flow__step-icon {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  height: 144px;
  background: var(--color-bg-olive);
  color: var(--color-olive);
}
.flow__step-icon > .c-icon {
  display: block;
  width: 64px;
  height: 64px;
}
.flow__step-body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 8px;
}
.flow__step-head {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 8px;
}
.flow__step-num {
  -ms-flex-negative: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
          align-items: center;
          justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid var(--color-olive);
  color: var(--color-olive);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1;
  font-family: var(--font-mincho);
}
.flow__step-title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.flow__step-desc {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}

.info-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 32px 24px;
  gap: 20px;
  background: var(--color-white);
  text-align: center;
}
.info-card__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.7;
  font-family: var(--font-mincho);
}
.info-card__desc {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}

.lecturer-list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
}

.lecturer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}
.lecturer:not(:first-child) {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--color-border);
}
.lecturer__photo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 120px;
  height: 120px;
  overflow: hidden;
  border-radius: 50%;
}
.lecturer__photo > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.lecturer__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 12px;
}
.lecturer__name {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.lecturer__role {
  color: var(--color-primary-700);
  font-size: 16px;
}
.lecturer__bio {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}

.line-join:not(:first-child) {
  margin-top: 56px;
}
.line-join__title {
  margin: 0 0 32px;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
  text-align: center;
}
.line-join__panels {
  -ms-grid-columns: 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  width: 50%;
  margin-inline: auto;
  border: 1px solid var(--color-border);
  background: var(--color-white);
}
.line-join__panel {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 40px 32px;
  gap: 20px;
}
.line-join__panel-title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.65;
  font-family: var(--font-mincho);
  text-align: center;
}
.line-join__media {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  height: 160px;
}
.line-join__qr {
  width: 160px;
  height: 160px;
  background: var(--color-border);
}
.line-join__qr > img {
  -o-object-fit: contain;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: contain;
}
.line-join__note {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}

.line-promo {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: space-between;
  padding: 24px 40px;
  gap: 40px;
  background: var(--color-white);
}
.line-promo__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 20px;
}
.line-promo__badge {
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin: 0;
  padding: 8px 16px;
  background: var(--color-primary-700);
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 13px;
  line-height: 1.65;
  font-family: var(--font-gothic);
  letter-spacing: 0.06em;
}
.line-promo__heading {
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin: 0;
  padding: 0 8px 16px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.line-promo__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.line-promo__item {
  position: relative;
  padding-left: 16px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.line-promo__item::before {
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: var(--color-primary-500);
  content: "";
}
.line-promo__figure {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 162px;
}
.line-promo__figure > img {
  display: block;
  width: 100%;
  height: auto;
}

.media-aside {
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
  max-width: 900px;
  margin: 0 auto;
  gap: 48px;
}
.media-aside__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  min-width: 0;
}
.media-aside__body > p {
  margin: 0 0 19px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.media-aside__body > p:last-child {
  margin-bottom: 0;
}
.media-aside__figure {
  -ms-flex-negative: 0;
  aspect-ratio: 4/3;
      flex-shrink: 0;
  width: 360px;
  margin: 0;
  overflow: hidden;
}
.media-aside__figure > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

.media-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  height: 100%;
  background: var(--color-bg-surface);
}
.media-card__media {
  aspect-ratio: 4/3;
  overflow: hidden;
}
.media-card__image {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.media-card__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 24px;
  gap: 8px;
}
.media-card__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.media-card__caption {
  margin: 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}

.menu-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  height: 100%;
  padding: 24px;
  gap: 16px;
  border: 1px solid var(--color-border);
  background: var(--color-bg-surface);
}
.menu-card__catch {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 11px;
  font-family: var(--font-gothic);
  letter-spacing: 0.2em;
}
.menu-card__title {
  margin: 0;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
}
.menu-card__meta {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  gap: 4px;
}
.menu-card__meta-row {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: baseline;
  gap: 12px;
}
.menu-card__meta-row > dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 52px;
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 13px;
  font-family: var(--font-gothic);
}
.menu-card__meta-row > dd {
  margin: 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 13px;
  font-family: var(--font-gothic);
}
.menu-card__fee {
  color: var(--color-primary-900) !important;
  font-weight: var(--weight-medium) !important;
}
.menu-card__bonus {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  margin: 0;
  padding: 4px 10px;
  background: var(--color-bg-olive);
  color: var(--color-olive);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  letter-spacing: 0.05em;
}
.menu-card__list-title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 13px;
  font-family: var(--font-gothic);
}
.menu-card__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  padding: 0;
  gap: 4px;
  list-style: none;
}
.menu-card__list > li {
  position: relative;
  padding-left: 16px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.menu-card__list > li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
  color: var(--color-primary-700);
}
.menu-card__note {
  margin: 0;
  padding-top: 11px;
  border-top: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}

.phone-step {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  height: 100%;
  padding: 24px;
  gap: 16px;
  border: 1px solid var(--color-border);
  background: var(--color-bg-surface);
  text-align: center;
}
.phone-step__num {
  margin: 0;
  color: var(--color-primary-700);
  font-style: italic;
  font-weight: var(--weight-regular);
  font-size: 11px;
  font-family: var(--font-display);
  letter-spacing: 0.3em;
  text-transform: uppercase;
}
.phone-step__media {
  aspect-ratio: 1;
  width: 200px;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  background: transparent;
}
.phone-step__media > img {
  -o-object-fit: contain;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: contain;
}
.phone-step__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}

.rating-summary {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  gap: 48px;
}
.rating-summary__circle {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 140px;
  height: 140px;
}
.rating-summary__chart {
  display: block;
  width: 100%;
  height: 100%;
}
.rating-summary__track {
  fill: none;
  stroke: var(--color-bg-warm);
}
.rating-summary__arc {
  fill: none;
  stroke: var(--color-primary-500);
}
.rating-summary__hole {
  fill: var(--color-bg);
}
.rating-summary__num {
  fill: var(--color-primary-500);
  font-style: italic;
  font-family: var(--font-display);
}
.rating-summary__label-text {
  fill: var(--color-primary-700);
  font-family: var(--font-mincho);
  letter-spacing: 0.6px;
}
.rating-summary__score {
  padding-left: 48px;
  border-left: 1px solid var(--color-border-warm);
}
.rating-summary__score-num {
  margin: 0;
  color: var(--color-text);
  font-style: italic;
  font-weight: var(--weight-medium);
  font-size: 56px;
  line-height: 1;
  font-family: var(--font-display);
}
.rating-summary__score-label {
  margin: 8px 0 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 18px;
  font-family: var(--font-gothic);
  letter-spacing: 0.05em;
}
.rating-summary__score-note {
  margin: 8px 0 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}

.reason-grid {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  margin: 0;
  padding: 1px;
  gap: 1px;
  background: var(--color-border);
  list-style: none;
}
.reason-grid > li {
  background: var(--color-bg-surface);
}

.reason-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  height: 100%;
  padding: 40px;
  gap: 12px;
  background: transparent;
}
.reason-card__label {
  color: var(--color-primary-700);
  font-style: italic;
  font-weight: var(--weight-medium);
  font-size: 11px;
  font-family: var(--font-display);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.reason-card__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.reason-card__desc {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 15px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}
.reason-card__footnote {
  margin: 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}

.review-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  height: 100%;
  padding: 28px 32px;
  gap: 16px;
  background: var(--color-white);
}
.review-card__person {
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 13px;
  font-family: var(--font-gothic);
  letter-spacing: 0.06em;
}
.review-card__body {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}

.shop-list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.shop-list__region {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 20px;
}

.shop-card {
  padding: 24px;
  border: 1px solid var(--color-border);
  background: var(--color-white);
}
.shop-card__brand {
  display: inline-block;
  margin: 0;
  padding: 4px 8px;
  background: var(--color-primary-900);
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1;
  font-family: var(--font-gothic);
  letter-spacing: 0.08em;
}
.shop-card__name {
  display: block;
  margin: 16px 0 0;
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-decoration: none;
}
.shop-card__info {
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.shop-card__row {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 8px 0;
  gap: 4px;
}
.shop-card__label {
  margin: 0;
  color: var(--color-text-muted);
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1.6;
  font-family: var(--font-gothic);
  letter-spacing: 0.08em;
}
.shop-card__value {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}
.shop-card__value--sm {
  font-size: 11px;
}
.shop-card__access {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 16px 0 0;
  gap: 4px;
}

.step-list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 24px;
  list-style: none;
}
.step-list__item {
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-bg-surface);
}
.step-list__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  padding: 12px 24px;
  gap: 12px;
  background: var(--color-primary-500);
  color: var(--color-white);
}
.step-list__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: currentColor;
  font-size: 24px;
  line-height: 0;
}
.step-list__num {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: currentColor;
  font-style: italic;
  font-weight: var(--weight-regular);
  font-size: 13px;
  font-family: var(--font-display);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.step-list__title {
  margin: 0;
  color: currentColor;
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
}
.step-list__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 24px;
  gap: 16px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.step-list__body > p {
  margin: 0;
}
.step-list__breakdown {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding-top: 16px;
  gap: 12px;
  border-top: 1px solid var(--color-border);
}
.step-list__breakdown-title, .step-list__breakdown-sub {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.step-list__breakdown-rows {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  gap: 8px;
}
.step-list__breakdown-rows > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
.step-list__breakdown-rows dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 64px;
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.step-list__breakdown-rows dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.step-list__breakdown-rows dd > strong {
  display: block;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
}
.step-list__breakdown-warn, .step-list__note, .step-list__warn {
  padding: 12px 16px;
  background: var(--color-bg-warm);
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.step-list__breakdown-warn a[href^="tel:"], .step-list__note a[href^="tel:"], .step-list__warn a[href^="tel:"] {
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  text-decoration: underline;
  white-space: nowrap;
}
.step-list__breakdown-warn {
  margin-top: 4px;
}
.step-list__payment {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}

.store-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: flex-start;
  height: 100%;
  padding: 24px;
  gap: 16px;
  border: 1px solid var(--color-border);
  background: var(--color-white);
}
.store-card__name {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  margin: 0;
  gap: 8px;
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-decoration: none;
}
.store-card__name > .c-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: currentColor;
  font-size: 16px;
  line-height: 0;
}
.store-card__info {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  margin: 0;
  gap: 14px;
}
.store-card__row {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 4px;
}
.store-card__row dt, .store-card__label {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1.6;
  font-family: var(--font-gothic);
  letter-spacing: 0.08em;
}
.store-card__row dd {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}
.store-card__access {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  width: 100%;
  gap: 4px;
}
.store-card__access > p {
  margin: 0;
}
.store-card__access-text {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.store-card__tax {
  padding: 3px 8px;
  border: 1px solid var(--color-primary-700);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1.6;
  font-family: var(--font-gothic);
  letter-spacing: 0.1em;
}
.store-card__tags {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  gap: 8px;
}
.store-card__tag {
  padding: 3px 8px;
  border: 1px solid var(--color-primary-700);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1.6;
  font-family: var(--font-gothic);
  letter-spacing: 0.1em;
}
.store-card__reserve {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  gap: 6px;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.6;
  font-family: var(--font-gothic);
  text-decoration: underline;
}
.store-card__reserve > .c-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: currentColor;
  font-size: 12px;
  line-height: 0;
}
.store-card__detail {
  width: 100%;
  margin-top: auto;
}
.store-card__detail .btn__icon {
  font-size: 20px;
}

.theme-grid {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  padding: 0;
  gap: 8px;
  list-style: none;
}
.theme-grid__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  padding: 24px;
  gap: 8px;
  background: var(--color-bg-surface);
  text-align: center;
}
.theme-grid__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.65;
  font-family: var(--font-mincho);
}
.theme-grid__desc {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-gothic);
}

.ticket-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  padding: 41px;
  gap: 16px;
  border: 1px solid var(--color-border-warm);
  background: var(--color-bg-warm);
  text-align: center;
}
.ticket-card__banner {
  display: block;
  width: 100%;
  max-width: 650px;
  height: auto;
}
.ticket-card__desc {
  width: 100%;
  margin: 0;
  padding: 11px 0;
  border-top: 1px solid var(--color-border-warm);
  border-bottom: 1px solid var(--color-border-warm);
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.ticket-card__usage {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  width: 100%;
  max-width: 655px;
  padding: 16px;
  gap: 12px;
  border: 1px solid var(--color-border);
  background: var(--color-bg-surface);
}
.ticket-card__usage-title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 11px;
  font-family: var(--font-gothic);
}
.ticket-card__usage-text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.ticket-card__example-title {
  margin: 8px 0 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 13px;
  font-family: var(--font-gothic);
  letter-spacing: 0.05em;
}
.ticket-card__rows {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 280px;
  margin: 0;
  padding: 0;
  gap: 4px;
  list-style: none;
}
.ticket-card__row {
  -ms-grid-columns: 1fr auto 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr auto 1fr auto;
  grid-template-columns: 1fr auto 1fr auto;
          align-items: center;
  gap: 8px;
}
.ticket-card__price-from {
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 16px;
  font-family: var(--font-gothic);
  text-decoration: line-through;
}
.ticket-card__price-to {
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 16px;
  font-family: var(--font-gothic);
}
.ticket-card__row > .c-icon {
  color: var(--color-primary-700);
  font-size: 16px;
  line-height: 0;
}
.ticket-card__save {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  padding: 4px 8px;
  background: var(--color-bg-olive);
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 11px;
  font-family: var(--font-gothic);
}
.ticket-card__note {
  margin: 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 11px;
  font-family: var(--font-gothic);
}

.timeline {
  margin: 0;
  padding: 0;
  list-style: none;
}
.timeline__item {
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
  padding: 12px 0;
  gap: 16px;
}
.timeline__date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 90px;
  height: 40px;
  padding-top: 8px;
  border-right: 2px solid var(--color-primary-mid);
  color: var(--color-text-muted);
  font-weight: var(--weight-regular);
  font-size: 20px;
  line-height: 1.2;
  font-family: var(--font-display);
}
.timeline__text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  min-width: 0;
  margin: 0;
  padding-top: 2px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}

.page-actionplan {
  background: var(--color-bg);
}
.page-actionplan .l-inner {
  padding-bottom: 96px;
}
.page-actionplan .page-head {
  margin-top: 32px;
  margin-bottom: 56px;
}

.actionplan {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 32px;
}
.actionplan__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.actionplan__lead {
  max-width: 800px;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.actionplan__period {
  margin: 0;
  padding: 12px 16px;
  background: var(--color-border);
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.actionplan__goals {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  border-top: 1px solid var(--color-border);
}

.actionplan-goal {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 32px 0;
  gap: 16px;
}
.actionplan-goal:first-child {
  padding-right: 33px;
  border-right: 1px solid var(--color-border);
}
.actionplan-goal:last-child {
  padding-left: 32px;
}
.actionplan-goal__title {
  margin: 0;
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.actionplan-goal__label {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 12px;
  font-family: var(--font-gothic);
  letter-spacing: 0.08em;
}
.actionplan-goal__date {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  font-family: var(--font-gothic);
}
.actionplan-goal__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.actionplan-goal__item {
  position: relative;
  margin: 0;
  padding-left: 18px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.actionplan-goal__item::before {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 0.85em;
  left: 0;
  width: 6px;
  height: 6px;
          transform: translateY(-50%);
  border-radius: 3px;
  background: var(--color-primary-500);
  content: "";
}

.page-company {
  background-color: var(--color-bg);
}

/* ====================================================
   創業の想い ヒーローブロック
==================================================== */
.company-hero__media {
  position: relative;
  width: 100%;
  height: 440px;
  overflow: hidden;
}
.company-hero__image {
  -o-object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
     object-fit: cover;
}
.company-hero__overlay {
  position: absolute;
  inset: 0;
  background: var(--color-overlay);
}
.company-hero__content {
  -webkit-transform: translate(-50%, -50%);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
          flex-direction: column;
          align-items: center;
  width: 576px;
  max-width: calc(100% - 64px);
  padding: 48px 80px;
  gap: 28px;
          transform: translate(-50%, -50%);
  color: var(--color-white);
  text-align: center;
}
.company-hero__title {
  margin: 0;
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.company-hero__lead {
  margin: 0;
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}

/* ====================================================
   会社情報サブメニュー（4枚カード）
==================================================== */
.company-menu {
  margin-top: 64px;
}
.company-menu__list {
  -ms-grid-columns: (minmax(0, 1fr))[4];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (minmax(0, 1fr))[4];
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  gap: 4px;
  list-style: none;
}
.company-menu__item {
  height: 265px;
}
.company-menu__card {
  position: relative;
  height: 100%;
  overflow: hidden;
  color: var(--color-text);
}
.company-menu__image {
  -o-object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
     object-fit: cover;
}
.company-menu__overlay {
  position: absolute;
  inset: 0;
  background: var(--color-overlay);
}
.company-menu__panel {
  -webkit-transform: translate(-50%, -50%);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
          flex-direction: column;
          align-items: center;
  width: calc(100% - 64px);
  max-width: 254.5px;
  padding: 32px;
  gap: 24px;
          transform: translate(-50%, -50%);
  background: color-mix(in srgb, var(--color-white) 88%, transparent);
  text-align: center;
}
.company-menu__title {
  margin: 0;
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.company-menu__cta {
  -ms-grid-columns: 1fr auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: background-color 0.3s ease-in, color 0.3s ease-in;
  display: -ms-inline-grid;
  display: inline-grid;
  -ms-grid-columns: 1fr auto 1fr;
  grid-template-columns: 1fr auto 1fr;
          align-items: center;
  width: 100%;
  max-width: 192px;
  padding: 12px;
  gap: 12px;
  border: 1px solid var(--color-text);
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1;
  font-family: var(--font-mincho);
  text-decoration: none;
  transition: background-color 0.3s ease-in, color 0.3s ease-in;
}
.company-menu__cta-text {
  -ms-grid-column: 2;
  grid-column: 2;
}
.company-menu__cta-icon {
  -ms-grid-column: 3;
  -ms-grid-column-align: end;
  grid-column: 3;
      justify-self: end;
  color: currentColor;
  font-size: 20px;
  line-height: 0;
}

.page-consultation {
  background: var(--color-bg);
}

.cs-main {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 64px 0;
  gap: 64px;
}

.cs-section {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  max-width: 1240px;
  padding: 0 20px;
  gap: 40px;
}
.cs-section__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
  text-align: center;
}

/* ===== ページヘッダー ===== */
.cs-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 24px;
}
.cs-head__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 40px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.cs-head__sub {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}

.cs-lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}

/* ===== ヒーロー画像 ===== */
.cs-hero {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  padding: 0 20px;
}
.cs-hero > img {
  aspect-ratio: 12/5;
  -o-object-fit: cover;
  display: block;
  width: 100%;
     object-fit: cover;
}

/* ===== こんな方におすすめ ===== */
.cs-recommend__list {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          justify-content: center;
  margin: 0;
  padding: 0;
  gap: 24px;
  list-style: none;
}
.cs-recommend__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  width: 170px;
  height: 170px;
  padding: 17px;
  border: 1px solid var(--color-primary-700);
  border-radius: 50%;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.6;
  font-family: var(--font-mincho);
  text-align: center;
}

.cs-section__title--dark {
  color: var(--color-text);
}

/* ===== 選ばれる理由 + 安心安全 (テクスチャ背景) ===== */
.cs-trust {
  position: relative;
  width: 100%;
  padding: 64px 20px;
  overflow: hidden;
}
.cs-trust__bg {
  -o-object-fit: cover;
  z-index: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
     object-fit: cover;
}
.cs-trust__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
          flex-direction: column;
          align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  gap: 64px;
}
.cs-trust__block {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  gap: 40px;
}

.cs-reasons {
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  gap: 24px;
}

.cs-safety {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  max-width: 960px;
  gap: 24px;
}

.cs-info-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 35px 33px 33px;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-top-width: 3px;
  background: rgba(255, 255, 255, 0.55);
}
.cs-info-card__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.cs-info-card__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}

.cs-img {
  width: 100%;
  overflow: hidden;
}
.cs-img img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.cs-img--contain {
  background: var(--color-white);
}
.cs-img--contain img {
  -o-object-fit: contain;
     object-fit: contain;
}
.cs-img--form {
  aspect-ratio: 3/2;
}
.cs-img--support {
  aspect-ratio: 4/3;
}
.cs-img--step {
  aspect-ratio: 334/198.75;
}
.cs-img--product {
  aspect-ratio: 4/3;
}

/* ===== 漢方薬の形態と料金目安 ===== */
.cs-forms {
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  gap: 24px;
}

.cs-form {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 35px 25px 33px;
  gap: 12px;
  background: rgba(255, 255, 255, 0.5);
}
.cs-form__name {
  margin: 0;
  color: var(--color-primary-500);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.cs-form__price {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: baseline;
  margin: 0;
  gap: 4px;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-family: var(--font-mincho);
}
.cs-form__amount {
  font-size: 18px;
  line-height: 1.7;
}
.cs-form__unit {
  font-size: 15px;
  line-height: 1.7;
}
.cs-form__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}

/* ===== 専任担当制＆アフターフォロー ===== */
.cs-supports {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  max-width: 960px;
  gap: 24px;
}

.cs-support {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 33px 25px;
  gap: 12px;
  background: rgba(255, 255, 255, 0.5);
}
.cs-support__name {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.cs-support__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

/* ===== 症状を選んでください ===== */
.cs-symptom {
  gap: 25px;
}
.cs-symptom__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.cs-symptom__chips {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          justify-content: center;
  width: 100%;
  max-width: 1000px;
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.cs-symptom__chip {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: background-color 0.3s ease-out;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  padding: 13px 25px;
  border: 1px solid var(--color-primary-700);
  background: var(--color-primary-700);
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.2;
  font-family: var(--font-gothic);
  text-decoration: none;
  transition: background-color 0.3s ease-out;
}
.cs-symptom__more {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: background-color 0.3s ease-out, color 0.3s ease-out;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  padding: 13px 24px;
  gap: 12px;
  border: 1px solid var(--color-text);
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1;
  font-family: var(--font-mincho);
  text-decoration: none;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}
.cs-symptom__more > .c-icon {
  font-size: 20px;
  line-height: 0;
}
.cs-symptom__note {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.cs-symptom__cta {
  display: block;
  width: 650px;
  max-width: 100%;
}
.cs-symptom__cta > img {
  display: block;
  width: 100%;
  height: auto;
}

/* ===== 相談の流れ ===== */
.cs-steps {
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  gap: 24px;
}

.cs-step {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 33px 25px;
  gap: 12px;
  background: rgba(255, 255, 255, 0.5);
}
.cs-step__head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  padding-bottom: 12px;
  gap: 8px;
  border-bottom: 1px solid var(--color-border);
}
.cs-step__no {
  margin: 0;
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-display);
}
.cs-step__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.cs-step__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}

/* ===== よくあるご質問 ===== */
.cs-faq {
  width: 100%;
  background: var(--color-white);
}
.cs-faq__item {
  border-bottom: 1px solid var(--color-border);
}
.cs-faq__item:last-child {
  border-bottom: none;
}
.cs-faq__q {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: space-between;
  padding: 24px 32px;
  gap: 16px;
  list-style: none;
  cursor: pointer;
}
.cs-faq__q::-webkit-details-marker {
  display: none;
}
.cs-faq__q-text {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.cs-faq__icon {
  -ms-flex-negative: 0;
  -webkit-transition: -webkit-transform 0.3s ease-out;
      flex-shrink: 0;
  color: var(--color-text);
  font-size: 20px;
  line-height: 0;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.cs-faq__item[open] .cs-faq__icon {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.cs-faq__a {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 0 32px 24px;
  gap: 0;
}
.cs-faq__a-lead, .cs-faq__a-body {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}

/* ===== お客様の声 ===== */
.cs-voice {
  width: 100%;
  background: var(--color-white);
}
.cs-voice__item {
  border-bottom: 1px solid var(--color-border);
}
.cs-voice__item:last-child {
  border-bottom: none;
}
.cs-voice__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: space-between;
  padding: 16px 24px;
  gap: 16px;
  list-style: none;
  cursor: pointer;
}
.cs-voice__head::-webkit-details-marker {
  display: none;
}
.cs-voice__meta {
  -ms-flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          align-items: center;
  gap: 8px 12px;
}
.cs-voice__tags {
  -ms-flex-wrap: wrap;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
      flex-wrap: wrap;
  gap: 4px;
}
.cs-voice__tag {
  padding: 3px 8px;
  border: 1px solid var(--color-primary-500);
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.cs-voice__name {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.cs-voice__icon {
  -ms-flex-negative: 0;
  -webkit-transition: -webkit-transform 0.3s ease-out;
      flex-shrink: 0;
  color: var(--color-text);
  font-size: 20px;
  line-height: 0;
  transition: -webkit-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
  transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out;
}
.cs-voice__item[open] .cs-voice__icon {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.cs-voice__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding-bottom: 8px;
}
.cs-voice__qa {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 0 24px 16px;
  gap: 8px;
}
.cs-voice__q {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.cs-voice__a {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}

/* ===== 食事・生活習慣などの相談 ===== */

.cs-meal {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  padding: 64px;
  gap: 32px;
  background: var(--color-bg-warm);
}
.cs-meal__lead {
  max-width: 848px;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.cs-meal__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  max-width: 1072px;
  gap: 24px;
}
.cs-meal__subtitle {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.7;
  font-family: var(--font-mincho);
  text-align: center;
}
.cs-meal__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.cs-meal__grid {
  -ms-grid-columns: (1fr)[4];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 24px;
  list-style: none;
}
.cs-meal__note {
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.65;
  font-family: var(--font-gothic);
}

.cs-product {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 12px;
}
.cs-product__name {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  text-align: center;
}
.cs-product__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.8;
  font-family: var(--font-gothic);
  text-align: center;
}

.contact-complete {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding-top: 32px;
  gap: 32px;
  text-align: center;
}
.contact-complete__title {
  margin: 0;
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.contact-complete__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.contact-complete__note {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.contact-complete__actions {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 32px;
}
.contact-complete__btn {
  min-width: 268px;
}

.contact-confirm {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  gap: 32px;
}
.contact-confirm__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  text-align: center;
}
.contact-confirm__dl {
  width: 100%;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-border);
}
.contact-confirm__row {
  -ms-grid-columns: 160px 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 160px 1fr;
  grid-template-columns: 160px 1fr;
  padding: 16px 0;
  gap: 8px;
  border-bottom: 1px solid var(--color-border);
}
.contact-confirm__dt {
  margin: 0;
  color: var(--color-text-muted);
  font-weight: var(--weight-medium);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.contact-confirm__dd {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  white-space: pre-wrap;
  word-break: break-word;
}
.contact-confirm__dd:not(.is-filled) {
  color: var(--color-text-muted);
}
.contact-confirm__actions {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin: 0;
  gap: 16px;
}
.contact-confirm__btn-edit {
  min-width: 140px;
}
.contact-confirm__btn-submit {
  min-width: 178px;
}

.contact-form {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  gap: 20px;
}
.contact-form__field {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 8px;
}
.contact-form__label {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.contact-form__required {
  margin-left: 0;
  color: var(--color-error);
}
.contact-form__input, .contact-form__textarea, .contact-form__select {
  -webkit-box-sizing: border-box;
  -webkit-appearance: none;
     -moz-appearance: none;
  -webkit-transition: border-color 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
          box-sizing: border-box;
          appearance: none;
  width: 100%;
  padding: 12px;
  border: 1px solid var(--color-border);
  border-radius: 0;
  background: var(--color-white);
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-gothic);
  transition: border-color 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  transition: border-color 0.3s ease-in, box-shadow 0.3s ease-in;
  transition: border-color 0.3s ease-in, box-shadow 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
}
.contact-form__input::-webkit-input-placeholder, .contact-form__textarea::-webkit-input-placeholder, .contact-form__select::-webkit-input-placeholder {
  color: var(--color-placeholder);
}
.contact-form__input::-moz-placeholder, .contact-form__textarea::-moz-placeholder, .contact-form__select::-moz-placeholder {
  color: var(--color-placeholder);
}
.contact-form__input:-ms-input-placeholder, .contact-form__textarea:-ms-input-placeholder, .contact-form__select:-ms-input-placeholder {
  color: var(--color-placeholder);
}
.contact-form__input::-ms-input-placeholder, .contact-form__textarea::-ms-input-placeholder, .contact-form__select::-ms-input-placeholder {
  color: var(--color-placeholder);
}
.contact-form__input::placeholder, .contact-form__textarea::placeholder, .contact-form__select::placeholder {
  color: var(--color-placeholder);
}
.contact-form__input:focus, .contact-form__textarea:focus, .contact-form__select:focus {
  -webkit-box-shadow: 0 0 0 1px var(--color-primary-500);
  border-color: var(--color-primary-500);
  outline: none;
          box-shadow: 0 0 0 1px var(--color-primary-500);
}
.contact-form__textarea {
  min-height: 160px;
  resize: vertical;
}
.contact-form__input--zip {
  max-width: 160px;
}
.contact-form__input--half {
  max-width: 354px;
}
.contact-form__select {
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%2380663a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-position: right 16px center;
  background-size: 12px 12px;
  background-repeat: no-repeat;
  cursor: pointer;
}
.contact-form__radios {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  padding-top: 4px;
  gap: 24px;
}
.contact-form__radio-label {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  gap: 8px;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  cursor: pointer;
}
.contact-form__radio, .contact-form__checkbox {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  white-space: nowrap;
}
.contact-form__radio + span {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
          align-items: center;
  gap: 8px;
}
.contact-form__radio + span::before {
  -ms-flex-negative: 0;
  -webkit-transition: border-color 0.3s ease-in, background-color 0.3s ease-in;
      flex-shrink: 0;
  width: 18px;
  height: 18px;
  border: 1px solid var(--color-primary-700);
  border-radius: 50%;
  background: var(--color-white);
  content: "";
  transition: border-color 0.3s ease-in, background-color 0.3s ease-in;
}
.contact-form__radio:checked + span::before {
  border-color: var(--color-primary-700);
  background: radial-gradient(circle, var(--color-primary-700) 0 5px, transparent 6px), var(--color-white);
}
.contact-form__radio:focus-visible + span::before {
  -webkit-box-shadow: 0 0 0 2px var(--color-primary-500);
          box-shadow: 0 0 0 2px var(--color-primary-500);
}
.contact-form__checkbox + span {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
          align-items: center;
}
.contact-form__checkbox + span::before {
  -ms-flex-negative: 0;
  -webkit-transition: border-color 0.3s ease-in, background-color 0.3s ease-in;
      flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-right: 12px;
  border: 1px solid var(--color-primary-700);
  background: var(--color-white);
  content: "";
  transition: border-color 0.3s ease-in, background-color 0.3s ease-in;
}
.contact-form__checkbox:checked + span::before {
  border-color: var(--color-primary-700);
  background: var(--color-primary-700) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3 7.5l3 3 5-6' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
}
.contact-form__checkbox:focus-visible + span::before {
  -webkit-box-shadow: 0 0 0 2px var(--color-primary-500);
          box-shadow: 0 0 0 2px var(--color-primary-500);
}
.contact-form__error {
  margin: 0;
  color: var(--color-error);
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  font-family: var(--font-gothic);
}
.contact-form__field.is-error .contact-form__input,
.contact-form__field.is-error .contact-form__textarea,
.contact-form__field.is-error .contact-form__select {
  border-color: var(--color-error);
}
.contact-form__consent {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 12px;
}
.contact-form__consent-label {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  gap: 12px;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  cursor: pointer;
}
.contact-form__consent-link {
  color: var(--color-primary-500);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.contact-form__consent-link:hover {
  opacity: 0.7;
}
.contact-form__actions {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 4px;
}
.contact-form__field--consent {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact-form__field--consent .contact-form__error {
  text-align: center;
}
.contact-form__cols {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.contact-form__inputs-2 {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.contact-form__inputs-2--split {
  gap: 12px;
}
.contact-form__label-note {
  margin-left: 8px;
  color: var(--color-text-muted);
  font-weight: var(--weight-regular);
  font-size: 13px;
}
.contact-form__subfield {
  -ms-grid-columns: 64px 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 64px 1fr;
  grid-template-columns: 64px 1fr;
          align-items: center;
  gap: 12px;
}
.contact-form__subfield + .contact-form__subfield {
  margin-top: 12px;
}
.contact-form__subfield-label {
  color: var(--color-text-muted);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}
.contact-form__checkboxes {
  -ms-grid-columns: (1fr)[4];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
  padding-top: 4px;
  gap: 12px 24px;
}
.contact-form__check-label {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-gothic);
  cursor: pointer;
}
.contact-form__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.contact-form__note {
  margin: 0;
  color: var(--color-text-meta);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}

.contact-form-intro {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  max-width: 720px;
  margin: 0 auto 12px;
  gap: 12px;
}

.page-contact .contact-top {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  gap: 32px;
}
.page-contact .contact-top__intro {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  gap: 16px;
}
.page-contact .contact-top__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.page-contact .contact-top__shop-link {
  margin-top: 0;
}
.page-contact .contact-top__note {
  margin: 0;
  color: var(--color-text-muted);
  font-weight: 400;
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.page-contact .contact-top__cards {
  -ms-grid-columns: (1fr)[2];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 16px;
  list-style: none;
}
.page-contact .contact-top__cards-item {
  list-style: none;
}
.page-contact .contact-card {
  -ms-grid-columns: auto 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: border-color 0.3s ease-in, -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr auto;
  grid-template-columns: auto 1fr auto;
          align-items: center;
  min-height: 122px;
  padding: 24px;
  gap: 16px;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  color: var(--color-text);
  text-decoration: none;
  transition: border-color 0.3s ease-in, -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  transition: border-color 0.3s ease-in, transform 0.3s ease-in, box-shadow 0.3s ease-in;
  transition: border-color 0.3s ease-in, transform 0.3s ease-in, box-shadow 0.3s ease-in, -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
}
.page-contact .contact-card__icon {
  -ms-grid-column: 1;
  display: block;
  grid-column: 1;
  width: 26px;
  height: 26px;
  color: var(--color-primary-500);
}
.page-contact .contact-card__body {
  -ms-grid-column: 2;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-column: 2;
          flex-direction: column;
  min-width: 0;
  gap: 4px;
}
.page-contact .contact-card__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.page-contact .contact-card__desc {
  margin: 0;
  color: var(--color-text-muted);
  font-weight: 400;
  font-size: 13px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}
.page-contact .contact-card__arrow {
  -ms-grid-column: 3;
  grid-column: 3;
  color: var(--color-primary-700);
  font-size: 22px;
  line-height: 1;
}

.error-404 {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding-top: 32px;
  gap: 32px;
  text-align: center;
}
.error-404__title {
  margin: 0;
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.error-404__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.error-404__actions {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 32px;
}
.error-404__btn {
  min-width: 268px;
}

.page-factory {
  background: var(--color-bg);
}
.page-factory .l-inner {
  padding-bottom: 96px;
}
.page-factory .page-head {
  margin-top: 32px;
  margin-bottom: 56px;
}

.factory {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
}

.factory-table-scroll {
  -webkit-overflow-scrolling: touch;
  width: 900px;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--color-border);
}

.factory-table {
  width: 900px;
  border-collapse: collapse;
  background: var(--color-white);
  table-layout: fixed;
}
.factory-table__col1 {
  width: 140px;
}
.factory-table__col2 {
  width: 54%;
}
.factory-table__col3 {
  width: 46%;
}
.factory-table__th, .factory-table__code, .factory-table__td {
  padding: 12px 16px;
  text-align: left;
  vertical-align: middle;
  word-break: break-word;
}
.factory-table__th {
  border-bottom: 2px solid var(--color-border);
  background: var(--color-border);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.factory-table__code {
  border-bottom: 1px solid var(--color-border);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.6;
  font-family: var(--font-mincho);
}
.factory-table__td {
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}
.factory-table tbody tr:last-child .factory-table__code,
.factory-table tbody tr:last-child .factory-table__td {
  border-bottom: none;
}

.page-fair {
  background: var(--color-bg);
}
.page-fair .l-inner {
  padding-block: 64px;
}

.fair {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 40px;
}

.fair__main {
  width: 100%;
}
.fair__main > img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.fair-banners {
  width: 100%;
}
.fair-banners__lead {
  margin-bottom: 24px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
  text-align: center;
}
.fair-banners__list {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          justify-content: center;
  max-width: 956px;
  margin: 0 auto;
  gap: 16px;
}

.fair-banner {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 470px;
  -webkit-transition: opacity 0.2s ease;
          flex: 0 1 470px;
  width: 100%;
  max-width: 470px;
  transition: opacity 0.2s ease;
}
.fair-banner:hover {
  opacity: 0.8;
}
.fair-banner > img {
  display: block;
  width: 100%;
  height: auto;
}

.page-genseiju {
  background: var(--color-bg);
}

.gs-section {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 80px 20px;
  gap: 40px;
}
.gs-section__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.5;
  font-family: var(--font-mincho);
  text-align: center;
}
.gs-section__title--light {
  color: var(--color-white);
}

/* ===== ヒーロー ===== */
.gs-hero {
  position: relative;
  height: 640px;
  overflow: hidden;
}
.gs-hero__bg {
  -o-object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
     object-fit: cover;
}
.gs-hero__overlay {
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.65)), color-stop(55%, rgba(0, 0, 0, 0.25)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.25) 55%, rgba(0, 0, 0, 0) 100%);
}
.gs-hero__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
          flex-direction: column;
          align-items: center;
  inset: 0;
  padding-top: 64px;
  gap: 20px;
}
.gs-hero__label {
  margin: 0;
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 13px;
  font-family: var(--font-gothic);
  letter-spacing: 0.15em;
  opacity: 0.85;
}
.gs-hero__title {
  margin: 0;
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 80px;
  line-height: 1;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
}
.gs-hero__en {
  margin: 0;
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 20px;
  line-height: 1.5;
  font-family: var(--font-mincho);
  opacity: 0.9;
}

/* ===== 導入セクション ===== */
.gs-intro__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.gs-intro__desc {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 16px;
}
.gs-intro__desc > p {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
  text-align: center;
}
.gs-intro__note {
  color: var(--color-primary-700) !important;
  font-size: 13px !important;
  line-height: 2 !important;
}

.gs-stats {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 0;
  padding: 0;
  gap: 2px;
  list-style: none;
}

.gs-stat {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
          align-items: center;
  padding: 32px 16px;
  gap: 8px;
  background: var(--color-bg-surface);
}
.gs-stat__num {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 56px;
  line-height: 1;
  font-family: var(--font-mincho);
}
.gs-stat__num > span {
  font-size: 18px;
}
.gs-stat__label {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 13px;
  font-family: var(--font-gothic);
}
.gs-stat__sub {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.4;
  font-family: var(--font-gothic);
  text-align: center;
}

/* ===== 利用シーン ===== */
.gs-usecase__list {
  -ms-grid-columns: (1fr)[5];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[5];
  grid-template-columns: repeat(5, 1fr);
  width: 100%;
  max-width: 1200px;
  margin: 0;
  padding: 0;
  gap: 16px;
  list-style: none;
}
.gs-usecase__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  aspect-ratio: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  gap: 12px;
  border-radius: 50%;
  background: var(--color-bg-surface);
}
.gs-usecase__icon {
  color: var(--color-primary-700);
  font-size: 32px;
}
.gs-usecase__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.6;
  font-family: var(--font-gothic);
  text-align: center;
}

/* ===== タイプ別の2種 ===== */
.gs-types__grid {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  max-width: 1200px;
  gap: 16px;
}

.gs-type {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  background: var(--color-bg-surface);
}
.gs-type__media {
  aspect-ratio: 592/298;
  overflow: hidden;
  background: var(--color-border);
}
.gs-type__media > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.gs-type__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 32px 24px;
  gap: 16px;
}
.gs-type__name {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.gs-type__desc {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}
.gs-type__btn {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  margin-top: 8px;
}

/* ===== 厳選素材 ===== */
.gs-material {
  gap: 0;
}
.gs-material__list {
  -ms-grid-columns: (80px)[6];
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (80px)[6];
  grid-template-columns: repeat(6, 80px);
          justify-content: center;
  width: 100%;
  margin: 16px 0 0;
  padding: 0;
  gap: 24px 16px;
  list-style: none;
}
.gs-material__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 80px;
  gap: 8px;
}
.gs-material__img {
  width: 64px;
  height: 64px;
}
.gs-material__img > img {
  -o-object-fit: contain;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: contain;
}
.gs-material__name {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.gs-material__block {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  max-width: 1200px;
  margin-top: 32px;
  gap: 32px;
}
.gs-material__unit {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 8px;
}
.gs-material__head {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.gs-material__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}

.gs-reishi {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  width: 100%;
  max-width: 1200px;
  margin-top: 40px;
  padding: 40px;
  gap: 40px;
  background: var(--color-bg-surface);
}
.gs-reishi__media {
  -ms-flex-negative: 0;
  aspect-ratio: 200/233;
      flex-shrink: 0;
  width: 200px;
}
.gs-reishi__media > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.gs-reishi__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 16px;
}
.gs-reishi__name {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.gs-reishi__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.gs-reishi__text + .gs-reishi__text {
  margin-top: 16px;
}

/* ===== 開発の想い ===== */
.gs-omoi {
  position: relative;
  overflow: hidden;
}
.gs-omoi__bg {
  -o-object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
     object-fit: cover;
}
.gs-omoi__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
          flex-direction: column;
          align-items: center;
  width: 100%;
  max-width: 1200px;
  gap: 40px;
}
.gs-omoi__lead {
  margin: 0;
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.8;
  font-family: var(--font-mincho);
  text-align: center;
}
.gs-omoi__quotebox {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  max-width: 800px;
  gap: 32px;
}
.gs-omoi__quote {
  position: relative;
  margin: 0;
  padding: 0;
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.gs-omoi__quote::before, .gs-omoi__quote::after {
  position: absolute;
  font-size: 48px;
  line-height: 1;
  opacity: 0.3;
}
.gs-omoi__quote::before {
  top: -0.2em;
  left: 0;
  content: "“";
}
.gs-omoi__quote::after {
  right: 0;
  bottom: -0.4em;
  content: "”";
}
.gs-omoi__note {
  margin: 0;
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.6;
  font-family: var(--font-gothic);
  text-align: center;
}
.gs-omoi__sign {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 4px;
}
.gs-omoi__role {
  margin: 0;
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 13px;
  font-family: var(--font-gothic);
}
.gs-omoi__name {
  margin: 0;
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}

/* ===== お客さまの声 ===== */
.gs-voice__grid {
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  max-width: 1200px;
  gap: 16px;
}
.gs-voice__card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 32px 24px;
  background: var(--color-bg-surface);
}
.gs-voice__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-mincho);
}
.gs-voice__who {
  margin: 16px 0 0;
  padding-top: 17px;
  border-top: 1px solid var(--color-border);
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}
.gs-voice__note {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  text-align: center;
}

.guide-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  margin-top: 64px;
  gap: 24px;
  text-align: center;
}
.guide-head__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 40px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.guide-head__catch {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.guide-head__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.guide-sec-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 24px;
  text-align: center;
}
.guide-sec-head__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.guide-sec-head__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.guide-flow {
  margin-top: 64px;
}
.guide-flow__list {
  -ms-grid-columns: (1fr)[4];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
  margin: 40px 0 0;
  padding: 0;
  gap: 40px;
  list-style: none;
}
.guide-flow__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 24px;
}
.guide-flow__media {
  width: 100%;
}
.guide-flow__media img {
  aspect-ratio: 24/31;
  -o-object-fit: contain;
  display: block;
  width: 100%;
     object-fit: contain;
}
.guide-flow__text {
  width: 100%;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.guide-cases {
  margin-top: 64px;
}

.guide-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.guide-tabs__tab {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          align-items: center;
          justify-content: center;
  padding: 24px;
  border: 1px solid currentColor;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1;
  font-family: var(--font-mincho);
  cursor: pointer;
          user-select: none;
}
.guide-tabs__tab--hada {
  color: var(--color-accent-yellow);
}
.guide-tabs__tab--ninkatsu {
  color: var(--color-accent-pink);
}
.guide-tabs__tab--stress {
  color: var(--color-accent-blue);
}
.guide-tabs__tab.is-active {
  border-color: transparent;
  color: var(--color-white);
}
.guide-tabs__tab--hada.is-active {
  background: var(--color-accent-yellow);
}
.guide-tabs__tab--ninkatsu.is-active {
  background: var(--color-accent-pink);
}
.guide-tabs__tab--stress.is-active {
  background: var(--color-accent-blue);
}

.guide-case {
  --guide-accent: var(--color-primary-500);
  --guide-accent-2: var(--color-primary-700);
  --guide-accent-bg: var(--color-bg-surface);
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: none;
          flex-direction: column;
  margin-top: 40px;
  gap: 8px;
}
.guide-case.is-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.guide-case[data-case=ninkatsu] {
  --guide-accent: var(--color-accent-pink);
  --guide-accent-2: var(--color-accent-pink);
  --guide-accent-bg: var(--color-accent-pink-bg);
}
.guide-case[data-case=stress] {
  --guide-accent: var(--color-accent-blue-mid);
  --guide-accent-2: var(--color-accent-blue-mid);
  --guide-accent-bg: var(--color-accent-blue-bg);
}

.guide-persona {
  -ms-grid-columns: 1fr 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
          align-items: center;
  padding: 40px;
  gap: 40px;
  background: var(--color-white);
}
.guide-persona__media img {
  aspect-ratio: 4/3;
  -o-object-fit: cover;
  -o-object-position: top;
  display: block;
  width: 100%;
     object-fit: cover;
     object-position: top;
}
.guide-persona__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 24px;
}
.guide-persona__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.7;
  font-family: var(--font-mincho);
  text-align: center;
}
.guide-persona__tags {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          justify-content: center;
  margin: 0;
  padding: 0;
  gap: 8px;
  list-style: none;
}
.guide-persona__tag {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  width: 80px;
  height: 80px;
  padding: 9px;
  border: 1px solid var(--guide-accent, var(--color-primary-500));
  border-radius: 50%;
  color: var(--guide-accent, var(--color-primary-500));
  font-weight: var(--weight-medium);
  font-size: 13px;
  line-height: 1.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.guide-persona__text {
  width: 100%;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.guide-step {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 40px;
  gap: 24px;
  background: var(--color-white);
}
.guide-step__cols {
  -ms-grid-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
          align-items: start;
  gap: 40px;
}
.guide-step__left {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 12px;
}
.guide-step__right {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 12px;
}
.guide-step__head {
  -ms-flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          align-items: baseline;
  margin: 0;
  gap: 12px 40px;
}
.guide-step__meta {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: baseline;
  gap: 40px;
}
.guide-step__no {
  color: var(--guide-accent, var(--color-primary-500));
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.guide-step__name {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.guide-step__time {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.guide-step__subtitle {
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.7;
  font-family: var(--font-mincho);
}
.guide-step__desc {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.guide-step__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.guide-tools {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 24px;
}

.guide-tool {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
          align-items: center;
  gap: 16px;
}
.guide-tool__media img {
  -o-object-fit: cover;
  display: block;
  width: 155px;
  height: 155px;
     object-fit: cover;
  border-radius: 50%;
}
.guide-tool__label {
  margin: 0;
  color: var(--guide-accent-2, var(--color-primary-700));
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.guide-tool__text {
  width: 100%;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}

.guide-point {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 24px 24px 24px 27px;
  gap: 8px;
  border-left: 3px solid var(--guide-accent, var(--color-primary-500));
  background: var(--guide-accent-bg, var(--color-bg-surface));
}
.guide-point__label {
  margin: 0;
  color: var(--guide-accent, var(--color-primary-500));
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  letter-spacing: 0.1em;
}
.guide-point__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.guide-selfcare {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 24px 24px 24px 27px;
  gap: 16px;
  border-left: 3px solid var(--guide-accent, var(--color-primary-500));
  background: var(--guide-accent-bg, var(--color-bg-surface));
}
.guide-selfcare__media {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.guide-selfcare__media img {
  display: block;
  width: 127px;
  height: auto;
}
.guide-selfcare__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 8px;
}
.guide-selfcare__label {
  margin: 0;
  color: var(--guide-accent, var(--color-primary-500));
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  letter-spacing: 0.1em;
}
.guide-selfcare__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.guide-selfcare__detail {
  margin: 0;
  color: var(--guide-accent-2, var(--color-primary-700));
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}

.guide-tongues {
  -ms-grid-columns: (1fr)[4];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  padding: 0;
  gap: 40px;
  list-style: none;
}

.guide-tongue {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  text-align: center;
}
.guide-tongue__media {
  width: 72%;
  margin-bottom: 16px;
}
.guide-tongue__media img {
  display: block;
  width: 100%;
  height: auto;
}
.guide-tongue__label {
  margin: 0;
  color: var(--guide-accent-2, var(--color-primary-700));
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.guide-tongue__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.guide-step__subimg img {
  display: block;
  width: 200px;
  height: auto;
}

.guide-medicine {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 40px;
  gap: 24px;
  background: var(--color-white);
}
.guide-medicine__label {
  margin: 0;
  color: var(--guide-accent, var(--color-primary-500));
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.guide-medicine__name {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.7;
  font-family: var(--font-mincho);
}
.guide-medicine__desc {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.guide-medicine__grid {
  -ms-grid-columns: (1fr)[8];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[8];
  grid-template-columns: repeat(8, 1fr);
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.guide-medicine__grid li {
  aspect-ratio: 1;
  background: var(--color-white);
}
.guide-medicine__grid img {
  -o-object-fit: contain;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: contain;
}
.guide-medicine__summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 24px;
  gap: 24px;
  background: var(--guide-accent-bg, var(--color-bg-surface));
}
.guide-medicine__summary-media {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.guide-medicine__summary-media img {
  display: block;
  width: 320px;
  height: auto;
}
.guide-medicine__summary-body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  gap: 24px;
}
.guide-medicine__summary-text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.guide-more {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  min-width: 194px;
}
.guide-more .btn__icon {
  font-size: 20px;
}

.guide-rec {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 40px;
  gap: 24px;
  background: var(--color-white);
}
.guide-rec__label {
  margin: 0;
  color: var(--guide-accent, var(--color-primary-500));
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.guide-rec__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
}
.guide-rec__card {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 24px;
}
.guide-rec__media {
  -ms-flex-negative: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
          align-items: center;
          justify-content: center;
  width: 160px;
  height: 160px;
}
.guide-rec__media img {
  -o-object-fit: contain;
  display: block;
  width: 160px;
  height: 160px;
     object-fit: contain;
}
.guide-rec__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: flex-start;
  width: 194px;
  gap: 12px;
}
.guide-rec__name {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.cta-consult {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 56px 32px;
  gap: 24px;
  background: var(--color-bg-warm);
  text-align: center;
}
.cta-consult__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 32px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
}
.cta-consult__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 15px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.cta-consult__ticket {
  display: block;
  width: 650px;
  max-width: 100%;
}
.cta-consult__ticket img {
  display: block;
  width: 100%;
  height: auto;
}
.cta-consult__links {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  width: 100%;
  gap: 16px;
}
.cta-consult__link {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 560px;
          flex: 0 1 560px;
  min-width: 0;
}
.cta-consult__link img {
  display: block;
  width: 100%;
  height: auto;
}

.guide-qa {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  margin-top: 64px;
  gap: 40px;
  text-align: center;
}
.guide-qa__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.guide-qa__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.guide-qa__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 900px;
  max-width: 100%;
  margin: 0;
  padding: 0;
  gap: 16px;
  list-style: none;
  text-align: left;
}
.guide-qa__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 32px 40px;
  gap: 16px;
  background: rgba(255, 255, 255, 0.5);
}
.guide-qa__q {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.guide-qa__a {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.guide-qa__d {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}

.guide-typecheck {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  margin-top: 64px;
  padding: 64px 32px;
  gap: 40px;
  background: var(--color-white);
  text-align: center;
}
.guide-typecheck__icon img {
  display: block;
  width: 100px;
  height: auto;
}
.guide-typecheck__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.guide-typecheck__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.guide-solid-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-transition: background-color 0.3s ease-in;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
          justify-content: center;
  min-width: 314px;
  padding: 18px 40px;
  background: var(--color-primary-700);
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
  transition: background-color 0.3s ease-in;
}

.guide-symptoms {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  margin-top: 64px;
  gap: 24px;
  text-align: center;
}
.guide-symptoms__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.guide-symptoms__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.guide-symptoms__list {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          justify-content: center;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.guide-symptoms__tag {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: opacity 0.3s ease-in;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  padding: 13px 25px;
  border: 1px solid var(--color-primary-700);
  background: var(--color-primary-700);
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.2;
  font-family: var(--font-gothic);
  transition: opacity 0.3s ease-in;
}
.guide-symptoms__note {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.guide-symptoms__banner {
  display: block;
  width: 300px;
  max-width: 100%;
}
.guide-symptoms__banner img {
  display: block;
  width: 100%;
  height: auto;
}

.l-inner > .cta-consult {
  margin-top: 64px;
}

.guide-medicine__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 24px;
}

.guide-medicine__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 24px;
}

.guide-medicine__badge {
  -ms-flex-negative: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
      flex-shrink: 0;
          align-items: center;
          justify-content: center;
  min-width: 56px;
  padding: 10px;
  background: var(--guide-accent, var(--color-primary-500));
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1;
  font-family: var(--font-mincho);
}

.guide-step__subimg--lg img {
  width: 100%;
  max-width: 401px;
}

.guide-solid-btn {
  -moz-appearance: none;
  -webkit-appearance: none;
       appearance: none;
  border: none;
  cursor: pointer;
}

.modal {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1000;
  position: fixed;
          align-items: center;
          justify-content: center;
  inset: 0;
  padding: 40px 20px;
}
.modal[hidden] {
  display: none;
}
.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(51, 51, 51, 0.6);
}
.modal__dialog {
  z-index: 1;
  position: relative;
  width: 100%;
  max-width: 800px;
  max-height: 90vh;
  padding: 56px 40px 40px;
  overflow-y: auto;
  background: var(--color-white);
}
.modal__close {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: absolute;
  top: 16px;
  right: 16px;
          align-items: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background: none;
  color: var(--color-text);
  cursor: pointer;
}
.modal__close .c-icon {
  font-size: 28px;
}
.modal__placeholder {
  margin: 0;
  padding: 40px 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  font-family: var(--font-gothic);
  text-align: center;
}

html.is-modal-open,
body.is-modal-open {
  overflow: hidden;
}

.page-kampo-howto {
  background: var(--color-bg);
}

.guide-section__title + .howto-sub {
  margin-top: 40px;
}
.guide-section__body + .howto-sub {
  margin-top: 40px;
}
.howto-sub + .howto-sub {
  margin-top: 40px;
}
.howto-sub__title {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: calc(33.6 / 20);
  font-family: var(--font-mincho);
  letter-spacing: 0.06em;
  text-align: center;
}
.howto-sub__title + .guide-section__body {
  margin-top: 24px;
}

.howto-video {
  aspect-ratio: 650/364;
  -webkit-transition: opacity 0.3s ease-in;
  display: block;
  width: 100%;
  max-width: 650px;
  margin: 40px auto 0;
  overflow: hidden;
  transition: opacity 0.3s ease-in;
}
.howto-video img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
  vertical-align: top;
}

.page-museum {
  background: var(--color-bg);
}

/* ===== セクション共通 ===== */
.mu-section {
  padding: 80px 0;
}
.mu-section__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.mu-section__title--en {
  letter-spacing: 0.1em;
}

/* ===== ヒーロー ===== */
.mu-hero {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
  aspect-ratio: 1280/560;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
          flex-direction: column;
          align-items: center;
          justify-content: flex-end;
  margin-top: 32px;
  padding-bottom: 80px;
  overflow: hidden;
}
.mu-hero::after {
  z-index: 1;
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.6)), color-stop(55%, rgba(0, 0, 0, 0.2)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.2) 55%, rgba(0, 0, 0, 0) 100%);
  content: "";
}
.mu-hero__img {
  z-index: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
}
.mu-hero__img > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.mu-hero__title {
  z-index: 2;
  position: relative;
  margin: 0;
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 36px;
  line-height: 1.3;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
  text-align: center;
}

/* ===== 店舗ナビ ===== */
.mu-nav {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin: 56px 0 0;
  padding: 0;
  gap: 2px;
  list-style: none;
}
.mu-nav__item {
  width: 238px;
}
.mu-nav__btn {
  aspect-ratio: 238/80;
  -webkit-transition: opacity 0.3s ease-out;
  display: block;
  transition: opacity 0.3s ease-out;
}
.mu-nav__btn > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

/* ===== NEWS ===== */
.mu-news {
  margin-top: 56px;
}
.mu-news .l-wide {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 40px;
}
.mu-news__list {
  width: 100%;
  max-width: 760px;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-border);
  list-style: none;
}
.mu-news__item {
  border-bottom: 1px solid var(--color-border);
}
.mu-news__link {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  -webkit-transition: opacity 0.3s ease-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: baseline;
  padding: 13px 0;
  gap: 16px;
  text-decoration: none;
  transition: opacity 0.3s ease-out;
}
.mu-news__date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 88px;
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.mu-news__title {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}

/* ===== EXPERIENCE ===== */
.mu-experience {
  margin-top: 56px;
  padding: 0;
}
.mu-experience__box {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 20px;
  gap: 40px;
  background: var(--color-border);
}
.mu-experience__label {
  margin: 0;
  color: var(--color-primary-500);
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  letter-spacing: 0.2em;
}
.mu-experience__lead {
  max-width: 760px;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.mu-experience__media {
  aspect-ratio: 16/9;
  width: 646px;
  max-width: 100%;
  overflow: hidden;
}
.mu-experience__media > img,
.mu-experience__media > iframe {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
  border: 0;
}

/* ===== 店舗ブロック ===== */
.mu-stores {
  margin-top: 56px;
}

.mu-store {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding-top: 41px;
  padding-bottom: 40px;
  gap: 24px;
  border-top: 1px solid var(--color-border);
}
.mu-store:last-child {
  border-bottom: 1px solid var(--color-border);
}
.mu-store__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 16px;
}
.mu-store__kanji {
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1;
  font-family: var(--font-mincho);
}
.mu-store__names {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 4px;
}
.mu-store__en {
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  letter-spacing: 0.12em;
}
.mu-store__name {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.mu-store__body {
  -ms-grid-columns: 1fr 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
          align-items: start;
  gap: 48px;
}
.mu-store__images {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.mu-store__img {
  aspect-ratio: 4/3;
  overflow: hidden;
}
.mu-store__img > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.mu-store__img--main {
  grid-column: 1/-1;
}
.mu-store__detail {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 20px;
}
.mu-store__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.mu-store__info {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  gap: 8px;
}
.mu-store__info-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
.mu-store__info-label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 80px;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.mu-store__info-value {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.mu-store__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
  -webkit-transition: background-color 0.3s ease-out, color 0.3s ease-out;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
      align-self: center;
          justify-content: center;
  margin-top: 4px;
  padding: 13px 24px;
  gap: 8px;
  border: 1px solid var(--color-text);
  text-decoration: none;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}
.mu-store__link-text {
  -webkit-transition: color 0.3s ease-out;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-mincho);
  transition: color 0.3s ease-out;
}
.mu-store__link-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: currentColor;
  font-size: 20px;
  line-height: 0;
}

/* ===== アクセス ===== */
.mu-access {
  margin-top: 56px;
  margin-bottom: 32px;
  padding: 0;
}
.mu-access__box {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 20px;
  gap: 40px;
  background: var(--color-border);
}
.mu-access__main {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  max-width: 1040px;
  gap: 48px;
}
.mu-access__map {
  aspect-ratio: 496/372;
  overflow: hidden;
  background: var(--color-bg-warm);
}
.mu-access__map > iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.mu-access__areas {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 32px;
}
.mu-access__area {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 16px;
}
.mu-access__area-title {
  margin: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.mu-access__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.mu-access__list-item {
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
  gap: 12px;
}
.mu-access__list-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 2px;
  color: var(--color-primary-700);
  font-size: 20px;
  line-height: 0;
}
.mu-access__list-text {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.mu-access__cards {
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  max-width: 1040px;
  margin: 0;
  padding: 24px 0 0;
  gap: 16px;
  border-top: 1px solid var(--color-border);
  list-style: none;
}
.mu-access__card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 16px;
  gap: 6px;
}
.mu-access__card-en {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  letter-spacing: 0.1em;
}
.mu-access__card-tel {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.mu-access__card-open {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}

.page-news-article {
  background: var(--color-bg);
}

.news-article {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: stretch;
  max-width: 840px;
  margin: 0 auto;
  padding: 32px 20px 96px;
}
.news-article__figure {
  margin: 0 0 32px;
}
.news-article__figure > img {
  display: block;
  width: 100%;
  height: auto;
}
.news-article__header {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding-bottom: 33px;
  gap: 16px;
  border-bottom: 1px solid var(--color-border);
}
.news-article__meta {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 16px;
}
.news-article__date {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.news-article__cat {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  padding: 4px 8px;
  border: 1px solid var(--color-text);
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.2;
  font-family: var(--font-gothic);
}
.news-article__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 28px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.news-article__body {
  margin-top: 32px;
}
.news-article__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.news-article__heading {
  margin: 36px 0 12px;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.news-article__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  padding-left: 24px;
  gap: 6px;
  list-style: none;
}
.news-article__list-item {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.news-article__more {
  margin: 16px 0 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.news-article__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  gap: 4px;
  color: var(--color-primary-700);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.news-article__link-icon {
  font-size: 16px;
  line-height: 0;
}
.news-article__back {
  -ms-grid-columns: 1fr auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -ms-grid-row-align: center;
  -webkit-transition: background-color 0.3s ease-out, color 0.3s ease-out;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr auto 1fr;
  grid-template-columns: 1fr auto 1fr;
          align-items: center;
      align-self: center;
  width: 220px;
  height: 46px;
  margin-top: 40px;
  border: 1px solid var(--color-text);
  text-decoration: none;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}
.news-article__back-icon {
  -ms-grid-column: 1;
  -ms-grid-column-align: start;
  grid-column: 1;
      justify-self: start;
  margin-left: 24px;
  color: currentColor;
  font-size: 20px;
  line-height: 0;
}
.news-article__back-text {
  -ms-grid-column: 2;
  grid-column: 2;
  color: currentColor;
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1;
  font-family: var(--font-mincho);
}

.page-news {
  background: var(--color-bg);
}
.page-news .l-inner {
  padding-bottom: 96px;
}
.page-news .page-head {
  gap: 24px;
}
.page-news .page-head__lead {
  font-size: 18px;
}

.news-filter {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          justify-content: center;
  margin-bottom: 40px;
  gap: 8px;
}
.news-filter__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: border-color 0.3s ease-out, color 0.3s ease-out;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  padding: 9px 20px;
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  text-decoration: none;
  transition: border-color 0.3s ease-out, color 0.3s ease-out;
}
.news-filter__item--active {
  border-color: var(--color-primary-700);
  color: var(--color-primary-700);
}

.news-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 48px;
}

.news-main {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  min-width: 0;
  gap: 32px;
}

.news-list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
}

.news-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 24px 0 25px;
  gap: 24px;
  border-bottom: 1px solid var(--color-border);
  text-decoration: none;
}
.news-card__thumb {
  -ms-flex-negative: 0;
  aspect-ratio: 4/3;
  display: block;
      flex-shrink: 0;
  width: 120px;
  overflow: hidden;
}
.news-card__thumb > img {
  -o-object-fit: contain;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: contain;
}
.news-card__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  min-width: 0;
  gap: 8px;
}
.news-card__meta {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 16px;
}
.news-card__date {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.news-card__cat {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  padding: 4px 8px;
  border: 1px solid var(--color-text);
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.2;
  font-family: var(--font-gothic);
}
.news-card__title {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
  text-decoration: none;
}

.news-pager {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  gap: 8px;
}
.news-pager__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-transition: background-color 0.3s ease-out, color 0.3s ease-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  font-family: var(--font-gothic);
  text-decoration: none;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}
.news-pager__item--active {
  border-color: var(--color-primary-700);
  background: var(--color-primary-700);
  color: var(--color-white);
}
.news-pager__item--next > .c-icon {
  font-size: 20px;
  line-height: 0;
}
.news-pager__ellipsis {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--color-text);
  font-size: 16px;
  font-family: var(--font-gothic);
}

.news-archive {
  -ms-flex-negative: 0;
  -ms-flex-item-align: start;
      flex-shrink: 0;
      align-self: flex-start;
  width: 200px;
  border: 1px solid var(--color-border);
}
.news-archive__year {
  border-bottom: 1px solid var(--color-border);
}
.news-archive__year:last-child {
  border-bottom: none;
}
.news-archive__summary {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  padding: 12px 16px;
  gap: 8px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  font-family: var(--font-gothic);
  list-style: none;
  cursor: pointer;
}
.news-archive__summary::-webkit-details-marker {
  display: none;
}
.news-archive__summary::before {
  width: 12px;
  content: "＋";
  color: var(--color-primary-700);
  font-size: 12px;
}
.news-archive__year[open] .news-archive__summary::before {
  content: "－";
}
.news-archive__months {
  margin: 0;
  padding: 0;
  list-style: none;
}
.news-archive__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  -webkit-transition: background-color 0.3s ease-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: space-between;
  padding: 8px 16px 8px 28px;
  gap: 8px;
  text-decoration: none;
  transition: background-color 0.3s ease-out;
}
.news-archive__month {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 13px;
  font-family: var(--font-gothic);
}
.news-archive__count {
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 12px;
  font-family: var(--font-gothic);
}

.page-pharmaceuticals {
  background: var(--color-bg);
}
.page-pharmaceuticals .l-inner {
  padding-bottom: 96px;
}
.page-pharmaceuticals .page-head {
  margin-top: 32px;
  margin-bottom: 56px;
}

.pharmaceuticals {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 56px;
}

.pharmaceuticals-store {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
}
.pharmaceuticals-store__name {
  margin: 0 0 32px;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.pharmaceuticals-store__photos {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  width: 900px;
  max-width: 100%;
  margin-bottom: 24px;
  gap: 12px;
}

.pharmaceuticals-figure {
  margin: 0;
}
.pharmaceuticals-figure__img {
  aspect-ratio: 4/3;
  overflow: hidden;
}
.pharmaceuticals-figure__img > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.pharmaceuticals-figure__cap {
  margin: 8px 0 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 12px;
  font-family: var(--font-gothic);
  text-align: center;
}

.pharmaceuticals-table-scroll {
  -webkit-overflow-scrolling: touch;
  width: 900px;
  max-width: 100%;
  overflow-x: auto;
}

.pharmaceuticals-schedule {
  margin: 0;
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.pharmaceuticals-schedule > a {
  color: var(--color-primary-700);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.pharmaceuticals-table {
  width: 900px;
  border: 1px solid var(--color-border);
  border-collapse: collapse;
  background: var(--color-white);
  font-family: var(--font-gothic);
  table-layout: fixed;
}
.pharmaceuticals-table__th, .pharmaceuticals-table__td {
  padding: 7px 12px;
  border: 1px solid var(--color-border);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.7;
  text-align: left;
  vertical-align: top;
  word-break: break-word;
}
.pharmaceuticals-table__th {
  background: var(--color-border);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
}
.pharmaceuticals-table__td {
  color: var(--color-text);
}

.pharmaceuticals-mark {
  display: inline-block;
  padding: 0 3px;
  border: 1px solid currentColor;
  font-size: 0.8em;
  line-height: 1.3;
}

.pharmaceuticals-info {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 20px;
}
.pharmaceuticals-info__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.pharmaceuticals-info__tel {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.pharmaceuticals-info__tel-num {
  font-weight: var(--weight-medium);
  font-size: 20px;
}

.page-privacy,
.page-socialmediaprivacy {
  background: var(--color-bg);
}
.page-privacy .l-inner,
.page-socialmediaprivacy .l-inner {
  padding-bottom: 96px;
}
.page-privacy .page-head,
.page-socialmediaprivacy .page-head {
  margin-top: 32px;
  margin-bottom: 56px;
}

.policy {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 56px;
}
.policy__intro {
  max-width: 800px;
  margin: 0 auto;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.policy__section {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
}
.policy__heading {
  margin: 0 0 32px;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.policy__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  max-width: 1000px;
}
.policy__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.policy__text + .policy__text {
  margin-top: 16px;
}
.policy__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  padding-left: 24px;
  gap: 6px;
  list-style: none;
}
.policy__list--num {
  counter-reset: policy-item;
}
.policy__list-item {
  position: relative;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.policy__list--num > .policy__list-item {
  counter-increment: policy-item;
}
.policy__list--num > .policy__list-item::before {
  position: absolute;
  left: -24px;
  content: "(" counter(policy-item) ")";
}
.policy__list-item > .policy__list {
  margin-top: 0;
}
.policy__link {
  -ms-flex-item-align: start;
      -ms-grid-row-align: start;
      align-self: start;
  margin-top: 8px;
}

.rcr-nav {
  width: 100%;
}
.rcr-nav__toggle {
  display: none;
}
.rcr-nav__list {
  -ms-grid-columns: (1fr)[7];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[7];
  grid-template-columns: repeat(7, 1fr);
  margin: 0;
  padding: 0;
  gap: 2px;
  background: var(--color-border);
  list-style: none;
}
.rcr-nav__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.rcr-nav__link {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-transition: color 0.3s ease-in, background 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          align-items: center;
          justify-content: center;
  height: 64px;
  background: var(--color-white);
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  text-align: center;
  text-decoration: none;
  transition: color 0.3s ease-in, background 0.3s ease-in;
}
.rcr-nav__link.is-current {
  color: var(--color-primary-700);
}

.rcr-hero {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
          flex-direction: column;
          align-items: flex-start;
          justify-content: flex-end;
  height: 580px;
  padding: 64px max(120px, calc((100% - 1440px) / 2 + 120px));
  overflow: hidden;
  color: var(--color-white);
}
.rcr-hero::before {
  z-index: 1;
  position: absolute;
  inset: 0;
  background: linear-gradient(158deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.2) 100%);
  content: "";
}
.rcr-hero__bg {
  -o-object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
     object-fit: cover;
}
.rcr-hero__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
  position: relative;
          flex-direction: column;
  gap: 20px;
}
.rcr-hero__en {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-display);
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.rcr-hero__title {
  margin: 0;
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 40px;
  line-height: 1.35;
  font-family: var(--font-mincho);
}

.rcr-body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  max-width: 1160px;
  margin: 0 auto;
  padding: 80px 20px;
  gap: 80px;
}

.rcr-body--sub {
  padding-top: 0;
}

.rcr-page-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 32px 120px;
  gap: 8px;
  background: var(--color-bg);
  text-align: center;
}
.rcr-page-head__en {
  margin: 0;
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-display);
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.rcr-page-head__title {
  margin: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 32px;
  line-height: 1.35;
  font-family: var(--font-mincho);
}
.rcr-page-head__sub {
  margin: 0;
  color: var(--color-gozo-food);
  font-weight: var(--weight-regular);
  font-size: 18px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}

.rcr-work {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.rcr-work__intro {
  max-width: 800px;
  margin: 0 auto;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: left;
}
.rcr-work__grid {
  -ms-grid-columns: (1fr)[2];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  gap: 4px;
}
.rcr-work__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 36px 32px;
  gap: 12px;
  background: var(--color-white);
}
.rcr-work__num {
  margin: 0;
  color: var(--color-border-warm);
  font-weight: var(--weight-regular);
  font-size: 32px;
  line-height: 1;
  font-family: var(--font-display);
}
.rcr-work__title {
  margin: 0;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--color-gozo-line);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-work__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.1;
  font-family: var(--font-gothic);
}

.rcr-section-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 8px;
}
.rcr-section-head--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.rcr-section-head__en {
  margin: 0;
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-display);
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.rcr-section-head__title {
  margin: 0;
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}

.rcr-news {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 32px;
}
.rcr-news__list {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-gozo-line);
  background: var(--color-white);
  list-style: none;
}
.rcr-news__item {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: baseline;
  padding: 20px 24px;
  gap: 24px;
  border-bottom: 1px solid var(--color-gozo-line);
}
.rcr-news__date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-display);
  letter-spacing: 0.08em;
}
.rcr-news__title {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  text-decoration: none;
}

.rcr-message {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: stretch;
}
.rcr-message__body {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 560px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 0 0 560px;
          flex-direction: column;
  max-width: 560px;
  padding: 64px 56px;
  gap: 36px;
  background: var(--color-white);
}
.rcr-message__en {
  margin: 0;
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-display);
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.rcr-message__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 28px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.rcr-message__blocks {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 20px;
}
.rcr-message__block {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 8px;
}
.rcr-message__block + .rcr-message__block {
  padding-top: 17px;
  border-top: 1px solid var(--color-border-warm);
}
.rcr-message__block-title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.rcr-message__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.rcr-message__media {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  overflow: hidden;
}
.rcr-message__media img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

.rcr-voice {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 32px;
}
.rcr-voice__grid {
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.rcr-voice-card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-transition: -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  background: var(--color-white);
  text-decoration: none;
  transition: -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  transition: transform 0.3s ease-in, box-shadow 0.3s ease-in;
  transition: transform 0.3s ease-in, box-shadow 0.3s ease-in, -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
}
.rcr-voice-card__media {
  overflow: hidden;
}
.rcr-voice-card__media img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 280px;
     object-fit: cover;
}
.rcr-voice-card__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  padding: 32px 24px 24px;
}
.rcr-voice-card__role {
  margin: 0 0 12px;
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-display);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.rcr-voice-card__name {
  margin: 0 0 12px;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-voice-card__meta {
  margin: 0 0 20px;
  color: var(--color-text-meta);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.rcr-voice-card__quote {
  margin: 0;
  padding-left: 12px;
  border-left: 2px solid var(--color-primary-500);
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.rcr-voice-card__arrow {
  -ms-flex-item-align: end;
      align-self: flex-end;
  margin-top: 24px;
  color: var(--color-primary-500);
  font-size: 20px;
}

.rcr-voice-detail {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 64px;
}
.rcr-voice-detail__profile {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  background: var(--color-white);
}
.rcr-voice-detail__media {
  aspect-ratio: 560/500;
  overflow: hidden;
}
.rcr-voice-detail__media img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.rcr-voice-detail__panel {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          justify-content: center;
  padding: 0 48px;
  gap: 20px;
}
.rcr-voice-detail__role {
  margin: 0;
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-display);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.rcr-voice-detail__name {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 28px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-voice-detail__meta {
  margin: 0;
  color: var(--color-text-meta);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.rcr-voice-detail__quote {
  margin: 0;
  padding-left: 20px;
  border-left: 3px solid var(--color-primary-500);
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.rcr-voice-detail__interview {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.rcr-voice-detail__qa-list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  gap: 48px;
}
.rcr-voice-detail__qa {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 16px;
}
.rcr-voice-detail__q {
  margin: 0;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--color-border-warm);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-voice-detail__a {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.rcr-voice-detail__back-wrap {
  text-align: center;
}
.rcr-voice-detail__back {
  display: inline-block;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--color-primary-500);
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  text-decoration: none;
}

.rcr-edu-policy {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}
.rcr-edu-policy__text {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 64px 56px;
  gap: 32px;
  background: var(--color-white);
}
.rcr-edu-policy__en {
  margin: 0;
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-display);
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.rcr-edu-policy__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 28px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.rcr-edu-policy__lead {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 56px;
}
.rcr-edu-policy__lead p {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.rcr-edu-policy__media {
  overflow: hidden;
}
.rcr-edu-policy__media img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

.rcr-edu-curriculum {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}

.rcr-edu-steps {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
}

.rcr-edu-step {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--color-gozo-line);
  background: var(--color-white);
}
.rcr-edu-step__media {
  overflow: hidden;
}
.rcr-edu-step__media img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.rcr-edu-step__text {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          justify-content: center;
  padding: 40px 48px;
  gap: 12px;
}
.rcr-edu-step__num {
  margin: 0;
  color: var(--color-gozo-line);
  font-weight: var(--weight-regular);
  font-size: 40px;
  line-height: 1;
  font-family: var(--font-display);
}
.rcr-edu-step__title {
  margin: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 22px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-edu-step__tag {
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin: 0;
  padding: 4px 12px;
  background: var(--color-bg);
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  letter-spacing: 0.1em;
}
.rcr-edu-step__desc {
  margin: 0;
  color: var(--color-gozo-food);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}

.rcr-intro {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}
.rcr-intro__text {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 64px 56px;
  gap: 32px;
  background: var(--color-white);
}
.rcr-intro__en {
  margin: 0;
  color: var(--color-primary-500);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-display);
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.rcr-intro__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 28px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.rcr-intro__lead {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 56px;
}
.rcr-intro__lead p {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.rcr-intro__media {
  overflow: hidden;
}
.rcr-intro__media img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.rcr-intro--no-title .rcr-intro__text {
  padding-bottom: 88px;
}

.rcr-salary {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.rcr-salary__group {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 8px;
}
.rcr-salary__job {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: baseline;
  padding-bottom: 13px;
  gap: 16px;
  border-bottom: 1px solid var(--color-primary-700);
}
.rcr-salary__job-name {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-salary__job-qual {
  margin: 0;
  color: var(--color-text-meta);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.rcr-salary__table {
  background: var(--color-white);
}
.rcr-salary__table--cols3 .rcr-salary__row {
  -ms-grid-columns: minmax(0, 471fr) minmax(0, 276fr) minmax(0, 373fr);
  grid-template-columns: minmax(0, 471fr) minmax(0, 276fr) minmax(0, 373fr);
}
.rcr-salary__row {
  -ms-grid-columns: 462px 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 462px 1fr;
  grid-template-columns: 462px 1fr;
  border-bottom: 1px solid var(--color-gozo-line);
}
.rcr-salary__row--head {
  background: var(--color-bg);
}
.rcr-salary__row--head .rcr-salary__cell {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-salary__cell {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          justify-content: center;
  padding: 16px 20px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.rcr-salary__pay {
  display: block;
}
.rcr-salary__note {
  color: var(--color-text-meta);
  font-size: 13px;
  line-height: 1.7;
}
.rcr-salary__caption {
  margin: 4px 0 0;
  color: var(--color-text-meta);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}

.rcr-conditions {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.rcr-conditions__list {
  margin: 0;
  padding: 40px;
  background: var(--color-white);
}
.rcr-conditions__row {
  -ms-grid-columns: 160px 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 160px 1fr;
  grid-template-columns: 160px 1fr;
  padding: 15px 0;
  border-bottom: 1px solid var(--color-gozo-line);
}
.rcr-conditions__row:first-child {
  border-top: 1px solid var(--color-gozo-line);
}
.rcr-conditions__label {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-conditions__value {
  margin: 0;
  padding-left: 24px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.rcr-conditions__items {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  padding: 0;
  gap: 4px;
  list-style: none;
}
.rcr-conditions__item {
  margin: 0;
}
.rcr-conditions__apply {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 32px;
}

.rcr-data {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.rcr-data__grid {
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}
.rcr-data__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 32px 24px;
  gap: 8px;
  background: var(--color-bg-surface);
}
.rcr-data__num {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: baseline;
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-family: var(--font-mincho);
}
.rcr-data__num-val {
  font-size: 48px;
  line-height: 1;
}
.rcr-data__num-unit {
  font-size: 20px;
  line-height: 1;
}
.rcr-data__label {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.rcr-data__note {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}

.rcr-schedule {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.rcr-schedule__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.rcr-schedule__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 16px;
}
.rcr-schedule__sub {
  margin: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 17px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-schedule__rows {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 16px;
}
.rcr-schedule__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid var(--color-gozo-line);
  background: var(--color-white);
}
.rcr-schedule__row--single .rcr-schedule__year {
  gap: 3px;
}
.rcr-schedule__year {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 150px;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 0 0 150px;
          align-items: baseline;
          justify-content: center;
  padding: 24px 0;
  gap: 6px;
  background: var(--color-primary-700);
}
.rcr-schedule__year-num {
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 36px;
  line-height: 1;
  font-family: var(--font-display);
}
.rcr-schedule__year-unit {
  color: rgba(255, 255, 255, 0.8);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.rcr-schedule__year-sep {
  color: rgba(255, 255, 255, 0.7);
  font-weight: var(--weight-regular);
  font-size: 18px;
  line-height: 1;
  font-family: var(--font-gothic);
}
.rcr-schedule__months {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
          flex: 1 1;
  border-left: 1px solid var(--color-gozo-line);
}
.rcr-schedule__month {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  border-right: 1px solid var(--color-gozo-line);
}
.rcr-schedule__month:last-child {
  border-right: none;
}
.rcr-schedule__month-head {
  margin: 0;
  padding: 8px 12px;
  border-bottom: 1px solid var(--color-gozo-line);
  background: var(--color-bg);
  color: var(--color-primary-500);
  font-weight: var(--weight-medium);
  font-size: 12px;
  line-height: 1.65;
  font-family: var(--font-gothic);
  letter-spacing: 0.05em;
  text-align: center;
}
.rcr-schedule__month-body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  margin: 0;
  padding: 11px 12px;
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  text-align: center;
}
.rcr-schedule__single {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          align-items: center;
  padding: 11px 12px;
}
.rcr-schedule__single p {
  margin: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.rcr-schedule__link {
  -ms-flex-item-align: start;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
      align-self: flex-start;
  padding-bottom: 4px;
  gap: 8px;
  border-bottom: 1px solid var(--color-primary-500);
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  text-decoration: none;
}
.rcr-schedule__link .c-icon {
  width: 24px;
  height: 24px;
}

.rcr-flow {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.rcr-flow__note {
  margin: 0;
  padding: 10px 16px;
  border-left: 2px solid var(--color-primary-700);
  background: var(--color-bg-surface);
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.rcr-flow__steps {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: stretch;
}
.rcr-flow__step {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
          align-items: center;
  padding: 24px 16px;
  gap: 12px;
  background: var(--color-white);
}
.rcr-flow__num {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 32px;
  line-height: 1;
  font-family: var(--font-display);
}
.rcr-flow__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  text-align: center;
}
.rcr-flow__desc {
  margin: 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.8;
  font-family: var(--font-gothic);
  text-align: center;
}
.rcr-flow__arrow {
  -ms-flex-negative: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
          align-items: center;
          justify-content: center;
  color: var(--color-border-warm);
}
.rcr-flow__arrow .c-icon {
  width: 24px;
  height: 24px;
}

.rcr-apply {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.rcr-apply__cols {
  -ms-grid-columns: 1fr 1fr;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
          align-items: stretch;
  gap: 16px;
}
.rcr-apply__col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 40px 32px;
  gap: 8px;
  background: var(--color-white);
}
.rcr-apply__col--entry {
  gap: 20px;
}
.rcr-apply__head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 8px;
}
.rcr-apply__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-apply__text {
  margin: 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}
.rcr-apply__btn {
  -ms-flex-item-align: start;
  -webkit-transition: opacity 0.3s ease-in;
  display: inline-block;
      align-self: flex-start;
  padding: 12px 32px;
  background: var(--color-primary-700);
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  text-decoration: none;
  transition: opacity 0.3s ease-in;
}
.rcr-apply__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
}
.rcr-apply__tel {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 24px;
  line-height: 1.4;
  font-family: var(--font-gothic);
}
.rcr-apply__tel-label {
  font-family: var(--font-display);
}
.rcr-apply__hours {
  margin: 0;
  color: var(--color-text-meta);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}

.rcr-target {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.rcr-target__grid {
  -ms-grid-columns: (1fr)[2];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.rcr-target__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 40px 32px;
  gap: 12px;
  background: var(--color-white);
}
.rcr-target__icon {
  fill: currentColor;
  width: 36px;
  height: 36px;
  color: var(--color-primary-700);
}
.rcr-target__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-target__text {
  margin: 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}

.rcr-program {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 20px;
}
.rcr-program__note {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.rcr-program__cols {
  -ms-grid-columns: (1fr)[3];
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
          align-items: start;
}
.rcr-program__col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 24px 16px 0;
  gap: 12px;
}
.rcr-program__col:first-child {
  padding-left: 0;
}
.rcr-program__col-title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-program__col-text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}

.rcr-locations {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 40px;
}
.rcr-locations__list {
  -ms-grid-columns: (1fr)[2];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid var(--color-gozo-line);
}
.rcr-locations__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: opacity 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  padding: 16px;
  gap: 20px;
  border-bottom: 1px solid var(--color-gozo-line);
  background: var(--color-white);
  text-decoration: none;
  transition: opacity 0.3s ease-in;
}
.rcr-locations__item:nth-child(odd) {
  border-right: 1px solid var(--color-gozo-line);
}
.rcr-locations__region {
  -ms-flex-negative: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
      flex-shrink: 0;
          align-items: center;
          justify-content: center;
  min-width: 49px;
  padding: 4px 12px;
  background: var(--color-primary-700);
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
}
.rcr-locations__name {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  min-width: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-locations__icon {
  -ms-flex-negative: 0;
  fill: currentColor;
      flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: var(--color-primary-700);
}

.rcr-jobs {
  -ms-grid-columns: (1fr)[2];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.rcr-job {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
  -webkit-transition: border-color 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: flex-start;
  padding: 24px;
  gap: 12px;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  text-decoration: none;
  transition: border-color 0.3s ease-in;
}
.rcr-job__badge {
  display: inline-block;
  padding: 2px 8px;
  background: var(--color-primary-500);
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}
.rcr-job__title {
  margin: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.rcr-job__location {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.5;
  font-family: var(--font-gothic);
}
.rcr-job__wage {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: baseline;
  width: 100%;
  padding-top: 16px;
  gap: 8px;
  border-top: 1px solid var(--color-gozo-line);
}
.rcr-job__wage-label {
  color: var(--color-text-meta);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.rcr-job__wage-value {
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 24px;
  line-height: 1;
  font-family: var(--font-gothic);
}
.rcr-job__more {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  margin-top: 12px;
  gap: 4px;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.rcr-job__more-icon {
  -ms-flex-negative: 0;
  fill: currentColor;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.rcr-job-detail {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 32px;
  scroll-margin-top: 96px;
}

.rcr-detail {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  max-width: 1240px;
  margin: 0 auto;
  padding: 32px 20px 96px;
  gap: 56px;
}
.rcr-detail__head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  max-width: 1200px;
  padding-bottom: 32px;
  gap: 12px;
  border-bottom: 1px solid var(--color-border);
}
.rcr-detail__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.rcr-detail__wage {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: baseline;
  margin: 0;
  gap: 8px;
}
.rcr-detail__wage-label {
  color: var(--color-text-meta);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.rcr-detail__wage-value {
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 28px;
  line-height: 1;
  font-family: var(--font-display);
}
.rcr-detail__main {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  max-width: 1120px;
  gap: 80px;
}
.rcr-detail__back {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  padding-top: 32px;
}
.rcr-detail__back-link {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-transition: background-color 0.3s ease-in, color 0.3s ease-in;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
          justify-content: center;
  padding: 12px 24px;
  gap: 6px;
  border: 1px solid var(--color-text);
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1;
  font-family: var(--font-mincho);
  text-decoration: none;
  transition: background-color 0.3s ease-in, color 0.3s ease-in;
}
.rcr-detail__back-icon {
  -ms-flex-negative: 0;
  fill: currentColor;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.page-shop-detail .l-inner {
  max-width: 1080px;
}

.shop-detail__head {
  -webkit-box-align: end;
      -ms-flex-align: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-end;
  margin-top: 40px;
  gap: 64px;
}
.shop-detail__head-main {
  -webkit-box-flex: 1;
      -ms-flex: 1 0;
          flex: 1 0;
  min-width: 0;
}
.shop-detail__reserve {
  -ms-flex-negative: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: background-color 0.3s ease-in, color 0.3s ease-in;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
      flex-shrink: 0;
          align-items: center;
  padding: 13px 25px;
  gap: 6px;
  border: 1px solid var(--color-text);
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1;
  font-family: var(--font-mincho);
  text-decoration: none;
  transition: background-color 0.3s ease-in, color 0.3s ease-in;
}
.shop-detail__reserve > .c-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 20px;
  line-height: 0;
}
.shop-detail__title {
  margin: 0;
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 32px;
  line-height: 1.35;
  font-family: var(--font-mincho);
}
.shop-detail__sub {
  margin: 8px 0 0;
  color: var(--color-text-muted);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}
.shop-detail__badge {
  margin-top: 16px;
}
.shop-detail__hero {
  margin-top: 32px;
}
.shop-detail__hero img {
  aspect-ratio: 12/5;
  -o-object-fit: cover;
  display: block;
  width: 100%;
     object-fit: cover;
}
.shop-detail__hero .swiper {
  overflow: hidden;
}
.shop-detail__section {
  margin-top: 64px;
}
.shop-detail__heading {
  margin: 0 0 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.shop-detail__info {
  -ms-grid-columns: 1fr 1fr;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
          align-items: stretch;
  gap: 32px;
}
.shop-detail__info-dl {
  margin: 0;
}
.shop-detail__info-row {
  -ms-grid-columns: 80px 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 80px 1fr;
  grid-template-columns: 80px 1fr;
  padding: 16px 0;
  gap: 16px;
  border-bottom: 1px solid var(--color-border);
}
.shop-detail__info-dt {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  letter-spacing: 0.04em;
}
.shop-detail__info-dd {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.shop-detail__info-dd a {
  color: var(--color-primary-700);
  text-decoration: underline;
  text-decoration-thickness: from-font;
  text-underline-offset: 2px;
}
.shop-detail__info-dd a:hover {
  opacity: 0.7;
}
.shop-detail__info-note {
  display: block;
  margin: 4px 0 0;
  color: var(--color-text-muted);
  font-size: 11px;
  line-height: 1.7;
}
.shop-detail__taxfree {
  display: inline-block;
  padding: 4px 12px;
  border: 1px solid var(--color-primary-700);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 11px;
  line-height: 1.6;
  font-family: var(--font-gothic);
  letter-spacing: 0.1em;
}
.shop-detail__map iframe {
  display: block;
  width: 100%;
  border: 0;
}
.shop-detail__access {
  margin: 0;
}
.shop-detail__access-item {
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
  padding: 16px 0;
  gap: 12px;
  border-bottom: 1px solid var(--color-border);
}
.shop-detail__access-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  color: var(--color-primary-700);
}
.shop-detail__access-text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.shop-detail__message {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 16px;
}
.shop-detail__message p {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.shop-detail__services {
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.shop-detail__service {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 20px;
  gap: 8px;
  border: 1px solid var(--color-border);
  background: var(--color-white);
}
.shop-detail__service-head {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 8px;
}
.shop-detail__service-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: var(--color-primary-700);
}
.shop-detail__service-title {
  margin: 0;
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.shop-detail__service-desc {
  margin: 0;
  color: var(--color-text-muted);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.shop-detail__form {
  margin-top: 64px;
  padding: 40px;
  background: var(--color-white);
}
.shop-detail__form .contact-form {
  max-width: 100%;
}
.shop-detail__form-notes {
  margin: -8px 0 24px;
}
.shop-detail__form-notes p {
  margin: 0;
  color: var(--color-text-muted);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.shop-detail__form-note-alert {
  color: var(--color-error);
}
.shop-detail__back {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 64px;
}

.page-sickness-detail {
  background: var(--color-bg);
}
.guide-detail > .guide-toc,
.guide-detail > .guide-kiketsusui,
.guide-detail > .guide-section,
.guide-detail > .guide-note,
.guide-detail > .guide-banner,
.guide-detail > .guide-typecheck-cta,
.guide-detail > .guide-faq,
.guide-detail > .guide-outro,
.guide-detail > .guide-cta,
.guide-detail > .guide-related,
.guide-detail > .guide-refs,
.guide-detail > .guide-supervisor {
  margin-top: 80px;
}
.guide-detail [id] {
  scroll-margin-top: 100px;
}

.guide-detail__h1 {
  padding-top: 64px;
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 40px;
  line-height: calc(52 / 40);
  font-family: var(--font-mincho);
  letter-spacing: 0.08em;
  text-align: center;
}

.guide-detail__lead {
  max-width: 720px;
  margin: 40px auto 0;
}
.guide-detail__lead p {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: calc(35.2 / 16);
  font-family: var(--font-gothic);
}

.guide-toc {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: stretch;
  gap: 32px;
}
.guide-toc__box {
  -ms-flex-negative: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
          flex-direction: column;
  width: 320px;
  padding: 32px;
  gap: 16px;
  border-top: 1px solid var(--color-primary-700);
  background: var(--color-bg-surface);
}
.guide-toc__heading {
  padding-bottom: 16px;
  border-bottom: 1px dashed var(--color-border-warm);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  font-family: var(--font-mincho);
  letter-spacing: 0.3em;
  text-align: center;
}
.guide-toc__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 2px;
}
.guide-toc__link {
  -webkit-transition: color 0.3s ease-in;
  display: block;
  padding: 12px 8px;
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: color 0.3s ease-in;
}
.guide-toc__media {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  aspect-ratio: 848/520;
          flex: 1 1;
  min-width: 0;
  overflow: hidden;
}
.guide-toc__media img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

.guide-kiketsusui__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
          align-items: center;
  padding: 40px;
  gap: 40px;
  border: 1px solid var(--color-primary-700);
}
.guide-kiketsusui__title {
  -webkit-transform: translate(-50%, -50%);
  position: absolute;
  top: 0;
  left: 50%;
  padding: 8px 16px;
          transform: translate(-50%, -50%);
  background: var(--color-bg);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.7;
  font-family: var(--font-mincho);
  white-space: nowrap;
}
.guide-kiketsusui__media {
  -ms-flex-negative: 0;
  aspect-ratio: 239/210;
      flex-shrink: 0;
  width: 239px;
  overflow: hidden;
}
.guide-kiketsusui__media img {
  -o-object-fit: cover;
  -o-object-position: left center;
  width: 100%;
  height: 100%;
     object-fit: cover;
     object-position: left center;
}
.guide-kiketsusui__text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  min-width: 0;
  gap: 16px;
}
.guide-kiketsusui__text p {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}

.guide-section {
  text-align: center;
}
.guide-section__title {
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
}
.guide-section__body {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 720px;
  margin: 32px auto 0;
  text-align: left;
}
.guide-section__body p {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.guide-section__body--center {
  text-align: center;
}
.guide-section__body--wide {
  width: 100%;
  max-width: none;
}
.guide-section__footer {
  margin-top: 32px;
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
  text-align: center;
}

.guide-section__ref {
  max-width: 720px;
  margin: 32px auto 0;
  text-align: left;
}
.guide-section__ref-inner {
  display: inline-block;
  padding-bottom: 1px;
  border-bottom: 1px dashed var(--color-primary-mid);
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: calc(20.4 / 12);
  font-family: var(--font-gothic);
}
.guide-section__ref-link {
  color: var(--color-primary-700);
}

.guide-section__ref + .guide-cards {
  margin-top: 32px;
}

.guide-subsection {
  margin-top: 40px;
}
.guide-subsection__title {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
  text-align: center;
}
.guide-subsection--boxed {
  max-width: 802px;
  margin-inline: auto;
  padding: 33px 41px;
  border: 1px solid var(--color-border-gray);
}
.guide-subsection--boxed .guide-section__body {
  width: 100%;
  max-width: none;
  margin: 24px 0 0;
  text-align: left;
}

.guide-section__footer {
  margin-top: 32px;
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
  text-align: center;
}

.guide-cols {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
          justify-content: center;
  gap: 24px;
}
.guide-cols__col {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
  text-align: left;
}

.guide-bullet-box {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  max-width: 720px;
  margin: 24px auto 0;
  padding: 32px 24px;
  gap: 32px;
  background: var(--color-bg-surface);
}
.guide-bullet-box__lead {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
  text-align: center;
}
.guide-bullet-box__cols {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
          justify-content: center;
  gap: 32px;
}
.guide-bullet-box__col {
  margin: 0;
  padding-left: 20px;
  text-align: left;
}
.guide-bullet-box__col li {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  list-style: disc outside;
  white-space: nowrap;
}

.guide-cards {
  display: -ms-grid;
  display: grid;
  margin-top: 24px;
  gap: 1px;
  border: 1px solid var(--color-border-warm);
  background: var(--color-border-warm);
}
.guide-cards--4 {
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
}
.guide-cards--3 {
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}
.guide-cards--2 {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
.guide-cards--5, .guide-cards--6, .guide-cards--7 {
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  border: 0;
  background: none;
}
.guide-cards--5 .guide-cards__item, .guide-cards--6 .guide-cards__item, .guide-cards--7 .guide-cards__item {
  -webkit-box-shadow: 0 0 0 1px var(--color-border-warm);
          box-shadow: 0 0 0 1px var(--color-border-warm);
}
.guide-section__body + .guide-cards {
  margin-top: 40px;
}
.guide-cards__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 32px 24px;
  gap: 12px;
  background: var(--color-bg-surface);
}
.guide-cards__name {
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.guide-cards__desc {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  text-align: left;
}
.guide-cards__strong {
  font-weight: var(--weight-medium);
}
.guide-cards--center .guide-cards__desc {
  text-align: center;
}

.guide-banner {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
}
.guide-banner img {
  width: 100%;
  max-width: 688px;
  height: auto;
  vertical-align: top;
}
.guide-banner__link {
  -webkit-transition: opacity 0.2s ease;
  display: block;
  max-width: 688px;
  transition: opacity 0.2s ease;
}
.guide-banner__link:hover {
  opacity: 0.85;
}

.guide-section--figure .guide-figure {
  -webkit-box-align: start;
      -ms-flex-align: start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
          justify-content: center;
  margin-top: 32px;
  gap: 40px;
  text-align: left;
}
.guide-section--figure .guide-figure__text {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  min-width: 0;
}
.guide-section--figure .guide-figure__text:has(> p) {
  width: 720px;
  max-width: 100%;
}
.guide-section--figure .guide-figure__text:has(> .guide-figure__list) {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
}
.guide-section--figure .guide-figure__text p {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.guide-section--figure .guide-figure__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
}
.guide-section--figure .guide-figure__list-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0;
}
.guide-section--figure .guide-figure__list-term {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 4.5em;
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.guide-section--figure .guide-figure__list-desc {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  min-width: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.guide-section--figure .guide-figure__media {
  -ms-flex-negative: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
          flex-direction: column;
          align-items: center;
  gap: 16px;
}
.guide-section--figure .guide-figure__caption {
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
  text-align: center;
}
.guide-section--figure .guide-figure__img img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: top;
}

.guide-note {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  max-width: 930px;
  margin-inline: auto;
  padding: 33px 35px;
  border: 1px solid var(--color-border-gray);
}
.guide-note__text {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
  text-align: center;
}

.guide-types {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin-top: 40px;
  gap: 1px;
  border: 1px solid var(--color-border-warm);
  background: var(--color-border-warm);
}
.guide-types__row {
  -webkit-box-align: start;
      -ms-flex-align: start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
          justify-content: center;
  padding: 40px;
  gap: 40px;
  background: var(--color-bg-surface);
}
.guide-types__name {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 180px;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.guide-types__desc {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  min-width: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  text-align: left;
}
.guide-types__ref {
  font-size: 0.7em;
  vertical-align: super;
}
.guide-types__ref a {
  color: var(--color-primary-700);
  text-decoration: underline;
}
.guide-types__name-read {
  font-size: 14px;
}

.guide-typecheck-cta {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 64px 48px;
  gap: 32px;
  background: var(--color-bg-warm);
  text-align: center;
}
.guide-typecheck-cta__title {
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
}
.guide-typecheck-cta__lead {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.guide-typecheck-cta__btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-transition: opacity 0.3s ease-in;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
          justify-content: center;
  padding: 15px 40px;
  gap: 16px;
  border: 1px solid var(--color-primary-700);
  background: var(--color-primary-700);
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 16px;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: opacity 0.3s ease-in;
}
.guide-typecheck-cta__check {
  -ms-flex-negative: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
      flex-shrink: 0;
          align-items: center;
          justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(255, 255, 255, 0.6);
}
.guide-typecheck-cta__check .c-icon {
  color: var(--color-white);
  font-size: 12px;
}

.guide-episodes {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin-top: 40px;
  gap: 24px;
}

.guide-episode {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 40px;
  gap: 24px;
  border: 0;
  border-top: 2px solid var(--color-primary-700);
  background: var(--color-white);
}
.guide-episode__person {
  width: 100%;
  color: var(--color-primary-700);
  font-style: italic;
  font-weight: var(--weight-regular);
  font-size: 13px;
  font-family: var(--font-display);
  letter-spacing: 0.1em;
  text-align: right;
}
.guide-episode__body {
  width: 100%;
  color: var(--color-text-dark);
  line-height: calc(33.6 / 16);
  text-align: left;
}
.guide-episode__more {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-transition: background-color 0.3s ease-in, color 0.3s ease-in;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
          justify-content: center;
  width: 194px;
  height: 46px;
  gap: 8px;
  border: 1px solid var(--color-text);
  background: transparent;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  font-family: var(--font-mincho);
  cursor: pointer;
  transition: background-color 0.3s ease-in, color 0.3s ease-in;
}
.guide-episode__more-icon {
  font-size: 20px;
}

.guide-faq__title {
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
  text-align: center;
}
.guide-faq__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin-top: 40px;
  gap: 16px;
}
.guide-faq__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 32px 40px;
  gap: 16px;
  background: rgba(255, 255, 255, 0.5);
}
.guide-faq__q {
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
  gap: 16px;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.guide-faq__q-mark {
  font-size: 24px;
  line-height: 1;
}
.guide-faq__q-text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  font-size: 20px;
}
.guide-faq__a {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}

.guide-outro {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 32px;
}
.guide-outro__title {
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: calc(33.6 / 24);
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
  text-align: center;
}
.guide-outro__body {
  max-width: 720px;
}
.guide-outro__body p {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
  text-align: left;
}
.guide-outro__summary {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  padding: 41px;
  gap: 24px;
  border: 1px solid var(--color-border-light);
}
.guide-outro__summary-title {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: calc(33.6 / 20);
  font-family: var(--font-mincho);
  letter-spacing: 0.06em;
  text-align: center;
}
.guide-outro__summary-list {
  max-width: 720px;
  padding-left: 24px;
  list-style: disc;
}
.guide-outro__summary-item {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
  text-align: left;
}

.guide-related__title {
  color: var(--color-primary-900);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
  text-align: center;
}
.guide-related__grid {
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  margin-top: 40px;
  gap: 16px;
}
.guide-related__card {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  -webkit-transition: -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: space-between;
  padding: 33px 25px;
  gap: 16px;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  text-decoration: none;
  transition: -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  transition: transform 0.3s ease-in, box-shadow 0.3s ease-in;
  transition: transform 0.3s ease-in, box-shadow 0.3s ease-in, -webkit-transform 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
}
.guide-related__card-body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  min-width: 0;
  gap: 4px;
}
.guide-related__card-name {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.guide-related__card-desc {
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-gothic);
}
.guide-related__card-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--color-text);
  font-size: 20px;
}
.guide-related__more {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 32px;
}

.guide-refs {
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
  padding: 25px 0;
  gap: 32px;
  border-top: 1px solid var(--color-border-warm);
  border-bottom: 1px solid var(--color-border-warm);
}
.guide-refs__label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  letter-spacing: 0.2em;
}
.guide-refs__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  min-width: 0;
}
.guide-refs__link {
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: calc(23.4 / 13);
  font-family: var(--font-gothic);
  text-decoration: underline;
  word-break: break-all;
}

.guide-supervisor {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: stretch;
          justify-content: center;
  gap: 32px;
}
.guide-supervisor__card {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  min-width: 0;
  padding: 42px 40px 40px;
  gap: 32px;
  border-top: 2px solid var(--color-primary-700);
  background: var(--color-white);
}
.guide-supervisor__title {
  position: relative;
  padding-bottom: 16px;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  letter-spacing: 0.2em;
  text-align: center;
}
.guide-supervisor__title::after {
  -webkit-transform: translateX(-50%);
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 32px;
  height: 1px;
          transform: translateX(-50%);
  background: var(--color-primary-mid);
  content: "";
}
.guide-supervisor__content {
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
  gap: 32px;
}
.guide-supervisor__media {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 120px;
  height: 120px;
  background: var(--color-bg-warm);
}
.guide-supervisor__media img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.guide-supervisor__media--logo {
  background: var(--color-white);
}
.guide-supervisor__media--logo img {
  -o-object-fit: contain;
     object-fit: contain;
}
.guide-supervisor__text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  min-width: 0;
}
.guide-supervisor__identity {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border-warm);
}
.guide-supervisor__role {
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
}
.guide-supervisor__name {
  margin-top: 16px;
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.guide-supervisor__message {
  margin-top: 16px;
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.95;
  font-family: var(--font-gothic);
}
.guide-supervisor__btn.btn {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  min-width: 0;
  margin-top: 24px;
  padding: 11px 20px;
  font-size: 13px;
}

.modal--diag .modal__dialog--diag {
  max-width: 1080px;
  padding: 0;
}
.modal--diag .modal__close {
  color: var(--color-text-faint);
}
.modal--diag .modal__close .c-icon {
  font-size: 24px;
}
.modal--diag.is-empty .diag-check__empty {
  display: block;
}

.diag-check[hidden] {
  display: none;
}
.diag-check__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: space-between;
  padding: 24px 32px;
  border-bottom: 1px solid var(--color-border-tan);
  background: var(--color-bg-surface);
}
.diag-check__title {
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 20px;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
}
.diag-check__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 24px 32px;
  gap: 16px;
  background: var(--color-white);
}
.diag-check__lead {
  padding-bottom: 16px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.diag-check__cols {
  -ms-grid-columns: (1fr)[var(--diag-cols, 3)];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[var(--diag-cols, 3)];
  grid-template-columns: repeat(var(--diag-cols, 3), 1fr);
  gap: 16px;
}
.diag-check__col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 2px;
}
.diag-check__label {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  padding: 10px 8px;
  gap: 10px;
  cursor: pointer;
}
.diag-check__input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.diag-check__box {
  -ms-flex-negative: 0;
  position: relative;
      flex-shrink: 0;
  width: 16px;
  height: 16px;
  border: 1px solid var(--color-border-tan);
  background: var(--color-white);
}
.diag-check__box::after {
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: 1px;
  left: 5px;
  width: 4px;
  height: 9px;
          transform: rotate(45deg);
  border: solid var(--color-white);
  border-width: 0 2px 2px 0;
  content: "";
  opacity: 0;
}
.diag-check__input:checked + .diag-check__box {
  border-color: var(--color-primary-700);
  background: var(--color-primary-700);
}
.diag-check__input:checked + .diag-check__box::after {
  opacity: 1;
}
.diag-check__input:focus-visible + .diag-check__box {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
}
.diag-check__text {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 1.5;
  font-family: var(--font-gothic);
}
.diag-check__empty {
  display: none;
  padding: 0 32px;
  color: var(--color-error);
  font-size: 13px;
  font-family: var(--font-gothic);
  text-align: right;
}
.diag-check__foot {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: flex-end;
  padding: 20px 32px;
  gap: 12px;
  border-top: 1px solid var(--color-border-tan);
  background: var(--color-bg-surface);
}
.diag-check__btn {
  -webkit-transition: opacity 0.3s ease-in, background-color 0.3s ease-in, color 0.3s ease-in;
  padding: 14px 32px;
  font-weight: var(--weight-medium);
  font-size: 14px;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: opacity 0.3s ease-in, background-color 0.3s ease-in, color 0.3s ease-in;
}
.diag-check__btn--reset {
  border: 1px solid var(--color-text-dark);
  background: transparent;
  color: var(--color-text-dark);
}
.diag-check__btn--submit {
  border: 1px solid var(--color-primary-700);
  background: var(--color-primary-700);
  color: var(--color-white);
}

.diag-result {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
          flex-direction: column;
  padding: 64px;
  gap: 32px;
  border: 1px solid var(--color-border-tan);
}
.diag-result[hidden] {
  display: none;
}
.diag-result__restart {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
  -webkit-transition: background-color 0.3s ease-in, color 0.3s ease-in;
      align-self: center;
  padding: 18px 56px;
  border: 1px solid var(--color-text);
  background: transparent;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: background-color 0.3s ease-in, color 0.3s ease-in;
}
.diag-result__foot {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
}

.diag-panel {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 20px;
}
.diag-panel[hidden] {
  display: none;
}
.diag-panel__title {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-border-tan);
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 26px;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
}
.diag-panel__overview {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.diag-panel__med {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  padding: 24px 0;
  gap: 20px;
}
.diag-panel__med-media {
  -ms-flex-negative: 0;
  aspect-ratio: 260/160;
      flex-shrink: 0;
  width: 260px;
  overflow: hidden;
}
.diag-panel__med-media img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.diag-panel__med-text {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 20px;
}
.diag-panel__med-name {
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.diag-panel__med-desc {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.diag-panel__med-note {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 10px;
  line-height: 1.2;
  font-family: var(--font-gothic);
}
.diag-panel__cols {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: stretch;
  gap: 16px;
}
.diag-panel__box {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  min-width: 0;
  padding: 32px;
  gap: 16px;
  border: 1px solid var(--color-primary-mid);
}
.diag-panel__box-title {
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
}
.diag-panel__yojo {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 10px;
}
.diag-panel__yojo-row {
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
  gap: 12px;
}
.diag-panel__yojo-cat {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.9;
  font-family: var(--font-mincho);
}
.diag-panel__yojo-text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  min-width: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.diag-panel__tsubo-head {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 16px;
}
.diag-panel__tsubo-label {
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  font-family: var(--font-mincho);
  letter-spacing: 0.2em;
}
.diag-panel__tsubo-name {
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 18px;
  font-family: var(--font-mincho);
}
.diag-panel__tsubo-body {
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
  gap: 16px;
}
.diag-panel__tsubo-text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  min-width: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}
.diag-panel__tsubo-media {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 120px;
  height: 120px;
  overflow: hidden;
}
.diag-panel__tsubo-media img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.diag-panel__onepoint {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 20px 24px;
  gap: 8px;
  border: 1px dashed var(--color-border-tan);
  background: var(--color-bg-surface);
  text-align: center;
}
.diag-panel__onepoint-title {
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  font-family: var(--font-mincho);
  letter-spacing: 0.2em;
}
.diag-panel__onepoint-text {
  color: var(--color-text-dark);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 1.9;
  font-family: var(--font-gothic);
}

.sickness-page {
  padding-top: 64px;
}
.sickness-page > * + * {
  margin-top: 64px;
}

.sickness-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 24px;
}
.sickness-head__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 40px;
  line-height: 1.2;
  font-family: var(--font-mincho);
  text-align: center;
}
.sickness-head__sub {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}

.sickness-lead {
  max-width: 800px;
  margin: 0 auto;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}

.sickness-hero {
  aspect-ratio: 12/5;
}
.sickness-hero img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

.sickness-sec-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 40px;
}
.sickness-sec-head__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 32px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.sickness-sec-head__lead {
  max-width: 600px;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}

.sickness-company__grid {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  margin-top: 40px;
  gap: 16px;
}
.sickness-company__card {
  background: rgba(255, 255, 255, 0.5);
}
.sickness-company__media {
  aspect-ratio: 16/9;
}
.sickness-company__media img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.sickness-company__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 24px;
  gap: 12px;
}
.sickness-company__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.7;
  font-family: var(--font-mincho);
}
.sickness-company__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.sickness-program .sickness-sec-head {
  gap: 32px;
}
.sickness-program__groups {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin-top: 32px;
  gap: 40px;
}

.sickness-howto {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-transition: background-color 0.3s ease-in, color 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  max-width: 450px;
  margin: 32px auto 0;
  padding: 17px 32px;
  gap: 12px;
  border: 1px solid var(--color-text);
  color: var(--color-text);
  text-decoration: none;
  transition: background-color 0.3s ease-in, color 0.3s ease-in;
}
.sickness-howto__text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.sickness-howto__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: currentColor;
  font-size: 20px;
}

.sickness-group__title {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-primary-mid);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.7;
  font-family: var(--font-mincho);
}
.sickness-group__grid {
  -ms-grid-columns: (1fr)[3];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  margin-top: 16px;
  gap: 16px;
}

.sickness-card {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  -webkit-transition: border-color 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: space-between;
  padding: 25px;
  gap: 12px;
  border: 1px solid var(--color-border);
  background: var(--color-white);
  color: var(--color-text);
  text-decoration: none;
  transition: border-color 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
  transition: border-color 0.3s ease-in, box-shadow 0.3s ease-in;
  transition: border-color 0.3s ease-in, box-shadow 0.3s ease-in, -webkit-box-shadow 0.3s ease-in;
}
.sickness-card__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 4px;
}
.sickness-card__title {
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.7;
  font-family: var(--font-mincho);
}
.sickness-card__desc {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 14px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.sickness-card__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--color-primary-700);
  font-size: 20px;
}

.page-ticket {
  background: var(--color-bg);
}
.page-ticket .l-inner {
  padding-block: 64px;
}

.ticket {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 64px;
}
.ticket > .cta-consult {
  width: 100%;
}

.ticket-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 24px;
  text-align: center;
}
.ticket-head__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 40px;
  line-height: calc(48 / 40);
  font-family: var(--font-mincho);
}
.ticket-head__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: calc(28 / 20);
  font-family: var(--font-mincho);
}

.ticket-banner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: flex-start;
  width: 100%;
  max-width: 800px;
  gap: 16px;
}
.ticket-banner__img {
  aspect-ratio: 650/160;
  -o-object-fit: cover;
  display: block;
  width: 100%;
     object-fit: cover;
  vertical-align: top;
}
.ticket-banner__notes {
  margin: 0;
  padding-left: 1.5em;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 10px;
  line-height: 1.2;
  font-family: var(--font-gothic);
  text-align: left;
}
.ticket-banner__notes li {
  list-style: disc;
}

.ticket-howto {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  width: 100%;
  max-width: 800px;
  padding: 32px 20px;
  gap: 16px;
  background: var(--color-white);
  text-align: center;
}
.ticket-howto__title {
  margin: 0;
  color: var(--color-text-dark);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
}
.ticket-howto__text {
  width: 100%;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: calc(35.2 / 16);
  font-family: var(--font-gothic);
}
.ticket-howto__em {
  color: var(--color-text-muted);
  font-style: normal;
  font-weight: var(--weight-medium);
  font-size: 24px;
}

.ticket-example {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  gap: 40px;
}
.ticket-example__title {
  margin: 0;
  color: var(--color-text-muted);
  font-weight: var(--weight-medium);
  font-size: 32px;
  line-height: calc(44.8 / 32);
  font-family: var(--font-mincho);
  text-align: center;
}
.ticket-example__note {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: calc(35.2 / 16);
  font-family: var(--font-gothic);
  text-align: center;
}

.ticket-table-wrap {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  width: 100%;
}

.ticket-table {
  width: 599px;
  border-collapse: collapse;
  text-align: center;
}
.ticket-table__th {
  padding: 10px 8px;
  background: var(--color-primary-900);
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.6;
  font-family: var(--font-gothic);
  letter-spacing: 0.04em;
  vertical-align: middle;
  white-space: nowrap;
}
.ticket-table__th--daily {
  width: 132px;
}
.ticket-table__th--normal {
  width: 150px;
}
.ticket-table__th--discount {
  width: 183px;
}
.ticket-table__th--save {
  width: 134px;
}
.ticket-table__td {
  padding: 14px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  vertical-align: middle;
  white-space: nowrap;
}
.ticket-table tbody tr:nth-of-type(n + 2) {
  background: var(--color-bg-surface);
}
.ticket-table__num {
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}
.ticket-table__num--mincho {
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: calc(28.8 / 18);
  font-family: var(--font-mincho);
}
.ticket-table__unit {
  font-size: 10px;
  line-height: 1.2;
}
.ticket-table__td--save {
  color: var(--color-text-muted);
}
.ticket-table__save-num {
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: calc(28.8 / 24);
  font-family: var(--font-mincho);
}
.ticket-table__save-unit {
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}

.page-top {
  /* ====================================================
     KV
  ==================================================== */
  /* ====================================================
     お知らせ
  ==================================================== */
  /* ====================================================
     漢方について
  ==================================================== */
  /* ====================================================
     漢方相談 + 体質お悩み (texture bg)
  ==================================================== */
  /* ====================================================
     体質から考える代表的なお悩み
  ==================================================== */
  /* ====================================================
     店舗を探す
  ==================================================== */
  /* ====================================================
     漢方をもっと身近に
  ==================================================== */
  /* ====================================================
     KAMPO LETTER + LINE
  ==================================================== */
  /* ====================================================
     会社情報 + 採用情報
  ==================================================== */
  /* ====================================================
     SNS + 関連サイト
  ==================================================== */
  /* ====================================================
     体質チェックフローティングCTA
  ==================================================== */
}
.page-top .kv {
  position: relative;
  width: 100%;
  height: 800px;
  overflow: hidden;
}
.page-top .kv__slider {
  width: 100%;
  height: 100%;
}
.page-top .kv__slide {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.page-top .kv__bg, .page-top .kv__bg img {
  -o-object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
     object-fit: cover;
}
.page-top .kv__overlay {
  position: absolute;
  inset: 0;
}
.page-top .kv__overlay--gradient {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 100%);
}
.page-top .kv__overlay--flat {
  background: rgba(0, 0, 0, 0.2);
}
.page-top .kv__inner {
  position: relative;
  max-width: 1440px;
  height: 100%;
  margin: 0 auto;
}
.page-top .kv__catch-lines {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 342px;
  left: 89px;
          flex-direction: column;
  width: 600px;
  margin: 0;
  gap: 0;
  color: var(--color-white);
  font-weight: 500;
  font-size: 40px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.page-top .kv__catch-lines-row {
  display: block;
}
.page-top .kv__catch {
  display: block;
  position: absolute;
  top: 184px;
  left: 243px;
  width: 120px;
  height: 232px;
  margin: 0;
  color: var(--color-white);
  font-weight: 500;
  font-size: 48px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.page-top .kv__catch-line {
  position: absolute;
  width: 40px;
  word-break: break-all;
}
.page-top .kv__catch-line--right {
  top: 0;
  left: 80px;
}
.page-top .kv__catch-line--left {
  top: 200px;
  left: 10px;
}
.page-top .kv__catch-sp {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 50%;
  left: 0;
          flex-direction: column;
  width: 100%;
  margin: 0;
  padding: 0 1.6rem;
  gap: 0.5rem;
          transform: translateY(-50%);
  color: var(--color-white);
  font-weight: 500;
  font-size: 3.2rem;
  line-height: 1.2;
  font-family: var(--font-mincho);
  white-space: nowrap;
}
.page-top .kv__catch-sp-line {
  display: block;
}
.page-top .kv__catch-sp-line--indent {
  padding-left: 9.6rem;
}
.page-top .kv__btn {
  -webkit-transform: translateX(-50%);
  position: absolute;
  bottom: 80px;
  left: 50%;
          transform: translateX(-50%);
  border-color: var(--color-bg);
  background: var(--color-bg);
  pointer-events: none;
}
.page-top .kv__btn .btn__text {
  white-space: nowrap;
}
.page-top .kv__slide.swiper-slide-active .kv__btn {
  pointer-events: auto;
}
.page-top .news {
  padding: 64px 0;
}
.page-top .news__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  gap: 40px;
}
.page-top .news__slider {
  width: 100%;
}
.page-top .news__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-top .news__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
}
.page-top .news__card {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 16px;
  gap: 16px;
  background: var(--color-white);
  color: var(--color-text);
  text-decoration: none;
}
.page-top .news__thumb {
  position: relative;
  width: 100%;
  height: 243px;
  overflow: hidden;
  background: var(--color-border);
}
.page-top .news__thumb img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.page-top .news__thumb-empty {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}
.page-top .news__thumb-icon {
  color: var(--color-primary-mid);
  font-size: 60px;
  line-height: 0;
}
.page-top .news__body {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 8px;
}
.page-top .news__meta {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 16px;
}
.page-top .news__date {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.page-top .news__tag {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
          justify-content: center;
  padding: 4px 8px;
  border: 1px solid var(--color-primary-mid);
  color: var(--color-primary-mid);
  font-weight: 400;
  font-size: 10px;
  line-height: 1.2;
  font-family: var(--font-gothic);
}
.page-top .news__title {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.page-top .news__actions {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 36px;
}
.page-top .news__sub-link {
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  text-decoration: underline;
}
.page-top .about {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.page-top .about__bg {
  position: absolute;
  inset: 0;
  background-image: url("../img/top/about/about-bg.jpg");
  background-position: center;
  background-size: cover;
}
.page-top .about__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.page-top .about__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
          flex-direction: column;
          align-items: center;
  max-width: 1440px;
  margin: 0 auto;
  padding: 96px clamp(20px, 11.1vw, 160px);
  gap: 40px;
}
.page-top .about__lead {
  margin: 0;
  color: var(--color-white);
  font-weight: 400;
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.page-top .consultation {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-bg);
}
.page-top .consultation__texture {
  z-index: 0;
  position: absolute;
  inset: 0;
  background-image: url("../img/top/consultation/texture.png");
  background-size: 1024px auto;
  background-repeat: repeat;
  pointer-events: none;
}
.page-top .consultation__herbs {
  z-index: 1;
  position: absolute;
  inset: 0;
  mix-blend-mode: multiply;
  opacity: 0.3;
  pointer-events: none;
}
.page-top .consultation__herb {
  position: absolute;
}
.page-top .consultation__herb--1 {
  top: -117px;
  left: -41px;
  width: 419px;
  height: auto;
}
.page-top .consultation__herb--2 {
  -webkit-transform: rotate(-34.65deg);
  top: 80px;
  right: -201px;
  width: 600px;
  height: auto;
          transform: rotate(-34.65deg);
}
.page-top .consultation__herb--3 {
  top: 617px;
  left: -162px;
  width: 486px;
  height: auto;
}
.page-top .consultation__herb--4 {
  top: 697px;
  right: 10px;
  width: 261px;
  height: auto;
}
.page-top .consultation__herb--5 {
  -webkit-transform: rotateY(180deg);
  top: 1443px;
  left: 19px;
  width: 295px;
  height: auto;
          transform: rotateY(180deg);
}
.page-top .consultation__herb--6 {
  -webkit-transform: rotate(165deg);
  top: 1424px;
  right: -102px;
  width: 423px;
  height: auto;
          transform: rotate(165deg);
}
.page-top .consultation__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
  position: relative;
          flex-direction: column;
          align-items: center;
  max-width: 1440px;
  margin: 0 auto;
  padding: 64px clamp(20px, 8.3vw, 120px) 160px;
  gap: 80px;
}
.page-top .consultation__block {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  gap: 40px;
}
.page-top .consultation__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.page-top .consultation__main {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: stretch;
  width: 100%;
  gap: 40px;
}
.page-top .consultation__image {
  -webkit-box-flex: 1;
      -ms-flex: 1 0;
          flex: 1 0;
  min-width: 0;
  background: var(--color-white);
}
.page-top .consultation__image img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.page-top .consultation__stats {
  -webkit-box-flex: 1;
      -ms-flex: 1 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 0;
          flex-direction: column;
  margin: 0;
  padding: 0;
  gap: 12px;
  list-style: none;
}
.page-top .consultation__stat {
  -webkit-backdrop-filter: blur(2px);
  padding: 32px 24px;
  border: 1px solid var(--color-white);
          backdrop-filter: blur(2px);
  background: color-mix(in srgb, var(--color-white) 50%, transparent);
}
.page-top .consultation__stat p {
  margin: 0;
  color: var(--color-text);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.page-top .concerns {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  width: 100%;
  gap: 40px;
}
.page-top .concerns__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.page-top .concerns__list {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 24px;
  list-style: none;
}
.page-top .concerns__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
}
.page-top .concerns__thumb {
  width: 100%;
  height: 216px;
  overflow: hidden;
}
.page-top .concerns__thumb img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.page-top .concerns__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
          align-items: center;
  padding: 32px 40px;
  gap: 24px;
  background: var(--color-white);
}
.page-top .concerns__title {
  margin: 0;
  color: var(--color-text);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.page-top .concerns__pills {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 0px 32px;
  list-style: none;
}
.page-top .concerns__pill {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.page-top .concerns__pill:nth-child(n+4) {
  margin-top: -8px;
}
.page-top .concerns__item--yellow .concerns__pill {
  border: 1px solid var(--color-worry-yellow);
  color: var(--color-worry-yellow);
}
.page-top .concerns__item--pink .concerns__pill {
  border: 1px solid var(--color-worry-pink);
  color: var(--color-worry-pink);
}
.page-top .concerns__item--blue .concerns__pill {
  border: 1px solid var(--color-worry-blue);
  color: var(--color-worry-blue);
}
.page-top .stores {
  padding: 80px 0;
}
.page-top .stores__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  max-width: 1440px;
  margin: 0 auto;
  gap: 40px;
}
.page-top .stores__list {
  display: -ms-grid;
  display: grid;
  width: 100%;
  margin: 0;
  padding: 0;
  gap: 4px;
  list-style: none;
}
.page-top .stores__item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  background: var(--color-white);
}
.page-top .stores__thumb {
  width: 100%;
  height: 288px;
  overflow: hidden;
}
.page-top .stores__thumb img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.page-top .stores__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
          align-items: center;
  padding: 40px 16px 40px 24px;
  gap: 4px;
}
.page-top .stores__sub {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  text-align: center;
}
.page-top .stores__name {
  margin: 0 0 20px;
  color: var(--color-white);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.page-top .stores__name--boutique {
  background: var(--color-store-boutique);
}
.page-top .stores__name--kagae {
  background: var(--color-store-kagae);
}
.page-top .stores__name--pharmacy {
  background: var(--color-store-pharmacy);
}
.page-top .stores__name--museum {
  background: transparent;
  color: var(--color-text);
}
.page-top .online-consult {
  position: relative;
  max-width: calc(980px + 40px);
  margin: 40px auto 0;
  padding: 0 20px;
}
.page-top .online-consult__bg {
  position: absolute;
  inset: 0 20px;
  overflow: hidden;
  pointer-events: none;
}
.page-top .online-consult__bg img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.page-top .online-consult__panel {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
  position: relative;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  margin: 0 auto;
  padding: 32px 16px;
  gap: 16px;
}
.page-top .online-consult__sp-image {
  width: 100%;
  height: 23rem;
  overflow: hidden;
  background-color: var(--color-white);
}
.page-top .online-consult__sp-image img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.page-top .online-consult__icon {
  width: 145px;
  height: 101px;
}
.page-top .online-consult__icon img {
  -o-object-fit: contain;
  width: 100%;
  height: 100%;
     object-fit: contain;
}
.page-top .online-consult__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.page-top .closer {
  padding: 80px 0;
}
.page-top .closer__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 clamp(20px, 8.3vw, 120px);
  gap: 40px;
}
.page-top .closer__rows {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 100%;
  gap: 4px;
}
.page-top .closer__row {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -ms-grid;
  display: grid;
          align-items: stretch;
  width: 100%;
}
.page-top .closer__panel {
  min-width: 0;
  overflow: hidden;
}
.page-top .closer__panel--text {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  padding: 40px 24px;
  gap: 24px;
  background: var(--color-primary-mid);
}
.page-top .closer__panel--image img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.page-top .closer__text-head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  gap: 8px;
}
.page-top .closer__sub {
  margin: 0;
  color: var(--color-white);
  font-weight: 500;
  font-size: 13px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  text-align: center;
}
.page-top .closer__title {
  margin: 0;
  color: var(--color-white);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.page-top .letter {
  padding: 0 20px 64px;
}
.page-top .letter__inner {
  -ms-grid-columns: 1fr 1fr;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  max-width: 964px;
  margin: 0 auto;
  gap: 24px;
}
.page-top .letter__card {
  display: block;
}
.page-top .letter__card img {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.page-top .info__col {
  -webkit-box-flex: 1;
      -ms-flex: 1 0;
  position: relative;
          flex: 1 0;
  min-width: 0;
  overflow: hidden;
  background-position: center;
  background-size: cover;
}
.page-top .info__col--company {
  background-image: url("../img/top/stores/store-1.jpg");
}
.page-top .info__col--recruit {
  background-image: url("../img/top/info/recruit-bg.jpg");
}
.page-top .info__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.page-top .info__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
          flex-direction: column;
          align-items: center;
  padding: 120px 40px;
  gap: 32px;
}
.page-top .info__title {
  margin: 0;
  color: var(--color-white);
  font-weight: 500;
  font-size: 32px;
  line-height: 1.2;
  font-family: var(--font-mincho);
  text-align: center;
}
.page-top .info__lead {
  margin: 0;
  color: var(--color-white);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
}
.page-top .sns {
  padding: 64px 0;
}
.page-top .sns__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  max-width: 1440px;
  margin: 0 auto;
  gap: 40px;
}
.page-top .sns__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
  gap: 16px;
  list-style: none;
}
.page-top .sns__list a {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
          justify-content: center;
  color: var(--color-text);
}
.page-top .sns__icon {
  -o-object-fit: contain;
  display: block;
  width: 32px;
  height: 32px;
     object-fit: contain;
}
.page-top .sns__related {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  padding: 40px;
  gap: 40px;
  border: 1px solid var(--color-white);
}
.page-top .sns__related-title {
  margin: 0;
  color: var(--color-text);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-align: center;
  white-space: nowrap;
}
.page-top .sns__related-list {
  -ms-flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  margin: 0;
  padding: 0;
  gap: 24px;
  list-style: none;
}
.page-top .sns__related-list a {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  gap: 8px;
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  text-decoration: none;
  white-space: nowrap;
}
.page-top .sns__related-list a span {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  gap: 8px;
}
.page-top .sns__related-icon {
  font-size: 20px;
  line-height: 0;
}
.page-top .check-cta {
  z-index: 90;
  position: fixed;
  width: 240px;
}
.page-top .check-cta__link {
  -webkit-box-shadow: var(--shadow-md);
  -webkit-transition: opacity 0.3s ease-in;
  display: block;
          box-shadow: var(--shadow-md);
  transition: opacity 0.3s ease-in;
}
.page-top .check-cta__link:hover {
  opacity: 0.8;
}
.page-top .check-cta__link img {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .check-cta__close {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  z-index: 1;
  position: absolute;
          align-items: center;
          justify-content: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #ccc;
  color: var(--color-white);
  cursor: pointer;
}
.page-top .check-cta__close .c-icon {
  font-size: 15px;
}

.modal__dialog--typecheck {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: calc(100vw - 80px);
  max-height: none;
  padding: 0;
  overflow: visible;
  background: transparent;
}

.typecheck {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 792px;
  max-width: 100%;
  max-height: calc(100vh - 80px);
  background: var(--color-white);
}
.typecheck[hidden] {
  display: none;
}
.typecheck__head {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  -ms-flex-negative: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
          align-items: center;
          justify-content: space-between;
  padding: 24px 32px 25px;
  gap: 16px;
  border-bottom: 1px solid var(--color-border-warm);
  background: var(--color-bg-surface);
}
.typecheck__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.4;
  font-family: var(--font-mincho);
}
.typecheck__close {
  -ms-flex-negative: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
      flex-shrink: 0;
          align-items: center;
          justify-content: center;
  width: 36px;
  height: 36px;
  padding: 8px;
  border: none;
  background: none;
  color: var(--color-primary-700);
  cursor: pointer;
}
.typecheck__close .c-icon {
  font-size: 36px;
}
.typecheck__body {
  max-height: 540px;
  padding: 24px 32px;
  overflow-y: auto;
}
.typecheck__list {
  -ms-grid-columns: 1fr 1fr;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
          column-gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.typecheck__item {
  margin: 0;
}
.typecheck__label {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
  min-height: 50px;
  padding: 4px 16px;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-gothic);
  cursor: pointer;
}
.typecheck__foot {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
  -ms-flex-negative: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
          justify-content: flex-end;
  padding: 17px 16px 16px;
  gap: 12px;
  border-top: 1px solid var(--color-border-warm);
  background: var(--color-bg-surface);
}
.typecheck__btn {
  -webkit-transition: background-color 0.3s ease-in, color 0.3s ease-in, border-color 0.3s ease-in;
  min-width: 136px;
  padding: 16px;
  border: 1px solid var(--color-text);
  background: var(--color-white);
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  letter-spacing: 1.6px;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s ease-in, color 0.3s ease-in, border-color 0.3s ease-in;
}
.typecheck__btn--submit {
  border-color: var(--color-primary-700);
  background: var(--color-primary-700);
  color: var(--color-white);
}

.typecheck-result {
  position: relative;
  width: 1200px;
  max-width: 100%;
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  background: var(--color-white);
}
.typecheck-result[hidden] {
  display: none;
}
.typecheck-result__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  padding: 64px 32px;
  gap: 56px;
}
.typecheck-result__logo {
  width: 100px;
}
.typecheck-result__logo img {
  display: block;
  width: 100%;
  height: auto;
}
.typecheck-result__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.2;
  font-family: var(--font-mincho);
  text-align: center;
}
.typecheck-result__lead {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
  text-align: center;
}
.typecheck-result__subtitle {
  width: 100%;
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  text-align: center;
}
.typecheck-result__table {
  margin-top: -32px;
}
.typecheck-result__about {
  margin-top: -24px;
}
.typecheck-result__table {
  -ms-grid-columns: (1fr)[5];
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[5];
  grid-template-columns: repeat(5, 1fr);
  width: 100%;
  gap: 2px;
  background: var(--color-gozo-line);
}
.typecheck-result__about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding-top: 33px;
  gap: 32px;
  border-top: 1px solid var(--color-border-warm);
}
.typecheck-result__about-text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
          flex: 1 1;
  min-width: 0;
}
.typecheck-result__about-title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.typecheck-result__about-desc {
  margin: 12px 0 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.typecheck-result__note {
  margin: 12px 0 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.6;
  font-family: var(--font-gothic);
}
.typecheck-result__diagram {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 220px;
}
.typecheck-result__diagram img {
  display: block;
  width: 100%;
  height: auto;
}
.typecheck-result__restart {
  -webkit-transition: background-color 0.3s ease-in, border-color 0.3s ease-in;
  min-width: 314px;
  padding: 18px 24px;
  border: 1px solid var(--color-primary-700);
  background: var(--color-primary-700);
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1;
  font-family: var(--font-mincho);
  letter-spacing: 1.6px;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s ease-in, border-color 0.3s ease-in;
}

.typecheck__close--float {
  z-index: 2;
  position: absolute;
  top: 16px;
  right: 16px;
}

.tc-type {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  background: var(--color-white);
}
.tc-type__count {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  height: 52px;
  margin: 0;
  padding: 0 8px;
  border-bottom: 1px solid var(--color-gozo-line);
  background: var(--color-bg-surface);
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 12px;
  line-height: 1.85;
  font-family: var(--font-gothic);
}
.tc-type__num {
  margin: 0 4px;
  padding-bottom: 8px;
  font-style: italic;
  font-weight: var(--weight-regular);
  font-size: 28px;
  line-height: 1;
  font-family: var(--font-display);
}
.tc-type__band {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
  height: 80px;
  padding: 8px;
  gap: 2px;
  text-align: center;
}
.tc-type__reading {
  color: var(--color-white);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.85;
  font-family: var(--font-gothic);
  letter-spacing: 1.1px;
  opacity: 0.85;
}
.tc-type__name {
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 1.2;
  font-family: var(--font-mincho);
}
.tc-type__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
          align-items: center;
  padding: 16px;
  text-align: center;
}
.tc-type__caution-label {
  margin: 0;
  font-weight: var(--weight-medium);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.tc-type__caution {
  margin: 8px 0 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.tc-type__food-label {
  margin: 16px 0 0;
  color: var(--color-gozo-food);
  font-weight: var(--weight-medium);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-mincho);
}
.tc-type__food {
  margin: 8px 0 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.8;
  font-family: var(--font-gothic);
}
.tc-type--kan .tc-type__band {
  background: var(--color-gozo-kan);
}
.tc-type--kan .tc-type__num,
.tc-type--kan .tc-type__caution-label {
  color: var(--color-gozo-kan);
}
.tc-type--shin .tc-type__band {
  background: var(--color-gozo-shin);
}
.tc-type--shin .tc-type__num,
.tc-type--shin .tc-type__caution-label {
  color: var(--color-gozo-shin);
}
.tc-type--hi .tc-type__band {
  background: var(--color-gozo-hi);
}
.tc-type--hi .tc-type__num,
.tc-type--hi .tc-type__caution-label {
  color: var(--color-gozo-hi);
}
.tc-type--hai .tc-type__band {
  background: var(--color-gozo-hai);
}
.tc-type--hai .tc-type__num,
.tc-type--hai .tc-type__caution-label {
  color: var(--color-gozo-hai);
}
.tc-type--jin .tc-type__band {
  background: var(--color-gozo-jin);
}
.tc-type--jin .tc-type__num,
.tc-type--jin .tc-type__caution-label {
  color: var(--color-gozo-jin);
}

.page-websoudan {
  padding-bottom: 122px;
  background: var(--color-bg);
}
.page-websoudan .ws-cta-bar {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 50;
  position: fixed;
  bottom: 0;
  left: 0;
          flex-direction: column;
          align-items: center;
  width: 100%;
  padding: 17px 80px 16px;
  gap: 8px;
  border-top: 1px solid var(--color-border-warm);
  background: var(--color-bg-surface);
}
.page-websoudan .ws-cta-bar__btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  -webkit-transition: background-color 0.3s ease-out;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
          justify-content: center;
  min-width: 320px;
  padding: 13px 24px;
  gap: 8px;
  background: var(--color-cta-online);
  color: var(--color-white);
  font-weight: var(--weight-medium);
  font-size: 16px;
  font-family: var(--font-mincho);
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: background-color 0.3s ease-out;
}
.page-websoudan .ws-cta-bar__btn > .c-icon {
  font-size: 20px;
  line-height: 0;
}
.page-websoudan .ws-cta-bar__note {
  margin: 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 11px;
  font-family: var(--font-gothic);
}
.page-websoudan .ws-cta-bar__note > a {
  color: var(--color-primary-700);
  text-decoration: underline;
}
.page-websoudan #episodes {
  padding-top: 80px;
  padding-bottom: 80px;
}
.page-websoudan .ws-hero {
  aspect-ratio: 1200/624;
  max-width: 1200px;
  margin: 32px auto 0;
  overflow: hidden;
}
.page-websoudan .ws-hero > img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.page-websoudan .ws-anchor-nav {
  margin: 0 auto;
}
.page-websoudan .ws-anchor-nav > ul {
  -ms-flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
          justify-content: center;
  margin: 0;
  padding: 0;
  gap: 8px 40px;
  list-style: none;
}
.page-websoudan .ws-anchor-nav a {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: center;
  padding: 12px 4px;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 15px;
  line-height: 1.4;
  font-family: var(--font-mincho);
  text-decoration: none;
}
.page-websoudan .ws-cta {
  padding: 64px 80px;
  background: var(--color-bg-warm);
}
.page-websoudan .ws-cta__inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  gap: 24px;
  text-align: center;
}
.page-websoudan .ws-cta__title {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  font-family: var(--font-mincho);
  letter-spacing: 0.06em;
}
.page-websoudan .ws-cta__lead {
  max-width: 640px;
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2;
  font-family: var(--font-gothic);
}
.page-websoudan .ws-cta__btn {
  min-width: 256px;
  padding: 18px 24px;
  font-size: 18px;
}
.page-websoudan .ws-cta__note {
  margin: 0;
  color: var(--color-text-sub);
  font-weight: var(--weight-regular);
  font-size: 11px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.page-websoudan .ws-cta__note > a {
  color: var(--color-primary-700);
  text-decoration: underline;
}

.writer-page {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  max-width: 900px;
  margin: 0 auto;
  padding-top: 32px;
  gap: 56px;
}

.writer-profile {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: stretch;
  max-width: 861px;
  border: 1px solid var(--color-border);
  background: var(--color-white);
}
.writer-profile__media {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 221px;
}
.writer-profile__media img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}
.writer-profile__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
          justify-content: center;
  min-width: 0;
  padding: 0 32px;
  gap: 12px;
}
.writer-profile__roles {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.7;
  font-family: var(--font-gothic);
  letter-spacing: 0.05em;
}
.writer-profile__identity {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 8px;
}
.writer-profile__name {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-medium);
  font-size: 24px;
  line-height: 1.8;
  font-family: var(--font-mincho);
  letter-spacing: 0.075em;
}
.writer-profile__romaji {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-regular);
  font-size: 13px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  letter-spacing: 0.2em;
}
.writer-profile__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
  gap: 8px;
  list-style: none;
}
.writer-profile__sns-link {
  display: block;
  width: 32px;
  height: 32px;
}
.writer-profile__sns-link img {
  display: block;
  width: 100%;
  height: 100%;
}

.writer-cols {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: stretch;
  gap: 24px;
}

.writer-block {
  -webkit-box-flex: 1;
      -ms-flex: 1 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1;
          flex-direction: column;
  min-width: 0;
  padding: 24px 32px;
  gap: 16px;
  background: var(--color-bg-surface);
}
.writer-block__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 16px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
}
.writer-block__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  padding: 0;
  gap: 8px;
  list-style: none;
}
.writer-block__item {
  -webkit-box-align: start;
      -ms-flex-align: start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: flex-start;
  gap: 11px;
}
.writer-block__dash {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5px;
  height: 1px;
  margin-top: 13px;
  background: var(--color-primary-700);
}
.writer-block__text, .writer-block__link {
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.7;
  font-family: var(--font-gothic);
}
.writer-block__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          align-items: center;
  gap: 4px;
  text-decoration: none;
}
.writer-block__ext {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: currentColor;
  font-size: 20px;
}

.writer-message {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  padding: 40px 48px;
  gap: 20px;
  background: var(--color-bg-warm);
}
.writer-message__title {
  margin: 0;
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
}
.writer-message__text {
  margin: 0;
  color: var(--color-text);
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 2.2;
  font-family: var(--font-gothic);
}

.writer-supervised {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 16px;
}
.writer-supervised__title {
  margin: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-primary-700);
  font-weight: var(--weight-medium);
  font-size: 18px;
  line-height: 1.85;
  font-family: var(--font-mincho);
  letter-spacing: 0.1em;
}
.writer-supervised__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.writer-supervised__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
  -webkit-transition: color 0.3s ease-in;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          align-items: center;
          justify-content: space-between;
  padding: 16px 0 17px;
  gap: 16px;
  border-bottom: 1px dashed var(--color-border);
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.3s ease-in;
}
.writer-supervised__text {
  font-weight: var(--weight-regular);
  font-size: 16px;
  line-height: 1.5;
  font-family: var(--font-mincho);
}
.writer-supervised__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: var(--color-primary-700);
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .pc-on {
    display: none !important;
  }
  html {
    font-size: 2.6666666667vw;
  }
  .company-breadcrumb__inner {
    padding: 1.5rem 1.6rem;
  }
  .company-breadcrumb__list {
    font-size: 1.3rem;
  }
  .btn {
    min-width: 20rem;
    padding: 1.4rem 2.4rem;
    gap: 1.2rem;
    font-size: 1.6rem;
  }
  .btn__icon {
    font-size: 2.4rem;
  }
  .def-inline {
    gap: 3.2rem;
  }
  .def-inline:not(:first-child) {
    margin-top: 4rem;
  }
  .def-inline__term {
    font-size: 2rem;
  }
  .def-inline__desc {
    font-size: 1.6rem;
  }
  .detail {
    font-size: 1.4rem;
  }
  .detail > * + * {
    margin-top: 1.2rem;
  }
  .detail__list {
    padding-left: 2.4rem;
  }
  .page-head {
    margin-top: 6.4rem;
    margin-bottom: 6.4rem;
    gap: 1.2rem;
  }
  .page-head__title {
    font-size: 2rem;
  }
  .page-head__lead {
    font-size: 1.6rem;
  }
  .page-head--sm .page-head__title {
    font-size: 2.4rem;
  }
  .prose {
    font-size: 1.6rem;
  }
  .prose:not(:first-child) {
    margin-top: 1.6rem;
  }
  .prose + .prose {
    margin-top: 2.4rem;
  }
  .region-head {
    padding: 1.2rem 1.2rem;
    font-size: 1.4rem;
  }
  .section-head {
    margin-bottom: 2.4rem;
  }
  .section-head__title {
    font-size: 2rem;
  }
  .section-head__lead {
    font-size: 1.4rem;
  }
  .section-title {
    font-size: 3.2rem;
  }
  .signature {
    margin-top: 2.4rem;
    font-size: 1.4rem;
  }
  .l-footer__inner {
    padding: 3.2rem 1.6rem 0;
  }
  .l-footer__nav {
    gap: 1.6rem 2rem;
  }
  .l-footer__nav a {
    font-size: 1.4rem;
  }
  .l-footer__copyright {
    padding: 1.6rem 1rem;
  }
  .l-footer__copyright p {
    font-size: 1.4rem;
  }
  .l-header__inner {
    padding: 1.2rem 0.8rem 1.2rem 2.4rem;
  }
  .l-header__logo {
    width: 12rem;
  }
  .l-header__logo-mark {
    width: 12rem;
  }
  .l-header__logo-text {
    width: 9rem;
    margin-top: 0.3rem;
  }
  .l-header__hamburger {
    width: 3.2rem;
    height: 3.2rem;
    gap: 0.6rem;
  }
  .l-header__hamburger.is-active {
    top: 1.2rem;
    right: 0.8rem;
  }
  .l-header__hamburger.is-active .l-header__hamburger-bar:nth-child(1) {
    -webkit-transform: translateY(0.8rem) rotate(45deg);
            transform: translateY(0.8rem) rotate(45deg);
  }
  .l-header__hamburger.is-active .l-header__hamburger-bar:nth-child(3) {
    -webkit-transform: translateY(-0.8rem) rotate(-45deg);
            transform: translateY(-0.8rem) rotate(-45deg);
  }
  .l-header__hamburger-bar {
    width: 2rem;
    height: 0.2rem;
  }
  .l-inner {
    padding: 0 1.6rem 6.4rem;
  }
  .l-section {
    margin-top: 6.4rem;
  }
  .l-stack {
    gap: 4rem;
  }
  .l-stack--gap-lg {
    gap: 6.4rem;
  }
  .l-stack--tight {
    gap: 2.4rem;
  }
  .l-warm {
    padding: 6.4rem 0;
  }
  .l-wide {
    padding: 0 1.6rem;
  }
  .anchor-nav {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
  }
  .anchor-nav__link {
    padding: 1.2rem 0.8rem;
    gap: 0.6rem;
    font-size: 1.3rem;
  }
  .anchor-nav__link > .c-icon {
    font-size: 1.6rem;
  }
  .area-nav {
    margin: 5.6rem 0;
    padding: 1.6rem 0;
  }
  .area-nav__groups {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .area-nav__group {
    gap: 1.2rem;
  }
  .area-nav__label {
    width: 8.8rem;
    font-size: 1.2rem;
  }
  .area-nav__link {
    padding: 0.7rem 0.8rem;
    gap: 0.4rem;
    font-size: 1.3rem;
  }
  .area-nav__link > .c-icon {
    font-size: 1.6rem;
  }
  .store-area {
    gap: 1.6rem;
  }
  .store-area:not(:first-child) {
    margin-top: 3.2rem;
  }
  .book-card__media {
    min-height: 19rem;
    padding: 2rem;
  }
  .book-card__image {
    max-height: 15rem;
  }
  .book-card__body {
    padding: 1.6rem;
    gap: 0.4rem;
  }
  .book-card__publisher {
    font-size: 1.2rem;
  }
  .book-card__title {
    font-size: 1.4rem;
  }
  .brand-badge {
    padding: 0.4rem 1.2rem;
    font-size: 1.1rem;
  }
  .brand-card__body {
    padding: 2rem;
    gap: 1.6rem;
  }
  .brand-card__desc {
    font-size: 1.4rem;
  }
  .brand-card__more {
    padding: 1.2rem;
    gap: 0.8rem;
    font-size: 1.6rem;
  }
  .brand-card__more > .c-icon {
    font-size: 2rem;
  }
  .card-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .card-grid--cols-2 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .card-grid--cols-4 {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .card-grid--brand {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }
  .card-grid--gap-lg {
    gap: 1.6rem;
  }
  .card__body {
    padding: 2rem 1.6rem 2rem 2rem;
  }
  .card__text {
    gap: 0.8rem;
  }
  .card__title {
    font-size: 1.8rem;
  }
  .card__desc, .card__sub {
    font-size: 1.4rem;
  }
  .card__icon {
    font-size: 2rem;
  }
  .card--horizontal .card__media {
    width: 12rem;
  }
  .card--horizontal .card__body {
    padding: 1.6rem;
    gap: 0.4rem;
  }
  .card--horizontal .card__sub {
    font-size: 1.2rem;
  }
  .card--horizontal .card__title {
    font-size: 1.6rem;
  }
  .case-card__media {
    padding: 2.4rem;
  }
  .case-card__body {
    padding: 2.4rem;
  }
  .case-card__company {
    font-size: 1.4rem;
  }
  .case-card__title {
    margin-top: 1.6rem;
    font-size: 1.8rem;
  }
  .case-card__desc {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .case-card__action {
    padding-top: 2.4rem;
  }
  .circle-grid {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.6rem;
  }
  .circle-grid__item {
    font-size: 1.4rem;
  }
  .compare-table__cell {
    padding: 1rem 0.8rem;
    font-size: 1.4rem;
  }
  .consultant-card {
    gap: 1rem;
  }
  .consultant-card__role {
    font-size: 1.1rem;
  }
  .consultant-card__name {
    font-size: 1.6rem;
  }
  .consultant-card__bio {
    font-size: 1.1rem;
  }
  .contact-split {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 4rem;
  }
  .contact-split--single {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .contact-split__panel {
    padding: 3.2rem 2.4rem;
    gap: 1.6rem;
  }
  .contact-split__title {
    font-size: 1.6rem;
  }
  .contact-split__tel {
    gap: 1.2rem;
  }
  .contact-split__dept {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .contact-split__number {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 14.6rem;
    font-size: 2.4rem;
    line-height: 1.65;
  }
  .contact-split__note {
    font-size: 1.2rem;
  }
  .dl-card {
    padding: 2.4rem 1.6rem;
  }
  .dl-card__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.6rem 0;
    gap: 0.8rem;
  }
  .dl-card__term {
    width: auto;
    padding-left: 0;
    font-size: 1.6rem;
  }
  .dl-card__desc {
    font-size: 1.6rem;
  }
  .dl-card__map {
    aspect-ratio: 4/3;
    max-width: 100%;
    margin-top: 1.2rem;
  }
  .episode-card {
    padding: 2rem;
    gap: 1.2rem;
  }
  .episode-card__head {
    gap: 0.8rem;
  }
  .episode-card__tag {
    padding: 0.3rem 1rem;
    font-size: 1.1rem;
  }
  .episode-card__person {
    font-size: 1.2rem;
  }
  .episode-card__result {
    font-size: 1.6rem;
  }
  .episode-card__body {
    font-size: 1.4rem;
  }
  .episode-card__more {
    font-size: 1.1rem;
  }
  .faq__q {
    padding: 2rem 1.6rem;
    gap: 1.2rem;
  }
  .faq__q-mark {
    font-size: 1.8rem;
  }
  .faq__q-text {
    font-size: 1.5rem;
  }
  .faq__icon {
    font-size: 2.2rem;
  }
  .faq__a {
    padding: 0 1.6rem 2rem 4.8rem;
    font-size: 1.4rem;
  }
  .flow:not(:first-child) {
    margin-top: 4rem;
  }
  .flow__banner {
    gap: 1.2rem;
  }
  .flow__banner-item {
    padding: 2rem 2.4rem;
    gap: 0.4rem;
    border-radius: 0.8rem 0.8rem 0 0;
  }
  .flow__banner-caption {
    font-size: 1.3rem;
  }
  .flow__banner-label {
    font-size: 1.4rem;
  }
  .flow__steps {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin-top: 4rem;
    gap: 2.4rem;
  }
  .flow__step {
    gap: 1.2rem;
  }
  .flow__step-icon {
    height: 14.4rem;
  }
  .flow__step-icon > .c-icon {
    width: 6.4rem;
    height: 6.4rem;
  }
  .flow__step-body {
    gap: 0.8rem;
  }
  .flow__step-head {
    gap: 0.8rem;
  }
  .flow__step-num {
    width: 2.8rem;
    height: 2.8rem;
    font-size: 1.4rem;
  }
  .flow__step-title {
    font-size: 1.8rem;
  }
  .flow__step-desc {
    font-size: 1.4rem;
  }
  .info-card {
    padding: 2.4rem 1.6rem;
    gap: 1.6rem;
  }
  .info-card__title {
    font-size: 1.6rem;
  }
  .info-card__desc {
    font-size: 1.4rem;
  }
  .lecturer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            flex-direction: column;
            align-items: center;
    gap: 2.4rem;
    text-align: center;
  }
  .lecturer:not(:first-child) {
    margin-top: 2.4rem;
    padding-top: 2.4rem;
  }
  .lecturer__photo {
    width: 12rem;
    height: 12rem;
  }
  .lecturer__body {
    gap: 1.2rem;
  }
  .lecturer__name {
    font-size: 2rem;
  }
  .lecturer__role {
    font-size: 1.4rem;
  }
  .lecturer__bio {
    font-size: 1.4rem;
  }
  .line-join:not(:first-child) {
    margin-top: 5.6rem;
  }
  .line-join__title {
    margin-bottom: 2.4rem;
    font-size: 2rem;
  }
  .line-join__panels {
    width: auto;
    margin-inline: 0;
  }
  .line-join__panel {
    padding: 4rem 3.2rem;
    gap: 2rem;
  }
  .line-join__panel-title {
    font-size: 1.8rem;
  }
  .line-join__media {
    height: auto;
  }
  .line-join__qr {
    width: 16rem;
    height: 16rem;
  }
  .line-join__note {
    font-size: 1.3rem;
  }
  .line-promo {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            flex-direction: column;
            align-items: center;
    padding: 1.6rem;
    gap: 2rem;
  }
  .line-promo__body {
    width: 100%;
    gap: 2rem;
  }
  .line-promo__badge {
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    padding: 0.8rem 1.6rem;
    font-size: 1.3rem;
    text-align: center;
  }
  .line-promo__heading {
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    padding: 0 0 1.6rem;
    font-size: 1.6rem;
  }
  .line-promo__list {
    gap: 1.2rem;
  }
  .line-promo__item {
    padding-left: 1.6rem;
    font-size: 1.4rem;
  }
  .line-promo__item::before {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 0.4rem;
  }
  .line-promo__figure {
    width: 16.2rem;
  }
  .media-aside {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.4rem;
  }
  .media-aside__body > p {
    margin-bottom: 1.6rem;
    font-size: 1.4rem;
    line-height: 2;
  }
  .media-aside__figure {
    width: 100%;
  }
  .media-card__body {
    padding: 2.4rem;
    gap: 0.8rem;
  }
  .media-card__title {
    font-size: 1.8rem;
  }
  .media-card__caption {
    font-size: 1.4rem;
  }
  .menu-card {
    padding: 2rem;
    gap: 1.2rem;
  }
  .menu-card__catch {
    font-size: 1.1rem;
  }
  .menu-card__title {
    font-size: 1.7rem;
  }
  .menu-card__meta {
    gap: 0.4rem;
  }
  .menu-card__meta-row > dt {
    min-width: 4.8rem;
    font-size: 1.2rem;
  }
  .menu-card__meta-row > dd {
    font-size: 1.2rem;
  }
  .menu-card__bonus {
    font-size: 1.1rem;
  }
  .menu-card__list-title {
    font-size: 1.2rem;
  }
  .menu-card__list > li {
    padding-left: 1.4rem;
    font-size: 1.4rem;
  }
  .menu-card__note {
    font-size: 1.4rem;
  }
  .phone-step {
    padding: 2rem;
    gap: 1.2rem;
  }
  .phone-step__num {
    font-size: 1.1rem;
  }
  .phone-step__media {
    width: 18rem;
  }
  .phone-step__text {
    font-size: 1.4rem;
  }
  .rating-summary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.4rem;
  }
  .rating-summary__circle {
    width: 10rem;
    height: 10rem;
  }
  .rating-summary__score {
    padding-left: 0;
    border-left: none;
    text-align: center;
  }
  .rating-summary__score-num {
    font-size: 4.4rem;
  }
  .rating-summary__score-label {
    font-size: 1.5rem;
  }
  .rating-summary__score-note {
    font-size: 1.1rem;
  }
  .reason-grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .reason-card {
    padding: 2.4rem 2rem;
    gap: 1rem;
  }
  .reason-card__label {
    font-size: 1.3rem;
  }
  .reason-card__title {
    font-size: 1.7rem;
  }
  .reason-card__desc {
    font-size: 1.3rem;
  }
  .reason-card__footnote {
    font-size: 1.1rem;
  }
  .review-card {
    padding: 2rem 1.6rem;
    gap: 1rem;
  }
  .review-card__person {
    font-size: 1.2rem;
  }
  .review-card__body {
    font-size: 1.3rem;
  }
  .shop-list {
    gap: 3.2rem;
  }
  .shop-list__region {
    gap: 1.6rem;
  }
  .shop-card {
    padding: 2rem;
  }
  .shop-card__brand {
    font-size: 1.1rem;
  }
  .shop-card__name {
    font-size: 1.8rem;
  }
  .shop-card__label {
    font-size: 1.1rem;
  }
  .shop-card__value {
    font-size: 1.3rem;
  }
  .shop-card__value--sm {
    font-size: 1.1rem;
  }
  .step-list {
    gap: 2rem;
  }
  .step-list__head {
    padding: 1rem 1.6rem;
    gap: 0.8rem;
  }
  .step-list__icon {
    font-size: 2rem;
  }
  .step-list__num {
    font-size: 1.2rem;
  }
  .step-list__title {
    font-size: 1.5rem;
  }
  .step-list__body {
    padding: 1.6rem;
    gap: 1.2rem;
    font-size: 1.4rem;
  }
  .step-list__breakdown {
    padding-top: 1.2rem;
    gap: 0.8rem;
  }
  .step-list__breakdown-title, .step-list__breakdown-sub {
    font-size: 1.2rem;
  }
  .step-list__breakdown-rows dt {
    width: 5.2rem;
    font-size: 1.4rem;
  }
  .step-list__breakdown-rows dd > strong {
    font-size: 1.4rem;
  }
  .step-list__breakdown-rows dd {
    font-size: 1.4rem;
  }
  .step-list__breakdown-warn, .step-list__note, .step-list__warn {
    padding: 1rem 1.2rem;
    font-size: 1.1rem;
  }
  .step-list__payment {
    font-size: 1.4rem;
  }
  .store-card {
    padding: 2.4rem;
    gap: 1.6rem;
  }
  .store-card__name {
    gap: 0.8rem;
    font-size: 1.8rem;
  }
  .store-card__name > .c-icon {
    font-size: 1.6rem;
  }
  .store-card__info {
    gap: 1.4rem;
  }
  .store-card__row {
    gap: 0.4rem;
  }
  .store-card__row dt, .store-card__label {
    font-size: 1.1rem;
  }
  .store-card__row dd {
    font-size: 1.3rem;
  }
  .store-card__access {
    gap: 0.4rem;
  }
  .store-card__access-text {
    font-size: 1.1rem;
  }
  .store-card__tax {
    padding: 0.3rem 0.8rem;
    font-size: 1.1rem;
  }
  .store-card__tags {
    gap: 0.8rem;
  }
  .store-card__tag {
    padding: 0.3rem 0.8rem;
    font-size: 1.1rem;
  }
  .store-card__reserve {
    gap: 0.6rem;
    font-size: 1.3rem;
  }
  .store-card__reserve > .c-icon {
    font-size: 1.2rem;
  }
  .store-card__detail .btn__icon {
    font-size: 2rem;
  }
  .theme-grid {
    gap: 0.8rem;
  }
  .theme-grid__item {
    padding: 2.4rem;
    gap: 0.8rem;
  }
  .theme-grid__title {
    font-size: 1.8rem;
  }
  .theme-grid__desc {
    font-size: 1.4rem;
  }
  .ticket-card {
    padding: 3.2rem 1.6rem;
    gap: 1.6rem;
  }
  .ticket-card__desc {
    padding: 1.2rem 0;
    font-size: 1.3rem;
  }
  .ticket-card__usage {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.4rem;
    gap: 0.6rem;
  }
  .ticket-card__usage-title {
    font-size: 1.1rem;
  }
  .ticket-card__usage-text {
    font-size: 1.3rem;
  }
  .ticket-card__example-title {
    font-size: 1.2rem;
  }
  .ticket-card__rows {
    width: 100%;
  }
  .ticket-card__price-from {
    font-size: 1.4rem;
  }
  .ticket-card__price-to {
    font-size: 1.4rem;
  }
  .ticket-card__row > .c-icon {
    font-size: 1.4rem;
  }
  .ticket-card__save {
    font-size: 1.1rem;
  }
  .ticket-card__note {
    font-size: 1.1rem;
  }
  .timeline__item {
    padding: 1.2rem 0;
    gap: 1.2rem;
  }
  .timeline__date {
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    width: 7rem;
    height: auto;
    padding-top: 0.8rem;
    font-size: 1.6rem;
  }
  .timeline__text {
    font-size: 1.4rem;
  }
  .page-actionplan .l-inner {
    padding-bottom: 3.2rem;
  }
  .page-actionplan .page-head {
    margin-top: 3.2rem;
    margin-bottom: 5.6rem;
  }
  .actionplan {
    gap: 3.2rem;
  }
  .actionplan__title {
    font-size: 2rem;
  }
  .actionplan__lead {
    max-width: none;
    font-size: 1.6rem;
  }
  .actionplan__period {
    font-size: 1.4rem;
  }
  .actionplan__goals {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .actionplan-goal {
    padding: 3.2rem 0;
    gap: 1.6rem;
  }
  .actionplan-goal:first-child {
    padding-right: 0;
    border-right: none;
  }
  .actionplan-goal:last-child {
    padding-left: 0;
  }
  .actionplan-goal__title {
    font-size: 1.6rem;
  }
  .actionplan-goal__label {
    font-size: 1.2rem;
  }
  .actionplan-goal__date {
    font-size: 1.3rem;
  }
  .actionplan-goal__list {
    gap: 1.2rem;
  }
  .actionplan-goal__item {
    font-size: 1.4rem;
  }
  .company-hero__media {
    height: 32.6rem;
  }
  .company-hero__content {
    width: calc(100% - 3.2rem);
    padding: 3.2rem 1.6rem;
    gap: 2.4rem;
  }
  .company-hero__title {
    font-size: 2.4rem;
  }
  .company-hero__lead {
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .company-menu {
    margin-top: 4rem;
  }
  .company-menu__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .company-menu__item {
    height: 26.5rem;
  }
  .company-menu__panel {
    width: calc(100% - 6.4rem);
    max-width: 25.45rem;
    padding: 3.2rem;
    gap: 2.4rem;
  }
  .company-menu__title {
    font-size: 2.4rem;
  }
  .company-menu__cta {
    max-width: 19.2rem;
    padding: 1.2rem;
    gap: 1.2rem;
    font-size: 1.6rem;
  }
  .company-menu__cta-icon {
    font-size: 2rem;
  }
  .cs-main {
    padding: 6.4rem 0;
    gap: 6.4rem;
  }
  .cs-section {
    padding: 0 1.6rem;
    gap: 4rem;
  }
  .cs-section__title {
    font-size: 2rem;
  }
  .cs-head {
    gap: 2.4rem;
  }
  .cs-head__title {
    font-size: 2.8rem;
  }
  .cs-head__sub {
    font-size: 1.6rem;
  }
  .cs-lead {
    font-size: 1.4rem;
    text-align: left;
  }
  .cs-hero {
    padding: 0 1.6rem;
  }
  .cs-recommend__item {
    width: 14rem;
    height: 14rem;
    padding: 1.7rem;
    font-size: 1.4rem;
  }
  .cs-trust {
    padding: 6.4rem 1.6rem;
  }
  .cs-trust__inner {
    gap: 6.4rem;
  }
  .cs-trust__block {
    gap: 4rem;
  }
  .cs-reasons {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
  .cs-safety {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
  .cs-info-card {
    padding: 3.2rem 2.4rem;
    gap: 1.2rem;
  }
  .cs-info-card__title {
    font-size: 1.6rem;
  }
  .cs-info-card__text {
    font-size: 1.4rem;
  }
  .cs-forms {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
  .cs-form {
    padding: 3.5rem 2.4rem 3.3rem;
    gap: 1.2rem;
  }
  .cs-form__name {
    font-size: 1.8rem;
  }
  .cs-form__amount {
    font-size: 1.8rem;
  }
  .cs-form__unit {
    font-size: 1.5rem;
  }
  .cs-form__text {
    font-size: 1.4rem;
  }
  .cs-supports {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
  .cs-support {
    padding: 3.2rem 2.4rem;
    gap: 1.2rem;
  }
  .cs-support__name {
    font-size: 1.8rem;
  }
  .cs-support__text {
    font-size: 1.4rem;
  }
  .cs-symptom {
    gap: 2.5rem;
  }
  .cs-symptom__lead {
    font-size: 1.4rem;
  }
  .cs-symptom__chips {
    gap: 1.2rem;
  }
  .cs-symptom__chip {
    padding: 1.3rem 2.5rem;
    font-size: 1.4rem;
  }
  .cs-symptom__more {
    padding: 1.3rem 2.4rem;
    font-size: 1.6rem;
  }
  .cs-symptom__more > .c-icon {
    font-size: 2rem;
  }
  .cs-symptom__note {
    font-size: 1.4rem;
  }
  .cs-symptom__cta {
    width: 34.3rem;
  }
  .cs-steps {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
  .cs-step {
    padding: 3.2rem 2.4rem;
    gap: 1.2rem;
  }
  .cs-step__head {
    padding-bottom: 1.2rem;
    gap: 0.8rem;
  }
  .cs-step__no {
    font-size: 1.8rem;
  }
  .cs-step__title {
    font-size: 1.6rem;
  }
  .cs-step__text {
    font-size: 1.4rem;
  }
  .cs-faq__q {
    padding: 2.4rem 1.6rem;
  }
  .cs-faq__q-text {
    font-size: 1.6rem;
  }
  .cs-faq__icon {
    font-size: 2rem;
  }
  .cs-faq__a {
    padding: 0 1.6rem 2.4rem;
  }
  .cs-faq__a-lead, .cs-faq__a-body {
    font-size: 1.4rem;
  }
  .cs-voice__head {
    padding: 1.6rem 2.4rem;
    gap: 1.6rem;
  }
  .cs-voice__meta {
    gap: 0.8rem 1.2rem;
  }
  .cs-voice__tags {
    gap: 0.4rem;
  }
  .cs-voice__tag {
    padding: 0.5rem 0.9rem;
    font-size: 1.4rem;
  }
  .cs-voice__name {
    font-size: 1.4rem;
  }
  .cs-voice__icon {
    font-size: 2rem;
  }
  .cs-voice__body {
    padding-bottom: 0.8rem;
  }
  .cs-voice__qa {
    padding: 0 2.4rem 1.6rem;
    gap: 0.8rem;
  }
  .cs-voice__q {
    font-size: 1.5rem;
  }
  .cs-voice__a {
    font-size: 1.4rem;
  }
  .cs-br-pc {
    display: none;
  }
  .cs-meal {
    padding: 4rem 3.2rem;
    gap: 3.2rem;
  }
  .cs-meal__lead {
    font-size: 1.4rem;
    text-align: left;
  }
  .cs-meal__inner {
    gap: 2.4rem;
  }
  .cs-meal__subtitle {
    font-size: 2rem;
  }
  .cs-meal__text {
    font-size: 1.4rem;
    text-align: left;
  }
  .cs-meal__grid {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 2.4rem 0.8rem;
  }
  .cs-meal__note {
    font-size: 1.3rem;
  }
  .cs-product {
    gap: 1.2rem;
  }
  .cs-product__name {
    font-size: 1.5rem;
  }
  .cs-product__text {
    font-size: 1.4rem;
    text-align: left;
  }
  .contact-complete {
    padding-top: 3.2rem;
    gap: 2.4rem;
  }
  .contact-complete__title {
    font-size: 2rem;
    line-height: 1.65;
  }
  .contact-complete__lead {
    font-size: 1.4rem;
    line-height: 2;
  }
  .contact-complete__note {
    font-size: 1.4rem;
    line-height: 2;
  }
  .contact-complete__actions {
    margin-top: 3.2rem;
  }
  .contact-complete__btn {
    min-width: 26.8rem;
  }
  .contact-confirm {
    gap: 2.4rem;
  }
  .contact-confirm__lead {
    font-size: 1.4rem;
    line-height: 1.65;
    text-align: left;
  }
  .contact-confirm__row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    padding: 1.6rem 0;
    gap: 1.2rem;
  }
  .contact-confirm__dt {
    font-size: 1.3rem;
    line-height: 1.65;
  }
  .contact-confirm__dd {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .contact-confirm__actions {
    gap: 1.6rem;
  }
  .contact-confirm__btn-edit {
    min-width: 12rem;
  }
  .contact-confirm__btn-submit {
    min-width: 13.8rem;
  }
  .contact-form {
    gap: 2rem;
  }
  .contact-form__field {
    gap: 0.8rem;
  }
  .contact-form__label {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .contact-form__input, .contact-form__textarea, .contact-form__select {
    padding: 1.2rem;
    font-size: 1.6rem;
  }
  .contact-form__textarea {
    min-height: 16rem;
  }
  .contact-form__input--zip {
    max-width: 16rem;
  }
  .contact-form__input--half {
    max-width: none;
  }
  .contact-form__select {
    padding-right: 4rem;
    background-position: right 1.6rem center;
    background-size: 1.2rem 1.2rem;
  }
  .contact-form__radios {
    padding-top: 0.4rem;
    gap: 2.4rem;
  }
  .contact-form__radio-label {
    gap: 0.8rem;
    font-size: 1.4rem;
  }
  .contact-form__radio + span {
    gap: 0.8rem;
  }
  .contact-form__radio + span::before {
    width: 1.8rem;
    height: 1.8rem;
  }
  .contact-form__radio:checked + span::before {
    background: radial-gradient(circle, var(--color-primary-700) 0 0.5rem, transparent 0.6rem), var(--color-white);
  }
  .contact-form__checkbox + span::before {
    width: 1.8rem;
    height: 1.8rem;
    margin-right: 1.2rem;
  }
  .contact-form__error {
    font-size: 1.3rem;
  }
  .contact-form__consent {
    margin-top: 1.2rem;
  }
  .contact-form__consent-label {
    gap: 1.2rem;
    font-size: 1.4rem;
  }
  .contact-form__actions {
    margin-top: 0.4rem;
  }
  .contact-form__cols {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .contact-form__inputs-2 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .contact-form__inputs-2--split {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
  }
  .contact-form__label-note {
    margin-left: 0.8rem;
    font-size: 1.2rem;
  }
  .contact-form__subfield {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
  .contact-form__subfield + .contact-form__subfield {
    margin-top: 1.2rem;
  }
  .contact-form__subfield-label {
    font-size: 1.3rem;
  }
  .contact-form__checkboxes {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    padding-top: 0.4rem;
    gap: 1.2rem 1.6rem;
  }
  .contact-form__check-label {
    font-size: 1.4rem;
  }
  .contact-form__lead {
    font-size: 1.4rem;
  }
  .contact-form__note {
    font-size: 1.3rem;
  }
  .contact-form-intro {
    margin-bottom: 1.2rem;
    gap: 1.2rem;
  }
  .page-contact .contact-top {
    gap: 2.4rem;
  }
  .page-contact .contact-top__intro {
    gap: 1.6rem;
  }
  .page-contact .contact-top__lead {
    font-size: 1.6rem;
    line-height: 2.2;
  }
  .page-contact .contact-top__note {
    -ms-flex-item-align: start;
        align-self: flex-start;
    font-size: 1.3rem;
    line-height: 1.65;
  }
  .page-contact .contact-top__cards {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .page-contact .contact-card {
    min-height: 12.2rem;
    padding: 2.4rem;
    gap: 1.6rem;
  }
  .page-contact .contact-card__icon {
    width: 2.6rem;
    height: 2.6rem;
  }
  .page-contact .contact-card__body {
    gap: 0.4rem;
  }
  .page-contact .contact-card__title {
    font-size: 1.8rem;
  }
  .page-contact .contact-card__desc {
    font-size: 1.3rem;
  }
  .page-contact .contact-card__arrow {
    font-size: 2.2rem;
  }
  .error-404 {
    padding-top: 3.2rem;
    gap: 2.4rem;
  }
  .error-404__title {
    font-size: 2rem;
    line-height: 1.65;
  }
  .error-404__lead {
    font-size: 1.4rem;
    line-height: 2;
  }
  .error-404__actions {
    margin-top: 3.2rem;
  }
  .error-404__btn {
    min-width: 26.8rem;
  }
  .page-factory .l-inner {
    padding-bottom: 3.2rem;
  }
  .page-factory .page-head {
    margin-top: 3.2rem;
    margin-bottom: 5.6rem;
  }
  .factory-table {
    width: 56rem;
  }
  .factory-table__col1 {
    width: 14rem;
  }
  .factory-table__th, .factory-table__code, .factory-table__td {
    padding: 1.2rem 1.6rem;
  }
  .factory-table__th {
    font-size: 1.3rem;
  }
  .factory-table__code {
    font-size: 1.6rem;
  }
  .factory-table__td {
    font-size: 1.6rem;
  }
  .page-fair .l-inner {
    padding-block: 3.2rem;
  }
  .fair {
    gap: 4rem;
  }
  .fair-banners__lead {
    margin-bottom: 2.4rem;
    font-size: 1.4rem;
    text-align: left;
  }
  .fair-banners__list {
    max-width: none;
    gap: 1.6rem;
  }
  .fair-banner {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: none;
  }
  .gs-section {
    padding: 6.4rem 1.6rem;
    gap: 4rem;
  }
  .gs-section__title {
    font-size: 2rem;
  }
  .gs-hero {
    height: 48rem;
  }
  .gs-hero__inner {
    padding-top: 4.8rem;
    gap: 2rem;
  }
  .gs-hero__label {
    font-size: 1.3rem;
  }
  .gs-hero__title {
    font-size: 5.2rem;
  }
  .gs-hero__en {
    font-size: 1.6rem;
  }
  .gs-intro__lead {
    font-size: 1.4rem;
    text-align: left;
  }
  .gs-intro__desc > p {
    font-size: 1.4rem;
  }
  .gs-intro__note {
    font-size: 1.3rem !important;
  }
  .gs-stats {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .gs-stat {
    padding: 3.2rem 1.6rem;
    gap: 0.8rem;
  }
  .gs-stat__num {
    font-size: 4rem;
  }
  .gs-stat__num > span {
    font-size: 1.4rem;
  }
  .gs-stat__label {
    font-size: 1.3rem;
  }
  .gs-stat__sub {
    font-size: 1.1rem;
  }
  .gs-usecase__list {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    max-width: 34.3rem;
    gap: 0.8rem;
  }
  .gs-usecase__item {
    gap: 1.2rem;
  }
  .gs-usecase__icon {
    font-size: 3.2rem;
  }
  .gs-usecase__text {
    font-size: 1.4rem;
  }
  .gs-types__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .gs-type__body {
    padding: 3.2rem 2.4rem;
    gap: 1.6rem;
  }
  .gs-type__desc {
    font-size: 1.4rem;
  }
  .gs-material__list {
    -ms-grid-columns: (8rem)[3];
    grid-template-columns: repeat(3, 8rem);
    gap: 2.4rem 1.6rem;
  }
  .gs-material__item {
    width: 8rem;
    gap: 0.8rem;
  }
  .gs-material__img {
    width: 6.4rem;
    height: 6.4rem;
  }
  .gs-material__name {
    font-size: 1.3rem;
  }
  .gs-material__head {
    font-size: 1.4rem;
  }
  .gs-material__text {
    font-size: 1.4rem;
  }
  .gs-reishi {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 4rem;
    padding: 3.2rem;
    gap: 3.2rem;
  }
  .gs-reishi__media {
    width: 26.3rem;
  }
  .gs-reishi__name {
    font-size: 1.6rem;
  }
  .gs-reishi__text {
    font-size: 1.4rem;
  }
  .gs-omoi__inner {
    gap: 4rem;
  }
  .gs-omoi__lead {
    font-size: 1.6rem;
  }
  .gs-omoi__quote {
    padding: 0 2.4rem;
    font-size: 1.4rem;
    text-align: left;
  }
  .gs-omoi__note {
    font-size: 1.3rem;
  }
  .gs-omoi__role {
    font-size: 1.3rem;
  }
  .gs-omoi__name {
    font-size: 1.8rem;
  }
  .gs-voice__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .gs-voice__text {
    font-size: 1.4rem;
  }
  .gs-voice__who {
    font-size: 1.3rem;
  }
  .gs-voice__note {
    font-size: 1.2rem;
  }
  .guide-head {
    margin-top: 3.2rem;
    gap: 2.4rem;
  }
  .guide-head__title {
    font-size: 2rem;
  }
  .guide-head__catch {
    font-size: 1.6rem;
  }
  .guide-head__lead {
    font-size: 1.6rem;
  }
  .guide-sec-head {
    gap: 2.4rem;
  }
  .guide-sec-head__title {
    font-size: 2rem;
  }
  .guide-sec-head__lead {
    font-size: 1.6rem;
    text-align: left;
  }
  .guide-flow {
    margin-top: 6.4rem;
  }
  .guide-flow__list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    margin-top: 4rem;
    gap: 4rem;
  }
  .guide-flow__item {
    gap: 2.4rem;
  }
  .guide-flow__text {
    font-size: 1.4rem;
  }
  .guide-cases {
    margin-top: 6.4rem;
  }
  .guide-tabs {
    gap: 0.4rem;
  }
  .guide-tabs__tab {
    padding: 1.4rem;
    font-size: 1.6rem;
  }
  .guide-case {
    margin-top: 0.8rem;
    gap: 0.8rem;
  }
  .guide-persona {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    padding: 2.4rem;
    gap: 2.4rem;
  }
  .guide-persona__media img {
    aspect-ratio: 3/2;
    -o-object-position: center 20%;
       object-position: center 20%;
  }
  .guide-persona__body {
    gap: 2.4rem;
  }
  .guide-persona__title {
    font-size: 2.4rem;
  }
  .guide-persona__tags {
    gap: 0.8rem;
  }
  .guide-persona__tag {
    width: 8rem;
    height: 8rem;
    padding: 0.9rem;
    font-size: 1.3rem;
  }
  .guide-persona__text {
    font-size: 1.6rem;
  }
  .guide-step {
    padding: 2.4rem;
    gap: 2.4rem;
  }
  .guide-step__cols {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 4rem;
  }
  .guide-step__left {
    gap: 1.2rem;
  }
  .guide-step__right {
    gap: 1.2rem;
  }
  .guide-step__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            flex-direction: column;
            align-items: flex-start;
    gap: 0.4rem;
  }
  .guide-step__meta {
    gap: 4rem;
  }
  .guide-step__no {
    font-size: 1.8rem;
  }
  .guide-step__name {
    font-size: 1.8rem;
  }
  .guide-step__time {
    font-size: 1.6rem;
  }
  .guide-step__subtitle {
    padding-bottom: 1.6rem;
    font-size: 2.4rem;
  }
  .guide-step__desc {
    font-size: 1.6rem;
  }
  .guide-tools {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.6rem;
  }
  .guide-tool {
    gap: 1.6rem;
  }
  .guide-tool__media img {
    width: 15.5rem;
    height: 15.5rem;
  }
  .guide-tool__label {
    font-size: 1.6rem;
  }
  .guide-tool__text {
    font-size: 1.6rem;
  }
  .guide-point {
    padding: 2.4rem 2.4rem 2.4rem 2.7rem;
    gap: 0.8rem;
  }
  .guide-point__label {
    font-size: 1.1rem;
  }
  .guide-point__text {
    font-size: 1.6rem;
  }
  .guide-selfcare {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2.4rem 2.4rem 2.4rem 2.7rem;
    gap: 1.6rem;
  }
  .guide-selfcare__media img {
    width: 12.7rem;
  }
  .guide-selfcare__body {
    gap: 0.8rem;
  }
  .guide-selfcare__label {
    font-size: 1.1rem;
  }
  .guide-selfcare__title {
    font-size: 1.4rem;
  }
  .guide-selfcare__detail {
    font-size: 1.3rem;
  }
  .guide-tongues {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem 1rem;
  }
  .guide-tongue__media {
    margin-bottom: 1.6rem;
  }
  .guide-tongue__label {
    font-size: 1.6rem;
  }
  .guide-tongue__text {
    width: 100%;
    font-size: 1.4rem;
    text-align: left;
  }
  .guide-step__subimg img {
    width: 20rem;
  }
  .guide-medicine {
    padding: 2.4rem;
    gap: 2.4rem;
  }
  .guide-medicine__label {
    font-size: 1.8rem;
  }
  .guide-medicine__name {
    font-size: 2.4rem;
  }
  .guide-medicine__desc {
    font-size: 1.6rem;
  }
  .guide-medicine__grid {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    gap: 1.2rem;
  }
  .guide-medicine__summary {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2.4rem;
    gap: 2.4rem;
  }
  .guide-medicine__summary-media img {
    width: 100%;
  }
  .guide-medicine__summary-body {
    gap: 1.6rem;
  }
  .guide-medicine__summary-text {
    font-size: 1.6rem;
  }
  .guide-more .btn__icon {
    font-size: 2rem;
  }
  .guide-rec {
    padding: 2.4rem;
    gap: 2.4rem;
  }
  .guide-rec__label {
    font-size: 1.8rem;
  }
  .guide-rec__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.6rem;
  }
  .guide-rec__card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            flex-direction: column;
            align-items: center;
    gap: 1.6rem;
    text-align: center;
  }
  .guide-rec__media img {
    width: 16rem;
    height: 16rem;
  }
  .guide-rec__media {
    width: 16rem;
    height: 16rem;
  }
  .guide-rec__body {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: auto;
    gap: 1.2rem;
  }
  .guide-rec__name {
    font-size: 1.6rem;
  }
  .cta-consult {
    padding: 3.2rem 2.4rem;
    gap: 2.4rem;
  }
  .cta-consult__title {
    font-size: 2.4rem;
    line-height: 1.7;
    letter-spacing: 0;
  }
  .cta-consult__text {
    font-size: 1.5rem;
    text-align: left;
  }
  .cta-consult__ticket {
    width: 100%;
  }
  .cta-consult__links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.6rem;
  }
  .cta-consult__link {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
  .guide-qa {
    margin-top: 6.4rem;
    gap: 4rem;
  }
  .guide-qa__title {
    font-size: 2rem;
  }
  .guide-qa__lead {
    font-size: 1.6rem;
  }
  .guide-qa__list {
    gap: 1.6rem;
  }
  .guide-qa__item {
    padding: 2.4rem 2rem;
    gap: 1.6rem;
  }
  .guide-qa__q {
    font-size: 2rem;
  }
  .guide-qa__a {
    font-size: 1.6rem;
  }
  .guide-qa__d {
    font-size: 1.4rem;
  }
  .guide-typecheck {
    margin-top: 6.4rem;
    padding: 4.8rem 2.4rem;
    gap: 2.4rem;
  }
  .guide-typecheck__icon img {
    width: 10rem;
  }
  .guide-typecheck__title {
    font-size: 2rem;
  }
  .guide-typecheck__text {
    font-size: 1.6rem;
    text-align: left;
  }
  .guide-solid-btn {
    width: 100%;
    min-width: 0;
    padding: 1.8rem;
    font-size: 1.6rem;
  }
  .guide-symptoms {
    margin-top: 6.4rem;
    gap: 2.4rem;
  }
  .guide-symptoms__title {
    font-size: 2rem;
  }
  .guide-symptoms__lead {
    font-size: 1.6rem;
  }
  .guide-symptoms__list {
    gap: 1.2rem;
  }
  .guide-symptoms__tag {
    padding: 1.1rem 2.4rem;
    font-size: 1.6rem;
  }
  .guide-symptoms__note {
    font-size: 1.4rem;
  }
  .l-inner > .cta-consult {
    margin-top: 6.4rem;
  }
  .guide-medicine__item {
    gap: 1.6rem;
  }
  .guide-medicine__head {
    gap: 1.6rem;
  }
  .guide-medicine__badge {
    min-width: 5.6rem;
    padding: 1rem;
    font-size: 1.8rem;
  }
  .modal {
    padding: 2rem 1.6rem;
  }
  .modal__dialog {
    padding: 5.6rem 2rem 3.2rem;
  }
  .modal__close {
    top: 1.2rem;
    right: 1.2rem;
    width: 4rem;
    height: 4rem;
  }
  .modal__close .c-icon {
    font-size: 2.8rem;
  }
  .modal__placeholder {
    font-size: 1.6rem;
  }
  .guide-section__title + .howto-sub, .guide-section__body + .howto-sub, .howto-sub + .howto-sub {
    margin-top: 4rem;
  }
  .howto-sub__title {
    font-size: 1.8rem;
  }
  .howto-sub__title + .guide-section__body {
    margin-top: 2.4rem;
  }
  .howto-video {
    margin-top: 4rem;
  }
  .mu-section {
    padding: 6.4rem 0;
  }
  .mu-section__title {
    font-size: 2rem;
  }
  .mu-hero {
    aspect-ratio: 343/360;
    margin-top: 3.2rem;
    padding-bottom: 5rem;
  }
  .mu-hero__title {
    font-size: 2.4rem;
  }
  .mu-nav {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 30.2rem;
    margin: 0 auto;
  }
  .mu-nav__item {
    width: 15rem;
  }
  .mu-nav__btn {
    aspect-ratio: 150/51;
  }
  .mu-news {
    margin-top: 0;
  }
  .mu-news .l-wide {
    gap: 4rem;
  }
  .mu-news__link {
    padding: 1.3rem 0;
    gap: 1.6rem;
  }
  .mu-news__date {
    width: 8.8rem;
    font-size: 1.3rem;
  }
  .mu-news__title {
    font-size: 1.4rem;
  }
  .mu-experience {
    margin-top: 5.6rem;
  }
  .mu-experience__box {
    max-width: none;
    padding: 6.4rem 1.6rem;
    gap: 4rem;
  }
  .mu-experience__label {
    font-size: 1.1rem;
  }
  .mu-experience__lead {
    font-size: 1.4rem;
    line-height: 2;
  }
  .mu-experience__media {
    width: 100%;
  }
  .mu-stores {
    margin-top: 5.6rem;
  }
  .mu-store {
    padding-top: 4.1rem;
    padding-bottom: 4rem;
    gap: 2.4rem;
  }
  .mu-store__head {
    gap: 1.6rem;
  }
  .mu-store__kanji {
    font-size: 2.4rem;
  }
  .mu-store__names {
    gap: 0.4rem;
  }
  .mu-store__en {
    font-size: 1.1rem;
  }
  .mu-store__name {
    font-size: 1.6rem;
  }
  .mu-store__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            flex-direction: column;
    gap: 2.4rem;
  }
  .mu-store__images {
    gap: 0.6rem;
  }
  .mu-store__detail {
    gap: 2rem;
  }
  .mu-store__text {
    font-size: 1.4rem;
  }
  .mu-store__info {
    gap: 0.8rem;
  }
  .mu-store__info-row {
    gap: 1.2rem;
  }
  .mu-store__info-label {
    width: 8rem;
    font-size: 1.3rem;
  }
  .mu-store__info-value {
    font-size: 1.4rem;
  }
  .mu-store__link {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    margin-top: 0.4rem;
    padding: 1.7rem 2.4rem;
    gap: 0.8rem;
  }
  .mu-store__link-text {
    font-size: 1.4rem;
  }
  .mu-store__link-icon {
    font-size: 2rem;
  }
  .mu-access {
    margin-top: 5.6rem;
    margin-bottom: 3.2rem;
  }
  .mu-access__box {
    max-width: none;
    padding: 6.4rem 1.6rem;
    gap: 4rem;
  }
  .mu-access__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            flex-direction: column;
    gap: 3.2rem;
  }
  .mu-access__map {
    aspect-ratio: 4/3;
  }
  .mu-access__areas {
    gap: 3.2rem;
  }
  .mu-access__area {
    gap: 1.6rem;
  }
  .mu-access__area-title {
    padding-bottom: 0.8rem;
    font-size: 1.6rem;
  }
  .mu-access__list {
    gap: 1.2rem;
  }
  .mu-access__list-item {
    gap: 1.2rem;
  }
  .mu-access__list-icon {
    margin-top: 0.3rem;
    font-size: 2rem;
  }
  .mu-access__list-text {
    font-size: 1.4rem;
  }
  .mu-access__cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            flex-direction: column;
    padding-top: 2.4rem;
    gap: 0;
  }
  .mu-access__card {
    padding: 1.6rem;
    gap: 0.6rem;
  }
  .mu-access__card-en {
    font-size: 1.1rem;
  }
  .mu-access__card-tel {
    font-size: 1.3rem;
  }
  .mu-access__card-open {
    font-size: 1.4rem;
  }
  .news-article {
    padding: 3.2rem 1.6rem 9.6rem;
  }
  .news-article__figure {
    margin: 0 0 2.4rem;
  }
  .news-article__header {
    padding-bottom: 3.3rem;
    gap: 1.6rem;
  }
  .news-article__meta {
    gap: 1.6rem;
  }
  .news-article__date {
    font-size: 1.4rem;
  }
  .news-article__cat {
    padding: 0.4rem 0.8rem;
    font-size: 1.1rem;
  }
  .news-article__title {
    font-size: 2.8rem;
  }
  .news-article__body {
    margin-top: 3.2rem;
  }
  .news-article__text {
    font-size: 1.6rem;
  }
  .news-article__heading {
    margin: 3rem 0 1rem;
    font-size: 2rem;
  }
  .news-article__list {
    padding-left: 2.4rem;
    gap: 0.6rem;
  }
  .news-article__list-item {
    font-size: 1.6rem;
  }
  .news-article__more {
    margin-top: 1.6rem;
    font-size: 1.6rem;
  }
  .news-article__link {
    gap: 0.4rem;
  }
  .news-article__link-icon {
    font-size: 1.6rem;
  }
  .news-article__back {
    width: 22rem;
    height: 4.6rem;
    margin-top: 4rem;
  }
  .news-article__back-icon {
    margin-left: 2.4rem;
    font-size: 2rem;
  }
  .news-article__back-text {
    font-size: 1.6rem;
  }
  .page-news .l-inner {
    padding-bottom: 9.6rem;
  }
  .page-news .page-head {
    gap: 2.4rem;
  }
  .page-news .page-head__lead {
    font-size: 1.4rem;
  }
  .news-filter {
    margin-bottom: 4rem;
    gap: 0.8rem;
  }
  .news-filter__item {
    padding: 0.6rem 2rem;
    font-size: 1.4rem;
  }
  .news-layout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4rem;
  }
  .news-main {
    gap: 3.2rem;
  }
  .news-card {
    padding: 2.4rem 0;
    gap: 1.6rem;
  }
  .news-card__thumb {
    width: 8rem;
  }
  .news-card__body {
    gap: 0.8rem;
  }
  .news-card__meta {
    gap: 1.2rem;
  }
  .news-card__date {
    font-size: 1.3rem;
  }
  .news-card__cat {
    padding: 0.4rem 0.8rem;
    font-size: 1.1rem;
  }
  .news-card__title {
    font-size: 1.5rem;
  }
  .news-pager {
    gap: 0.8rem;
  }
  .news-pager__item {
    width: 4rem;
    height: 4rem;
    font-size: 1.6rem;
  }
  .news-pager__item--next > .c-icon {
    font-size: 2rem;
  }
  .news-pager__ellipsis {
    width: 4rem;
    height: 4rem;
    font-size: 1.6rem;
  }
  .news-archive {
    width: 100%;
  }
  .news-archive__summary {
    padding: 1.2rem 1.6rem;
    gap: 0.8rem;
    font-size: 1.6rem;
  }
  .news-archive__summary::before {
    width: 1.2rem;
    font-size: 1.2rem;
  }
  .news-archive__link {
    padding: 0.8rem 1.6rem 0.8rem 2.8rem;
    gap: 0.8rem;
  }
  .news-archive__month {
    font-size: 1.3rem;
  }
  .news-archive__count {
    font-size: 1.2rem;
  }
  .page-pharmaceuticals .l-inner {
    padding-bottom: 3.2rem;
  }
  .page-pharmaceuticals .page-head {
    margin-top: 3.2rem;
    margin-bottom: 5.6rem;
  }
  .pharmaceuticals {
    gap: 5.6rem;
  }
  .pharmaceuticals-store__name {
    margin-bottom: 3.2rem;
    font-size: 1.6rem;
  }
  .pharmaceuticals-store__photos {
    width: 100%;
    margin-bottom: 2.4rem;
    gap: 1.2rem;
  }
  .pharmaceuticals-figure__cap {
    font-size: 1.2rem;
  }
  .pharmaceuticals-table-scroll {
    width: 100%;
  }
  .pharmaceuticals-schedule {
    font-size: 1.4rem;
  }
  .pharmaceuticals-table {
    width: 56rem;
  }
  .pharmaceuticals-table__th, .pharmaceuticals-table__td {
    font-size: 1.3rem;
  }
  .pharmaceuticals-info {
    gap: 2rem;
  }
  .pharmaceuticals-info__lead {
    font-size: 1.4rem;
  }
  .pharmaceuticals-info__tel {
    font-size: 1.4rem;
  }
  .pharmaceuticals-info__tel-num {
    font-size: 1.8rem;
  }
  .page-privacy .l-inner,
.page-socialmediaprivacy .l-inner {
    padding-bottom: 3.2rem;
  }
  .page-privacy .page-head,
.page-socialmediaprivacy .page-head {
    margin-top: 3.2rem;
    margin-bottom: 5.6rem;
  }
  .policy {
    gap: 5.6rem;
  }
  .policy__intro {
    max-width: none;
    font-size: 1.6rem;
  }
  .policy__heading {
    margin-bottom: 3.2rem;
    font-size: 2rem;
  }
  .policy__text {
    font-size: 1.6rem;
  }
  .policy__text + .policy__text {
    margin-top: 1.6rem;
  }
  .policy__list {
    padding-left: 2.4rem;
    gap: 0.6rem;
  }
  .policy__list-item {
    font-size: 1.6rem;
  }
  .policy__list--num > .policy__list-item::before {
    left: -2.4rem;
  }
  .rcr-nav {
    position: relative;
  }
  .rcr-nav__toggle {
    -webkit-box-align: center;
        -ms-flex-align: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            align-items: center;
            justify-content: space-between;
    width: 100%;
    padding: 1.6rem 2rem 1.8rem;
    border: none;
    border-bottom: 0.2rem solid var(--color-primary-500);
    background: var(--color-white);
    color: var(--color-text);
    font-weight: var(--weight-medium);
    font-size: 1.4rem;
    font-family: var(--font-mincho);
    cursor: pointer;
  }
  .rcr-nav__toggle-icon {
    -ms-flex-negative: 0;
    -webkit-transition: -webkit-transform 0.3s ease-in;
        flex-shrink: 0;
    color: var(--color-primary-700);
    font-size: 2rem;
    transition: -webkit-transform 0.3s ease-in;
    transition: transform 0.3s ease-in;
    transition: transform 0.3s ease-in, -webkit-transform 0.3s ease-in;
  }
  .rcr-nav.is-open .rcr-nav__toggle-icon {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .rcr-nav__list {
    -ms-grid-columns: none;
    display: none;
    -ms-grid-columns: none;
    grid-template-columns: none;
    gap: 0;
  }
  .rcr-nav.is-open .rcr-nav__list {
    display: block;
  }
  .rcr-nav__link {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    height: auto;
    padding: 1.4rem 2rem;
    border-bottom: 1px solid var(--color-border);
    font-size: 1.4rem;
  }
  .rcr-nav__link.is-current {
    border-bottom: 1px solid var(--color-border);
    color: var(--color-primary-700);
  }
  .rcr-hero {
    height: 48rem;
    padding: 4rem 2.4rem;
  }
  .rcr-hero::before {
    background: linear-gradient(128deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.2) 100%);
  }
  .rcr-hero__inner {
    gap: 2rem;
  }
  .rcr-hero__en {
    font-size: 1.2rem;
  }
  .rcr-hero__title {
    font-size: 2.8rem;
  }
  .rcr-body {
    padding: 8rem 2.4rem;
    gap: 4.8rem;
  }
  .rcr-body--sub {
    padding-top: 0;
  }
  .rcr-body--tight {
    padding-bottom: 4.8rem;
  }
  .rcr-page-head {
    padding: 4rem 2.4rem 3.2rem;
    gap: 0.8rem;
  }
  .rcr-page-head__en {
    font-size: 1.2rem;
    line-height: 1.65;
  }
  .rcr-page-head__title {
    font-size: 2.4rem;
  }
  .rcr-page-head__sub {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .rcr-work {
    gap: 4rem;
  }
  .rcr-work__intro {
    max-width: none;
    font-size: 1.4rem;
  }
  .rcr-work__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0.4rem;
  }
  .rcr-work__item {
    padding: 3.6rem 3.2rem;
    gap: 1.2rem;
  }
  .rcr-work__num {
    font-size: 3.2rem;
  }
  .rcr-work__title {
    padding-bottom: 1.3rem;
    font-size: 2rem;
    line-height: 1.65;
  }
  .rcr-work__text {
    font-size: 1.4rem;
  }
  .rcr-section-head {
    gap: 0.8rem;
  }
  .rcr-section-head__en {
    font-size: 1.2rem;
    line-height: 1.65;
  }
  .rcr-section-head__title {
    font-size: 2rem;
  }
  .rcr-news {
    gap: 3.2rem;
  }
  .rcr-news__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2rem 2.4rem;
    gap: 0.8rem;
  }
  .rcr-news__date {
    font-size: 1.3rem;
  }
  .rcr-news__title {
    font-size: 1.6rem;
  }
  .rcr-message {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .rcr-message__body {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    max-width: none;
    padding: 4rem 2.4rem;
    gap: 3.6rem;
  }
  .rcr-message__en {
    font-size: 1.1rem;
  }
  .rcr-message__title {
    font-size: 2.8rem;
  }
  .rcr-message__blocks {
    gap: 2rem;
  }
  .rcr-message__block {
    gap: 0.8rem;
  }
  .rcr-message__block + .rcr-message__block {
    padding-top: 1.7rem;
  }
  .rcr-message__block-title {
    font-size: 1.4rem;
  }
  .rcr-message__text {
    font-size: 1.6rem;
  }
  .rcr-message__media img {
    height: 28rem;
  }
  .rcr-voice {
    gap: 3.2rem;
  }
  .rcr-voice__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
  .rcr-voice-card__media img {
    height: 28rem;
  }
  .rcr-voice-card__body {
    padding: 3.2rem 2.4rem 2.4rem;
  }
  .rcr-voice-card__role {
    margin-bottom: 1.2rem;
    font-size: 1.1rem;
  }
  .rcr-voice-card__name {
    margin-bottom: 1.2rem;
    font-size: 2rem;
    line-height: 1.65;
  }
  .rcr-voice-card__meta {
    margin-bottom: 2rem;
    font-size: 1.3rem;
    line-height: 1.65;
  }
  .rcr-voice-card__quote {
    padding-left: 1.2rem;
    font-size: 1.4rem;
  }
  .rcr-voice-card__arrow {
    margin-top: 2.4rem;
    font-size: 2rem;
  }
  .rcr-voice-detail {
    gap: 6.4rem;
  }
  .rcr-voice-detail__profile {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .rcr-voice-detail__media {
    aspect-ratio: 4/3;
  }
  .rcr-voice-detail__panel {
    padding: 4rem 2.4rem;
    gap: 2rem;
  }
  .rcr-voice-detail__role {
    font-size: 1.1rem;
    line-height: 1.65;
  }
  .rcr-voice-detail__name {
    font-size: 2.8rem;
    line-height: 1.65;
  }
  .rcr-voice-detail__meta {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .rcr-voice-detail__quote {
    padding-left: 2rem;
    font-size: 1.4rem;
  }
  .rcr-voice-detail__interview {
    gap: 4rem;
  }
  .rcr-voice-detail__qa-list {
    max-width: none;
    gap: 4.8rem;
  }
  .rcr-voice-detail__qa {
    gap: 1.6rem;
  }
  .rcr-voice-detail__q {
    padding-bottom: 1.3rem;
    font-size: 2rem;
    line-height: 1.65;
  }
  .rcr-voice-detail__a {
    font-size: 1.6rem;
  }
  .rcr-voice-detail__back {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .rcr-edu-policy {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .rcr-edu-policy__text {
    padding: 4rem 2.4rem 6.4rem;
    gap: 3.2rem;
  }
  .rcr-edu-policy__en {
    font-size: 1.1rem;
    line-height: 1.65;
  }
  .rcr-edu-policy__title {
    font-size: 2.8rem;
  }
  .rcr-edu-policy__lead {
    gap: 5.6rem;
  }
  .rcr-edu-policy__lead p {
    font-size: 1.6rem;
  }
  .rcr-edu-policy__media {
    aspect-ratio: 327/280;
  }
  .rcr-edu-curriculum {
    gap: 4rem;
  }
  .rcr-edu-step {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .rcr-edu-step__text {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 3.2rem 2.4rem;
    gap: 1.2rem;
  }
  .rcr-edu-step__num {
    font-size: 4rem;
  }
  .rcr-edu-step__title {
    font-size: 2.2rem;
    line-height: 1.65;
  }
  .rcr-edu-step__tag {
    font-size: 1.2rem;
    line-height: 1.65;
  }
  .rcr-edu-step__desc {
    font-size: 1.4rem;
  }
  .rcr-intro {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .rcr-intro__text {
    padding: 4rem 2.4rem 6.4rem;
    gap: 3.2rem;
  }
  .rcr-intro__en {
    font-size: 1.1rem;
    line-height: 1.65;
  }
  .rcr-intro__title {
    font-size: 2.8rem;
  }
  .rcr-intro__lead {
    gap: 5.6rem;
  }
  .rcr-intro__lead p {
    font-size: 1.6rem;
  }
  .rcr-intro__media {
    aspect-ratio: 327/280;
  }
  .rcr-intro--no-title .rcr-intro__text {
    padding-bottom: 6.4rem;
  }
  .rcr-salary {
    gap: 4rem;
  }
  .rcr-salary__group {
    gap: 0.8rem;
  }
  .rcr-salary__job {
    padding-bottom: 1.3rem;
    gap: 1.6rem;
  }
  .rcr-salary__job-name {
    font-size: 2rem;
    line-height: 1.65;
  }
  .rcr-salary__job-qual {
    font-size: 1.3rem;
    line-height: 1.65;
  }
  .rcr-salary__table--cols3 .rcr-salary__row {
    -ms-grid-columns: minmax(0, 124fr) minmax(0, 104fr) minmax(0, 99fr);
    grid-template-columns: minmax(0, 124fr) minmax(0, 104fr) minmax(0, 99fr);
  }
  .rcr-salary__row {
    -ms-grid-columns: 10.7rem 1fr;
    grid-template-columns: 10.7rem 1fr;
  }
  .rcr-salary__row--head .rcr-salary__cell {
    line-height: 1.65;
  }
  .rcr-salary__cell {
    padding: 1.5rem 2rem;
    font-size: 1.4rem;
  }
  .rcr-salary__note {
    font-size: 1.3rem;
  }
  .rcr-salary__caption {
    font-size: 1.3rem;
  }
  .rcr-conditions {
    gap: 4rem;
  }
  .rcr-conditions__list {
    padding: 4rem;
  }
  .rcr-conditions__row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    padding: 2rem 0;
    gap: 1.2rem;
  }
  .rcr-conditions__label {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .rcr-conditions__value {
    padding-left: 2.4rem;
    font-size: 1.4rem;
  }
  .rcr-conditions__items {
    gap: 0.4rem;
  }
  .rcr-conditions__apply {
    margin-top: 2.4rem;
  }
  .rcr-data {
    gap: 4rem;
  }
  .rcr-data__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
  .rcr-data__item {
    padding: 3.2rem 2.4rem;
    gap: 0.8rem;
  }
  .rcr-data__num-val {
    font-size: 4.8rem;
  }
  .rcr-data__num-unit {
    font-size: 2rem;
  }
  .rcr-data__label {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .rcr-data__note {
    font-size: 1.1rem;
    line-height: 1.65;
  }
  .rcr-schedule {
    gap: 4rem;
  }
  .rcr-schedule__lead {
    font-size: 1.4rem;
  }
  .rcr-schedule__body {
    gap: 1.6rem;
  }
  .rcr-schedule__sub {
    font-size: 1.7rem;
    line-height: 1.65;
  }
  .rcr-schedule__rows {
    gap: 1.6rem;
  }
  .rcr-schedule__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .rcr-schedule__year {
    -ms-flex-preferred-size: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
        flex-basis: auto;
            justify-content: flex-start;
    padding: 1.6rem 2rem;
  }
  .rcr-schedule__year-num {
    font-size: 3.6rem;
  }
  .rcr-schedule__year-unit {
    font-size: 1.3rem;
  }
  .rcr-schedule__year-sep {
    font-size: 1.8rem;
  }
  .rcr-schedule__months {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    border-top: 1px solid var(--color-gozo-line);
    border-left: none;
  }
  .rcr-schedule__month {
    border-right: none;
    border-bottom: 1px solid var(--color-gozo-line);
  }
  .rcr-schedule__month:last-child {
    border-bottom: none;
  }
  .rcr-schedule__month-head {
    font-size: 1.2rem;
    text-align: left;
  }
  .rcr-schedule__month-body {
    font-size: 1.3rem;
    text-align: left;
  }
  .rcr-schedule__single {
    border-top: 1px solid var(--color-gozo-line);
  }
  .rcr-schedule__single p {
    font-size: 1.3rem;
  }
  .rcr-schedule__link {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .rcr-schedule__link .c-icon {
    width: 2.4rem;
    height: 2.4rem;
  }
  .rcr-flow {
    gap: 4rem;
  }
  .rcr-flow__note {
    padding: 1.1rem 1.6rem;
    border-left-width: 3px;
    font-size: 1.4rem;
  }
  .rcr-flow__steps {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .rcr-flow__step {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 2.4rem 1.6rem;
    gap: 1.2rem;
    border-left: 3px solid var(--color-gozo-line);
  }
  .rcr-flow__num {
    font-size: 3.2rem;
  }
  .rcr-flow__title {
    font-size: 1.6rem;
    line-height: 1.65;
    text-align: left;
  }
  .rcr-flow__desc {
    font-size: 1.3rem;
    text-align: left;
  }
  .rcr-flow__arrow .c-icon {
    -webkit-transform: rotate(90deg);
    width: 2.4rem;
    height: 2.4rem;
            transform: rotate(90deg);
  }
  .rcr-apply {
    gap: 4rem;
  }
  .rcr-apply__cols {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .rcr-apply__col {
    padding: 4rem 3.2rem;
    gap: 0.8rem;
  }
  .rcr-apply__col--entry {
    gap: 2rem;
  }
  .rcr-apply__head {
    gap: 0.8rem;
  }
  .rcr-apply__title {
    font-size: 1.8rem;
    line-height: 1.65;
  }
  .rcr-apply__text {
    font-size: 1.4rem;
  }
  .rcr-apply__btn {
    padding: 1.2rem 3.2rem;
    font-size: 1.4rem;
  }
  .rcr-apply__contact {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.8rem;
  }
  .rcr-apply__tel {
    font-size: 2.8rem;
    line-height: 1.2;
    font-family: var(--font-display);
  }
  .rcr-apply__hours {
    font-size: 1.3rem;
    line-height: 1.65;
  }
  .rcr-target {
    gap: 4rem;
  }
  .rcr-target__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .rcr-target__item {
    padding: 4rem 3.2rem;
    gap: 1.2rem;
  }
  .rcr-target__icon {
    width: 3.6rem;
    height: 3.6rem;
  }
  .rcr-target__title {
    font-size: 2rem;
    line-height: 1.65;
  }
  .rcr-target__text {
    font-size: 1.4rem;
  }
  .rcr-program {
    gap: 4rem;
  }
  .rcr-program__note {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .rcr-program__cols {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin-top: -4rem;
    gap: 2.4rem;
  }
  .rcr-program__col {
    padding: 0 0 0 2rem;
    gap: 1.2rem;
  }
  .rcr-program__col:first-child {
    padding-left: 0;
  }
  .rcr-program__col-title {
    font-size: 1.6rem;
    line-height: 1.65;
  }
  .rcr-program__col-text {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .rcr-locations {
    gap: 4rem;
  }
  .rcr-locations__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .rcr-locations__item {
    padding: 1.6rem;
    gap: 0.8rem;
  }
  .rcr-locations__item:nth-child(odd) {
    border-right: 0;
  }
  .rcr-locations__region {
    min-width: 4.9rem;
    padding: 0.4rem 1.2rem;
    font-size: 1.2rem;
    line-height: 1.65;
  }
  .rcr-locations__name {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  .rcr-locations__icon {
    width: 1.8rem;
    height: 1.8rem;
  }
  .rcr-jobs {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .rcr-job {
    padding: 2.4rem;
    gap: 1.2rem;
  }
  .rcr-job__badge {
    padding: 0.2rem 0.8rem;
    font-size: 1.1rem;
  }
  .rcr-job__title {
    font-size: 1.6rem;
  }
  .rcr-job__location {
    font-size: 1.3rem;
  }
  .rcr-job__wage {
    padding-top: 1.6rem;
    gap: 0.8rem;
  }
  .rcr-job__wage-label {
    font-size: 1.3rem;
    line-height: 1.65;
  }
  .rcr-job__wage-value {
    font-size: 2.4rem;
  }
  .rcr-job__more {
    margin-top: 1.2rem;
    gap: 0.4rem;
    font-size: 1.3rem;
    line-height: 1.65;
  }
  .rcr-job__more-icon {
    width: 2rem;
    height: 2rem;
  }
  .rcr-job-detail {
    gap: 2.4rem;
    scroll-margin-top: 8rem;
  }
  .rcr-detail {
    padding: 3.2rem 1.6rem;
    gap: 5.6rem;
  }
  .rcr-detail__head {
    padding-bottom: 3.2rem;
    gap: 1.2rem;
  }
  .rcr-detail__title {
    font-size: 2rem;
  }
  .rcr-detail__wage {
    gap: 0.8rem;
  }
  .rcr-detail__wage-label {
    font-size: 1.2rem;
    line-height: 1.65;
  }
  .rcr-detail__wage-value {
    font-size: 2.8rem;
  }
  .rcr-detail__main {
    gap: 4.8rem;
  }
  .rcr-detail__back {
    padding-top: 3.2rem;
  }
  .rcr-detail__back-link {
    padding: 1rem 2.4rem;
    gap: 0.6rem;
    font-size: 1.6rem;
  }
  .rcr-detail__back-icon {
    width: 2rem;
    height: 2rem;
  }
  .rcr-detail .rcr-conditions__row {
    padding: 1.5rem 0 1.7rem;
    gap: 3.2rem;
  }
  .shop-detail__head {
    display: block;
    margin-top: 4rem;
  }
  .shop-detail__reserve {
    margin-top: 1.2rem;
    padding: 1.3rem 2.5rem;
    gap: 0.6rem;
    font-size: 1.6rem;
  }
  .shop-detail__reserve > .c-icon {
    font-size: 2rem;
  }
  .shop-detail__title {
    font-size: 2.8rem;
  }
  .shop-detail__sub {
    margin-top: 0.8rem;
    font-size: 1.3rem;
  }
  .shop-detail__badge {
    margin-top: 1.6rem;
  }
  .shop-detail__hero {
    margin-top: 2.4rem;
  }
  .shop-detail__hero img {
    aspect-ratio: 4/3;
  }
  .shop-detail__section {
    margin-top: 6.4rem;
  }
  .shop-detail__heading {
    margin-bottom: 2rem;
    padding-bottom: 1.2rem;
    font-size: 1.6rem;
  }
  .shop-detail__info {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
  .shop-detail__info-row {
    -ms-grid-columns: 8rem 1fr;
    grid-template-columns: 8rem 1fr;
    padding: 1.6rem 0;
    gap: 1.2rem;
  }
  .shop-detail__info-dt {
    font-size: 1.2rem;
  }
  .shop-detail__info-dd {
    font-size: 1.4rem;
  }
  .shop-detail__info-note {
    margin-top: 0.4rem;
    font-size: 1.1rem;
  }
  .shop-detail__taxfree {
    padding: 0.4rem 1.2rem;
    font-size: 1.1rem;
  }
  .shop-detail__map iframe {
    aspect-ratio: 4/3;
  }
  .shop-detail__access-item {
    padding: 1.6rem 0;
    gap: 1.2rem;
  }
  .shop-detail__access-icon {
    width: 2rem;
    height: 2rem;
  }
  .shop-detail__access-text {
    font-size: 1.4rem;
  }
  .shop-detail__message {
    gap: 1.6rem;
  }
  .shop-detail__message p {
    font-size: 1.4rem;
  }
  .shop-detail__services {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
  .shop-detail__service {
    padding: 2rem;
    gap: 0.8rem;
  }
  .shop-detail__service-head {
    gap: 0.8rem;
  }
  .shop-detail__service-icon {
    width: 2.4rem;
    height: 2.4rem;
  }
  .shop-detail__service-title {
    font-size: 1.4rem;
  }
  .shop-detail__service-desc {
    font-size: 1.3rem;
  }
  .shop-detail__form {
    margin-top: 6.4rem;
    padding: 2.4rem 1.6rem;
  }
  .shop-detail__form-notes {
    margin: -0.4rem 0 2rem;
  }
  .shop-detail__form-notes p {
    font-size: 1.3rem;
  }
  .shop-detail__back {
    margin-top: 6.4rem;
  }
  .guide-detail {
    padding-inline: 0.8rem;
  }
  .guide-detail > .guide-toc,
.guide-detail > .guide-kiketsusui,
.guide-detail > .guide-section,
.guide-detail > .guide-note,
.guide-detail > .guide-banner,
.guide-detail > .guide-typecheck-cta,
.guide-detail > .guide-faq,
.guide-detail > .guide-outro,
.guide-detail > .guide-cta,
.guide-detail > .guide-related,
.guide-detail > .guide-refs,
.guide-detail > .guide-supervisor {
    margin-top: 6.4rem;
  }
  .guide-detail [id] {
    scroll-margin-top: 8rem;
  }
  .guide-detail__h1 {
    padding-top: 4.8rem;
    font-size: 2.8rem;
    line-height: calc(36.4 / 28);
  }
  .guide-detail__lead {
    max-width: none;
    margin-top: 3.2rem;
  }
  .guide-detail__lead p {
    font-size: 1.6rem;
    line-height: calc(35.2 / 16);
  }
  .guide-toc {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.2rem;
  }
  .guide-toc__box {
    width: auto;
    padding: 2.4rem;
    gap: 1.6rem;
  }
  .guide-toc__heading {
    padding-bottom: 1.6rem;
    font-size: 1.6rem;
  }
  .guide-toc__link {
    padding: 1.2rem 0.8rem;
    font-size: 1.6rem;
  }
  .guide-toc__media {
    aspect-ratio: 327/136;
  }
  .guide-kiketsusui__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 4rem 2rem;
    gap: 3.2rem;
  }
  .guide-kiketsusui__title {
    -webkit-transform: none;
    position: static;
    width: auto;
    padding: 0;
            transform: none;
    font-size: 2rem;
    line-height: 1.7;
    text-align: center;
    white-space: normal;
  }
  .guide-kiketsusui__media {
    width: 23.9rem;
  }
  .guide-kiketsusui__text {
    gap: 1.6rem;
  }
  .guide-kiketsusui__text p {
    font-size: 1.4rem;
  }
  .guide-section__title {
    font-size: 2rem;
  }
  .guide-section__body {
    margin-top: 2.4rem;
  }
  .guide-section__body p {
    font-size: 1.6rem;
  }
  .guide-section__footer {
    font-size: 1.6rem;
  }
  .guide-section__ref-inner {
    font-size: 1.2rem;
  }
  .guide-subsection__title {
    font-size: 1.6rem;
  }
  .guide-subsection--boxed {
    padding: 2.4rem 1.6rem;
  }
  .guide-subsection--boxed .guide-section__body {
    margin-top: 2.4rem;
  }
  .guide-section__footer {
    margin-top: 2.4rem;
    font-size: 1.4rem;
    text-align: left;
  }
  .guide-cols {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.8rem;
  }
  .guide-cols__col {
    font-size: 1.4rem;
  }
  .guide-bullet-box {
    padding: 2.4rem 1.6rem;
    gap: 2.4rem;
  }
  .guide-bullet-box__lead {
    font-size: 1.4rem;
  }
  .guide-bullet-box__cols {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .guide-bullet-box__col {
    padding-left: 2rem;
  }
  .guide-bullet-box__col li {
    font-size: 1.4rem;
  }
  .guide-cards__name {
    font-size: 2rem;
  }
  .guide-cards--7, .guide-cards--6, .guide-cards--5, .guide-cards--4, .guide-cards--3, .guide-cards--2 {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .guide-cards__item {
    padding: 3.2rem 2.4rem;
  }
  .guide-cards__desc {
    font-size: 1.4rem;
  }
  .guide-section--figure .guide-figure {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            flex-direction: column;
            align-items: stretch;
    margin-top: 2.4rem;
    gap: 2.4rem;
  }
  .guide-section--figure .guide-figure__text:has(> p), .guide-section--figure .guide-figure__text:has(> .guide-figure__list) {
    width: auto;
    max-width: none;
  }
  .guide-section--figure .guide-figure__text p {
    font-size: 1.4rem;
  }
  .guide-section--figure .guide-figure__list-term {
    width: 5em;
    font-size: 1.4rem;
  }
  .guide-section--figure .guide-figure__list-desc {
    font-size: 1.4rem;
  }
  .guide-section--figure .guide-figure__media {
    gap: 1.6rem;
  }
  .guide-section--figure .guide-figure__caption {
    font-size: 1.4rem;
  }
  .guide-section--figure .guide-figure__img {
    width: 100%;
  }
  .guide-note__text {
    font-size: 1.4rem;
  }
  .guide-note {
    padding: 2.4rem 1.6rem;
  }
  .guide-types__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            flex-direction: column;
            align-items: stretch;
    padding: 3.2rem 2.4rem;
    gap: 1.6rem;
  }
  .guide-types__name {
    width: auto;
    font-size: 2rem;
  }
  .guide-types__desc {
    font-size: 1.4rem;
  }
  .guide-types__name-read {
    font-size: 1.4rem;
  }
  .guide-typecheck-cta {
    padding: 5.6rem 2.4rem;
    gap: 3.2rem;
  }
  .guide-typecheck-cta__title {
    font-size: 2rem;
  }
  .guide-typecheck-cta__lead {
    font-size: 1.4rem;
  }
  .guide-typecheck-cta__btn {
    width: 100%;
    max-width: 27.9rem;
    padding: 1.6rem 1rem;
    gap: 1.6rem;
    font-size: 1.4rem;
  }
  .guide-typecheck-cta__check {
    width: 2.2rem;
    height: 2.2rem;
  }
  .guide-typecheck-cta__check .c-icon {
    font-size: 1.2rem;
  }
  .guide-episode {
    padding: 4rem 2rem;
    gap: 2.4rem;
  }
  .guide-episode__person {
    font-size: 1.3rem;
  }
  .guide-episode__body {
    line-height: calc(33.6 / 16);
  }
  .guide-episode__more {
    width: 19.4rem;
    height: 4.6rem;
    font-size: 1.6rem;
  }
  .guide-faq__title {
    font-size: 2rem;
  }
  .guide-faq__item {
    padding: 3.2rem 2rem;
  }
  .guide-faq__q-mark {
    font-size: 2rem;
  }
  .guide-faq__q-text {
    font-size: 1.6rem;
  }
  .guide-faq__a {
    font-size: 1.4rem;
  }
  .guide-outro {
    gap: 3.2rem;
  }
  .guide-outro__title {
    font-size: 2rem;
  }
  .guide-outro__body {
    max-width: none;
  }
  .guide-outro__body p {
    font-size: 1.4rem;
  }
  .guide-outro__summary {
    padding: 4rem 2rem;
    gap: 2.4rem;
  }
  .guide-outro__summary-title {
    font-size: 1.8rem;
  }
  .guide-outro__summary-list {
    max-width: none;
  }
  .guide-outro__summary-item {
    font-size: 1.4rem;
  }
  .guide-related__title {
    font-size: 2rem;
  }
  .guide-related__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .guide-related__card {
    padding: 3.3rem 2.5rem;
  }
  .guide-related__card-name {
    font-size: 1.8rem;
  }
  .guide-related__card-desc {
    font-size: 1.4rem;
  }
  .guide-refs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 2.5rem 0;
    gap: 1.6rem;
  }
  .guide-refs__label {
    font-size: 1.6rem;
  }
  .guide-refs__link {
    font-size: 1.3rem;
  }
  .guide-supervisor {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 3.2rem;
  }
  .guide-supervisor__card {
    padding: 4rem 2.4rem;
    gap: 3.2rem;
  }
  .guide-supervisor__title {
    font-size: 1.8rem;
  }
  .guide-supervisor__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            flex-direction: column;
            align-items: center;
    gap: 2.4rem;
  }
  .guide-supervisor__media {
    width: 12rem;
    height: 12rem;
  }
  .guide-supervisor__text {
    width: 100%;
  }
  .guide-supervisor__role {
    font-size: 1.3rem;
  }
  .guide-supervisor__name {
    font-size: 1.6rem;
  }
  .guide-supervisor__message {
    font-size: 1.4rem;
  }
  .guide-supervisor__btn.btn {
    margin-top: 2.4rem;
    padding: 1.1rem 2rem;
    font-size: 1.3rem;
  }
  .diag-check__head {
    padding: 2rem 1.6rem;
  }
  .diag-check__title {
    font-size: 1.8rem;
  }
  .diag-check__body {
    padding: 2rem 1.6rem;
  }
  .diag-check__lead {
    padding-bottom: 0.8rem;
    font-size: 1.4rem;
  }
  .diag-check__cols {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .diag-check__label {
    padding: 1rem 0.8rem;
    gap: 1rem;
  }
  .diag-check__text {
    font-size: 1.4rem;
  }
  .diag-check__empty {
    padding: 0 1.6rem;
    font-size: 1.3rem;
  }
  .diag-check__foot {
    padding: 2rem 1.6rem;
    gap: 1.2rem;
  }
  .diag-check__btn {
    padding: 1.4rem 2.4rem;
    font-size: 1.4rem;
  }
  .diag-result {
    padding: 4rem 2rem;
    gap: 3.2rem;
  }
  .diag-result__restart {
    padding: 1.6rem 3.2rem;
    font-size: 1.6rem;
  }
  .diag-panel__title {
    font-size: 2rem;
  }
  .diag-panel__overview {
    font-size: 1.4rem;
    line-height: 2;
  }
  .diag-panel__med {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.6rem 0;
    gap: 2rem;
  }
  .diag-panel__med-media {
    width: 100%;
    max-width: 26rem;
  }
  .diag-panel__med-text {
    gap: 1.2rem;
  }
  .diag-panel__med-name {
    font-size: 1.6rem;
  }
  .diag-panel__med-desc {
    font-size: 1.4rem;
  }
  .diag-panel__med-note {
    font-size: 1rem;
  }
  .diag-panel__cols {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.6rem;
  }
  .diag-panel__box {
    padding: 2rem 1.2rem;
  }
  .diag-panel__box-title {
    font-size: 1.5rem;
  }
  .diag-panel__yojo-cat {
    font-size: 1.4rem;
  }
  .diag-panel__yojo-text {
    font-size: 1.4rem;
    line-height: 2;
  }
  .diag-panel__tsubo-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            flex-direction: column;
            align-items: baseline;
    gap: 0;
  }
  .diag-panel__tsubo-label {
    font-size: 1.4rem;
  }
  .diag-panel__tsubo-name {
    font-size: 1.6rem;
  }
  .diag-panel__tsubo-body {
    gap: 1.6rem;
  }
  .diag-panel__tsubo-text {
    font-size: 1.4rem;
    line-height: 2;
  }
  .diag-panel__tsubo-media {
    width: 10rem;
    height: 10rem;
  }
  .diag-panel__onepoint {
    padding: 2rem 1.6rem;
  }
  .diag-panel__onepoint-title {
    font-size: 1.5rem;
  }
  .diag-panel__onepoint-text {
    font-size: 1.3rem;
  }
  .sickness-page {
    padding-top: 3.2rem;
  }
  .sickness-page > * + * {
    margin-top: 6.4rem;
  }
  .sickness-head {
    gap: 2.4rem;
  }
  .sickness-head__title {
    font-size: 2rem;
  }
  .sickness-head__sub {
    font-size: 1.8rem;
  }
  .sickness-lead {
    font-size: 1.6rem;
  }
  .sickness-sec-head {
    gap: 4rem;
  }
  .sickness-sec-head__title {
    font-size: 2.4rem;
  }
  .sickness-sec-head__lead {
    font-size: 1.6rem;
  }
  .sickness-company__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin-top: 4rem;
    gap: 1.6rem;
  }
  .sickness-company__media {
    aspect-ratio: 4/3;
  }
  .sickness-company__body {
    padding: 2.4rem;
    gap: 1.2rem;
  }
  .sickness-company__title {
    font-size: 2rem;
  }
  .sickness-company__text {
    font-size: 1.6rem;
  }
  .sickness-program .sickness-sec-head {
    gap: 3.2rem;
  }
  .sickness-program__groups {
    margin-top: 3.2rem;
    gap: 4rem;
  }
  .sickness-howto {
    max-width: none;
    margin: 3.2rem 0 0;
    padding: 1.7rem 3.3rem;
    gap: 1.2rem;
  }
  .sickness-howto__text {
    font-size: 1.6rem;
  }
  .sickness-howto__icon {
    font-size: 2rem;
  }
  .sickness-group__title {
    padding-bottom: 1.2rem;
    font-size: 2rem;
  }
  .sickness-group__grid {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin-top: 1.6rem;
    gap: 1.6rem;
  }
  .sickness-card {
    padding: 2.5rem;
    gap: 1.2rem;
  }
  .sickness-card__body {
    gap: 0.4rem;
  }
  .sickness-card__title {
    font-size: 1.8rem;
  }
  .sickness-card__desc {
    font-size: 1.4rem;
  }
  .sickness-card__icon {
    font-size: 2rem;
  }
  .page-ticket .l-inner {
    padding-block: 3.2rem;
  }
  .ticket {
    gap: 6.4rem;
  }
  .ticket-head {
    gap: 2.4rem;
  }
  .ticket-head__title {
    font-size: 2rem;
  }
  .ticket-head__lead {
    font-size: 1.8rem;
  }
  .ticket-banner {
    gap: 1.6rem;
  }
  .ticket-howto {
    padding: 3.2rem 2.4rem;
    gap: 1.6rem;
  }
  .ticket-howto__title {
    font-size: 2rem;
  }
  .ticket-howto__text {
    font-size: 1.6rem;
    text-align: left;
  }
  .ticket-howto__em {
    font-size: 2rem;
  }
  .ticket-example {
    gap: 4rem;
  }
  .ticket-example__title {
    font-size: 2.4rem;
    line-height: calc(33.6 / 24);
  }
  .ticket-example__note {
    font-size: 1.6rem;
  }
  .ticket-table-wrap {
    display: block;
    overflow-x: auto;
  }
  .ticket-table {
    width: 59.9rem;
  }
  .ticket-table__th {
    padding: 1rem 0.8rem;
    font-size: 1.6rem;
  }
  .ticket-table__th--daily {
    width: 13.2rem;
  }
  .ticket-table__th--normal {
    width: 15rem;
  }
  .ticket-table__th--discount {
    width: 18.3rem;
  }
  .ticket-table__th--save {
    width: 13.4rem;
  }
  .ticket-table__td {
    padding: 1.4rem;
  }
  .ticket-table__num {
    font-size: 1.6rem;
  }
  .ticket-table__num--mincho {
    font-size: 1.8rem;
  }
  .ticket-table__unit {
    font-size: 1rem;
  }
  .ticket-table__save-num {
    font-size: 2.4rem;
  }
  .ticket-table__save-unit {
    font-size: 1.6rem;
  }
  .page-top .kv {
    height: 50rem;
  }
  .page-top .kv__inner {
    padding: 0 1.6rem;
  }
  .page-top .kv__catch-lines {
    -webkit-transform: translateY(-50%);
    top: 50%;
    left: 1.6rem;
    width: calc(100% - 3.2rem);
            transform: translateY(-50%);
    font-size: 3.2rem;
  }
  .page-top .kv__btn {
    bottom: 4rem;
  }
  .page-top .news {
    padding: 4rem 0 4.8rem;
  }
  .page-top .news__inner {
    padding: 0;
    gap: 2.4rem;
  }
  .page-top .news__slider {
    overflow: visible;
  }
  .page-top .news__list {
    gap: 0;
  }
  .page-top .news__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 30rem;
  }
  .page-top .news__card {
    padding: 1.6rem;
    gap: 1.6rem;
  }
  .page-top .news__thumb {
    height: 19.2rem;
  }
  .page-top .news__thumb-icon {
    font-size: 5rem;
  }
  .page-top .news__body {
    gap: 0.8rem;
  }
  .page-top .news__meta {
    gap: 1.6rem;
  }
  .page-top .news__date {
    font-size: 1.6rem;
  }
  .page-top .news__tag {
    padding: 0.4rem 0.8rem;
    font-size: 1rem;
  }
  .page-top .news__title {
    font-size: 1.6rem;
  }
  .page-top .news__actions {
    margin-top: 1.6rem;
    gap: 2.1rem;
  }
  .page-top .news__sub-link {
    font-size: 1.6rem;
  }
  .page-top .about__inner {
    padding: 6.4rem 4rem;
    gap: 3.2rem;
  }
  .page-top .about__lead {
    font-size: 1.6rem;
  }
  .page-top .consultation__herb--1 {
    top: -5.5rem;
    left: -4.1rem;
    width: 20rem;
  }
  .page-top .consultation__herb--2 {
    top: 4rem;
    right: -8rem;
    width: 30rem;
  }
  .page-top .consultation__herb--3 {
    top: 92rem;
    left: -10rem;
    width: 21rem;
  }
  .page-top .consultation__herb--4 {
    top: 95rem;
    right: -5rem;
    width: 9rem;
  }
  .page-top .consultation__herb--5 {
    display: none;
  }
  .page-top .consultation__herb--6 {
    display: none;
  }
  .page-top .consultation__inner {
    padding: 4.8rem 1.6rem 6.4rem;
    gap: 7.6rem;
  }
  .page-top .consultation__block {
    gap: 3.2rem;
  }
  .page-top .consultation__lead {
    font-size: 1.6rem;
  }
  .page-top .consultation__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.6rem;
  }
  .page-top .consultation__image img {
    height: 21.1rem;
  }
  .page-top .consultation__stats {
    gap: 0.4rem;
  }
  .page-top .consultation__stat {
    padding: 2.4rem;
  }
  .page-top .consultation__stat p {
    font-size: 2rem;
  }
  .page-top .concerns {
    gap: 3.2rem;
  }
  .page-top .concerns__lead {
    font-size: 1.6rem;
  }
  .page-top .concerns__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.4rem;
  }
  .page-top .concerns__thumb {
    height: 21.6rem;
  }
  .page-top .concerns__body {
    padding: 3.2rem 1.6rem;
    gap: 2.4rem;
  }
  .page-top .concerns__title {
    font-size: 2rem;
  }
  .page-top .stores {
    padding: 6.4rem 0;
  }
  .page-top .stores__inner {
    gap: 3.9rem;
  }
  .page-top .stores__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }
  .page-top .stores__thumb {
    height: 21rem;
  }
  .page-top .stores__body {
    padding: 4rem 1.6rem;
    gap: 0.6rem;
  }
  .page-top .stores__sub {
    font-size: 1.6rem;
  }
  .page-top .stores__name {
    margin-bottom: 2rem;
    font-size: 1.8rem;
  }
  .page-top .online-consult {
    margin-top: 4rem;
    padding: 0 1.6rem;
  }
  .page-top .online-consult__panel {
    width: 100%;
    padding: 2.4rem 1.6rem;
    gap: 1.6rem;
    background-color: var(--color-white);
  }
  .page-top .online-consult__icon {
    width: 14.5rem;
    height: 10.1rem;
  }
  .page-top .online-consult__lead {
    font-size: 1.6rem;
  }
  .page-top .closer {
    padding: 6.4rem 0;
  }
  .page-top .closer__inner {
    padding: 0 1.6rem;
    gap: 3.2rem;
  }
  .page-top .closer__rows {
    gap: 0.2rem;
  }
  .page-top .closer__row {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .page-top .closer__row .closer__panel--image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .page-top .closer__row .closer__panel--text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .page-top .closer__panel--text {
    padding: 4rem 1.6rem;
    gap: 2.4rem;
  }
  .page-top .closer__panel--image {
    height: 17.15rem;
  }
  .page-top .closer__text-head {
    gap: 0.8rem;
  }
  .page-top .closer__sub {
    font-size: 1.3rem;
  }
  .page-top .closer__title {
    font-size: 1.8rem;
  }
  .page-top .letter {
    padding: 0 1.6rem 4rem;
  }
  .page-top .letter__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  .page-top .info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .page-top .info__inner {
    padding: 8.5rem 0;
    gap: 3.2rem;
  }
  .page-top .info__title {
    font-size: 2.4rem;
  }
  .page-top .info__lead {
    font-size: 2rem;
  }
  .page-top .sns {
    padding: 6.4rem 1.6rem 7.2rem;
  }
  .page-top .sns__inner {
    gap: 4rem;
  }
  .page-top .sns__list {
    gap: 1.6rem;
  }
  .page-top .sns__icon {
    width: 3.2rem;
    height: 3.2rem;
  }
  .page-top .sns__related {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    padding: 2.4rem;
    gap: 3rem;
  }
  .page-top .sns__related-title {
    font-size: 2rem;
  }
  .page-top .sns__related-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            flex-direction: column;
            align-items: flex-start;
    width: 100%;
    gap: 2.5rem;
  }
  .page-top .sns__related-list a {
    font-size: 1.6rem;
  }
  .page-top .sns__related-icon {
    font-size: 2rem;
  }
  .page-top .check-cta {
    right: 1rem;
    bottom: 0;
    width: 16rem;
  }
  .page-top .check-cta__close {
    top: -1rem;
    right: -1rem;
    width: 2rem;
    height: 2rem;
  }
  .page-top .check-cta__close .c-icon {
    font-size: 1.5rem;
  }
  .modal__dialog--typecheck {
    width: 100%;
    max-width: 100%;
  }
  .typecheck {
    max-height: calc(100vh - 4rem);
  }
  .typecheck__head {
    padding: 2rem 1.6rem;
  }
  .typecheck__title {
    font-size: 1.8rem;
  }
  .typecheck__close {
    width: 3.6rem;
    height: 3.6rem;
  }
  .typecheck__close .c-icon {
    font-size: 3.6rem;
  }
  .typecheck__body {
    max-height: 60vh;
    padding: 1.6rem;
  }
  .typecheck__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .typecheck__label {
    min-height: 4.8rem;
    padding: 0.6rem 0.8rem;
    font-size: 1.5rem;
  }
  .typecheck__foot {
    padding: 1.6rem;
    gap: 1.2rem;
  }
  .typecheck__btn {
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
    min-width: 0;
    padding: 1.4rem;
    font-size: 1.5rem;
    letter-spacing: 0.16rem;
  }
  .typecheck-result {
    max-height: calc(100vh - 4rem);
  }
  .typecheck-result__inner {
    padding: 4rem 1.6rem;
    gap: 3.2rem;
  }
  .typecheck-result__logo {
    width: 8rem;
  }
  .typecheck-result__title {
    font-size: 2rem;
  }
  .typecheck-result__lead {
    font-size: 1.4rem;
  }
  .typecheck-result__subtitle {
    font-size: 1.5rem;
  }
  .typecheck-result__table {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    margin-top: 0;
    gap: 1.6rem;
    background: transparent;
  }
  .typecheck-result__about {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            flex-direction: column;
            align-items: center;
    margin-top: 0;
    padding-top: 2.4rem;
    gap: 2.4rem;
  }
  .typecheck-result__about-title {
    font-size: 1.8rem;
  }
  .typecheck-result__about-desc {
    font-size: 1.4rem;
  }
  .typecheck-result__note {
    font-size: 1.2rem;
  }
  .typecheck-result__diagram {
    width: 20rem;
  }
  .typecheck-result__restart {
    width: 100%;
    min-width: 0;
    padding: 1.6rem;
    font-size: 1.5rem;
    letter-spacing: 0.16rem;
  }
  .typecheck__close--float {
    top: 1.2rem;
    right: 1.2rem;
  }
  .tc-type__count {
    height: 5.2rem;
    padding: 0 0.8rem;
    font-size: 1.2rem;
  }
  .tc-type__num {
    margin: 0 0.4rem;
    padding-bottom: 0.8rem;
    font-size: 2.8rem;
  }
  .tc-type__band {
    height: 8rem;
    padding: 0.8rem;
    gap: 0.2rem;
  }
  .tc-type__reading {
    font-size: 1.1rem;
    letter-spacing: 0.11rem;
  }
  .tc-type__name {
    font-size: 2rem;
  }
  .tc-type__body {
    padding: 1.6rem;
  }
  .tc-type__caution-label {
    font-size: 1.3rem;
  }
  .tc-type__caution {
    margin: 0.8rem 0 0;
    font-size: 1.3rem;
  }
  .tc-type__food-label {
    margin: 1.6rem 0 0;
    font-size: 1.3rem;
  }
  .tc-type__food {
    margin: 0.8rem 0 0;
    font-size: 1.3rem;
  }
  .page-websoudan {
    padding-bottom: 11rem;
  }
  .page-websoudan .ws-cta-bar {
    padding: 1.4rem 1.6rem;
    gap: 0.6rem;
  }
  .page-websoudan .ws-cta-bar__btn {
    width: 100%;
    min-width: 0;
    max-width: 29rem;
    padding: 1.3rem 2rem;
    gap: 0.6rem;
    font-size: 1.4rem;
  }
  .page-websoudan .ws-cta-bar__btn > .c-icon {
    font-size: 1.8rem;
  }
  .page-websoudan .ws-cta-bar__note {
    font-size: 1.1rem;
  }
  .page-websoudan #episodes {
    padding-top: 6.4rem;
    padding-bottom: 6.4rem;
  }
  .page-websoudan .ws-hero {
    margin-top: 2.4rem;
  }
  .page-websoudan .ws-anchor-nav > ul {
    -ms-grid-columns: 1fr 1fr;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .page-websoudan .ws-anchor-nav a {
    padding: 1.5rem 0.4rem;
    font-size: 1.3rem;
  }
  .page-websoudan .ws-cta {
    padding: 4rem 1.6rem;
  }
  .page-websoudan .ws-cta__inner {
    gap: 1.6rem;
  }
  .page-websoudan .ws-cta__title {
    font-size: 2rem;
  }
  .page-websoudan .ws-cta__lead {
    font-size: 1.4rem;
  }
  .page-websoudan .ws-cta__btn {
    min-width: 24rem;
    padding: 1.6rem 2.4rem;
    font-size: 1.6rem;
  }
  .page-websoudan .ws-cta__note {
    font-size: 1.1rem;
  }
  .writer-page {
    padding-top: 2.8rem;
    gap: 4rem;
  }
  .writer-profile {
    max-width: none;
  }
  .writer-profile__media {
    width: 12rem;
  }
  .writer-profile__body {
    padding: 1.2rem 1.6rem;
    gap: 1.2rem;
  }
  .writer-profile__roles {
    font-size: 1.1rem;
  }
  .writer-profile__identity {
    gap: 0.8rem;
  }
  .writer-profile__name {
    font-size: 2rem;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .writer-profile__romaji {
    font-size: 1.1rem;
  }
  .writer-profile__sns {
    gap: 0.8rem;
  }
  .writer-profile__sns-link {
    width: 3.2rem;
    height: 3.2rem;
  }
  .writer-cols {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 1.6rem;
    gap: 2.4rem;
  }
  .writer-block {
    padding: 2.4rem 3.2rem;
    gap: 1.6rem;
  }
  .writer-block__title {
    font-size: 1.6rem;
    line-height: 1.65;
  }
  .writer-block__list {
    gap: 0.8rem;
  }
  .writer-block__dash {
    width: 0.5rem;
    margin-top: 1rem;
  }
  .writer-block__text, .writer-block__link {
    font-size: 1.4rem;
  }
  .writer-block__ext {
    font-size: 2rem;
  }
  .writer-message {
    padding: 3.2rem 2.4rem;
    gap: 2rem;
  }
  .writer-message__title {
    font-size: 1.6rem;
    line-height: 1.65;
  }
  .writer-message__text {
    font-size: 1.4rem;
  }
  .writer-supervised {
    gap: 1.6rem;
  }
  .writer-supervised__title {
    padding-bottom: 1.2rem;
    font-size: 1.6rem;
    line-height: 1.65;
  }
  .writer-supervised__item {
    gap: 1.6rem;
  }
  .writer-supervised__text {
    font-size: 1.4rem;
  }
  .writer-supervised__icon {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .sp-on {
    display: none !important;
  }
  a {
    -webkit-transition: 0.3s ease-in;
    transition: 0.3s ease-in;
  }
  a:hover {
    opacity: 0.7;
  }
  .company-breadcrumb__link:hover {
    color: var(--color-primary-900);
  }
  .btn:hover {
    opacity: 1;
  }
  .btn--outline-dark:hover {
    background: var(--color-text);
    color: var(--color-white);
  }
  .btn--outline-white:hover {
    background: var(--color-white);
    color: var(--color-text);
  }
  .btn--solid-brown:hover {
    border-color: var(--color-primary-700);
    background: var(--color-primary-700);
  }
  .btn--solid-yellow:hover {
    border-color: var(--color-worry-yellow);
    background: var(--color-worry-yellow);
  }
  .btn--solid-pink:hover {
    border-color: var(--color-worry-pink);
    background: var(--color-worry-pink);
  }
  .btn--solid-blue:hover {
    border-color: var(--color-worry-blue);
    background: var(--color-worry-blue);
  }
  .btn--solid-brown-dark:hover {
    border-color: var(--color-primary-700);
    background: var(--color-primary-700);
  }
  .prose--center-pc {
    text-align: center;
  }
  .anchor-nav__link:hover {
    background: var(--color-primary-700);
    color: var(--color-white);
  }
  .card:hover {
    -webkit-transform: translateY(-2px);
    -webkit-box-shadow: var(--shadow-sm);
            transform: translateY(-2px);
            box-shadow: var(--shadow-sm);
  }
  .media-aside--reverse .media-aside__figure {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .shop-card__name:hover {
    text-decoration: underline;
  }
  .company-menu__cta:hover {
    background-color: var(--color-text);
    color: var(--color-white);
  }
  .cs-symptom__chip:hover {
    background: var(--color-primary-900);
    opacity: 1;
  }
  .cs-symptom__more:hover {
    background: var(--color-text);
    color: var(--color-white);
    opacity: 1;
  }
  .cs-br-sp {
    display: none;
  }
  .page-contact .contact-card:hover {
    -webkit-transform: translateY(-2px);
    -webkit-box-shadow: var(--shadow-sm);
            transform: translateY(-2px);
    border-color: var(--color-primary-500);
            box-shadow: var(--shadow-sm);
  }
  .guide-solid-btn:hover {
    background: var(--color-primary-900);
  }
  .guide-symptoms__tag:hover {
    opacity: 0.75;
  }
  .howto-video:hover {
    opacity: 0.9;
  }
  .mu-nav__btn:hover {
    opacity: 0.8;
  }
  .mu-news__link:hover {
    opacity: 0.6;
  }
  .mu-store__link:hover {
    background: var(--color-text);
    color: var(--color-white);
  }
  .mu-store__link:hover .mu-store__link-text {
    color: var(--color-white);
  }
  .news-article__link:hover {
    opacity: 0.7;
  }
  .news-article__back:hover {
    background: var(--color-text);
    color: var(--color-white);
    opacity: 1;
  }
  .news-filter__item:hover {
    border-color: var(--color-primary-700);
    color: var(--color-primary-700);
    opacity: 1;
  }
  .news-card:hover .news-card__title {
    color: var(--color-primary-700);
  }
  .news-pager__item:hover {
    border-color: var(--color-primary-700);
    opacity: 1;
  }
  .news-archive__link:hover {
    background: var(--color-bg-surface);
    opacity: 1;
  }
  .rcr-nav__link:hover {
    color: var(--color-primary-700);
  }
  .rcr-news__title:hover {
    text-decoration: underline;
  }
  .rcr-voice-card:hover {
    -webkit-transform: translateY(-2px);
    -webkit-box-shadow: var(--shadow-md);
            transform: translateY(-2px);
            box-shadow: var(--shadow-md);
  }
  .rcr-edu-step:nth-child(even) .rcr-edu-step__media {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .rcr-apply__btn:hover {
    opacity: 0.85;
  }
  .rcr-locations__item:hover {
    opacity: 0.7;
  }
  .rcr-job:hover {
    border-color: var(--color-primary-700);
  }
  .rcr-detail__back-link:hover {
    background: var(--color-text);
    color: var(--color-white);
  }
  .shop-detail__reserve:hover {
    background: var(--color-text);
    color: var(--color-white);
  }
  .shop-detail__map {
    height: 100%;
  }
  .shop-detail__map iframe {
    height: 100%;
    min-height: 320px;
  }
  .guide-toc__link:hover {
    color: var(--color-primary-700);
  }
  .guide-typecheck-cta__btn:hover {
    opacity: 0.85;
  }
  .guide-episode__more:hover {
    background: var(--color-text);
    color: var(--color-white);
  }
  .guide-related__card:hover {
    -webkit-transform: translateY(-2px);
    -webkit-box-shadow: var(--shadow-sm);
            transform: translateY(-2px);
            box-shadow: var(--shadow-sm);
  }
  .guide-supervisor__card:only-child {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 584px;
            flex: 0 1 584px;
  }
  .diag-check__btn--reset:hover {
    background: var(--color-text-dark);
    color: var(--color-white);
  }
  .diag-check__btn--submit:hover {
    opacity: 0.85;
  }
  .diag-result__restart:hover {
    background: var(--color-text);
    color: var(--color-white);
  }
  .sickness-howto:hover {
    background: var(--color-text);
    color: var(--color-white);
  }
  .sickness-card:hover {
    -webkit-box-shadow: var(--shadow-sm);
    border-color: var(--color-primary-700);
            box-shadow: var(--shadow-sm);
  }
  .page-top .kv__btn:hover {
    border-color: var(--color-text);
    background: var(--color-text);
    color: var(--color-white);
  }
  .page-top .news__slider {
    overflow: visible;
  }
  .page-top .news__list {
    gap: 40px;
  }
  .page-top .news__item {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: calc((100% - 80px) / 3);
  }
  .page-top .concerns__item {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 300px;
            flex: 1 1 300px;
    min-width: 300px;
    max-width: 384px;
  }
  .page-top .stores__list {
    -ms-grid-columns: (minmax(0, 1fr))[4];
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .page-top .online-consult__panel {
    width: 360px;
    min-height: 323px;
  }
  .page-top .closer__row {
    -ms-grid-columns: 624fr 576fr;
    grid-template-columns: 624fr 576fr;
    height: 340px;
  }
  .page-top .closer__row--reverse {
    -ms-grid-columns: 576fr 624fr;
    grid-template-columns: 576fr 624fr;
  }
  .page-top .check-cta {
    right: 25px;
    bottom: 10px;
  }
  .page-top .check-cta__close {
    top: -12px;
    right: -12px;
  }
  .typecheck__label:hover {
    background: var(--color-bg-surface);
  }
  .typecheck__btn--reset:hover {
    background: var(--color-text);
    color: var(--color-white);
  }
  .typecheck__btn--submit:hover {
    border-color: var(--color-primary-900);
    background: var(--color-primary-900);
  }
  .typecheck-result__restart:hover {
    border-color: var(--color-primary-900);
    background: var(--color-primary-900);
  }
  .page-websoudan #staff .card-grid {
    gap: 24px;
  }
  .page-websoudan .ws-cta-bar__btn:hover {
    background: color-mix(in srgb, var(--color-cta-online) 88%, var(--color-text));
  }
  .page-websoudan .ws-anchor-nav a:hover {
    color: var(--color-primary-700);
  }
  .writer-block__link:hover .writer-block__link-text {
    text-decoration: underline;
  }
  .writer-supervised__item:hover {
    color: var(--color-primary-700);
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
@media (min-width: 1081px) {
  .l-header__navs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .l-header__hamburger {
    display: none;
  }
}
@media (max-width: 1080px) and (min-width: 768px) {
  .anchor-nav {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .card-grid {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .card-grid--cols-4 {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .card-grid--brand {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .company-menu__list {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-top .stores__list {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
